;------------------------------------------------------------------------------ ; ; Disassembly listing generated by PE Explorer version 1.99 ; Heaventools Software (http://www.heaventools.com) ; ;------------------------------------------------------------------------------ ; ; Name: .text (Code Section) ; Virtual Address: 00401000h Virtual Size: 000E5565h ; Pointer To RawData: 00001000h Size Of RawData: 000E6000h ; mov dword ptr [L00515710],00000040h call SUB_L00447080 cdq sub eax,edx sar eax,1 mov [L0051571C],eax call SUB_L00447090 cdq sub eax,edx mov dword ptr [L00515724],00000000h sar eax,1 mov [L00515720],eax mov ecx,L00515700 jmp SUB_L004010C0 Align 8 SUB_L00401040: mov eax,[esp+04h] cmp eax,00000002h jge L00401059 mov eax,00000002h mov [ecx+10h],eax call SUB_L004010C0 retn 0004h ;------------------------------------------------------------------------------ L00401059: cmp eax,00000100h jle L00401065 mov eax,00000100h L00401065: mov [ecx+10h],eax call SUB_L004010C0 retn 0004h ;------------------------------------------------------------------------------ SUB_L00401070: push esi push edi mov edi,ecx call SUB_L00447080 mov esi,eax call SUB_L00447090 mov edx,[esp+0Ch] test edx,edx jge L0040108A xor edx,edx L0040108A: cmp edx,esi jl L00401091 lea edx,[esi-01h] L00401091: mov ecx,[esp+10h] test ecx,ecx jge L0040109B xor ecx,ecx L0040109B: cmp ecx,eax jl L004010A2 lea ecx,[eax-01h] L004010A2: mov [edi+20h],ecx mov ecx,edi mov [edi+1Ch],edx call SUB_L004010C0 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004010C0: mov edx,[ecx+10h] push esi mov eax,edx xor esi,esi imul eax,edx test eax,eax mov [ecx+14h],eax mov dword ptr [ecx+18h],00000000h jz L004010EC L004010D9: test al,01h jz L004010DE inc esi L004010DE: sar eax,1 jz L004010E7 inc [ecx+18h] jmp L004010D9 L004010E7: cmp esi,00000001h jz L004010FC L004010EC: mov dword ptr [ecx+18h],00000000h mov dword ptr [ecx+24h],L004011A0 jmp L00401103 L004010FC: mov dword ptr [ecx+24h],L00401130 L00401103: 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 16 L00401130: mov edx,[esp+08h] push ebx mov ebx,[esp+10h] push ebp push esi mov esi,[esp+10h] mov eax,edx mov ebp,esi push edi mov edi,[ecx+14h] sar eax,05h sar ebp,05h sub edi,ebx and eax,0000001Fh and ebp,0000001Fh imul eax,edi imul ebp,ebx add eax,ebp mov ebx,edx mov ebp,esi mov ecx,[ecx+18h] sar ebx,0Ah sar ebp,0Ah imul ebx,edi imul ebp,[esp+1Ch] and edx,0000001Fh and esi,0000001Fh imul esi,[esp+1Ch] imul edx,edi add ebx,ebp add edx,esi sar ebx,cl sar eax,cl sar edx,cl pop edi pop esi shl ebx,05h or eax,ebx pop ebp shl eax,05h or eax,edx pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004011A0: push ebx mov ebx,[esp+0Ch] push ebp mov edx,[esp+14h] push esi push edi mov edi,[ecx+14h] mov ecx,[esp+14h] mov eax,ebx mov ebp,ecx mov esi,edi sar eax,05h sar ebp,05h sub esi,edx and eax,0000001Fh and ebp,0000001Fh imul eax,esi imul ebp,edx add eax,ebp cdq idiv edi mov edx,ecx and ecx,0000001Fh sar edx,0Ah imul ecx,[esp+1Ch] imul edx,[esp+1Ch] mov ebp,eax mov eax,ebx sar eax,0Ah imul eax,esi add eax,edx cdq idiv edi shl eax,05h or ebp,eax mov eax,ebx and eax,0000001Fh imul eax,esi add eax,ecx cdq idiv edi shl ebp,05h pop edi pop esi or eax,ebp pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00401220: sub esp,00000010h push esi mov esi,[esp+18h] mov ecx,esi mov eax,[esi] call [eax+2Ch] test eax,eax jnz L004012B8 mov ax,[esi+3Ch] cmp ax,17B2h ja L00401247 cmp ax,1796h jnc L004012B8 L00401247: mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] mov edx,[L00C884DC] add eax,ecx movsx ecx,[edx+28h] add ecx,00000005h cmp eax,ecx jle L004012B8 add esi,00000008h push edi mov edi,[L0051A760] push L00515700 mov eax,[esi] sub eax,edi mov ecx,[esi+04h] mov [esp+0Ch],eax mov eax,[L0051A75C] mov edx,[esi+08h] sub ecx,eax sub edx,edi mov [esp+10h],ecx mov esi,[esi+0Ch] mov [esp+14h],edx lea edx,[esp+0Ch] sub esi,eax push edx mov [esp+1Ch],esi call SUB_L00457DB0 add esp,00000008h test eax,eax pop edi jz L004012B8 mov eax,00000001h pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L004012B8: xor eax,eax pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004012C0: push ecx push ebx mov ebx,[L00B189FC] push ebp push esi mov esi,[esp+18h] push edi mov edi,ecx mov ecx,esi sub ecx,ebx mov ebx,[L005073D0] shr ecx,1 mov eax,ecx cdq idiv ebx mov eax,[edi+1Ch] mov ebp,edx sub ebp,eax mov eax,ecx cdq idiv ebx mov ebx,[edi+20h] mov edx,[edi+14h] sub eax,ebx mov ecx,eax imul ecx,eax mov eax,[esp+18h] mov [esp+1Ch],ecx cmp eax,SUB_L004B95C0 jnz L00401391 cmp ecx,edx jle L0040132A L00401312: mov ecx,[esp+24h] mov edx,[esp+20h] push ecx push edx push esi call eax add esp,0000000Ch pop edi pop esi pop ebp pop ebx pop ecx retn 0010h ;------------------------------------------------------------------------------ L0040132A: mov eax,[esp+24h] test eax,eax jle L00401418 mov ebx,[esp+20h] mov [esp+24h],eax sub ebx,esi jmp L00401346 L00401342: mov ecx,[esp+1Ch] L00401346: mov eax,ebp imul eax,ebp add eax,ecx mov ecx,[edi+14h] cmp eax,ecx jg L0040136C push eax xor eax,eax mov ax,[esi] xor ecx,ecx mov cx,[ebx+esi] push eax push ecx mov ecx,edi call [edi+24h] mov [esi],ax jmp L0040137A L0040136C: lea edx,[ebx+esi] push 00000001h push edx push esi call [esp+24h] add esp,0000000Ch L0040137A: mov eax,[esp+24h] inc ebp add esi,00000002h dec eax mov [esp+24h],eax jnz L00401342 pop edi pop esi pop ebp pop ebx pop ecx retn 0010h ;------------------------------------------------------------------------------ L00401391: cmp ecx,edx jg L00401312 mov edx,[esp+24h] test edx,edx jle L00401418 mov eax,[esp+20h] mov [esp+20h],edx sub eax,esi mov [esp+10h],eax jmp L004013B9 L004013B1: mov eax,[esp+10h] mov ecx,[esp+1Ch] L004013B9: mov ebx,ebp imul ebx,ebp add ebx,ecx mov ecx,[edi+14h] cmp ebx,ecx jg L004013FC mov cx,[esi] lea edx,[esi+eax] push 00000001h lea eax,[esp+28h] push edx push eax mov [esp+30h],ecx call [esp+24h] mov edx,[esp+30h] add esp,0000000Ch xor ecx,ecx and edx,0000FFFFh mov cx,[esi] push ebx push ecx push edx mov ecx,edi call [edi+24h] mov [esi],ax jmp L00401409 L004013FC: add eax,esi push 00000001h push eax push esi call [esp+24h] add esp,0000000Ch L00401409: mov eax,[esp+20h] inc ebp add esi,00000002h dec eax mov [esp+20h],eax jnz L004013B1 L00401418: pop edi pop esi pop ebp pop ebx pop ecx retn 0010h ;------------------------------------------------------------------------------ SUB_L00401420: mov ecx,[esp+08h] sub esp,00000014h test ecx,ecx push ebx push ebp push esi push edi jz L00401607 mov ebx,[esp+30h] mov esi,[esp+34h] xor edi,edi xor eax,eax mov di,[ecx+06h] mov ax,[ecx+04h] mov edx,[ebx] lea ecx,[ecx+edi*2+08h] cmp edx,esi mov [esp+1Ch],ecx jle L0040145D sub edx,esi mov [esp+30h],edx jmp L00401469 L0040145D: mov dword ptr [esp+30h],00000000h mov edx,[esp+30h] L00401469: mov ecx,[ebx+08h] lea ebp,[eax+esi] cmp ecx,ebp jge L0040147B sub ecx,esi mov [esp+10h],ecx jmp L00401481 L0040147B: mov [esp+10h],eax mov ecx,eax L00401481: cmp edx,ecx jge L00401607 mov eax,[ebx+04h] mov esi,[esp+38h] cmp eax,esi jle L00401498 sub eax,esi jmp L0040149A L00401498: xor eax,eax L0040149A: mov ebx,[ebx+0Ch] lea ebp,[edi+esi] cmp ebx,ebp jge L004014A8 sub ebx,esi jmp L004014AB L004014A8: lea ebx,[edi-01h] L004014AB: add esi,eax mov edi,[esp+34h] imul esi,[L00CD8C28] add esi,edi mov edi,[L00CD8C2C] lea edi,[edi+esi*2] mov esi,ecx sub esi,edx cmp eax,ebx mov [esp+20h],esi mov esi,[esp+2Ch] mov [esp+34h],edi lea esi,[esi+eax*2+08h] mov [esp+38h],esi jge L00401607 mov ebp,[esp+28h] sub ebx,eax mov [esp+18h],ebx jmp L004014F3 L004014EF: mov edi,[esp+34h] L004014F3: mov esi,[esp+38h] xor eax,eax mov ax,[esi] mov esi,[esp+1Ch] lea esi,[esi+eax*2] mov ax,[esi] mov bx,[esi+02h] add esi,00000002h mov [esp+2Ch],ax add esi,00000002h test bx,bx jz L004015E1 L0040151E: mov eax,[esp+2Ch] and eax,0000FFFFh cmp edx,eax jle L00401567 mov ebp,[esp+10h] lea ecx,[edi+edx*2] mov edi,ebx sub edx,eax and edi,0000FFFFh add eax,edi lea edx,[esi+edx*2] cmp eax,ebp jle L0040155D mov eax,[esp+20h] L00401549: mov ebp,[esp+28h] push eax push edx push ecx push ebp mov ecx,L00515700 call SUB_L004012C0 jmp L004015AF L0040155D: sub eax,[esp+30h] test eax,eax jle L004015AB jmp L00401549 L00401567: lea edx,[edi+eax*2] mov edi,ebx and edi,0000FFFFh mov [esp+14h],edx lea edx,[edi+eax] cmp edx,ecx jle L00401597 sub ecx,eax test ecx,ecx jle L004015AF mov eax,[esp+14h] push ecx push esi push eax push ebp mov ecx,L00515700 call SUB_L004012C0 jmp L004015AF L00401597: mov ecx,[esp+14h] push edi push esi push ecx push ebp mov ecx,L00515700 call SUB_L004012C0 jmp L004015AF L004015AB: mov ebp,[esp+28h] L004015AF: mov edx,[esp+2Ch] lea esi,[esi+edi*2] xor eax,eax mov edi,[esp+34h] mov ax,[esi] mov ecx,[esp+10h] add esi,00000002h add eax,ebx add edx,eax mov bx,[esi] add esi,00000002h mov [esp+2Ch],edx mov edx,[esp+30h] test bx,bx jnz L0040151E L004015E1: mov eax,[L00CD8C28] mov esi,[esp+38h] add esi,00000002h lea eax,[edi+eax*2] mov [esp+38h],esi mov [esp+34h],eax mov eax,[esp+18h] dec eax mov [esp+18h],eax jnz L004014EF L00401607: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00401610: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L004016AD sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401641: cmp ebp,edi mov esi,ebp jge L00401683 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] lea eax,[ecx+ebp+02h] L00401652: movsx edx,[esi+ebx] movsx ecx,[eax-02h] sub ecx,edx jns L00401660 xor ecx,ecx L00401660: mov [eax-02h],cl movsx ecx,[eax-01h] sub ecx,edx jns L0040166D xor ecx,ecx L0040166D: mov [eax-01h],cl movsx ecx,[eax] sub ecx,edx jns L00401679 xor ecx,ecx L00401679: mov [eax],cl inc esi add eax,00000003h cmp esi,edi jl L00401652 L00401683: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L00401641 pop ebx L004016AD: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004016C0: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401770 sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L004016F5: cmp ebp,edi mov esi,ebp jge L00401746 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] lea eax,[ecx+ebp+02h] L00401706: movsx edx,[esi+ebx] movsx ecx,[eax-02h] sub ecx,[L004FB330+edx*4] jns L00401719 xor ecx,ecx L00401719: mov [eax-02h],cl movsx ecx,[eax-01h] sub ecx,[L004FB330+edx*4] jns L0040172B xor ecx,ecx L0040172B: mov [eax-01h],cl movsx ecx,[eax] sub ecx,[L004FB330+edx*4] jns L0040173C xor ecx,ecx L0040173C: mov [eax],cl inc esi add eax,00000003h cmp esi,edi jl L00401706 L00401746: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L004016F5 pop ebx L00401770: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401780: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx+08h] mov esi,[esp+0Ch] push edi mov edi,[ecx] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub edi,esi sub ebp,esi cmp ecx,eax mov [esp+14h],edi jge L00401827 sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L004017B5: cmp edi,ebp jge L00401801 mov eax,[esp+2Ch] lea ecx,[eax+edi*2] lea eax,[edi+ecx+02h] L004017C4: movsx esi,[edi+ebx] movsx ecx,[eax-02h] mov edx,esi sar edx,1 sub ecx,edx jns L004017D6 xor ecx,ecx L004017D6: mov [eax-02h],cl movsx ecx,[eax-01h] sub ecx,edx jns L004017E3 xor ecx,ecx L004017E3: mov [eax-01h],cl movsx ecx,[eax] sub ecx,esi jns L004017EF xor ecx,ecx L004017EF: mov [eax],cl inc edi add eax,00000003h cmp edi,ebp jl L004017C4 mov edi,[esp+18h] mov esi,[esp+14h] L00401801: mov eax,[esp+1Ch] mov edx,[esp+2Ch] sub eax,esi lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L004017B5 pop ebx L00401827: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L00401830: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp mov ebp,[esp+08h] mov eax,[ecx+0Ch] push esi mov esi,[ecx+08h] push edi mov edi,[ecx] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub edi,ebp sub esi,ebp cmp ecx,eax jge L004018B7 sub eax,ecx mov ecx,[esp+28h] push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401865: cmp edi,esi mov edx,edi jge L00401896 lea eax,[ecx+edi*2] lea ecx,[edi+eax+01h] L00401872: movsx ebp,[edx+ebx] movsx eax,[ecx] sub eax,[L004FB3B0+ebp*4] jns L00401884 xor eax,eax L00401884: mov [ecx],al inc edx add ecx,00000003h cmp edx,esi jl L00401872 mov ecx,[esp+2Ch] mov ebp,[esp+14h] L00401896: mov eax,[esp+1Ch] mov edx,[esp+20h] sub eax,ebp add ebx,edx add ecx,eax lea ecx,[ecx+eax*2] mov eax,[esp+24h] dec eax mov [esp+2Ch],ecx mov [esp+24h],eax jnz L00401865 pop ebx L004018B7: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004018C0: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401950 sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L004018F1: cmp ebp,edi mov esi,ebp jge L00401926 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L00401902: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,edx jns L0040190F xor ecx,ecx L0040190F: mov [eax],cl movsx ecx,[eax+01h] sub ecx,edx jns L0040191B xor ecx,ecx L0040191B: mov [eax+01h],cl inc esi add eax,00000003h cmp esi,edi jl L00401902 L00401926: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L004018F1 pop ebx L00401950: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401960: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L004019FA sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401991: cmp ebp,edi mov esi,ebp jge L004019D0 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L004019A2: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,[L004FB430+edx*4] jns L004019B4 xor ecx,ecx L004019B4: mov [eax],cl movsx ecx,[eax+02h] sub ecx,[L004FB3B0+edx*4] jns L004019C5 xor ecx,ecx L004019C5: mov [eax+02h],cl inc esi add eax,00000003h cmp esi,edi jl L004019A2 L004019D0: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L00401991 pop ebx L004019FA: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00401A00: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401A9E sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401A31: cmp ebp,edi mov esi,ebp jge L00401A74 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L00401A42: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,[L004FB230+edx*4] jns L00401A54 xor ecx,ecx L00401A54: mov [eax],cl mov edx,[L004FB230+edx*4] movsx ecx,[eax+01h] sar edx,1 sub ecx,edx jns L00401A69 xor ecx,ecx L00401A69: mov [eax+01h],cl inc esi add eax,00000003h cmp esi,edi jl L00401A42 L00401A74: mov eax,[esp+1Ch] mov edx,[esp+14h] mov ecx,[esp+2Ch] sub eax,edx lea edx,[eax+ecx] mov ecx,[esp+20h] add ebx,ecx lea eax,[edx+eax*2] mov [esp+2Ch],eax mov eax,[esp+24h] dec eax mov [esp+24h],eax jnz L00401A31 pop ebx L00401A9E: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401AB0: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401B4E sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401AE1: cmp ebp,edi mov esi,ebp jge L00401B24 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L00401AF2: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,[L004FB3B0+edx*4] jns L00401B04 xor ecx,ecx L00401B04: mov [eax],cl mov edx,[L004FB3B0+edx*4] movsx ecx,[eax+01h] sar edx,1 sub ecx,edx jns L00401B19 xor ecx,ecx L00401B19: mov [eax+01h],cl inc esi add eax,00000003h cmp esi,edi jl L00401AF2 L00401B24: mov eax,[esp+1Ch] mov edx,[esp+14h] mov ecx,[esp+2Ch] sub eax,edx lea edx,[eax+ecx] mov ecx,[esp+20h] add ebx,ecx lea eax,[edx+eax*2] mov [esp+2Ch],eax mov eax,[esp+24h] dec eax mov [esp+24h],eax jnz L00401AE1 pop ebx L00401B4E: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401B60: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp mov ebp,[esp+08h] mov eax,[ecx+0Ch] push esi mov esi,[ecx+08h] push edi mov edi,[ecx] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub edi,ebp sub esi,ebp cmp ecx,eax jge L00401BE2 sub eax,ecx mov ecx,[esp+28h] push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401B95: cmp edi,esi mov edx,edi jge L00401BC1 lea eax,[ecx+edi*2] mov ecx,edi add ecx,eax L00401BA2: movsx ebp,[edx+ebx] movsx eax,[ecx] sub eax,ebp jns L00401BAF xor eax,eax L00401BAF: mov [ecx],al inc edx add ecx,00000003h cmp edx,esi jl L00401BA2 mov ecx,[esp+2Ch] mov ebp,[esp+14h] L00401BC1: mov eax,[esp+1Ch] mov edx,[esp+20h] sub eax,ebp add ebx,edx add ecx,eax lea ecx,[ecx+eax*2] mov eax,[esp+24h] dec eax mov [esp+2Ch],ecx mov [esp+24h],eax jnz L00401B95 pop ebx L00401BE2: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401BF0: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401C8A sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401C21: cmp ebp,edi mov esi,ebp jge L00401C60 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L00401C32: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,[L004FB3B0+edx*4] jns L00401C44 xor ecx,ecx L00401C44: mov [eax],cl movsx ecx,[eax+01h] sub ecx,[L004FB3B0+edx*4] jns L00401C55 xor ecx,ecx L00401C55: mov [eax+01h],cl inc esi add eax,00000003h cmp esi,edi jl L00401C32 L00401C60: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L00401C21 pop ebx L00401C8A: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00401C90: mov ecx,[esp+14h] mov edx,[esp+08h] push ebp push esi mov eax,[ecx+0Ch] mov ebp,[ecx] mov esi,[esp+0Ch] push edi mov edi,[ecx+08h] mov ecx,[ecx+04h] sub eax,edx sub ecx,edx sub ebp,esi sub edi,esi cmp ecx,eax jge L00401D2A sub eax,ecx push ebx mov ebx,[esp+28h] mov [esp+24h],eax L00401CC1: cmp ebp,edi mov esi,ebp jge L00401D00 mov eax,[esp+2Ch] lea ecx,[eax+ebp*2] mov eax,ebp add eax,ecx L00401CD2: movsx edx,[esi+ebx] movsx ecx,[eax] sub ecx,[L004FB330+edx*4] jns L00401CE4 xor ecx,ecx L00401CE4: mov [eax],cl movsx ecx,[eax+01h] sub ecx,[L004FB330+edx*4] jns L00401CF5 xor ecx,ecx L00401CF5: mov [eax+01h],cl inc esi add eax,00000003h cmp esi,edi jl L00401CD2 L00401D00: mov eax,[esp+1Ch] mov edx,[esp+14h] sub eax,edx mov edx,[esp+2Ch] lea ecx,[eax+edx] lea edx,[ecx+eax*2] mov ecx,[esp+20h] mov eax,[esp+24h] add ebx,ecx dec eax mov [esp+2Ch],edx mov [esp+24h],eax jnz L00401CC1 pop ebx L00401D2A: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' mov eax,00004004h call SUB_L004D4B90 push ebx push ebp push esi xor ecx,ecx push edi xor eax,eax lea edx,[esp+14h] lea esi,[esp+00002012h] L00401D4D: 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 L00401D4D mov edx,00000001h mov ecx,00000040h L00401D74: xor eax,eax L00401D76: lea esi,[edx+eax] cmp esi,00000040h jge L00401D93 lea esi,[ecx+eax] lea edi,[ecx+eax] mov si,[esp+esi*2-6Ch] add si,ax add esi,edx mov [esp+edi*2+14h],si L00401D93: inc eax cmp eax,00000040h jl L00401D76 add ecx,00000040h inc edx cmp ecx,00000FC0h jl L00401D74 mov edx,0000003Eh mov esi,00000F80h L00401DAF: mov ecx,0000003Fh L00401DB4: lea eax,[edx+ecx] cmp eax,00000040h jl L00401DD5 lea eax,[esi+ecx] shl eax,1 mov di,[esp+eax+00000094h] add di,cx lea edi,[edi+edx-7Eh] mov [esp+eax+14h],di L00401DD5: dec ecx jns L00401DB4 sub esi,00000040h dec edx cmp esi,00000040h jge L00401DAF xor eax,eax lea ecx,[esp+14h] L00401DE7: movsx edx,[ecx] add ecx,00000002h mov [esp+edx*2+00002014h],ax inc eax cmp eax,00001000h jl L00401DE7 mov ebp,[L0051C76C] lea edi,[esp+00002014h] mov dword ptr [esp+10h],00001000h lea ebx,[L0051A764+ebp*4] L00401E19: 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,FFFFFFE2h jle L00401E46 cmp edx,0000001Eh jge L00401E46 cmp eax,0000001Eh jle L00401E46 cmp eax,00000062h jge L00401E46 mov [ebx],esi inc ebp add ebx,00000004h L00401E46: mov eax,[esp+10h] add edi,00000002h dec eax mov [esp+10h],eax jnz L00401E19 pop edi mov [L0051C76C],ebp pop esi pop ebp pop ebx add esp,00004004h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401E70: push SSZ004FBC24_DrawManager__startup__begin__ call SUB_L004C7F20 xor eax,eax add esp,00000004h mov [L0051C790],eax mov [L0051C78C],eax mov [L0051C774],eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L00401E90: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00401EA0: sub esp,00000014h mov eax,[L005073D0] mov ecx,[L00B189FC] push ebx push ebp push esi push edi push eax push ecx call SUB_L004B9E80 mov ebx,[esp+30h] mov edx,[L0051A75C] mov esi,[L0051A760] add esp,00000008h mov eax,[ebx+04h] mov ebp,[ebx+08h] add ebp,esi lea ecx,[eax+edx] mov [esp+1Ch],ebp mov [esp+18h],ecx mov ecx,[ebx+0Ch] add edx,ecx mov [esp+20h],edx mov edx,[ebx] lea edi,[edx+esi] mov esi,[L0051C774] test esi,esi mov [esp+14h],edi jz L00401F44 mov esi,eax imul esi,[L005073D0] add esi,edx mov edx,[L00B189FC] lea edx,[edx+esi*2] mov esi,eax cmp esi,ecx jge L00401F44 L00401F15: mov ecx,[ebx+08h] mov edi,[ebx] sub ecx,edi xor eax,eax shl ecx,1 mov ebp,ecx mov edi,edx shr ecx,02h rep stosd mov ecx,ebp and ecx,00000003h inc esi rep stosb mov eax,[L005073D0] lea edx,[edx+eax*2] mov eax,[ebx+0Ch] cmp esi,eax jl L00401F15 mov ebp,[esp+1Ch] L00401F44: mov eax,[L0051C76C] mov dword ptr [esp+10h],00000000h test eax,eax jle L0040205A mov dword ptr [esp+28h],L0051A764 L00401F61: mov ecx,[esp+28h] mov edi,[L00516750] mov eax,[ecx] mov ecx,[L0051674C] mov edx,eax add ecx,eax sar edx,06h add edx,edi and ecx,0000003Fh and edx,0000003Fh shl edx,06h add edx,ecx mov esi,[L00516754+edx*4] test esi,esi jz L00402038 L00401F96: mov edx,[esp+20h] mov eax,[esi+0Ch] cmp edx,eax jl L0040202D mov eax,[esp+18h] mov ecx,[esi+14h] cmp eax,ecx jg L0040202D cmp ebp,[esi+08h] jl L0040202D mov ecx,[esp+14h] mov eax,[esi+10h] cmp ecx,eax jg L0040202D mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00401FD5 mov eax,[esi] push ebx mov ecx,esi call [eax+08h] jmp L0040202D L00401FD5: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L0040202D mov edx,[L00C88540] xor ecx,ecx mov cx,[esi+3Ch] lea eax,[ecx+ecx*4] test dword ptr [edx+eax*8],00020000h jz L0040202D movsx eax,[esi+3Eh] 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 ecx,[esi+3Eh] xor eax,eax mov ax,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] mov [eax+edx*8],edi L0040202D: mov esi,[esi+18h] test esi,esi jnz L00401F96 L00402038: mov eax,[esp+10h] mov edx,[esp+28h] mov ecx,[L0051C76C] inc eax add edx,00000004h cmp eax,ecx mov [esp+10h],eax mov [esp+28h],edx jl L00401F61 L0040205A: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00402070: mov eax,[L0051A760] mov ecx,[L0051A75C] mov edx,[esp+0Ch] push ebx push ebp mov ebx,[esp+18h] mov ebp,[esp+1Ch] push esi mov esi,[esp+14h] sub edx,ecx sub esi,eax mov eax,[esp+10h] test eax,eax push edi mov [esp+18h],esi mov [esp+1Ch],edx jz L00402140 L004020A7: mov ecx,[ebp+00h] cmp ecx,7FFF7FFFh jz L004021D2 mov edx,ecx mov esi,ecx shl edx,0Ah sar edx,16h and esi,00000FFFh test dl,01h jz L004020D1 lea ebp,[esi+ebp+04h] jmp L004020A7 L004020D1: mov eax,[esp+18h] add ebp,00000004h sar ecx,16h sar edx,1 sub eax,ecx mov ecx,[esp+1Ch] sub eax,edx add edx,ecx mov ecx,[ebx+0Ch] sub eax,esi cmp edx,ecx mov [esp+24h],ebp jge L004021D2 cmp edx,[ebx+04h] jl L00402139 xor edi,edi test esi,esi jle L00402139 L00402103: cmp eax,[ebx+08h] jge L00402139 cmp eax,[ebx] jl L00402133 mov ecx,[L005073D0] mov ebp,[L00B189FC] imul ecx,edx add ecx,eax lea ecx,[ebp+ecx*2+00h] mov bp,[ecx] shr ebp,1 and ebp,00003DEFh mov [ecx],bp mov ebp,[esp+24h] L00402133: inc eax inc edi cmp edi,esi jl L00402103 L00402139: add ebp,esi jmp L004020A7 L00402140: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L004021D2 mov ecx,eax mov esi,eax shl ecx,0Ah sar ecx,16h and esi,00000FFFh test cl,01h jz L00402169 lea ebp,[esi+ebp+04h] jmp L00402140 L00402169: mov edx,[esp+18h] add ebp,00000004h sar ecx,1 sar eax,16h sub eax,ecx mov [esp+24h],ebp add eax,edx mov edx,[esp+1Ch] add edx,ecx mov ecx,[ebx+0Ch] cmp edx,ecx jge L004021D2 cmp edx,[ebx+04h] jl L004021CB xor edi,edi test esi,esi jle L004021CB L00402195: cmp eax,[ebx+08h] jge L004021CB cmp eax,[ebx] jl L004021C5 mov ecx,[L005073D0] mov ebp,[L00B189FC] imul ecx,edx add ecx,eax lea ecx,[ebp+ecx*2+00h] mov bp,[ecx] shr ebp,1 and ebp,00003DEFh mov [ecx],bp mov ebp,[esp+24h] L004021C5: inc eax inc edi cmp edi,esi jl L00402195 L004021CB: add ebp,esi jmp L00402140 L004021D2: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004021E0: push ecx mov eax,[L00B189FC] mov ecx,[L0051A760] mov edx,[L0051A75C] push ebx push ebp push esi mov esi,[esp+20h] push edi mov edi,[esp+20h] mov [esp+10h],eax mov eax,[esp+1Ch] sub edi,ecx mov ecx,eax sub esi,edx and ecx,00003FFFh mov [esp+20h],edi mov [esp+24h],esi mov [esp+1Ch],ecx jnz L00402361 mov eax,[esp+18h] test eax,eax jz L004022D3 mov esi,[esp+28h] mov ebx,[esp+30h] L00402238: mov eax,[ebx] cmp eax,7FFF7FFFh jz L00402B1E mov edx,[esp+20h] mov edi,eax mov ecx,eax add ebx,00000004h sar edi,16h shl eax,0Ah sub edx,edi mov edi,[esp+24h] sar eax,16h and ecx,00000FFFh add eax,edi mov edi,[esi+0Ch] sub edx,ecx cmp eax,edi mov [esp+30h],ebx jge L00402B1E cmp eax,[esi+04h] jl L004022C8 mov esi,[L005073D0] xor ebp,ebp imul esi,eax mov eax,[esp+10h] test ecx,ecx lea esi,[eax+esi*2] jle L004022C8 mov eax,[esp+28h] lea esi,[esi+edx*2] lea edi,[ecx+ebx-01h] L0040229E: cmp edx,[eax+08h] jge L004022C8 cmp edx,[eax] jl L004022BE mov ebx,[esp+2Ch] xor eax,eax mov al,[edi] mov ax,[ebx+eax*2] mov ebx,[esp+30h] mov [esi],ax mov eax,[esp+28h] L004022BE: inc edx add esi,00000002h inc ebp dec edi cmp ebp,ecx jl L0040229E L004022C8: mov esi,[esp+28h] add ebx,ecx jmp L00402238 L004022D3: mov ebx,[esp+28h] mov ebp,[esp+30h] L004022DB: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+24h] mov edi,[esp+20h] mov edx,eax mov ecx,eax shl eax,0Ah sar eax,16h sar ecx,16h add eax,esi mov esi,[ebx+0Ch] and edx,00000FFFh add ecx,edi add ebp,00000004h cmp eax,esi jge L00402B1E cmp eax,[ebx+04h] jl L0040235A mov esi,[L005073D0] imul esi,eax mov eax,[esp+10h] lea edi,[eax+esi*2] xor esi,esi test edx,edx jle L0040235A mov eax,[esp+2Ch] lea edi,[edi+ecx*2] L00402338: cmp ecx,[ebx+08h] jge L0040235A cmp ecx,[ebx] jl L00402351 xor ebx,ebx mov bl,[esi+ebp] mov bx,[eax+ebx*2] mov [edi],bx mov ebx,[esp+28h] L00402351: inc ecx add edi,00000002h inc esi cmp esi,edx jl L00402338 L0040235A: add ebp,edx jmp L004022DB L00402361: test ah,C0h jnz L004024FA dec eax mov [esp+1Ch],eax mov eax,[esp+18h] test eax,eax jz L00402444 mov ebx,[esp+28h] mov ecx,[esp+30h] L00402383: mov eax,[ecx] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+20h] mov edi,eax mov edx,eax add ecx,00000004h sar edi,16h shl eax,0Ah sub esi,edi mov edi,[esp+24h] sar eax,16h and edx,00000FFFh add eax,edi mov edi,[ebx+0Ch] sub esi,edx cmp eax,edi mov [esp+30h],ecx jge L00402B1E cmp eax,[ebx+04h] jl L0040243D mov edi,[L005073D0] mov dword ptr [esp+18h],00000000h imul edi,eax mov eax,[esp+10h] test edx,edx lea eax,[eax+edi*2] jle L0040243D lea eax,[eax+esi*2] lea edi,[edx+ecx-01h] L004023EB: cmp esi,[ebx+08h] jge L0040243D cmp esi,[ebx] jl L0040242B mov ebp,[esp+2Ch] xor ecx,ecx mov cl,[edi] xor ebx,ebx mov bx,[ebp+ecx*2+00h] mov cl,[L00512174] shr ebx,cl mov ecx,[esp+1Ch] lea ebp,[ecx+ecx*4] lea ecx,[ecx+ebp*2] lea ecx,[ebx+ecx*4] mov ebx,[esp+28h] mov cx,[L00C42CE8+ecx*2] mov [eax],cx mov ecx,[esp+30h] L0040242B: mov ebp,[esp+18h] inc esi add eax,00000002h inc ebp dec edi cmp ebp,edx mov [esp+18h],ebp jl L004023EB L0040243D: add ecx,edx jmp L00402383 L00402444: mov ecx,[esp+28h] mov ebp,[esp+30h] L0040244C: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L00402B1E mov edi,[esp+24h] mov ebx,[esp+20h] mov esi,eax mov edx,eax shl eax,0Ah sar eax,16h sar edx,16h add eax,edi mov edi,[ecx+0Ch] and esi,00000FFFh add edx,ebx add ebp,00000004h cmp eax,edi mov [esp+30h],ebp jge L00402B1E cmp eax,[ecx+04h] jl L004024F3 mov edi,[L005073D0] imul edi,eax mov eax,[esp+10h] lea edi,[eax+edi*2] xor eax,eax test esi,esi jle L004024F3 lea edi,[edi+edx*2] L004024A9: cmp edx,[ecx+08h] jge L004024F3 cmp edx,[ecx] jl L004024EA xor ecx,ecx xor ebx,ebx mov cl,[eax+ebp] mov ebp,[esp+2Ch] mov bx,[ebp+ecx*2+00h] mov cl,[L00512174] shr ebx,cl mov ecx,[esp+1Ch] lea ebp,[ecx+ecx*4] lea ecx,[ecx+ebp*2] mov ebp,[esp+30h] lea ecx,[ebx+ecx*4] mov cx,[L00C42CE8+ecx*2] mov [edi],cx mov ecx,[esp+28h] L004024EA: inc edx add edi,00000002h inc eax cmp eax,esi jl L004024A9 L004024F3: add ebp,esi jmp L0040244C L004024FA: test ah,40h jnz L004026C1 mov eax,[esp+18h] test eax,eax jz L004025F5 mov ebp,[esp+28h] mov ebx,[esp+30h] L00402517: mov eax,[ebx] cmp eax,7FFF7FFFh jz L00402B1E mov edx,[esp+20h] mov esi,eax mov ecx,eax add ebx,00000004h sar esi,16h shl eax,0Ah sub edx,esi mov esi,[esp+24h] sar eax,16h and ecx,00000FFFh add eax,esi mov esi,[ebp+0Ch] sub edx,ecx cmp eax,esi mov [esp+30h],ebx jge L00402B1E cmp eax,[ebp+04h] jl L004025EE mov esi,[L005073D0] xor edi,edi imul esi,eax mov eax,[esp+10h] test ecx,ecx lea eax,[eax+esi*2] jle L004025EE lea eax,[eax+edx*2] lea esi,[ecx+ebx-01h] mov [esp+18h],eax L00402581: cmp edx,[ebp+08h] jge L004025EE cmp edx,[ebp+00h] jl L004025DC mov ebp,[esp+2Ch] xor eax,eax mov al,[esi] mov ebx,eax xor eax,eax mov ax,[ebp+ebx*2+00h] mov ebx,eax mov ebp,eax and ebx,000003FFh sar ebp,05h xor ebx,ebp jnz L004025CD mov ebx,eax mov eax,[esp+1Ch] sar ebx,0Ah lea ebp,[eax+eax*4-05h] lea eax,[eax+ebp*2-01h] lea eax,[ebx+eax*4] xor ebx,ebx mov bx,[L00C42CE8+eax*2] mov eax,ebx L004025CD: mov ebx,[esp+18h] mov ebp,[esp+28h] mov [ebx],ax mov ebx,[esp+30h] L004025DC: mov eax,[esp+18h] inc edx add eax,00000002h inc edi dec esi cmp edi,ecx mov [esp+18h],eax jl L00402581 L004025EE: add ebx,ecx jmp L00402517 L004025F5: mov ebx,[esp+28h] mov ebp,[esp+30h] L004025FD: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+24h] mov edi,[esp+20h] mov edx,eax mov ecx,eax shl eax,0Ah sar eax,16h sar ecx,16h add eax,esi mov esi,[ebx+0Ch] and edx,00000FFFh add ecx,edi add ebp,00000004h cmp eax,esi mov [esp+30h],ebp jge L00402B1E cmp eax,[ebx+04h] jl L004026BA mov esi,[L005073D0] imul esi,eax mov eax,[esp+10h] lea eax,[eax+esi*2] xor esi,esi test edx,edx jle L004026BA lea edi,[eax+ecx*2] L0040265A: cmp ecx,[ebx+08h] jge L004026BA cmp ecx,[ebx] jl L004026B1 xor eax,eax mov al,[esi+ebp] mov ebp,[esp+2Ch] mov ebx,eax xor eax,eax mov ax,[ebp+ebx*2+00h] mov ebx,eax mov ebp,eax and ebx,000003FFh sar ebp,05h xor ebx,ebp jnz L004026A6 mov ebx,eax mov eax,[esp+1Ch] sar ebx,0Ah lea ebp,[eax+eax*4-05h] lea eax,[eax+ebp*2-01h] lea eax,[ebx+eax*4] xor ebx,ebx mov bx,[L00C42CE8+eax*2] mov eax,ebx L004026A6: mov ebx,[esp+28h] mov ebp,[esp+30h] mov [edi],ax L004026B1: inc ecx add edi,00000002h inc esi cmp esi,edx jl L0040265A L004026BA: add ebp,edx jmp L004025FD L004026C1: test ah,80h mov eax,[esp+18h] jnz L004028D9 test eax,eax jz L004027E9 mov ebx,[esp+28h] mov ecx,[esp+30h] L004026DE: mov eax,[ecx] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+20h] mov edi,eax mov edx,eax add ecx,00000004h sar edi,16h shl eax,0Ah sub esi,edi mov edi,[esp+24h] sar eax,16h and edx,00000FFFh add eax,edi mov edi,[ebx+0Ch] sub esi,edx cmp eax,edi mov [esp+30h],ecx jge L00402B1E cmp eax,[ebx+04h] jl L004027E2 mov edi,[L005073D0] mov dword ptr [esp+18h],00000000h imul edi,eax mov eax,[esp+10h] test edx,edx lea edi,[eax+edi*2] jle L004027E2 lea eax,[edx+ecx-01h] lea edi,[edi+esi*2] mov [esp+1Ch],eax L00402752: cmp esi,[ebx+08h] jge L004027E2 cmp esi,[ebx] jl L004027C4 mov eax,[esp+1Ch] mov ebx,[esp+2Ch] xor ecx,ecx mov cl,[eax] xor eax,eax mov ax,[ebx+ecx*2] mov ecx,eax mov eax,00000017h shr ecx,0Ah sub eax,ecx jns L00402781 xor eax,eax L00402781: shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[edi] mov ebx,eax mov ebp,eax shr ebx,05h shr ebp,0Ah and ebx,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx bx,[ebx+ecx] movzx ax,[eax+ecx] shl ebp,05h mov ecx,[esp+30h] or ebx,ebp shl ebx,05h or ebx,eax mov [edi],bx mov ebx,[esp+28h] L004027C4: mov eax,[esp+18h] mov ebp,[esp+1Ch] inc esi add edi,00000002h inc eax dec ebp cmp eax,edx mov [esp+18h],eax mov [esp+1Ch],ebp jl L00402752 L004027E2: add ecx,edx jmp L004026DE L004027E9: mov ecx,[esp+28h] mov ebp,[esp+30h] L004027F1: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+24h] mov ebx,[esp+20h] mov edi,eax mov edx,eax shl eax,0Ah sar eax,16h sar edx,16h add eax,esi mov esi,[ecx+0Ch] and edi,00000FFFh add edx,ebx add ebp,00000004h cmp eax,esi mov [esp+30h],ebp jge L00402B1E cmp eax,[ecx+04h] jl L004028D2 mov esi,[L005073D0] imul esi,eax mov eax,[esp+10h] lea esi,[eax+esi*2] xor eax,eax test edi,edi mov [esp+18h],eax jle L004028D2 lea esi,[esi+edx*2] L00402856: cmp edx,[ecx+08h] jge L004028D2 cmp edx,[ecx] jl L004028C5 mov ebx,[esp+2Ch] xor ecx,ecx mov cl,[eax+ebp] xor eax,eax mov ax,[ebx+ecx*2] mov ecx,eax mov eax,00000017h shr ecx,0Ah sub eax,ecx jns L0040287E xor eax,eax L0040287E: shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[esi] mov ebx,eax mov ebp,eax shr ebx,05h shr ebp,0Ah and ebx,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx bx,[ebx+ecx] movzx ax,[eax+ecx] shl ebp,05h mov ecx,[esp+28h] or ebx,ebp mov ebp,[esp+30h] shl ebx,05h or ebx,eax mov eax,[esp+18h] mov [esi],bx L004028C5: inc edx add esi,00000002h inc eax cmp eax,edi mov [esp+18h],eax jl L00402856 L004028D2: add ebp,edi jmp L004027F1 L004028D9: mov ecx,[esp+28h] test eax,eax jz L00402A0A mov ebx,[esp+30h] L004028E9: mov eax,[ebx] cmp eax,7FFF7FFFh jz L00402B1E mov esi,[esp+20h] mov edi,eax mov edx,eax add ebx,00000004h sar edi,16h shl eax,0Ah sub esi,edi mov edi,[esp+24h] sar eax,16h and edx,00000FFFh add eax,edi mov edi,[ecx+0Ch] sub esi,edx cmp eax,edi mov [esp+30h],ebx jge L00402B1E cmp eax,[ecx+04h] jl L00402A03 mov edi,[L005073D0] mov dword ptr [esp+18h],00000000h imul edi,eax mov eax,[esp+10h] test edx,edx lea edi,[eax+edi*2] jle L00402A03 lea eax,[edx+ebx-01h] lea edi,[edi+esi*2] mov [esp+1Ch],eax L0040295D: cmp esi,[ecx+08h] jge L00402A03 cmp esi,[ecx] jl L004029E5 mov eax,[esp+1Ch] mov ebp,[esp+2Ch] xor ecx,ecx mov cl,[eax] mov eax,ecx xor ecx,ecx mov cx,[ebp+eax*2+00h] mov eax,ecx mov ebp,ecx and eax,000003FFh sar ebp,05h xor eax,ebp jnz L004029DE sar ecx,0Ah mov eax,00000017h sub eax,ecx jns L0040299D xor eax,eax L0040299D: shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[edi] mov ebx,eax mov ebp,eax shr ebx,05h shr ebp,0Ah and ebx,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx bx,[ebx+ecx] movzx cx,[eax+ecx] shl ebp,05h or ebx,ebp shl ebx,05h or ebx,ecx mov [edi],bx mov ebx,[esp+30h] jmp L004029E1 L004029DE: mov [edi],cx L004029E1: mov ecx,[esp+28h] L004029E5: mov eax,[esp+18h] mov ebp,[esp+1Ch] inc esi add edi,00000002h inc eax dec ebp cmp eax,edx mov [esp+18h],eax mov [esp+1Ch],ebp jl L0040295D L00402A03: add ebx,edx jmp L004028E9 L00402A0A: mov edx,[esp+30h] mov eax,[edx] cmp eax,7FFF7FFFh jz L00402B1E mov ebp,[esp+20h] mov ebx,[esp+30h] mov esi,[ecx+0Ch] mov edx,eax mov edi,eax add ebx,00000004h sar edx,16h shl eax,0Ah add edx,ebp mov ebp,[esp+24h] sar eax,16h add eax,ebp and edi,00000FFFh cmp eax,esi mov [esp+30h],ebx jge L00402B1E cmp eax,[ecx+04h] jl L00402B15 mov esi,[L005073D0] imul esi,eax mov eax,[esp+10h] lea esi,[eax+esi*2] xor eax,eax test edi,edi mov [esp+18h],eax jle L00402B15 lea esi,[esi+edx*2] L00402A7A: cmp edx,[ecx+08h] jge L00402B15 cmp edx,[ecx] jl L00402B04 mov ebx,[esp+30h] mov ebp,[esp+2Ch] xor ecx,ecx mov cl,[eax+ebx] mov ebx,ecx xor ecx,ecx mov cx,[ebp+ebx*2+00h] mov ebx,ecx mov ebp,ecx and ebx,000003FFh sar ebp,05h xor ebx,ebp jnz L00402AFD sar ecx,0Ah mov eax,00000017h sub eax,ecx jns L00402ABC xor eax,eax L00402ABC: shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[esi] mov ebx,eax mov ebp,eax shr ebx,05h shr ebp,0Ah and ebx,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx bx,[ebx+ecx] movzx ax,[eax+ecx] shl ebp,05h or ebx,ebp shl ebx,05h or ebx,eax mov eax,[esp+18h] mov [esi],bx jmp L00402B00 L00402AFD: mov [esi],cx L00402B00: mov ecx,[esp+28h] L00402B04: inc edx add esi,00000002h inc eax cmp eax,edi mov [esp+18h],eax jl L00402A7A L00402B15: add [esp+30h],edi jmp L00402A0A L00402B1E: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00402B30: mov eax,[esp+0Ch] push ebx mov ebx,[esp+14h] push ebp push esi mov esi,[esp+14h] push edi mov edi,[esp+24h] test eax,eax jz L00402B92 mov edx,[esp+28h] L00402B4C: mov eax,[edx] cmp eax,7FFF7FFFh jz L00402BD1 mov edx,eax mov ebp,eax shl eax,0Ah sar ebp,16h mov ecx,ebx and edx,00000FFFh sar eax,16h sub ecx,ebp add eax,edi sub ecx,edx cmp eax,esi jg L00402BD1 jnz L00402B84 mov eax,[esp+14h] cmp ecx,eax jg L00402B84 add ecx,edx cmp ecx,eax jg L00402BD8 L00402B84: mov eax,[esp+28h] lea edx,[eax+edx+04h] mov [esp+28h],edx jmp L00402B4C L00402B92: mov ebp,[esp+28h] L00402B96: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L00402BD1 mov edx,eax mov ecx,eax shl eax,0Ah sar eax,16h sar ecx,16h add eax,edi and edx,00000FFFh add ecx,ebx cmp eax,esi jg L00402BD1 jnz L00402BCB mov eax,[esp+14h] cmp ecx,eax jg L00402BCB add ecx,edx cmp ecx,eax jg L00402BD8 L00402BCB: lea ebp,[edx+ebp+04h] jmp L00402B96 L00402BD1: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L00402BD8: pop edi pop esi pop ebp mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00402BF0: push FFFFFFFFh push L004E0B1B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi xor eax,eax mov dword ptr [esi],L004E7388 mov [esi+1Ch],eax mov [esi+18h],eax mov [esi+20h],eax mov dword ptr [esi+04h],FEEDBEEFh mov ecx,[L00D1BADC] mov [esp+10h],eax cmp ecx,eax jz L00402C39 push esi call SUB_L004712D0 L00402C39: mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00402C50: retn ;------------------------------------------------------------------------------ Align 16 L00402C60: 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; '?' L00402C70: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L00402C80: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 L00402C90: mov ax,[ecx+28h] retn ;------------------------------------------------------------------------------ Align 16 L00402CA0: mov ax,[ecx+28h] retn 0004h ;------------------------------------------------------------------------------ Align 16 L00402CB0: push esi mov esi,ecx call SUB_L00402CD0 test byte ptr [esp+08h],01h jz L00402CC8 push esi call SUB_L004D4F9E add esp,00000004h L00402CC8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00402CD0: push FFFFFFFFh push L004E0B3B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E7388 mov eax,[esi+20h] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L00402D06 call SUB_L00402D40 L00402D06: mov [esi+04h],edi mov ecx,[L00D1BADC] cmp ecx,edi jz L00402D19 push esi call SUB_L004712D0 L00402D19: mov ecx,[esp+0Ch] mov [esi+08h],edi mov [esi+0Ch],edi mov [esi+10h],edi mov [esi+14h],edi mov [esi+18h],edi mov [esi+1Ch],edi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00402D40: sub esp,00000010h push esi mov esi,ecx push edi mov eax,[esi] call [eax+3Ch] xor edi,edi test eax,eax jnz L00402D92 cmp [esi+20h],edi jz L00402D92 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+0Ch],ecx mov ecx,[esi+08h] mov [esp+14h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+08h] mov [esp+08h],ecx push eax mov [esp+14h],edx call SUB_L0040BD80 add esp,00000004h L00402D92: mov eax,[esi+18h] cmp eax,edi jz L00402D9F mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L00402D9F: mov eax,[esi+1Ch] cmp eax,edi jz L00402DBB mov edx,[esi+18h] mov [eax+18h],edx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00402DBB: mov al,[esi+26h] mov cl,[esi+24h] and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov ecx,[L00516754+eax*4] cmp ecx,esi lea eax,[L00516754+eax*4] jz L00402E24 push ebx push SSZ004FBC44_CDrawItem__RemoveFromDrawList___ call SUB_L004C7EF0 add esp,00000004h mov edx,L00516754 L00402DF1: mov eax,edx mov ecx,00000040h L00402DF8: cmp [eax],esi jnz L00402E01 mov ebx,[esi+18h] mov [eax],ebx L00402E01: add eax,00000100h dec ecx jnz L00402DF8 add edx,00000004h cmp edx,L00516854 jl L00402DF1 mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop ebx pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00402E24: mov ecx,[esi+18h] mov [eax],ecx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00402E40: sub esp,00000010h push esi mov esi,ecx push edi xor edi,edi mov ecx,[esi+000000B4h] cmp ecx,edi jz L00402E79 L00402E53: cmp ecx,DDDDDDDDh jnz L00402E6A push SSZ004FBE50_CCorpse__RemoveFromDrawList__big call SUB_L004C7EF0 add esp,00000004h jmp L00402E6F L00402E6A: mov eax,[ecx] call [eax+04h] L00402E6F: mov ecx,[esi+000000B4h] cmp ecx,edi jnz L00402E53 L00402E79: mov edx,[esi] mov ecx,esi mov [esi+000000B4h],edi call [edx+3Ch] test eax,eax jnz L00402ECA cmp [esi+20h],edi jz L00402ECA mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+0Ch],ecx mov ecx,[esi+08h] mov [esp+14h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+08h] mov [esp+08h],ecx push eax mov [esp+14h],edx call SUB_L0040BD80 add esp,00000004h L00402ECA: mov eax,[esi+18h] cmp eax,edi jz L00402ED7 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L00402ED7: mov eax,[esi+1Ch] cmp eax,edi jz L00402EF3 mov edx,[esi+18h] mov [eax+18h],edx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00402EF3: mov edx,[esi+000000BCh] mov ax,[esi+26h] mov cx,[esi+24h] sub eax,edx add ecx,edx and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov ecx,[L00516754+eax*4] cmp ecx,esi lea eax,[L00516754+eax*4] jz L00402F68 push ebx push SSZ004FBD4C_CCorpse__RemoveFromDrawList__cod call SUB_L004C7EF0 add esp,00000004h mov edx,L00516754 L00402F35: mov eax,edx mov ecx,00000040h L00402F3C: cmp [eax],esi jnz L00402F45 mov ebx,[esi+18h] mov [eax],ebx L00402F45: add eax,00000100h dec ecx jnz L00402F3C add edx,00000004h cmp edx,L00516854 jl L00402F35 mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop ebx pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00402F68: mov ecx,[esi+18h] mov [eax],ecx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00402F80: sub esp,00000010h push esi mov esi,ecx push edi xor edi,edi cmp [esi+20h],edi jz L004030C2 mov ecx,[esi+000000B4h] cmp ecx,edi jz L00402FAB L00402F9C: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B4h] cmp ecx,edi jnz L00402F9C L00402FAB: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00402FF6 cmp [esi+20h],edi jz L00402FF6 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+0Ch],ecx mov ecx,[esi+08h] mov [esp+14h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+08h] mov [esp+08h],ecx push eax mov [esp+14h],edx call SUB_L0040BD80 add esp,00000004h L00402FF6: mov eax,[esi+18h] cmp eax,edi jz L00403003 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L00403003: mov eax,[esi+1Ch] cmp eax,edi jz L0040301F mov edx,[esi+18h] mov [eax+18h],edx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L0040301F: mov edx,[esi+00000140h] movsx ecx,[esi+24h] movsx eax,[esi+26h] cmp edx,edi jz CASE_004030C8_PROC0002 xor edx,edx mov dl,[esi+72h] cmp edx,00000007h ja CASE_004030C8_PROC0002 jmp [CASE_PROCTABLE_004030C8+edx*4] CASE_004030C8_PROC0005: inc ecx jmp CASE_004030C8_PROC0002 CASE_004030C8_PROC0007: inc ecx CASE_004030C8_PROC0000: inc eax CASE_004030C8_PROC0002: mov edx,[esi+000000BCh] sub eax,edx add ecx,edx and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov ecx,[L00516754+eax*4] cmp ecx,esi lea eax,[L00516754+eax*4] jz L004030B4 push ebx push SSZ004FBEDC_CMobile__RemoveFromDrawList____c call SUB_L004C7EF0 add esp,00000004h mov edx,L00516754 L00403081: mov eax,edx mov ecx,00000040h L00403088: cmp [eax],esi jnz L00403091 mov ebx,[esi+18h] mov [eax],ebx L00403091: add eax,00000100h dec ecx jnz L00403088 add edx,00000004h cmp edx,L00516854 jl L00403081 mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop ebx pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L004030B4: mov ecx,[esi+18h] mov [eax],ecx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi L004030C2: pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004030C8: dd CASE_004030C8_PROC0000 dd CASE_004030C8_PROC0000 dd CASE_004030C8_PROC0002 dd CASE_004030C8_PROC0002 dd CASE_004030C8_PROC0002 dd CASE_004030C8_PROC0005 dd CASE_004030C8_PROC0005 dd CASE_004030C8_PROC0007 Align 16 L004030F0: sub esp,00000010h push esi mov esi,ecx push edi xor edi,edi cmp [esi+20h],edi jz L00403233 mov ecx,[esi+000000B4h] cmp ecx,edi jz L0040311B L0040310C: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000B4h] cmp ecx,edi jnz L0040310C L0040311B: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00403166 cmp [esi+20h],edi jz L00403166 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+0Ch],ecx mov ecx,[esi+08h] mov [esp+14h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+08h] mov [esp+08h],ecx push eax mov [esp+14h],edx call SUB_L0040BD80 add esp,00000004h L00403166: mov eax,[esi+18h] cmp eax,edi jz L00403173 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L00403173: mov eax,[esi+1Ch] cmp eax,edi jz L0040318F mov edx,[esi+18h] mov [eax+18h],edx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L0040318F: mov edx,[L00C85360] movsx ecx,[esi+24h] movsx eax,[esi+26h] cmp edx,edi jz L004031B8 xor edx,edx mov dl,[esi+72h] dec edx cmp edx,00000004h ja L004031B8 jmp [CASE_PROCTABLE_0040323C+edx*4] CASE_0040323C_PROC0000: inc ecx jmp L004031B8 CASE_0040323C_PROC0002: inc ecx CASE_0040323C_PROC0003: inc eax L004031B8: mov edx,[esi+000000BCh] sub eax,edx add ecx,edx and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov ecx,[L00516754+eax*4] cmp ecx,esi lea eax,[L00516754+eax*4] jz L00403225 push ebx push SSZ004FBEDC_CMobile__RemoveFromDrawList____c call SUB_L004C7EF0 add esp,00000004h mov edx,L00516754 L004031F2: mov eax,edx mov ecx,00000040h L004031F9: cmp [eax],esi jnz L00403202 mov ebx,[esi+18h] mov [eax],ebx L00403202: add eax,00000100h dec ecx jnz L004031F9 add edx,00000004h cmp edx,L00516854 jl L004031F2 mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi pop ebx pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00403225: mov ecx,[esi+18h] mov [eax],ecx mov [esi+20h],edi mov [esi+1Ch],edi mov [esi+18h],edi L00403233: pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0040323C: dd CASE_0040323C_PROC0000 dd CASE_0040323C_PROC0000 dd CASE_0040323C_PROC0002 dd CASE_0040323C_PROC0003 dd CASE_0040323C_PROC0003 L00403250: db 0Fh; db BFh; 'õ' db 51h; 'Q' db 26h; '&' db 0Fh; db BFh; 'õ' db 41h; 'A' db 24h; '$' db 2Bh; '+' db C2h; '‚' db 8Bh; '<' db 15h; db 54h; 'T' db 3Ah; ':' db C8h; 'ˆ' db 00h; db 03h; db C2h; '‚' db 8Dh; '?' db 14h; db 80h; '?' db 8Dh; '?' db 04h; db 50h; 'P' db 8Bh; '<' db 15h; db F4h; 'ä' db 89h; '%' db B1h; '+' db 00h; db 8Dh; '?' db 44h; 'D' db 42h; 'B' db 01h; db 8Bh; '<' db 54h; 'T' db 24h; '$' db 04h; db 89h; '%' db 02h; db 8Bh; '<' db 81h; '?' db B8h; 'ñ' db 00h; db 00h; db 00h; db 8Bh; '<' db 0Dh; db F0h; 'à' db 89h; '%' db B1h; '+' db 00h; db 03h; db C1h; '' db 8Bh; '<' db 4Ch; 'L' db 24h; '$' db 08h; db 89h; '%' db 01h; db C2h; '‚' db 08h; db 00h; db 90h; '?' L00403290: db 0Fh; db BFh; 'õ' db 41h; 'A' db 24h; '$' db 8Bh; '<' db 91h; ''' db 94h; '"' db 01h; db 00h; db 00h; db 53h; 'S' db 56h; 'V' db 57h; 'W' db 0Fh; db BFh; 'õ' db 71h; 'q' db 26h; '&' db BFh; 'õ' db 05h; db 00h; db 00h; db 00h; db 2Bh; '+' db FAh; 'ê' db 8Dh; '?' db 14h; db 30h; '0' db 2Bh; '+' db C6h; '†' db 8Dh; '?' db 1Ch; db 92h; ''' db 8Dh; '?' db 14h; db 5Ah; 'Z' db 8Bh; '<' db 99h; 'T' db 90h; '?' db 01h; db 00h; db 00h; db D1h; '‘' db E2h; '¢' db 8Dh; '?' db 14h; db BAh; 'ó' db 5Fh; '_' db 2Bh; '+' db D3h; '“' db 8Bh; '<' db 1Dh; db 54h; 'T' db 3Ah; ':' db C8h; 'ˆ' db 00h; db 03h; db C3h; 'ƒ' db 8Dh; '?' db 34h; '4' db 80h; '?' db 8Dh; '?' db 04h; db 70h; 'p' db 8Bh; '<' db B1h; '+' db 8Ch; '?' db 01h; db 00h; db 00h; db 8Bh; '<' db 4Ch; 'L' db 24h; '$' db 0Ch; db D1h; '‘' db E0h; ' ' db 2Bh; '+' db C6h; '†' db 5Eh; '^' db 40h; '@' db 5Bh; '[' db 89h; '%' db 01h; db 8Bh; '<' db 44h; 'D' db 24h; '$' db 08h; db 89h; '%' db 10h; db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004032F0: sub esp,00000034h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004B4080 test eax,eax jz L00403313 mov ecx,esi call SUB_L004B41C0 pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ L00403313: movsx edx,[esi+24h] movsx ecx,[esi+26h] mov edi,[L00C83A54] mov eax,edx sub eax,ecx mov ebx,[esi+0000018Ch] add eax,edi mov ebp,[esi+00000194h] lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,00000005h shl eax,1 sub eax,ebx sub edi,ebp inc eax mov [esp+20h],eax lea eax,[edx+ecx] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ecx,[esi+00000190h] shl edx,1 lea eax,[edx+edi*4] mov [esi+000000B8h],eax sub eax,ecx cmp word ptr [esi+3Ch],03E8h mov [esp+1Ch],eax jnc L00403744 mov eax,[esi] mov ecx,esi call [eax+00000098h] test eax,eax jz L0040338E xor edi,edi mov di,[esi+3Ch] sub edi,00000002h jmp L00403394 L0040338E: xor edi,edi mov di,[esi+3Ch] L00403394: mov edx,[esi] mov ecx,esi call [edx+00000090h] lea ecx,[esp+18h] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+1Ch] mov [esp+2Ch],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx xor ecx,ecx push edx mov cl,[esi+72h] xor edx,edx mov dx,[esi+000001AEh] push edx push eax mov eax,[esi+00000144h] push eax push ecx push edi call SUB_L00405400 mov dl,[esi+72h] lea eax,[esp+50h] and edx,00000007h lea ecx,[esp+54h] push eax push ecx mov ebp,[L004FBB60+edx*4] mov edx,[esp+44h] push edx push 00000006h push 00000005h mov [esp+6Ch],ebp call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00403744 mov cx,[eax+00000200h] mov edx,[esp+18h] add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L00403744 mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00403744 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] test ebp,ebp jz L00403469 mov ecx,ebx sub ecx,edi mov edi,ecx L00403469: mov ecx,[esp+1Ch] movsx ebp,dx movsx eax,ax sub ecx,ebp mov ebp,[esp+20h] mov [esp+40h],ecx sub ecx,eax movsx edi,di movsx eax,bx sub ebp,edi mov [esp+38h],ecx add eax,ebp test dx,dx mov [esp+3Ch],eax jl L0040349E mov ecx,[esp+1Ch] mov [esp+40h],ecx L0040349E: sub eax,[esp+20h] lea ecx,[eax+16h] cmp ecx,0000002Ch mov [esi+000000BCh],ecx jg L004034BC mov dword ptr [esi+000000BCh],00000000h jmp L004034D3 L004034BC: mov eax,2E8BA2E9h imul ecx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov [esi+000000BCh],edx L004034D3: cmp word ptr [esi+3Ch],0190h jc L00403686 mov ebx,00000001h mov [esp+10h],ebx L004034E8: cmp ebx,00000015h jz L00403678 mov ecx,[esi+ebx*4+000000C8h] test ecx,ecx jnz L0040355C mov eax,[esi+7Ch] test eax,80000000h jz L00403678 push eax call SUB_L0047ECE0 mov edi,eax add esp,00000004h test edi,edi jz L00403678 mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jz L00403678 mov eax,[edi+000000ACh] test eax,eax jz L00403678 mov edi,[edi+ebx*4+000000C0h] L00403541: cmp [eax+7Ch],edi jz L00403552 mov eax,[eax+44h] test eax,eax jnz L00403541 jmp L00403678 L00403552: test eax,eax mov ecx,eax jz L00403678 L0040355C: mov edx,[L00C88540] xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00403678 cmp eax,000003E8h jge L00403678 lea ecx,[esp+18h] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx mov ecx,[esp+34h] push edx xor edx,edx mov dx,[esi+000001AEh] push edx mov edx,[esi+00000144h] push ecx xor ecx,ecx mov cl,[esi+72h] push edx push ecx push eax call SUB_L00405400 mov ecx,[esp+3Ch] lea edx,[esp+50h] lea eax,[esp+54h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00403678 mov edx,[esp+18h] add eax,00000200h mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00403678 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+30h] test ecx,ecx jz L00403626 mov ecx,ebx sub ecx,edi mov edi,ecx L00403626: movsx ecx,dx mov edx,[esp+1Ch] movsx edi,di sub edx,ecx mov ecx,[esp+20h] sub ecx,edi movsx edi,ax mov eax,edx sub eax,edi cmp dword ptr [esp+10h],00000019h movsx edi,bx lea ebx,[edi+ecx] jnz L00403650 sar edi,1 add ebx,edi L00403650: cmp ebx,[esp+3Ch] jle L0040365A mov [esp+3Ch],ebx L0040365A: cmp ecx,ebp jge L00403660 mov ebp,ecx L00403660: cmp edx,[esp+40h] jle L0040366A mov [esp+40h],edx L0040366A: cmp eax,[esp+38h] jge L00403674 mov [esp+38h],eax L00403674: mov ebx,[esp+10h] L00403678: inc ebx cmp ebx,0000001Ah mov [esp+10h],ebx jl L004034E8 L00403686: mov edi,[esi+000001C4h] xor ebx,ebx cmp edi,ebx mov [esi+000001D0h],ebx mov [esi+000001CCh],ebx jz L00403729 L004036A2: xor edx,edx mov dx,[edi+000000E2h] add edx,00004000h push edx call SUB_L004B9530 mov cx,[eax+06h] mov edx,[esp+40h] movsx eax,[eax+04h] sub eax,edx add esp,00000004h add eax,ebp cmp eax,ebx jle L004036EA mov edx,[esi+000001CCh] sar eax,1 add edx,eax sub ebp,eax mov [esi+000001CCh],edx mov edx,[esp+3Ch] add edx,eax mov [esp+3Ch],edx L004036EA: mov edx,[esp+38h] movsx eax,cx sub eax,[esp+40h] add eax,edx cmp eax,ebx jle L0040371B mov ecx,[esi+000001D0h] sar eax,1 add ecx,eax sub edx,eax mov [esi+000001D0h],ecx mov ecx,[esp+40h] add ecx,eax mov [esp+38h],edx mov [esp+40h],ecx L0040371B: mov edi,[edi+00000108h] cmp edi,ebx jnz L004036A2 L00403729: mov eax,[esp+48h] mov ecx,[esp+38h] mov edx,[esp+3Ch] mov [eax],ebp mov [eax+04h],ecx mov ecx,[esp+40h] mov [eax+08h],edx mov [eax+0Ch],ecx L00403744: pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ Align 4 L00403750: mov eax,[ecx+08h] mov edx,[ecx+10h] sub edx,eax sar edx,1 add edx,eax mov eax,[esp+04h] mov [eax],edx mov eax,[ecx+0Ch] mov ecx,[ecx+14h] mov edx,[esp+08h] sub ecx,eax sar ecx,1 add ecx,eax mov [edx],ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00403780: xor eax,eax lea edx,[ecx+0000021Ch] L00403788: cmp dword ptr [edx],00000000h jz L00403799 inc eax add edx,00000004h cmp eax,00000005h jl L00403788 retn 0004h ;------------------------------------------------------------------------------ L00403799: mov edx,[esp+04h] mov [ecx+eax*4+0000021Ch],edx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004037B0: mov eax,[esp+08h] test eax,eax jl L004037C8 cmp eax,00000005h jge L004037C8 mov edx,[esp+04h] mov [ecx+eax*4+0000021Ch],edx L004037C8: retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004037D0: xor edx,edx lea eax,[ecx+0000021Ch] L004037D8: cmp dword ptr [eax],00000000h jnz L004037E9 inc edx add eax,00000004h cmp edx,00000005h jl L004037D8 xor eax,eax retn ;------------------------------------------------------------------------------ L004037E9: mov eax,[ecx+edx*4+0000021Ch] mov dword ptr [ecx+edx*4+0000021Ch],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00403800: sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi] mov dword ptr [esi+20h],00000001h call [eax+0Ch] mov edi,[esp+24h] mov ecx,[esi+000000BCh] mov ebp,[esp+28h] add ecx,[edi] and ecx,0000003Fh mov [edi],ecx mov eax,[ebp+00h] sub eax,[esi+000000BCh] and eax,0000003Fh mov [ebp+00h],eax mov ebx,[edi] shl eax,06h lea edx,[eax+ebx] mov ecx,[L00516754+edx*4] xor edx,edx test ecx,ecx jz L0040387F mov ebp,[esi+34h] L00403851: cmp [ecx+34h],ebp jg L0040385F mov edx,ecx mov ecx,[ecx+18h] test ecx,ecx jnz L00403851 L0040385F: test edx,edx jz L0040387B mov [esi+1Ch],edx mov eax,[edx+18h] mov [esi+18h],eax mov [edx+18h],esi mov eax,[esi+18h] test eax,eax jz L004038AA mov [eax+1Ch],esi jmp L004038AA L0040387B: mov ebp,[esp+28h] L0040387F: add eax,ebx mov eax,[L00516754+eax*4] test eax,eax mov [esi+18h],eax jz L00403892 mov [eax+1Ch],esi L00403892: mov ecx,[ebp+00h] mov eax,[edi] shl ecx,06h add ecx,eax mov [L00516754+ecx*4],esi mov dword ptr [esi+1Ch],00000000h L004038AA: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L004038F7 mov eax,[esi+20h] test eax,eax jz L004038F7 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+14h],ecx mov ecx,[esi+08h] mov [esp+1Ch],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+10h] mov [esp+10h],ecx push eax mov [esp+1Ch],edx call SUB_L0040BD80 add esp,00000004h L004038F7: pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00403910: sub esp,00000010h push esi mov esi,ecx mov eax,[esi+20h] test eax,eax jz L00403922 mov eax,[esi] call [eax+14h] L00403922: movsx ecx,[esi+28h] push ebx push ebp movsx ebx,[esi+24h] push edi mov eax,ebx movsx edi,[esi+26h] mov [esi+34h],ecx sub eax,edi lea edx,[ebx+edi] mov ecx,esi mov [esi+30h],edx mov edx,[L00C83A54] add eax,edx mov edx,[esi] mov [esi+2Ch],eax call [edx+30h] test eax,eax jz L00403964 mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00403964: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ebp,[L00516754+edi*4] mov edi,[L00516754+edi*4] test edi,edi jz L004039CA L00403983: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L004039AE jnz L004039A5 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L004039A5 mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L004039AE L004039A5: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L00403983 L004039AE: test ebx,ebx jz L004039CA mov [esi+1Ch],ebx mov eax,[ebx+18h] mov [esi+18h],eax mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L004039E1 mov [eax+1Ch],esi jmp L004039E1 L004039CA: mov eax,[ebp+00h] test eax,eax mov [esi+18h],eax jz L004039D7 mov [eax+1Ch],esi L004039D7: mov [ebp+00h],esi mov dword ptr [esi+1Ch],00000000h L004039E1: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] pop edi pop ebp test eax,eax pop ebx jnz L00403A3F mov eax,[esi+20h] test eax,eax jz L00403A3F mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+08h],ecx mov ecx,[esi+08h] mov [esp+10h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+04h] mov [esp+04h],ecx push eax mov [esp+10h],edx call SUB_L0040BD80 add esp,00000004h L00403A3F: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00403A50: sub esp,00000010h push esi mov esi,ecx mov eax,[esi+20h] test eax,eax jz L00403A62 mov eax,[esi] call [eax+14h] L00403A62: movsx ecx,[esi+28h] push ebx push ebp movsx ebx,[esi+24h] push edi dec ecx movsx edi,[esi+26h] mov eax,ebx mov [esi+34h],ecx lea edx,[ebx+edi] sub eax,edi mov [esi+30h],edx mov edx,[L00C83A54] add eax,edx mov edx,[esi] mov ecx,esi mov [esi+2Ch],eax call [edx+30h] test eax,eax jz L00403AA5 mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00403AA5: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ebp,[L00516754+edi*4] mov edi,[L00516754+edi*4] test edi,edi jz L00403B0B L00403AC4: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L00403AEF jnz L00403AE6 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00403AE6 mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L00403AEF L00403AE6: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L00403AC4 L00403AEF: test ebx,ebx jz L00403B0B mov [esi+1Ch],ebx mov eax,[ebx+18h] mov [esi+18h],eax mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L00403B22 mov [eax+1Ch],esi jmp L00403B22 L00403B0B: mov eax,[ebp+00h] test eax,eax mov [esi+18h],eax jz L00403B18 mov [eax+1Ch],esi L00403B18: mov [ebp+00h],esi mov dword ptr [esi+1Ch],00000000h L00403B22: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] pop edi pop ebp test eax,eax pop ebx jnz L00403B80 mov eax,[esi+20h] test eax,eax jz L00403B80 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+08h],ecx mov ecx,[esi+08h] mov [esp+10h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+04h] mov [esp+04h],ecx push eax mov [esp+10h],edx call SUB_L0040BD80 add esp,00000004h L00403B80: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00403B90: sub esp,00000010h push esi mov esi,ecx mov eax,[esi+20h] test eax,eax jz L00403BA2 mov eax,[esi] call [eax+14h] L00403BA2: mov edx,[esi] push ebx push ebp push edi mov ecx,esi call [edx+44h] movsx edi,[esi+26h] movsx ebx,[esi+24h] movsx eax,ax dec eax lea ecx,[ebx+edi] mov edx,ebx mov [esi+34h],eax mov eax,[esi] mov [esi+30h],ecx mov ebp,[L00C83A54] sub edx,edi add edx,ebp mov ecx,esi mov [esi+2Ch],edx call [eax+30h] test eax,eax jz L00403BEB mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00403BEB: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ebp,[L00516754+edi*4] mov edi,[L00516754+edi*4] test edi,edi jz L00403C51 L00403C0A: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L00403C35 jnz L00403C2C mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00403C2C mov eax,[edi] mov ecx,edi call [eax+1Ch] test eax,eax jz L00403C35 L00403C2C: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L00403C0A L00403C35: test ebx,ebx jz L00403C51 mov [esi+1Ch],ebx mov ecx,[ebx+18h] mov [esi+18h],ecx mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L00403C68 mov [eax+1Ch],esi jmp L00403C68 L00403C51: mov eax,[ebp+00h] test eax,eax mov [esi+18h],eax jz L00403C5E mov [eax+1Ch],esi L00403C5E: mov [ebp+00h],esi mov dword ptr [esi+1Ch],00000000h L00403C68: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] pop edi pop ebp test eax,eax pop ebx jnz L00403CC6 mov eax,[esi+20h] test eax,eax jz L00403CC6 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+08h],ecx mov ecx,[esi+08h] mov [esp+10h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+04h] mov [esp+04h],ecx push eax mov [esp+10h],edx call SUB_L0040BD80 add esp,00000004h L00403CC6: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00403CD0: sub esp,00000010h push esi mov esi,ecx mov eax,[esi+20h] test eax,eax jz L00403CE2 mov eax,[esi] call [eax+14h] L00403CE2: movsx ecx,[esi+28h] movsx eax,[esi+24h] mov [esi+34h],ecx movsx ecx,[esi+26h] lea edx,[eax+ecx] sub eax,ecx mov [esi+30h],edx mov edx,[L00C83A54] add eax,edx mov ecx,esi mov [esi+2Ch],eax mov eax,[esi] call [eax+40h] test al,01h jz L00403D12 dec [esi+34h] L00403D12: mov edx,[esi] mov ecx,esi call [edx+70h] test eax,eax jle L00403D20 inc [esi+34h] L00403D20: mov eax,[esi] push ebx movsx ebx,[esi+24h] push ebp push edi movsx edi,[esi+26h] mov ecx,esi call [eax+30h] test eax,eax jz L00403D46 mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00403D46: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ebp,[L00516754+edi*4] mov edi,[L00516754+edi*4] test edi,edi jz L00403DAC L00403D65: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L00403D90 jnz L00403D87 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00403D87 mov eax,[edi] mov ecx,edi call [eax+1Ch] test eax,eax jz L00403D90 L00403D87: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L00403D65 L00403D90: test ebx,ebx jz L00403DAC mov [esi+1Ch],ebx mov ecx,[ebx+18h] mov [esi+18h],ecx mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L00403DC3 mov [eax+1Ch],esi jmp L00403DC3 L00403DAC: mov eax,[ebp+00h] test eax,eax mov [esi+18h],eax jz L00403DB9 mov [eax+1Ch],esi L00403DB9: mov [ebp+00h],esi mov dword ptr [esi+1Ch],00000000h L00403DC3: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] pop edi pop ebp test eax,eax pop ebx jnz L00403E21 mov eax,[esi+20h] test eax,eax jz L00403E21 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+08h],ecx mov ecx,[esi+08h] mov [esp+10h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+04h] mov [esp+04h],ecx push eax mov [esp+10h],edx call SUB_L0040BD80 add esp,00000004h L00403E21: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00403E30: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0B5B push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp mov ebp,ecx push esi mov eax,[ebp+20h] test eax,eax jz L00403E5A mov eax,[ebp+00h] call [eax+14h] L00403E5A: movsx ecx,[ebp+28h] movsx eax,[ebp+26h] inc ecx mov [esp+0Ch],eax mov [ebp+34h],ecx movsx ecx,[ebp+24h] mov [esp+10h],ecx lea edx,[ecx+eax] mov [ebp+30h],edx mov ebx,[L00C83A54] mov edx,ecx lea ecx,[esp+10h] sub edx,eax lea eax,[esp+0Ch] push eax add edx,ebx push ecx mov ecx,ebp mov [ebp+2Ch],edx call SUB_L00403800 mov eax,[ebp+14h] mov ecx,[ebp+000000B8h] cmp eax,ecx jle L00404053 mov esi,ecx mov ebx,00000001h cmp esi,eax mov [esp+18h],esi mov [esp+14h],ebx jge L00404053 push edi lea edi,[esi+2Ch] mov [esp+20h],edi jmp L00403ED6 L00403ECA: mov ebx,[esp+18h] mov esi,[esp+1Ch] mov edi,[esp+20h] L00403ED6: push 00000058h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+40h],00000000h jz L00403F13 mov edx,[ebp+14h] cmp edi,edx jg L00403EF9 mov edx,edi L00403EF9: push ebp push edx mov edx,[esp+18h] push esi lea ecx,[ebx+edx] mov edx,[esp+20h] push ecx lea ecx,[ebx+edx] push ecx mov ecx,eax call SUB_L00416640 L00403F13: mov edx,[esp+10h] mov esi,[ebp+000000B4h] mov eax,[esp+14h] mov ecx,esi lea edi,[ebx+edx] mov edx,[esi] add ebx,eax mov dword ptr [esp+40h],FFFFFFFFh and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L00403F4F mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L00403F4F: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ecx,[L00516754+edi*4] mov [esp+24h],ecx mov edi,[ecx] test edi,edi jz L00403FB8 L00403F6D: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L00403F98 jnz L00403F8F mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00403F8F mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L00403F98 L00403F8F: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L00403F6D L00403F98: test ebx,ebx jz L00403FB4 mov [esi+1Ch],ebx mov eax,[ebx+18h] mov [esi+18h],eax mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L00403FCD mov [eax+1Ch],esi jmp L00403FCD L00403FB4: mov ecx,[esp+24h] L00403FB8: mov eax,[ecx] test eax,eax mov [esi+18h],eax jz L00403FC4 mov [eax+1Ch],esi L00403FC4: mov [ecx],esi mov dword ptr [esi+1Ch],00000000h L00403FCD: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00404028 mov eax,[esi+20h] test eax,eax jz L00404028 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+2Ch],ecx mov ecx,[esi+08h] mov [esp+34h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+28h] mov [esp+28h],ecx push eax mov [esp+34h],edx call SUB_L0040BD80 add esp,00000004h L00404028: mov eax,[esp+1Ch] mov edi,[esp+18h] mov edx,[esp+20h] mov ecx,[ebp+14h] add eax,0000002Ch inc edi add edx,0000002Ch cmp eax,ecx mov [esp+18h],edi mov [esp+1Ch],eax mov [esp+20h],edx jl L00403ECA pop edi L00404053: mov ecx,[esp+34h] pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 16 L00404070: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0B7B push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp mov ebp,ecx push esi mov eax,[ebp+20h] test eax,eax jz L0040409A mov eax,[ebp+00h] call [eax+14h] L0040409A: movsx ecx,[ebp+28h] movsx eax,[ebp+24h] mov [ebp+34h],ecx movsx ecx,[ebp+26h] lea edx,[eax+ecx] sub eax,ecx mov [ebp+30h],edx mov edx,[L00C83A54] add eax,edx mov ecx,ebp mov [ebp+2Ch],eax mov eax,[ebp+00h] call [eax+70h] test eax,eax jle L004040CB inc [ebp+34h] L004040CB: movsx ecx,[ebp+24h] movsx edx,[ebp+26h] mov eax,[ebp+00000140h] mov [esp+10h],ecx test eax,eax mov [esp+0Ch],edx jz CASE_004042F0_PROC0002 xor eax,eax mov al,[ebp+72h] cmp eax,00000007h ja CASE_004042F0_PROC0002 jmp [CASE_PROCTABLE_004042F0+eax*4] CASE_004042F0_PROC0005: inc [esp+10h] jmp CASE_004042F0_PROC0002 CASE_004042F0_PROC0007: inc [esp+10h] CASE_004042F0_PROC0000: inc [esp+0Ch] CASE_004042F0_PROC0002: lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,ebp call SUB_L00403800 cmp word ptr [ebp+3Ch],0190h jnc L004042D2 mov eax,[ebp+14h] mov esi,[ebp+000000B8h] cmp esi,eax jge L004042D2 push edi mov ebx,00000001h lea edi,[esi+2Ch] mov [esp+1Ch],esi mov [esp+18h],ebx mov [esp+20h],edi jmp L00404155 L00404149: mov ebx,[esp+18h] mov esi,[esp+1Ch] mov edi,[esp+20h] L00404155: push 00000058h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+40h],00000000h jz L00404192 mov edx,[ebp+14h] cmp edi,edx jg L00404178 mov edx,edi L00404178: push ebp push edx mov edx,[esp+18h] push esi lea ecx,[ebx+edx] mov edx,[esp+20h] push ecx lea ecx,[ebx+edx] push ecx mov ecx,eax call SUB_L00416640 L00404192: mov edx,[esp+10h] mov esi,[ebp+000000B4h] mov eax,[esp+14h] mov ecx,esi lea edi,[ebx+edx] mov edx,[esi] add ebx,eax mov dword ptr [esp+40h],FFFFFFFFh and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L004041CE mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L004041CE: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ecx,[L00516754+edi*4] mov [esp+24h],ecx mov edi,[ecx] test edi,edi jz L00404237 L004041EC: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L00404217 jnz L0040420E mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0040420E mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L00404217 L0040420E: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L004041EC L00404217: test ebx,ebx jz L00404233 mov [esi+1Ch],ebx mov eax,[ebx+18h] mov [esi+18h],eax mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L0040424C mov [eax+1Ch],esi jmp L0040424C L00404233: mov ecx,[esp+24h] L00404237: mov eax,[ecx] test eax,eax mov [esi+18h],eax jz L00404243 mov [eax+1Ch],esi L00404243: mov [ecx],esi mov dword ptr [esi+1Ch],00000000h L0040424C: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L004042A7 mov eax,[esi+20h] test eax,eax jz L004042A7 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+2Ch],ecx mov ecx,[esi+08h] mov [esp+34h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+28h] mov [esp+28h],ecx push eax mov [esp+34h],edx call SUB_L0040BD80 add esp,00000004h L004042A7: mov eax,[esp+1Ch] mov edi,[esp+18h] mov edx,[esp+20h] mov ecx,[ebp+14h] add eax,0000002Ch inc edi add edx,0000002Ch cmp eax,ecx mov [esp+18h],edi mov [esp+1Ch],eax mov [esp+20h],edx jl L00404149 pop edi L004042D2: mov edx,[ebp+00h] mov ecx,ebp call [edx+0000009Ch] mov ecx,[esp+34h] pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004042F0: dd CASE_004042F0_PROC0000 dd CASE_004042F0_PROC0000 dd CASE_004042F0_PROC0002 dd CASE_004042F0_PROC0002 dd CASE_004042F0_PROC0002 dd CASE_004042F0_PROC0005 dd CASE_004042F0_PROC0005 dd CASE_004042F0_PROC0007 L00404310: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0B9B push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp mov ebp,ecx push esi mov eax,[ebp+20h] test eax,eax jz L0040433A mov eax,[ebp+00h] call [eax+14h] L0040433A: movsx ecx,[ebp+28h] movsx eax,[ebp+24h] mov [ebp+34h],ecx movsx ecx,[ebp+26h] lea edx,[eax+ecx] sub eax,ecx mov [ebp+30h],edx mov edx,[L00C83A54] add eax,edx mov ecx,ebp mov [ebp+2Ch],eax mov eax,[ebp+00h] call [eax+70h] test eax,eax jle L0040436B inc [ebp+34h] L0040436B: movsx ecx,[ebp+24h] movsx edx,[ebp+26h] mov eax,[L00C85360] mov [esp+10h],ecx test eax,eax mov [esp+0Ch],edx jz L004043A4 xor eax,eax mov al,[ebp+72h] dec eax cmp eax,00000004h ja L004043A4 jmp [CASE_PROCTABLE_00404590+eax*4] CASE_00404590_PROC0000: inc [esp+10h] jmp L004043A4 CASE_00404590_PROC0002: inc [esp+10h] CASE_00404590_PROC0003: inc [esp+0Ch] L004043A4: lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,ebp call SUB_L00403800 cmp word ptr [ebp+3Ch],0190h jnc L00404572 mov eax,[ebp+14h] mov esi,[ebp+000000B8h] cmp esi,eax jge L00404572 push edi mov ebx,00000001h lea edi,[esi+2Ch] mov [esp+1Ch],esi mov [esp+18h],ebx mov [esp+20h],edi jmp L004043F5 L004043E9: mov ebx,[esp+18h] mov esi,[esp+1Ch] mov edi,[esp+20h] L004043F5: push 00000058h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+40h],00000000h jz L00404432 mov edx,[ebp+14h] cmp edi,edx jg L00404418 mov edx,edi L00404418: push ebp push edx mov edx,[esp+18h] push esi lea ecx,[ebx+edx] mov edx,[esp+20h] push ecx lea ecx,[ebx+edx] push ecx mov ecx,eax call SUB_L00416640 L00404432: mov edx,[esp+10h] mov esi,[ebp+000000B4h] mov eax,[esp+14h] mov ecx,esi lea edi,[ebx+edx] mov edx,[esi] add ebx,eax mov dword ptr [esp+40h],FFFFFFFFh and edi,0000003Fh and ebx,0000003Fh call [edx+30h] test eax,eax jz L0040446E mov eax,[esi+000000BCh] add ebx,eax sub edi,eax and ebx,0000003Fh and edi,0000003Fh L0040446E: and edi,0000003Fh and ebx,0000003Fh shl edi,06h add edi,ebx xor ebx,ebx lea ecx,[L00516754+edi*4] mov [esp+24h],ecx mov edi,[ecx] test edi,edi jz L004044D7 L0040448C: mov eax,[edi+34h] mov ecx,[esi+34h] cmp eax,ecx jg L004044B7 jnz L004044AE mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L004044AE mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L004044B7 L004044AE: mov ebx,edi mov edi,[edi+18h] test edi,edi jnz L0040448C L004044B7: test ebx,ebx jz L004044D3 mov [esi+1Ch],ebx mov eax,[ebx+18h] mov [esi+18h],eax mov [ebx+18h],esi mov eax,[esi+18h] test eax,eax jz L004044EC mov [eax+1Ch],esi jmp L004044EC L004044D3: mov ecx,[esp+24h] L004044D7: mov eax,[ecx] test eax,eax mov [esi+18h],eax jz L004044E3 mov [eax+1Ch],esi L004044E3: mov [ecx],esi mov dword ptr [esi+1Ch],00000000h L004044EC: mov edx,[esi] mov ecx,esi mov dword ptr [esi+20h],00000001h call [edx+0Ch] mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00404547 mov eax,[esi+20h] test eax,eax jz L00404547 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+2Ch],ecx mov ecx,[esi+08h] mov [esp+34h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+28h] mov [esp+28h],ecx push eax mov [esp+34h],edx call SUB_L0040BD80 add esp,00000004h L00404547: mov eax,[esp+1Ch] mov edi,[esp+18h] mov edx,[esp+20h] mov ecx,[ebp+14h] add eax,0000002Ch inc edi add edx,0000002Ch cmp eax,ecx mov [esp+18h],edi mov [esp+1Ch],eax mov [esp+20h],edx jl L004043E9 pop edi L00404572: mov edx,[ebp+00h] mov ecx,ebp call [edx+0000009Ch] mov ecx,[esp+34h] pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00404590: dd CASE_00404590_PROC0000 dd CASE_00404590_PROC0000 dd CASE_00404590_PROC0002 dd CASE_00404590_PROC0003 dd CASE_00404590_PROC0003 Align 16 SUB_L004045B0: mov eax,[ecx+20h] sub esp,00000010h test eax,eax jz L004045F5 mov edx,[ecx+0Ch] mov eax,[L0051A75C] sub edx,eax mov [esp+04h],edx mov edx,[ecx+14h] sub edx,eax mov eax,[L0051A760] mov [esp+0Ch],edx mov edx,[ecx+08h] mov ecx,[ecx+10h] sub edx,eax mov [esp+00h],edx lea edx,[esp+00h] sub ecx,eax push edx mov [esp+0Ch],ecx call SUB_L0040BD80 add esp,00000004h L004045F5: add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00404600: push ebx mov ebx,ecx mov eax,[ebx+20h] test eax,eax jz L00404653 push esi push edi lea esi,[ebx+000000C8h] mov edi,0000001Ah L00404617: mov eax,[esi] test eax,eax jz L0040462D mov cl,[eax+71h] test cl,cl jz L0040462D push eax call SUB_L0040B3C0 add esp,00000004h L0040462D: add esi,00000004h dec edi jnz L00404617 mov al,[L00C8C495] pop edi test al,al pop esi jz L00404653 cmp ebx,[L00C884DC] jnz L00404653 push L00515700 call SUB_L0040BD80 add esp,00000004h L00404653: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00404660: push ebx mov ebx,[esp+0Ch] push edi mov edi,[esp+14h] mov eax,edi mov ecx,ebx and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov cl,[eax+L0051574C] test cl,cl jz L0040468A mov eax,[esp+0Ch] pop edi pop ebx retn ;------------------------------------------------------------------------------ L0040468A: push ebp push esi mov esi,[L00516754+eax*4] mov byte ptr [eax+L0051574C],01h test esi,esi jz L0040474A mov ebp,[esp+20h] L004046A6: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L004046EB mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L004046EB movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] test dword ptr [eax+edx*8],10000000h jz L004046EB movsx ecx,[esi+28h] mov eax,ebp sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000006h jle L004046FB L004046EB: mov esi,[esi+18h] test esi,esi jnz L004046A6 mov eax,[esp+14h] pop esi pop ebp pop edi pop ebx retn ;------------------------------------------------------------------------------ L004046FB: movsx eax,[esi+28h] mov ecx,[esp+14h] cmp eax,ecx jge L00404709 mov ecx,eax L00404709: push eax lea edx,[ebx-01h] push edi push edx push ecx call SUB_L00404660 movsx ecx,[esi+28h] push ecx lea edx,[ebx+01h] push edi push edx push eax call SUB_L00404660 movsx ecx,[esi+28h] lea edx,[edi-01h] push ecx push edx push ebx push eax call SUB_L00404660 movsx ecx,[esi+28h] inc edi push ecx push edi push ebx push eax call SUB_L00404660 add esp,00000040h mov [esp+14h],eax L0040474A: mov eax,[esp+14h] pop esi pop ebp pop edi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00404760: sub esp,00000018h mov eax,[L0051C77C] mov ecx,[L0051C780] mov [esp+00h],eax mov eax,0000007Fh mov [L0051C780],eax mov [L0051C77C],eax mov eax,[L00C884DC] mov [esp+04h],ecx mov ecx,[eax+20h] test ecx,ecx jz L00404978 push ebx push ebp movsx ebx,[eax+26h] movsx ebp,[eax+28h] push esi push edi movsx edi,[eax+24h] mov edx,ebx mov eax,edi and edx,0000003Fh and eax,0000003Fh shl edx,06h add edx,eax mov esi,[L00516754+edx*4] test esi,esi jz L00404813 L004047BF: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L0040480C movsx eax,[esi+28h] cmp eax,[L0051C77C] jge L0040480C lea ecx,[ebp+0Eh] cmp eax,ecx jle L0040480C mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L0040480C mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020004h jnz L0040480C test eax,10000000h jz L00404802 test ah,02h jz L0040480C L00404802: movsx ecx,[esi+28h] mov [L0051C77C],ecx L0040480C: mov esi,[esi+18h] test esi,esi jnz L004047BF L00404813: inc ebx mov edx,[L0051C77C] and ebx,0000003Fh mov [L0051C780],edx shl ebx,06h inc edi and edi,0000003Fh add ebx,edi mov esi,[L00516754+ebx*4] test esi,esi jz L004048C1 L0040483B: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L004048B4 movsx eax,[esi+28h] cmp eax,[L0051C77C] jge L004048B4 lea ecx,[ebp+0Eh] cmp eax,ecx jle L004048B4 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L004048B4 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00000204h jnz L004048B4 test eax,10000000h jz L004048B4 movsx edx,[esi+28h] mov ecx,00000400h xor eax,eax mov edi,L0051574C mov [L0051C77C],edx rep stosd mov [L0051C780],edx movsx ecx,[esi+28h] movsx eax,[esi+26h] push ecx push eax movsx ecx,[esi+24h] push ecx push edx call SUB_L00404660 add esp,00000010h mov [L0051C780],eax L004048B4: mov esi,[esi+18h] test esi,esi jnz L0040483B mov edx,[L0051C780] L004048C1: mov esi,[L00C884F8] mov dword ptr [L0051C764],00000001h test esi,esi jz L00404939 L004048D5: mov eax,[esi+20h] test eax,eax jz L0040492C mov edx,[esi] mov edi,[esi+74h] mov ecx,esi call [edx+3Ch] cmp edi,eax jz L0040492C mov eax,[esi+20h] test eax,eax jz L0040492C mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+1Ch],ecx mov ecx,[esi+08h] mov [esp+24h],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+18h] mov [esp+18h],ecx push eax mov [esp+24h],edx call SUB_L0040BD80 add esp,00000004h L0040492C: mov esi,[esi+5Ch] test esi,esi jnz L004048D5 mov edx,[L0051C780] L00404939: mov eax,[L00C884DC] mov ecx,edx mov dword ptr [L0051C764],00000000h mov [L0051C77C],ecx movsx eax,[eax+28h] add eax,00000010h pop edi pop esi pop ebp cmp edx,eax pop ebx jge L00404967 mov ecx,eax mov [L0051C77C],ecx L00404967: cmp [esp+00h],ecx jnz L00404973 cmp [esp+04h],edx jz L00404978 L00404973: call SUB_L0040C940 L00404978: add esp,00000018h retn ;------------------------------------------------------------------------------ Align 8 L00404980: mov eax,[ecx+20h] test eax,eax jnz L0040498D mov eax,00000001h retn ;------------------------------------------------------------------------------ L0040498D: mov eax,[L0051C774] test eax,eax jz L004049A8 movsx eax,[ecx+28h] cmp eax,[L0051C778] jle L004049A8 mov eax,00000001h retn ;------------------------------------------------------------------------------ L004049A8: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L004049B0: mov eax,[ecx+20h] test eax,eax jnz L004049BD mov eax,00000001h retn ;------------------------------------------------------------------------------ L004049BD: mov eax,[L0051C774] test eax,eax jz L004049E9 mov eax,[ecx+68h] movsx edx,[eax+ecx+70h] mov eax,[L0051C778] cmp edx,eax jle L004049E9 mov edx,[ecx+6Ch] movsx ecx,[edx+ecx+70h] cmp ecx,eax jle L004049E9 mov eax,00000001h retn ;------------------------------------------------------------------------------ L004049E9: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 L004049F0: push ecx push ebx mov ebx,ecx push ebp push esi mov eax,[ebx+20h] push edi test eax,eax jz L00404C2F mov eax,[L00C884DC] test eax,eax jz L00404C2F mov eax,[ebx] call [eax+40h] mov edi,eax mov eax,[L0051C774] test eax,eax jz L00404A61 mov esi,[ebx+1Ch] test esi,esi jz L00404A48 L00404A26: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L00404A41 movsx eax,[esi+28h] cmp eax,[L0051C778] jge L00404C2F L00404A41: mov esi,[esi+1Ch] test esi,esi jnz L00404A26 L00404A48: mov eax,[L0051C774] test eax,eax jz L00404A61 movsx ecx,[ebx+28h] cmp ecx,[L0051C778] jge L00404C2F L00404A61: mov eax,[L0051C77C] test edi,10000000h jz L00404A77 cmp eax,0000007Fh jnz L00404C2F L00404A77: movsx edx,[ebx+28h] cmp edx,eax jge L00404C2F test edi,00010000h jz L00404A98 call SUB_L004BCED0 test eax,eax jz L00404C2F L00404A98: test edi,00020000h jz L00404BD4 mov eax,[L0051C764] test eax,eax jnz L00404AB6 mov eax,[ebx+74h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00404AB6: mov dword ptr [ebx+74h],00000000h mov eax,[L004FBAF0] xor edi,edi test eax,eax mov [esp+10h],edi jz L00404AF1 xor edx,edx mov ecx,L004FBAF0 mov dx,[ebx+3Ch] L00404AD7: cmp edx,eax jl L00404AE0 cmp edx,[ecx+04h] jle L00404AED L00404AE0: mov eax,[ecx+08h] add ecx,00000008h add edi,00000002h test eax,eax jnz L00404AD7 L00404AED: mov [esp+10h],edi L00404AF1: mov eax,[L004FBAF0+edi*4] test eax,eax jz L00404BDC mov esi,[L00C884F8] test esi,esi jz L00404BD4 mov ecx,[L00C884DC] L00404B14: mov eax,[esi+20h] test eax,eax jz L00404BC9 mov edx,[L004FBAF0+edi*4] xor eax,eax mov ax,[esi+3Ch] cmp eax,edx jl L00404BC9 cmp eax,[L004FBAF4+edi*4] jg L00404BC9 mov eax,[ecx+10h] mov edx,[esi+08h] cmp eax,edx jle L00404BC9 mov edx,[ecx+08h] mov eax,[esi+10h] cmp edx,eax jge L00404BC9 mov eax,[ecx+14h] mov edx,[esi+0Ch] cmp eax,edx jle L00404BC9 mov edx,[ecx+0Ch] mov eax,[esi+14h] cmp edx,eax jge L00404BC9 lea ebp,[ebx+24h] lea edi,[esi+24h] push ebp push edi call SUB_L00474F20 mov ecx,eax xor eax,eax mov ax,[ebx+3Ch] xor edx,edx mov dx,[esi+3Ch] add esp,00000008h sub eax,edx cdq xor eax,edx sub eax,edx cmp ecx,eax jnz L00404BBF movsx eax,[esi+26h] movsx ecx,[edi] add eax,ecx mov ecx,[L00C884DC] movsx edx,[ecx+26h] movsx edi,[ecx+24h] add edx,edi cmp edx,eax jge L00404BC5 movsx edx,[ebx+26h] movsx edi,[ebp+00h] add edx,edi cmp eax,edx jz L00404C21 jmp L00404BC5 L00404BBF: mov ecx,[L00C884DC] L00404BC5: mov edi,[esp+10h] L00404BC9: mov esi,[esi+5Ch] test esi,esi jnz L00404B14 L00404BD4: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00404BDC: mov eax,[L00C884DC] mov edx,[ebx+08h] mov ecx,[eax+10h] cmp ecx,edx jle L00404BD4 mov edx,[eax+08h] mov ecx,[ebx+10h] cmp edx,ecx jge L00404BD4 mov ecx,[eax+14h] mov edx,[ebx+0Ch] cmp ecx,edx jle L00404BD4 mov edx,[eax+0Ch] mov ecx,[ebx+14h] cmp edx,ecx jge L00404BD4 movsx ecx,[eax+26h] movsx edx,[eax+24h] movsx eax,[ebx+26h] add ecx,edx movsx edx,[ebx+24h] add eax,edx cmp ecx,eax jge L00404BD4 L00404C21: mov eax,00000001h pop edi pop esi mov [ebx+74h],eax pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00404C2F: pop edi pop esi pop ebp mov eax,00000001h pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 L00404C40: sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+20h] test eax,eax jnz L00404C5D pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404C5D: movsx eax,[esi+28h] cmp eax,[L0051C77C] jl L00404C76 L00404C69: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404C76: mov eax,[L0051C774] test eax,eax jz L00404CA4 mov edi,[esi+1Ch] test edi,edi jz L00404CA4 L00404C86: mov edx,[edi] mov ecx,edi call [edx+1Ch] test eax,eax jz L00404C9D movsx eax,[edi+28h] cmp eax,[L0051C778] jg L00404C69 L00404C9D: mov edi,[edi+1Ch] test edi,edi jnz L00404C86 L00404CA4: movsx ebp,[esi+24h] movsx edi,[esi+26h] movsx ebx,[esi+28h] mov [esp+14h],edi mov eax,ebp and edi,0000003Fh and eax,0000003Fh shl edi,06h mov [esp+18h],eax add eax,edi add ebx,00000014h mov [esp+1Ch],ebp mov esi,[L00516754+eax*4] mov [esp+10h],ebx test esi,esi jz L00404EEB L00404CDF: movsx ecx,[esi+28h] cmp ecx,ebx jl L00404D21 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00404D21 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L00404D21 mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L00404D21 mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00404D21 mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L00404D32 L00404D21: mov esi,[esi+18h] test esi,esi jnz L00404CDF pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404D32: mov eax,[esp+14h] lea ebx,[eax+01h] and ebx,0000003Fh shl ebx,06h inc ebp and ebp,0000003Fh lea ecx,[ebx+ebp] mov esi,[L00516754+ecx*4] test esi,esi jz L00404EEB L00404D55: movsx edx,[esi+28h] cmp edx,[esp+10h] jl L00404D99 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L00404D99 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00404D99 mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L00404D99 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00404D99 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,10000200h jnz L00404DAA L00404D99: mov esi,[esi+18h] test esi,esi jnz L00404D55 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404DAA: add ebp,edi mov esi,[L00516754+ebp*4] test esi,esi jz L00404EEB L00404DBB: movsx ecx,[esi+28h] mov edi,[esp+10h] cmp ecx,edi jl L00404E01 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00404E01 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L00404E01 mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L00404E01 mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00404E01 mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L00404E12 L00404E01: mov esi,[esi+18h] test esi,esi jnz L00404DBB pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404E12: mov eax,[esp+18h] add ebx,eax mov esi,[L00516754+ebx*4] test esi,esi jz L00404EEB L00404E27: movsx ecx,[esi+28h] cmp ecx,edi jl L00404E69 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00404E69 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L00404E69 mov edx,[esi] mov ecx,esi call [edx+38h] test eax,eax jnz L00404E69 mov eax,[esi] mov ecx,esi call [eax+3Ch] test eax,eax jnz L00404E69 mov edx,[esi] mov ecx,esi call [edx+40h] test eax,10000200h jnz L00404E7A L00404E69: mov esi,[esi+18h] test esi,esi jnz L00404E27 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00404E7A: mov eax,[esp+14h] mov ecx,[esp+1Ch] add eax,00000002h add ecx,00000002h and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov esi,[L00516754+eax*4] test esi,esi jz L00404EEB L00404E9E: movsx edx,[esi+28h] cmp edx,edi jl L00404EE4 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L00404EE4 mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00404EE4 mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L00404EE4 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00404EE4 mov eax,[esi] mov ecx,esi call [eax+40h] test eax,10000200h jnz L00404C69 L00404EE4: mov esi,[esi+18h] test esi,esi jnz L00404E9E L00404EEB: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00404F00: mov edx,[ecx+20h] xor eax,eax test edx,edx setz al retn ;------------------------------------------------------------------------------ Align 8 L00404F10: push esi mov esi,ecx push edi mov eax,[esi] call [eax+78h] mov edi,eax mov eax,[L007050EC] test eax,eax jz L00404F3E mov ecx,esi call SUB_L0047FD20 test eax,eax jz L00404F3E push 00006127h call SUB_L004B9530 add esp,00000004h mov edi,eax L00404F3E: test edi,edi jz L00404F9E 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 L00404F5F add ecx,00000005h add edx,00000005h L00404F5F: movsx eax,[esi+28h] shl eax,02h mov edi,eax mov eax,[esi+30h] push ebx lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] pop ebx shl eax,1 sub eax,edi pop edi add eax,0000002Bh mov [esi+14h],eax sub eax,edx mov [esi+0Ch],eax mov eax,[esi+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,ecx shl eax,1 sar edx,1 sub eax,edx mov [esi+08h],eax add eax,ecx mov [esi+10h],eax pop esi retn ;------------------------------------------------------------------------------ L00404F9E: mov eax,[esi+30h] pop edi movsx ecx,[esi+28h] lea edx,[eax+eax*4] shl ecx,02h lea eax,[eax+edx*2] shl eax,1 sub eax,ecx mov [esi+0Ch],eax add eax,0000002Ch mov [esi+14h],eax mov eax,[esi+2Ch] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] shl eax,1 mov [esi+08h],eax add eax,0000002Ch mov [esi+10h],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00404FE0: sub esp,00000010h push ebx push esi mov esi,ecx xor eax,eax xor ebx,ebx mov ax,[esi+3Ch] mov [esp+14h],ebx cmp eax,00000001h jz L00405006 cmp eax,00002197h jle L00405013 cmp eax,000021A2h jg L00405013 L00405006: mov eax,[L0051C768] test eax,eax jz L004053A0 L00405013: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L0040502C test byte ptr [esi+0000009Ch],80h jz L0040502C mov ebx,00000001h L0040502C: mov edx,[esi] mov ecx,esi call [edx+78h] mov [esp+08h],eax mov eax,[L007050EC] test eax,eax jz L0040505C mov ecx,esi call SUB_L0047FD20 test eax,eax jz L0040505C push 00006127h call SUB_L004B9530 add esp,00000004h mov [esp+08h],eax L0040505C: mov eax,[esi] mov ecx,esi call [eax+7Ch] test ebx,ebx mov [esp+0Ch],eax jnz L0040507B mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] mov ebx,eax L0040507B: movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] test dword ptr [eax+edx*8],00010000h jz L004050A5 call SUB_L004BCED0 test eax,eax jz L004053A0 L004050A5: mov eax,[esp+08h] test eax,eax jnz L00405101 mov ecx,[esp+1Ch] mov edx,[esi+0Ch] test ebx,ebx mov ebx,[L0051A75C] push ecx jz L004050E0 mov eax,[esi+08h] mov esi,[L0051A760] sub edx,ebx sub eax,esi push edx push eax push 00000000h call SUB_L0040B7C0 add esp,00000010h pop esi pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L004050E0: mov eax,[esi+08h] mov esi,[L0051A760] sub edx,ebx sub eax,esi push edx push eax push 00000000h call SUB_L0040B660 add esp,00000010h pop esi pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L00405101: mov ax,[esi+42h] cmp ax,EA60h ja L004053A0 mov edx,[esp+1Ch] mov ecx,[esi+08h] push ebp mov ebp,[L0051A760] push edi mov edi,[edx] sub ecx,ebp cmp edi,ecx mov ecx,[L0051A75C] jg L0040515A mov edi,[esi+10h] sub edi,ebp cmp [edx+08h],edi jl L0040515A mov edi,[esi+0Ch] sub edi,ecx cmp [edx+04h],edi jg L0040515A mov edi,[esi+14h] sub edi,ecx cmp [edx+0Ch],edi jl L0040515A mov edx,[esp+14h] mov dword ptr [esp+18h],00000000h test edx,edx jz L00405162 L0040515A: mov dword ptr [esp+18h],00000001h L00405162: test ebx,ebx jz L00405186 and eax,0000FFFFh mov word ptr [esi+42h],03E3h mov ecx,[L0051A75C] mov ebp,[L0051A760] add eax,000001F4h mov [esp+1Ch],eax L00405186: mov edx,[L00B189F8] cmp esi,[edx+000000E0h] jnz L004051A0 mov dword ptr [L00CD8C24],00000035h jmp L004051AC L004051A0: xor eax,eax mov ax,[esi+42h] dec eax mov [L00CD8C24],eax L004051AC: movsx eax,[esi+3Eh] xor edi,edi mov di,[esi+3Ch] add eax,edi mov edi,[L00C88540] lea eax,[eax+eax*4] mov edi,[edi+eax*8] and edi,00060008h test ebx,ebx jz L004051D0 xor edi,edi L004051D0: mov ebx,[esi+08h] mov ax,[esi+42h] sub ebx,ebp mov ebp,[esi+0Ch] sub ebp,ecx test ax,ax ja L004051EB cmp esi,[edx+000000E0h] jnz L004051EE L004051EB: or edi,00000002h L004051EE: test ax,ax jnz L00405229 mov eax,[L007050F0] test eax,eax jz L00405229 mov ecx,esi call SUB_L0047FE60 test eax,eax jz L00405229 mov edi,00000010h L0040520C: sub edi,00000010h jz L004052D0 sub edi,0001FFF0h jz L00405259 sub edi,00000002h jnz L00405259 L00405222: mov edi,L004B9840 jmp L0040525E L00405229: cmp edi,00020008h ja L004052D7 jz L00405329 cmp edi,0000000Ah ja L0040520C jz L004052C9 sub edi,00000000h jz L00405259 sub edi,00000002h jz L00405222 sub edi,00000006h jz L004052FB L00405259: mov edi,SUB_L004B95C0 L0040525E: mov al,[L00C8C495] test al,al jz L0040533D cmp edi,L004B99F0 jz L0040533D push esi call SUB_L00401220 add esp,00000004h test eax,eax jz L0040533D mov ecx,[esp+24h] mov edx,[esp+10h] push ebp push ebx push ecx push edx push edi call SUB_L00401420 mov eax,[esp+28h] add esp,00000014h test eax,eax jz L0040538D mov eax,[esp+24h] mov ecx,[esp+10h] add ebp,00000005h add ebx,00000005h push ebp push ebx push eax push ecx push edi call SUB_L00401420 add esp,00000014h jmp L0040538D L004052C9: mov edi,L004B9A50 jmp L0040525E L004052D0: mov edi,L004B9890 jmp L0040525E L004052D7: cmp edi,0004000Ah ja L0040530F jz L00405305 sub edi,00040000h jz L00405259 sub edi,00000002h jz L00405333 sub edi,00000006h jnz L00405259 L004052FB: mov edi,L004B9990 jmp L0040525E L00405305: mov edi,L004B9AD0 jmp L0040525E L0040530F: sub edi,00060000h jz L00405259 sub edi,00000002h jz L00405333 sub edi,00000006h jnz L00405259 L00405329: mov edi,L004B99F0 jmp L0040525E L00405333: mov edi,L004B9920 jmp L0040525E L0040533D: mov eax,[esp+18h] push ebp test eax,eax push ebx jz L0040537F mov edx,[esp+2Ch] mov eax,[esp+18h] push edx push eax push edi call SUB_L004B9EA0 mov eax,[esp+28h] add esp,00000014h test eax,eax jz L0040538D mov ecx,[esp+24h] mov edx,[esp+10h] add ebp,00000005h add ebx,00000005h push ebp push ebx push ecx push edx push edi call SUB_L004B9EA0 add esp,00000014h jmp L0040538D L0040537F: mov eax,[esp+18h] push eax push edi call SUB_L004BA090 add esp,00000010h L0040538D: mov eax,[esp+1Ch] pop edi test eax,eax pop ebp jz L004053A0 add eax,FFFFFE0Ch mov [esi+42h],ax L004053A0: pop esi pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004053B0: push esi mov esi,ecx xor ecx,ecx push edi movsx eax,[esi+3Eh] mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] mov edi,[eax+edx*8] lea eax,[eax+edx*8] mov edx,[esp+0Ch] mov ecx,edi or ecx,00000008h push edx mov [eax],ecx mov ecx,esi call SUB_L00404FE0 movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] mov [eax+edx*8],edi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00405400: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] cmp si,0096h push edi jnc L004054C2 mov eax,[esp+40h] mov ecx,[eax+0000014Ch] test ecx,ecx jz L0040544B cmp si,000Dh jz L0040543F cmp si,000Fh jz L0040543F cmp si,0010h jz L0040543F mov ecx,00000001h mov eax,ecx jmp L004054A3 L0040543F: mov ecx,00000008h mov eax,00000006h jmp L004054A3 L0040544B: mov eax,[esp+34h] test eax,eax jz L0040549C cmp si,0004h jz L00405495 cmp si,0005h jz L00405495 cmp si,0006h jz L00405495 cmp si,0009h jz L00405495 cmp si,000Ah jz L00405495 cmp si,000Ch jz L00405495 cmp si,001Eh jz L00405495 cmp si,0027h jz L00405495 cmp si,003Bh jz L00405495 cmp si,003Ch jz L00405495 cmp si,003Dh jnz L0040549C L00405495: mov ecx,00000013h jmp L0040549E L0040549C: xor ecx,ecx L0040549E: mov eax,0000000Ah L004054A3: and esi,0000FFFFh mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],0000006Eh mov [esp+1Ch],esi jmp L0040583C L004054C2: cmp si,00C8h jnc L004054F2 mov ecx,[esp+40h] mov eax,[ecx+0000014Ch] test eax,eax jz L004054E3 mov ecx,00000002h mov eax,00000001h jmp L004054A3 L004054E3: mov eax,[esp+34h] test eax,eax jz L0040549C mov ecx,00000001h jmp L0040549E L004054F2: cmp si,0190h jnc L0040554E mov edx,[esp+40h] mov eax,[edx+0000014Ch] test eax,eax jz L00405513 mov ecx,00000002h mov eax,00000001h jmp L00405529 L00405513: mov eax,[esp+34h] test eax,eax jz L00405522 mov ecx,00000001h jmp L00405524 L00405522: xor ecx,ecx L00405524: mov eax,00000005h L00405529: and esi,0000FFFFh mov dword ptr [esp+14h],000055F0h sub esi,000000C8h mov dword ptr [esp+10h],00000041h mov [esp+1Ch],esi jmp L0040583C L0040554E: mov edi,[esp+40h] mov eax,esi and eax,0000FFFFh xor ebp,ebp sub eax,00000190h cmp word ptr [edi+3Ch],0190h mov dword ptr [esp+14h],000088B8h mov dword ptr [esp+10h],000000AFh mov [esp+1Ch],eax jc L0040558B mov eax,[edi+0000012Ch] test eax,eax jz L0040558B mov ebp,00000001h L0040558B: mov ecx,[edi+000000D0h] xor ebx,ebx test ecx,ecx jz L004055BE mov edx,[L00C88540] xor eax,eax mov ax,[ecx+3Ch] lea eax,[eax+eax*4] cmp [edx+eax*8+0Ch],si jnz L004055BE mov eax,[ecx] call [eax+40h] test eax,00800000h jz L004055BE mov ebx,00000001h L004055BE: mov eax,[edi+0000014Ch] test eax,eax jz L00405717 cmp si,023Eh jnz L004055DA xor ecx,ecx jmp L00405837 L004055DA: test ebp,ebp jz L00405600 test ebx,ebx jz L004055F1 mov ecx,0000001Ch mov eax,00000007h jmp L0040583C L004055F1: mov ecx,00000019h mov eax,00000001h jmp L0040583C L00405600: mov eax,[edi+00000154h] test eax,eax jz L004056FD mov edx,[edi] mov ecx,edi call [edx+00000098h] test eax,eax jnz L004056FD test ebx,ebx jz L0040562E mov ecx,00000002h jmp L00405837 L0040562E: mov eax,[edi+000000CCh] mov ebp,[L004FBB88] test eax,eax mov ecx,00000007h jz L00405696 xor edx,edx xor esi,esi mov dx,[eax+3Ch] lea eax,[edx+edx*4] mov edx,[L00C88540] mov si,[edx+eax*8+0Ch] mov eax,[L004FBB80] cmp esi,eax jl L00405696 cmp esi,[L004FBB84] jg L00405696 xor ebx,ebx test ebp,ebp jz L00405686 mov eax,ebp mov edx,L004FBB88 L00405677: cmp esi,eax jz L00405686 mov eax,[edx+04h] add edx,00000004h inc ebx test eax,eax jnz L00405677 L00405686: mov eax,[L004FBB88+ebx*4] test eax,eax jz L00405696 mov ecx,00000008h L00405696: mov edi,[edi+000000D0h] test edi,edi jz L004056F3 mov edx,[L00C88540] xor eax,eax mov ax,[edi+3Ch] xor esi,esi lea eax,[eax+eax*4] mov si,[edx+eax*8+0Ch] mov eax,[L004FBB80] cmp esi,eax jl L004056F3 cmp esi,[L004FBB84] jg L004056F3 xor edi,edi test ebp,ebp jz L004056E3 mov eax,ebp mov edx,L004FBB88 L004056D4: cmp esi,eax jz L004056E3 mov eax,[edx+04h] add edx,00000004h inc edi test eax,eax jnz L004056D4 L004056E3: mov eax,[L004FBB88+edi*4] test eax,eax jz L004056F3 mov ecx,00000008h L004056F3: mov eax,00000001h jmp L0040583C L004056FD: test ebx,ebx jz L00405708 xor ecx,ecx jmp L00405837 L00405708: mov ecx,00000004h mov eax,00000001h jmp L0040583C L00405717: mov eax,[esp+34h] test ebp,ebp jz L00405741 test eax,eax jnz L00405732 mov ecx,00000017h mov eax,00000005h jmp L0040583C L00405732: mov ecx,00000018h mov eax,00000005h jmp L0040583C L00405741: test eax,eax jz L004057B7 mov edi,[edi+000000D0h] mov ecx,00000002h test edi,edi jz L00405837 mov edx,[L00C88540] xor eax,eax mov ax,[edi+3Ch] xor esi,esi lea eax,[eax+eax*4] mov si,[edx+eax*8+0Ch] mov eax,[L004FBBD8] cmp esi,eax jl L004057AD cmp esi,[L004FBBDC] jg L004057AD mov eax,[L004FBBE0] xor edi,edi test eax,eax jz L0040579E mov edx,L004FBBE0 L0040578F: cmp esi,eax jz L0040579E mov eax,[edx+04h] add edx,00000004h inc edi test eax,eax jnz L0040578F L0040579E: mov eax,[L004FBBE0+edi*4] test eax,eax jnz L00405837 L004057AD: mov ecx,00000003h jmp L00405837 L004057B7: mov eax,[edi+00000154h] test eax,eax jz L004057D6 mov eax,[edi] mov ecx,edi call [eax+00000098h] test eax,eax jnz L004057D6 mov ecx,0000000Fh jmp L00405837 L004057D6: mov edi,[edi+000000D0h] xor ecx,ecx test edi,edi jz L00405837 xor eax,eax xor esi,esi mov ax,[edi+3Ch] lea edx,[eax+eax*4] mov eax,[L00C88540] mov si,[eax+edx*8+0Ch] mov eax,[L004FBBD8] cmp esi,eax jl L00405832 cmp esi,[L004FBBDC] jg L00405832 mov eax,[L004FBBE0] xor edi,edi test eax,eax jz L00405827 mov edx,L004FBBE0 L00405818: cmp esi,eax jz L00405827 mov eax,[edx+04h] add edx,00000004h inc edi test eax,eax jnz L00405818 L00405827: mov eax,[L004FBBE0+edi*4] test eax,eax jnz L00405837 L00405832: mov ecx,00000001h L00405837: mov eax,0000000Ah L0040583C: mov edx,[esp+28h] cmp edx,FFFFFFFFh jnz L0040589E mov edx,[esp+1Ch] mov esi,[esp+20h] imul edx,[esp+10h] and esi,00000007h mov esi,[L004FBB40+esi*4] add esi,edx lea edx,[ecx+ecx*4] mov ecx,[esp+14h] add ecx,esi add edx,ecx mov ecx,[esp+38h] cmp eax,00000001h mov [ecx],edx jnz L00405886 mov edx,[esp+3Ch] pop edi pop esi pop ebp mov dword ptr [edx],00000000h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00405886: lea ecx,[eax-01h] mov eax,[esp+24h] cdq idiv ecx mov eax,[esp+3Ch] pop edi pop esi pop ebp pop ebx mov [eax],edx add esp,00000008h retn ;------------------------------------------------------------------------------ L0040589E: mov eax,[esp+30h] and eax,0000007Fh cmp eax,00000022h jle L004058AE xor eax,eax xor edx,edx L004058AE: mov ecx,[esp+1Ch] mov esi,[esp+20h] imul ecx,[esp+10h] and esi,00000007h pop edi mov esi,[L004FBB40+esi*4] add esi,ecx lea ecx,[eax+eax*4] mov eax,[esp+10h] add eax,esi pop esi add ecx,eax mov eax,[esp+30h] pop ebp pop ebx mov [eax],ecx mov ecx,[esp+2Ch] mov [ecx],edx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004058F0: mov ecx,[esp+10h] mov eax,[esp+04h] cmp eax,00000096h push esi mov dword ptr [ecx],00000005h jge L00405929 mov dword ptr [ecx],00000003h mov ecx,[esp+0Ch] mov edx,ecx lea esi,[eax+eax*4] and edx,00000080h or dh,01h lea eax,[eax+esi*2] shr edx,07h lea eax,[edx+eax*2] jmp L0040599B L00405929: cmp eax,000000C8h jge L00405953 mov ecx,[esp+0Ch] lea edx,[eax+eax*4] and ecx,00000007h pop esi lea eax,[eax+edx*2] mov ecx,[L004FBB40+ecx*4] lea eax,[eax+eax*4] lea edx,[ecx+eax*2+28h] mov eax,[esp+0Ch] mov [eax],edx retn ;------------------------------------------------------------------------------ L00405953: mov ecx,[esp+0Ch] cmp eax,00000190h mov edx,ecx jge L0040597B and edx,00000080h lea esi,[eax+eax*2] or dh,01h shr edx,05h lea eax,[eax+esi*4] lea eax,[edx+eax+00000708h] jmp L0040599B L0040597B: and dl,80h lea esi,[eax-000000C8h] neg dl lea eax,[00000000h+esi*8] sbb edx,edx sub eax,esi neg edx add edx,00000015h lea eax,[eax+eax*4] add eax,edx L0040599B: and ecx,00000007h lea edx,[eax+eax*4] pop esi mov eax,[L004FBB40+ecx*4] add edx,eax mov eax,[esp+0Ch] mov [eax],edx retn ;------------------------------------------------------------------------------ Align 16 L004059C0: sub esp,00000020h push ebx push ebp push esi mov esi,ecx push edi mov edi,[L00C83A54] movsx edx,[esi+24h] movsx ecx,[esi+26h] mov eax,edx sub eax,ecx add eax,edi lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,00000005h lea ebx,[eax+eax+01h] movsx eax,[esi+28h] sub edi,eax lea eax,[edx+ecx] mov [esp+1Ch],ebx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ax,[esi+40h] shl edx,1 cmp ax,03E8h lea edi,[edx+edi*4] mov [esp+18h],edi mov [esi+000000B8h],edi jc L00405A2C mov [esi+0Ch],edi mov [esi+14h],edi mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L00405A2C: lea ecx,[esp+14h] lea edx,[esp+10h] push ecx xor ecx,ecx mov cl,[esi+72h] push edx and eax,0000FFFFh push ecx push eax call SUB_L004058F0 mov dl,[esi+72h] lea ecx,[esp+38h] and edx,00000007h push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+40h] mov [esp+34h],eax mov eax,[esp+24h] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000024h test eax,eax jnz L00405A8B mov [esi+0Ch],edi mov [esi+14h],edi mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L00405A8B: mov ecx,[esp+14h] mov edx,[eax+00000200h] add eax,00000200h cmp ecx,edx jl L00405AB2 mov [esi+0Ch],edi mov [esi+14h],edi mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L00405AB2: mov ecx,[eax+ecx*4+04h] test ecx,ecx jnz L00405ACE mov [esi+0Ch],edi mov [esi+14h],edi mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L00405ACE: mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov bp,[ecx+eax+06h] mov eax,[esp+20h] test eax,eax jz L00405AEF mov ecx,ebx sub ecx,edi mov edi,ecx L00405AEF: mov eax,[esp+18h] movsx ecx,dx movsx edi,di sub eax,ecx mov ecx,[esp+1Ch] sub ecx,edi mov [esi+14h],eax movsx edi,bp sub eax,edi mov [esi+08h],ecx mov [esi+0Ch],eax movsx eax,bx add eax,ecx test dx,dx mov [esi+10h],eax jl L00405B23 mov ecx,[esp+18h] mov [esi+14h],ecx L00405B23: mov ebp,[esp+1Ch] sub eax,ebp lea ecx,[eax+16h] cmp ecx,0000002Ch mov [esi+000000BCh],ecx jg L00405B43 mov dword ptr [esi+000000BCh],00000000h jmp L00405B5A L00405B43: mov eax,2E8BA2E9h imul ecx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov [esi+000000BCh],edx L00405B5A: cmp word ptr [esi+40h],0190h jc L00405CA2 xor eax,eax lea ecx,[esi+000000C0h] mov [esp+24h],eax mov [esp+1Ch],ecx L00405B76: cmp eax,00000015h jz L00405C85 mov edx,[esp+1Ch] mov ecx,[edx] test ecx,ecx jz L00405C85 mov eax,[esi+000000ACh] test eax,eax jz L00405C85 L00405B9B: cmp [eax+7Ch],ecx jz L00405BAC mov eax,[eax+44h] test eax,eax jnz L00405B9B jmp L00405C85 L00405BAC: test eax,eax jz L00405C85 mov edx,[L00C88540] xor ecx,ecx mov cx,[eax+3Ch] xor eax,eax lea ecx,[ecx+ecx*4] mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00405C85 cmp eax,000003E8h jge L00405C85 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx xor ecx,ecx mov cl,[esi+72h] push edx push ecx push eax call SUB_L004058F0 mov ecx,[esp+20h] lea edx,[esp+38h] lea eax,[esp+3Ch] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000024h test eax,eax jz L00405C85 mov edx,[esp+14h] add eax,00000200h mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00405C85 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+20h] test ecx,ecx jz L00405C47 mov ecx,ebx sub ecx,edi mov edi,ecx L00405C47: movsx ecx,dx mov edx,[esp+18h] movsx edi,di sub edx,ecx mov ecx,ebp movsx eax,ax sub ecx,edi mov edi,edx sub edi,eax movsx eax,bx mov ebx,[esi+10h] add eax,ecx cmp eax,ebx jle L00405C6D mov [esi+10h],eax L00405C6D: cmp ecx,[esi+08h] jge L00405C75 mov [esi+08h],ecx L00405C75: cmp edx,[esi+14h] jle L00405C7D mov [esi+14h],edx L00405C7D: cmp edi,[esi+0Ch] jge L00405C85 mov [esi+0Ch],edi L00405C85: mov eax,[esp+24h] mov edx,[esp+1Ch] inc eax add edx,00000004h cmp eax,00000019h mov [esp+24h],eax mov [esp+1Ch],edx jl L00405B76 L00405CA2: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 L00405CB0: sub esp,00000030h push ebx push ebp push esi push edi mov edi,ecx xor ebx,ebx mov [esp+13h],bl cmp word ptr [edi+40h],03E8h jnc L00405F7B mov eax,[edi+7Ch] push ebx push eax call SUB_L0047ED50 add esp,00000008h test eax,eax jnz L00405F7B test byte ptr [edi+0000009Ch],80h jz L00405CF3 mov ebx,000003E3h mov byte ptr [esp+13h],01h L00405CF3: mov ecx,[esp+44h] mov esi,[edi+000000B8h] mov [esp+2Ch],esi mov edx,[ecx] mov [esp+30h],edx mov eax,[ecx+04h] mov [esp+34h],eax mov edx,[ecx+08h] movsx eax,[edi+24h] mov [esp+38h],edx mov ecx,[ecx+0Ch] movsx edx,[edi+26h] sub eax,edx mov edx,[L00C83A54] add eax,edx mov [esp+3Ch],ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea ebp,[eax+eax+01h] mov eax,[L0051C770] test eax,eax mov [esp+44h],ebp jnz L00405D57 mov edx,[L0051A75C] mov eax,esi sub eax,edx cmp ecx,eax jle L00405D57 mov [esp+3Ch],eax L00405D57: lea ecx,[esp+18h] xor eax,eax mov al,[edi+72h] push ecx lea edx,[esp+18h] xor ecx,ecx mov cx,[edi+40h] push edx push eax push ecx call SUB_L004058F0 mov dl,[edi+72h] lea ecx,[esp+34h] and edx,00000007h push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+3Ch] mov [esp+30h],eax mov eax,[esp+28h] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000024h test eax,eax jz L00405F7B mov ecx,[esp+18h] mov edx,[eax+00000200h] mov [esp+20h],eax add eax,00000200h cmp ecx,edx jge L00405F7B mov ecx,[eax+ecx*4+04h] test ecx,ecx jnz L00405DE0 mov [edi+0Ch],esi mov [edi+14h],esi mov [edi+10h],ebp mov [edi+08h],ebp pop edi pop esi pop ebp pop ebx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ L00405DE0: lea ebp,[ecx+eax+08h] mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L00405DFD mov ebx,000003E3h jmp L00405E0B L00405DFD: mov al,[esp+13h] test al,al jnz L00405E0B xor ebx,ebx mov bx,[edi+42h] L00405E0B: mov eax,[esp+20h] mov edx,[esp+44h] push ebp lea ecx,[esp+34h] push eax mov eax,[esp+24h] push ecx push esi push edx push ebx push eax call SUB_L004021E0 add esp,0000001Ch cmp word ptr [edi+40h],0190h jc L00405F7B xor ebx,ebx mov [esp+20h],ebx L00405E3C: xor ecx,ecx mov cl,[edi+72h] mov eax,ecx and eax,00000007h lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov eax,[L004FB7D0+eax*4] cmp eax,00000015h jz L00405F6D cmp eax,00000019h jz L00405F6D mov eax,[edi+eax*4+000000C0h] test eax,eax jz L00405F6D mov esi,[edi+000000ACh] test esi,esi jz L00405F6D L00405E84: cmp [esi+7Ch],eax jz L00405E95 mov esi,[esi+44h] test esi,esi jnz L00405E84 jmp L00405F6D L00405E95: test esi,esi jz L00405F6D mov ebp,[L00C88540] xor eax,eax mov ax,[esi+3Ch] lea edx,[eax+eax*4] xor eax,eax mov ax,[ebp+edx*8+0Ch] cmp eax,00000190h jl L00405F6D cmp eax,000003E8h jge L00405F6D lea edx,[esp+18h] push edx lea edx,[esp+18h] push edx push ecx push eax call SUB_L004058F0 mov edx,[esp+24h] lea eax,[esp+34h] lea ecx,[esp+38h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000024h test eax,eax jz L00405F6D mov ecx,[esp+18h] mov ebp,eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00405F6D lea ebx,[ecx+eax+08h] mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L00405F29 mov eax,000003E3h jmp L00405F4A L00405F29: mov edx,[L00C88540] xor ecx,ecx mov cx,[esi+3Ch] xor eax,eax mov ax,[esi+42h] lea ecx,[ecx+ecx*4] test dword ptr [edx+ecx*8],00040000h jz L00405F4A or ah,80h L00405F4A: mov edx,[esp+2Ch] push ebx lea ecx,[esp+34h] push ebp push ecx mov ecx,[esp+50h] push edx mov edx,[esp+2Ch] push ecx push eax push edx call SUB_L004021E0 mov ebx,[esp+3Ch] add esp,0000001Ch L00405F6D: inc ebx cmp ebx,00000019h mov [esp+20h],ebx jl L00405E3C L00405F7B: pop edi pop esi pop ebp pop ebx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00405F90: sub esp,00000024h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004B4080 test eax,eax jz L00405FB1 mov ecx,esi call SUB_L004B41C0 pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00405FB1: movsx edx,[esi+24h] movsx ecx,[esi+26h] mov edi,[L00C83A54] mov eax,edx sub eax,ecx mov ebp,[esi+0000018Ch] add eax,edi lea edi,[eax+eax*4] lea ebx,[eax+edi*2] mov eax,[esi+00000194h] mov edi,00000005h sub edi,eax lea eax,[edx+ecx] shl ebx,1 lea ecx,[eax+eax*4] sub ebx,ebp inc ebx lea edx,[eax+ecx*2] mov ecx,[esi+00000190h] shl edx,1 mov [esp+20h],ebx lea eax,[edx+edi*4] mov [esi+000000B8h],eax sub eax,ecx cmp word ptr [esi+3Ch],03E8h mov ebp,eax mov [esp+1Ch],ebp jc L00406025 mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406025: mov eax,[esi] mov ecx,esi call [eax+00000098h] test eax,eax jz L0040603E xor edi,edi mov di,[esi+3Ch] sub edi,00000002h jmp L00406044 L0040603E: xor edi,edi mov di,[esi+3Ch] L00406044: mov edx,[esi] mov ecx,esi call [edx+00000090h] lea ecx,[esp+18h] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+1Ch] mov [esp+30h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx xor ecx,ecx push edx mov cl,[esi+72h] xor edx,edx mov dx,[esi+000001AEh] push edx push eax mov eax,[esi+00000144h] push eax push ecx push edi call SUB_L00405400 mov dl,[esi+72h] lea ecx,[esp+54h] and edx,00000007h push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+5Ch] mov [esp+50h],eax mov eax,[esp+40h] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jnz L004060DB mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L004060DB: mov cx,[eax+00000200h] mov edx,[esp+18h] add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L0040642C mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L0040611C mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L0040611C: mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov bp,[ecx+eax+06h] mov eax,[esp+24h] test eax,eax jz L0040613D mov ecx,ebx sub ecx,edi mov edi,ecx L0040613D: mov eax,[esp+1Ch] movsx ecx,dx movsx edi,di sub eax,ecx mov ecx,[esp+20h] sub ecx,edi mov [esi+14h],eax movsx edi,bp sub eax,edi mov [esi+08h],ecx mov [esi+0Ch],eax movsx eax,bx add ecx,eax test dx,dx mov [esi+10h],ecx jl L00406173 mov eax,[esp+1Ch] add ebp,edx mov [esi+14h],eax L00406173: mov edi,[esp+20h] mov edx,ecx sub edx,edi add edx,00000016h cmp edx,0000002Ch mov [esi+000000BCh],edx jg L00406195 mov dword ptr [esi+000000BCh],00000000h jmp L004061AC L00406195: mov eax,2E8BA2E9h imul edx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov [esi+000000BCh],edx L004061AC: mov dx,[esi+3Ch] mov eax,edx and eax,0000FFFFh cmp eax,000000DDh jz L004061E5 cmp eax,00000097h jz L004061E5 cmp eax,00000096h jz L004061E5 cmp eax,00000034h jz L004061E5 cmp eax,00000015h jz L004061E5 cmp eax,0000005Fh jz L004061E5 movsx eax,bp sar eax,1 add eax,ecx mov [esi+10h],eax L004061E5: cmp dx,0190h jc L00406397 mov ebx,00000001h mov [esp+10h],ebx L004061F9: cmp ebx,00000015h jz L00406389 mov ecx,[esi+ebx*4+000000C8h] test ecx,ecx jnz L0040626F mov eax,[esi+7Ch] test eax,80000000h jz L00406389 push eax call SUB_L0047ECE0 mov edi,eax add esp,00000004h test edi,edi jz L00406389 mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jz L00406389 mov eax,[edi+000000ACh] mov ecx,edi test eax,eax jz L00406389 mov ecx,[ecx+ebx*4+000000C0h] L00406254: cmp [eax+7Ch],ecx jz L00406265 mov eax,[eax+44h] test eax,eax jnz L00406254 jmp L00406389 L00406265: test eax,eax mov ecx,eax jz L00406389 L0040626F: mov edx,[L00C88540] xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00406389 cmp eax,000003E8h jge L00406389 lea ecx,[esp+18h] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx mov ecx,[esp+38h] push edx xor edx,edx mov dx,[esi+000001AEh] push edx mov edx,[esi+00000144h] push ecx xor ecx,ecx mov cl,[esi+72h] push edx push ecx push eax call SUB_L00405400 mov ecx,[esp+3Ch] lea edx,[esp+54h] lea eax,[esp+58h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00406389 mov edx,[esp+18h] add eax,00000200h mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00406389 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+24h] test ecx,ecx jz L00406339 mov ecx,ebx sub ecx,edi mov edi,ecx L00406339: movsx ecx,dx mov edx,[esp+1Ch] mov ebp,[esp+10h] movsx edi,di sub edx,ecx mov ecx,[esp+20h] sub ecx,edi movsx edi,ax mov eax,edx sub eax,edi cmp ebp,00000019h movsx edi,bx lea ebx,[edi+ecx] jnz L00406365 sar edi,1 add ebx,edi L00406365: cmp ebx,[esi+10h] jle L0040636D mov [esi+10h],ebx L0040636D: cmp ecx,[esi+08h] jge L00406375 mov [esi+08h],ecx L00406375: cmp edx,[esi+14h] jle L0040637D mov [esi+14h],edx L0040637D: cmp eax,[esi+0Ch] jge L00406385 mov [esi+0Ch],eax L00406385: mov ebx,[esp+10h] L00406389: inc ebx cmp ebx,0000001Ah mov [esp+10h],ebx jl L004061F9 L00406397: mov ebx,[esi+000001C4h] xor eax,eax cmp ebx,eax mov [esi+000001D0h],eax mov [esi+000001CCh],eax jz L0040642C L004063AF: xor edx,edx mov dx,[ebx+000000E2h] add edx,00004000h push edx call SUB_L004B9530 mov di,[eax+06h] mov edx,[esi+10h] movsx eax,[eax+04h] mov ecx,[esi+08h] sub eax,edx add eax,ecx add esp,00000004h test eax,eax jle L004063F7 mov ebp,[esi+000001CCh] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001CCh],ebp mov [esi+08h],ecx mov [esi+10h],edx L004063F7: mov edx,[esi+14h] mov ecx,[esi+0Ch] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L00406422 mov ebp,[esi+000001D0h] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001D0h],ebp mov [esi+0Ch],ecx mov [esi+14h],edx L00406422: mov ebx,[ebx+00000108h] test ebx,ebx jnz L004063AF L0040642C: pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00406440: mov ecx,[esp+04h] test ecx,ecx jz L00406469 xor eax,eax mov ax,[ecx+3Ch] mov ecx,[L00C88540] lea eax,[eax+eax*4] mov al,[ecx+eax*8+05h] cmp al,0Bh jz L00406463 cmp al,10h jnz L00406469 L00406463: mov eax,00000001h retn ;------------------------------------------------------------------------------ L00406469: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L00406470: mov ecx,[esp+04h] test ecx,ecx jnz L0040647B xor eax,eax retn ;------------------------------------------------------------------------------ L0040647B: call SUB_L00481700 cmp eax,00000007h jle L00406487 xor eax,eax L00406487: mov eax,[L004FBC08+eax*4] retn ;------------------------------------------------------------------------------ Align 4 L00406490: sub esp,0000004Ch push ebx push ebp push esi mov esi,ecx xor ebp,ebp push edi cmp word ptr [esi+3Ch],03E8h mov [esp+14h],ebp mov byte ptr [esp+13h],00h jnc L00406C29 call SUB_L004B4080 test eax,eax jz L004064CF mov eax,[esp+60h] mov ecx,esi push eax call SUB_L004B45A0 pop edi pop esi pop ebp pop ebx add esp,0000004Ch retn 0004h ;------------------------------------------------------------------------------ L004064CF: mov eax,[L00C88318] cmp eax,ebp jnz L004064E6 mov ecx,[L00C884DC] cmp [ecx+00000154h],ebp jz L00406519 L004064E6: mov edx,[L00B189F8] cmp esi,[edx+000000DCh] jnz L00406519 cmp esi,ebp jnz L004064FE mov [esp+14h],ebp jmp L00406549 L004064FE: mov ecx,esi call SUB_L00481700 cmp eax,00000007h jle L0040650C xor eax,eax L0040650C: mov eax,[L004FBC08+eax*4] mov [esp+14h],eax jmp L00406549 L00406519: mov ecx,[L00C8C4E0] mov eax,[esi+7Ch] cmp ecx,eax jnz L0040654E cmp esi,ebp jnz L00406530 mov [esp+14h],ebp jmp L00406549 L00406530: mov ecx,esi call SUB_L00481700 cmp eax,00000007h jle L0040653E xor eax,eax L0040653E: mov edx,[L004FBC08+eax*4] mov [esp+14h],edx L00406549: mov byte ptr [esp+13h],01h L0040654E: test byte ptr [esi+0000009Ch],80h jz L00406564 mov dword ptr [esp+14h],000003E3h mov byte ptr [esp+13h],01h L00406564: mov eax,[esp+60h] mov ebx,[L00C83A54] mov edi,[esi+00000190h] mov ecx,[eax] mov [esp+3Ch],ecx mov edx,[eax+04h] mov [esp+40h],edx mov ecx,[eax+08h] movsx edx,[esi+26h] mov [esp+44h],ecx mov ecx,[eax+0Ch] movsx eax,[esi+24h] sub eax,edx mov [esp+48h],ecx add eax,ebx lea edx,[eax+eax*4] lea ebx,[eax+edx*2] mov edx,[esi+0000018Ch] mov eax,[esi+000000B8h] shl ebx,1 sub ebx,edx mov edx,eax sub edx,edi inc ebx mov [esp+60h],edx mov edx,[L0051C770] cmp edx,ebp mov [esp+24h],ebx jnz L004065DE cmp word ptr [esi+3Ch],0190h jnc L004065DE sub eax,[L0051A75C] cmp ecx,eax jle L004065DE mov [esp+48h],eax L004065DE: mov eax,[esi] mov ecx,esi call [eax+00000098h] test eax,eax jz L004065F7 xor edi,edi mov di,[esi+3Ch] sub edi,00000002h jmp L004065FD L004065F7: xor edi,edi mov di,[esi+3Ch] L004065FD: mov edx,[esi] mov ecx,esi call [edx+00000090h] lea ecx,[esp+1Ch] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+20h] mov [esp+30h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx xor ecx,ecx push edx mov cl,[esi+72h] xor edx,edx mov dx,[esi+000001AEh] push edx push eax mov eax,[esi+00000144h] push eax push ecx push edi call SUB_L00405400 mov dl,[esi+72h] lea ecx,[esp+54h] and edx,0000007Fh push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+5Ch] mov [esp+4Ch],eax mov eax,[esp+44h] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch cmp eax,ebp jz L00406C29 mov cx,[eax+00000200h] mov edx,[esp+1Ch] mov ebp,eax add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L00406C29 mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L004066CD mov eax,[esp+60h] mov [esi+10h],ebx mov [esi+0Ch],eax mov [esi+14h],eax mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,0000004Ch retn 0004h ;------------------------------------------------------------------------------ L004066CD: lea edi,[ecx+eax+08h] mov al,[esp+13h] test al,al jnz L004066E3 xor eax,eax mov ax,[esi+42h] mov [esp+14h],eax L004066E3: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004066FD mov dword ptr [esp+14h],000003E3h L004066FD: xor eax,eax mov ax,[esi+3Ch] cmp eax,000000DDh jz L00406740 cmp eax,00000097h jz L00406740 cmp eax,00000096h jz L00406740 cmp eax,00000034h jz L00406740 cmp eax,00000015h jz L00406740 cmp eax,0000005Fh jz L00406740 mov ecx,[esp+60h] mov edx,[esp+20h] lea eax,[esp+3Ch] push edi push eax push ecx push ebx push edx call SUB_L00402070 add esp,00000014h L00406740: mov ecx,[esi+0000012Ch] test ecx,ecx jz L0040691E lea eax,[esp+1Ch] push esi push eax mov eax,[esi+00000148h] lea edx,[esp+20h] push edx push eax xor edx,edx xor eax,eax mov dx,[esi+000001BCh] mov ax,[esi+000001B0h] add edx,eax mov eax,[esp+38h] push edx xor edx,edx mov dx,[esi+000001AEh] push edx mov edx,[esi+00000144h] push eax xor eax,eax mov al,[esi+72h] push edx mov edx,[L00C88540] push eax xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] mov ax,[edx+ecx*8+0Ch] push eax call SUB_L00405400 mov eax,[esp+40h] lea ecx,[esp+54h] lea edx,[esp+58h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00406853 mov ecx,[esp+1Ch] mov [esp+38h],eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00406853 mov edx,[esi+0000012Ch] mov ebx,[esp+14h] lea ebp,[ecx+eax+08h] mov ecx,[L00C884DC] xor edi,edi mov eax,[ecx] mov di,[edx+42h] call [eax+00000098h] test eax,eax jz L0040680E mov edi,000003E3h L0040680E: mov edx,[esp+60h] mov eax,[esp+24h] lea ecx,[esp+3Ch] push ebp push ecx mov ecx,[esp+28h] push edx push eax push ecx call SUB_L00402070 mov edx,[esp+4Ch] mov ecx,[esp+74h] push ebp lea eax,[esp+54h] push edx mov edx,[esp+40h] push eax mov eax,[esp+40h] push ecx push edx push edi push eax call SUB_L004021E0 mov [esp+44h],ebx mov ebx,[esp+54h] add esp,00000030h L00406853: mov al,[esp+13h] test al,al jnz L00406865 xor eax,eax mov ax,[esi+42h] mov [esp+14h],eax L00406865: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L0040687F mov dword ptr [esp+14h],000003E3h L0040687F: mov edx,[esi+00000148h] lea eax,[esp+1Ch] push esi lea ecx,[esp+1Ch] push eax push ecx xor eax,eax xor ecx,ecx mov ax,[esi+000001BCh] mov cx,[esi+000001B0h] push edx xor edx,edx mov dx,[esi+000001AEh] add eax,ecx mov ecx,[esi+00000144h] push eax mov eax,[esp+3Ch] push edx xor edx,edx push eax mov dl,[esi+72h] mov ax,[esi+3Ch] push ecx push edx push eax call SUB_L00405400 mov eax,[esp+40h] lea ecx,[esp+54h] lea edx,[esp+58h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00406C29 mov cx,[eax+00000200h] mov edx,[esp+1Ch] mov ebp,eax add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L00406C29 mov ecx,[eax+edx*4+04h] lea edi,[ecx+eax+08h] L0040691E: mov eax,[esp+60h] mov ecx,[esp+14h] push edi lea edx,[esp+40h] push ebp push edx mov edx,[esp+2Ch] push eax push ebx push ecx push edx call SUB_L004021E0 mov eax,[esi+00000120h] add esp,0000001Ch test eax,eax mov dword ptr [esp+34h],00000000h jz L0040695F cmp word ptr [eax+3Ch],204Eh jnz L0040695F mov dword ptr [esp+34h],00000001h L0040695F: cmp word ptr [esi+3Ch],0190h jc L00406B87 mov ecx,00000001h mov [esp+38h],ecx L00406974: mov al,[esi+72h] and eax,00000007h lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] add eax,ecx mov edi,[L004FB7D0+eax*4] cmp edi,00000015h jz L00406B75 mov ebp,[esi+edi*4+000000C8h] test ebp,ebp jnz L004069F8 mov eax,[esi+7Ch] test eax,80000000h jz L00406B75 push eax call SUB_L0047ECE0 mov ebp,eax add esp,00000004h test ebp,ebp jz L00406B75 mov edx,[ebp+00h] mov ecx,ebp call [edx+54h] test eax,eax jz L00406B75 mov eax,[ebp+000000ACh] test eax,eax jz L00406B75 mov edi,[ebp+edi*4+000000C0h] L004069E3: cmp [eax+7Ch],edi jz L004069F4 mov eax,[eax+44h] test eax,eax jnz L004069E3 jmp L00406B75 L004069F4: mov ebp,eax jmp L00406A10 L004069F8: lea eax,[esi+000000C8h] push eax push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L00406B75 L00406A10: test ebp,ebp jz L00406B75 mov eax,[esp+34h] mov ecx,[L00C88540] cmp eax,00000001h jnz L00406A44 xor eax,eax mov ax,[ebp+3Ch] lea edx,[eax+eax*4] mov al,[ecx+edx*8+05h] cmp al,0Bh jz L00406B75 cmp al,10h jz L00406B75 L00406A44: xor eax,eax mov ax,[ebp+3Ch] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L00406B75 cmp eax,000003E8h jge L00406B75 cmp eax,0000021Ah jnz L00406A7E cmp word ptr [esi+3Ch],0191h jnz L00406A7E mov eax,000003DAh L00406A7E: lea ecx,[esp+1Ch] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+20h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx mov ecx,[esp+38h] push edx xor edx,edx mov dx,[esi+000001AEh] push edx mov edx,[esi+00000144h] push ecx xor ecx,ecx mov cl,[esi+72h] push edx push ecx push eax call SUB_L00405400 mov ecx,[esp+40h] lea edx,[esp+54h] lea eax,[esp+58h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00406B75 mov edx,[esp+1Ch] mov ebx,eax add eax,00000200h mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00406B75 lea edi,[ecx+eax+08h] mov al,[esp+13h] test al,al jnz L00406B13 xor eax,eax mov ax,[ebp+42h] mov [esp+14h],eax L00406B13: mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000098h] test eax,eax jz L00406B2F mov dword ptr [esp+14h],000003E3h jmp L00406B52 L00406B2F: mov edx,[L00C88540] xor eax,eax mov ax,[ebp+3Ch] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],00040000h jz L00406B52 mov eax,[esp+14h] or ah,80h mov [esp+14h],eax L00406B52: mov ecx,[esp+60h] mov edx,[esp+24h] push edi lea eax,[esp+40h] push ebx push eax mov eax,[esp+20h] push ecx mov ecx,[esp+30h] push edx push eax push ecx call SUB_L004021E0 add esp,0000001Ch L00406B75: mov ecx,[esp+38h] inc ecx cmp ecx,00000019h mov [esp+38h],ecx jl L00406974 L00406B87: mov edi,[esi+000001C4h] test edi,edi jz L00406C29 L00406B95: xor edx,edx mov dx,[edi+000000E2h] add edx,00004000h push edx call SUB_L004B9530 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+08h] mov ebp,[esi+10h] movsx edx,cx add eax,ebp mov ebp,[esi+0Ch] mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+14h] movsx ebx,bx add ecx,ebp mov ebp,ebx sar ecx,1 sar ebp,1 sub ecx,ebp add edx,eax add ebx,ecx mov [esp+50h],eax mov [esp+54h],ecx mov [esp+58h],edx mov [esp+5Ch],ebx mov edx,[edi+00000114h] mov eax,[edi+00000110h] push edx lea ecx,[esp+44h] push eax mov al,[edi+000000D8h] lea edx,[esp+58h] push ecx mov cx,[edi+000000E2h] push edx push eax push ecx call SUB_L00453900 mov edi,[edi+00000108h] add esp,0000001Ch test edi,edi jnz L00406B95 L00406C29: pop edi pop esi pop ebp pop ebx add esp,0000004Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 L00406C40: sub esp,00000024h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004B4080 test eax,eax jz L00406C61 mov ecx,esi call SUB_L004B4FD0 pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406C61: movsx edx,[esi+24h] movsx ecx,[esi+26h] mov edi,[L00C83A54] mov eax,edx sub eax,ecx mov ebp,[esi+00000194h] add eax,edi lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L00B189F4] lea ebx,[edi+eax*2+01h] lea eax,[edx+ecx] mov edi,00000005h mov [esp+20h],ebx lea ecx,[eax+eax*4] sub edi,ebp lea edx,[eax+ecx*2] shl edx,1 cmp word ptr [esi+3Ch],03E8h lea eax,[edx+edi*4] mov [esi+000000B8h],eax mov ecx,[L00B189F0] lea ebp,[eax+ecx] mov [esp+1Ch],ebp jc L00406CD3 mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406CD3: mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jz L00406CEC xor edi,edi mov di,[esi+3Ch] sub edi,00000002h jmp L00406CF2 L00406CEC: xor edi,edi mov di,[esi+3Ch] L00406CF2: mov eax,[esi] mov ecx,esi call [eax+00000090h] lea ecx,[esp+18h] push esi push ecx mov ecx,[L00C85350] lea edx,[esp+1Ch] mov [esp+30h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx xor ecx,ecx push edx mov cl,[esi+72h] xor edx,edx mov dx,[esi+000001AEh] push edx push eax mov eax,[L00C8535C] push eax push ecx push edi call SUB_L00405400 mov dl,[esi+72h] lea ecx,[esp+54h] and edx,0000007Fh push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+5Ch] mov [esp+50h],eax mov eax,[esp+40h] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jnz L00406D88 mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406D88: mov cx,[eax+00000200h] mov edx,[esp+18h] add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jl L00406DBD mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406DBD: mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L00406DD9 mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00406DD9: mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov bp,[ecx+eax+06h] mov eax,[esp+24h] test eax,eax jz L00406DFA mov ecx,ebx sub ecx,edi mov edi,ecx L00406DFA: mov eax,[esp+1Ch] movsx ecx,dx movsx edi,di sub eax,ecx mov ecx,[esp+20h] sub ecx,edi mov [esi+14h],eax movsx edi,bp sub eax,edi mov [esi+08h],ecx mov [esi+0Ch],eax movsx eax,bx add ecx,eax test dx,dx mov [esi+10h],ecx jl L00406E30 mov eax,[esp+1Ch] add ebp,edx mov [esi+14h],eax L00406E30: sub ecx,[esp+20h] add ecx,00000016h cmp ecx,0000002Ch mov [esi+000000BCh],ecx jg L00406E4E mov dword ptr [esi+000000BCh],00000000h jmp L00406E65 L00406E4E: mov eax,2E8BA2E9h imul ecx sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx mov [esi+000000BCh],edx L00406E65: test byte ptr [esi+0000009Ch],80h jnz L00406EB1 mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jnz L00406EB1 mov ax,[esi+3Ch] cmp eax,000000DDh jz L00406EB1 cmp eax,00000097h jz L00406EB1 cmp eax,00000096h jz L00406EB1 cmp eax,00000034h jz L00406EB1 cmp eax,00000015h jz L00406EB1 cmp eax,0000005Fh jz L00406EB1 mov ecx,[esi+10h] movsx eax,bp sar eax,1 add ecx,eax mov [esi+10h],ecx L00406EB1: cmp word ptr [esi+3Ch],0190h jc L00407023 mov edi,00000001h mov [esp+10h],edi L00406EC6: cmp edi,00000015h jz L00407015 mov eax,[esi+edi*4+000000C8h] test eax,eax jz L00407015 lea ecx,[esi+000000C8h] push ecx push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L00407015 mov edx,[esi+edi*4+000000C8h] mov ax,[edx+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00407015 cmp eax,000003E8h jge L00407015 lea ecx,[esp+18h] push esi push ecx mov ecx,[L00C85350] lea edx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx mov ecx,[esp+38h] push edx xor edx,edx mov dx,[esi+000001AEh] push edx mov edx,[L00C8535C] push ecx xor ecx,ecx mov cl,[esi+72h] push edx push ecx push eax call SUB_L00405400 mov ecx,[esp+3Ch] lea edx,[esp+54h] lea eax,[esp+58h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00407015 mov edx,[esp+18h] add eax,00000200h mov ecx,[eax+edx*4+04h] test ecx,ecx jz L00407015 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+24h] test ecx,ecx jz L00406FC5 mov ecx,ebx sub ecx,edi mov edi,ecx L00406FC5: movsx ecx,dx mov edx,[esp+1Ch] mov ebp,[esp+10h] movsx edi,di sub edx,ecx mov ecx,[esp+20h] sub ecx,edi movsx edi,ax mov eax,edx sub eax,edi cmp ebp,00000019h movsx edi,bx lea ebx,[edi+ecx] jnz L00406FF1 sar edi,1 add ebx,edi L00406FF1: cmp ebx,[esi+10h] jle L00406FF9 mov [esi+10h],ebx L00406FF9: cmp ecx,[esi+08h] jge L00407001 mov [esi+08h],ecx L00407001: cmp edx,[esi+14h] jle L00407009 mov [esi+14h],edx L00407009: cmp eax,[esi+0Ch] jge L00407011 mov [esi+0Ch],eax L00407011: mov edi,[esp+10h] L00407015: inc edi cmp edi,0000001Ah mov [esp+10h],edi jl L00406EC6 L00407023: mov ebx,[esi+000001C4h] xor ebp,ebp cmp ebx,ebp mov [esi+000001D0h],ebp mov [esi+000001CCh],ebp jz L004070B0 L0040703B: xor edx,edx mov dx,[ebx+000000E2h] add edx,00004000h push edx call SUB_L004B9530 mov di,[eax+06h] mov edx,[esi+10h] movsx eax,[eax+04h] mov ecx,[esi+08h] sub eax,edx add eax,ecx add esp,00000004h cmp eax,ebp jle L0040707B sar eax,1 add [esi+000001CCh],eax sub ecx,eax add edx,eax mov [esi+08h],ecx mov [esi+10h],edx L0040707B: mov edx,[esi+14h] mov ecx,[esi+0Ch] movsx eax,di sub eax,edx add eax,ecx cmp eax,ebp jle L004070A6 mov edi,[esi+000001D0h] sar eax,1 add edi,eax sub ecx,eax add edx,eax mov [esi+000001D0h],edi mov [esi+0Ch],ecx mov [esi+14h],edx L004070A6: mov ebx,[ebx+00000108h] cmp ebx,ebp jnz L0040703B L004070B0: pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 L004070C0: sub esp,00000040h push ebx push ebp push esi mov esi,ecx push edi cmp word ptr [esi+3Ch],03E8h jnc L0040770B call SUB_L004B4080 test eax,eax jz L004070F4 mov eax,[esp+54h] mov ecx,esi push eax call SUB_L004B53B0 pop edi pop esi pop ebp pop ebx add esp,00000040h retn 0004h ;------------------------------------------------------------------------------ L004070F4: mov ecx,[esp+54h] mov edi,[L00C83A54] mov edx,[ecx] mov [esp+30h],edx mov eax,[ecx+04h] mov [esp+34h],eax mov edx,[ecx+08h] movsx eax,[esi+24h] mov [esp+38h],edx mov ecx,[ecx+0Ch] movsx edx,[esi+26h] sub eax,edx mov [esp+3Ch],ecx add eax,edi lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L00B189F4] lea ebp,[edx+eax*2+01h] mov eax,[esi+000000B8h] mov edx,[L00B189F0] mov [esp+18h],ebp add edx,eax mov [esp+54h],edx mov edx,[L0051C770] test edx,edx jnz L0040716B cmp word ptr [esi+3Ch],0190h jnc L0040716B sub eax,[L0051A75C] cmp ecx,eax jle L0040716B mov [esp+3Ch],eax L0040716B: mov eax,[esi] mov ecx,esi call [eax+00000098h] test eax,eax jz L00407184 xor edi,edi mov di,[esi+3Ch] sub edi,00000002h jmp L0040718A L00407184: xor edi,edi mov di,[esi+3Ch] L0040718A: mov edx,[esi] mov ecx,esi call [edx+00000090h] lea ecx,[esp+14h] push esi push ecx mov ecx,[L00C85350] lea edx,[esp+18h] mov [esp+28h],eax push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx xor ecx,ecx push edx mov cl,[esi+72h] xor edx,edx mov dx,[esi+000001AEh] push edx push eax mov eax,[L00C8535C] push eax push ecx push edi call SUB_L00405400 mov dl,[esi+72h] lea ecx,[esp+4Ch] and edx,0000007Fh push ecx mov eax,[L004FBB60+edx*4] lea edx,[esp+54h] mov [esp+48h],eax mov eax,[esp+3Ch] push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L0040770B mov cx,[eax+00000200h] mov edx,[esp+14h] mov ebx,eax add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L0040770B mov ecx,[eax+edx*4+04h] test ecx,ecx jnz L00407259 mov eax,[esp+54h] mov [esi+10h],ebp mov [esi+0Ch],eax mov [esi+14h],eax mov [esi+08h],ebp pop edi pop esi pop ebp pop ebx add esp,00000040h retn 0004h ;------------------------------------------------------------------------------ L00407259: lea ebp,[ecx+eax+08h] mov al,[esi+0000009Ch] xor edi,edi and al,80h mov di,[esi+42h] jz L00407272 mov edi,000003E3h L00407272: test al,al jnz L004072C9 mov edx,[esi] mov ecx,esi call [edx+00000098h] test eax,eax jnz L004072C9 mov ax,[esi+3Ch] cmp eax,000000DDh jz L004072C9 cmp eax,00000097h jz L004072C9 cmp eax,00000096h jz L004072C9 cmp eax,00000034h jz L004072C9 cmp eax,00000015h jz L004072C9 cmp eax,0000005Fh jz L004072C9 mov ecx,[esp+54h] mov edx,[esp+18h] lea eax,[esp+30h] push ebp push eax mov eax,[esp+24h] push ecx push edx push eax call SUB_L00402070 add esp,00000014h L004072C9: mov ecx,[esi+0000012Ch] test ecx,ecx jz L00407472 lea edx,[esp+14h] push esi push edx mov edx,[L00C85350] lea eax,[esp+18h] push eax push edx xor eax,eax xor edx,edx mov ax,[esi+000001BCh] mov dx,[esi+000001B0h] add eax,edx mov edx,[esp+30h] push eax xor eax,eax mov ax,[esi+000001AEh] push eax mov eax,[L00C8535C] push edx push eax xor eax,eax xor edx,edx mov ax,[ecx+3Ch] mov dl,[esi+72h] mov ecx,[L00C88540] push edx lea eax,[eax+eax*4] mov dx,[ecx+eax*8+0Ch] push edx call SUB_L00405400 mov edx,[esp+38h] lea eax,[esp+4Ch] lea ecx,[esp+50h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L004073BF mov ecx,[esp+14h] mov ebx,eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L004073BF lea edi,[ecx+eax+08h] mov al,[esi+0000009Ch] test al,80h jz L0040737A mov ebp,000003E3h jmp L00407386 L0040737A: mov edx,[esi+0000012Ch] xor ebp,ebp mov bp,[edx+42h] L00407386: mov ecx,[esp+54h] mov edx,[esp+18h] lea eax,[esp+30h] push edi push eax mov eax,[esp+24h] push ecx push edx push eax call SUB_L00402070 mov edx,[esp+68h] mov eax,[esp+2Ch] push edi lea ecx,[esp+48h] push ebx push ecx mov ecx,[esp+3Ch] push edx push eax push ebp push ecx call SUB_L004021E0 add esp,00000030h L004073BF: mov ecx,[L00C85350] lea edx,[esp+14h] push esi lea eax,[esp+14h] push edx push eax xor edx,edx xor eax,eax mov dx,[esi+000001BCh] mov ax,[esi+000001B0h] push ecx xor ecx,ecx mov cx,[esi+000001AEh] add edx,eax mov eax,[L00C8535C] push edx mov edx,[esp+34h] push ecx xor ecx,ecx push edx mov cl,[esi+72h] mov dx,[esi+3Ch] push eax push ecx push edx call SUB_L00405400 mov edx,[esp+38h] lea eax,[esp+4Ch] lea ecx,[esp+50h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L0040770B mov cx,[eax+00000200h] mov edx,[esp+14h] mov ebx,eax add eax,00000200h mov [esi+000001AEh],cx and ecx,0000FFFFh cmp edx,ecx jge L0040770B mov ecx,[eax+edx*4+04h] xor edi,edi mov di,[esi+42h] lea ebp,[ecx+eax+08h] mov al,[esi+0000009Ch] test al,80h jz L00407472 mov edi,000003E3h L00407472: mov eax,[esp+54h] mov ecx,[esp+18h] push ebp lea edx,[esp+34h] push ebx mov ebx,[esp+24h] push edx push eax push ecx push edi push ebx call SUB_L004021E0 mov eax,[esi+00000120h] add esp,0000001Ch test eax,eax mov dword ptr [esp+1Ch],00000000h jz L004074B3 cmp word ptr [eax+3Ch],204Eh jnz L004074B3 mov dword ptr [esp+1Ch],00000001h L004074B3: cmp word ptr [esi+3Ch],0190h jc L00407669 mov ecx,00000001h mov [esp+2Ch],ecx L004074C8: mov al,[esi+72h] and eax,00000007h lea eax,[eax+eax*4] lea edx,[ecx+eax*4] add eax,edx mov edi,[L004FB7D0+eax*4] cmp edi,00000015h jz L00407657 mov eax,[esi+edi*4+000000C8h] test eax,eax jz L00407657 lea eax,[esi+000000C8h] push eax push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L00407657 mov eax,[esp+1Ch] mov edx,[L00C88540] cmp eax,00000001h jnz L00407544 mov ecx,[esi+edi*4+000000C8h] test ecx,ecx jz L00407544 xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] mov al,[edx+ecx*8+05h] cmp al,0Bh jz L00407657 cmp al,10h jz L00407657 L00407544: mov ecx,[esi+edi*4+000000C8h] xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L00407657 cmp eax,000003E8h jge L00407657 cmp eax,0000021Ah jnz L00407585 cmp word ptr [esi+3Ch],0191h jnz L00407585 mov eax,000003DAh L00407585: lea edx,[esp+14h] push esi push edx mov edx,[L00C85350] lea ecx,[esp+18h] push ecx push edx xor ecx,ecx xor edx,edx mov cx,[esi+000001BCh] mov dx,[esi+000001B0h] add ecx,edx mov edx,[esp+30h] push ecx xor ecx,ecx mov cx,[esi+000001AEh] push ecx mov ecx,[L00C8535C] push edx xor edx,edx mov dl,[esi+72h] push ecx push edx push eax call SUB_L00405400 mov edx,[esp+38h] lea eax,[esp+4Ch] lea ecx,[esp+50h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00407657 mov ecx,[esp+14h] mov ebp,eax add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00407657 mov edi,[esi+edi*4+000000C8h] mov dl,[esi+0000009Ch] lea eax,[ecx+eax+08h] xor ecx,ecx mov cx,[edi+42h] test dl,80h jz L00407623 mov ecx,000003E3h jmp L0040763C L00407623: xor edx,edx mov dx,[edi+3Ch] mov edi,[L00C88540] lea edx,[edx+edx*4] test byte ptr [edi+edx*8+02h],04h jz L0040763C or ch,80h L0040763C: mov edx,[esp+54h] push eax lea eax,[esp+34h] push ebp push eax mov eax,[esp+24h] push edx push eax push ecx push ebx call SUB_L004021E0 add esp,0000001Ch L00407657: mov ecx,[esp+2Ch] inc ecx cmp ecx,00000019h mov [esp+2Ch],ecx jl L004074C8 L00407669: mov edi,[esi+000001C4h] test edi,edi jz L0040770B L00407677: xor ecx,ecx mov cx,[edi+000000E2h] add ecx,00004000h push ecx call SUB_L004B9530 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+08h] mov ebp,[esi+10h] movsx edx,cx add eax,ebp mov ebp,[esi+0Ch] mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+14h] movsx ebx,bx add ecx,ebp mov ebp,ebx sar ecx,1 sar ebp,1 sub ecx,ebp add edx,eax add ebx,ecx mov [esp+44h],eax mov [esp+48h],ecx mov [esp+4Ch],edx mov [esp+50h],ebx mov edx,[edi+00000114h] mov eax,[edi+00000110h] push edx lea ecx,[esp+38h] push eax mov al,[edi+000000D8h] lea edx,[esp+4Ch] push ecx mov cx,[edi+000000E2h] push edx push eax push ecx call SUB_L00453900 mov edi,[edi+00000108h] add esp,0000001Ch test edi,edi jnz L00407677 L0040770B: pop edi pop esi pop ebp pop ebx add esp,00000040h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00407720: mov eax,[esp+04h] mov edx,[esp+08h] push esi mov [ecx+3Ch],eax mov esi,[edx] sub esp,00000008h mov eax,esp add ecx,00000024h mov dx,[edx+04h] mov [eax],esi mov [eax+04h],dx call SUB_L00407750 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00407750: mov ax,[esp+04h] mov dx,[esp+06h] mov [ecx],ax mov ax,[esp+08h] mov [ecx+02h],dx mov [ecx+04h],ax retn 0008h ;------------------------------------------------------------------------------ Align 4 L00407770: mov eax,[ecx+30h] push esi movsx edx,[ecx+28h] lea esi,[eax+eax*4] shl edx,02h lea eax,[eax+esi*2] pop esi shl eax,1 sub eax,edx mov [ecx+0Ch],eax add eax,0000002Ch mov [ecx+14h],eax mov eax,[ecx+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea eax,[eax+eax-16h] mov [ecx+08h],eax add eax,0000002Ch mov [ecx+10h],eax retn ;------------------------------------------------------------------------------ Align 16 L004077B0: push esi mov esi,ecx cmp dword ptr [esi+3Ch],00000002h jnz L004077C2 mov eax,[L0051C768] test eax,eax jz L00407829 L004077C2: mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000098h] test eax,eax jz L00407801 mov ecx,[esp+08h] mov edx,[esi+0Ch] mov eax,[esi+08h] push ecx mov ecx,[L0051A75C] sub edx,ecx mov ecx,[esi+3Ch] push edx mov edx,[L0051A760] sub eax,edx push eax push ecx call SUB_L0040B7C0 add esp,00000010h pop esi retn 0004h ;------------------------------------------------------------------------------ L00407801: mov edx,[esp+08h] mov eax,[esi+0Ch] mov ecx,[esi+08h] push edx mov edx,[L0051A75C] sub eax,edx mov edx,[esi+3Ch] push eax mov eax,[L0051A760] sub ecx,eax push ecx push edx call SUB_L0040B660 add esp,00000010h L00407829: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00407830: sub esp,000000D8h mov eax,[esp+000000DCh] mov edx,[esp+000000E0h] push ebx push ebp push esi push edi mov ebx,ecx sub esp,00000008h mov [esp+68h],ebx mov [ebx+3Ch],eax mov esi,[edx] mov eax,esp lea ecx,[ebx+24h] mov dx,[edx+04h] mov [eax],esi mov [eax+04h],dx call SUB_L00407750 mov eax,[esp+000000F4h] mov cl,[eax] mov [ebx+70h],cl mov dl,[eax+01h] mov [ebx+71h],dl mov cl,[eax+02h] mov [ebx+72h],cl mov dl,[eax+03h] movsx eax,[ebx+70h] movsx ecx,cl add eax,0000000Bh mov [ebx+73h],dl cmp eax,ecx jg L0040789F mov dword ptr [ebx+74h],00000001h jmp L004078A6 L0040789F: mov dword ptr [ebx+74h],00000000h L004078A6: movsx ecx,[ebx+26h] mov dword ptr [esp+5Ch],00000000h lea eax,[ecx-01h] inc ecx cmp eax,ecx mov [esp+20h],eax jg L00407B61 L004078C2: movsx ecx,[ebx+24h] lea esi,[ecx-01h] inc ecx cmp esi,ecx mov [esp+54h],esi jg L00407B4F mov ecx,[esp+5Ch] lea edx,[ecx+ecx*2] lea ecx,[esi+eax] lea ebp,[esp+edx*4+6Ch] lea edx,[ecx+ecx*4] mov [esp+1Ch],ebp lea ecx,[ecx+edx*2] lea edi,[ecx+ecx-16h] mov [esp+58h],edi L004078F6: push eax push esi call SUB_L00475CA0 mov ecx,[L00C83A54] mov edx,[esp+28h] sub ecx,edx add esp,00000008h add ecx,esi movsx ebx,[eax] lea edx,[ecx+ecx*4] lea esi,[00000000h+ebx*4] lea ecx,[ecx+edx*2] mov [esp+2Ch],esi movsx edx,[eax+01h] mov [esp+14h],edx shl edx,02h mov [esp+38h],edx lea edx,[edi+2Ch] mov [esp+40h],edx movsx edx,[eax+02h] mov [esp+18h],edx shl edx,02h mov [esp+44h],edx movsx edx,[eax+03h] shl ecx,1 lea eax,[00000000h+edx*4] mov [esp+50h],eax mov eax,[esp+14h] sub eax,edx cdq xor eax,edx sub eax,edx mov edx,[esp+18h] mov [esp+14h],eax mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx mov edx,[esp+14h] cmp eax,edx jg L00407A55 mov eax,[esp+38h] mov edx,[esp+44h] sub eax,esi lea ebx,[edi+16h] mov [esp+18h],eax mov eax,[esp+40h] sub ebx,edi sub eax,edi mov edi,[esp+18h] sub edx,esi mov [esp+1Ch],ebx mov esi,eax imul ebx,edx imul esi,edi mov [esp+14h],ebx sub ebx,esi mov [esp+000000D0h],ebx lea ebx,[ecx+16h] xor esi,esi sub ebx,ecx imul esi,edi mov edi,ebx mov [esp+10h],edx imul edi,edx mov edx,[esp+1Ch] sub esi,edi xor edi,edi imul edx,edi mov edi,eax imul edi,ebx mov ebx,[esp+50h] sub edi,edx mov [esp+000000D8h],edi mov edi,[esp+2Ch] sub ebx,edi mov edi,eax imul edi,ebx mov [esp+18h],ebx mov ebx,[esp+14h] sub edi,ebx lea ebx,[ecx-16h] sub ebx,ecx xor ecx,ecx mov [esp+14h],ebx mov ebx,[esp+18h] imul ebx,ecx imul eax,[esp+14h] mov ecx,[esp+14h] sub edx,eax imul ecx,[esp+10h] mov eax,[esp+000000D0h] sub ecx,ebx add ecx,esi mov ebx,[esp+60h] sar ecx,1 mov esi,[esp+54h] mov [ebp-04h],ecx mov ecx,[esp+000000D8h] add edi,eax add edx,ecx sar edi,1 sar edx,1 mov [ebp-08h],edi mov edi,[esp+58h] mov [ebp+00h],edx jmp L00407B22 L00407A55: mov edx,[esp+50h] lea ebp,[edi+16h] mov [esp+34h],ebp sub ebp,edi mov edi,[esp+38h] sub edx,esi sub edi,esi mov eax,edx sub eax,edi lea ebx,[ecx+16h] imul eax,ebp mov [esp+000000DCh],eax lea esi,[ecx-16h] mov eax,ebx sub esi,ecx sub eax,ecx mov [esp+14h],esi imul edx,eax imul esi,edi sub esi,edx mov edx,[esp+14h] sub eax,edx mov edi,[esp+40h] imul eax,ebp mov ebp,[esp+34h] mov edx,[esp+44h] mov [esp+000000E4h],eax mov eax,[esp+50h] sub edi,ebp mov ebp,[esp+38h] sub eax,ebp sub edx,ebp xor ebp,ebp mov [esp+10h],edx imul ebp,edx mov edx,eax mov [esp+18h],edi imul edx,edi lea edi,[ecx-16h] sub ecx,ebx sub edi,ebx sub edx,ebp mov ebx,edi imul edi,[esp+18h] imul ebx,[esp+10h] mov ebp,ecx imul ebp,eax xor eax,eax sub ebx,ebp mov ebp,[esp+1Ch] imul ecx,eax mov eax,[esp+000000DCh] sub ecx,edi add edx,eax mov edi,[esp+58h] sar edx,1 mov [ebp-08h],edx mov edx,[esp+000000E4h] add ebx,esi mov esi,[esp+54h] add ecx,edx sar ebx,1 sar ecx,1 mov [ebp-04h],ebx mov ebx,[esp+60h] mov [ebp+00h],ecx L00407B22: mov eax,[esp+5Ch] add ebp,0000000Ch inc eax inc esi mov [esp+5Ch],eax add edi,00000016h movsx eax,[ebx+24h] inc eax mov [esp+1Ch],ebp cmp esi,eax mov eax,[esp+20h] mov [esp+54h],esi mov [esp+58h],edi jle L004078F6 L00407B4F: movsx ecx,[ebx+26h] inc eax inc ecx cmp eax,ecx mov [esp+20h],eax jle L004078C2 L00407B61: mov esi,[esp+00000094h] mov edx,[esp+00000088h] mov ecx,[esp+70h] mov edi,[esp+00000098h] mov ebp,[esp+64h] lea eax,[esi+edx] mov edx,[esp+74h] add eax,ecx mov ecx,[esp+0000008Ch] add eax,ebp mov ebp,[esp+68h] add ecx,edi add ecx,edx mov edx,[esp+00000090h] add ecx,ebp mov ebp,[esp+0000009Ch] add edx,ebp mov ebp,[esp+78h] add edx,ebp mov ebp,[esp+6Ch] add edx,ebp sar edx,02h mov ebp,edx mov [esp+2Ch],edx sar ecx,02h imul ebp,edx mov edx,ecx mov [esp+28h],ecx sar eax,02h imul edx,ecx mov ecx,eax add ebp,edx imul ecx,eax add ebp,ecx mov [esp+24h],eax mov [esp+10h],ebp fild dword ptr [esp+10h] fsqrt fdivr dword ptr [L004E73E0] fmul dword ptr [L004E73DC] fild dword ptr [esp+24h] fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+28h] mov [esp+24h],eax fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+2Ch] mov [esp+28h],eax fmul ST,ST(1) call SUB_L004D5008 mov edx,[esp+7Ch] mov ecx,[esp+70h] mov [esp+2Ch],eax mov eax,[esp+000000A0h] add eax,edx mov edx,[esp+000000A4h] mov ebp,[esp+74h] add eax,esi add eax,ecx mov ecx,[esp+00000080h] add ecx,edx mov edx,[esp+00000084h] add ecx,edi add ecx,ebp mov ebp,[esp+000000A8h] add edx,ebp mov ebp,[esp+0000009Ch] add edx,ebp mov ebp,[esp+78h] add edx,ebp sar edx,02h mov ebp,edx mov [esp+38h],edx sar eax,02h sar ecx,02h imul ebp,edx fstp ST(0) mov [esp+30h],eax mov [esp+34h],ecx mov edx,ecx imul edx,ecx mov ecx,eax add ebp,edx imul ecx,eax add ebp,ecx mov [esp+10h],ebp fild dword ptr [esp+10h] fsqrt fdivr dword ptr [L004E73E0] fmul dword ptr [L004E73DC] fild dword ptr [esp+30h] fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+34h] mov [esp+30h],eax fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+38h] mov [esp+34h],eax fmul ST,ST(1) call SUB_L004D5008 mov edx,[esp+000000C4h] mov ecx,[esp+000000C8h] mov [esp+38h],eax mov eax,[esp+000000B8h] add eax,edx mov edx,[esp+000000A0h] mov ebp,[esp+000000C0h] add eax,edx mov edx,[esp+000000BCh] add eax,esi add ecx,edx mov edx,[esp+000000A4h] add ecx,edx mov edx,[esp+000000CCh] add edx,ebp mov ebp,[esp+000000A8h] add edx,ebp mov ebp,[esp+0000009Ch] add edx,ebp add ecx,edi sar edx,02h mov ebp,edx mov [esp+44h],edx sar ecx,02h imul ebp,edx fstp ST(0) mov edx,ecx mov [esp+40h],ecx sar eax,02h imul edx,ecx mov ecx,eax add ebp,edx imul ecx,eax add ebp,ecx mov [esp+3Ch],eax mov [esp+10h],ebp fild dword ptr [esp+10h] fsqrt fdivr dword ptr [L004E73E0] fmul dword ptr [L004E73DC] fild dword ptr [esp+3Ch] fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+40h] mov [esp+3Ch],eax fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+44h] mov [esp+40h],eax fmul ST,ST(1) call SUB_L004D5008 mov edx,[esp+000000ACh] mov [esp+44h],eax mov eax,[esp+000000B8h] add eax,edx mov edx,[esp+00000088h] add eax,esi add eax,edx fstp ST(0) sar eax,02h mov ecx,[esp+000000B0h] mov edx,[esp+000000BCh] mov esi,[esp+0000008Ch] mov ebp,[esp+0000009Ch] add ecx,edx mov edx,[esp+000000B4h] add ecx,edi mov edi,[esp+00000090h] add ecx,esi mov esi,[esp+000000C0h] add edx,esi mov [esp+48h],eax add edx,ebp add edx,edi sar edx,02h mov esi,edx mov [esp+50h],edx sar ecx,02h imul esi,edx mov edx,ecx mov [esp+4Ch],ecx imul edx,ecx mov ecx,eax add esi,edx imul ecx,eax add esi,ecx mov [esp+10h],esi fild dword ptr [esp+10h] fsqrt fdivr dword ptr [L004E73E0] fmul dword ptr [L004E73DC] fild dword ptr [esp+48h] fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+4Ch] mov [esp+48h],eax fmul ST,ST(1) call SUB_L004D5008 fild dword ptr [esp+50h] mov [esp+4Ch],eax fmul ST,ST(1) call SUB_L004D5008 fstp ST(0) mov [esp+50h],eax lea esi,[ebx+40h] lea ecx,[esp+2Ch] mov edi,00000004h L00407E72: mov edx,[ecx-04h] mov eax,[ecx-08h] imul edx,[L004FC00C] imul eax,[L004FC008] add edx,eax mov eax,[ecx] imul eax,[L004FC010] add edx,eax mov eax,10624DD3h imul edx sar edx,06h mov eax,edx shr eax,1Fh add edx,eax jns L00407EAA xor edx,edx jmp L00407EB4 L00407EAA: cmp edx,0000000Fh jle L00407EB4 mov edx,0000000Fh L00407EB4: mov [esi],edx add esi,00000004h add ecx,0000000Ch dec edi jnz L00407E72 mov cl,[ebx+71h] mov al,[ebx+70h] lea esi,[ebx+70h] cmp cl,al mov dword ptr [ebx+68h],00000000h mov dword ptr [ebx+6Ch],00000002h mov ebp,00000001h jle L00407EE2 mov [ebx+68h],ebp L00407EE2: mov dl,[ebx+73h] mov al,[ebx+72h] cmp dl,al mov edi,00000003h jle L00407EF4 mov [ebx+6Ch],edi L00407EF4: push esi call SUB_L0040CA30 add esp,00000004h test eax,eax jz L00407F4A mov eax,[ebx+68h] mov cl,[ebx+72h] mov dl,[eax+ebx+70h] cmp cl,dl mov ecx,00000002h jle L00407F17 mov [ebx+68h],ecx L00407F17: mov edx,[ebx+6Ch] mov al,[esi] cmp al,[ebx+edx+70h] jle L00407F29 xor eax,eax mov [ebx+6Ch],eax jmp L00407F2B L00407F29: xor eax,eax L00407F2B: mov [ebx+50h],eax mov [ebx+54h],ebp mov [ebx+58h],ecx mov [ebx+5Ch],ecx mov [ebx+60h],edi mov [ebx+64h],eax pop edi pop esi pop ebp pop ebx add esp,000000D8h retn 000Ch ;------------------------------------------------------------------------------ L00407F4A: mov ecx,[ebx+68h] mov dl,[ebx+73h] cmp dl,[ecx+ebx+70h] jle L00407F59 mov [ebx+68h],edi L00407F59: mov eax,[ebx+6Ch] mov cl,[ebx+71h] cmp cl,[ebx+eax+70h] jle L00407F68 mov [ebx+6Ch],ebp L00407F68: mov [ebx+58h],edi mov [ebx+64h],edi pop edi mov [ebx+54h],ebp mov [ebx+5Ch],ebp pop esi mov dword ptr [ebx+50h],00000000h mov dword ptr [ebx+60h],00000002h pop ebp pop ebx add esp,000000D8h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00407F90: mov eax,[ecx+2Ch] push ebx push ebp push esi lea edx,[eax+eax*4] push edi lea eax,[eax+edx*2] movsx edx,[ecx+70h] lea eax,[eax+eax-16h] mov [ecx+08h],eax add eax,0000002Ch mov [ecx+10h],eax mov eax,[ecx+30h] shl edx,02h mov esi,edx lea edx,[eax+eax*4] lea edx,[eax+edx*2] shl edx,1 sub edx,esi lea esi,[eax+eax*4+05h] mov ebx,edx lea edi,[eax+esi*2+01h] movsx esi,[ecx+71h] shl esi,02h shl edi,1 mov ebp,esi mov esi,edi sub esi,ebp cmp esi,edx jle L00407FDF mov ebx,esi L00407FDF: jge L00407FE3 mov edx,esi L00407FE3: movsx esi,[ecx+72h] lea ebp,[eax+eax*4+0Ah] shl esi,02h lea eax,[eax+ebp*2+02h] shl eax,1 sub eax,esi cmp eax,ebx jle L00407FFC mov ebx,eax L00407FFC: cmp eax,edx jge L00408002 mov edx,eax L00408002: movsx eax,[ecx+73h] shl eax,02h sub edi,eax cmp edi,ebx jle L00408011 mov ebx,edi L00408011: cmp edi,edx jge L00408020 mov [ecx+0Ch],edi pop edi pop esi mov [ecx+14h],ebx pop ebp pop ebx retn ;------------------------------------------------------------------------------ L00408020: pop edi pop esi mov [ecx+14h],ebx pop ebp mov [ecx+0Ch],edx pop ebx retn ;------------------------------------------------------------------------------ Align 8 L00408030: sub esp,00000038h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+74h] test eax,eax jnz L00408325 mov eax,[esi+3Ch] cmp eax,00000002h jnz L0040805A mov ecx,[L0051C768] test ecx,ecx jz L00408325 L0040805A: mov edx,[L00C88544] lea ecx,[00000000h+eax*8] sub ecx,eax xor eax,eax mov ax,[edx+ecx*4+04h] test eax,eax jle L00408325 cmp eax,00001000h jge L00408325 lea ecx,[esp+10h] lea edx,[esp+14h] push ecx push edx push eax push 0000000Ah push 00000009h call SUB_L0045EF20 mov edi,eax mov eax,[esp+28h] add esp,00000014h test eax,eax jz L00408325 mov eax,[esi+30h] mov ecx,[esi+08h] mov ebx,[L0051A760] mov ebp,[L0051A75C] lea edx,[eax+eax*4] sub ecx,ebx mov [esp+3Ch],ecx mov byte ptr [esp+20h],01h lea eax,[eax+edx*2] lea edx,[ecx+16h] mov [esp+18h],edx mov byte ptr [esp+2Ch],02h movsx edx,[esi+70h] shl eax,1 sub eax,ebp mov byte ptr [esp+38h],03h shl edx,02h mov ebx,eax mov byte ptr [esp+44h],04h sub ebx,edx lea edx,[ecx+2Eh] mov [esp+24h],edx dec ebx movsx edx,[esi+71h] mov [esp+1Ch],ebx mov ebx,eax shl edx,02h sub ebx,edx lea edx,[ecx+17h] movsx ecx,[esi+73h] mov [esp+30h],edx add ebx,00000016h movsx edx,[esi+72h] mov [esp+28h],ebx mov ebx,eax shl edx,02h shl ecx,02h sub ebx,edx sub eax,ecx mov ecx,[L00C884DC] add ebx,0000002Dh add eax,00000016h mov [esp+34h],ebx mov [esp+40h],eax mov edx,[ecx] call [edx+00000098h] mov ebx,eax mov eax,[L0051C774] neg ebx sbb ebx,ebx neg ebx test eax,eax jnz L0040824C mov cl,[esi+70h] mov al,[esi+71h] cmp cl,al jnz L004081F2 cmp al,[esi+72h] jnz L004081F2 movsx eax,[esi+73h] movsx ecx,cl sub eax,ecx cmp eax,00000014h jle L004081F2 mov eax,[esi+58h] mov ebp,[esp+4Ch] mov ecx,[esi+54h] mov edx,[esi+50h] push ebp mov ebp,[esi+eax*4+40h] push ebp mov ebp,[esi+ecx*4+40h] lea eax,[eax+eax*2] push ebp mov ebp,[esi+edx*4+40h] lea ecx,[ecx+ecx*2] lea eax,[esp+eax*4+24h] push ebp push eax lea eax,[esp+ecx*4+2Ch] lea ecx,[edx+edx*2] push eax mov eax,[esp+28h] lea edx,[esp+ecx*4+30h] mov ecx,[L00B189FC] push edx push eax test ebx,ebx push edi push ecx jnz L004081CC call SUB_L0040E490 jmp L004081D1 L004081CC: call SUB_L0040DA80 L004081D1: mov ecx,[esp+40h] add esp,00000028h inc ecx mov [esp+18h],ecx L004081DD: mov eax,[esi+64h] mov ecx,[esi+60h] mov edx,[esi+5Ch] test ebx,ebx mov ebx,[esp+4Ch] push ebx jmp L004082D5 L004081F2: mov eax,[esi+58h] mov ebp,[esp+4Ch] mov ecx,[esi+54h] mov edx,[esi+50h] push ebp mov ebp,[esi+eax*4+40h] push ebp mov ebp,[esi+ecx*4+40h] lea eax,[eax+eax*2] push ebp mov ebp,[esi+edx*4+40h] lea ecx,[ecx+ecx*2] lea eax,[esp+eax*4+24h] push ebp push eax lea eax,[esp+ecx*4+2Ch] lea ecx,[edx+edx*2] push eax mov eax,[esp+28h] lea edx,[esp+ecx*4+30h] mov ecx,[L00B189FC] push edx push eax test ebx,ebx push edi push ecx jnz L00408242 call SUB_L0040E490 add esp,00000028h jmp L004081DD L00408242: call SUB_L0040DA80 add esp,00000028h jmp L004081DD L0040824C: mov edx,[esi+68h] mov ecx,[L0051C778] mov ebp,[esp+4Ch] movsx eax,[edx+esi+70h] cmp eax,ecx jg L004082B7 mov eax,[esi+58h] mov ecx,[esi+54h] mov edx,[esi+50h] push ebp mov ebp,[esi+eax*4+40h] lea eax,[eax+eax*2] push ebp mov ebp,[esi+ecx*4+40h] push ebp mov ebp,[esi+edx*4+40h] lea eax,[esp+eax*4+24h] lea ecx,[ecx+ecx*2] push ebp push eax lea eax,[esp+ecx*4+2Ch] lea ecx,[edx+edx*2] push eax mov eax,[esp+28h] lea edx,[esp+ecx*4+30h] mov ecx,[L00B189FC] push edx push eax test ebx,ebx push edi push ecx jnz L004082AB call SUB_L0040E490 jmp L004082B0 L004082AB: call SUB_L0040DA80 L004082B0: mov ebp,[esp+74h] add esp,00000028h L004082B7: mov edx,[esi+6Ch] mov ecx,[L0051C778] movsx eax,[edx+esi+70h] cmp eax,ecx jg L00408325 mov eax,[esi+64h] mov ecx,[esi+60h] mov edx,[esi+5Ch] push ebp test ebx,ebx L004082D5: mov ebx,[esi+eax*4+40h] lea eax,[eax+eax*2] push ebx mov ebx,[esi+ecx*4+40h] mov esi,[esi+edx*4+40h] push ebx lea eax,[esp+eax*4+24h] lea ecx,[ecx+ecx*2] push esi push eax lea eax,[esp+ecx*4+2Ch] lea ecx,[edx+edx*2] push eax mov eax,[esp+28h] lea edx,[esp+ecx*4+30h] mov ecx,[L00B189FC] push edx push eax push edi push ecx jnz L0040831D call SUB_L0040E490 add esp,00000028h pop edi pop esi pop ebp pop ebx add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ L0040831D: call SUB_L0040DA80 add esp,00000028h L00408325: pop edi pop esi pop ebp pop ebx add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00408330: push edi mov ecx,00001000h xor eax,eax mov edi,L00516754 rep stosd mov [L00516750],eax mov [L0051674C],eax mov eax,FFFFFF80h pop edi mov [L00515744],eax mov [L00515748],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L00408360: push esi push edi xor edi,edi L00408364: xor esi,esi L00408366: push esi push edi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L00408366 inc edi cmp edi,00000040h jl L00408364 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00408380: push ecx mov eax,[esp+0Ch] mov ecx,[esp+08h] shl eax,06h add eax,ecx push ebx push esi mov dword ptr [esp+08h],00000000h mov esi,[L00516754+eax*4] lea ebx,[L00516754+eax*4] test esi,esi jz L00408453 push edi L004083AF: mov edx,[esi] mov edi,[esi+18h] mov ecx,esi call [edx+2Ch] test eax,eax jnz L004083C8 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00408435 L004083C8: mov eax,[esi+18h] test eax,eax jz L004083D5 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L004083D5: mov eax,[esi+1Ch] test eax,eax jz L004083E4 mov edx,[esi+18h] mov [eax+18h],edx jmp L004083E9 L004083E4: mov eax,[esi+18h] mov [ebx],eax L004083E9: mov dword ptr [esi+20h],00000000h mov eax,[L00C884DC] cmp esi,eax jnz L00408408 call SUB_L0040C940 mov dword ptr [esp+0Ch],00000001h jmp L00408435 L00408408: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0040842E mov eax,[esi+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 test al,al jnz L00408435 mov edx,[esi] mov ecx,esi call [edx+04h] jmp L00408435 L0040842E: mov eax,[esi] mov ecx,esi call [eax+04h] L00408435: test edi,edi mov esi,edi jnz L004083AF mov eax,[esp+0Ch] pop edi test eax,eax jz L00408453 mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] L00408453: pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00408460: sub esp,00000008h mov eax,[L00C83B64] mov ecx,[L00C83B60] push ebx push ebp push esi mov esi,[L00515748] lea ebx,[eax-20h] lea ebp,[ecx-20h] push edi mov edi,[L00515744] cmp esi,ebx mov [esp+10h],ebx mov [esp+14h],ebp jnz L00408498 cmp edi,ebp jz L004085DE L00408498: lea edx,[esi+20h] cmp edx,00001400h jge L00408503 cmp esi,000013C0h jl L004084BB test ebx,ebx jge L004084BB sub esi,00001400h mov [L00515748],esi L004084BB: test esi,esi jge L004084D3 cmp ebx,000013C0h jle L004084D3 add esi,00001400h mov [L00515748],esi L004084D3: cmp edi,00000FC0h jl L004084EB test ebp,ebp jge L004084EB sub edi,00001000h mov [L00515744],edi L004084EB: test edi,edi jge L00408503 cmp ebp,00000FC0h jle L00408503 add edi,00001000h mov [L00515744],edi L00408503: mov ecx,ebx sub ebp,edi sub ecx,esi mov eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000040h jge L00408615 mov eax,ebp cdq xor eax,edx sub eax,edx cmp eax,00000040h jge L00408615 test ecx,ecx jle L00408559 mov eax,[esp+10h] mov ebx,esi cmp ebx,eax jge L00408588 L00408537: mov edi,ebx xor esi,esi and edi,0000003Fh L0040853E: push esi push edi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L0040853E mov eax,[esp+10h] inc ebx cmp ebx,eax jl L00408537 jmp L00408582 L00408559: jge L0040858C cmp [esp+10h],esi jge L00408588 L00408561: mov edi,ebx xor esi,esi and edi,0000003Fh L00408568: push esi push edi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L00408568 mov eax,[L00515748] inc ebx cmp ebx,eax jl L00408561 L00408582: mov edi,[L00515744] L00408588: mov ebx,[esp+10h] L0040858C: test ebp,ebp jle L004085E6 mov eax,[esp+14h] mov ebx,edi cmp ebx,eax jge L004085BA L0040859A: mov edi,ebx xor esi,esi and edi,0000003Fh L004085A1: push edi push esi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L004085A1 mov eax,[esp+14h] inc ebx cmp ebx,eax jl L0040859A L004085BA: mov ebx,[esp+10h] L004085BE: mov eax,[esp+14h] mov [L00515748],ebx mov [L00515744],eax and ebx,0000003Fh and eax,0000003Fh mov [L0051674C],ebx mov [L00516750],eax L004085DE: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004085E6: jge L004085BE mov ebx,[esp+14h] mov eax,ebx cmp eax,edi jge L004085BA L004085F2: mov edi,ebx xor esi,esi and edi,0000003Fh L004085F9: push edi push esi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L004085F9 mov eax,[L00515744] inc ebx cmp ebx,eax jl L004085F2 jmp L004085BA L00408615: xor edi,edi L00408617: xor esi,esi L00408619: push esi push edi call SUB_L00408380 add esp,00000008h inc esi cmp esi,00000040h jl L00408619 inc edi cmp edi,00000040h jl L00408617 jmp L004085BE Align 16 SUB_L00408640: sub esp,00000024h mov eax,[esp+28h] mov ecx,[L0051A760] mov edx,[esp+2Ch] add ecx,eax mov eax,[L0051A75C] mov [esp+00h],ecx mov ecx,[L0051C76C] add eax,edx push ebx dec ecx push ebp push esi test ecx,ecx push edi mov [esp+38h],eax mov [esp+2Ch],ecx jl L00408F78 L00408679: mov eax,[L0051A764+ecx*4] mov edi,[L00516750] mov esi,[L0051674C] mov edx,eax sar edx,06h add edx,edi add esi,eax and edx,0000003Fh and esi,0000003Fh shl edx,06h add edx,esi mov esi,[L00516754+edx*4] test esi,esi jz L00408F6D mov eax,[esi+18h] test eax,eax jz L004086BF L004086B6: mov esi,eax mov eax,[esi+18h] test eax,eax jnz L004086B6 L004086BF: test esi,esi jz L00408F6D L004086C7: mov eax,[esp+10h] mov ecx,[esi+08h] cmp eax,ecx jl L00408F5E mov ecx,eax mov eax,[esi+10h] cmp ecx,eax jge L00408F5E mov edx,[esp+38h] mov eax,[esi+0Ch] cmp edx,eax jl L00408F5E mov ecx,[esi+14h] mov eax,edx cmp eax,ecx jge L00408F5E mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00408F5E mov eax,[esi] mov ecx,esi call [eax+38h] test eax,eax jnz L00408F5E mov edx,[esi] mov ecx,esi call [edx+34h] test eax,eax jnz L00408F5E mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0040875C mov eax,[esp+40h] test eax,eax jnz L00408F5E mov eax,[L0051C774] test eax,eax jz L0040875C movsx ecx,[esi+28h] cmp ecx,[L0051C778] jg L00408F5E L0040875C: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L004087B9 mov ax,[esp+10h] mov cx,[esp+38h] sub ax,[esi+08h] sub cx,[esi+0Ch] and eax,0000FFFFh and ecx,0000FFFFh lea edx,[ecx+eax] cmp edx,00000014h jle L00408F5E cmp edx,00000042h jge L00408F5E mov edx,0000002Bh sub edx,eax add ecx,edx cmp ecx,00000014h jle L00408F5E cmp ecx,00000042h jl L00408F8F jmp L00408F5E L004087B9: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L00408F5E mov al,[L00C8C495] test al,al jz L004087E2 push esi call SUB_L00401220 add esp,00000004h test eax,eax jnz L00408F5E L004087E2: mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L004088C3 mov ax,[esi+40h] cmp ax,03E8h jnc L00408F5E lea ecx,[esp+14h] lea edx,[esp+3Ch] push ecx xor ecx,ecx mov cl,[esi+72h] push edx and eax,0000FFFFh push ecx push eax call SUB_L004058F0 mov ecx,[esp+4Ch] lea edx,[esp+2Ch] lea eax,[esp+30h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000024h test eax,eax jz L00408F5E mov ecx,[esp+14h] mov edx,[eax+00000200h] add eax,00000200h cmp ecx,edx jge L00408F5E mov edx,[eax+ecx*4+04h] mov ebx,[L00C83A54] movsx ecx,[esi+26h] lea edi,[edx+eax+08h] mov ebp,00000005h movsx edx,[esi+24h] mov eax,edx push edi sub eax,ecx add eax,ebx lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] lea ebx,[eax+eax+01h] movsx eax,[esi+28h] sub ebp,eax lea eax,[edx+ecx] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] shl edx,1 lea eax,[edx+ebp*4] mov edx,[esp+3Ch] push eax mov al,[esi+72h] and eax,0000007Fh push ebx mov ecx,[L004FBB60+eax*4] mov eax,[esp+1Ch] push ecx push edx push eax call SUB_L00402B30 add esp,00000018h test eax,eax jnz L00408F8F jmp L00408F5E L004088C3: mov edx,[esi] mov ecx,esi call [edx+28h] test eax,eax jz L00408BBA mov ecx,[L00C884DC] cmp word ptr [ecx+3Ch],03E8h jnc L00408F5E call SUB_L004B4080 test eax,eax jz L00408912 mov edx,[esp+38h] mov ecx,[L00C884DC] push edx mov edx,[esp+14h] mov eax,[ecx] push edx call [eax+0000008Ch] test eax,eax jnz L00408F8F jmp L00408F5E L00408912: mov ecx,[L00C884DC] xor edi,edi mov di,[ecx+3Ch] cmp edi,00000192h jnz L0040892D mov edi,00000190h jmp L0040893A L0040892D: cmp edi,00000193h jnz L0040893A mov edi,00000191h L0040893A: mov eax,[ecx] call [eax+00000090h] mov ecx,eax mov eax,[L00C884DC] lea edx,[esp+14h] push eax push edx lea edx,[esp+44h] push edx mov edx,[L00C85350] push edx xor edx,edx mov dx,[eax+000001BCh] xor ebx,ebx mov bx,[eax+000001B0h] mov [esp+34h],ecx add edx,ebx push edx xor edx,edx mov dx,[eax+000001AEh] push edx push ecx mov ecx,[L00C8535C] xor edx,edx mov dl,[eax+72h] push ecx push edx push edi call SUB_L00405400 mov edx,[esp+64h] lea eax,[esp+44h] lea ecx,[esp+48h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00408F5E mov ecx,[esp+14h] mov edx,[eax+00000200h] add eax,00000200h cmp ecx,edx jge L00408F5E mov ecx,[eax+ecx*4+04h] mov ebp,[L00C83A54] lea ebx,[ecx+eax+08h] mov ecx,[L00C884DC] push ebx mov ebx,[esp+14h] movsx edi,[ecx+24h] movsx edx,[ecx+26h] mov eax,edi sub eax,edx add eax,ebp lea ebp,[eax+eax*4] lea eax,[eax+ebp*2] mov ebp,[L00B189F4] lea ebp,[ebp+eax*2+01h] mov eax,00000005h sub eax,[ecx+00000194h] mov [esp+2Ch],eax lea eax,[edi+edx] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L00B189F0] lea eax,[edx+eax*2] mov edx,[esp+2Ch] lea eax,[eax+edx*4] mov edx,[esp+3Ch] mov [esp+2Ch],eax push eax mov al,[ecx+72h] push ebp and eax,0000007Fh mov ecx,[L004FBB60+eax*4] push ecx push edx push ebx call SUB_L00402B30 add esp,00000018h test eax,eax mov eax,[L00C884DC] jnz L00408F7A cmp word ptr [eax+3Ch],0190h jc L00408F5E mov dword ptr [esp+18h],00000000h L00408A6E: mov cl,[eax+72h] mov edx,[esp+18h] and ecx,00000007h lea ecx,[ecx+ecx*4] lea edx,[edx+ecx*4] add ecx,edx mov edi,[L004FB7D0+ecx*4] cmp edi,00000015h jz L00408BA3 mov ecx,[eax+edi*4+000000C8h] test ecx,ecx jz L00408BA3 add eax,000000C8h push eax push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L00408B9E mov eax,[L00C884DC] xor ecx,ecx mov edx,[eax+edi*4+000000C8h] mov edi,[L00C88540] mov cx,[edx+3Ch] lea edx,[ecx+ecx*4] xor ecx,ecx mov cx,[edi+edx*8+0Ch] cmp ecx,00000190h jc L00408BA3 cmp ecx,000003E8h jnc L00408BA3 lea edx,[esp+14h] push eax push edx lea edx,[esp+44h] push edx mov edx,[L00C85350] push edx xor edx,edx mov dx,[eax+000001BCh] xor edi,edi mov di,[eax+000001B0h] add edx,edi push edx xor edx,edx mov dx,[eax+000001AEh] push edx mov edx,[esp+3Ch] push edx mov edx,[L00C8535C] push edx xor edx,edx mov dl,[eax+72h] push edx push ecx call SUB_L00405400 mov edx,[esp+64h] lea eax,[esp+44h] lea ecx,[esp+48h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00408B9E mov ecx,[esp+14h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00408B9E lea edx,[ecx+eax+08h] mov ecx,[L00C884DC] mov eax,[esp+28h] push edx mov dl,[ecx+72h] mov ecx,[esp+3Ch] and edx,0000007Fh push eax push ebp mov eax,[L004FBB60+edx*4] push eax push ecx push ebx call SUB_L00402B30 add esp,00000018h test eax,eax jnz L00408F82 L00408B9E: mov eax,[L00C884DC] L00408BA3: mov ecx,[esp+18h] inc ecx cmp ecx,00000019h mov [esp+18h],ecx jl L00408A6E jmp L00408F5E L00408BBA: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00408E8F cmp word ptr [esi+3Ch],03E8h jnc L00408F5E mov ecx,esi call SUB_L004B4080 test eax,eax jz L00408C01 mov ecx,[esp+38h] mov edx,[esp+10h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+0000008Ch] test eax,eax jnz L00408F8F jmp L00408F5E L00408C01: xor ebx,ebx mov bx,[esi+3Ch] cmp ebx,00000192h mov [esp+18h],ebx jnz L00408C1A mov ebx,00000190h jmp L00408C27 L00408C1A: cmp ebx,00000193h jnz L00408C2B mov ebx,00000191h L00408C27: mov [esp+18h],ebx L00408C2B: mov eax,[esi] mov ecx,esi call [eax+00000090h] lea ecx,[esp+14h] push esi push ecx mov ecx,[esi+00000148h] lea edx,[esp+44h] lea edi,[esi+72h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[esi+000001BCh] mov cx,[esi+000001B0h] add edx,ecx mov [esp+34h],eax push edx xor edx,edx mov dx,[esi+000001AEh] xor ecx,ecx mov cl,[edi] push edx push eax mov eax,[esi+00000144h] push eax push ecx push ebx call SUB_L00405400 mov ecx,[esp+64h] lea edx,[esp+44h] lea eax,[esp+48h] push edx push eax push ecx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00408F5E mov edx,[eax+00000200h] mov ecx,[esp+14h] add eax,00000200h cmp ecx,edx mov [esp+30h],edx jge L00408F5E mov edx,[eax+ecx*4+04h] mov ebx,[L00C83A54] movsx ecx,[esi+26h] lea ebp,[edx+eax+08h] movsx edx,[esi+24h] mov eax,edx push ebp sub eax,ecx add eax,ebx lea ebx,[eax+eax*4] lea ebx,[eax+ebx*2] mov eax,[esi+0000018Ch] shl ebx,1 sub ebx,eax mov eax,00000005h sub eax,[esi+00000194h] inc ebx mov [esp+2Ch],eax lea eax,[edx+ecx] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[esp+2Ch] mov cl,[edi] shl edx,1 and ecx,0000007Fh lea eax,[edx+eax*4] mov edx,[esi+00000190h] sub eax,edx mov edx,[L004FBB60+ecx*4] mov ecx,[esp+14h] mov [esp+2Ch],eax push eax mov eax,[esp+40h] push ebx push edx push eax push ecx call SUB_L00402B30 add esp,00000018h test eax,eax jnz L00408F8F cmp dword ptr [esp+18h],00000190h jl L00408F5E mov dword ptr [esp+18h],00000000h L00408D58: mov eax,edi mov edx,[esp+18h] mov al,[eax] and eax,00000007h lea eax,[eax+eax*4] lea ecx,[edx+eax*4] add eax,ecx mov ebp,[L004FB7D0+eax*4] cmp ebp,00000015h jz L00408E78 mov eax,[esi+ebp*4+000000C8h] test eax,eax jz L00408E78 lea edx,[esi+000000C8h] push edx push ebp call SUB_L004A2510 add esp,00000008h test eax,eax jnz L00408E78 mov ecx,[esi+ebp*4+000000C8h] mov ax,[ecx+3Ch] mov ecx,[L00C88540] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jc L00408E78 cmp eax,000003E8h jnc L00408E78 lea edx,[esp+14h] push esi push edx mov edx,[esi+00000148h] lea ecx,[esp+44h] push ecx push edx xor ecx,ecx xor edx,edx mov cx,[esi+000001BCh] mov dx,[esi+000001B0h] add ecx,edx mov edx,[esp+34h] push ecx mov ecx,[esp+44h] push ecx mov ecx,[esi+00000144h] push edx xor edx,edx mov dl,[edi] push ecx push edx push eax call SUB_L00405400 mov edx,[esp+64h] lea eax,[esp+44h] lea ecx,[esp+48h] push eax push ecx push edx push 00000006h push 00000005h call SUB_L0045EF20 add esp,0000003Ch test eax,eax jz L00408E78 mov ecx,[esp+14h] add eax,00000200h mov ecx,[eax+ecx*4+04h] test ecx,ecx jz L00408E78 lea edx,[ecx+eax+08h] mov cl,[edi] mov eax,[esp+28h] and ecx,0000007Fh push edx push eax mov edx,[L004FBB60+ecx*4] mov eax,[esp+40h] mov ecx,[esp+18h] push ebx push edx push eax push ecx call SUB_L00402B30 add esp,00000018h test eax,eax jnz L00408F8F L00408E78: mov eax,[esp+18h] inc eax cmp eax,00000019h mov [esp+18h],eax jl L00408D58 jmp L00408F5E L00408E8F: xor eax,eax mov ax,[esi+3Ch] cmp eax,00000001h jz L00408EA8 cmp eax,00002197h jle L00408EB5 cmp eax,000021A2h jg L00408EB5 L00408EA8: mov eax,[L0051C768] test eax,eax jz L00408F5E L00408EB5: mov edx,[esi] mov ecx,esi call [edx+78h] mov ebp,eax mov eax,[L007050EC] test eax,eax jz L00408EE1 mov ecx,esi call SUB_L0047FD20 test eax,eax jz L00408EE1 push 00006127h call SUB_L004B9530 add esp,00000004h mov ebp,eax L00408EE1: mov eax,[esi] mov ecx,esi call [eax+7Ch] mov di,[esp+10h] mov bx,[esp+38h] sub di,[esi+08h] sub bx,[esi+0Ch] mov [esp+30h],eax and edi,0000FFFFh and ebx,0000FFFFh test ebp,ebp jz L00408F3E push ebx push edi push ebp call SUB_L004B9550 add esp,0000000Ch test ax,ax jnz L00408F8F mov eax,[esp+30h] test eax,eax jz L00408F5E add ebx,FFFFFFFBh add edi,FFFFFFFBh push ebx push edi push ebp call SUB_L004B9550 add esp,0000000Ch test ax,ax jnz L00408F8F jmp L00408F5E L00408F3E: lea eax,[ebx+edi] cmp eax,00000014h jle L00408F5E cmp eax,00000042h jge L00408F5E mov eax,0000002Bh sub eax,edi add ebx,eax cmp ebx,00000014h jle L00408F5E cmp ebx,00000042h jl L00408F8F L00408F5E: mov esi,[esi+1Ch] test esi,esi jnz L004086C7 mov ecx,[esp+2Ch] L00408F6D: dec ecx mov [esp+2Ch],ecx jns L00408679 L00408F78: xor eax,eax L00408F7A: pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00408F82: mov eax,[L00C884DC] pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00408F8F: mov eax,esi pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00408FA0: sub esp,00000008h mov eax,[esp+0Ch] mov ecx,[L0051A760] mov edx,[esp+10h] push ebx lea ebx,[ecx+eax] mov eax,[L0051A75C] add eax,edx mov edx,[L0051C76C] mov [esp+10h],eax xor ecx,ecx lea eax,[edx-01h] push ebp test eax,eax mov ebp,0000270Fh mov [esp+08h],ecx jl L004090A8 lea edx,[L0051A764+eax*4] inc eax push esi push edi mov [esp+20h],edx mov [esp+14h],eax L00408FEF: mov eax,[esp+20h] mov esi,[L00516750] mov eax,[eax] mov edx,eax sar edx,06h add edx,esi mov esi,[L0051674C] and edx,0000003Fh add esi,eax shl edx,06h and esi,0000003Fh add edx,esi mov esi,[L00516754+edx*4] test esi,esi jz L00409084 L00409020: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00409079 mov edi,[esi+08h] cmp ebx,edi jl L00409079 mov ecx,[esi+10h] cmp ebx,ecx jge L00409079 mov edx,[esi+0Ch] mov eax,[esp+1Ch] cmp eax,edx jl L00409079 mov eax,[esi+14h] cmp [esp+1Ch],eax jge L00409079 add edx,eax mov eax,[esp+1Ch] sar edx,1 add edi,ecx sub eax,edx sar edi,1 mov ecx,ebx cdq sub ecx,edi mov edi,eax xor edi,edx mov eax,ecx sub edi,edx cdq xor eax,edx sub eax,edx add eax,edi cmp eax,ebp jge L00409079 mov [esp+10h],esi mov ebp,eax L00409079: mov esi,[esi+18h] test esi,esi jnz L00409020 mov ecx,[esp+10h] L00409084: mov edx,[esp+20h] mov eax,[esp+14h] sub edx,00000004h dec eax mov [esp+20h],edx mov [esp+14h],eax jnz L00408FEF pop edi pop esi pop ebp mov eax,ecx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004090A8: pop ebp mov eax,ecx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L004090B0: mov eax,[esp+08h] mov ecx,[esp+04h] and eax,0000003Fh and ecx,0000003Fh shl eax,06h add eax,ecx mov eax,[L00516754+eax*4] test eax,eax jnz L004090CF retn ;------------------------------------------------------------------------------ L004090CF: mov ecx,[eax+18h] test ecx,ecx jz L004090DF L004090D6: mov eax,ecx mov ecx,[eax+18h] test ecx,ecx jnz L004090D6 L004090DF: retn ;------------------------------------------------------------------------------ SUB_L004090E0: sub esp,00000010h mov eax,L00516754 push ebx mov ebx,[esp+18h] push ebp push esi push edi L004090F0: mov edi,eax mov ebp,00000040h L004090F7: mov esi,[edi] test esi,esi jz L0040916C L004090FD: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00409165 movsx ecx,[esi+26h] movsx edx,[esi+24h] push ecx push edx call SUB_L00475D60 xor eax,ebx add esp,00000008h test eax,00007FFFh jnz L00409165 mov eax,[esi+20h] test eax,eax jz L00409165 mov ecx,[esi+0Ch] mov eax,[L0051A75C] mov edx,[esi+14h] sub ecx,eax sub edx,eax mov eax,[L0051A760] mov [esp+14h],ecx mov ecx,[esi+08h] mov [esp+1Ch],edx mov edx,[esi+10h] sub ecx,eax sub edx,eax lea eax,[esp+10h] mov [esp+10h],ecx push eax mov [esp+1Ch],edx call SUB_L0040BD80 add esp,00000004h L00409165: mov esi,[esi+18h] test esi,esi jnz L004090FD L0040916C: add edi,00000004h dec ebp jnz L004090F7 cmp edi,L0051A754 mov eax,edi jl L004090F0 pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00409190: push ebx push ebp mov ebp,[esp+0Ch] push esi push edi mov eax,L00516754 L0040919D: mov edi,eax mov ebx,00000040h L004091A4: mov esi,[edi] test esi,esi jz L004091EC L004091AA: mov eax,[esi+20h] test eax,eax jz L004091E5 mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L004091E5 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L004091E5 movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx cmp eax,ebp jnz L004091E5 mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] mov ecx,esi call [eax+10h] L004091E5: mov esi,[esi+18h] test esi,esi jnz L004091AA L004091EC: add edi,00000004h dec ebx jnz L004091A4 cmp edi,L0051A754 mov eax,edi jl L0040919D pop edi pop esi pop ebp pop ebx 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 ecx mov al,[esp+03h] push 0000000Ch mov [L00515738],al call SUB_L004D4FA9 mov [eax],eax mov [eax+04h],eax push L00409250 mov [L0051573C],eax mov dword ptr [L00515740],00000000h call SUB_L004D50AD add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 L00409250: push esi push edi mov edi,[L0051573C] mov esi,[edi] cmp esi,edi jz L0040928B L0040925E: mov eax,esi mov esi,[esi] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov ecx,[L00515740] add esp,00000004h dec ecx cmp esi,edi mov [L00515740],ecx jnz L0040925E L0040928B: mov eax,[L0051573C] push eax call SUB_L004D4F9E add esp,00000004h xor eax,eax mov [L0051573C],eax mov [L00515740],eax pop edi pop esi retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ecx mov al,[esp+03h] push 0000000Ch mov [L00515728],al call SUB_L004D4FA9 mov [eax],eax mov [eax+04h],eax push L004092F0 mov [L0051572C],eax mov dword ptr [L00515730],00000000h call SUB_L004D50AD add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 L004092F0: push esi push edi mov edi,[L0051572C] mov esi,[edi] cmp esi,edi jz L0040932B L004092FE: mov eax,esi mov esi,[esi] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov ecx,[L00515730] add esp,00000004h dec ecx cmp esi,edi mov [L00515730],ecx jnz L004092FE L0040932B: mov eax,[L0051572C] push eax call SUB_L004D4F9E add esp,00000004h xor eax,eax mov [L0051572C],eax mov [L00515730],eax pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00409350: push ebx mov ebx,[esp+08h] cmp dword ptr [ebx+000001D4h],FFFFFFFFh jnz L004093B0 push esi mov esi,[L0051573C] push edi push 0000000Ch mov edi,[esi+04h] call SUB_L004D4FA9 add esp,00000004h mov ecx,esi test esi,esi jnz L0040937B mov ecx,eax L0040937B: mov [eax],ecx mov ecx,edi test edi,edi jnz L00409385 mov ecx,eax L00409385: mov [eax+04h],ecx mov [esi+04h],eax mov ecx,[eax+04h] pop edi pop esi mov [ecx],eax add eax,00000008h test eax,eax jz L0040939B mov [eax],ebx L0040939B: mov eax,[L00515740] inc eax mov [L00515740],eax mov dword ptr [ebx+000001D4h],00000001h L004093B0: mov dword ptr [L00C88330],00000000h pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004093C0: push esi mov esi,[esp+08h] push edi xor edi,edi test byte ptr [esi+000001B0h],80h jz L004093D6 mov edi,00000001h L004093D6: cmp dword ptr [esi+000001D4h],FFFFFFFFh jz L0040946F mov eax,[esi+20h] test eax,eax jz L00409404 mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi mov dword ptr [esi+000001A8h],00000000h call [edx+10h] jmp L0040940E L00409404: mov dword ptr [esi+000001A8h],00000000h L0040940E: mov ecx,[esi+000001C8h] test ecx,ecx jz L00409427 call SUB_L0045D0F0 mov dword ptr [esi+000001C8h],00000000h L00409427: mov ecx,[L0051573C] mov eax,[ecx] cmp eax,ecx jz L00409465 L00409433: cmp [eax+08h],esi jz L0040943E mov eax,[eax] cmp eax,ecx jnz L00409433 L0040943E: cmp eax,ecx jz L00409465 mov ecx,[eax+04h] mov edx,[eax] push eax mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov eax,[L00515740] add esp,00000004h dec eax mov [L00515740],eax L00409465: mov dword ptr [esi+000001D4h],FFFFFFFFh L0040946F: test edi,edi jz L0040949B cmp esi,[L00C884DC] jz L0040949B mov eax,[esp+10h] mov ecx,[esi+7Ch] and eax,000000FFh push eax push ecx push 00000000h call SUB_L0047ED90 add esp,0000000Ch mov eax,00000001h pop edi pop esi retn ;------------------------------------------------------------------------------ L0040949B: pop edi mov dword ptr [L00C88330],00000001h xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004094B0: push esi push edi mov esi,ecx xor edi,edi cmp [esi+000001B6h],di jz L00409567 mov ax,[esi+000001ACh] cmp ax,di jz L004094F5 cmp ax,[esi+000001AEh] ja L004094F5 mov eax,[esi] call [eax+14h] mov edx,[esi] dec word ptr [esi+000001ACh] mov ecx,esi mov [esi+000001B2h],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L004094F5: cmp [esi+000001BCh],di jnz L00409538 cmp [esi+000001B8h],di jz L004095D1 mov eax,[esi] mov ecx,esi mov [esi+000001B6h],di mov [esi+000001B8h],di call [eax+14h] mov edx,[esi] inc word ptr [esi+000001ACh] mov ecx,esi mov [esi+000001B2h],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00409538: mov eax,[esi] mov ecx,esi call [eax+14h] mov cx,[esi+000001AEh] dec word ptr [esi+000001BCh] mov edx,[esi] dec cx mov [esi+000001ACh],cx mov ecx,esi mov [esi+000001B2h],di call [edx+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00409567: xor eax,eax xor ecx,ecx mov ax,[esi+000001AEh] mov cx,[esi+000001ACh] dec eax cmp ecx,eax jl L00409604 xor edx,edx xor eax,eax mov dx,[esi+000001BAh] mov ax,[esi+000001BCh] dec edx cmp eax,edx jnz L004095DE cmp [esi+000001B8h],di jz L004095D1 mov edx,[esi] mov ecx,esi mov word ptr [esi+000001B6h],0001h mov [esi+000001B8h],di call [edx+14h] mov eax,[esi] dec word ptr [esi+000001ACh] mov ecx,esi mov [esi+000001B2h],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L004095D1: push edi push esi call SUB_L004093C0 add esp,00000008h pop edi pop esi retn ;------------------------------------------------------------------------------ L004095DE: mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] inc word ptr [esi+000001BCh] mov ecx,esi mov [esi+000001ACh],di mov [esi+000001B2h],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ L00409604: mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] inc word ptr [esi+000001ACh] mov ecx,esi mov [esi+000001B2h],di call [eax+10h] pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00409630: mov eax,[L0051573C] push esi mov esi,[eax] cmp esi,eax jz L00409672 L0040963C: mov ecx,[esi+08h] mov esi,[esi] mov dword ptr [L00C88330],00000000h mov ax,[ecx+000001B2h] cmp ax,[ecx+000001B4h] lea edx,[eax+01h] mov [ecx+000001B2h],dx jbe L0040966A call SUB_L004094B0 L0040966A: cmp esi,[L0051573C] jnz L0040963C L00409672: mov eax,[L0051572C] mov esi,[eax] cmp esi,eax jz L00409694 L0040967D: mov eax,[esi+08h] mov esi,[esi] push eax call SUB_L004096C0 mov eax,[L0051572C] add esp,00000004h cmp esi,eax jnz L0040967D L00409694: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004096A0: fld dword ptr [esp+04h] fmul dword ptr [L004E73F0] fmul qword ptr [L004E73E8] jmp SUB_L004D5008 Align 16 SUB_L004096C0: sub esp,00000010h push ebx push ebp push esi mov esi,[esp+20h] push edi mov ax,[esi+22h] cmp ax,02AAh jnz L004096E8 mov dl,[esi+34h] inc dl mov cl,dl mov [esi+34h],dl cmp cl,07h jle L004096E8 mov byte ptr [esi+34h],00h L004096E8: movsx ecx,[esi+34h] and eax,0000FFFFh lea edx,[ecx+eax+00004000h] push edx call SUB_L004B9530 mov edx,[esi+2Ch] mov ecx,[esi+30h] add esp,00000004h xor edi,edi xor ebp,ebp inc edx mov ebx,eax mov eax,edx cmp eax,ecx mov di,[ebx+04h] mov bp,[ebx+06h] mov [esi+2Ch],edx jnz L00409788 mov eax,[L0051572C] mov edi,[eax] cmp edi,eax jz L0040992A L0040972E: cmp [edi+08h],esi jz L00409739 mov edi,[edi] cmp edi,eax jnz L0040972E L00409739: cmp edi,eax jz L0040992A mov eax,[edi+08h] push SSZ004FBF58_background_for_missile_anim mov ecx,[eax+38h] push ecx call SUB_L00476000 mov edx,[edi+04h] mov eax,[edi] push edi mov [edx],eax mov ecx,[edi] mov edx,[edi+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov edx,[L00515730] dec edx mov [L00515730],edx mov eax,[edi+08h] push eax call SUB_L004D4F9E add esp,00000010h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00409788: 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 [esp+24h] fstp dword ptr [esi+04h] call SUB_L004D5008 fld dword ptr [esp+24h] lea ecx,[eax-3Ch] lea edx,[eax+edi+3Ch] mov [esp+10h],ecx mov [esp+18h],edx call SUB_L004D5008 lea ecx,[eax-3Ch] lea edx,[eax+ebp+3Ch] lea eax,[esp+10h] mov [esp+14h],ecx push eax mov [esp+20h],edx call SUB_L0040BD80 add esp,00000004h call SUB_L00447080 mov edi,eax call SUB_L00447090 cmp [esp+1Ch],eax jl L004097EC dec eax mov [esp+1Ch],eax L004097EC: cmp [esp+18h],edi jl L004097F7 dec edi mov [esp+18h],edi L004097F7: mov ecx,[esp+14h] xor eax,eax cmp ecx,eax jge L00409805 mov [esp+14h],eax L00409805: cmp [esp+10h],eax jge L0040980F mov [esp+10h],eax L0040980F: mov ecx,[esi+3Ch] cmp ecx,eax mov ecx,[esi+40h] push ecx jnz L00409890 call SUB_L004B95F0 add esp,00000004h test al,al jz L00409858 mov dl,[esi+20h] fld dword ptr [esi+04h] push edx call SUB_L004D5008 fld dword ptr [esi] and eax,0000FFFFh push eax call SUB_L004D5008 and eax,0000FFFFh push eax lea eax,[esp+1Ch] push eax push ebx call SUB_L0040AAF0 add esp,00000014h jmp L00409909 L00409858: mov ecx,[esi+40h] push ecx call SUB_L004B9600 mov dl,[esi+20h] fld dword ptr [esi+04h] push edx call SUB_L004D5008 fld dword ptr [esi] and eax,0000FFFFh push eax call SUB_L004D5008 and eax,0000FFFFh push eax lea eax,[esp+20h] push eax push ebx call SUB_L00409B20 add esp,00000018h jmp L00409909 L00409890: call SUB_L004B95F0 add esp,00000004h test al,al jz L004098CF mov edx,[esi+3Ch] mov al,[esi+20h] fld dword ptr [esi+04h] push edx push eax call SUB_L004D5008 fld dword ptr [esi] and eax,0000FFFFh push eax call SUB_L004D5008 and eax,0000FFFFh lea ecx,[esp+1Ch] push eax push ecx push ebx call SUB_L0040A630 add esp,00000018h jmp L00409909 L004098CF: mov edx,[esi+40h] push edx call SUB_L004B9600 mov eax,[esi+3Ch] mov cl,[esi+20h] fld dword ptr [esi+04h] push eax push ecx call SUB_L004D5008 fld dword ptr [esi] and eax,0000FFFFh push eax call SUB_L004D5008 and eax,0000FFFFh lea edx,[esp+20h] push eax push edx push ebx call SUB_L0040A070 add esp,0000001Ch L00409909: fild dword ptr [L0051A760] fadd dword ptr [esi] fstp dword ptr [esi] fild dword ptr [L0051A75C] mov eax,[esi] mov [esi+18h],eax fadd dword ptr [esi+04h] fstp dword ptr [esi+04h] mov ecx,[esi+04h] mov [esi+1Ch],ecx L0040992A: pop edi pop esi pop ebp pop ebx add esp,00000010h 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 ecx push esi xor esi,esi mov [esp+04h],esi L00409948: fild dword ptr [esp+04h] fmul qword ptr [L004E7400] fld ST(0) fcos fmul qword ptr [L004E73F8] call SUB_L004D5008 fsin mov [L0051CBB4+esi*4],eax fmul qword ptr [L004E73F8] call SUB_L004D5008 mov [L0051C7B4+esi*4],eax inc esi cmp esi,00000100h mov [esp+04h],esi jl L00409948 pop esi pop ecx retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push ebx push esi push edi xor esi,esi L00409995: mov ecx,esi mov eax,esi sar ecx,05h sar eax,0Bh and ecx,0000001Fh and eax,0000000Fh mov edx,esi add ecx,eax and edx,0000001Fh mov eax,55555556h add ecx,edx imul ecx mov eax,edx shr eax,1Fh add edx,eax mov [esi+L00CC8C0C],dl inc esi cmp esi,00010000h jl L00409995 xor esi,esi mov eax,L00CC7C0C L004099D2: xor ecx,ecx mov edx,00000020h L004099D9: mov edi,ecx add eax,00000002h sar edi,05h mov [eax-02h],di add ecx,esi dec edx jnz L004099D9 inc esi cmp eax,L00CC840C jl L004099D2 xor esi,esi mov edx,L00CC740C L004099F9: xor eax,eax L004099FB: lea ecx,[eax+esi] cmp ecx,0000001Fh jle L00409A08 mov ecx,0000001Fh L00409A08: mov [edx],cx inc eax add edx,00000002h cmp eax,00000020h jl L004099FB inc esi cmp edx,L00CC7C0C jl L004099F9 xor esi,esi mov edx,L00CC4C0C L00409A24: xor ecx,ecx L00409A26: mov eax,ecx sub eax,esi jns L00409A2E xor eax,eax L00409A2E: mov [edx],ax inc ecx add edx,00000002h cmp ecx,00000020h jl L00409A26 inc esi cmp edx,L00CC540C jl L00409A24 xor edi,edi mov eax,L00CC540C L00409A4A: mov ecx,edi mov esi,00000020h L00409A51: test ecx,ecx mov edx,ecx jge L00409A59 xor edx,edx L00409A59: mov [eax],dx add eax,00000002h dec ecx dec esi jnz L00409A51 inc edi cmp eax,L00CC5C0C jl L00409A4A xor edi,edi mov edx,L00CC6C0C L00409A72: xor ecx,ecx xor esi,esi L00409A76: mov eax,esi sar eax,05h add eax,ecx add eax,edi cmp eax,0000001Fh jle L00409A89 mov eax,0000001Fh L00409A89: mov [edx],ax inc ecx add edx,00000002h add esi,edi cmp ecx,00000020h jl L00409A76 inc edi cmp edx,L00CC740C jl L00409A72 xor edi,edi mov edx,L00CC640C L00409AA7: xor ecx,ecx xor esi,esi L00409AAB: lea eax,[ecx+edi] mov ebx,esi sar eax,1 sar ebx,05h add eax,ebx cmp eax,0000001Fh jle L00409AC1 mov eax,0000001Fh L00409AC1: mov [edx],ax inc ecx add edx,00000002h add esi,edi cmp ecx,00000020h jl L00409AAB inc edi cmp edx,L00CC6C0C jl L00409AA7 xor edi,edi mov edx,L00CC5C0C L00409ADF: xor ecx,ecx xor esi,esi L00409AE3: lea eax,[ecx+edi] mov ebx,esi sar eax,02h sar ebx,05h add eax,ebx cmp eax,0000001Fh jle L00409AFA mov eax,0000001Fh L00409AFA: mov [edx],ax inc ecx add edx,00000002h add esi,edi cmp ecx,00000020h jl L00409AE3 inc edi cmp edx,L00CC640C jl L00409ADF pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00409B20: mov eax,[esp+04h] sub esp,00000034h mov cx,[eax+04h] push ebx push ebp push esi mov ebx,[L00CD8C1C] push edi mov di,[eax+06h] mov eax,[esp+58h] and eax,000000FFh and eax,800000FFh jns L00409B50 dec eax or eax,FFFFFF00h inc eax L00409B50: mov edx,[esp+4Ch] mov esi,[esp+50h] mov [esp+58h],al mov eax,[edx] cmp eax,esi jle L00409B6A sub eax,esi mov [esp+4Ch],eax jmp L00409B72 L00409B6A: mov dword ptr [esp+4Ch],00000000h L00409B72: mov eax,[edx+08h] and ecx,0000FFFFh mov [esp+14h],ecx lea ebp,[ecx+esi] cmp eax,ebp jge L00409B8A sub eax,esi jmp L00409B8C L00409B8A: mov eax,ecx L00409B8C: mov ecx,[esp+4Ch] mov [esp+10h],eax cmp ecx,eax jge L00409DBF mov ecx,[edx+04h] mov eax,[esp+54h] cmp ecx,eax jle L00409BAB sub ecx,eax jmp L00409BAD L00409BAB: xor ecx,ecx L00409BAD: mov edx,[edx+0Ch] and edi,0000FFFFh mov [esp+30h],edi lea ebp,[edi+eax] cmp edx,ebp jge L00409BC5 sub edx,eax jmp L00409BC7 L00409BC5: mov edx,edi L00409BC7: mov ebp,[esp+14h] add eax,ecx imul eax,[L005073D0] shr ebp,1 mov [esp+28h],ebp mov ebp,edi shr ebp,1 mov [esp+2Ch],ebp mov ebp,[esp+48h] lea edi,[ebp+edi*2+08h] mov ebp,[esp+4Ch] add eax,ebp mov [esp+34h],edi add eax,esi mov esi,[L00B189FC] lea edi,[esi+eax*2] mov eax,[esp+58h] and eax,000000FFh shl eax,02h cmp ecx,edx mov ebp,[eax+L0051C7B4] mov eax,[eax+L0051CBB4] mov [esp+38h],ebp mov [esp+58h],eax jge L00409DBF mov esi,eax mov eax,ebp imul eax,[esp+4Ch] imul esi,ecx add esi,eax mov eax,ebp neg eax mov [esp+40h],eax mov eax,ebp mov ebp,[esp+58h] imul eax,ecx imul ebp,[esp+4Ch] sub ebp,eax sub edx,ecx mov [esp+50h],esi mov [esp+20h],ebp mov [esp+24h],edx L00409C5B: mov ecx,[esp+10h] mov esi,[esp+4Ch] mov eax,[esp+50h] mov edx,ebp sub ecx,esi mov [esp+3Ch],edi mov [esp+54h],edx mov [esp+18h],eax mov [esp+1Ch],ecx L00409C7B: mov ecx,[esp+28h] sar edx,10h add edx,ecx js L00409D60 cmp edx,[esp+14h] jge L00409D60 mov ecx,eax mov eax,[esp+2Ch] sar ecx,10h sub eax,ecx js L00409D60 cmp eax,[esp+30h] jge L00409D60 mov esi,[esp+48h] xor ecx,ecx mov cx,[esi+eax*2+08h] mov eax,[esp+34h] mov si,[eax+ecx*2] lea eax,[eax+ecx*2] mov cx,[eax+02h] add eax,00000002h add eax,00000002h test cx,cx jz L00409D60 L00409CD8: and esi,0000FFFFh sub edx,esi js L00409D60 and ecx,0000FFFFh cmp edx,ecx jl L00409D05 mov si,[eax+ecx*2] lea eax,[eax+ecx*2] add eax,00000002h sub edx,ecx mov cx,[eax] add eax,00000002h test cx,cx jnz L00409CD8 jmp L00409D60 L00409D05: mov cx,[edi] mov ax,[eax+edx*2] and ecx,0000FFFFh and eax,0000FFFFh mov edx,ecx mov esi,eax shr edx,05h and edx,000003E0h mov ebp,ecx shr esi,0Ah add edx,esi mov esi,eax shr esi,05h mov dx,[ebx+edx*2] and esi,0000001Fh and ebp,000003E0h and ecx,0000001Fh add esi,ebp and eax,0000001Fh shl dx,05h or dx,[ebx+esi*2] mov ebp,[esp+20h] shl ecx,05h add ecx,eax shl edx,05h or dx,[ebx+ecx*2] mov [edi],dx L00409D60: mov eax,[esp+18h] mov ecx,[esp+38h] mov edx,[esp+54h] mov esi,[esp+58h] add eax,ecx mov ecx,[esp+1Ch] add edx,esi add edi,00000002h dec ecx mov [esp+54h],edx mov [esp+18h],eax mov [esp+1Ch],ecx jnz L00409C7B mov eax,[L005073D0] mov ecx,[esp+3Ch] mov edx,[esp+40h] lea edi,[ecx+eax*2] mov ecx,[esp+50h] mov eax,[esp+24h] add ebp,edx mov edx,esi mov [esp+20h],ebp add ecx,edx dec eax mov [esp+50h],ecx mov [esp+24h],eax jnz L00409C5B L00409DBF: pop edi pop esi pop ebp pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00409DD0: sub esp,00000038h push ebx push ebp mov edx,[esp+44h] push esi push edi mov edi,[esp+50h] xor ecx,ecx mov ebx,[L00CD8C1C] mov esi,[edi+08h] mov eax,[edi] mov cx,[edx+06h] sub esi,eax xor eax,eax mov dword ptr [esp+10h],00000000h mov ax,[edx+04h] mov [esp+14h],esi mov [esp+30h],eax mov [esp+38h],ebx cdq sub eax,edx mov [esp+34h],ecx sar eax,1 mov [esp+18h],eax mov eax,ecx cdq sub eax,edx sar eax,1 mov [esp+1Ch],eax mov eax,[esp+5Ch] and eax,000000FFh and eax,800000FFh jns L00409E3B dec eax or eax,FFFFFF00h inc eax L00409E3B: mov ebp,[esp+60h] mov [esp+5Ch],al mov eax,[esp+54h] mov ecx,[ebp+00h] cmp eax,ecx jge L00409E5A sub ecx,eax sub esi,ecx mov [esp+10h],ecx mov [esp+14h],esi L00409E5A: mov ecx,[ebp+08h] add esi,eax cmp esi,ecx jle L00409E69 sub ecx,eax mov [esp+14h],ecx L00409E69: mov esi,[edi+04h] mov edx,[edi+0Ch] mov ecx,[esp+58h] mov edi,[ebp+0Ch] sub edx,esi xor eax,eax mov [esp+2Ch],edx lea ebp,[edx+ecx] cmp ebp,edi jle L00409E8D sub edi,ecx mov edx,edi mov [esp+2Ch],edx L00409E8D: mov edi,[esp+60h] mov edi,[edi+04h] cmp ecx,edi jge L00409E9C sub edi,ecx mov eax,edi L00409E9C: add ecx,eax mov ebp,[esp+10h] imul ecx,[L005073D0] mov edi,[esp+54h] add ecx,ebp add ecx,edi mov edi,[L00B189FC] lea edi,[edi+ecx*2] mov ecx,[esp+5Ch] and ecx,000000FFh shl ecx,02h mov ebp,[ecx+L0051C7B4] mov ecx,[ecx+L0051CBB4] mov [esp+5Ch],ecx lea ecx,[esi+eax] add esi,edx mov [esp+58h],ebp cmp ecx,esi mov [esp+28h],ecx jge L0040A063 mov edx,[esp+5Ch] mov eax,edx neg eax mov [esp+44h],eax mov eax,ebp neg eax mov [esp+40h],eax mov eax,[esp+1Ch] sub eax,ecx mov ecx,eax imul ecx,edx imul eax,ebp mov [esp+54h],ecx mov [esp+60h],eax L00409F16: mov edx,[esp+50h] mov eax,[esp+10h] mov esi,[esp+14h] mov ebp,[esp+60h] mov ecx,[edx] mov [esp+3Ch],edi lea edx,[ecx+eax] add ecx,esi mov esi,[esp+18h] add ecx,eax mov eax,edx sub eax,esi mov esi,eax imul eax,[esp+58h] imul esi,[esp+5Ch] sub esi,ebp mov ebp,[esp+54h] add eax,ebp cmp edx,ecx mov ebp,eax mov [esp+20h],ebp jge L0040A01C sub ecx,edx mov [esp+24h],ecx L00409F63: mov ecx,[esp+18h] mov eax,esi sar eax,10h add eax,ecx js L00409FF6 cmp eax,[esp+30h] jge L00409FF6 mov ecx,[esp+1Ch] sar ebp,10h sub ecx,ebp js L00409FF6 cmp ecx,[esp+34h] jge L00409FF6 push ecx push eax mov eax,[esp+54h] push eax call SUB_L004B9550 add esp,0000000Ch test ax,ax jz L00409FF6 mov cx,[edi] and eax,0000FFFFh and ecx,0000FFFFh mov ebp,eax mov edx,ecx shr edx,05h and edx,000003E0h shr ebp,0Ah add edx,ebp mov ebp,eax shr ebp,05h mov dx,[ebx+edx*2] mov ebx,ecx and ebp,0000001Fh and ebx,000003E0h add ebp,ebx mov ebx,[esp+38h] shl dx,05h or dx,[ebx+ebp*2] and ecx,0000001Fh shl ecx,05h and eax,0000001Fh add ecx,eax shl edx,05h or dx,[ebx+ecx*2] mov [edi],dx L00409FF6: mov ebp,[esp+5Ch] mov edx,[esp+58h] mov eax,[esp+24h] add esi,ebp mov ebp,[esp+20h] add edi,00000002h add ebp,edx dec eax mov [esp+20h],ebp mov [esp+24h],eax jnz L00409F63 L0040A01C: mov eax,[esp+3Ch] mov ecx,[L005073D0] mov edx,[esp+40h] mov ebp,[esp+54h] lea edi,[eax+ecx*2] mov ecx,[esp+60h] mov eax,[esp+28h] mov esi,[esp+2Ch] add ecx,edx mov edx,[esp+50h] mov [esp+60h],ecx mov ecx,[esp+44h] add ebp,ecx mov ecx,[edx+04h] inc eax add ecx,esi cmp eax,ecx mov [esp+28h],eax mov [esp+54h],ebp jl L00409F16 L0040A063: pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040A070: sub esp,00000034h mov eax,[esp+4Ch] push ebx mov ebx,[L00CD8C1C] push ebp lea ecx,[eax+eax*4] push esi push edi lea edx,[eax+ecx*2] lea eax,[L00C42CE8+edx*8] mov edx,[esp+58h] mov [esp+34h],eax mov eax,[esp+48h] and edx,000000FFh mov cx,[eax+04h] mov di,[eax+06h] and edx,800000FFh jns L0040A0B8 dec edx or edx,FFFFFF00h inc edx L0040A0B8: mov esi,[esp+50h] mov [esp+58h],dl mov edx,[esp+4Ch] mov eax,[edx] cmp eax,esi jle L0040A0D2 sub eax,esi mov [esp+5Ch],eax jmp L0040A0DA L0040A0D2: mov dword ptr [esp+5Ch],00000000h L0040A0DA: mov eax,[edx+08h] and ecx,0000FFFFh mov [esp+10h],ecx lea ebp,[ecx+esi] cmp eax,ebp jge L0040A0F2 sub eax,esi jmp L0040A0F4 L0040A0F2: mov eax,ecx L0040A0F4: mov ecx,[esp+5Ch] mov [esp+50h],eax cmp ecx,eax jge L0040A33B mov ecx,[edx+04h] mov eax,[esp+54h] cmp ecx,eax jle L0040A113 sub ecx,eax jmp L0040A115 L0040A113: xor ecx,ecx L0040A115: mov edx,[edx+0Ch] and edi,0000FFFFh mov [esp+2Ch],edi lea ebp,[edi+eax] cmp edx,ebp jge L0040A12D sub edx,eax jmp L0040A12F L0040A12D: mov edx,edi L0040A12F: mov ebp,[esp+10h] add eax,ecx imul eax,[L005073D0] shr ebp,1 mov [esp+24h],ebp mov ebp,edi shr ebp,1 mov [esp+28h],ebp mov ebp,[esp+48h] lea edi,[ebp+edi*2+08h] mov ebp,[esp+5Ch] add eax,ebp mov [esp+30h],edi add eax,esi mov esi,[L00B189FC] lea edi,[esi+eax*2] mov eax,[esp+58h] and eax,000000FFh shl eax,02h cmp ecx,edx mov ebp,[eax+L0051C7B4] mov eax,[eax+L0051CBB4] mov [esp+38h],ebp mov [esp+58h],eax jge L0040A33B mov esi,eax mov eax,ebp imul eax,[esp+5Ch] imul esi,ecx add esi,eax mov eax,ebp neg eax mov [esp+40h],eax mov eax,ebp mov ebp,[esp+58h] imul eax,ecx imul ebp,[esp+5Ch] sub ebp,eax sub edx,ecx mov [esp+4Ch],esi mov [esp+1Ch],ebp mov [esp+20h],edx L0040A1C3: mov ecx,[esp+50h] mov esi,[esp+5Ch] mov eax,[esp+4Ch] mov edx,ebp sub ecx,esi mov [esp+3Ch],edi mov [esp+54h],edx mov [esp+14h],eax mov [esp+18h],ecx L0040A1E3: mov ecx,[esp+24h] sar edx,10h add edx,ecx js L0040A2DC cmp edx,[esp+10h] jge L0040A2DC mov ecx,eax mov eax,[esp+28h] sar ecx,10h sub eax,ecx js L0040A2DC cmp eax,[esp+2Ch] jge L0040A2DC mov esi,[esp+48h] xor ecx,ecx mov cx,[esi+eax*2+08h] mov eax,[esp+30h] mov si,[eax+ecx*2] lea eax,[eax+ecx*2] mov cx,[eax+02h] add eax,00000002h add eax,00000002h test cx,cx jz L0040A2DC L0040A240: and esi,0000FFFFh sub edx,esi js L0040A2DC and ecx,0000FFFFh cmp edx,ecx jl L0040A271 mov si,[eax+ecx*2] lea eax,[eax+ecx*2] add eax,00000002h sub edx,ecx mov cx,[eax] add eax,00000002h test cx,cx jnz L0040A240 jmp L0040A2DC L0040A271: mov cx,[eax+edx*2] mov si,[edi] mov edx,[esp+34h] mov eax,esi shr ecx,05h and ecx,0000001Fh and eax,0000FFFFh mov ebp,eax mov cx,[edx+ecx*2] mov edx,eax and ecx,0000FFFFh and ebp,000003E0h shr edx,05h mov esi,ecx and edx,000003E0h shr esi,0Ah add edx,esi mov esi,ecx shr esi,05h mov dx,[ebx+edx*2] and esi,0000001Fh add esi,ebp and eax,0000001Fh shl dx,05h or dx,[ebx+esi*2] and ecx,0000001Fh shl eax,05h mov ebp,[esp+1Ch] add eax,ecx shl edx,05h or dx,[ebx+eax*2] mov [edi],dx L0040A2DC: mov eax,[esp+14h] mov ecx,[esp+38h] mov edx,[esp+54h] mov esi,[esp+58h] add eax,ecx mov ecx,[esp+18h] add edx,esi add edi,00000002h dec ecx mov [esp+54h],edx mov [esp+14h],eax mov [esp+18h],ecx jnz L0040A1E3 mov eax,[L005073D0] mov ecx,[esp+3Ch] mov edx,[esp+40h] lea edi,[ecx+eax*2] mov ecx,[esp+4Ch] mov eax,[esp+20h] add ebp,edx mov edx,esi mov [esp+1Ch],ebp add ecx,edx dec eax mov [esp+4Ch],ecx mov [esp+20h],eax jnz L0040A1C3 L0040A33B: pop edi pop esi pop ebp pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040A350: sub esp,00000038h mov eax,[esp+54h] push ebx push ebp mov ebp,[esp+48h] lea ecx,[eax+eax*4] push esi mov esi,[ebp+08h] mov ebx,[ebp+00h] lea edx,[eax+ecx*2] xor ecx,ecx sub esi,ebx mov ebx,[L00CD8C1C] lea eax,[L00C42CE8+edx*8] mov edx,[esp+48h] mov [esp+30h],eax xor eax,eax mov ax,[edx+04h] mov cx,[edx+06h] mov [esp+24h],eax mov [esp+2Ch],ecx cdq sub eax,edx push edi sar eax,1 mov [esp+18h],eax mov eax,ecx mov ecx,[esp+5Ch] mov dword ptr [esp+10h],00000000h cdq sub eax,edx and ecx,000000FFh sar eax,1 and ecx,800000FFh mov [esp+14h],esi mov [esp+38h],ebx mov [esp+2Ch],eax jns L0040A3D4 dec ecx or ecx,FFFFFF00h inc ecx L0040A3D4: mov edi,[esp+60h] mov edx,[esp+54h] mov [esp+5Ch],cl mov ecx,[edi] cmp edx,ecx jge L0040A3F2 sub ecx,edx sub esi,ecx mov [esp+10h],ecx mov [esp+14h],esi L0040A3F2: mov ecx,[edi+08h] add esi,edx cmp esi,ecx jle L0040A401 sub ecx,edx mov [esp+14h],ecx L0040A401: mov ecx,[esp+60h] mov edi,[ebp+04h] mov edx,[ebp+0Ch] mov dword ptr [esp+64h],00000000h mov esi,[ecx+0Ch] mov ecx,[esp+58h] sub edx,edi mov [esp+24h],edx lea ebp,[edx+ecx] cmp ebp,esi jle L0040A42F sub esi,ecx mov edx,esi mov [esp+24h],edx L0040A42F: mov esi,[esp+60h] mov esi,[esi+04h] cmp ecx,esi jge L0040A440 sub esi,ecx mov [esp+64h],esi L0040A440: mov esi,[esp+64h] mov ebp,[esp+10h] add esi,ecx mov ecx,[esp+54h] imul esi,[L005073D0] add esi,ebp add esi,ecx mov ecx,[L00B189FC] lea esi,[ecx+esi*2] mov ecx,[esp+5Ch] and ecx,000000FFh shl ecx,02h mov ebp,[ecx+L0051C7B4] mov ecx,[ecx+L0051CBB4] mov [esp+60h],ecx mov ecx,[esp+64h] add ecx,edi add edi,edx cmp ecx,edi mov [esp+58h],ebp mov [esp+20h],ecx jge L0040A620 mov edi,[esp+60h] sub eax,ecx mov edx,edi mov ecx,eax neg edx imul ecx,edi mov [esp+44h],edx mov edx,ebp neg edx imul eax,ebp mov [esp+40h],edx mov [esp+54h],ecx mov [esp+5Ch],eax L0040A4BD: mov edx,[esp+50h] mov eax,[esp+10h] mov edi,[esp+14h] mov ebp,[esp+5Ch] mov ecx,[edx] mov [esp+3Ch],esi lea edx,[ecx+eax] add ecx,edi mov edi,[esp+18h] add ecx,eax mov eax,edx sub eax,edi mov edi,eax imul eax,[esp+58h] imul edi,[esp+60h] sub edi,ebp mov ebp,[esp+54h] add eax,ebp cmp edx,ecx mov ebp,eax mov [esp+64h],ebp jge L0040A5DB sub ecx,edx mov [esp+1Ch],ecx L0040A50A: mov ecx,[esp+18h] mov eax,edi sar eax,10h add eax,ecx js L0040A5B5 cmp eax,[esp+28h] jge L0040A5B5 mov ecx,[esp+2Ch] sar ebp,10h sub ecx,ebp js L0040A5B5 cmp ecx,[esp+30h] jge L0040A5B5 push ecx push eax mov eax,[esp+54h] push eax call SUB_L004B9550 add esp,0000000Ch test ax,ax jz L0040A5B5 mov ecx,[esp+34h] mov dx,[esi] shr eax,05h and eax,0000001Fh mov cx,[ecx+eax*2] mov eax,edx and eax,0000FFFFh and ecx,0000FFFFh mov edx,eax mov ebp,ecx shr edx,05h and edx,000003E0h shr ebp,0Ah add edx,ebp mov ebp,ecx shr ebp,05h mov dx,[ebx+edx*2] mov ebx,eax and ebp,0000001Fh and ebx,000003E0h add ebp,ebx mov ebx,[esp+38h] shl dx,05h or dx,[ebx+ebp*2] and eax,0000001Fh shl eax,05h and ecx,0000001Fh add eax,ecx shl edx,05h or dx,[ebx+eax*2] mov [esi],dx L0040A5B5: mov ebp,[esp+60h] mov edx,[esp+58h] mov eax,[esp+1Ch] add edi,ebp mov ebp,[esp+64h] add esi,00000002h add ebp,edx dec eax mov [esp+64h],ebp mov [esp+1Ch],eax jnz L0040A50A L0040A5DB: mov eax,[esp+3Ch] mov ecx,[L005073D0] mov edx,[esp+40h] mov ebp,[esp+54h] lea esi,[eax+ecx*2] mov ecx,[esp+5Ch] add ecx,edx mov eax,[esp+20h] mov edx,[esp+24h] mov [esp+5Ch],ecx mov ecx,[esp+44h] inc eax add ebp,ecx mov ecx,[esp+50h] mov [esp+20h],eax mov [esp+54h],ebp add edx,[ecx+04h] cmp eax,edx jl L0040A4BD L0040A620: pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040A630: sub esp,0000002Ch mov eax,[esp+44h] push ebx push ebp push esi lea ecx,[eax+eax*4] push edi lea edx,[eax+ecx*2] lea eax,[L00C42CE8+edx*8] mov edx,[esp+50h] mov [esp+2Ch],eax mov eax,[esp+40h] and edx,000000FFh mov cx,[eax+04h] mov di,[eax+06h] and edx,800000FFh jns L0040A672 dec edx or edx,FFFFFF00h inc edx L0040A672: mov esi,[esp+48h] mov [esp+50h],dl mov edx,[esp+44h] mov eax,[edx] cmp eax,esi jle L0040A68C sub eax,esi mov [esp+54h],eax jmp L0040A694 L0040A68C: mov dword ptr [esp+54h],00000000h L0040A694: mov eax,[edx+08h] mov ebx,ecx and ebx,0000FFFFh mov [esp+1Ch],ebx lea ecx,[ebx+esi] cmp eax,ecx jge L0040A6B2 sub eax,esi mov [esp+44h],eax jmp L0040A6B6 L0040A6B2: mov [esp+44h],ebx L0040A6B6: mov eax,[esp+44h] mov ecx,[esp+54h] cmp ecx,eax jge L0040A87E mov ecx,[edx+04h] mov eax,[esp+4Ch] cmp ecx,eax jle L0040A6D5 sub ecx,eax jmp L0040A6D7 L0040A6D5: xor ecx,ecx L0040A6D7: mov edx,[edx+0Ch] and edi,0000FFFFh mov [esp+24h],edi lea ebp,[edi+eax] cmp edx,ebp jge L0040A6EF sub edx,eax jmp L0040A6F1 L0040A6EF: mov edx,edi L0040A6F1: shr ebx,1 mov [esp+18h],ebx mov ebx,edi add eax,ecx imul eax,[L005073D0] shr ebx,1 mov [esp+20h],ebx mov ebx,[esp+40h] lea edi,[ebx+edi*2+08h] mov [esp+28h],edi mov edi,[esp+54h] add eax,edi add eax,esi mov esi,[L00B189FC] lea edi,[esi+eax*2] mov eax,[esp+50h] and eax,000000FFh shl eax,02h cmp ecx,edx mov esi,[eax+L0051C7B4] mov ebp,[eax+L0051CBB4] mov [esp+30h],esi jge L0040A87E mov eax,ebp mov ebx,esi imul ebx,[esp+54h] imul eax,ecx add eax,ebx mov [esp+50h],eax mov eax,esi neg eax imul esi,ecx mov [esp+38h],eax mov eax,ebp imul eax,[esp+54h] sub eax,esi sub edx,ecx mov [esp+10h],eax mov [esp+14h],edx L0040A779: mov ebx,[esp+44h] mov ecx,[esp+54h] mov edx,eax mov eax,[esp+50h] mov [esp+34h],edi mov [esp+48h],edx mov [esp+4Ch],eax sub ebx,ecx L0040A795: mov ecx,[esp+18h] sar edx,10h add edx,ecx js L0040A828 cmp edx,[esp+1Ch] jge L0040A828 mov ecx,eax mov eax,[esp+20h] sar ecx,10h sub eax,ecx js L0040A828 cmp eax,[esp+24h] jge L0040A828 mov esi,[esp+40h] xor ecx,ecx mov cx,[esi+eax*2+08h] mov eax,[esp+28h] mov si,[eax+ecx*2] lea eax,[eax+ecx*2] mov cx,[eax+02h] add eax,00000002h add eax,00000002h test cx,cx jz L0040A828 L0040A7E2: and esi,0000FFFFh sub edx,esi js L0040A828 and ecx,0000FFFFh cmp edx,ecx jl L0040A80F mov si,[eax+ecx*2] lea eax,[eax+ecx*2] add eax,00000002h sub edx,ecx mov cx,[eax] add eax,00000002h test cx,cx jnz L0040A7E2 jmp L0040A828 L0040A80F: xor ecx,ecx mov cx,[eax+edx*2] mov eax,[esp+2Ch] xor edx,edx mov dl,[ecx+L00CC8C0C] mov cx,[eax+edx*2] mov [edi],cx L0040A828: mov edx,[esp+48h] mov eax,[esp+4Ch] mov ecx,[esp+30h] add edx,ebp add eax,ecx add edi,00000002h dec ebx mov [esp+48h],edx mov [esp+4Ch],eax jnz L0040A795 mov edx,[L005073D0] mov eax,[esp+34h] mov esi,[esp+38h] mov ecx,[esp+14h] lea edi,[eax+edx*2] mov eax,[esp+10h] mov edx,[esp+50h] add eax,esi add edx,ebp dec ecx mov [esp+10h],eax mov [esp+50h],edx mov [esp+14h],ecx jnz L0040A779 L0040A87E: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040A890: sub esp,0000002Ch push ebx push ebp push esi push edi mov edi,[esp+44h] xor esi,esi mov [esp+14h],esi mov ebp,[edi+08h] mov eax,[edi] sub ebp,eax mov eax,[esp+58h] mov [esp+10h],ebp lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor ecx,ecx lea eax,[L00C42CE8+edx*8] mov edx,[esp+40h] mov [esp+2Ch],eax xor eax,eax mov ax,[edx+04h] mov cx,[edx+06h] mov [esp+24h],eax mov [esp+28h],ecx cdq sub eax,edx sar eax,1 mov [esp+18h],eax mov eax,ecx mov ecx,[esp+50h] cdq sub eax,edx and ecx,000000FFh sar eax,1 and ecx,800000FFh mov [esp+1Ch],eax jns L0040A907 dec ecx or ecx,FFFFFF00h inc ecx L0040A907: mov ebx,[esp+48h] mov [esp+50h],cl mov ecx,[esp+54h] mov eax,[ecx] cmp ebx,eax jge L0040A927 sub eax,ebx mov esi,eax sub ebp,esi mov [esp+14h],esi mov [esp+10h],ebp L0040A927: mov eax,[ecx+08h] lea edx,[ebx+ebp] cmp edx,eax jle L0040A939 sub eax,ebx mov ebp,eax mov [esp+10h],ebp L0040A939: mov ecx,[edi+04h] mov edx,[edi+0Ch] mov eax,[esp+54h] mov edi,[esp+4Ch] sub edx,ecx mov dword ptr [esp+58h],00000000h mov eax,[eax+0Ch] add edi,edx cmp edi,eax mov edi,[esp+4Ch] mov [esp+20h],edx jle L0040A96A sub eax,edi mov edx,eax mov [esp+20h],edx L0040A96A: mov eax,[esp+54h] mov eax,[eax+04h] cmp edi,eax jge L0040A97B sub eax,edi mov [esp+58h],eax L0040A97B: mov eax,[esp+58h] add eax,edi mov edi,[L00B189FC] imul eax,[L005073D0] add eax,esi add eax,ebx lea edi,[edi+eax*2] mov eax,[esp+50h] and eax,000000FFh shl eax,02h mov ebx,[eax+L0051C7B4] mov eax,[eax+L0051CBB4] mov [esp+4Ch],eax mov eax,[esp+58h] add eax,ecx add ecx,edx cmp eax,ecx mov [esp+54h],eax jge L0040AAE6 mov eax,[esp+4Ch] mov ecx,[esp+54h] neg eax mov [esp+38h],eax mov eax,ebx neg eax mov [esp+34h],eax mov eax,[esp+1Ch] sub eax,ecx mov ecx,eax imul ecx,[esp+4Ch] imul eax,ebx mov [esp+58h],ecx mov [esp+50h],eax jmp L0040A9FD L0040A9F5: mov esi,[esp+14h] mov ebp,[esp+10h] L0040A9FD: mov ecx,[esp+44h] mov [esp+30h],edi mov eax,[ecx] lea ecx,[eax+ebp] lea edx,[eax+esi] add ecx,esi mov esi,[esp+18h] mov eax,edx mov ebp,[esp+50h] sub eax,esi mov esi,eax imul eax,ebx imul esi,[esp+4Ch] sub esi,ebp mov ebp,[esp+58h] add eax,ebp cmp edx,ecx mov ebp,eax jge L0040AAA1 sub ecx,edx mov [esp+48h],ecx L0040AA39: mov ecx,[esp+18h] mov eax,esi sar eax,10h add eax,ecx js L0040AA8B cmp eax,[esp+24h] jge L0040AA8B mov ecx,[esp+1Ch] mov edx,ebp sar edx,10h sub ecx,edx js L0040AA8B cmp ecx,[esp+28h] jge L0040AA8B push ecx push eax mov eax,[esp+48h] push eax call SUB_L004B9550 add esp,0000000Ch test ax,ax jz L0040AA8B mov edx,[esp+2Ch] and eax,0000FFFFh xor ecx,ecx mov cl,[eax+L00CC8C0C] mov ax,[edx+ecx*2] mov [edi],ax L0040AA8B: mov eax,[esp+4Ch] add ebp,ebx add esi,eax mov eax,[esp+48h] add edi,00000002h dec eax mov [esp+48h],eax jnz L0040AA39 L0040AAA1: mov ecx,[esp+30h] mov edx,[L005073D0] mov ebp,[esp+58h] mov eax,[esp+54h] lea edi,[ecx+edx*2] mov ecx,[esp+34h] mov edx,[esp+50h] inc eax add edx,ecx mov ecx,[esp+20h] mov [esp+50h],edx mov edx,[esp+38h] add ebp,edx mov edx,[esp+44h] mov [esp+54h],eax mov [esp+58h],ebp add ecx,[edx+04h] cmp eax,ecx jl L0040A9F5 L0040AAE6: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040AAF0: mov eax,[esp+04h] sub esp,0000002Ch mov cx,[eax+04h] push ebx push ebp push esi push edi mov di,[eax+06h] mov eax,[esp+50h] and eax,000000FFh and eax,800000FFh jns L0040AB1A dec eax or eax,FFFFFF00h inc eax L0040AB1A: mov edx,[esp+44h] mov esi,[esp+48h] mov [esp+50h],al mov eax,[edx] cmp eax,esi jle L0040AB34 sub eax,esi mov [esp+44h],eax jmp L0040AB3C L0040AB34: mov dword ptr [esp+44h],00000000h L0040AB3C: mov eax,[edx+08h] mov ebx,ecx and ebx,0000FFFFh mov [esp+20h],ebx lea ecx,[ebx+esi] cmp eax,ecx jge L0040AB5A sub eax,esi mov [esp+48h],eax jmp L0040AB5E L0040AB5A: mov [esp+48h],ebx L0040AB5E: mov eax,[esp+48h] mov ecx,[esp+44h] cmp ecx,eax jge L0040AD0F mov ecx,[edx+04h] mov eax,[esp+4Ch] cmp ecx,eax jle L0040AB7D sub ecx,eax jmp L0040AB7F L0040AB7D: xor ecx,ecx L0040AB7F: mov edx,[edx+0Ch] and edi,0000FFFFh mov [esp+28h],edi lea ebp,[edi+eax] cmp edx,ebp jge L0040AB97 sub edx,eax jmp L0040AB99 L0040AB97: mov edx,edi L0040AB99: add eax,ecx mov ebp,[esp+44h] imul eax,[L005073D0] shr ebx,1 mov [esp+1Ch],ebx mov ebx,edi shr ebx,1 add eax,ebp mov [esp+24h],ebx mov ebx,[esp+40h] add eax,esi mov esi,[L00B189FC] lea edi,[ebx+edi*2+08h] lea ebx,[esi+eax*2] mov eax,[esp+50h] and eax,000000FFh mov [esp+2Ch],edi shl eax,02h cmp ecx,edx mov esi,[eax+L0051C7B4] mov ebp,[eax+L0051CBB4] mov [esp+30h],esi jge L0040AD0F mov eax,ebp mov edi,esi imul edi,[esp+44h] imul eax,ecx add eax,edi mov [esp+50h],eax mov eax,esi neg eax imul esi,ecx mov [esp+38h],eax mov eax,ebp imul eax,[esp+44h] sub eax,esi sub edx,ecx mov [esp+14h],eax mov [esp+18h],edx L0040AC21: mov edi,[esp+48h] mov ecx,[esp+44h] mov esi,eax mov eax,[esp+50h] mov [esp+34h],ebx mov [esp+4Ch],esi mov [esp+10h],eax sub edi,ecx L0040AC3D: mov ecx,[esp+1Ch] sar esi,10h add esi,ecx js L0040ACB9 cmp esi,[esp+20h] jge L0040ACB9 mov ecx,eax mov eax,[esp+24h] sar ecx,10h sub eax,ecx js L0040ACB9 cmp eax,[esp+28h] jge L0040ACB9 mov ecx,[esp+40h] xor edx,edx mov dx,[ecx+eax*2+08h] mov eax,[esp+2Ch] lea eax,[eax+edx*2] mov dx,[eax] mov cx,[eax+02h] add eax,00000002h add eax,00000002h test cx,cx jz L0040ACB9 L0040AC85: and edx,0000FFFFh sub esi,edx js L0040ACB9 and ecx,0000FFFFh cmp esi,ecx jl L0040ACB2 mov dx,[eax+ecx*2] lea eax,[eax+ecx*2] add eax,00000002h sub esi,ecx mov cx,[eax] add eax,00000002h test cx,cx jnz L0040AC85 jmp L0040ACB9 L0040ACB2: mov cx,[eax+esi*2] mov [ebx],cx L0040ACB9: mov esi,[esp+4Ch] mov eax,[esp+10h] mov ecx,[esp+30h] add esi,ebp add eax,ecx add ebx,00000002h dec edi mov [esp+4Ch],esi mov [esp+10h],eax jnz L0040AC3D mov edx,[L005073D0] mov eax,[esp+34h] mov esi,[esp+38h] mov ecx,[esp+18h] lea ebx,[eax+edx*2] mov eax,[esp+14h] mov edx,[esp+50h] add eax,esi add edx,ebp dec ecx mov [esp+14h],eax mov [esp+50h],edx mov [esp+18h],ecx jnz L0040AC21 L0040AD0F: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040AD20: sub esp,0000002Ch mov ecx,[esp+34h] mov edx,[esp+30h] push ebx push ebp mov ebp,[ecx+08h] mov eax,[ecx] sub ebp,eax push esi xor eax,eax push edi mov ax,[edx+04h] xor edi,edi mov di,[edx+06h] mov [esp+28h],eax cdq sub eax,edx xor esi,esi sar eax,1 mov [esp+20h],eax mov eax,edi cdq sub eax,edx mov [esp+1Ch],esi sar eax,1 mov [esp+24h],eax mov eax,[esp+50h] and eax,000000FFh mov [esp+14h],ebp and eax,800000FFh mov [esp+2Ch],edi jns L0040AD7F dec eax or eax,FFFFFF00h inc eax L0040AD7F: mov edi,[esp+54h] mov edx,[esp+48h] mov [esp+50h],al mov eax,[edi] cmp edx,eax jge L0040AD9F sub eax,edx mov esi,eax sub ebp,esi mov [esp+1Ch],esi mov [esp+14h],ebp L0040AD9F: mov eax,[edi+08h] lea ebx,[edx+ebp] cmp ebx,eax jle L0040ADB1 sub eax,edx mov ebp,eax mov [esp+14h],ebp L0040ADB1: mov edx,[ecx+04h] mov eax,[ecx+0Ch] mov ebx,[edi+0Ch] mov edi,[esp+4Ch] sub eax,edx mov dword ptr [esp+10h],00000000h mov [esp+18h],eax add eax,edi cmp eax,ebx jle L0040ADD8 sub ebx,edi mov [esp+18h],ebx L0040ADD8: mov eax,[esp+54h] mov eax,[eax+04h] cmp edi,eax jge L0040ADE9 sub eax,edi mov [esp+10h],eax L0040ADE9: mov eax,[esp+10h] add eax,edi mov edi,[esp+48h] imul eax,[L005073D0] add eax,esi add eax,edi mov edi,[L00B189FC] lea edi,[edi+eax*2] mov eax,[esp+50h] and eax,000000FFh shl eax,02h mov ebx,[eax+L0051C7B4] mov eax,[eax+L0051CBB4] mov [esp+50h],eax mov eax,[esp+10h] add eax,edx mov [esp+54h],eax mov eax,[esp+18h] add eax,edx mov edx,[esp+54h] cmp edx,eax jge L0040AF45 mov eax,[esp+50h] neg eax mov [esp+38h],eax mov eax,ebx neg eax mov [esp+34h],eax mov eax,[esp+24h] sub eax,edx mov edx,eax imul edx,[esp+50h] imul eax,ebx mov [esp+4Ch],edx mov [esp+48h],eax jmp L0040AE73 L0040AE6B: mov esi,[esp+1Ch] mov ebp,[esp+14h] L0040AE73: mov eax,[ecx] mov [esp+30h],edi lea ecx,[eax+ebp] lea edx,[eax+esi] add ecx,esi mov esi,[esp+20h] mov eax,edx mov ebp,[esp+48h] sub eax,esi mov esi,eax imul eax,ebx imul esi,[esp+50h] sub esi,ebp mov ebp,[esp+4Ch] add eax,ebp cmp edx,ecx mov ebp,eax jge L0040AEFE sub ecx,edx mov [esp+10h],ecx L0040AEAB: mov ecx,[esp+20h] mov eax,esi sar eax,10h add eax,ecx js L0040AEE8 cmp eax,[esp+28h] jge L0040AEE8 mov ecx,[esp+24h] mov edx,ebp sar edx,10h sub ecx,edx js L0040AEE8 cmp ecx,[esp+2Ch] jge L0040AEE8 push ecx push eax mov eax,[esp+48h] push eax call SUB_L004B9550 add esp,0000000Ch test ax,ax jz L0040AEE8 mov [edi],ax L0040AEE8: mov eax,[esp+50h] add ebp,ebx add esi,eax mov eax,[esp+10h] add edi,00000002h dec eax mov [esp+10h],eax jnz L0040AEAB L0040AEFE: mov ecx,[esp+30h] mov edx,[L005073D0] mov eax,[esp+54h] mov ebp,[esp+18h] lea edi,[ecx+edx*2] mov ecx,[esp+34h] mov edx,[esp+48h] inc eax add edx,ecx mov ecx,[esp+4Ch] mov [esp+48h],edx mov edx,[esp+38h] add ecx,edx mov [esp+54h],eax mov [esp+4Ch],ecx mov ecx,[esp+44h] mov edx,[ecx+04h] add edx,ebp cmp eax,edx jl L0040AE6B L0040AF45: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040AF50: sub esp,00000020h mov eax,[esp+28h] push ebx mov ecx,eax push ebp push esi mov esi,[eax+04h] mov ebx,[ecx] push edi mov edi,[esp+34h] mov ebp,[ecx+04h] mov edx,[ecx+08h] mov [esp+28h],edx mov edx,[eax] mov ecx,[ecx+0Ch] mov dword ptr [eax+04h],0000270Fh mov [esp+2Ch],ecx mov ecx,[eax+08h] sub ecx,edx mov dword ptr [eax],0000270Fh sar ecx,1 add ecx,edx mov edx,[eax+0Ch] sub edx,esi sub ebx,ecx sar edx,1 add edx,esi mov esi,FFFFD8F1h mov [eax+0Ch],esi mov [eax+08h],esi lea esi,[L0051C7B4+edi*4] sub ebp,edx mov [esp+34h],esi mov [esp+1Ch],ebp mov esi,[esi] mov [esp+38h],ebx mov [esp+14h],esi lea esi,[L0051CBB4+edi*4] mov [esp+10h],esi mov esi,[esi] mov edi,esi imul esi,[esp+38h] imul edi,ebp mov ebp,[esp+14h] imul ebp,ebx mov ebx,[esp+14h] add edi,ebp mov ebp,[esp+1Ch] imul ebx,ebp sub esi,ebx sar edi,10h sar esi,10h neg edi add esi,ecx add edi,edx cmp esi,0000270Fh jge L0040B003 mov [eax],esi L0040B003: cmp esi,FFFFD8F1h jle L0040B00E mov [eax+08h],esi L0040B00E: cmp edi,0000270Fh jge L0040B019 mov [eax+04h],edi L0040B019: cmp edi,FFFFD8F1h jle L0040B024 mov [eax+0Ch],edi L0040B024: mov esi,[esp+34h] mov ebx,[esp+28h] sub ebx,ecx mov esi,[esi] mov [esp+14h],ebx mov [esp+18h],esi mov esi,[esp+10h] mov esi,[esi] mov edi,esi imul esi,[esp+14h] imul edi,ebp mov ebp,[esp+18h] imul ebp,ebx mov ebx,[esp+18h] add edi,ebp imul ebx,[esp+1Ch] sub esi,ebx mov ebx,[eax] sar edi,10h sar esi,10h neg edi add esi,ecx add edi,edx cmp esi,ebx jge L0040B070 mov [eax],esi L0040B070: cmp esi,[eax+08h] jle L0040B078 mov [eax+08h],esi L0040B078: cmp edi,[eax+04h] jge L0040B080 mov [eax+04h],edi L0040B080: cmp edi,[eax+0Ch] jle L0040B088 mov [eax+0Ch],edi L0040B088: mov esi,[esp+34h] mov ebx,[esp+2Ch] sub ebx,edx mov ebp,[esi] mov esi,[esp+10h] mov [esp+18h],ebp imul ebp,[esp+38h] mov esi,[esi] mov [esp+1Ch],ebx mov edi,esi imul esi,[esp+38h] imul edi,ebx mov ebx,[esp+18h] add edi,ebp mov ebp,[esp+1Ch] imul ebx,ebp sub esi,ebx mov ebx,[eax] sar edi,10h sar esi,10h neg edi add esi,ecx add edi,edx cmp esi,ebx jge L0040B0D4 mov [eax],esi L0040B0D4: cmp esi,[eax+08h] jle L0040B0DC mov [eax+08h],esi L0040B0DC: cmp edi,[eax+04h] jge L0040B0E4 mov [eax+04h],edi L0040B0E4: cmp edi,[eax+0Ch] jle L0040B0EC mov [eax+0Ch],edi L0040B0EC: mov esi,[esp+34h] mov ebx,[esi] mov esi,[esp+10h] mov [esp+38h],ebx imul ebx,[esp+14h] mov esi,[esi] mov edi,esi imul esi,[esp+14h] imul edi,ebp add edi,ebx mov ebx,[esp+38h] imul ebx,[esp+1Ch] sub esi,ebx sar edi,10h sar esi,10h neg edi add esi,ecx mov ecx,[eax] add edx,edi cmp esi,ecx jge L0040B12C mov [eax],esi L0040B12C: cmp esi,[eax+08h] jle L0040B134 mov [eax+08h],esi L0040B134: mov ecx,[eax+04h] pop edi pop esi pop ebp cmp edx,ecx pop ebx jge L0040B142 mov [eax+04h],edx L0040B142: cmp edx,[eax+0Ch] jle L0040B14A mov [eax+0Ch],edx L0040B14A: add esp,00000020h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' mov ecx,L0051CFB9 jmp L0040B160 Align 8 L0040B160: push ebx push ebp mov ebp,ecx push esi xor ecx,ecx push edi mov [L0051F1CC],ecx mov dword ptr [L0051F11C],00000015h mov dword ptr [L0051F06C],00000002h mov esi,00000001h mov edi,00000014h mov eax,00000058h L0040B191: cmp eax,0000002Eh lea edx,[esi+esi+02h] jg L0040B19D lea edx,[eax-04h] L0040B19D: mov [ecx+L0051F070],edx cmp eax,0000002Eh lea edx,[esi+esi] jge L0040B1AD mov edx,eax L0040B1AD: mov ebx,[ecx+L0051F1CC] add ebx,edx cmp eax,0000002Eh mov [ecx+L0051F1D0],ebx mov edx,edi jg L0040B1C5 lea edx,[esi-15h] L0040B1C5: mov [ecx+L0051F120],edx inc esi sub eax,00000002h dec edi add ecx,00000004h cmp eax,00000002h jg L0040B191 mov eax,L0051F224 L0040B1DD: mov esi,[eax] add eax,00000004h inc esi cmp eax,L0051F27C mov [eax-04h],esi jl L0040B1DD mov ecx,00000200h xor eax,eax mov edi,L0051E7BC mov ebx,00007FFFh rep stosd xor ecx,ecx mov edi,0000001Fh L0040B207: cmp eax,00000058h jge L0040B22A mov edx,[ecx+L0051F1CC] mov esi,[ecx+L0051F06C] add esi,edx mov [L0051E7BC+edx*2],bx mov [L0051E7BA+esi*2],bx L0040B22A: mov edx,[ecx+L0051F1CC] mov esi,[ecx+L0051F06C] add eax,00000004h add ecx,00000004h mov [L0051DFBC+edx*2],di add edx,esi mov [L0051DFBA+edx*2],di mov edx,[eax+L0051F118] add edx,esi cmp eax,000000B0h mov [eax+L0051EFB8],edx jl L0040B207 pop edi mov eax,ebp pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0040B270: sub esp,0000000Ch push ebx push ebp push esi push edi mov [esp+18h],ecx xor ebx,ebx mov ebp,L0051CFBC L0040B282: xor esi,esi mov ecx,ebp mov edi,00000020h L0040B28B: mov eax,esi cdq and edx,0000001Fh add eax,edx sar eax,05h jns L0040B29A xor eax,eax L0040B29A: mov [ecx],eax add esi,ebx add ecx,00000080h dec edi jnz L0040B28B add ebp,00000004h inc ebx cmp ebp,L0051D03C jl L0040B282 xor esi,esi L0040B2B5: xor ecx,ecx lea edx,[esi+L0054AA80] L0040B2BD: lea eax,[ecx+esi] cmp eax,0000001Fh jle L0040B2CA mov eax,0000001Fh L0040B2CA: mov [edx],al inc ecx add edx,00000020h cmp ecx,00000020h jl L0040B2BD inc esi cmp esi,00000020h jl L0040B2B5 xor esi,esi mov [esp+10h],esi mov [esp+14h],esi jmp L0040B2EB L0040B2E7: mov esi,[esp+10h] L0040B2EB: mov edi,esi lea ebx,[esi+L0054AE80] shl edi,05h shl esi,07h mov ebp,00000020h L0040B2FE: mov eax,edi mov ecx,[L00512174] 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,[L00512178] mov [esi+L0052727C],eax shl eax,cl mov ecx,[esp+14h] mov [esi+L0052927C],edx add edi,ecx dec ebp mov [esi+L0052827C],eax jnz L0040B2FE mov esi,[esp+10h] mov eax,ecx inc esi dec eax cmp eax,FFFFFFE0h mov [esp+10h],esi mov [esp+14h],eax jg L0040B2E7 xor eax,eax mov edx,L0052A280 L0040B35B: mov ecx,[L00512178] mov esi,eax sar esi,cl mov ecx,[L00512174] mov edi,eax sar edi,cl add edx,00000004h and esi,0000001Fh shl esi,07h shl edi,07h mov ecx,[esi+L00528290] mov esi,eax mov ebx,[edi+L00529290] and esi,0000001Fh shl esi,07h or ecx,ebx mov ebx,[esi+L00527290] or ecx,ebx inc eax mov [edx-04h],ecx cmp edx,L0054A280 jl L0040B35B mov eax,[esp+18h] pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040B3C0: sub esp,00000010h push esi push edi mov edi,[esp+1Ch] mov ecx,edi mov esi,edi mov eax,[edi] call [eax+2Ch] test eax,eax jz L0040B3E6 mov eax,[edi+00000080h] test eax,eax jz L0040B3E6 mov esi,eax cmp edi,esi jnz L0040B3ED L0040B3E6: movzx ax,[edi+72h] jmp L0040B401 L0040B3ED: mov edx,[L00C88540] xor eax,eax mov ax,[edi+3Ch] lea ecx,[eax+eax*4] mov ax,[edx+ecx*8+10h] L0040B401: and eax,0000FFFFh cmp eax,00000064h jge L0040B565 mov ecx,[L0054B284] mov edx,[esi] lea eax,[eax+eax*2] push ebx xor ebx,ebx xor edi,edi mov bx,[ecx+eax*4+0Ah] mov di,[ecx+eax*4+08h] lea eax,[ecx+eax*4] push ebp mov ecx,esi mov [esp+24h],ebx call [edx+24h] test eax,eax jz L0040B4FF mov eax,[L00C884DC] cmp esi,eax jnz L0040B4A3 movsx edx,[eax+26h] movsx ecx,[eax+24h] mov ebp,[eax+00000194h] mov esi,00000005h lea eax,[ecx+edx] sub esi,ebp sub ecx,edx lea ebp,[eax+eax*4] lea eax,[eax+ebp*2] mov ebp,[L00B189F0] shl eax,1 lea eax,[eax+esi*4] mov esi,[L0051A75C] sub eax,esi add eax,ebp mov ebp,[L00C83A54] add ecx,ebp lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[L0051A760] shl ecx,1 sub ecx,edx mov edx,[L00B189F4] lea ecx,[ecx+edx+01h] jmp L0040B533 L0040B4A3: movsx edx,[esi+26h] movsx ecx,[esi+24h] mov eax,[esi+00000194h] mov ebx,00000005h sub ebx,eax lea eax,[ecx+edx] sub ecx,edx mov edx,[L00C83A54] lea ebp,[eax+eax*4] add ecx,edx lea eax,[eax+ebp*2] mov ebp,[L0051A75C] shl eax,1 lea edx,[ecx+ecx*4] lea eax,[eax+ebx*4] mov ebx,[esi+00000190h] lea ecx,[ecx+edx*2] sub eax,ebx mov ebx,[esi+0000018Ch] mov esi,[L0051A760] shl ecx,1 sub ecx,ebx mov ebx,[esp+24h] sub ecx,esi sub eax,ebp inc ecx jmp L0040B533 L0040B4FF: movsx eax,[esi+28h] shl eax,02h mov ecx,eax mov eax,[esi+30h] mov esi,[esi+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A760] shl eax,1 sub eax,ecx mov ecx,[L0051A75C] sub eax,ecx lea ecx,[esi+esi*4] add eax,0000002Bh lea ecx,[esi+ecx*2] shl ecx,1 sub ecx,edx L0040B533: mov edx,edi sar edx,1 sub ecx,edx lea edx,[esp+10h] mov [esp+10h],ecx add ecx,edi mov [esp+18h],ecx mov ecx,ebx sar ecx,1 sub eax,ecx push edx sub eax,00000016h mov [esp+18h],eax add eax,ebx mov [esp+20h],eax call SUB_L0040BD80 add esp,00000004h pop ebp pop ebx L0040B565: pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040B570: push FFFFFFFFh push L004E0BC6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push SSZ004FC1A8_thelightthingie__startup_ call SUB_L004C7F50 push 00000014h call SUB_L004D4FA9 mov esi,eax add esp,00000008h mov [esp+04h],esi test esi,esi mov dword ptr [esp+10h],00000000h jz L0040B5C4 push SSZ004FC198_lightidx_mul call SUB_L0047C110 add esp,00000004h mov ecx,esi push eax call SUB_L004CBF10 jmp L0040B5C6 L0040B5C4: xor eax,eax L0040B5C6: push 00000014h mov dword ptr [esp+14h],FFFFFFFFh mov [L0054B28C],eax call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+04h],esi test esi,esi mov dword ptr [esp+10h],00000001h jz L0040B606 push SSZ004FC18C_light_mul call SUB_L0047C110 add esp,00000004h mov ecx,esi push eax call SUB_L004CBF10 jmp L0040B608 L0040B606: xor eax,eax L0040B608: mov ecx,[L0054B28C] mov dword ptr [esp+10h],FFFFFFFFh mov [L0054B288],eax call SUB_L004CC050 mov ecx,[L0054B288] mov [L0054B284],eax call SUB_L004CC050 mov ecx,[esp+08h] mov [L0054B280],eax pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0040B650: push SSZ004FC1C4_thelightthingie__shutdown_ call SUB_L004C7F50 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040B660: sub esp,00000008h mov eax,[esp+0Ch] push ebx push ebp push esi push edi push eax call SUB_L00446D50 add esp,00000004h mov [esp+10h],eax test eax,eax jz L0040B770 mov ecx,[esp+28h] mov esi,[esp+20h] mov edi,[ecx] cmp edi,esi jle L0040B692 sub edi,esi jmp L0040B694 L0040B692: xor edi,edi L0040B694: mov eax,[ecx+08h] lea edx,[esi+2Ch] cmp eax,edx jge L0040B6A4 sub eax,esi mov ebp,eax jmp L0040B6A9 L0040B6A4: mov ebp,0000002Ch L0040B6A9: cmp edi,ebp mov [esp+1Ch],ebp jge L0040B770 mov eax,[ecx+04h] mov edx,[esp+24h] cmp eax,edx jle L0040B6C4 sub eax,edx jmp L0040B6C6 L0040B6C4: xor eax,eax L0040B6C6: mov ecx,[ecx+0Ch] lea ebx,[edx+2Ch] cmp ecx,ebx jge L0040B6D4 sub ecx,edx jmp L0040B6D9 L0040B6D4: mov ecx,0000002Bh L0040B6D9: add edx,eax sub ebp,edi imul edx,[L005073D0] add edx,esi mov esi,[L00B189FC] cmp eax,ecx mov [esp+14h],ebp lea ebx,[esi+edx*2] lea edx,[L0051F1CC+eax*4] lea esi,[L0051EFBC+eax*4] jge L0040B770 sub edx,esi mov ebp,edx sub ebp,L0051F1CC sub ecx,eax mov [esp+28h],ebp mov [esp+24h],ecx L0040B719: mov eax,[esi+ebp+L0051F1CC] mov ecx,[esp+10h] lea edx,[ecx+eax*2] mov eax,[esi+ebp+L0051F11C] cmp edi,eax jle L0040B780 mov ebp,edi lea ecx,[ebx+edi*2] sub ebp,eax mov eax,[esi] lea edx,[edx+ebp*2] mov ebp,[esp+1Ch] cmp eax,ebp jle L0040B778 mov eax,[esp+14h] L0040B74A: push eax push edx push ecx call SUB_L004B95C0 add esp,0000000Ch L0040B755: mov ebp,[esp+28h] L0040B759: mov eax,[esp+24h] mov edx,[L005073D0] add esi,00000004h dec eax lea ebx,[ebx+edx*2] mov [esp+24h],eax jnz L0040B719 L0040B770: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0040B778: sub eax,edi test eax,eax jle L0040B755 jmp L0040B74A L0040B780: lea ecx,[ebx+eax*2] mov [esp+20h],ecx mov ecx,[esp+1Ch] cmp [esi],ecx jle L0040B7A6 sub ecx,eax test ecx,ecx jle L0040B759 push ecx push edx mov edx,[esp+28h] push edx call SUB_L004B95C0 add esp,0000000Ch jmp L0040B759 L0040B7A6: mov eax,[esi+ebp+L0051F06C] mov ecx,[esp+20h] push eax push edx push ecx call SUB_L004B95C0 add esp,0000000Ch jmp L0040B759 Align 4 SUB_L0040B7C0: push ecx mov eax,[esp+08h] push ebx push ebp push esi push edi push eax call SUB_L00446D50 add esp,00000004h mov [esp+10h],eax test eax,eax jz L0040B980 mov edx,[esp+24h] mov edi,[esp+1Ch] mov ecx,[edx] cmp ecx,edi jle L0040B7F2 sub ecx,edi mov ebp,ecx jmp L0040B7F4 L0040B7F2: xor ebp,ebp L0040B7F4: mov ecx,[edx+08h] lea eax,[edi+2Ch] cmp ecx,eax jge L0040B806 sub ecx,edi mov [esp+18h],ecx jmp L0040B80E L0040B806: mov dword ptr [esp+18h],0000002Ch L0040B80E: cmp ebp,[esp+18h] jge L0040B980 mov ecx,[edx+04h] mov esi,[esp+20h] cmp ecx,esi jle L0040B827 sub ecx,esi jmp L0040B829 L0040B827: xor ecx,ecx L0040B829: mov edx,[edx+0Ch] lea eax,[esi+2Ch] cmp edx,eax jge L0040B837 sub edx,esi jmp L0040B83C L0040B837: mov edx,0000002Bh L0040B83C: lea eax,[ecx+esi] mov esi,[L00B189FC] imul eax,[L005073D0] add eax,edi mov edi,[esp+18h] sub edi,ebp cmp ecx,edx lea eax,[esi+eax*2] lea esi,[L0051F1CC+ecx*4] lea ebx,[L0051EFBC+ecx*4] mov [esp+20h],edi jge L0040B980 sub esi,ebx sub esi,L0051F1CC sub edx,ecx mov [esp+24h],esi mov [esp+1Ch],edx jmp L0040B889 L0040B885: mov esi,[esp+24h] L0040B889: mov ecx,[esi+ebx+L0051F1CC] mov edx,[esp+10h] lea ecx,[edx+ecx*2] mov edx,[esi+ebx+L0051F11C] cmp ebp,edx jle L0040B907 mov edi,ebp lea esi,[eax+ebp*2] sub edi,edx mov edx,[ebx] lea ecx,[ecx+edi*2] mov edi,[esp+18h] cmp edx,edi jle L0040B8E5 mov edi,[esp+20h] test edi,edi jz L0040B965 mov edx,esi lea esi,[edi] sub edx,ecx L0040B8C8: xor edi,edi mov di,[ecx] add ecx,00000002h dec esi mov di,[L00B18A00+edi*2] mov [edx+ecx-02h],di jnz L0040B8C8 jmp L0040B965 L0040B8E5: sub edx,ebp test edx,edx jle L0040B965 sub esi,ecx L0040B8ED: xor edi,edi mov di,[ecx] add ecx,00000002h dec edx mov di,[L00B18A00+edi*2] mov [esi+ecx-02h],di jnz L0040B8ED jmp L0040B965 L0040B907: mov esi,[esp+18h] lea edi,[eax+edx*2] cmp [ebx],esi jle L0040B936 sub esi,edx test esi,esi jle L0040B965 mov edx,edi sub edx,ecx L0040B91C: xor edi,edi mov di,[ecx] add ecx,00000002h dec esi mov di,[L00B18A00+edi*2] mov [edx+ecx-02h],di jnz L0040B91C jmp L0040B965 L0040B936: mov edx,[esp+24h] mov edx,[edx+ebx+L0051F06C] mov esi,edx dec edx test esi,esi jz L0040B965 mov esi,edi sub esi,ecx inc edx L0040B94D: xor edi,edi mov di,[ecx] add ecx,00000002h dec edx mov di,[L00B18A00+edi*2] mov [esi+ecx-02h],di jnz L0040B94D L0040B965: mov ecx,[L005073D0] add ebx,00000004h lea eax,[eax+ecx*2] mov ecx,[esp+1Ch] dec ecx mov [esp+1Ch],ecx jnz L0040B885 L0040B980: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040B990: sub esp,00000014h push ebx push ebp push esi mov esi,[esp+24h] xor ebx,ebx push edi cmp esi,ebx jnz L0040B9AE push SSZ004FC1E0_DirtyRect_Internal__r____0_ call SUB_L004C7EC0 add esp,00000004h L0040B9AE: cmp [L0054B2A4],ebx jnz L0040BC82 call SUB_L00447080 cmp [esi],eax jge L0040BC82 cmp [esi+08h],ebx jle L0040BC82 mov edi,[esi+04h] call SUB_L00447090 cmp edi,eax jge L0040BC82 mov eax,[esi+0Ch] cmp eax,ebx jle L0040BC82 mov ecx,[esi+08h] mov edx,[esi] cmp ecx,edx jle L0040BC82 cmp eax,edi jle L0040BC82 mov al,[L0054B2B0] cmp al,bl mov eax,[L0054B2B4] jz L0040BB0F cmp eax,00000400h jl L0040BC0C mov al,[L0051CFB8] test al,01h jnz L0040BA41 or al,01h mov [L0051CFB8],al call SUB_L00447080 mov [L0054B2C8],eax call SUB_L00447090 mov [L0054B2CC],eax L0040BA41: cmp [L0054B2A4],ebx jnz L0040BC82 cmp [L00B28A0C],ebx jnz L0040BC82 push L0054B2C0 mov [L0054B298],ebx mov [L0054B294],ebx mov [L0054B290],ebx mov [L0054B2B4],ebx call SUB_L0040BD80 mov ecx,[L005073D4] mov edi,[L00B189FC] imul ecx,[L005073D0] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0054B2A4],00000001h add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[L0054B2AC] cmp eax,ebx jz L0040BC82 lea ecx,[esp+10h] lea edx,[esp+28h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+34h] add esp,0000000Ch cmp eax,ebx jz L0040BC82 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[L0054B2AC] push ecx push edx push ebx push ebx push L0054B2C0 push eax push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0040BB0F: cmp eax,00000100h jl L0040BC0C mov al,[L0051CFB8] test al,01h jnz L0040BB3E or al,01h mov [L0051CFB8],al call SUB_L00447080 mov [L0054B2C8],eax call SUB_L00447090 mov [L0054B2CC],eax L0040BB3E: cmp [L0054B2A4],ebx jnz L0040BC82 cmp [L00B28A0C],ebx jnz L0040BC82 push L0054B2C0 mov [L0054B298],ebx mov [L0054B294],ebx mov [L0054B290],ebx mov [L0054B2B4],ebx call SUB_L0040BD80 mov ecx,[L005073D4] mov edi,[L00B189FC] imul ecx,[L005073D0] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0054B2A4],00000001h add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[L0054B2AC] cmp eax,ebx jz L0040BC82 lea ecx,[esp+10h] lea edx,[esp+28h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+34h] add esp,0000000Ch cmp eax,ebx jz L0040BC82 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[L0054B2AC] push ecx push edx push ebx push ebx push L0054B2C0 push eax push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0040BC0C: xor ebp,ebp cmp eax,ebx jle L0040BC5B mov edi,L00523280 L0040BC17: cmp edi,ebx jnz L0040BC2D push SSZ004FC1E0_DirtyRect_Internal__r____0_ call SUB_L004C7EC0 mov eax,[L0054B2B4] add esp,00000004h L0040BC2D: mov ecx,[esi+08h] mov edx,[edi] cmp ecx,edx jle L0040BC53 mov edx,[esi] mov ecx,[edi+08h] cmp edx,ecx jge L0040BC53 mov ecx,[esi+0Ch] mov edx,[edi+04h] cmp ecx,edx jle L0040BC53 mov edx,[esi+04h] mov ecx,[edi+0Ch] cmp edx,ecx jl L0040BC8A L0040BC53: inc ebp add edi,00000010h cmp ebp,eax jl L0040BC17 L0040BC5B: mov ecx,[esi] mov edx,eax shl edx,04h add edx,L00523280 inc eax mov [edx],ecx mov ecx,[esi+04h] mov [edx+04h],ecx mov ecx,[esi+08h] mov [edx+08h],ecx mov ecx,[esi+0Ch] mov [L0054B2B4],eax mov [edx+0Ch],ecx L0040BC82: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0040BC8A: mov edx,[edi] mov eax,[esi] cmp edx,eax jle L0040BCCB mov ecx,[edi+04h] mov [esp+14h],eax mov eax,[esi+04h] cmp eax,ecx mov [esp+18h],eax jg L0040BCA8 mov [esp+18h],ecx L0040BCA8: mov eax,[esi+0Ch] mov ecx,[edi+0Ch] cmp eax,ecx mov [esp+20h],eax jl L0040BCBA mov [esp+20h],ecx L0040BCBA: lea eax,[esp+14h] mov [esp+1Ch],edx push eax call SUB_L0040B990 add esp,00000004h L0040BCCB: mov eax,[edi+08h] mov edx,[esi+08h] cmp eax,edx jge L0040BD0E mov ecx,[edi+04h] mov [esp+14h],eax mov eax,[esi+04h] cmp eax,ecx mov [esp+18h],eax jg L0040BCEB mov [esp+18h],ecx L0040BCEB: mov eax,[esi+0Ch] mov ecx,[edi+0Ch] cmp eax,ecx mov [esp+20h],eax jl L0040BCFD mov [esp+20h],ecx L0040BCFD: lea ecx,[esp+14h] mov [esp+1Ch],edx push ecx call SUB_L0040B990 add esp,00000004h L0040BD0E: mov eax,[edi+04h] mov ecx,[esi+04h] cmp eax,ecx jle L0040BD3A mov edx,[esi] mov [esp+18h],ecx mov [esp+20h],eax mov eax,[esi+08h] lea ecx,[esp+14h] mov [esp+14h],edx push ecx mov [esp+20h],eax call SUB_L0040B990 add esp,00000004h L0040BD3A: mov edi,[edi+0Ch] mov eax,[esi+0Ch] cmp edi,eax jge L0040BC82 mov edx,[esi] mov [esp+20h],eax mov eax,[esi+08h] lea ecx,[esp+14h] push ecx mov [esp+18h],edx mov [esp+1Ch],edi mov [esp+20h],eax call SUB_L0040B990 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040BD80: sub esp,00000020h push ebx push ebp push esi mov esi,[esp+30h] push edi xor edi,edi cmp esi,edi jnz L0040BD9E push SSZ004FC1FC_DirtyRect__r____0_ call SUB_L004C7EC0 add esp,00000004h L0040BD9E: cmp [L0054B2A4],edi jnz L0040BF67 cmp [L00B28A0C],edi jnz L0040BF67 call SUB_L00447080 cmp [esi],eax jge L0040BF67 cmp [esi+08h],edi jle L0040BF67 call SUB_L00447090 cmp [esi+04h],eax jge L0040BF67 cmp [esi+0Ch],edi jle L0040BF67 mov eax,[esi] cmp eax,edi mov [esp+20h],eax jge L0040BDF1 mov [esp+20h],edi L0040BDF1: mov eax,[esi+08h] mov [esp+28h],eax call SUB_L00447080 cmp [esp+28h],eax jle L0040BE0C call SUB_L00447080 mov [esp+28h],eax L0040BE0C: mov eax,[esi+04h] cmp eax,edi mov [esp+24h],eax jge L0040BE1B mov [esp+24h],edi L0040BE1B: mov ecx,[esi+0Ch] mov [esp+2Ch],ecx call SUB_L00447090 mov ecx,[esp+2Ch] cmp ecx,eax jle L0040BE3A call SUB_L00447090 mov ecx,eax mov [esp+2Ch],ecx L0040BE3A: mov esi,[L005073D0] mov ebx,[esp+20h] mov eax,esi mov ebp,[esp+28h] imul eax,[esp+24h] add eax,ebx dec ecx imul ecx,esi mov edi,[L0054B290] lea edx,[ecx+ebp-01h] mov ecx,[L005073D4] imul ecx,esi sub ecx,edi cmp eax,ecx jge L0040BF0E cmp edx,ecx jl L0040BF16 L0040BE7A: mov eax,ecx cdq idiv esi mov eax,ecx mov edi,edx cdq idiv esi cmp edi,ebx mov esi,eax jle L0040BF2B cmp edi,ebp jge L0040BF2F mov eax,[esp+24h] mov [esp+10h],ebx lea ecx,[esp+10h] lea ebx,[esi+01h] push ecx mov [esp+18h],eax mov [esp+1Ch],edi mov [esp+20h],ebx call SUB_L0040B990 mov edx,[esp+2Ch] lea eax,[esp+14h] push eax mov [esp+18h],edi mov [esp+20h],edx mov [esp+24h],esi call SUB_L0040B990 mov ecx,[esp+34h] lea edx,[esp+18h] push edx mov [esp+20h],esi mov [esp+28h],ecx call SUB_L0040B990 mov eax,[esp+2Ch] lea ecx,[esp+1Ch] push ecx mov [esp+20h],eax mov [esp+28h],edi mov [esp+24h],ebx call SUB_L0040B990 add esp,00000010h pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L0040BF0E: cmp edx,ecx jl L0040BE7A L0040BF16: lea edx,[esp+20h] push edx call SUB_L0040B990 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L0040BF2B: cmp edi,ebp jl L0040BF30 L0040BF2F: inc esi L0040BF30: mov edx,[esp+24h] lea eax,[esp+10h] push eax mov [esp+18h],edx mov [esp+14h],ebx mov [esp+1Ch],ebp mov [esp+20h],esi call SUB_L0040B990 mov ecx,[esp+30h] lea edx,[esp+14h] push edx mov [esp+1Ch],esi mov [esp+24h],ecx call SUB_L0040B990 add esp,00000008h L0040BF67: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040BF70: mov eax,fs:[00000000h] push FFFFFFFFh mov ecx,[L0054B2A4] push L004E0BD8 push eax xor eax,eax mov fs:[00000000h],esp sub esp,00000044h cmp ecx,eax push ebx push ebp push esi push edi jnz L0040C3AB mov [esp+10h],eax mov ebx,[esp+64h] mov esi,[esp+68h] cmp ebx,eax mov [esp+5Ch],eax jnz L0040C016 cmp esi,eax jle L0040BFCF call SUB_L00447080 mov edi,eax call SUB_L00447090 mov ecx,[L0054B298] sub ecx,esi add eax,ecx jmp L0040C202 L0040BFCF: call SUB_L00447080 mov edi,[esp+10h] mov edx,[L0054B294] mov ecx,[L0054B298] shl edi,04h mov [esp+edi+14h],edx mov edi,[esp+10h] shl edi,04h add edx,eax mov [esp+edi+18h],ecx mov eax,[esp+10h] shl eax,04h sub ecx,esi mov [esp+eax+1Ch],edx mov edx,[esp+10h] inc edx shl edx,04h mov [esp+edx+10h],ecx jmp L0040C2CF L0040C016: cmp esi,eax jnz L0040C077 cmp ebx,eax jle L0040C030 call SUB_L00447090 mov edi,[L0054B298] mov ebp,eax jmp L0040C152 L0040C030: call SUB_L00447090 mov edi,[esp+10h] mov ecx,[L0054B294] mov edx,[L0054B298] shl edi,04h mov [esp+edi+14h],ecx mov edi,[esp+10h] shl edi,04h sub ecx,ebx mov [esp+edi+18h],edx mov edi,[esp+10h] shl edi,04h add edx,eax mov [esp+edi+1Ch],ecx mov ecx,[esp+10h] inc ecx shl ecx,04h mov [esp+ecx+10h],edx jmp L0040C2CF L0040C077: cmp ebx,eax jle L0040C197 cmp esi,eax jle L0040C0F6 call SUB_L00447090 mov ebp,[L0054B298] mov edi,eax sub edi,esi call SUB_L00447080 mov edx,[L0054B294] mov ecx,[esp+10h] sub edx,ebx shl ecx,04h add eax,edx mov [esp+ecx+14h],eax mov edx,[esp+10h] shl edx,04h add eax,ebx mov [esp+edx+18h],ebp mov ecx,[esp+10h] shl ecx,04h add ebp,edi mov [esp+ecx+1Ch],eax mov edx,[esp+10h] inc edx shl edx,04h mov [esp+edx+10h],ebp mov eax,[esp+10h] inc eax mov [esp+10h],eax call SUB_L00447080 mov edi,eax call SUB_L00447090 mov ecx,[L0054B298] sub ecx,esi add eax,ecx jmp L0040C202 L0040C0F6: call SUB_L00447080 mov edi,[esp+10h] mov edx,[L0054B294] mov ecx,[L0054B298] shl edi,04h mov [esp+edi+14h],edx mov edi,[esp+10h] shl edi,04h add edx,eax mov [esp+edi+18h],ecx mov eax,[esp+10h] shl eax,04h sub ecx,esi mov [esp+eax+1Ch],edx mov edx,[esp+10h] inc edx shl edx,04h mov [esp+edx+10h],ecx mov edx,[esp+10h] inc edx mov [esp+10h],edx call SUB_L00447090 mov edi,[L0054B298] mov ebp,eax add ebp,esi sub edi,esi L0040C152: call SUB_L00447080 mov ecx,[L0054B294] mov edx,[esp+10h] sub ecx,ebx shl edx,04h add eax,ecx mov [esp+edx+14h],eax mov ecx,[esp+10h] shl ecx,04h add eax,ebx mov [esp+ecx+18h],edi mov edx,[esp+10h] shl edx,04h add edi,ebp mov [esp+edx+1Ch],eax mov eax,[esp+10h] inc eax shl eax,04h mov [esp+eax+10h],edi jmp L0040C2CF L0040C197: cmp esi,eax jle L0040C23E call SUB_L00447090 mov edi,[esp+10h] mov ecx,[L0054B294] mov edx,[L0054B298] sub eax,esi shl edi,04h mov [esp+edi+14h],ecx mov edi,[esp+10h] shl edi,04h sub ecx,ebx mov [esp+edi+18h],edx mov edi,[esp+10h] shl edi,04h add edx,eax mov [esp+edi+1Ch],ecx mov ecx,[esp+10h] inc ecx shl ecx,04h mov [esp+ecx+10h],edx mov eax,[esp+10h] inc eax mov [esp+10h],eax call SUB_L00447080 mov edi,eax call SUB_L00447090 mov edx,[L0054B298] sub edx,esi add eax,edx L0040C202: mov edx,[esp+10h] mov ecx,[L0054B294] shl edx,04h mov [esp+edx+14h],ecx mov edx,[esp+10h] shl edx,04h add ecx,edi mov [esp+edx+18h],eax mov edx,[esp+10h] shl edx,04h add eax,esi mov [esp+edx+1Ch],ecx mov ecx,[esp+10h] inc ecx shl ecx,04h mov [esp+ecx+10h],eax jmp L0040C2CF L0040C23E: call SUB_L00447080 mov edi,[esp+10h] mov edx,[L0054B294] mov ecx,[L0054B298] shl edi,04h mov [esp+edi+14h],edx mov edi,[esp+10h] shl edi,04h add edx,eax mov [esp+edi+18h],ecx mov eax,[esp+10h] shl eax,04h sub ecx,esi mov [esp+eax+1Ch],edx mov edx,[esp+10h] inc edx shl edx,04h mov [esp+edx+10h],ecx mov ebp,[esp+10h] inc ebp mov [esp+10h],ebp call SUB_L00447090 mov edi,[esp+10h] mov edx,[L0054B294] mov ecx,[L0054B298] add eax,esi shl edi,04h sub ecx,esi mov [esp+edi+14h],edx mov edi,[esp+10h] shl edi,04h sub edx,ebx mov [esp+edi+18h],ecx mov edi,[esp+10h] shl edi,04h add ecx,eax mov [esp+edi+1Ch],edx mov eax,[esp+10h] inc eax shl eax,04h mov [esp+eax+10h],ecx L0040C2CF: mov eax,[esp+10h] lea ecx,[esp+10h] inc eax mov dword ptr [esp+5Ch],FFFFFFFFh mov [esp+10h],eax call SUB_L0040C3C0 mov edi,[L005073D0] mov eax,[L005073D4] mov edx,edi mov ecx,[L0054B290] imul edx,esi imul eax,edi add edx,ebx sub ecx,edx cmp ecx,eax mov [L0054B290],ecx jle L0040C318 sub ecx,eax mov [L0054B290],ecx L0040C318: test ecx,ecx jge L0040C324 add ecx,eax mov [L0054B290],ecx L0040C324: mov eax,ecx xor ebp,ebp cdq idiv edi mov eax,ecx xor ecx,ecx mov [L0054B294],edx cdq idiv edi mov [L0054B298],eax mov eax,[L0054B2B4] cmp eax,ecx jle L0040C3AB mov edi,L0052328C jmp L0040C34F L0040C34D: xor ecx,ecx L0040C34F: mov edx,[edi] mov eax,[edi-08h] add edx,esi add eax,esi mov [edi],edx mov edx,[edi-0Ch] add edx,ebx mov [edi-08h],eax mov [edi-0Ch],edx mov edx,[edi-04h] add edx,ebx cmp eax,ecx mov [edi-04h],edx jge L0040C374 mov [edi-08h],ecx L0040C374: cmp [edi-0Ch],ecx jge L0040C37C mov [edi-0Ch],ecx L0040C37C: call SUB_L00447090 cmp [edi],eax jle L0040C38C call SUB_L00447090 mov [edi],eax L0040C38C: call SUB_L00447080 cmp [edi-04h],eax jle L0040C39E call SUB_L00447080 mov [edi-04h],eax L0040C39E: mov eax,[L0054B2B4] add edi,00000010h inc ebp cmp ebp,eax jl L0040C34D L0040C3AB: mov ecx,[esp+54h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040C3C0: sub esp,0000000Ch mov eax,ecx mov dword ptr [esp+04h],00000000h mov [esp+08h],eax cmp dword ptr [eax],00000000h jle L0040C468 push ebx mov ebx,[L005073D4] push ebp push esi push edi lea ecx,[eax+08h] L0040C3E7: mov ebp,[ecx] mov esi,[ecx+08h] mov edx,ebp cmp edx,esi mov [esp+10h],edx jz L0040C452 lea edi,[ecx+04h] L0040C3F9: cmp ebp,ebx jl L0040C3FF sub ebp,ebx L0040C3FF: mov eax,[L005073D0] mov esi,[ecx-04h] imul eax,ebp add eax,esi cmp esi,[edi] jz L0040C441 lea edi,[ecx+04h] L0040C413: mov edx,[L005073D0] imul edx,ebx cmp eax,edx jl L0040C422 sub eax,edx L0040C422: mov edx,[L00B189FC] inc eax inc esi mov word ptr [edx+eax*2-02h],0000h mov edx,[edi] mov ebx,[L005073D4] cmp esi,edx jnz L0040C413 mov edx,[esp+10h] L0040C441: mov eax,[ecx+08h] inc ebp inc edx cmp edx,eax mov [esp+10h],edx jnz L0040C3F9 mov eax,[esp+18h] L0040C452: mov edx,[esp+14h] mov esi,[eax] inc edx add ecx,00000010h cmp edx,esi mov [esp+14h],edx jl L0040C3E7 pop edi pop esi pop ebp pop ebx L0040C468: add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040C470: sub esp,00000010h push ebx push esi mov esi,[esp+1Ch] push edi mov edi,[esp+24h] push edi push esi call SUB_L0040BF70 mov eax,[L0054B2A4] xor ebx,ebx add esp,00000008h cmp eax,ebx jnz L0040C687 cmp esi,ebx jge L0040C569 cmp edi,ebx mov [esp+10h],ebx jge L0040C505 call SUB_L00447080 add eax,esi mov [esp+0Ch],eax call SUB_L00447090 mov [esp+18h],eax call SUB_L00447080 mov [esp+14h],eax lea eax,[esp+0Ch] push eax call SUB_L0040BD80 call SUB_L00447090 add eax,edi mov [esp+10h],ebx mov [esp+14h],eax call SUB_L00447090 mov [esp+1Ch],eax call SUB_L00447080 lea ecx,[esp+10h] add eax,esi push ecx mov [esp+1Ch],eax call SUB_L0040BD80 add esp,00000008h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C505: jle L0040C559 call SUB_L00447080 add eax,esi mov [esp+0Ch],eax call SUB_L00447090 mov [esp+18h],eax call SUB_L00447080 lea edx,[esp+0Ch] mov [esp+14h],eax push edx call SUB_L0040BD80 mov [esp+14h],ebx mov [esp+10h],ebx mov [esp+1Ch],edi call SUB_L00447080 add eax,esi mov [esp+18h],eax lea eax,[esp+10h] push eax call SUB_L0040BD80 add esp,00000008h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C559: call SUB_L00447080 add eax,esi mov [esp+0Ch],eax jmp L0040C63D L0040C569: jle L0040C62A cmp edi,ebx mov [esp+10h],ebx mov [esp+0Ch],ebx jge L0040C5C7 call SUB_L00447090 lea edx,[esp+0Ch] mov [esp+18h],eax push edx mov [esp+18h],esi call SUB_L0040BD80 call SUB_L00447090 add eax,edi mov [esp+10h],esi mov [esp+14h],eax call SUB_L00447090 mov [esp+1Ch],eax call SUB_L00447080 mov [esp+18h],eax lea eax,[esp+10h] push eax call SUB_L0040BD80 add esp,00000008h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C5C7: jle L0040C609 call SUB_L00447090 lea ecx,[esp+0Ch] mov [esp+18h],eax push ecx mov [esp+18h],esi call SUB_L0040BD80 mov [esp+14h],ebx mov [esp+10h],esi mov [esp+1Ch],edi call SUB_L00447080 lea edx,[esp+10h] mov [esp+18h],eax push edx call SUB_L0040BD80 add esp,00000008h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C609: call SUB_L00447090 mov [esp+18h],eax lea eax,[esp+0Ch] push eax mov [esp+18h],esi call SUB_L0040BD80 add esp,00000004h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C62A: cmp edi,ebx jge L0040C663 call SUB_L00447090 add eax,edi mov [esp+0Ch],ebx mov [esp+10h],eax L0040C63D: call SUB_L00447090 mov [esp+18h],eax call SUB_L00447080 lea ecx,[esp+0Ch] mov [esp+14h],eax push ecx call SUB_L0040BD80 add esp,00000004h pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0040C663: jle L0040C687 mov [esp+10h],ebx mov [esp+0Ch],ebx mov [esp+18h],edi call SUB_L00447080 lea edx,[esp+0Ch] mov [esp+14h],eax push edx call SUB_L0040BD80 add esp,00000004h L0040C687: pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040C690: mov eax,[L00705040] sub esp,00000010h push ebx xor ebx,ebx push esi cmp eax,ebx push edi jz L0040C6FB lea eax,[esp+10h] lea ecx,[esp+0Ch] push eax push ecx call SUB_L00476BC0 mov ecx,[esp+18h] mov eax,[esp+14h] push ebx push ebx push ecx push eax mov esi,eax mov edi,ecx call SUB_L004560E0 mov ecx,[L00B189F8] add esp,00000018h cmp eax,ecx jnz L0040C6FB lea edx,[esp+14h] lea eax,[esp+18h] push edx push eax push edi push esi call SUB_L00477CF0 mov ecx,[esp+24h] mov edx,[esp+28h] add esp,00000010h push ecx mov ecx,[L0070503C] push edx call SUB_L0041D650 L0040C6FB: mov eax,[L0054B2B4] mov [esp+0Ch],ebx cmp eax,ebx jle L0040C7E3 push ebp mov ebp,L0052328C L0040C712: cmp [ebp-08h],ebx jge L0040C71A mov [ebp-08h],ebx L0040C71A: cmp [ebp-0Ch],ebx jge L0040C722 mov [ebp-0Ch],ebx L0040C722: call SUB_L00447090 cmp [ebp+00h],eax jle L0040C734 call SUB_L00447090 mov [ebp+00h],eax L0040C734: call SUB_L00447080 cmp [ebp-04h],eax jle L0040C746 call SUB_L00447080 mov [ebp-04h],eax L0040C746: mov edi,[ebp-0Ch] mov eax,[ebp-04h] cmp eax,edi jle L0040C7C9 mov eax,[ebp-08h] mov ecx,[ebp+00h] cmp ecx,eax jle L0040C7C9 cmp [L0054B2AC],ebx jnz L0040C7C9 mov ecx,[L005073D4] mov esi,[L005073D0] imul ecx,esi imul eax,esi mov edx,[L0054B290] mov ebx,[L00B189FC] mov esi,ecx add eax,edi sub esi,edx mov [esp+14h],ebx cmp eax,esi jl L0040C790 sub edx,ecx L0040C790: lea esi,[ebp-0Ch] lea eax,[ebx+edx*2] push esi mov [L00B189FC],eax call SUB_L00401EA0 mov al,[L0050CC22] add esp,00000004h test al,al push esi jz L0040C7B5 call SUB_L0040CA60 jmp L0040C7BA L0040C7B5: call SUB_L0040D4C0 L0040C7BA: mov ecx,[esp+18h] add esp,00000004h mov [L00B189FC],ecx xor ebx,ebx L0040C7C9: mov ecx,[esp+10h] mov eax,[L0054B2B4] add ebp,00000010h inc ecx cmp ecx,eax mov [esp+10h],ecx jl L0040C712 pop ebp L0040C7E3: mov ecx,eax mov esi,L00523280 shl ecx,04h mov edx,ecx mov edi,L0051F280 shr ecx,02h rep movsd mov ecx,edx mov [L0054B2B8],eax and ecx,00000003h mov [L00B28AC4],eax mov eax,[L00705040] mov [L0054B2A4],ebx rep movsb pop edi mov [L0054B2B4],ebx pop esi cmp eax,ebx pop ebx jz L0040C835 mov byte ptr [L0054B2B0],01h call SUB_L0041DC10 mov byte ptr [L0054B2B0],00h L0040C835: add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0040C840: mov al,[L0051CFB8] sub esp,00000008h push esi xor esi,esi test al,01h mov [L0054B2AC],esi mov [L0054B2A4],esi jnz L0040C887 mov cl,al or cl,01h mov [L0051CFB8],cl call SUB_L00447080 mov [L0054B2C8],eax call SUB_L00447090 mov [L0054B2CC],eax mov eax,[L0054B2A4] cmp eax,esi jnz L0040C93B L0040C887: cmp [L00B28A0C],esi jnz L0040C93B push edi push L0054B2C0 mov [L0054B298],esi mov [L0054B294],esi mov [L0054B290],esi mov [L0054B2B4],esi call SUB_L0040BD80 mov ecx,[L005073D4] mov edi,[L00B189FC] imul ecx,[L005073D0] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0054B2A4],00000001h add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[L0054B2AC] pop edi cmp eax,esi jz L0040C93B lea ecx,[esp+08h] lea edx,[esp+04h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jz L0040C93B mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[L0054B2AC] push ecx push edx push esi push esi push L0054B2C0 push eax push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h L0040C93B: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L0040C940: mov al,[L0051CFB8] sub esp,00000008h test al,01h jnz L0040C967 or al,01h mov [L0051CFB8],al call SUB_L00447080 mov [L0054B2C8],eax call SUB_L00447090 mov [L0054B2CC],eax L0040C967: mov eax,[L0054B2A4] push esi xor esi,esi cmp eax,esi jnz L0040CA2B cmp [L00B28A0C],esi jnz L0040CA2B push edi push L0054B2C0 mov [L0054B298],esi mov [L0054B294],esi mov [L0054B290],esi mov [L0054B2B4],esi call SUB_L0040BD80 mov ecx,[L005073D4] mov edi,[L00B189FC] imul ecx,[L005073D0] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov dword ptr [L0054B2A4],00000001h add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[L0054B2AC] pop edi cmp eax,esi jz L0040CA2B lea ecx,[esp+08h] lea edx,[esp+04h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jz L0040CA2B mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[L0054B2AC] push ecx push edx push esi push esi push L0054B2C0 push eax push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h L0040CA2B: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L0040CA30: mov ecx,[esp+04h] push esi movsx edx,[ecx+03h] movsx eax,[ecx+01h] sub eax,edx cdq mov esi,eax movsx eax,[ecx] xor esi,edx sub esi,edx movsx edx,[ecx+02h] sub eax,edx xor ecx,ecx cdq xor eax,edx sub eax,edx cmp eax,esi pop esi setle cl mov eax,ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040CA60: mov eax,00002440h call SUB_L004D4B90 push esi push edi mov edi,[esp+0000244Ch] mov esi,[edi+04h] mov eax,[edi+0Ch] cmp esi,eax mov [esp+0Ch],esi jge L0040D447 mov ecx,[L00C884DC] push ebx push ebp L0040CA8D: mov edx,[edi] mov eax,[edi+08h] cmp edx,eax mov [esp+18h],edx jge L0040D433 jmp L0040CAAE L0040CAA0: mov edx,[esp+18h] mov ecx,[L00C884DC] mov esi,[esp+14h] L0040CAAE: lea ebp,[edx+40h] cmp eax,ebp mov [esp+3Ch],ebp mov [esp+10h],ebp jge L0040CAC3 mov ebp,eax mov [esp+10h],ebp L0040CAC3: mov eax,[edi+0Ch] add esi,00000030h cmp eax,esi mov [esp+24h],esi jge L0040CAD7 mov esi,eax mov [esp+24h],esi L0040CAD7: mov ebx,[L0054B29C] mov edx,[L0054B2A0] mov al,[L00C8C492] sub ebx,edx test al,al jz L0040CB01 mov eax,ebx sar eax,1 imul ebx,eax cmp ebx,00000010h jle L0040CB01 mov ebx,00000018h jmp L0040CB11 L0040CB01: cmp ebx,0000001Fh jle L0040CB0D mov ebx,0000001Fh jmp L0040CB11 L0040CB0D: test ebx,ebx jl L0040CB21 L0040CB11: test ecx,ecx jz L0040CB23 mov edx,[ecx] call [edx+00000098h] test eax,eax jz L0040CB23 L0040CB21: xor ebx,ebx L0040CB23: mov al,bl mov ebx,[L00C884F0] mov dl,al mov ecx,00000900h mov dh,dl lea edi,[esp+50h] mov eax,edx mov [esp+20h],ebx shl eax,10h mov ax,dx test ebx,ebx rep stosd jz L0040D281 L0040CB4E: mov eax,[ebx] mov ecx,ebx mov esi,ebx call [eax+2Ch] test eax,eax jz L0040CB67 mov eax,[ebx+00000080h] test eax,eax jz L0040CB67 mov esi,eax L0040CB67: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0040D26A mov eax,[esi+20h] test eax,eax jz L0040D26A mov ax,[esi+26h] mov cx,[esi+24h] inc eax and eax,0000003Fh shl eax,06h inc ecx and ecx,0000003Fh add eax,ecx mov edi,[L00516754+eax*4] test edi,edi jz L0040CBF8 L0040CBA1: movsx edx,[esi+28h] movsx eax,[edi+28h] add edx,00000004h cmp eax,edx jle L0040CBE7 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L0040CBE7 mov eax,[edi] mov ecx,edi call [eax+38h] test eax,eax jnz L0040CBE7 mov edx,[edi] mov ecx,edi call [edx+3Ch] test eax,eax jnz L0040CBE7 mov eax,[edi] mov ecx,edi call [eax+1Ch] test eax,eax jnz L0040CBF0 mov edx,[edi] mov ecx,edi call [edx+40h] test al,04h jz L0040CBF0 L0040CBE7: mov edi,[edi+18h] test edi,edi jnz L0040CBA1 jmp L0040CBF8 L0040CBF0: test edi,edi jnz L0040D26A L0040CBF8: cmp ebx,esi jnz L0040CC03 movzx ax,[ebx+72h] jmp L0040CC17 L0040CC03: mov ecx,[L00C88540] xor eax,eax mov ax,[ebx+3Ch] lea eax,[eax+eax*4] mov ax,[ecx+eax*8+10h] L0040CC17: mov cx,[ebx+3Ch] and eax,0000FFFFh cmp cx,3E02h jc L0040CC33 cmp cx,3E0Bh ja L0040CC33 mov eax,00000002h L0040CC33: cmp cx,3914h jc L0040CC48 cmp cx,3929h ja L0040CC48 mov eax,00000002h jmp L0040CC51 L0040CC48: cmp eax,00000064h jge L0040D26A L0040CC51: mov ecx,[L0054B284] mov edx,[esi] lea ebx,[eax+eax*2] xor eax,eax shl ebx,02h xor edi,edi mov [esp+38h],ebx mov ax,[ebx+ecx+08h] mov di,[ebx+ecx+0Ah] mov ecx,esi mov [esp+1Ch],eax call [edx+24h] test eax,eax jz L0040CD4B mov eax,[L00C884DC] cmp esi,eax jnz L0040CCEB movsx edx,[eax+26h] movsx ecx,[eax+24h] mov ebp,[eax+00000194h] mov esi,00000005h lea eax,[ecx+edx] sub esi,ebp sub ecx,edx lea ebp,[eax+eax*4] lea eax,[eax+ebp*2] mov ebp,[L00B189F0] shl eax,1 lea eax,[eax+esi*4] mov esi,[L0051A75C] sub eax,esi add eax,ebp mov ebp,[L00C83A54] add ecx,ebp mov ebp,[esp+10h] lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[L0051A760] shl ecx,1 sub ecx,edx mov edx,[L00B189F4] lea ecx,[ecx+edx+01h] jmp L0040CD7F L0040CCEB: movsx edx,[esi+26h] movsx ecx,[esi+24h] mov eax,[esi+00000194h] mov ebx,00000005h sub ebx,eax lea eax,[ecx+edx] sub ecx,edx mov edx,[L00C83A54] lea ebp,[eax+eax*4] add ecx,edx lea eax,[eax+ebp*2] mov ebp,[L0051A75C] shl eax,1 lea edx,[ecx+ecx*4] lea eax,[eax+ebx*4] mov ebx,[esi+00000190h] lea ecx,[ecx+edx*2] sub eax,ebx mov ebx,[esi+0000018Ch] mov esi,[L0051A760] shl ecx,1 sub ecx,ebx mov ebx,[esp+38h] sub ecx,esi sub eax,ebp mov ebp,[esp+10h] inc ecx jmp L0040CD7F L0040CD4B: movsx eax,[esi+28h] shl eax,02h mov ecx,eax mov eax,[esi+30h] mov esi,[esi+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A75C] shl eax,1 sub eax,ecx lea ecx,[esi+esi*4] sub eax,edx mov edx,[L0051A760] lea ecx,[esi+ecx*2] add eax,0000002Bh shl ecx,1 sub ecx,edx L0040CD7F: mov edx,[esp+1Ch] mov esi,edx sar esi,1 sub ecx,esi mov esi,edi sar esi,1 sub eax,esi add edx,ecx sub eax,00000016h mov [esp+48h],edx mov esi,eax mov eax,[esp+18h] cmp edx,eax jle L0040D26A mov edx,[esp+14h] lea eax,[esi+edi] cmp eax,edx jle L0040D26A cmp ecx,ebp jge L0040D26A cmp esi,[esp+24h] jge L0040D26A mov eax,[esp+18h] cmp ecx,eax mov [esp+28h],eax jl L0040CDD7 mov [esp+28h],ecx L0040CDD7: mov eax,[esp+14h] cmp esi,eax jl L0040CDE1 mov eax,esi L0040CDE1: mov edx,[esp+48h] mov [esp+2Ch],eax cmp edx,ebp mov [esp+30h],edx jl L0040CDF5 mov [esp+30h],ebp L0040CDF5: mov ebp,[esp+24h] lea edx,[esi+edi] cmp edx,ebp mov [esp+34h],edx jl L0040CE08 mov [esp+34h],ebp L0040CE08: mov ebp,[esp+14h] mov edx,eax sub edx,ebp mov ebp,[esp+10h] sub ebp,[esp+18h] sub eax,esi mov esi,[L0054B284] imul eax,edi imul edx,ebp mov edi,[ebx+esi] mov ebx,[esp+18h] lea ebp,[esp+edx+50h] add eax,edi sub eax,ecx mov ecx,[esp+20h] lea edx,[ebp+edx*2+00h] mov ebp,[L0054B280] mov cx,[ecx+3Ch] add eax,ebp add eax,ebx cmp cx,3E27h mov esi,0000029Ah jnc L0040CE5E cmp cx,3E3Ah ja L0040CE63 L0040CE5E: mov esi,0000029Ah L0040CE63: cmp cx,398Ch jnc L0040CE71 cmp cx,399Fh ja L0040CE76 L0040CE71: mov esi,0000029Ah L0040CE76: cmp cx,0FACh jnz L0040CE84 mov esi,0000001Eh jmp L0040CEB3 L0040CE84: cmp cx,0FB1h jnz L0040CE92 mov esi,0000003Ch jmp L0040CEB3 L0040CE92: cmp cx,1647h jnz L0040CEA0 mov esi,0000003Dh jmp L0040CEB3 L0040CEA0: cmp cx,19BBh jz L0040CEAE cmp cx,1F2Bh jnz L0040CEB3 L0040CEAE: mov esi,00000028h L0040CEB3: cmp cx,09FBh jc L0040CECB cmp cx,0A14h ja L0040CECB mov esi,0000001Eh jmp L0040CFB5 L0040CECB: cmp cx,0A15h jc L0040CEE3 cmp cx,0A29h ja L0040CEE3 mov esi,0000029Ah jmp L0040CFB5 L0040CEE3: cmp cx,0B1Ah jc L0040CEFB cmp cx,0B1Fh ja L0040CEFB mov esi,0000029Ah jmp L0040CFB5 L0040CEFB: cmp cx,0B20h jc L0040CF13 cmp cx,0B25h ja L0040CF13 mov esi,0000029Ah jmp L0040CFB5 L0040CF13: cmp cx,0B26h jc L0040CF2B cmp cx,0B28h ja L0040CF2B mov esi,0000029Ah jmp L0040CFB5 L0040CF2B: cmp cx,0DE1h jc L0040CF40 cmp cx,0DEAh ja L0040CF40 mov esi,0000001Fh jmp L0040CFB5 L0040CF40: cmp cx,1849h jc L0040CF55 cmp cx,1850h ja L0040CF55 mov esi,0000003Dh jmp L0040CFB5 L0040CF55: cmp cx,1853h jc L0040CF6A cmp cx,185Ah ja L0040CF6A mov esi,0000003Dh jmp L0040CFB5 L0040CF6A: cmp cx,197Ah jc L0040CF7F cmp cx,19A9h ja L0040CF7F mov esi,0000003Ch jmp L0040CFB5 L0040CF7F: cmp cx,19ABh jc L0040CF94 cmp cx,19B6h ja L0040CF94 mov esi,0000003Ch jmp L0040CFB5 L0040CF94: cmp cx,1ECDh jc L0040CFA2 cmp cx,1ECFh jbe L0040CFB0 L0040CFA2: cmp cx,1ED0h jc L0040CFB5 cmp cx,1ED2h ja L0040CFB5 L0040CFB0: mov esi,00000001h L0040CFB5: cmp cx,1FD4h jz L0040CFC3 cmp cx,0F6Ch jnz L0040CFC8 L0040CFC3: mov esi,00000002h L0040CFC8: cmp cx,0E2Dh jc L0040CFE0 cmp cx,0E30h ja L0040CFE0 mov esi,0000003Eh jmp L0040D0C5 L0040CFE0: cmp cx,0E31h jc L0040CFF8 cmp cx,0E33h ja L0040CFF8 mov esi,00000028h jmp L0040D0C5 L0040CFF8: cmp cx,0E5Ch jc L0040D010 cmp cx,0E6Ah ja L0040D010 mov esi,00000006h jmp L0040D0C5 L0040D010: cmp cx,12EEh jc L0040D022 cmp cx,134Dh jbe L0040D0C0 L0040D022: cmp cx,306Ah jc L0040D034 cmp cx,329Bh jbe L0040D0C0 L0040D034: cmp cx,343Bh jc L0040D042 cmp cx,346Ch jbe L0040D0C0 L0040D042: cmp cx,3547h jc L0040D050 cmp cx,354Ch jbe L0040D0C0 L0040D050: cmp cx,3914h jc L0040D065 cmp cx,3929h ja L0040D065 mov esi,00000001h jmp L0040D0C5 L0040D065: cmp cx,3946h jc L0040D07A cmp cx,3964h ja L0040D07A mov esi,00000006h jmp L0040D0C5 L0040D07A: cmp cx,3967h jc L0040D08F cmp cx,397Ah ja L0040D08F mov esi,00000006h jmp L0040D0C5 L0040D08F: cmp cx,398Ch jc L0040D09D cmp cx,399Fh jbe L0040D0C0 L0040D09D: cmp cx,3E02h jc L0040D0B2 cmp cx,3E0Bh ja L0040D0B2 mov esi,00000001h jmp L0040D0C5 L0040D0B2: cmp cx,3E27h jc L0040D0C5 cmp cx,3E3Ah ja L0040D0C5 L0040D0C0: mov esi,0000001Fh L0040D0C5: dec esi cmp esi,0000003Dh ja CASE_0040D450_PROC000A xor ecx,ecx mov cl,[esi+CASE_0040D47C] jmp [CASE_PROCTABLE_0040D450+ecx*4] CASE_0040D450_PROC0003: mov ebp,[esp+10h] mov ecx,[esp+14h] push edx push eax mov eax,[esp+24h] lea edx,[esp+30h] push edx mov edx,[esp+24h] push eax push ebp push ecx push edx call SUB_L00401A00 jmp L0040D267 CASE_0040D450_PROC0004: mov ecx,[esp+1Ch] mov ebp,[esp+10h] push edx mov edx,[esp+18h] push eax lea eax,[esp+30h] push eax mov eax,[esp+24h] push ecx push ebp push edx push eax call SUB_L00401AB0 jmp L0040D267 CASE_0040D450_PROC0006: mov ebp,[esp+10h] push edx mov edx,[esp+20h] lea ecx,[esp+2Ch] push eax mov eax,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx push ebp push eax push ecx call SUB_L004018C0 jmp L0040D267 CASE_0040D450_PROC0007: mov ebp,[esp+10h] mov ecx,[esp+14h] push edx push eax mov eax,[esp+24h] lea edx,[esp+30h] push edx mov edx,[esp+24h] push eax push ebp push ecx push edx call SUB_L00401BF0 jmp L0040D267 CASE_0040D450_PROC0008: mov ecx,[esp+1Ch] mov ebp,[esp+10h] push edx mov edx,[esp+18h] push eax lea eax,[esp+30h] push eax mov eax,[esp+24h] push ecx push ebp push edx push eax call SUB_L00401C90 jmp L0040D267 CASE_0040D450_PROC0005: mov ebp,[esp+10h] push edx mov edx,[esp+20h] lea ecx,[esp+2Ch] push eax mov eax,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx push ebp push eax push ecx call SUB_L00401B60 jmp L0040D267 CASE_0040D450_PROC0009: mov ebp,[esp+10h] mov ecx,[esp+14h] push edx push eax mov eax,[esp+24h] lea edx,[esp+30h] push edx mov edx,[esp+24h] push eax push ebp push ecx push edx call SUB_L004016C0 jmp L0040D267 CASE_0040D450_PROC0002: mov ecx,[esp+1Ch] mov ebp,[esp+10h] push edx mov edx,[esp+18h] push eax lea eax,[esp+30h] push eax mov eax,[esp+24h] push ecx push ebp push edx push eax call SUB_L00401960 jmp L0040D267 CASE_0040D450_PROC0000: mov ebp,[esp+10h] push edx mov edx,[esp+20h] lea ecx,[esp+2Ch] push eax mov eax,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx push ebp push eax push ecx call SUB_L00401830 jmp L0040D267 CASE_0040D450_PROC0001: mov ebp,[esp+10h] mov ecx,[esp+14h] push edx push eax mov eax,[esp+24h] lea edx,[esp+30h] push edx mov edx,[esp+24h] push eax push ebp push ecx push edx call SUB_L00401780 jmp L0040D267 CASE_0040D450_PROC000A: mov ecx,[esp+1Ch] mov ebp,[esp+10h] push edx mov edx,[esp+18h] push eax lea eax,[esp+30h] push eax mov eax,[esp+24h] push ecx push ebp push edx push eax call SUB_L00401610 L0040D267: add esp,0000001Ch L0040D26A: mov ecx,[esp+20h] mov ebx,[ecx+4Ch] test ebx,ebx mov [esp+20h],ebx jnz L0040CB4E mov esi,[esp+24h] L0040D281: mov eax,[esp+14h] mov edx,[L005073D0] imul edx,eax mov ecx,[esp+18h] mov edi,[L00B189FC] add edx,ecx sub ebp,ecx lea ecx,[esp+50h] mov [esp+38h],ebp lea ebx,[edi+edx*2] mov dl,[L00C8C4A4] test dl,dl mov [esp+1Ch],ebx mov [esp+24h],ecx jnz L0040D36C cmp eax,esi jge L0040D408 sub esi,eax mov [esp+10h],esi L0040D2CB: test ebp,ebp jle L0040D33D mov [esp+20h],ebp L0040D2D3: movsx edx,[ecx] movsx esi,[ecx+01h] xor eax,eax inc ecx mov ax,[ebx] inc ecx mov ebp,eax add ebx,00000002h sar ebp,05h movsx edi,[ecx] and ebp,0000001Fh inc ecx shl esi,05h shl edx,05h movzx si,[esi+ebp+L0054AE80] mov ebp,eax and eax,0000001Fh sar ebp,0Ah shl edi,05h movzx dx,[edx+ebp+L0054AE80] movzx ax,[eax+edi+L0054AE80] shl edx,05h or esi,edx shl esi,05h or esi,eax mov eax,[esp+20h] mov [ebx-02h],si dec eax mov [esp+20h],eax jnz L0040D2D3 mov ebp,[esp+38h] mov ebx,[esp+1Ch] L0040D33D: mov edx,[esp+24h] mov ecx,[L005073D0] lea eax,[edx+ebp] lea ebx,[ebx+ecx*2] mov [esp+1Ch],ebx lea ecx,[eax+ebp*2] mov eax,[esp+10h] dec eax mov [esp+24h],ecx mov [esp+10h],eax jnz L0040D2CB jmp L0040D408 L0040D36C: cmp eax,esi jge L0040D408 sub esi,eax mov [esp+10h],esi L0040D37A: test ebp,ebp mov [esp+20h],ecx mov edx,ebx jle L0040D3EA mov [esp+1Ch],ebp L0040D388: mov ecx,[esp+20h] movsx eax,[ecx] cmp eax,00000020h jge L0040D3CF shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[edx] mov esi,eax mov edi,eax sar esi,05h sar edi,0Ah and esi,0000001Fh and eax,0000001Fh movzx di,[edi+ecx] movzx si,[esi+ecx] movzx ax,[eax+ecx] shl edi,05h or esi,edi shl esi,06h or esi,eax mov [edx],si L0040D3CF: mov ecx,[esp+20h] mov eax,[esp+1Ch] add edx,00000002h inc ecx dec eax mov [esp+20h],ecx mov [esp+1Ch],eax jnz L0040D388 mov ecx,[esp+24h] L0040D3EA: mov eax,[esp+10h] mov edx,[L005073D0] add ecx,ebp dec eax lea ebx,[ebx+edx*2] mov [esp+24h],ecx mov [esp+10h],eax jnz L0040D37A L0040D408: mov eax,[esp+00002454h] mov ecx,[esp+3Ch] mov edi,[esp+00002454h] mov [esp+18h],ecx mov eax,[eax+08h] cmp ecx,eax jl L0040CAA0 mov ecx,[L00C884DC] mov esi,[esp+14h] L0040D433: mov eax,[edi+0Ch] add esi,00000030h cmp esi,eax mov [esp+14h],esi jl L0040CA8D pop ebp pop ebx L0040D447: pop edi pop esi add esp,00002440h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0040D450: dd CASE_0040D450_PROC0000 dd CASE_0040D450_PROC0001 dd CASE_0040D450_PROC0002 dd CASE_0040D450_PROC0003 dd CASE_0040D450_PROC0004 dd CASE_0040D450_PROC0005 dd CASE_0040D450_PROC0006 dd CASE_0040D450_PROC0007 dd CASE_0040D450_PROC0008 dd CASE_0040D450_PROC0009 dd CASE_0040D450_PROC000A CASE_0040D47C: db 00h, 01h, 0Ah, 0Ah, 0Ah, 02h, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah db 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 03h, 04h, 0Ah db 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 05h, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah db 0Ah, 06h, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 0Ah, 07h, 08h, 09h Align 8 SUB_L0040D4C0: sub esp,00000C38h push esi mov esi,[esp+00000C40h] push edi mov edi,[esi+04h] mov eax,[esi+0Ch] cmp edi,eax mov [esp+14h],edi jge L0040DA76 mov ecx,[L00C884DC] push ebx push ebp L0040D4E9: mov edx,[esi] mov eax,[esi+08h] cmp edx,eax mov [esp+18h],edx jge L0040DA62 add edx,00000040h mov [esp+2Ch],edx jmp L0040D507 L0040D503: mov edx,[esp+2Ch] L0040D507: cmp eax,edx mov [esp+10h],edx jge L0040D513 mov [esp+10h],eax L0040D513: mov edx,[esi+0Ch] lea eax,[edi+30h] cmp edx,eax mov [esp+28h],eax jge L0040D525 mov [esp+28h],edx L0040D525: mov ebx,[L0054B29C] mov edx,[L0054B2A0] sub ebx,edx cmp ebx,0000001Fh jle L0040D53F mov ebx,0000001Fh jmp L0040D543 L0040D53F: test ebx,ebx jl L0040D553 L0040D543: test ecx,ecx jz L0040D555 mov eax,[ecx] call [eax+00000098h] test eax,eax jz L0040D555 L0040D553: xor ebx,ebx L0040D555: mov al,bl mov ecx,00000300h mov dl,al lea edi,[esp+48h] mov dh,dl mov eax,edx shl eax,10h mov ax,dx rep stosd mov eax,[L00C884F0] test eax,eax mov [esp+24h],eax jz L0040D8CF L0040D57F: mov ebx,[esp+24h] mov ecx,ebx mov esi,ebx mov eax,[ebx] call [eax+2Ch] test eax,eax jz L0040D59C mov eax,[ebx+00000080h] test eax,eax jz L0040D59C mov esi,eax L0040D59C: mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L0040D8BC mov eax,[esi+20h] test eax,eax jz L0040D8BC mov ax,[esi+26h] mov cx,[esi+24h] inc eax and eax,0000003Fh shl eax,06h inc ecx and ecx,0000003Fh add eax,ecx mov edi,[L00516754+eax*4] test edi,edi jz L0040D62D L0040D5D6: movsx edx,[esi+28h] movsx eax,[edi+28h] add edx,00000004h cmp eax,edx jle L0040D61C mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L0040D61C mov eax,[edi] mov ecx,edi call [eax+38h] test eax,eax jnz L0040D61C mov edx,[edi] mov ecx,edi call [edx+3Ch] test eax,eax jnz L0040D61C mov eax,[edi] mov ecx,edi call [eax+1Ch] test eax,eax jnz L0040D625 mov edx,[edi] mov ecx,edi call [edx+40h] test al,04h jz L0040D625 L0040D61C: mov edi,[edi+18h] test edi,edi jnz L0040D5D6 jmp L0040D62D L0040D625: test edi,edi jnz L0040D8BC L0040D62D: cmp ebx,esi jnz L0040D638 movzx ax,[ebx+72h] jmp L0040D64C L0040D638: mov ecx,[L00C88540] xor eax,eax mov ax,[ebx+3Ch] lea eax,[eax+eax*4] mov ax,[ecx+eax*8+10h] L0040D64C: and eax,0000FFFFh cmp eax,00000064h jge L0040D8BC mov edx,[esi] lea ebp,[eax+eax*2] mov eax,[L0054B284] xor ebx,ebx shl ebp,02h xor edi,edi mov ecx,esi mov bx,[eax+ebp+08h] mov di,[eax+ebp+0Ah] mov [esp+14h],ebp mov [esp+30h],ebx call [edx+24h] test eax,eax mov eax,[L00C884DC] jz L0040D753 cmp esi,eax jnz L0040D6F3 movsx edx,[eax+26h] movsx ecx,[eax+24h] mov ebx,[eax+00000194h] mov esi,00000005h lea eax,[ecx+edx] sub esi,ebx sub ecx,edx lea ebx,[eax+eax*4] lea eax,[eax+ebx*2] mov ebx,[L00B189F0] shl eax,1 lea eax,[eax+esi*4] mov esi,[L0051A75C] sub eax,esi add eax,ebx mov ebx,[L00C83A54] add ecx,ebx mov ebx,[esp+30h] lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] mov edx,[L0051A760] shl ecx,1 sub ecx,edx mov edx,[L00B189F4] lea ecx,[ecx+edx+01h] jmp L0040D787 L0040D6F3: movsx edx,[esi+26h] movsx ecx,[esi+24h] mov eax,[esi+00000194h] mov ebx,00000005h sub ebx,eax lea eax,[ecx+edx] sub ecx,edx mov edx,[L00C83A54] lea ebp,[eax+eax*4] add ecx,edx lea eax,[eax+ebp*2] mov ebp,[L0051A75C] shl eax,1 lea edx,[ecx+ecx*4] lea eax,[eax+ebx*4] mov ebx,[esi+00000190h] lea ecx,[ecx+edx*2] sub eax,ebx mov ebx,[esi+0000018Ch] mov esi,[L0051A760] shl ecx,1 sub ecx,ebx mov ebx,[esp+30h] sub ecx,esi sub eax,ebp mov ebp,[esp+14h] inc ecx jmp L0040D787 L0040D753: movsx eax,[esi+28h] shl eax,02h mov ecx,eax mov eax,[esi+30h] mov esi,[esi+2Ch] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A75C] shl eax,1 sub eax,ecx lea ecx,[esi+esi*4] sub eax,edx mov edx,[L0051A760] lea ecx,[esi+ecx*2] add eax,0000002Bh shl ecx,1 sub ecx,edx L0040D787: mov edx,ebx sar edx,1 sub ecx,edx mov esi,ecx mov ecx,edi sar ecx,1 sub eax,ecx lea edx,[esi+ebx] mov ebx,[esp+18h] sub eax,00000016h cmp edx,ebx lea ecx,[eax+edi] jle L0040D8BC cmp ecx,[esp+1Ch] jle L0040D8BC cmp esi,[esp+10h] jge L0040D8BC cmp eax,[esp+28h] jge L0040D8BC mov ecx,[esp+18h] cmp esi,ecx mov [esp+34h],ecx jl L0040D7D8 mov [esp+34h],esi L0040D7D8: mov ecx,[esp+1Ch] cmp eax,ecx jl L0040D7E2 mov ecx,eax L0040D7E2: mov ebx,[esp+10h] mov [esp+3Ch],edx cmp edx,ebx jl L0040D7F2 mov [esp+3Ch],ebx L0040D7F2: mov ebx,[esp+28h] lea edx,[eax+edi] cmp edx,ebx mov [esp+40h],edx jl L0040D805 mov [esp+40h],ebx L0040D805: mov ebx,[esp+1Ch] mov edx,ecx sub ecx,eax mov eax,[L0054B284] imul ecx,edi mov edi,[eax+ebp] sub edx,ebx mov ebx,[esp+10h] mov ebp,[L0054B280] sub ebx,[esp+18h] mov eax,[esp+40h] add ecx,edi mov edi,[esp+18h] imul ebx,edx sub ecx,esi mov esi,[esp+1Ch] add ecx,ebp sub eax,esi add ecx,edi cmp edx,eax mov edi,ecx lea ebx,[esp+ebx+48h] mov [esp+20h],edi jge L0040D8BC mov ebp,[esp+34h] mov ecx,[esp+18h] mov esi,[esp+3Ch] sub ebp,ecx sub esi,ecx sub eax,edx mov [esp+44h],esi mov [esp+14h],eax L0040D869: cmp ebp,esi jge L0040D89B sub edi,ebx lea edx,[ebx+ebp] sub esi,ebp L0040D874: movsx ecx,[edi+edx] movsx eax,[edx] sub eax,ecx jns L0040D883 xor eax,eax jmp L0040D88D L0040D883: cmp eax,0000001Fh jle L0040D88D mov eax,0000001Fh L0040D88D: mov [edx],al inc edx dec esi jnz L0040D874 mov esi,[esp+44h] mov ecx,[esp+18h] L0040D89B: mov edx,[esp+10h] mov edi,[esp+20h] mov eax,[esp+14h] sub edx,ecx add ebx,edx mov edx,[esp+30h] add edi,edx dec eax mov [esp+20h],edi mov [esp+14h],eax jnz L0040D869 L0040D8BC: mov eax,[esp+24h] mov eax,[eax+4Ch] test eax,eax mov [esp+24h],eax jnz L0040D57F L0040D8CF: mov eax,[L005073D0] mov ecx,[esp+1Ch] imul eax,ecx mov edx,[esp+18h] mov esi,[L00B189FC] add eax,edx lea ebx,[esi+eax*2] mov eax,[esp+10h] sub eax,edx lea esi,[esp+48h] mov ebp,eax mov al,[L00C8C4A4] test al,al mov eax,[esp+28h] mov [esp+14h],ebx mov [esp+24h],ebp mov [esp+10h],esi jnz L0040D9A4 cmp ecx,eax jge L0040DA2E sub eax,ecx mov [esp+20h],eax L0040D921: test ebp,ebp mov edx,ebx jle L0040D981 mov [esp+14h],ebp L0040D92B: movsx eax,[esi] cmp eax,00000020h jge L0040D972 shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[edx] mov edi,eax mov ebp,eax sar edi,05h sar ebp,0Ah and edi,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx di,[edi+ecx] movzx cx,[eax+ecx] shl ebp,05h or edi,ebp mov ebp,[esp+24h] shl edi,05h or edi,ecx mov [edx],di L0040D972: mov eax,[esp+14h] add edx,00000002h inc esi dec eax mov [esp+14h],eax jnz L0040D92B L0040D981: mov esi,[esp+10h] mov eax,[esp+20h] mov edx,[L005073D0] add esi,ebp dec eax mov [esp+10h],esi lea ebx,[ebx+edx*2] mov [esp+20h],eax jnz L0040D921 jmp L0040DA2E L0040D9A4: cmp ecx,eax jge L0040DA2E sub eax,ecx mov [esp+20h],eax L0040D9B2: test ebp,ebp mov edx,ebx jle L0040DA0C mov edi,ebp L0040D9BA: movsx eax,[esi] cmp eax,00000020h jge L0040DA05 shl eax,05h add eax,L0054AE80 mov ecx,eax xor eax,eax mov ax,[edx] mov ebx,eax mov ebp,eax sar ebx,05h sar ebp,0Ah and ebx,0000001Fh and eax,0000001Fh movzx bp,[ecx+ebp] movzx bx,[ebx+ecx] movzx ax,[eax+ecx] shl ebp,05h or ebx,ebp mov ebp,[esp+24h] shl ebx,06h or ebx,eax mov [edx],bx mov ebx,[esp+14h] L0040DA05: add edx,00000002h inc esi dec edi jnz L0040D9BA L0040DA0C: mov ecx,[L005073D0] mov esi,[esp+10h] mov eax,[esp+20h] add esi,ebp lea ebx,[ebx+ecx*2] dec eax mov [esp+14h],ebx mov [esp+10h],esi mov [esp+20h],eax jnz L0040D9B2 L0040DA2E: mov edx,[esp+00000C4Ch] mov ecx,[esp+18h] mov esi,[esp+2Ch] mov edi,[esp+1Ch] mov eax,[edx+08h] add ecx,00000040h add esi,00000040h mov [esp+18h],ecx mov [esp+2Ch],esi cmp ecx,eax mov ecx,[L00C884DC] mov esi,edx jl L0040D503 L0040DA62: mov eax,[esi+0Ch] add edi,00000030h cmp edi,eax mov [esp+1Ch],edi jl L0040D4E9 pop ebp pop ebx L0040DA76: pop edi pop esi add esp,00000C38h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040DA80: sub esp,000000E0h mov ecx,[esp+000000ECh] push ebx push ebp push esi lea eax,[ecx+06h] mov esi,[esp+00000108h] mov [esp+000000C8h],eax mov eax,[esp+000000FCh] shl ecx,02h mov edx,[eax] mov [esp+0000009Ch],esi mov [esp+0000008Ch],edx mov edx,[eax+04h] movsx eax,[eax+08h] add eax,ecx push edi shl eax,02h mov edi,[esp+00000110h] mov ebx,[esp+00000114h] mov esi,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+0000009Ch],eax mov eax,[esp+00000104h] mov [esp+00000098h],esi mov [esp+000000B4h],edi mov esi,[eax] mov [esp+00000094h],edx mov [esp+000000A4h],esi mov esi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [esp+000000A8h],esi shl eax,02h mov [esp+000000C8h],ebx mov edi,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+000000B0h],eax mov eax,[esp+00000108h] mov [esp+000000ACh],edi mov edi,[eax] mov [esp+000000B8h],edi mov edi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [esp+000000BCh],edi shl eax,02h mov ecx,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+000000C0h],ecx mov [esp+000000C4h],eax xor eax,eax xor ecx,ecx cmp esi,edx mov [esp+64h],eax jle L0040DB97 mov dword ptr [esp+64h],00000001h mov eax,[esp+64h] L0040DB97: jge L0040DB9E mov ecx,00000001h L0040DB9E: lea edx,[eax+eax*4] cmp edi,[esp+edx*4+00000094h] jle L0040DBB6 mov dword ptr [esp+64h],00000002h mov eax,[esp+64h] L0040DBB6: lea edx,[ecx+ecx*4] cmp edi,[esp+edx*4+00000094h] jge L0040DBC7 mov ecx,00000002h L0040DBC7: mov edx,eax mov edi,00000003h or edx,ecx lea esi,[eax+eax*4] sub edi,edx lea edx,[ecx+ecx*4] shl esi,02h shl edx,02h mov [esp+40h],esi mov esi,[esp+esi+00000094h] mov ebx,[esp+edx+00000094h] mov [esp+0000008Ch],esi sub esi,ebx mov [esp+34h],ebx mov [esp+48h],esi js L0040E47C mov [esp+50h],eax mov [esp+58h],eax lea eax,[edi+edi*4] mov esi,ecx shl eax,02h mov ebp,[esp+eax+00000094h] cmp ebx,ebp mov [esp+28h],ebp jnz L0040DC46 mov edx,[esp+edx+00000090h] mov ebx,[esp+eax+00000090h] cmp edx,ebx jge L0040DC3F mov esi,edi jmp L0040DCC7 L0040DC3F: mov ecx,edi jmp L0040DCC7 L0040DC46: mov ebp,[esp+edx+00000090h] mov edx,[esp+40h] mov edx,[esp+edx+00000090h] cmp ebp,edx mov [esp+5Ch],edx jnz L0040DC6F cmp ebp,[esp+eax+00000090h] jge L0040DCC3 mov [esp+50h],edi jmp L0040DCC7 L0040DC6F: mov eax,[esp+eax+00000090h] cmp ebp,eax jnz L0040DC84 cmp ebp,edx jl L0040DCC3 mov [esp+50h],edi jmp L0040DCC7 L0040DC84: mov edx,[esp+28h] cmp [esp+0000008Ch],edx jnz L0040DC9D cmp [esp+5Ch],eax jge L0040DCC3 mov [esp+50h],edi jmp L0040DCC7 L0040DC9D: sub eax,ebp sub edx,ebx shl eax,0Ch mov ebx,edx cdq idiv ebx mov ebx,eax mov eax,[esp+5Ch] sub eax,ebp shl eax,0Ch cdq idiv [esp+48h] cmp eax,ebx jge L0040DCC3 mov [esp+50h],edi jmp L0040DCC7 L0040DCC3: mov [esp+58h],edi L0040DCC7: lea esi,[esi+esi*4] lea eax,[ecx+ecx*4] shl esi,02h shl eax,02h mov edx,[esp+esi+00000090h] mov edi,[esp+58h] mov [esp+68h],edx mov ebp,[esp+eax+00000090h] shl edx,0Ch mov [esp+20h],edx mov edx,[esp+esi+000000A0h] mov [esp+6Ch],edx mov ecx,[esp+eax+000000A0h] shl edx,0Ch mov [esp+30h],edx mov edx,[esp+eax+00000098h] mov [esp+48h],edx lea edi,[edi+edi*4] shl edx,0Ch mov [esp+14h],edx mov edx,[esp+eax+0000009Ch] mov [esp+7Ch],edx mov [esp+44h],ecx shl edx,0Ch mov [esp+1Ch],edx mov edx,[esp+esi+00000098h] mov [esp+60h],edx shl edx,0Ch mov [esp+18h],edx mov edx,[esp+esi+0000009Ch] mov [esp+4Ch],edx shl edx,0Ch shl edi,02h mov [esp+24h],edx mov edx,[esp+eax+00000094h] mov eax,[esp+edi+00000090h] mov ebx,[esp+edi+00000094h] shl ebp,0Ch mov [esp+000000D8h],eax sub ebp,00001000h shl eax,0Ch mov [esp+000000DCh],eax sub eax,ebp mov [esp+000000ECh],ebx sub eax,00001000h sub ebx,edx cdq idiv ebx mov edx,[esp+44h] shl ecx,0Ch mov [esp+54h],ecx mov [esp+78h],eax mov eax,[esp+edi+000000A0h] mov [esp+000000E8h],eax sub eax,edx shl eax,0Ch cdq idiv ebx mov edx,[esp+48h] mov [esp+00000080h],eax mov eax,[esp+edi+00000098h] mov [esp+000000D0h],eax sub eax,edx shl eax,0Ch cdq idiv ebx mov edi,[esp+edi+0000009Ch] mov [esp+000000D4h],edi mov [esp+70h],eax mov eax,edi sub eax,[esp+7Ch] shl eax,0Ch cdq idiv ebx mov ebx,[esp+50h] lea ebx,[ebx+ebx*4] shl ebx,02h mov [esp+5Ch],eax mov eax,[esp+ebx+00000090h] mov [esp+7Ch],eax mov edi,[esp+ebx+00000094h] mov edx,[esp+esi+00000094h] mov [esp+000000E4h],edi sub edi,edx mov edx,[esp+68h] mov esi,[esp+ebx+000000A0h] sub eax,edx mov [esp+000000E0h],esi shl eax,0Ch cdq idiv edi mov edx,[esp+6Ch] mov [esp+00000084h],eax mov eax,esi sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[esp+60h] mov [esp+74h],eax mov eax,[esp+ebx+00000098h] mov [esp+48h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov ebx,[esp+ebx+0000009Ch] mov [esp+44h],ebx mov [esp+00000088h],eax mov eax,ebx sub eax,[esp+4Ch] shl eax,0Ch cdq idiv edi mov edi,[esp+34h] mov edx,[esp+000000F4h] mov [esp+4Ch],edi mov ebx,eax mov eax,edi imul eax,[L005073D0] mov [esp+68h],ebx lea eax,[edx+eax*2] mov [esp+000000F4h],eax mov eax,[esp+28h] cmp edi,eax jg L0040E0D2 L0040DECD: mov eax,[esp+00000118h] cmp edi,[eax+04h] jl L0040E041 cmp edi,[eax+0Ch] jge L0040E041 mov eax,[esp+20h] mov esi,ebp sar eax,0Ch mov [esp+34h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov [esp+3Ch],ecx idiv edi mov edi,[esp+30h] mov edx,[esp+14h] sub edi,ecx mov [esp+2Ch],edx mov ebx,eax mov eax,[esp+1Ch] mov [esp+10h],ebx imul edi,ebx mov ebx,[esp+18h] mov [esp+38h],eax sub ebx,edx mov edx,[esp+24h] imul ebx,[esp+10h] sub edx,eax mov eax,esi imul edx,[esp+10h] mov esi,[esp+34h] mov [esp+10h],eax sar edi,0Ch sar ebx,0Ch sar edx,0Ch cmp eax,esi mov [esp+6Ch],edx jg L0040E032 mov esi,[esp+000000F4h] lea esi,[esi+eax*2] mov [esp+60h],esi L0040DF69: mov esi,[esp+00000118h] cmp eax,[esi] jl L0040DFF8 cmp eax,[esi+08h] jge L0040DFF8 mov edx,[esp+38h] mov ecx,[esp+000000CCh] mov esi,[esp+000000F8h] mov eax,[esp+3Ch] sar edx,0Ch shl edx,cl mov ecx,[esp+2Ch] sar ecx,0Ch sar eax,0Ch add edx,ecx xor ecx,ecx shl eax,05h mov cx,[esi+edx*2] xor edx,edx add eax,L0054AE80 mov dx,[L00B18A00+ecx*2] mov ecx,edx mov esi,edx sar ecx,05h sar esi,0Ah and ecx,0000001Fh and edx,0000001Fh movzx si,[esi+eax] movzx cx,[ecx+eax] movzx dx,[edx+eax] mov eax,[esp+60h] shl esi,05h or ecx,esi shl ecx,05h or ecx,edx mov edx,[esp+6Ch] mov [eax],cx mov ecx,[esp+54h] mov eax,[esp+10h] L0040DFF8: mov esi,[esp+3Ch] add esi,edi mov [esp+3Ch],esi mov esi,[esp+2Ch] add esi,ebx mov [esp+2Ch],esi mov esi,[esp+38h] add esi,edx inc eax mov [esp+38h],esi mov esi,[esp+60h] add esi,00000002h mov [esp+10h],eax mov [esp+60h],esi mov esi,[esp+34h] cmp eax,esi jle L0040DF69 L0040E032: mov ebx,[esp+68h] mov edi,[esp+4Ch] mov esi,[esp+000000E0h] L0040E041: mov edx,[L005073D0] mov eax,[esp+000000F4h] lea edx,[eax+edx*2] mov eax,[esp+78h] mov [esp+000000F4h],edx mov edx,[esp+20h] add ebp,eax mov eax,[esp+00000084h] add edx,eax mov eax,[esp+30h] mov [esp+20h],edx mov edx,[esp+00000080h] add ecx,edx mov edx,[esp+74h] add eax,edx mov edx,[esp+14h] mov [esp+30h],eax mov eax,[esp+70h] add edx,eax mov eax,[esp+18h] mov [esp+14h],edx mov edx,[esp+00000088h] add eax,edx mov edx,[esp+1Ch] mov [esp+18h],eax mov eax,[esp+5Ch] add edx,eax mov eax,[esp+24h] add eax,ebx inc edi mov [esp+24h],eax mov eax,[esp+28h] cmp edi,eax mov [esp+54h],ecx mov [esp+1Ch],edx mov [esp+4Ch],edi jle L0040DECD L0040E0D2: mov edx,[esp+0000008Ch] cmp edi,edx jg L0040E47C mov eax,[esp+64h] cmp [esp+58h],eax jz L0040E1B6 mov ebp,[esp+40h] mov esi,[esp+000000ECh] mov ecx,edx mov edx,[esp+000000D8h] mov eax,[esp+ebp+00000090h] sub ecx,esi sub eax,edx mov esi,[esp+000000E8h] shl eax,0Ch cdq idiv ecx mov [esp+78h],eax mov eax,[esp+ebp+000000A0h] sub eax,esi shl eax,0Ch cdq idiv ecx mov edx,[esp+000000D0h] shl esi,0Ch mov [esp+00000080h],eax mov eax,[esp+ebp+00000098h] sub eax,edx shl eax,0Ch cdq idiv ecx mov edx,[esp+000000D4h] mov [esp+70h],eax mov eax,[esp+ebp+0000009Ch] sub eax,edx shl eax,0Ch cdq idiv ecx mov ecx,[esp+000000DCh] mov edx,[esp+78h] lea ebp,[edx+ecx-00001000h] mov ecx,[esp+00000080h] mov edx,[esp+70h] add esi,ecx mov ecx,[esp+000000D0h] mov [esp+54h],esi shl ecx,0Ch add ecx,edx mov [esp+14h],ecx mov ecx,[esp+000000D4h] shl ecx,0Ch add ecx,eax mov [esp+5Ch],eax mov [esp+1Ch],ecx mov ecx,esi jmp L0040E27B L0040E1B6: cmp [esp+50h],eax jz L0040E27B mov eax,[esp+000000E4h] mov ebx,edx mov edx,[esp+7Ch] sub ebx,eax mov eax,[esp+40h] mov eax,[esp+eax+00000090h] sub eax,edx shl eax,0Ch cdq idiv ebx mov edx,[esp+40h] mov [esp+00000084h],eax mov eax,[esp+edx+000000A0h] sub eax,esi shl eax,0Ch cdq idiv ebx mov edx,[esp+48h] shl esi,0Ch mov [esp+74h],eax mov eax,[esp+40h] mov eax,[esp+eax+00000098h] sub eax,edx shl eax,0Ch cdq idiv ebx mov edx,[esp+40h] mov [esp+00000088h],eax mov eax,[esp+edx+0000009Ch] sub eax,[esp+44h] shl eax,0Ch cdq idiv ebx mov edx,[esp+00000084h] mov ebx,eax mov eax,[esp+7Ch] shl eax,0Ch add eax,edx mov edx,[esp+00000088h] mov [esp+20h],eax mov eax,[esp+74h] add esi,eax mov eax,[esp+48h] shl eax,0Ch add eax,edx mov [esp+68h],ebx mov [esp+18h],eax mov eax,[esp+44h] shl eax,0Ch add eax,ebx mov [esp+30h],esi mov [esp+24h],eax L0040E27B: mov eax,[esp+00000118h] cmp edi,[eax+04h] jl L0040E3E8 cmp edi,[eax+0Ch] jge L0040E3E8 mov eax,[esp+20h] mov esi,ebp sar eax,0Ch mov [esp+34h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov [esp+3Ch],ecx idiv edi mov edi,[esp+30h] mov edx,[esp+14h] sub edi,ecx mov [esp+2Ch],edx mov ebx,eax mov eax,[esp+1Ch] mov [esp+10h],ebx imul edi,ebx mov ebx,[esp+18h] mov [esp+38h],eax sub ebx,edx mov edx,[esp+24h] imul ebx,[esp+10h] sub edx,eax mov eax,esi imul edx,[esp+10h] mov esi,[esp+34h] mov [esp+10h],eax sar edi,0Ch sar ebx,0Ch sar edx,0Ch cmp eax,esi mov [esp+6Ch],edx jge L0040E3E0 mov esi,[esp+000000F4h] lea esi,[esi+eax*2] mov [esp+28h],esi L0040E317: mov esi,[esp+00000118h] cmp eax,[esi] jl L0040E3A6 cmp eax,[esi+08h] jge L0040E3A6 mov edx,[esp+38h] mov ecx,[esp+000000CCh] mov esi,[esp+000000F8h] mov eax,[esp+3Ch] sar edx,0Ch shl edx,cl mov ecx,[esp+2Ch] sar ecx,0Ch sar eax,0Ch add edx,ecx xor ecx,ecx shl eax,05h mov cx,[esi+edx*2] xor edx,edx add eax,L0054AE80 mov dx,[L00B18A00+ecx*2] mov ecx,edx mov esi,edx sar ecx,05h sar esi,0Ah and ecx,0000001Fh and edx,0000001Fh movzx si,[esi+eax] movzx cx,[ecx+eax] movzx dx,[edx+eax] mov eax,[esp+28h] shl esi,05h or ecx,esi shl ecx,05h or ecx,edx mov edx,[esp+6Ch] mov [eax],cx mov ecx,[esp+54h] mov eax,[esp+10h] L0040E3A6: mov esi,[esp+3Ch] add esi,edi mov [esp+3Ch],esi mov esi,[esp+2Ch] add esi,ebx mov [esp+2Ch],esi mov esi,[esp+38h] add esi,edx inc eax mov [esp+38h],esi mov esi,[esp+28h] add esi,00000002h mov [esp+10h],eax mov [esp+28h],esi mov esi,[esp+34h] cmp eax,esi jl L0040E317 L0040E3E0: mov ebx,[esp+68h] mov edi,[esp+4Ch] L0040E3E8: mov edx,[L005073D0] mov eax,[esp+000000F4h] mov esi,[esp+78h] lea edx,[eax+edx*2] mov eax,[esp+00000084h] mov [esp+000000F4h],edx mov edx,[esp+20h] add edx,eax mov eax,[esp+00000080h] add ebp,esi mov esi,[esp+30h] mov [esp+20h],edx mov edx,[esp+74h] add ecx,eax mov eax,[esp+70h] add esi,edx mov edx,[esp+14h] add edx,eax mov eax,[esp+5Ch] mov [esp+30h],esi mov esi,[esp+18h] mov [esp+14h],edx mov edx,[esp+00000088h] add esi,edx mov edx,[esp+1Ch] mov [esp+18h],esi mov esi,[esp+24h] add edx,eax mov eax,[esp+0000008Ch] add esi,ebx inc edi cmp edi,eax mov [esp+54h],ecx mov [esp+1Ch],edx mov [esp+24h],esi mov [esp+4Ch],edi jle L0040E27B L0040E47C: pop edi pop esi pop ebp pop ebx add esp,000000E0h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040E490: sub esp,000000E0h mov ecx,[esp+000000ECh] push ebx push ebp push esi lea eax,[ecx+06h] mov esi,[esp+00000108h] mov [esp+000000CCh],eax mov eax,[esp+000000FCh] shl ecx,02h mov edx,[eax] mov [esp+000000A0h],esi mov [esp+00000090h],edx mov edx,[eax+04h] movsx eax,[eax+08h] add eax,ecx push edi shl eax,02h mov edi,[esp+00000110h] mov ebx,[esp+00000114h] mov esi,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+000000A0h],eax mov eax,[esp+00000104h] mov [esp+0000009Ch],esi mov [esp+000000B8h],edi mov esi,[eax] mov [esp+00000098h],edx mov [esp+000000A8h],esi mov esi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [esp+000000ACh],esi shl eax,02h mov [esp+000000CCh],ebx mov edi,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+000000B4h],eax mov eax,[esp+00000108h] mov [esp+000000B0h],edi mov edi,[eax] mov [esp+000000BCh],edi mov edi,[eax+04h] movsx eax,[eax+08h] add eax,ecx mov [esp+000000C0h],edi shl eax,02h mov ecx,[eax+L004FC148] mov eax,[eax+L004FC168] mov [esp+000000C4h],ecx mov [esp+000000C8h],eax xor eax,eax xor ecx,ecx cmp esi,edx mov [esp+60h],eax jle L0040E5A7 mov dword ptr [esp+60h],00000001h mov eax,[esp+60h] L0040E5A7: jge L0040E5AE mov ecx,00000001h L0040E5AE: lea edx,[eax+eax*4] cmp edi,[esp+edx*4+00000098h] jle L0040E5C6 mov dword ptr [esp+60h],00000002h mov eax,[esp+60h] L0040E5C6: lea edx,[ecx+ecx*4] cmp edi,[esp+edx*4+00000098h] jge L0040E5D7 mov ecx,00000002h L0040E5D7: mov edx,eax mov edi,00000003h or edx,ecx lea esi,[eax+eax*4] sub edi,edx lea edx,[ecx+ecx*4] shl esi,02h shl edx,02h mov [esp+58h],esi mov esi,[esp+esi+00000098h] mov ebx,[esp+edx+00000098h] mov [esp+00000090h],esi sub esi,ebx mov [esp+10h],ebx test esi,esi mov [esp+14h],esi jle L0040EED2 mov [esp+48h],eax mov [esp+50h],eax lea eax,[edi+edi*4] mov esi,ecx shl eax,02h mov ebp,[esp+eax+00000098h] cmp ebx,ebp mov [esp+00000088h],ebp jnz L0040E65B mov edx,[esp+edx+00000094h] mov ebx,[esp+eax+00000094h] cmp edx,ebx jge L0040E654 mov esi,edi jmp L0040E6DF L0040E654: mov ecx,edi jmp L0040E6DF L0040E65B: mov ebp,[esp+edx+00000094h] mov edx,[esp+58h] mov edx,[esp+edx+00000094h] cmp ebp,edx mov [esp+2Ch],edx jnz L0040E684 cmp ebp,[esp+eax+00000094h] jge L0040E6DB mov [esp+48h],edi jmp L0040E6DF L0040E684: mov eax,[esp+eax+00000094h] cmp ebp,eax jnz L0040E699 cmp ebp,edx jl L0040E6DB mov [esp+48h],edi jmp L0040E6DF L0040E699: mov edx,[esp+00000088h] cmp [esp+00000090h],edx jnz L0040E6B5 cmp [esp+2Ch],eax jge L0040E6DB mov [esp+48h],edi jmp L0040E6DF L0040E6B5: sub eax,ebp sub edx,ebx shl eax,0Ch mov ebx,edx cdq idiv ebx mov ebx,eax mov eax,[esp+2Ch] sub eax,ebp shl eax,0Ch cdq idiv [esp+14h] cmp eax,ebx jge L0040E6DB mov [esp+48h],edi jmp L0040E6DF L0040E6DB: mov [esp+50h],edi L0040E6DF: lea eax,[ecx+ecx*4] lea esi,[esi+esi*4] shl eax,02h shl esi,02h mov edi,[esp+eax+000000A0h] mov edx,[esp+eax+00000094h] mov [esp+78h],edi mov ecx,[esp+esi+00000094h] shl edi,0Ch mov [esp+28h],edi mov edi,[esp+esi+0000009Ch] mov [esp+5Ch],edi mov [esp+6Ch],ecx shl edi,0Ch mov [esp+38h],edi mov edi,[esp+esi+000000A0h] mov [esp+30h],edi mov ebp,[esp+eax+000000A4h] shl edi,0Ch mov [esp+3Ch],edi mov edi,[esp+50h] shl ecx,0Ch lea edi,[edi+edi*4] mov [esp+44h],ecx mov ecx,[esp+esi+000000A4h] mov [esp+18h],ebp shl edi,02h mov [esp+2Ch],ecx mov ebx,[esp+edi+00000098h] shl ecx,0Ch mov [esp+34h],ecx mov ecx,[esp+eax+0000009Ch] mov [esp+000000ECh],ebx sub ebx,[esp+eax+00000098h] mov eax,[esp+edi+00000094h] mov [esp+14h],ecx shl edx,0Ch mov [esp+000000D8h],eax sub edx,00001000h shl eax,0Ch mov [esp+000000DCh],eax sub eax,edx sub eax,00001000h mov [esp+40h],edx cdq idiv ebx mov edx,[esp+18h] shl ebp,0Ch shl ecx,0Ch mov [esp+4Ch],ecx mov [esp+00000080h],eax mov eax,[esp+edi+000000A4h] mov [esp+000000E8h],eax sub eax,edx shl eax,0Ch cdq idiv ebx mov edx,[esp+14h] mov [esp+70h],eax mov eax,[esp+edi+0000009Ch] mov [esp+000000E0h],eax sub eax,edx shl eax,0Ch cdq idiv ebx mov edi,[esp+edi+000000A0h] mov [esp+000000D4h],edi mov [esp+64h],eax mov eax,edi sub eax,[esp+78h] shl eax,0Ch cdq idiv ebx mov ebx,[esp+48h] lea ebx,[ebx+ebx*4] shl ebx,02h mov edi,[esp+ebx+00000098h] mov [esp+0000008Ch],eax mov eax,[esp+ebx+00000094h] mov [esp+78h],eax mov edx,[esp+esi+00000098h] mov [esp+00000084h],edi sub edi,edx mov edx,[esp+6Ch] sub eax,edx mov esi,[esp+ebx+000000A4h] shl eax,0Ch cdq idiv edi mov edx,[esp+2Ch] mov [esp+6Ch],esi mov [esp+7Ch],eax mov eax,esi sub eax,edx shl eax,0Ch cdq idiv edi mov edx,[esp+5Ch] mov [esp+74h],eax mov eax,[esp+ebx+0000009Ch] mov [esp+14h],eax sub eax,edx shl eax,0Ch cdq idiv edi mov [esp+68h],eax mov eax,[esp+ebx+000000A0h] mov ebx,[esp+30h] mov [esp+18h],eax sub eax,ebx shl eax,0Ch cdq idiv edi mov edi,[esp+10h] mov edx,[esp+000000F4h] mov [esp+54h],edi mov [esp+2Ch],eax mov eax,edi imul eax,[L005073D0] lea eax,[edx+eax*2] mov [esp+000000F4h],eax mov eax,[esp+00000088h] cmp edi,eax jg L0040EB11 L0040E8DE: mov eax,[esp+00000118h] cmp edi,[eax+04h] jl L0040EA7C cmp edi,[eax+0Ch] jge L0040EA7C mov eax,[esp+44h] mov esi,[esp+40h] sar eax,0Ch mov [esp+30h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov ebx,[esp+38h] idiv edi mov edi,[esp+34h] sub ebx,ecx sub edi,ebp mov [esp+24h],ebp mov [esp+20h],ecx mov edx,eax mov eax,[esp+28h] mov [esp+10h],edx imul edi,edx imul ebx,edx mov edx,[esp+3Ch] mov [esp+1Ch],eax sub edx,eax mov eax,[esp+00000118h] imul edx,[esp+10h] mov eax,[eax] mov [esp+10h],esi sar edi,0Ch sar ebx,0Ch sar edx,0Ch cmp esi,eax mov [esp+5Ch],edx jge L0040E99B sub eax,esi mov esi,eax imul esi,edi add esi,ebp mov [esp+24h],esi mov esi,eax imul esi,ebx imul eax,edx mov edx,[esp+28h] add esi,ecx add eax,edx mov edx,[esp+00000118h] mov [esp+1Ch],eax mov [esp+20h],esi mov eax,[edx] mov [esp+10h],eax jmp L0040E99F L0040E99B: mov esi,[esp+20h] L0040E99F: mov edx,[esp+00000118h] mov eax,[edx+08h] mov edx,[esp+30h] cmp edx,eax jge L0040E9B3 mov eax,edx L0040E9B3: mov edx,[esp+10h] cmp edx,eax jge L0040EA74 mov ecx,[esp+000000F4h] sub eax,edx mov [esp+10h],eax lea ecx,[ecx+edx*2] mov [esp+30h],ecx mov ecx,[esp+1Ch] L0040E9D7: mov edx,ecx mov ecx,[esp+000000D0h] sar edx,0Ch shl edx,cl mov ecx,[esp+000000F8h] mov eax,[esp+24h] sar esi,0Ch sar eax,0Ch add edx,esi mov esi,edx xor edx,edx shl eax,05h mov dx,[ecx+esi*2] add eax,L0054AE80 mov ecx,edx mov esi,edx sar ecx,05h sar esi,0Ah and ecx,0000001Fh and edx,0000001Fh movzx si,[esi+eax] movzx cx,[ecx+eax] movzx dx,[edx+eax] mov eax,[esp+30h] shl esi,05h or ecx,esi mov esi,[esp+20h] shl ecx,05h or ecx,edx mov edx,[esp+24h] mov [eax],cx mov ecx,[esp+1Ch] add edx,edi add eax,00000002h mov [esp+24h],edx mov edx,[esp+5Ch] mov [esp+30h],eax mov eax,[esp+10h] add esi,ebx add ecx,edx dec eax mov [esp+20h],esi mov [esp+1Ch],ecx mov [esp+10h],eax jnz L0040E9D7 mov ecx,[esp+4Ch] L0040EA74: mov edi,[esp+54h] mov esi,[esp+6Ch] L0040EA7C: mov eax,[esp+000000F4h] mov edx,[L005073D0] mov ebx,[esp+44h] lea eax,[eax+edx*2] mov edx,[esp+00000080h] mov [esp+000000F4h],eax mov eax,[esp+40h] add eax,edx mov edx,[esp+70h] mov [esp+40h],eax mov eax,[esp+7Ch] add ebx,eax mov eax,[esp+34h] add ebp,edx mov edx,[esp+74h] add eax,edx mov edx,[esp+38h] mov [esp+34h],eax mov eax,[esp+68h] add edx,eax mov eax,[esp+28h] mov [esp+38h],edx mov edx,[esp+0000008Ch] mov [esp+44h],ebx mov ebx,[esp+64h] add eax,edx add ecx,ebx mov ebx,[esp+3Ch] mov [esp+28h],eax mov eax,[esp+2Ch] mov [esp+4Ch],ecx add ebx,eax mov eax,[esp+00000088h] inc edi mov [esp+3Ch],ebx cmp edi,eax mov [esp+54h],edi jle L0040E8DE L0040EB11: mov ebx,[esp+00000090h] cmp edi,ebx jg L0040EED2 mov eax,[esp+60h] mov edx,[esp+50h] cmp edx,eax jz L0040EBEC mov eax,[esp+000000ECh] mov ebp,[esp+000000D8h] mov ecx,ebx mov ebx,[esp+58h] sub ecx,eax mov esi,[esp+000000E0h] mov eax,[esp+ebx+00000094h] sub eax,ebp mov ebp,[esp+000000E8h] shl eax,0Ch cdq idiv ecx mov [esp+00000080h],eax mov eax,[esp+ebx+000000A4h] sub eax,ebp shl eax,0Ch cdq idiv ecx shl ebp,0Ch mov [esp+70h],eax mov eax,[esp+ebx+0000009Ch] sub eax,esi shl eax,0Ch cdq idiv ecx shl esi,0Ch mov [esp+64h],eax mov eax,[esp+ebx+000000A0h] mov ebx,[esp+000000D4h] sub eax,ebx shl eax,0Ch cdq idiv ecx mov ecx,[esp+000000DCh] mov edx,[esp+00000080h] shl ebx,0Ch lea ecx,[edx+ecx-00001000h] mov [esp+40h],ecx mov ecx,[esp+70h] add ebp,ecx mov ecx,[esp+64h] add esi,ecx mov [esp+4Ch],esi mov ecx,esi add ebx,eax mov [esp+0000008Ch],eax mov [esp+28h],ebx jmp L0040ECA3 L0040EBEC: cmp [esp+48h],eax jz L0040ECA3 mov eax,[esp+00000084h] mov edx,[esp+58h] sub ebx,eax mov eax,[esp+edx+00000094h] mov edx,[esp+78h] sub eax,edx shl eax,0Ch cdq idiv ebx mov [esp+7Ch],eax mov eax,[esp+58h] mov eax,[esp+eax+000000A4h] sub eax,esi shl eax,0Ch cdq idiv ebx mov edx,[esp+58h] shl esi,0Ch mov [esp+74h],eax mov eax,[esp+edx+0000009Ch] sub eax,[esp+14h] shl eax,0Ch cdq idiv ebx mov edx,[esp+18h] mov [esp+68h],eax mov eax,[esp+58h] mov eax,[esp+eax+000000A0h] sub eax,edx shl eax,0Ch cdq idiv ebx mov ebx,[esp+7Ch] mov edx,eax mov eax,[esp+78h] shl eax,0Ch add eax,ebx mov [esp+2Ch],edx mov [esp+44h],eax mov eax,[esp+74h] add esi,eax mov eax,[esp+14h] mov [esp+34h],esi mov esi,[esp+68h] shl eax,0Ch add eax,esi mov [esp+38h],eax mov eax,[esp+18h] shl eax,0Ch add eax,edx mov [esp+3Ch],eax L0040ECA3: mov eax,[esp+00000118h] cmp edi,[eax+04h] jl L0040EE3D cmp edi,[eax+0Ch] jge L0040EE3D mov eax,[esp+44h] mov esi,[esp+40h] sar eax,0Ch mov [esp+30h],eax mov edi,eax sar esi,0Ch mov eax,00001000h sub edi,esi cdq inc edi mov ebx,[esp+38h] idiv edi mov edi,[esp+34h] sub ebx,ecx sub edi,ebp mov [esp+24h],ebp mov [esp+20h],ecx mov edx,eax mov eax,[esp+28h] mov [esp+10h],edx imul edi,edx imul ebx,edx mov edx,[esp+3Ch] mov [esp+1Ch],eax sub edx,eax mov eax,[esp+00000118h] imul edx,[esp+10h] mov eax,[eax] mov [esp+10h],esi sar edi,0Ch sar ebx,0Ch sar edx,0Ch cmp esi,eax mov [esp+5Ch],edx jge L0040ED60 sub eax,esi mov esi,eax imul esi,edi add esi,ebp mov [esp+24h],esi mov esi,eax imul esi,ebx imul eax,edx mov edx,[esp+28h] add esi,ecx add eax,edx mov edx,[esp+00000118h] mov [esp+1Ch],eax mov [esp+20h],esi mov eax,[edx] mov [esp+10h],eax jmp L0040ED64 L0040ED60: mov esi,[esp+20h] L0040ED64: mov edx,[esp+00000118h] mov eax,[edx+08h] mov edx,[esp+30h] cmp edx,eax jge L0040ED78 mov eax,edx L0040ED78: mov edx,[esp+10h] cmp edx,eax jge L0040EE39 mov ecx,[esp+000000F4h] sub eax,edx mov [esp+14h],eax lea ecx,[ecx+edx*2] mov [esp+18h],ecx mov ecx,[esp+1Ch] L0040ED9C: mov edx,ecx mov ecx,[esp+000000D0h] sar edx,0Ch shl edx,cl mov ecx,[esp+000000F8h] mov eax,[esp+24h] sar esi,0Ch sar eax,0Ch add edx,esi mov esi,edx xor edx,edx shl eax,05h mov dx,[ecx+esi*2] add eax,L0054AE80 mov ecx,edx mov esi,edx sar ecx,05h sar esi,0Ah and ecx,0000001Fh and edx,0000001Fh movzx si,[esi+eax] movzx cx,[ecx+eax] movzx dx,[edx+eax] mov eax,[esp+18h] shl esi,05h or ecx,esi mov esi,[esp+20h] shl ecx,05h or ecx,edx mov edx,[esp+24h] mov [eax],cx mov ecx,[esp+1Ch] add edx,edi add eax,00000002h mov [esp+24h],edx mov edx,[esp+5Ch] mov [esp+18h],eax mov eax,[esp+14h] add esi,ebx add ecx,edx dec eax mov [esp+20h],esi mov [esp+1Ch],ecx mov [esp+14h],eax jnz L0040ED9C mov ecx,[esp+4Ch] L0040EE39: mov edi,[esp+54h] L0040EE3D: mov eax,[esp+000000F4h] mov edx,[L005073D0] mov esi,[esp+40h] mov ebx,[esp+34h] lea eax,[eax+edx*2] mov edx,[esp+00000080h] mov [esp+000000F4h],eax mov eax,[esp+7Ch] add esi,edx mov edx,[esp+44h] add edx,eax mov eax,[esp+70h] mov [esp+44h],edx mov edx,[esp+74h] add ebp,eax mov eax,[esp+68h] add ebx,edx mov edx,[esp+38h] mov [esp+40h],esi mov esi,[esp+64h] add edx,eax mov eax,[esp+2Ch] mov [esp+34h],ebx mov ebx,[esp+28h] add ecx,esi mov esi,[esp+3Ch] mov [esp+38h],edx mov edx,[esp+0000008Ch] add ebx,edx add esi,eax mov eax,[esp+00000090h] inc edi cmp edi,eax mov [esp+4Ch],ecx mov [esp+28h],ebx mov [esp+3Ch],esi mov [esp+54h],edi jle L0040ECA3 L0040EED2: pop edi pop esi pop ebp pop ebx add esp,000000E0h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040EEE0: xor eax,eax L0040EEE2: mov [L005BB2D0+eax*4],eax mov [L005AB2D0+eax*4],eax mov [L0059B2D0+eax*4],eax mov [L0058B2D0+eax*4],eax mov [L0057B2D0+eax*4],eax mov [L0056B2D0+eax*4],eax mov [L0055B2D0+eax*4],eax mov [L0054B2D0+eax*4],eax inc eax cmp eax,00004000h jl L0040EEE2 push esi mov esi,0000011Ah mov edx,0000011Bh mov ecx,0000011Ch mov eax,0000011Dh mov [L0058B5E0],esi mov [L0058B6B0],esi mov [L0058CA94],esi mov [L0058CAB4],esi mov [L0058B5E4],edx mov [L0058B5E8],ecx mov [L0058B5EC],eax mov dword ptr [L0058B608],000005C0h mov [L0058B6B4],edx mov [L0058B6B8],ecx mov [L0058B6BC],eax mov [L0058CA98],edx mov [L0058CA9C],ecx mov [L0058CAA0],eax mov [L0058CAB8],edx mov [L0058CABC],ecx mov [L0058CAC0],eax mov [L0058CAC4],edx mov [L0058CAC8],ecx mov [L0058CACC],eax mov [L0058CAD0],edx mov [L0058CAD4],ecx mov [L0058CAD8],eax mov [L0058CADC],ecx mov [L0058CAE0],eax mov dword ptr [L0058BF60],00000391h mov dword ptr [L0058BF64],00000392h mov dword ptr [L0058BF68],00000393h mov dword ptr [L0058BF6C],00000394h mov dword ptr [L0058BF70],00000395h mov dword ptr [L0058BF74],00000396h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040F010: mov al,[L005CB2D0] test al,al jnz L0040F025 call SUB_L0040EEE0 mov byte ptr [L005CB2D0],01h L0040F025: mov eax,[esp+04h] test eax,eax jl L0040F06C cmp eax,00004000h jge L0040F06C mov ecx,[L004FC210] test ecx,ecx jnz L0040F046 mov eax,[L005BB2D0+eax*4] retn ;------------------------------------------------------------------------------ L0040F046: cmp ecx,00000001h jnz L0040F053 mov eax,[L005AB2D0+eax*4] retn ;------------------------------------------------------------------------------ L0040F053: cmp ecx,00000002h jnz L0040F060 mov eax,[L0059B2D0+eax*4] retn ;------------------------------------------------------------------------------ L0040F060: cmp ecx,00000003h jnz L0040F06C mov eax,[L0058B2D0+eax*4] L0040F06C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0040F070: mov eax,[esp+04h] cmp eax,00000CCEh jg L0040F0DD jz L0040F0D7 lea ecx,[eax-00000C84h] cmp ecx,00000043h ja CASE_0040F1B0_PROC000B xor edx,edx mov dl,[ecx+CASE_0040F16C] jmp [CASE_PROCTABLE_0040F13C+edx*4] CASE_0040F13C_PROC0000: mov eax,00001B22h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0001: mov eax,00000CC6h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0003: mov eax,00000C48h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0004: mov eax,00001B1Fh retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0005: mov eax,00001B20h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0006: mov eax,00001B21h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0007: mov eax,00000D0Dh retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0008: mov eax,00000D10h retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC0009: mov eax,00000D2Bh retn ;------------------------------------------------------------------------------ CASE_0040F13C_PROC000A: mov eax,00000C4Eh retn ;------------------------------------------------------------------------------ L0040F0D7: mov eax,00000CCFh retn ;------------------------------------------------------------------------------ L0040F0DD: lea ecx,[eax-00000CD1h] cmp ecx,000000C8h ja CASE_0040F1B0_PROC000B xor edx,edx mov dl,[ecx+CASE_0040F1E0] jmp [CASE_PROCTABLE_0040F1B0+edx*4] CASE_0040F1B0_PROC0000: mov eax,00000CD2h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0001: mov eax,00000CD5h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0002: mov eax,00000CDCh retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0003: mov eax,00000CDFh retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0004: mov eax,00000CE2h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0005: mov eax,00000CE5h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0006: mov eax,00000CE8h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0009: mov eax,00000D97h retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC000A: mov eax,00000D9Bh retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0007: mov eax,00000D3Fh retn ;------------------------------------------------------------------------------ CASE_0040F1B0_PROC0008: mov eax,00000D40h CASE_0040F1B0_PROC000B: retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0040F13C: dd CASE_0040F13C_PROC0000 dd CASE_0040F13C_PROC0001 dd CASE_0040F1B0_PROC0007 dd CASE_0040F13C_PROC0003 dd CASE_0040F13C_PROC0004 dd CASE_0040F13C_PROC0005 dd CASE_0040F13C_PROC0006 dd CASE_0040F13C_PROC0007 dd CASE_0040F13C_PROC0008 dd CASE_0040F13C_PROC0009 dd CASE_0040F13C_PROC000A dd CASE_0040F1B0_PROC000B CASE_0040F16C: db 00h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 01h, 01h, 01h, 01h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 02h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 03h, 0Bh, 0Bh, 0Bh, 0Bh, 04h, 05h, 06h, 07h, 00h, 0Bh, 0Bh, 0Bh db 0Bh, 08h, 09h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Ah CASE_PROCTABLE_0040F1B0: dd CASE_0040F1B0_PROC0000 dd CASE_0040F1B0_PROC0001 dd CASE_0040F1B0_PROC0002 dd CASE_0040F1B0_PROC0003 dd CASE_0040F1B0_PROC0004 dd CASE_0040F1B0_PROC0005 dd CASE_0040F1B0_PROC0006 dd CASE_0040F1B0_PROC0007 dd CASE_0040F1B0_PROC0008 dd CASE_0040F1B0_PROC0009 dd CASE_0040F1B0_PROC000A dd CASE_0040F1B0_PROC000B CASE_0040F1E0: db 00h, 0Bh, 0Bh, 01h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 02h, 0Bh, 0Bh, 03h, 0Bh, 0Bh db 04h, 0Bh, 0Bh, 05h, 0Bh, 0Bh, 06h, 0Bh, 07h, 08h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 09h, 0Bh, 0Bh, 0Bh, 0Ah Align 8 SUB_L0040F2B0: mov eax,[esp+04h] cmp eax,00000CAFh jg L0040F2F9 jz CASE_0040F470_PROC0001 lea ecx,[eax-00000C37h] cmp ecx,00000077h ja CASE_0040F494_PROC0006 xor edx,edx mov dl,[ecx+CASE_0040F3F8] jmp [CASE_PROCTABLE_0040F3D0+edx*4] CASE_0040F3D0_PROC0004: mov eax,00001B84h retn ;------------------------------------------------------------------------------ CASE_0040F3D0_PROC0006: mov eax,00001184h retn ;------------------------------------------------------------------------------ CASE_0040F3D0_PROC0007: mov eax,00001AE1h retn ;------------------------------------------------------------------------------ CASE_0040F470_PROC0001: mov eax,00001B9Ch retn ;------------------------------------------------------------------------------ CASE_0040F3D0_PROC0003: mov eax,00001B16h retn ;------------------------------------------------------------------------------ L0040F2F9: cmp eax,00000CC5h jg L0040F332 jz CASE_0040F500_PROC0002 lea ecx,[eax-00000CB0h] cmp ecx,0000000Eh ja CASE_0040F494_PROC0006 xor edx,edx mov dl,[ecx+CASE_0040F484] jmp [CASE_PROCTABLE_0040F470+edx*4] CASE_0040F500_PROC0002: mov eax,00001BAEh retn ;------------------------------------------------------------------------------ CASE_0040F470_PROC0002: mov eax,00001B9Dh retn ;------------------------------------------------------------------------------ CASE_0040F470_PROC0003: mov eax,00001CEAh retn ;------------------------------------------------------------------------------ L0040F332: cmp eax,00000D15h jg L0040F371 jz CASE_0040F470_PROC0001 lea ecx,[eax-00000CC7h] cmp ecx,0000004Dh ja CASE_0040F494_PROC0006 xor edx,edx mov dl,[ecx+CASE_0040F4B0] jmp [CASE_PROCTABLE_0040F494+edx*4] CASE_0040F494_PROC0000: mov eax,00001B0Dh retn ;------------------------------------------------------------------------------ CASE_0040F494_PROC0001: mov eax,00000ED7h retn ;------------------------------------------------------------------------------ CASE_0040F494_PROC0002: mov eax,00000D3Fh retn ;------------------------------------------------------------------------------ CASE_0040F494_PROC0004: mov eax,00001B1Ch retn ;------------------------------------------------------------------------------ L0040F371: cmp eax,00000D29h jg L0040F39C jz CASE_0040F470_PROC0001 lea ecx,[eax-00000D16h] cmp ecx,00000003h ja CASE_0040F494_PROC0006 jmp [CASE_PROCTABLE_0040F500+ecx*4] CASE_0040F500_PROC0000: mov eax,00001B8Dh retn ;------------------------------------------------------------------------------ CASE_0040F500_PROC0001: mov eax,0000122Bh retn ;------------------------------------------------------------------------------ L0040F39C: cmp eax,00000D2Fh jg L0040F3C3 jz CASE_0040F500_PROC0002 mov ecx,eax sub ecx,00000D2Bh jz L0040F3BD sub ecx,00000002h jz CASE_0040F500_PROC0002 retn ;------------------------------------------------------------------------------ L0040F3BD: mov eax,00001B15h retn ;------------------------------------------------------------------------------ L0040F3C3: cmp eax,00001B7Eh jnz CASE_0040F494_PROC0006 mov eax,00001E34h CASE_0040F494_PROC0006: retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0040F3D0: dd CASE_0040F500_PROC0002 dd CASE_0040F470_PROC0001 dd CASE_0040F470_PROC0002 dd CASE_0040F3D0_PROC0003 dd CASE_0040F3D0_PROC0004 dd CASE_0040F500_PROC0000 dd CASE_0040F3D0_PROC0006 dd CASE_0040F3D0_PROC0007 dd CASE_0040F500_PROC0001 dd CASE_0040F494_PROC0006 CASE_0040F3F8: db 00h, 00h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 01h, 02h db 00h, 01h, 02h, 00h, 00h, 03h, 00h, 01h, 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 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 09h, 04h, 01h, 09h db 09h, 09h, 09h, 09h, 04h, 00h, 00h, 05h, 09h, 09h, 09h, 09h, 00h, 00h, 09h, 09h db 00h, 00h, 05h, 05h, 09h, 09h, 09h, 06h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 07h, 08h, 08h, 08h, 08h, 05h, 07h, 01h CASE_PROCTABLE_0040F470: dd CASE_0040F500_PROC0002 dd CASE_0040F470_PROC0001 dd CASE_0040F470_PROC0002 dd CASE_0040F470_PROC0003 dd CASE_0040F500_PROC0000 CASE_0040F484: db 00h, 00h, 00h, 00h, 00h, 01h, 02h, 00h, 03h, 04h, 04h, 04h, 04h, 04h, 04h Align 4 CASE_PROCTABLE_0040F494: dd CASE_0040F494_PROC0000 dd CASE_0040F494_PROC0001 dd CASE_0040F494_PROC0002 dd CASE_0040F500_PROC0002 dd CASE_0040F494_PROC0004 dd CASE_0040F500_PROC0001 dd CASE_0040F494_PROC0006 CASE_0040F4B0: db 00h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 01h, 02h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 03h, 03h, 03h, 04h, 03h, 05h, 03h, 03h, 05h Align 4 CASE_PROCTABLE_0040F500: dd CASE_0040F500_PROC0000 dd CASE_0040F500_PROC0001 dd CASE_0040F500_PROC0002 dd CASE_0040F500_PROC0002 SUB_L0040F510: mov eax,[L004FC210] test eax,eax jnz L0040F58F mov eax,[esp+04h] lea ecx,[eax-00000CA7h] cmp ecx,0000006Dh ja CASE_0040F5BC_PROC000E xor edx,edx mov dl,[ecx+CASE_0040F5F8] jmp [CASE_PROCTABLE_0040F5BC+edx*4] CASE_0040F5BC_PROC0000: mov eax,00000C84h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0001: mov eax,00000C46h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0002: mov eax,00000C48h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0003: mov eax,00000C4Ah retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0004: mov eax,00000C4Eh retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0005: mov eax,00000C4Dh retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0006: mov eax,00000D2Bh retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0007: mov eax,00000D29h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0008: mov eax,00000CBEh retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC0009: mov eax,00000CBFh retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC000A: mov eax,00000CC0h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC000B: mov eax,00000C87h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC000C: mov eax,00000C38h retn ;------------------------------------------------------------------------------ CASE_0040F5BC_PROC000D: mov eax,00000D2Fh retn ;------------------------------------------------------------------------------ L0040F58F: cmp eax,00000002h jnz L0040F5A2 mov eax,[esp+04h] push eax call SUB_L0040F070 add esp,00000004h retn ;------------------------------------------------------------------------------ L0040F5A2: cmp eax,00000004h jnz L0040F5B5 mov ecx,[esp+04h] push ecx call SUB_L0040F2B0 add esp,00000004h retn ;------------------------------------------------------------------------------ L0040F5B5: mov eax,[esp+04h] CASE_0040F5BC_PROC000E: retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0040F5BC: dd CASE_0040F5BC_PROC0000 dd CASE_0040F5BC_PROC0001 dd CASE_0040F5BC_PROC0002 dd CASE_0040F5BC_PROC0003 dd CASE_0040F5BC_PROC0004 dd CASE_0040F5BC_PROC0005 dd CASE_0040F5BC_PROC0006 dd CASE_0040F5BC_PROC0007 dd CASE_0040F5BC_PROC0008 dd CASE_0040F5BC_PROC0009 dd CASE_0040F5BC_PROC000A dd CASE_0040F5BC_PROC000B dd CASE_0040F5BC_PROC000C dd CASE_0040F5BC_PROC000D dd CASE_0040F5BC_PROC000E CASE_0040F5F8: db 00h, 0Eh, 0Eh, 0Eh, 0Eh, 01h, 02h, 03h, 04h, 05h, 0Eh, 0Eh, 0Eh, 0Eh, 03h, 06h db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 0Eh db 0Eh, 0Eh, 0Eh, 0Eh, 0Eh, 07h, 06h, 08h, 09h, 0Ah, 0Bh, 0Ch, 0Dh, 06h Align 16 SUB_L0040F670: mov edx,[esp+18h] mov eax,[esp+1Ch] sub esp,00000008h test eax,eax mov eax,[esp+14h] push ebx push ebp push esi mov esi,[edx] push edi jz L0040F77A test eax,eax jz L0040F85D mov edi,[esp+2Ch] mov ebx,[esp+1Ch] mov [esp+24h],eax L0040F6A1: test esi,esi jnz L0040F747 lea ebp,[edi+01h] xor ecx,ecx mov cl,[edi] mov eax,ebp xor edx,edx push 00000001h mov dl,[eax] shl ecx,18h shl edx,10h or ecx,edx inc eax xor edx,edx mov dh,[eax] or ecx,edx inc eax xor edx,edx mov dl,[eax] or ecx,edx inc eax mov [esp+14h],ecx xor ecx,ecx mov cl,[eax] xor edx,edx mov dl,[eax+01h] shl ecx,18h inc eax shl edx,10h or ecx,edx inc eax xor edx,edx mov dh,[eax] mov dl,[eax+01h] mov eax,[esp+2Ch] or edx,ecx lea ecx,[esp+14h] push eax push ecx mov [esp+20h],edx call SUB_L0040F870 mov ecx,[esp+1Ch] mov eax,ebp mov edx,ecx add esp,0000000Ch shr edx,18h mov [edi],dl mov edx,ecx shr edx,10h mov [eax],dl mov edx,ecx inc eax shr edx,08h mov [eax],dl inc eax mov [eax],cl mov ecx,[esp+14h] mov edx,ecx inc eax shr edx,18h mov [eax],dl mov edx,ecx inc eax shr edx,10h mov [eax],dl mov edx,ecx inc eax shr edx,08h mov [eax],dl mov edx,[esp+30h] mov [eax+01h],cl L0040F747: mov al,[ebx] mov cl,[esi+edi] xor al,cl mov ecx,[esp+20h] inc ebx mov [ecx],al inc ecx mov [esi+edi],al mov eax,[esp+24h] inc esi mov [esp+20h],ecx and esi,00000007h dec eax mov [esp+24h],eax jnz L0040F6A1 mov [edx],esi pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0040F77A: test eax,eax jz L0040F85D mov edi,[esp+2Ch] mov ebx,[esp+1Ch] mov [esp+24h],eax L0040F78E: test esi,esi jnz L0040F834 lea ebp,[edi+01h] xor ecx,ecx mov cl,[edi] mov eax,ebp xor edx,edx push 00000001h mov dl,[eax] shl ecx,18h shl edx,10h or ecx,edx inc eax xor edx,edx mov dh,[eax] or ecx,edx inc eax xor edx,edx mov dl,[eax] or ecx,edx inc eax mov [esp+14h],ecx xor ecx,ecx mov cl,[eax] xor edx,edx mov dl,[eax+01h] shl ecx,18h inc eax shl edx,10h or ecx,edx inc eax xor edx,edx mov dh,[eax] mov dl,[eax+01h] mov eax,[esp+2Ch] or edx,ecx lea ecx,[esp+14h] push eax push ecx mov [esp+20h],edx call SUB_L0040F870 mov ecx,[esp+1Ch] mov eax,ebp mov edx,ecx add esp,0000000Ch shr edx,18h mov [edi],dl mov edx,ecx shr edx,10h mov [eax],dl mov edx,ecx inc eax shr edx,08h mov [eax],dl inc eax mov [eax],cl mov ecx,[esp+14h] mov edx,ecx inc eax shr edx,18h mov [eax],dl mov edx,ecx inc eax shr edx,10h mov [eax],dl mov edx,ecx inc eax shr edx,08h mov [eax],dl mov edx,[esp+30h] mov [eax+01h],cl L0040F834: mov al,[ebx] mov cl,[esi+edi] mov [esi+edi],al xor al,cl mov ecx,[esp+20h] inc ebx mov [ecx],al mov eax,[esp+24h] inc ecx inc esi and esi,00000007h dec eax mov [esp+20h],ecx mov [esp+24h],eax jnz L0040F78E L0040F85D: mov [edx],esi pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0040F870: mov edx,[esp+0Ch] mov eax,[esp+08h] push ebx push ebp push esi push edi mov edi,[esp+14h] test edx,edx mov ecx,[edi] mov esi,[edi+04h] jz L0040FCBE mov edx,[eax] xor ecx,edx xor edx,edx mov ebx,ecx mov [esp+18h],ecx mov dl,[esp+1Ah] shr ebx,18h mov edx,[eax+edx*4+00000448h] mov ebp,[eax+ebx*4+48h] xor ebx,ebx mov bl,ch add edx,ebp mov ebp,[eax+ebx*4+00000848h] mov ebx,ecx and ebx,000000FFh xor edx,ebp mov ebp,[eax+ebx*4+00000C48h] add edx,ebp mov ebp,[eax+04h] xor edx,ebp xor esi,edx xor edx,edx mov [esp+18h],esi mov dl,[esp+1Ah] shr esi,18h mov ebp,[eax+edx*4+00000448h] mov edx,[esp+18h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,dh mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,edx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+08h] xor ebp,ebx xor ebx,ebx xor ecx,ebp mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+0Ch] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] add esi,ebp mov ebp,[eax+10h] xor esi,ebp xor ecx,esi xor ebx,ebx mov [esp+18h],ecx mov bl,[esp+1Ah] mov ebp,[eax+ebx*4+00000448h] mov esi,ecx shr esi,18h mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+14h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+18h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+1Ch] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+20h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] add ebp,[eax+esi*4+48h] xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+24h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+28h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+2Ch] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+30h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+34h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+38h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+3Ch] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] add esi,ebp mov ebp,[eax+40h] xor esi,ebp xor ecx,esi mov esi,[eax+44h] xor edx,esi mov [edi+04h],ecx mov [edi],edx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0040FCBE: mov edx,[eax+44h] xor ecx,edx xor edx,edx mov ebx,ecx mov [esp+18h],ecx mov dl,[esp+1Ah] shr ebx,18h mov edx,[eax+edx*4+00000448h] mov ebp,[eax+ebx*4+48h] xor ebx,ebx mov bl,ch add edx,ebp mov ebp,[eax+ebx*4+00000848h] mov ebx,ecx and ebx,000000FFh xor edx,ebp mov ebp,[eax+ebx*4+00000C48h] add edx,ebp mov ebp,[eax+40h] xor edx,ebp xor esi,edx xor edx,edx mov [esp+18h],esi mov dl,[esp+1Ah] shr esi,18h mov ebp,[eax+edx*4+00000448h] mov edx,[esp+18h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,dh mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,edx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+3Ch] xor ebp,ebx xor ebx,ebx xor ecx,ebp mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+38h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] add esi,ebp mov ebp,[eax+34h] xor esi,ebp xor ecx,esi xor ebx,ebx mov [esp+18h],ecx mov bl,[esp+1Ah] mov ebp,[eax+ebx*4+00000448h] mov esi,ecx shr esi,18h mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+30h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+2Ch] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+28h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+24h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] add ebp,[eax+esi*4+48h] xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+20h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+1Ch] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+18h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+14h] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+10h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] xor ebx,ebx add esi,ebp mov ebp,[eax+0Ch] xor esi,ebp xor ecx,esi mov [esp+18h],ecx mov esi,ecx mov bl,[esp+1Ah] shr esi,18h mov ebp,[eax+ebx*4+00000448h] mov ebx,[eax+esi*4+48h] add ebp,ebx xor ebx,ebx mov bl,ch mov esi,[eax+ebx*4+00000848h] xor ebp,esi mov esi,ecx and esi,000000FFh mov ebx,[eax+esi*4+00000C48h] add ebp,ebx mov ebx,[eax+08h] xor ebp,ebx xor ebx,ebx xor edx,ebp mov [esp+18h],edx mov bl,[esp+1Ah] shr edx,18h mov esi,[eax+ebx*4+00000448h] mov ebx,[eax+edx*4+48h] mov edx,[esp+18h] add esi,ebx xor ebx,ebx mov bl,dh mov ebp,[eax+ebx*4+00000848h] mov ebx,edx and ebx,000000FFh xor esi,ebp mov ebp,[eax+ebx*4+00000C48h] add esi,ebp mov ebp,[eax+04h] xor esi,ebp xor ecx,esi mov esi,[eax] xor edx,esi mov [edi+04h],ecx mov [edi],edx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004100F0: sub esp,00000008h mov ecx,00000412h push ebx mov ebx,[esp+10h] push esi push edi mov esi,L004FC248 mov edi,ebx rep movsd mov ecx,[esp+1Ch] cmp ecx,00000048h jle L00410116 mov ecx,00000048h L00410116: mov edi,[esp+20h] push ebp mov eax,edi mov ebp,ebx lea esi,[ecx+edi] mov dword ptr [esp+1Ch],00000012h L0041012A: xor ecx,ecx mov cl,[eax] inc eax cmp eax,esi jc L00410135 mov eax,edi L00410135: xor edx,edx mov dl,[eax] shl ecx,08h or ecx,edx inc eax cmp eax,esi jc L00410145 mov eax,edi L00410145: xor edx,edx mov dl,[eax] shl ecx,08h or ecx,edx inc eax cmp eax,esi jc L00410155 mov eax,edi L00410155: xor edx,edx mov dl,[eax] shl ecx,08h or ecx,edx inc eax cmp eax,esi jc L00410165 mov eax,edi L00410165: mov edx,[ebp+00h] add ebp,00000004h xor edx,ecx mov ecx,[esp+1Ch] mov [ebp-04h],edx dec ecx mov [esp+1Ch],ecx jnz L0041012A xor eax,eax mov esi,ebx mov [esp+10h],eax mov [esp+14h],eax mov edi,00000009h pop ebp L0041018D: push 00000001h lea eax,[esp+10h] push ebx push eax call SUB_L0040F870 mov ecx,[esp+18h] mov edx,[esp+1Ch] mov [esi],ecx mov [esi+04h],edx add esp,0000000Ch add esi,00000008h dec edi jnz L0041018D lea esi,[ebx+48h] mov edi,00000200h L004101B8: push 00000001h lea eax,[esp+10h] push ebx push eax call SUB_L0040F870 mov ecx,[esp+18h] mov edx,[esp+1Ch] mov [esi],ecx mov [esi+04h],edx add esp,0000000Ch add esi,00000008h dec edi jnz L004101B8 pop edi pop esi pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004101F0: mov al,[L004FD290] push ebp push esi push edi test al,al mov edi,ecx jz L00410225 mov ebp,L005CB2D8 mov esi,L004E7408 L00410208: push esi push 00000006h push ebp call SUB_L004100F0 add esi,00000006h add esp,0000000Ch add ebp,00001048h cmp esi,L004E749E jl L00410208 L00410225: mov eax,[esp+14h] cmp eax,00000019h jle L00410238 cdq mov ecx,00000019h idiv ecx mov eax,edx L00410238: mov cl,[esp+10h] test cl,cl mov ecx,eax jz L0041026B shl ecx,04h mov esi,edi lea edx,[ecx+L004E7630] lea ecx,[ecx+L004E74A0] mov ebp,[edx] mov [esi],ebp mov ebp,[edx+04h] mov [esi+04h],ebp mov ebp,[edx+08h] mov [esi+08h],ebp mov edx,[edx+0Ch] mov [esi+0Ch],edx jmp L00410292 L0041026B: shl ecx,04h mov esi,edi lea edx,[ecx+L004E74A0] lea ecx,[ecx+L004E7630] mov ebp,[edx] mov [esi],ebp mov ebp,[edx+04h] mov [esi+04h],ebp mov ebp,[edx+08h] mov [esi+08h],ebp mov edx,[edx+0Ch] mov [esi+0Ch],edx L00410292: mov esi,[ecx] lea edx,[edi+10h] mov [edi+10h],esi mov esi,[ecx+04h] mov [edx+04h],esi mov esi,[ecx+08h] mov [edx+08h],esi mov ecx,[ecx+0Ch] mov [edi+21h],al mov byte ptr [edi+20h],00h pop edi pop esi mov [edx+0Ch],ecx pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004102C0: push ecx push esi mov esi,ecx xor eax,eax lea ecx,[esp+04h] mov al,[esi+20h] push 00000001h shr eax,04h mov [esp+08h],eax xor eax,eax mov al,[esi+21h] push ecx mov ecx,eax lea edx,[esi+10h] shl ecx,06h add ecx,eax push edx lea edx,[eax+ecx*8] mov ecx,[esp+20h] lea eax,[L005CB2D8+edx*8] mov edx,[esp+1Ch] push eax mov eax,[esp+1Ch] push ecx push edx push eax call SUB_L0040F670 mov cl,[esp+20h] mov dl,[esi+20h] shl cl,04h and dl,0Fh add esp,0000001Ch or cl,dl mov eax,00000001h mov [esi+20h],cl pop esi pop ecx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00410330: push ecx push edi mov ecx,00048000h xor eax,eax mov edi,L005E49E8 rep stosd mov eax,L005E4A2A L00410345: mov byte ptr [eax],08h add eax,00000048h cmp eax,L00704A2A jl L00410345 push L004FD2A8 push SSZ004FD298_animdata_mul call SUB_L0043FEF0 mov edi,eax add esp,00000008h test edi,edi jz L00410410 push ebx push esi xor ebx,ebx mov esi,L005E4A28 L00410377: test bl,07h jnz L004103AC push edi push 00000001h lea eax,[esp+14h] push 00000004h push eax call SUB_L004404F0 mov eax,ebx mov ecx,[esp+1Ch] cdq and edx,00000007h push ecx add eax,edx mov edx,[L00D1AF34] sar eax,03h add eax,edx push eax call SUB_L00401E90 add esp,00000018h L004103AC: push edi push 00000001h lea edx,[esi-40h] push 00000040h push edx call SUB_L004404F0 push edi push 00000001h push 00000001h push esi call SUB_L004404F0 push edi push 00000001h lea eax,[esi+01h] push 00000001h push eax call SUB_L004404F0 push edi push 00000001h lea ecx,[esi+02h] push 00000001h push ecx call SUB_L004404F0 add esp,00000040h lea edx,[esi+03h] push edi push 00000001h push 00000001h push edx call SUB_L004404F0 add esp,00000010h add esi,00000048h inc ebx cmp esi,L00704A28 jl L00410377 push edi call SUB_L00440570 add esp,00000004h pop esi pop ebx L00410410: pop edi pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00410420: mov ecx,[L005E49E0] push esi push edi mov edi,[L00C88508] inc ecx test edi,edi mov [L005E49E0],ecx jz L00410507 L0041043D: mov eax,[edi+04h] push 00000033h push SSZ004FD340_C__publish004_client_src_shared_ push eax push edi call SUB_L00476020 add esp,00000010h test al,al jz L004104FA mov eax,[edi] mov ecx,edi call [eax+3Ch] test eax,eax jnz L004104EC mov ax,[edi+3Ch] lea ecx,[eax+eax*8] lea esi,[L005E49E8+ecx*8] test esi,esi jnz L00410487 push SSZ004FD320_animCrap__Update____a____NULL__ call SUB_L004C7E80 add esp,00000004h L00410487: mov cl,[esi+42h] test cl,cl jbe L004104EC mov edx,[L005E49E0] xor eax,eax mov al,[esi+43h] and ecx,000000FFh add eax,edx cdq idiv ecx test edx,edx jnz L004104EC mov edx,[edi] mov ecx,edi call [edx+14h] mov eax,[esi+44h] mov ecx,[L005E49E0] cmp eax,ecx jz L004104DA mov dl,[esi+40h] mov cl,[esi+41h] inc dl mov al,dl mov [esi+40h],dl cmp al,cl jc L004104D1 mov byte ptr [esi+40h],00h L004104D1: mov ecx,[L005E49E0] mov [esi+44h],ecx L004104DA: xor edx,edx mov ecx,edi mov dl,[esi+40h] mov al,[edx+esi] mov edx,[edi] mov [edi+3Eh],al call [edx+10h] L004104EC: mov edi,[edi+54h] test edi,edi jnz L0041043D pop edi pop esi retn ;------------------------------------------------------------------------------ L004104FA: push SSZ004FD2AC_animCrap__Update__either_pointer call SUB_L004C7EC0 add esp,00000004h L00410507: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00410510: sub esp,00000010h mov ecx,[esp+18h] push ebx push esi push edi mov eax,[ecx] mov edi,[esp+30h] lea eax,[eax+eax*2] 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+28h] add edi,edx mov edx,[esp+34h] mov ebx,[eax] mov esi,[edx] mov edx,[esp+2Ch] mov eax,[edx] mov [esp+30h],eax mov eax,[esp+20h] test eax,eax jle L0041066F push ebp lea ebp,[eax+1Bh] mov eax,24924925h mul ebp sub ebp,edx shr ebp,1 add ebp,edx shr ebp,04h mov [esp+10h],ebp jmp L0041057B L00410577: mov ecx,[esp+28h] L0041057B: mov ebp,[ecx] xor eax,eax add ebp,0000001Ch mov [ecx],ebp mov al,[edi] mov ecx,eax and eax,0000000Fh add eax,00000008h shr ecx,04h mov [esp+24h],eax lea eax,[esi+70h] mov edx,[L004FE9CC+ecx*4] mov ebp,[L004FE9BC+ecx*4] inc edi cmp esi,eax mov [esp+14h],edx mov [esp+1Ch],eax jnc L0041065F L004105B7: xor ecx,ecx imul edx,[esp+34h] mov cl,[edi] mov eax,ecx mov ecx,[esp+24h] shr eax,04h shl eax,1Ch sar eax,cl mov ecx,ebp imul ecx,ebx add eax,edx lea eax,[eax+ecx+00000080h] sar eax,08h cmp eax,FFFF8000h jge L004105ED mov eax,FFFF8000h jmp L004105F9 L004105ED: cmp eax,00007FFFh jle L004105F9 mov eax,00007FFFh L004105F9: mov ecx,[esp+24h] mov [esi],ax mov [esi+02h],ax mov [esp+34h],eax xor edx,edx imul eax,ebp mov dl,[edi] shl edx,1Ch sar edx,cl add edx,eax mov ecx,edx mov edx,[esp+14h] mov eax,edx imul eax,ebx lea eax,[ecx+eax+00000080h] sar eax,08h cmp eax,FFFF8000h jge L00410639 mov eax,FFFF8000h jmp L00410645 L00410639: cmp eax,00007FFFh jle L00410645 mov eax,00007FFFh L00410645: mov [esi+04h],ax mov [esi+06h],ax mov ebx,eax mov eax,[esp+1Ch] add esi,00000008h inc edi cmp esi,eax jc L004105B7 L0041065F: mov eax,[esp+10h] dec eax mov [esp+10h],eax jnz L00410577 pop ebp L0041066F: mov edx,[esp+28h] mov ecx,[esp+2Ch] mov eax,[esp+30h] pop edi mov [edx],ebx mov edx,[esp+30h] mov [ecx],eax mov [edx],esi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00410690: sub esp,0000002Ch push ebp push esi mov esi,[esp+3Ch] mov ebp,[esp+50h] push edi mov eax,[esi] lea ecx,[eax+eax*2] mov eax,92492493h lea ecx,[ecx+ecx*4] shl ecx,1 imul ecx add edx,ecx mov ecx,[esp+58h] sar edx,04h mov edi,[ecx] mov eax,edx mov ecx,[esp+48h] shr eax,1Fh add edx,eax add ebp,edx mov edx,[esp+44h] mov eax,[edx] mov edx,[ecx] mov [esp+54h],eax mov eax,[esp+4Ch] mov [esp+10h],edx mov edx,[esp+50h] mov ecx,[eax] mov eax,[edx] mov [esp+0Ch],ecx mov [esp+14h],eax mov eax,[esp+3Ch] test eax,eax jle L004108DE lea ecx,[eax+1Bh] mov eax,24924925h mul ecx sub ecx,edx push ebx shr ecx,1 add ecx,edx shr ecx,04h mov [esp+2Ch],ecx L0041070F: mov ebx,[esi] xor eax,eax add ebx,0000001Ch add ebp,00000002h mov [esi],ebx mov al,[ebp-02h] mov ecx,eax and eax,0000000Fh shr ecx,04h mov edx,[L004FE9BC+ecx*4] mov ecx,[L004FE9CC+ecx*4] mov [esp+40h],edx mov edx,[L004FE9BC+eax*4] mov eax,[L004FE9CC+eax*4] mov [esp+1Ch],ecx mov [esp+28h],eax xor eax,eax mov al,[ebp-01h] mov [esp+24h],edx mov ebx,eax and eax,0000000Fh add eax,00000008h shr ebx,04h mov [esp+20h],eax lea eax,[edi+70h] add ebx,00000008h cmp edi,eax mov [esp+30h],ebx mov [esp+38h],eax jnc L004108CE jmp L00410782 L0041077E: mov ebx,[esp+30h] L00410782: xor edx,edx mov ecx,ebx mov dl,[ebp+00h] mov eax,edx and al,F0h shl eax,18h sar eax,cl mov ecx,[esp+1Ch] imul ecx,[esp+14h] add eax,ecx mov ecx,[esp+40h] imul ecx,[esp+58h] shl edx,1Ch lea eax,[eax+ecx+00000080h] mov ecx,[esp+20h] sar edx,cl mov ecx,[esp+28h] imul ecx,[esp+18h] add edx,ecx mov ecx,[esp+24h] imul ecx,[esp+10h] sar eax,08h lea edx,[edx+ecx+00000080h] sar edx,08h cmp eax,FFFF8000h jge L004107E5 mov eax,FFFF8000h jmp L004107F1 L004107E5: cmp eax,00007FFFh jle L004107F1 mov eax,00007FFFh L004107F1: cmp edx,FFFF8000h jge L00410800 mov edx,FFFF8000h jmp L0041080D L00410800: cmp edx,00007FFFh jle L0041080D mov edx,00007FFFh L0041080D: xor ecx,ecx mov [edi],ax mov [edi+02h],dx mov cl,[ebp+01h] mov esi,ecx and ecx,FFFFFFF0h mov [esp+14h],eax imul eax,[esp+40h] shl ecx,18h mov [esp+34h],ecx mov ecx,ebx mov ebx,[esp+34h] mov [esp+18h],edx imul edx,[esp+24h] sar ebx,cl mov ecx,[esp+20h] shl esi,1Ch sar esi,cl mov ecx,[esp+28h] add ebx,eax mov eax,[esp+1Ch] imul ecx,[esp+10h] imul eax,[esp+58h] add esi,edx lea eax,[ebx+eax+00000080h] lea ecx,[esi+ecx+00000080h] sar eax,08h sar ecx,08h cmp eax,FFFF8000h jge L00410880 mov eax,FFFF8000h jmp L0041088C L00410880: cmp eax,00007FFFh jle L0041088C mov eax,00007FFFh L0041088C: cmp ecx,FFFF8000h jge L0041089B mov ecx,FFFF8000h jmp L004108A8 L0041089B: cmp ecx,00007FFFh jle L004108A8 mov ecx,00007FFFh L004108A8: mov [esp+58h],eax mov [edi+04h],ax mov eax,[esp+38h] mov [edi+06h],cx add edi,00000008h add ebp,00000002h cmp edi,eax mov [esp+10h],ecx jc L0041077E mov esi,[esp+44h] L004108CE: mov eax,[esp+2Ch] dec eax mov [esp+2Ch],eax jnz L0041070F pop ebx L004108DE: mov eax,[esp+44h] mov edx,[esp+54h] mov ecx,[esp+10h] mov [eax],edx mov edx,[esp+48h] mov eax,[esp+0Ch] mov [edx],ecx mov ecx,[esp+4Ch] mov edx,[esp+14h] mov [ecx],eax mov eax,[esp+50h] mov ecx,[esp+58h] mov [eax],edx mov [ecx],edi pop edi pop esi pop ebp add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 L00410920: 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 L00410C2C push ebp push esi push edi L0041094A: mov eax,[ebx+0000033Ch] test eax,eax jz L00410BF8 mov eax,[ebx+00000390h] test eax,eax jz L004109A3 mov eax,[ebx+0000038Ch] add eax,00000372h mov [ebx+0000038Ch],eax mov ecx,[ebx+0000038Ch] mov eax,[ebx+00000340h] cmp ecx,eax jl L00410997 mov edx,[ebx+0000038Ch] mov eax,[ebx+00000340h] sub edx,eax mov [ebx+0000038Ch],edx L00410997: mov eax,[ebx+0000038Ch] mov [esp+1Ch],eax jmp L004109BC L004109A3: 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] L004109BC: mov ecx,[ebx+00000344h] cmp ecx,eax jg L004109D0 mov edx,[ebx+00000344h] sub eax,edx jmp L004109E0 L004109D0: mov ecx,[ebx+00000344h] sub eax,ecx mov edx,[ebx+00000340h] add eax,edx L004109E0: mov esi,eax mov eax,[ebx+00000348h] cdq mov ecx,00000018h idiv ecx add edx,00000004h shl edx,04h cmp esi,[edx+ebx] jl L00410BF8 mov eax,[ebx+00000348h] cdq idiv ecx shl edx,04h lea ebp,[edx+ebx+3Ch] mov eax,[ebx+0000035Ch] test eax,eax mov eax,[ebx+00000390h] jz L00410B54 test eax,eax jnz L00410AFE mov edx,[ebx] push 00000000h mov eax,[edx+50h] lea edx,[esp+14h] push edx lea edx,[esp+1Ch] push edx mov ecx,[eax] lea edx,[esp+34h] push edx 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 L00410AA3 L00410A5B: cmp eax,88780096h jnz L00410A9F 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 mov ecx,[eax] lea edx,[esp+34h] push edx 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 L00410A5B jmp L00410AA3 L00410A9F: test eax,eax jnz L00410AFE L00410AA3: 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 L00410AE3 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] L00410AE3: 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] L00410AFE: mov eax,[ebx+00000344h] mov ecx,[ebp+04h] add eax,ecx cdq idiv [ebx+00000340h] mov [ebx+00000344h],edx lea eax,[ebx+00000348h] push eax 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 L00410BF8 L00410B54: test eax,eax jnz L00410BD6 mov ecx,[ebx] push 00000000h mov eax,[ecx+50h] lea ecx,[esp+14h] push ecx lea ecx,[esp+1Ch] mov edx,[eax] push ecx lea ecx,[esp+34h] push ecx lea ecx,[esp+28h] push ecx push esi mov ecx,[ebx+00000344h] push ecx push eax call [edx+2Ch] test eax,eax jnz L00410BD6 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 L00410BBB 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] L00410BBB: 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] L00410BD6: mov eax,[ebx+00000344h] add eax,esi cdq idiv [ebx+00000340h] mov [ebx+00000344h],edx lea edx,[ebx+00000368h] push edx call [KERNEL32.dll!InterlockedIncrement] L00410BF8: lea eax,[ebx+00000380h] push eax 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 L0041094A pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L00410C2C: xor eax,eax pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00410C40: push esi mov esi,[esp+08h] push 00000001h lea eax,[esi+00000384h] push eax call [KERNEL32.dll!InterlockedExchange] lea ecx,[esp+08h] push ecx push 00000000h push esi push L00410920 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 retn ;------------------------------------------------------------------------------ Align 8 SUB_L00410C80: mov eax,[esp+04h] mov ecx,[eax+00000388h] test ecx,ecx jz L00410CC4 push esi push edi mov edi,[KERNEL32.dll!InterlockedExchange] lea esi,[eax+00000384h] push 00000000h push esi call edi push 00000000h push esi call edi test eax,eax jnz L00410CBF push ebx mov ebx,[KERNEL32.dll!Sleep] L00410CB1: push 0000000Ah call ebx push 00000000h push esi call edi test eax,eax jz L00410CB1 pop ebx L00410CBF: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00410CC4: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00410CD0: sub esp,00000074h push ebx mov ebx,[esp+7Ch] push edi mov eax,[ebx] test dword ptr [eax],00800000h jz L00410DD3 mov ecx,[eax+48h] push esi lea esi,[eax+48h] test ecx,ecx jnz L00410D2D push 00000000h push esi mov dword ptr [ebx+000003A0h],00000001h mov edi,[eax+00000090h] push 00000000h call jmp_DSOUND.dll!DSOUND.1 test eax,eax jnz L00410D27 mov eax,[esi] push 00000002h push edi push eax mov ecx,[eax] call [ecx+18h] test eax,eax jz L00410D2D mov eax,[esi] push eax mov edx,[eax] call [edx+08h] L00410D27: mov dword ptr [esi],00000000h L00410D2D: mov edx,[ebx] pop esi mov eax,[edx+48h] test eax,eax jz L00410DCC mov ecx,00000018h xor eax,eax lea edi,[esp+1Ch] rep stosd mov dword ptr [esp+1Ch],00000060h mov eax,[edx+48h] lea edx,[esp+1Ch] mov ecx,[eax] push edx push eax call [ecx+10h] mov eax,[esp+20h] shr eax,05h and eax,00000001h mov [ebx+00000394h],eax mov eax,[ebx] test dword ptr [eax],00400000h jz L00410DBA mov eax,[eax+4Ch] test eax,eax jz L00410DBA xor ecx,ecx mov edx,[eax] mov [esp+08h],ecx mov dword ptr [esp+08h],00000014h mov [esp+0Ch],ecx mov [esp+10h],ecx mov [esp+14h],ecx mov [esp+18h],ecx lea ecx,[esp+08h] push ecx push eax call [edx+0Ch] mov edx,[esp+10h] pop edi mov [ebx+00000398h],edx xor eax,eax pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ L00410DBA: mov dword ptr [ebx+00000398h],00008000h pop edi xor eax,eax pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ L00410DCC: mov dword ptr [edx+4Ch],00000000h L00410DD3: pop edi xor eax,eax pop ebx add esp,00000074h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00410DE0: push esi mov esi,[esp+08h] mov eax,[esi] test dword ptr [eax],00800000h jz L00410E30 mov ecx,[esi+0000039Ch] test ecx,ecx jz L00410E0F mov eax,[eax+4Ch] test eax,eax jz L00410E0F mov ecx,[eax] push eax call [ecx+08h] mov edx,[esi] mov dword ptr [edx+4Ch],00000000h L00410E0F: mov eax,[esi+000003A0h] test eax,eax jz L00410E30 mov esi,[esi] add esi,00000048h mov eax,[esi] test eax,eax jz L00410E30 mov ecx,[eax] push eax call [ecx+08h] mov dword ptr [esi],00000000h L00410E30: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00410E40: sub esp,0000003Ch push ebx push ebp push esi mov esi,[esp+4Ch] xor ebx,ebx mov ebp,00000001h mov eax,[esi] cmp [eax+48h],ebx jz L00410F65 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 L00410F65 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 L00410F5A mov eax,[esp+3Ch] mov [esi+00000390h],ebx mov [esi+00000340h],eax mov [esi+00000344h],ebx mov ecx,[esi] push ebp push ebx push ebx mov eax,[ecx+50h] push eax mov edx,[eax] call [edx+30h] test eax,eax jz L00410F86 mov eax,[esi] mov eax,[eax+50h] jmp L00410F5F L00410F5A: mov edx,[esi] mov eax,[edx+50h] L00410F5F: mov ecx,[eax] push eax call [ecx+08h] L00410F65: mov edx,[esi] mov [edx+50h],ebx mov [esi+00000390h],ebp mov [esi+0000038Ch],ebx mov dword ptr [esi+00000340h],00008000h mov [esi+00000344h],ebx L00410F86: mov [esi+0000033Ch],ebp pop esi pop ebp xor eax,eax pop ebx add esp,0000003Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00410FA0: push esi mov esi,[esp+08h] mov eax,[esi] mov eax,[eax+50h] test eax,eax jz L00410FBD mov ecx,[eax] push eax call [ecx+08h] mov edx,[esi] mov dword ptr [edx+50h],00000000h L00410FBD: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00410FD0: sub esp,00000020h push esi mov esi,[esp+28h] test esi,esi jnz L00410FE9 push SSZ004FE9DC_IsCovered__pBark____NULL_ call SUB_L004C7E80 add esp,00000004h L00410FE9: mov eax,[esi+30h] mov edx,[esi+20h] mov ecx,[esi+34h] mov [esp+14h],eax add edx,eax mov eax,[esi+24h] mov esi,[esi+44h] add eax,ecx test esi,esi mov [esp+18h],ecx mov [esp+1Ch],edx mov [esp+20h],eax jz L0041105B L00411010: mov edx,[esi] mov ecx,esi call [edx+000000A0h] test eax,eax jz L00411054 mov eax,[esi+30h] mov [esp+04h],eax mov ecx,[esi+34h] mov [esp+08h],ecx mov edx,[esi+20h] add edx,eax mov [esp+0Ch],edx mov eax,[esi+24h] add eax,ecx lea ecx,[esp+04h] lea edx,[esp+14h] push ecx push edx mov [esp+18h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jnz L00411062 L00411054: mov esi,[esi+44h] test esi,esi jnz L00411010 L0041105B: xor eax,eax pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ L00411062: mov eax,00000001h pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 L00411070: mov eax,[ecx+00000098h] cmp eax,FFFFFF85h jnz L0041107E mov eax,[ecx+54h] L0041107E: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00411090: push esi mov esi,ecx call SUB_L00411830 test byte ptr [esp+08h],01h jz L004110A8 push esi call SUB_L004D4F9E add esp,00000004h L004110A8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004110B0: push FFFFFFFFh push L004E0BFB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000428h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+34h],ebp call SUB_L00458F30 mov eax,[esp+0000045Ch] mov esi,[esp+0000044Ch] mov [ebp+000000B4h],eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax xor ebx,ebx mov dword ptr [ebp+00h],L004E77C0 repne scasb not ecx push ecx mov [esp+00000444h],ebx mov [esp+18h],ebx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+000000E0h],edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov dx,[esp+00000454h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov cx,[esp+00000450h] mov [esp+38h],bl mov [ebp+000000E4h],cx mov [ebp+000000E6h],dx mov [ebp+000000D4h],ebx mov [ebp+000000D0h],ebx mov [ebp+000000CCh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000DCh],ebx mov [ebp+000000D8h],ebx mov al,[L00CD9CD2] cmp al,02h jnz L004111E2 mov edi,L00CD9CB4 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+38h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+38h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FEA2C 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 L00411214 L004111E2: cmp al,03h jnz L00411214 mov edi,SSZ004FEA20_You_see__ or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+38h] repne scasb not ecx sub edi,ecx mov dword ptr [esp+14h],00000001h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00411214: mov edi,[esp+0000044Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+38h] 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,[esp+00000450h] mov ecx,edx mov dl,[L00CD9CD2] and ecx,00000003h rep movsb and eax,0000FFFFh xor ecx,ecx cmp dl,01h lea edx,[esp+38h] setz cl push ecx push eax push edx mov [esp+3Ch],eax call SUB_L004BDED0 mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb not ecx sub edi,ecx mov byte ptr [L00CD9CD2],01h mov eax,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[esp+0000044Ch] or ecx,FFFFFFFFh mov dword ptr [ebp+08h],SSZ004FEA14_bark_gump repne scasb mov edi,[esp+00000448h] mov [ebp+50h],ebx not ecx dec ecx cmp edi,ebx mov [esp+28h],ecx mov ecx,[esp+00000458h] mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+38h],ebx mov [ebp+000000C0h],ecx jnz L00411340 mov edx,[L00B294C0] mov dword ptr [esp+10h],00000140h mov eax,edx mov [ebp+000000B8h],edx cmp eax,ebx mov [ebp+000000BCh],ebx jz L00411309 mov [eax+000000BCh],ebp L00411309: mov [ebp+000000C4h],ebx mov [L00B294C0],ebp mov [ebp+30h],ebx mov dword ptr [ebp+34h],000001CCh call SUB_L00447090 mov ecx,[L005073D4] cmp ecx,eax mov eax,ecx jl L00411335 call SUB_L00447090 L00411335: add eax,FFFFFFD3h mov [ebp+34h],eax jmp L004114A6 L00411340: mov eax,[edi+6Ch] mov dword ptr [esp+10h],000000C8h cmp eax,ebx mov [ebp+000000B8h],eax mov [ebp+000000BCh],ebx jz L00411361 mov [eax+000000BCh],ebp L00411361: mov [ebp+000000C4h],edi mov edx,[edi] mov ecx,edi mov [edi+6Ch],ebp call [edx+2Ch] test eax,eax jz L004113EB mov eax,[edi+00000080h] cmp eax,ebx jz L004113EB mov ecx,[eax+000000B0h] cmp ecx,ebx mov [esp+14h],ecx jnz L004113A3 cmp ebp,ebx jz L0041180C mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] jmp L0041180C L004113A3: lea esi,[ebp+000000A8h] lea eax,[ebp+000000A4h] push esi push eax mov [esi],ebx mov [eax],ebx call SUB_L00457C90 mov eax,[esp+14h] mov edx,[ebp+000000A4h] mov ecx,[eax+70h] add edx,ecx mov [ebp+000000A4h],edx mov edx,[eax+74h] mov eax,[esi] add eax,edx mov [esi],eax mov eax,[ebp+000000A4h] mov ecx,[esi] mov [ebp+30h],eax mov [ebp+34h],ecx jmp L004114A6 L004113EB: mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L0041143E mov eax,[edi+10h] mov edx,[edi+08h] mov esi,[L0051A760] add eax,edx sar eax,1 sub eax,esi mov [ebp+000000A4h],eax mov ecx,[edi+0Ch] sub ecx,[L0051A75C] lea eax,[ecx+04h] mov [ebp+000000A8h],eax mov edx,[edi+000001D0h] add edx,eax mov eax,[ebp+000000A4h] mov ecx,edx mov [ebp+000000A8h],edx mov [ebp+30h],eax mov [ebp+34h],ecx jmp L004114A6 L0041143E: mov edx,[edi+10h] mov ecx,[edi+08h] mov esi,[L0051A760] add edx,ecx sar edx,1 sub edx,esi mov [ebp+000000A4h],edx mov eax,[edi+0Ch] sub eax,[L0051A75C] add eax,00000004h mov [ebp+000000A8h],eax mov eax,[esp+14h] cmp eax,ebx jz L00411494 mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jnz L00411494 mov eax,[L00B189F8] mov ecx,[eax+70h] mov [ebp+30h],ecx mov edx,[L00B189F8] mov eax,[edx+74h] mov [ebp+34h],eax jmp L004114A6 L00411494: mov ecx,[ebp+000000A4h] mov edx,[ebp+000000A8h] mov [ebp+30h],ecx mov [ebp+34h],edx L004114A6: push SSZ004FE9FC_framedata_for_CBarkGump push 00000008h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov edx,[esp+18h] xor ecx,ecx mov [ebp+3Ch],eax mov [eax],ecx mov [eax+04h],ecx mov eax,[ebp+30h] mov [esp+20h],eax add eax,edx add esp,00000008h mov [esp+20h],eax mov eax,[esp+28h] lea ecx,[esp+2Ch] cmp eax,ebx lea esi,[ebp+24h] push ebx lea eax,[ebp+20h] push ecx push esi push eax mov [esp+2Ch],ebx mov [esp+34h],ebx push edx jle L00411503 mov eax,[esp+00000460h] push eax jmp L00411508 L00411503: push L004FE9F8 L00411508: mov eax,[esp+0000046Ch] and eax,0000FFFFh push eax call SUB_L00441CD0 mov ecx,[esi] mov eax,88888889h imul ecx add edx,ecx mov ecx,[ebp+000000C4h] sar edx,03h mov eax,edx add esp,0000001Ch shr eax,1Fh add edx,eax cmp ecx,ebx mov [esp+14h],edx jz L00411557 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00411557 mov eax,[ebp+000000C4h] cmp [eax+00000080h],ebx jnz L00411571 L00411557: call SUB_L00447080 dec eax mov [esp+28h],eax call SUB_L00447090 mov ecx,[esp+28h] dec eax mov [esp+10h],eax jmp L00411583 L00411571: mov ecx,[L005073D0] mov edx,[L005073D4] dec ecx dec edx mov [esp+10h],edx L00411583: cmp edi,ebx jz L00411599 mov eax,[ebp+20h] cdq sub eax,edx mov edx,[ebp+30h] sar eax,1 neg eax add edx,eax mov [ebp+30h],edx L00411599: mov edx,[ebp+30h] mov eax,[ebp+20h] mov [ebp+000000ACh],edx add edx,eax cmp edx,ecx jle L004115B0 sub ecx,eax mov [ebp+30h],ecx L004115B0: cmp [ebp+30h],ebx jge L004115B8 mov [ebp+30h],ebx L004115B8: mov ecx,[esi] mov edx,[ebp+34h] sub edx,ecx mov [ebp+34h],edx mov [ebp+000000B0h],edx lea edi,[edx+ecx] mov edx,[esp+10h] cmp edi,edx jle L004115D8 sub edx,ecx mov [ebp+34h],edx L004115D8: cmp [ebp+34h],ebx jge L004115E0 mov [ebp+34h],ebx L004115E0: mov edi,[esp+1Ch] mov [ebp+1Ch],eax mov edx,00000001h imul eax,ecx sub edx,edi mov edi,[esp+24h] add edi,edx mov edx,00000001h mov [esp+24h],edi mov edi,[esp+18h] sub edx,edi mov edi,[esp+20h] add edi,edx lea eax,[eax+eax+04h] mov edx,00000001h push eax mov [esp+24h],edi mov [esp+20h],edx mov [esp+1Ch],edx call SUB_L004D4FA9 mov ecx,[ebp+3Ch] push ebx push ebx push ebx mov [ecx+04h],eax mov edx,[ebp+3Ch] mov cx,[ebp+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[ebp+3Ch] mov cx,[esi] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[ebp+1Ch] imul ecx,[esi] mov edx,[ebp+3Ch] 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,[esp+28h] and ecx,00000003h push edx rep stosb mov ecx,[esi] mov eax,[ebp+1Ch] mov [esp+38h],ecx mov ecx,[ebp+3Ch] mov [esp+2Ch],ebx mov [esp+30h],ebx mov [esp+34h],eax mov edx,[ecx+04h] mov ecx,[esp+44h] add edx,00000004h push eax push edx push eax mov eax,[ebp+000000E0h] xor edx,edx push eax mov dx,[ebp+000000E6h] push ecx push edx push ebx push ebx call SUB_L00441160 mov eax,[ebp+000000B8h] add esp,00000034h cmp eax,ebx jz L004116F9 mov ecx,[esp+10h] lea edi,[ecx+01h] L004116C2: mov ecx,[esi] mov edx,[eax+000000B8h] sub [eax+000000B0h],ecx mov ecx,[eax+000000B0h] mov [eax+34h],ecx jns L004116DE mov [eax+34h],ebx L004116DE: mov ecx,[eax+24h] add ecx,[eax+34h] cmp ecx,edi jle L004116F3 mov ecx,[esp+10h] sub ecx,[eax+24h] inc ecx mov [eax+34h],ecx L004116F3: cmp edx,ebx mov eax,edx jnz L004116C2 L004116F9: mov ecx,ebp call SUB_L00412180 mov eax,[ebp+30h] mov edi,[ebp+20h] mov edx,[esi] mov [esp+18h],eax add eax,edi mov [esp+20h],eax mov eax,[ebp+34h] mov edi,eax add eax,edx mov edx,eax mov eax,[ebp+000000B8h] cmp eax,ebx mov [esp+1Ch],edi mov [esp+24h],edx jz L00411779 L0041172D: mov ecx,[eax+30h] mov esi,[esp+18h] cmp ecx,esi jge L0041173C mov [esp+18h],ecx L0041173C: mov ecx,[eax+20h] mov esi,[eax+30h] add ecx,esi mov esi,[esp+20h] cmp ecx,esi jle L00411750 mov [esp+20h],ecx L00411750: mov ecx,[eax+34h] cmp ecx,edi jge L0041175D mov edi,ecx mov [esp+1Ch],edi L0041175D: mov ecx,[eax+24h] mov esi,[eax+34h] add ecx,esi cmp ecx,edx jle L0041176F mov edx,ecx mov [esp+24h],edx L0041176F: mov eax,[eax+000000B8h] cmp eax,ebx jnz L0041172D L00411779: call [KERNEL32.dll!GetTickCount] mov [ebp+0000009Ch],eax mov al,[L0050CC2C] cmp al,bl mov eax,[L0050CF14] jz L004117B7 imul eax,[esp+14h] 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 eax,edx shr eax,1Fh add edx,eax jmp L004117D4 L004117B7: 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 L004117D4: push ebx push ebx mov ecx,ebp mov [ebp+000000A0h],edx call SUB_L004587A0 mov dl,[L00C8367C] mov [ebp+000000E8h],dl mov al,[L00C8367D] mov [ebp+000000E9h],al mov cl,[L00C8367E] mov [ebp+000000EAh],cl mov [ebp+000000EBh],bl L0041180C: mov ecx,[esp+00000438h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000434h retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L00411830: push FFFFFFFFh push L004E0C18 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004E77C0 mov eax,[esi+000000C4h] xor ebx,ebx cmp eax,ebx mov [esp+14h],ebx jz L00411874 cmp [eax+6Ch],esi jnz L00411874 mov ecx,[esi+000000B8h] mov [eax+6Ch],ecx jmp L00411888 L00411874: cmp [L00B294C0],esi jnz L00411888 mov edx,[esi+000000B8h] mov [L00B294C0],edx L00411888: mov eax,[esi+000000B8h] cmp eax,ebx jz L0041189E mov ecx,[esi+000000BCh] mov [eax+000000BCh],ecx L0041189E: mov eax,[esi+000000BCh] cmp eax,ebx jz L004118B4 mov edx,[esi+000000B8h] mov [eax+000000B8h],edx L004118B4: mov eax,[L007049F0] push edi cmp eax,ebx jnz L004118F6 cmp [L00C88338],ebx jnz L004118F6 mov eax,[esi+000000C4h] cmp eax,ebx jz L004118F6 mov edi,[eax+6Ch] cmp edi,ebx jz L004118F6 L004118D7: mov ecx,edi call SUB_L00412060 mov edi,[edi+000000B8h] cmp edi,ebx jnz L004118D7 mov eax,[esi+000000C4h] mov ecx,[eax+6Ch] call SUB_L00412180 L004118F6: mov eax,[esi+3Ch] pop edi cmp eax,ebx jz L00411934 mov eax,[eax+04h] cmp eax,ebx jz L00411934 cmp eax,DDDDDDDDh jnz L0041191F push SSZ004FEA44_CBarkGump___CBarkGump____frame_0 call SUB_L004C7EF0 mov ecx,[esi+3Ch] add esp,00000004h mov [ecx+04h],ebx L0041191F: mov edx,[esi+3Ch] mov eax,[edx+04h] push eax call SUB_L004D4F9E mov eax,[esi+3Ch] add esp,00000004h mov [eax+04h],ebx L00411934: mov eax,[esi+3Ch] cmp eax,ebx jz L0041194C push SSZ004FEA30_draggump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L0041194C: mov eax,[esi+000000E0h] cmp eax,ebx jz L00411965 push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000E0h],ebx L00411965: mov ecx,esi mov [esi+000000B8h],ebx mov [esi+000000BCh],ebx mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004119A0: mov eax,[ecx+000000B4h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004119B0: mov ecx,[esp+08h] sub esp,00000024h xor eax,eax push ebx push esi lea esi,[ecx+01h] L004119BE: mov edx,[eax+L005072E0] mov ebx,[eax+L005072B8] imul edx,ecx add edx,ebx mov [esp+eax+0Ch],edx add eax,00000004h cmp eax,00000020h jl L004119BE mov eax,[esp+38h] dec eax cmp eax,00000001h jle L00411A58 mov edx,[esp+30h] dec ecx dec eax push ebp mov ebp,[esp+40h] push edi mov [esp+10h],ecx mov [esp+40h],eax L004119F9: cmp ecx,00000001h jle L00411A48 dec ecx lea ebx,[edx+esi*2] mov [esp+3Ch],ecx L00411A06: mov ax,[ebx] test ax,ax jz L00411A35 and eax,0000FFFFh cmp eax,ebp jz L00411A35 lea ecx,[esp+14h] mov edi,00000008h L00411A20: mov eax,[ecx] add eax,esi cmp word ptr [edx+eax*2],0000h jnz L00411A2F mov [edx+eax*2],bp L00411A2F: add ecx,00000004h dec edi jnz L00411A20 L00411A35: mov eax,[esp+3Ch] inc esi add ebx,00000002h dec eax mov [esp+3Ch],eax jnz L00411A06 mov ecx,[esp+10h] L00411A48: mov eax,[esp+40h] add esi,00000002h dec eax mov [esp+40h],eax jnz L004119F9 pop edi pop ebp L00411A58: pop esi pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 L00411A60: mov eax,[L00B294DC] sub esp,00000010h push esi mov esi,ecx cmp eax,esi jz L00411A76 push 00000000h call SUB_L004584E0 L00411A76: push esi call SUB_L004560A0 add esp,00000004h test eax,eax jz L00411AB2 mov eax,[esi+1Ch] mov ecx,[esi+24h] mov edx,[esi] mov [esp+0Ch],eax lea eax,[esp+04h] mov [esp+10h],ecx push eax push 00000035h mov ecx,esi mov dword ptr [esp+0Ch],00000000h mov dword ptr [esp+10h],00000000h call [edx+00000174h] L00411AB2: pop esi add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 8 L00411AC0: sub esp,00000010h push esi mov esi,ecx push esi call SUB_L004560A0 add esp,00000004h test eax,eax jz L00411B04 mov edx,[esi+24h] mov ecx,[esi+1Ch] mov [esp+10h],edx xor eax,eax mov [esp+0Ch],ecx xor edx,edx mov dx,[esi+000000E4h] lea ecx,[esp+04h] mov [esp+04h],eax mov [esp+08h],eax mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000174h] L00411B04: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00411B10: mov edx,[esp+08h] mov eax,[ecx+1Ch] push 00000000h push 00000000h push 00000000h push edx mov edx,[ecx+3Ch] push eax mov edx,[edx+04h] add edx,00000004h push edx mov edx,[esp+1Ch] push eax mov eax,[ecx+000000E0h] push eax xor eax,eax mov ax,[ecx+000000E6h] push edx push eax push 00000000h push 00000000h call SUB_L00441160 add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ Align 4 L00411B50: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000DCh] mov ecx,00000001h cmp edx,ecx jnz L00411BA7 sub edi,[esi+000000D8h] cmp edi,eax jbe L00411BA7 mov eax,[esi+000000D0h] mov dword ptr [esi+000000DCh],00000000h test eax,eax jnz L00411BA1 mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L00411CA0 pop edi pop esi retn ;------------------------------------------------------------------------------ L00411BA1: mov [esi+000000C8h],ecx L00411BA7: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L00411BB0: mov edx,[esp+08h] push esi mov esi,ecx mov eax,00000001h mov ecx,[esp+08h] mov [esi+70h],ecx mov ecx,[esi+000000DCh] cmp ecx,eax mov [esi+000000D0h],eax mov [esi+74h],edx jnz L00411BE4 mov dword ptr [esi+000000DCh],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L00411BE4: mov [esi+000000DCh],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000D8h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00411C00: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000C8h] mov [esi+000000D0h],edi cmp eax,edi jz L00411C30 push edi mov [esi+000000C8h],edi mov [esi+000000DCh],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00411C30: cmp dword ptr [esi+000000DCh],00000002h jnz L00411C73 mov ecx,[esi+000000C4h] mov [esi+000000DCh],edi cmp ecx,edi jz L00411C73 mov eax,[ecx] call [eax+24h] test eax,eax jnz L00411C61 mov ecx,[esi+000000C4h] mov edx,[ecx] call [edx+54h] test eax,eax jz L00411C73 L00411C61: mov eax,[esi+000000C4h] mov ecx,[L00B189F8] push eax call SUB_L004742A0 L00411C73: push edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00411C90: db 85h; ':' db C9h; '‰' db 74h; 't' db 06h; db 8Bh; '<' db 01h; db 6Ah; 'j' db 01h; db FFh; 'ï' db 10h; db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00411CA0: push esi mov esi,ecx push edi mov ecx,[esi+000000C4h] test ecx,ecx jz L00411D7F mov eax,[ecx] call [eax+24h] test eax,eax jnz L00411CCE mov ecx,[esi+000000C4h] mov edx,[ecx] call [edx+54h] test eax,eax jz L00411D7F L00411CCE: mov eax,[L00C88318] test eax,eax jz L00411D7F mov eax,[L00C88328] test eax,eax jz L00411D7F mov eax,[L00C87E7C] test eax,eax jnz L00411D7F mov ecx,[esi+000000C4h] xor edi,edi mov eax,[ecx] call [eax+24h] test eax,eax jz L00411D0C mov edi,[esi+000000C4h] L00411D0C: mov al,[L0050CC2D] test al,al jz L00411D6F test edi,edi jz L00411D6F mov al,[L00C88324] test al,al jz L00411D6F cmp al,01h jnz L00411D39 mov edx,[edi] mov ecx,edi call [edx+000000A4h] test al,al jz L00411D4B mov al,[L00C88324] L00411D39: cmp al,02h jnz L00411D6F mov eax,[edi] mov ecx,edi call [eax+000000A8h] test al,al jnz L00411D6F L00411D4B: call SUB_L0047BB90 push 00000000h mov byte ptr [L00C88324],00h call SUB_L004D0FB0 mov ecx,[edi+7Ch] push ecx call SUB_L00473EF0 add esp,00000008h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00411D6F: mov edx,[esi+000000C4h] push edx call [L00C88328] add esp,00000004h L00411D7F: mov al,[L00505E47] test al,al jz L00411DD7 lea eax,[esi+000000E8h] push eax call SUB_L00470260 add esp,00000004h test al,al jz L00411DD7 mov ecx,[esi+000000C4h] xor edi,edi test ecx,ecx jz L00411DB9 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00411DB9 mov eax,[esi+000000C4h] mov edi,[eax+7Ch] L00411DB9: mov ecx,[esi+000000C4h] mov edx,[esi+000000E0h] push edi push ecx push L00412FF0 push edx push 00000000h call SUB_L004702E0 add esp,00000014h L00411DD7: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00411DE0: sub esp,00000034h push ebx push ebp mov ebp,ecx push esi lea eax,[esp+0Ch] push edi lea ecx,[esp+14h] push eax xor edi,edi push ecx mov ecx,ebp mov [esp+1Ch],edi mov [esp+18h],edi call SUB_L00457C90 cmp [ebp+6Ch],edi jz L0041204A mov eax,[esp+14h] mov edx,[ebp+20h] mov ecx,[esp+10h] mov [esp+34h],eax add edx,eax mov eax,[ebp+24h] mov [esp+38h],ecx add eax,ecx mov ecx,[L005073D0] mov [esp+3Ch],edx mov edx,[L00B189FC] push ecx push edx mov [esp+48h],eax call SUB_L004B9E80 mov esi,[esp+50h] lea eax,[esp+3Ch] push eax push esi call SUB_L00457DB0 add esp,00000010h test eax,eax jz L0041204A lea ecx,[esp+24h] lea edx,[esp+34h] push ecx push edx push esi call SUB_L00457DF0 mov esi,[esp+40h] mov edx,[esp+30h] add esp,0000000Ch xor ecx,ecx xor eax,eax cmp esi,edx jz L00411E83 sub edx,esi mov ecx,edx L00411E83: mov esi,[esp+38h] mov edx,[esp+28h] cmp esi,edx jz L00411E93 sub edx,esi mov eax,edx L00411E93: mov edi,[ebp+1Ch] mov edx,[ebp+14h] mov esi,[ebp+3Ch] imul edi,eax mov edx,[esi+edx*8+04h] add edi,ecx mov ebx,[esp+14h] push ebp lea esi,[edx+edi*2+04h] mov edx,[esp+14h] add eax,edx mov [esp+4Ch],esi imul eax,[L005073D0] add eax,ecx mov ecx,[L00B189FC] add eax,ebx lea ebx,[ecx+eax*2] call SUB_L00410FD0 add esp,00000004h test eax,eax jz L00411FB8 mov edx,[ebp+1Ch] mov ebp,[esp+2Ch] mov eax,[esp+24h] mov ecx,[esp+28h] mov edi,[L005073D0] sub ebp,eax mov eax,[esp+30h] mov [esp+1Ch],edx sub eax,ecx mov cl,[L00C8C4A4] test cl,cl mov [esp+20h],edi jz L00411F7D test eax,eax jle L0041204A mov [esp+18h],eax L00411F17: test ebp,ebp mov ecx,esi jz L00411F62 mov edx,ebx lea eax,[ebp+00h] sub edx,esi mov [esp+48h],eax L00411F28: mov ax,[ecx] test ax,ax jz L00411F4C mov di,[edx+ecx] shr edi,1 shr eax,1 and edi,00007BEFh and eax,00007BEFh add edi,eax or edi,00000001h mov [edx+ecx],di L00411F4C: mov eax,[esp+48h] add ecx,00000002h dec eax mov [esp+48h],eax jnz L00411F28 mov edx,[esp+1Ch] mov edi,[esp+20h] L00411F62: mov eax,[esp+18h] lea ebx,[ebx+edi*2] dec eax lea esi,[esi+edx*2] mov [esp+18h],eax jnz L00411F17 pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ L00411F7D: test eax,eax jle L0041204A lea ecx,[edi+edi] add edx,edx mov [esp+48h],ecx mov [esp+20h],edx mov edi,eax L00411F94: push ebp push esi push ebx call SUB_L004B9C10 mov edx,[esp+54h] mov ecx,[esp+2Ch] add esp,0000000Ch add ebx,edx add esi,ecx dec edi jnz L00411F94 pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ L00411FB8: mov eax,[ebp+00h] mov ecx,ebp call [eax+00000098h] test eax,eax jz L00411FFC mov ecx,[ebp+1Ch] mov edx,[L005073D0] mov eax,[esp+2Ch] push ecx mov ecx,[esp+34h] push edx push esi mov esi,[esp+34h] push ebx mov ebx,[esp+34h] sub eax,ebx sub ecx,esi push eax push ecx call SUB_L00458030 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ L00411FFC: mov eax,[esp+28h] mov ecx,[esp+30h] cmp eax,ecx jge L0041204A jmp L0041200E L0041200A: mov esi,[esp+48h] L0041200E: mov ecx,[esp+2Ch] mov edx,[esp+24h] sub ecx,edx mov edi,ebx shl ecx,1 mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h inc eax rep movsb mov ecx,[L005073D0] mov edx,[ebp+1Ch] lea ebx,[ebx+ecx*2] mov ecx,[esp+48h] lea edx,[ecx+edx*2] mov ecx,[esp+30h] cmp eax,ecx mov [esp+48h],edx jl L0041200A L0041204A: pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00412060: push esi mov esi,ecx mov ecx,[esi+000000C4h] test ecx,ecx jz L00412177 cmp ecx,[L00C884DC] jz L00412177 mov eax,[ecx] call [eax+2Ch] test eax,eax jz L0041209A mov ecx,[esi+000000C4h] mov eax,[ecx+00000080h] test eax,eax jnz L00412177 L0041209A: mov ecx,[esi+000000C4h] push ebp mov ebp,[L0051A760] push edi mov eax,[ecx+10h] mov edi,[ecx+08h] mov ecx,[ecx+0Ch] add eax,edi mov edi,[L0051A75C] sar eax,1 sub eax,ebp mov ebp,[esi+000000A4h] mov edx,eax sub ecx,edi mov edi,[esi+000000ACh] sub edx,ebp mov ebp,[esi+000000A8h] add edi,edx add ecx,00000004h mov [esi+000000ACh],edi mov edx,edi mov edi,ecx sub edi,ebp mov ebp,[esi+000000B0h] add ebp,edi mov [esi+000000A4h],eax mov eax,[esi] mov edi,ebp mov [esi+000000A8h],ecx mov ecx,esi mov [esi+000000B0h],ebp mov [esi+30h],edx mov [esi+34h],edi call [eax+7Ch] test eax,eax jz L00412123 call SUB_L00447080 mov edi,eax dec edi call SUB_L00447090 dec eax jmp L00412135 L00412123: mov ecx,[L005073D0] mov edx,[L005073D4] lea edi,[ecx-01h] lea eax,[edx-01h] L00412135: mov ecx,[esi+20h] mov ebp,[esi+30h] mov edx,ecx add edx,ebp cmp edx,edi jle L00412148 sub edi,ecx mov [esi+30h],edi L00412148: mov ecx,[esi+30h] pop edi test ecx,ecx pop ebp jge L00412158 mov dword ptr [esi+30h],00000000h L00412158: mov ecx,[esi+24h] mov edx,[esi+34h] add edx,ecx cmp edx,eax jle L00412169 sub eax,ecx mov [esi+34h],eax L00412169: mov eax,[esi+34h] test eax,eax jge L00412177 mov dword ptr [esi+34h],00000000h L00412177: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00412180: push ecx mov eax,[ecx+000000BCh] push ebx push ebp push esi push edi mov edi,[ecx+24h] test eax,eax mov [esp+10h],ecx mov ebx,ecx jz L004121A9 L00412198: mov ebx,eax mov esi,[ebx+24h] mov eax,[ebx+000000BCh] add edi,esi test eax,eax jnz L00412198 L004121A9: mov eax,[ecx+000000B8h] mov esi,ecx test eax,eax jz L004121C6 L004121B5: mov esi,eax mov ebp,[esi+24h] mov eax,[esi+000000B8h] add edi,ebp test eax,eax jnz L004121B5 L004121C6: mov eax,[ecx] call [eax+7Ch] test eax,eax jz L004121DE call SUB_L00447080 call SUB_L00447090 mov ebp,eax dec ebp jmp L004121E7 L004121DE: mov ecx,[L005073D4] lea ebp,[ecx-01h] L004121E7: cmp edi,ebp jle L00412220 L004121EB: cmp esi,[esp+10h] jz L00412220 mov ecx,[esi+24h] sub edi,ecx mov ecx,esi mov esi,[esi+000000BCh] mov dword ptr [L007049F0],00000001h test ecx,ecx jz L00412212 mov edx,[ecx] push 00000001h call [edx] L00412212: cmp edi,ebp mov dword ptr [L007049F0],00000000h jg L004121EB L00412220: test esi,esi jz L00412266 mov eax,[esi+000000B0h] test eax,eax jge L00412266 mov eax,[esi+000000BCh] mov dword ptr [esi+34h],00000000h test eax,eax jz L004122AD mov esi,eax test esi,esi jz L004122AD L00412245: mov eax,[esi+000000B8h] mov ecx,[eax+34h] mov edx,[eax+24h] add ecx,edx mov [esi+34h],ecx mov esi,[esi+000000BCh] test esi,esi jnz L00412245 pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00412266: test ebx,ebx jz L004122AD mov edx,[ebx+000000B0h] mov esi,[ebx+24h] add edx,esi lea eax,[ebp+01h] cmp edx,eax jle L004122AD mov eax,[ebx+000000B8h] mov edx,esi sub ebp,edx inc ebp test eax,eax mov [ebx+34h],ebp jz L004122AD test eax,eax jz L004122AD L00412292: mov ecx,[eax+000000BCh] mov esi,[eax+24h] mov edx,[ecx+34h] sub edx,esi mov [eax+34h],edx mov eax,[eax+000000B8h] test eax,eax jnz L00412292 L004122AD: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 L004122C0: push esi mov esi,ecx mov ecx,[esi+000000C4h] test ecx,ecx jz L004122EA mov eax,[ecx] call [eax+2Ch] test eax,eax jz L004122EA mov ecx,[esi+000000C4h] mov eax,[ecx+00000080h] test eax,eax jz L004122EA xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004122EA: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00412300: push FFFFFFFFh push L004E0C38 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi call SUB_L00458F30 xor edi,edi mov dword ptr [esi],L004E7938 mov [esp+14h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+38h],edi mov [esi+30h],edi call SUB_L00447090 push SSZ004FEAA8_framedata_for_CInputGump push 00000008h mov [esi+34h],eax mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 xor ecx,ecx add esp,00000008h mov [esi+3Ch],eax mov [eax],ecx mov [eax+04h],ecx push edi push edi mov ecx,esi call SUB_L004587A0 mov eax,[esp+28h] mov edx,[esp+24h] mov ecx,[esp+1Ch] cmp eax,edi mov eax,[esp+20h] push edx push eax push ecx mov ecx,esi jz L00412398 call SUB_L004125F0 jmp L0041239D L00412398: call SUB_L00412400 L0041239D: mov ecx,[esp+0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 L004123C0: push esi mov esi,ecx call SUB_L004123E0 test byte ptr [esp+08h],01h jz L004123D8 push esi call SUB_L004D4F9E add esp,00000004h L004123D8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004123E0: mov dword ptr [ecx],L004E7938 jmp SUB_L00458FF0 Align 8 L004123F0: push 00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00412400: sub esp,0000041Ch push ebx push ebp push esi push edi mov esi,ecx push 00000001h call SUB_L004584E0 mov eax,[L007049EC] xor edi,edi cmp eax,edi jz L00412463 call [KERNEL32.dll!GetTickCount] mov edx,[L007049E8] mov ecx,eax sub ecx,edx mov [L007049E8],eax jnz L00412439 xor eax,eax jmp L00412442 L00412439: mov eax,000003E8h xor edx,edx div ecx L00412442: mov ecx,[esp+00000430h] lea edx,[esp+2Ch] push ecx push eax push SSZ004FEB04__3d_fps__s push edx call SUB_L004D512F add esp,00000010h lea ebp,[esp+2Ch] jmp L0041246A L00412463: mov ebp,[esp+00000430h] L0041246A: mov [esp+18h],edi call SUB_L00447080 mov ebx,[esp+00000438h] mov edx,[esp+18h] and ebx,0000FFFFh add eax,edx push ebx mov [esp+24h],eax mov [esp+20h],edi mov [esp+28h],edi call SUB_L00441030 add esp,00000004h test eax,eax jz L004124E4 lea eax,[esp+10h] lea ecx,[esp+28h] push eax lea edx,[esp+18h] push ecx push edx push ebp push ebx call SUB_L00441BC0 mov ecx,[esp+28h] add esp,00000014h cmp ecx,00000002h jge L004124C6 mov ecx,00000002h L004124C6: mov eax,[esp+28h] mov [esi+20h],ecx cmp eax,00000001h jge L004124D7 mov eax,00000001h L004124D7: mov [esi+24h],eax dec ecx dec eax mov [esp+20h],ecx mov [esp+24h],eax L004124E4: mov [esi+30h],edi mov edi,[esi+24h] call SUB_L00447090 sub eax,edi mov [esi+34h],eax mov eax,[esi+20h] imul edi,eax mov [esi+1Ch],eax mov eax,[L007049F8] lea ecx,[edi+edi+04h] cmp eax,ecx mov eax,[L007049F4] jl L00412513 test eax,eax jnz L00412539 L00412513: test eax,eax mov [L007049F8],ecx jz L00412526 push eax call SUB_L004D4F9E add esp,00000004h L00412526: mov eax,[L007049F8] push eax call SUB_L004D4FA9 add esp,00000004h mov [L007049F4],eax L00412539: mov ecx,[L007049F8] push eax push ecx push SSZ004FEAC4_CInputGump__Redraw___d_bytes_of_ call SUB_L004C7F50 mov edx,[esi+3Ch] mov eax,[L007049F4] mov [edx+04h],eax mov ecx,[esi+3Ch] mov ax,[esi+20h] mov edx,[ecx+04h] mov [edx],ax mov ecx,[esi+3Ch] mov ax,[esi+24h] mov edx,[ecx+04h] mov [edx+02h],ax mov ecx,[esi+24h] imul ecx,[esi+1Ch] mov edx,[esi+3Ch] 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 [L0094330C],00000001h mov edx,[esi+3Ch] mov ecx,[esi+1Ch] lea eax,[esp+24h] push eax mov eax,[edx+04h] mov edx,[esp+20h] push ecx mov ecx,[esp+00000448h] add eax,00000004h push eax and ecx,0000FFFFh push ebp push ecx push ebx push edx push 00000000h call SUB_L004410C0 add esp,0000002Ch mov dword ptr [L0094330C],00000000h pop edi pop esi pop ebp pop ebx add esp,0000041Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004125F0: sub esp,0000001Ch push ebx push ebp push esi push edi mov esi,ecx push 00000001h call SUB_L004584E0 xor ebx,ebx mov [esp+1Ch],ebx call SUB_L00447080 mov edx,[esp+1Ch] mov [esp+20h],ebx add eax,edx mov [esp+28h],ebx mov [esp+24h],eax call SUB_L004C5630 mov ebp,eax mov eax,[L00C8C4BC] push eax call SUB_L004C5640 lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx mov ecx,[esp+38h] lea eax,[esp+18h] push edx push eax push ecx call SUB_L004C6930 mov ecx,[esp+24h] mov eax,[esp+28h] add ecx,00000002h add esp,00000014h add eax,00000002h cmp ecx,00000002h mov [esp+10h],ecx mov [esp+14h],eax jge L0041266B mov ecx,00000002h L0041266B: cmp eax,00000001h mov [esi+20h],ecx jge L00412678 mov eax,00000001h L00412678: mov [esi+24h],eax mov edi,[esi+24h] dec ecx dec eax mov [esp+24h],ecx mov [esp+28h],eax mov [esi+30h],ebx call SUB_L00447090 sub eax,edi mov [esi+34h],eax mov eax,[esi+20h] imul edi,eax mov [esi+1Ch],eax mov eax,[L007049F8] lea ecx,[edi+edi+04h] cmp eax,ecx mov eax,[L007049F4] jl L004126B4 cmp eax,ebx jnz L004126DB L004126B4: cmp eax,ebx mov [L007049F8],ecx jz L004126C7 push eax call SUB_L004D4F9E add esp,00000004h L004126C7: mov edx,[L007049F8] push edx call SUB_L004D4FA9 add esp,00000004h mov [L007049F4],eax L004126DB: push eax mov eax,[L007049F8] push eax push SSZ004FEB10_CInputGump__RedrawUnicode___d_by call SUB_L004C7F50 mov ecx,[esi+3Ch] mov edx,[L007049F4] mov [ecx+04h],edx mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+24h] imul ecx,[esi+1Ch] mov edx,[esi+3Ch] 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,[esp+28h] mov dword ptr [L0094330C],00000001h push eax mov eax,[esp+44h] and eax,0000FFFFh lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ecx,[esp+28h] xor eax,eax inc ecx mov ax,[L00C42D24+edx*8] mov edx,[esp+40h] push eax mov eax,[esi+1Ch] push ecx mov ecx,[esi+3Ch] push 00000001h push edx mov edx,[ecx+04h] push eax add edx,00000004h push edx call SUB_L004C6100 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push 00000001h push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax call SUB_L004119B0 push ebp call SUB_L004C5640 add esp,0000003Ch mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 000Ch ;------------------------------------------------------------------------------ SUB_L004127B0: push FFFFFFFFh push L004E0C5B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000828h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+34h],ebp call SUB_L00458F30 xor ebx,ebx mov [ebp+000000B4h],ebx mov dword ptr [ebp+00h],L004E77C0 mov al,[L00C8367C] mov [ebp+000000E8h],al mov cl,[L00C8367D] mov [ebp+000000E9h],cl mov dl,[L00C8367E] mov [ebp+000000EAh],dl mov [ebp+000000EBh],bl mov edi,[esp+0000084Ch] mov [esp+00000840h],ebx push edi mov dword ptr [ebp+00h],L004E7AAC mov [esp+14h],ebx call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [ebp+000000E0h],eax call SUB_L004C4430 mov esi,[esp+00000860h] mov cx,[esp+00000864h] mov [ebp+000000E4h],si mov [ebp+000000E6h],cx mov [ebp+000000D4h],ebx mov [ebp+000000D0h],ebx mov [ebp+000000CCh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000DCh],ebx mov [ebp+000000D8h],ebx mov al,[L00CD9CD2] add esp,00000010h cmp al,02h mov [esp+38h],bx jnz L004128BD lea edx,[esp+38h] push L00CD9CB4 push edx call SUB_L004C44F0 lea eax,[esp+40h] push L004FEA2C push eax call SUB_L004C4590 add esp,00000010h jmp L004128DB L004128BD: cmp al,03h jnz L004128DB lea ecx,[esp+38h] push SSZ004FEA20_You_see__ push ecx call SUB_L004C44F0 add esp,00000008h mov dword ptr [esp+10h],00000001h L004128DB: lea edx,[esp+38h] push edi push edx call SUB_L004C4550 mov dl,[L00CD9CD2] mov eax,esi and eax,0000FFFFh xor ecx,ecx cmp dl,01h lea edx,[esp+40h] setz cl push ecx push eax push edx mov [esp+40h],eax call SUB_L004BDE60 mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov byte ptr [L00CD9CD2],01h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+00000860h] mov dword ptr [ebp+08h],SSZ004FEB58_unicode_bark_gump push ecx call SUB_L004C4300 mov edi,[esp+00000860h] mov edx,[esp+00000874h] add esp,00000018h cmp edi,ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+38h],ebx mov [ebp+000000C0h],edx jnz L004129D2 mov eax,[L00B294C0] mov dword ptr [esp+14h],00000140h cmp eax,ebx mov [ebp+000000B8h],eax mov [ebp+000000BCh],ebx jz L0041299B mov [eax+000000BCh],ebp L0041299B: mov [ebp+000000C4h],ebx mov [L00B294C0],ebp mov [ebp+30h],ebx mov dword ptr [ebp+34h],000001CCh call SUB_L00447090 mov ecx,[L005073D4] cmp ecx,eax mov eax,ecx jl L004129C7 call SUB_L00447090 L004129C7: add eax,FFFFFFD0h mov [ebp+34h],eax jmp L00412B3A L004129D2: mov ecx,[edi+6Ch] mov dword ptr [esp+14h],000000C8h mov eax,ecx mov [ebp+000000B8h],ecx cmp eax,ebx mov [ebp+000000BCh],ebx jz L004129F5 mov [eax+000000BCh],ebp L004129F5: mov [ebp+000000C4h],edi mov edx,[edi] mov ecx,edi mov [edi+6Ch],ebp call [edx+2Ch] test eax,eax jz L00412A7F mov eax,[edi+00000080h] cmp eax,ebx jz L00412A7F mov ecx,[eax+000000B0h] cmp ecx,ebx mov [esp+10h],ecx jnz L00412A37 cmp ebp,ebx jz L00412F19 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] jmp L00412F19 L00412A37: lea esi,[ebp+000000A8h] lea eax,[ebp+000000A4h] push esi push eax mov [esi],ebx mov [eax],ebx call SUB_L00457C90 mov eax,[esp+10h] mov edx,[ebp+000000A4h] mov ecx,[eax+70h] add edx,ecx mov [ebp+000000A4h],edx mov edx,[eax+74h] mov eax,[esi] add eax,edx mov [esi],eax mov eax,[ebp+000000A4h] mov ecx,[esi] mov [ebp+30h],eax mov [ebp+34h],ecx jmp L00412B3A L00412A7F: mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L00412AD2 mov eax,[edi+10h] mov edx,[edi+08h] mov esi,[L0051A760] add eax,edx sar eax,1 sub eax,esi mov [ebp+000000A4h],eax mov ecx,[edi+0Ch] sub ecx,[L0051A75C] lea eax,[ecx+04h] mov [ebp+000000A8h],eax mov edx,[edi+000001D0h] add edx,eax mov eax,[ebp+000000A4h] mov ecx,edx mov [ebp+000000A8h],edx mov [ebp+30h],eax mov [ebp+34h],ecx jmp L00412B3A L00412AD2: mov edx,[edi+10h] mov ecx,[edi+08h] mov esi,[L0051A760] add edx,ecx sar edx,1 sub edx,esi mov [ebp+000000A4h],edx mov eax,[edi+0Ch] sub eax,[L0051A75C] add eax,00000004h mov [ebp+000000A8h],eax mov eax,[esp+10h] cmp eax,ebx jz L00412B28 mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jnz L00412B28 mov eax,[L00B189F8] mov ecx,[eax+70h] mov [ebp+30h],ecx mov edx,[L00B189F8] mov eax,[edx+74h] mov [ebp+34h],eax jmp L00412B3A L00412B28: mov ecx,[ebp+000000A4h] mov edx,[ebp+000000A8h] mov [ebp+30h],ecx mov [ebp+34h],edx L00412B3A: push SSZ004FE9FC_framedata_for_CBarkGump push 00000008h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov edx,[esp+1Ch] xor ecx,ecx mov [ebp+3Ch],eax mov [eax],ecx mov [eax+04h],ecx mov eax,[ebp+30h] mov [esp+20h],eax add eax,edx mov [esp+28h],eax mov [esp+24h],ebx mov [esp+2Ch],ebx call SUB_L004C5630 mov [esp+18h],eax mov eax,[L00C8C4BC] push eax call SUB_L004C5640 mov edx,[esp+20h] mov eax,[esp+00000858h] lea ecx,[esp+3Ch] lea esi,[ebp+24h] lea ebx,[ebp+20h] push ecx push esi push ebx push edx push eax call SUB_L004C6B20 mov ecx,[esp+30h] push ecx call SUB_L004C5640 mov edx,[ebx] mov ecx,[esi] add edx,00000002h add ecx,00000002h mov eax,88888889h mov [ebx],edx imul ecx add edx,ecx mov [esi],ecx mov ecx,[ebp+000000C4h] add esp,00000024h sar edx,03h mov eax,edx shr eax,1Fh add edx,eax test ecx,ecx mov [esp+28h],edx jz L00412BFB mov edx,[ecx] call [edx+2Ch] test eax,eax jz L00412BFB mov eax,[ebp+000000C4h] mov ecx,[eax+00000080h] test ecx,ecx jnz L00412C11 L00412BFB: call SUB_L00447080 dec eax mov [esp+10h],eax call SUB_L00447090 dec eax mov [esp+14h],eax jmp L00412C27 L00412C11: mov ecx,[L005073D0] mov edx,[L005073D4] dec ecx dec edx mov [esp+10h],ecx mov [esp+14h],edx L00412C27: test edi,edi jz L00412C3C mov eax,[ebx] mov ecx,[ebp+30h] cdq sub eax,edx sar eax,1 neg eax add ecx,eax mov [ebp+30h],ecx L00412C3C: mov eax,[ebp+30h] mov ecx,[ebx] mov [ebp+000000ACh],eax lea edx,[ecx+eax] mov eax,[esp+10h] cmp edx,eax jle L00412C57 sub eax,ecx mov [ebp+30h],eax L00412C57: mov eax,[ebp+30h] test eax,eax jge L00412C65 mov dword ptr [ebp+30h],00000000h L00412C65: mov eax,[esi] mov edx,[ebp+34h] sub edx,eax mov [ebp+34h],edx mov [ebp+000000B0h],edx lea edi,[edx+eax] mov edx,[esp+14h] cmp edi,edx jle L00412C85 sub edx,eax mov [ebp+34h],edx L00412C85: mov edx,[ebp+34h] test edx,edx jge L00412C93 mov dword ptr [ebp+34h],00000000h L00412C93: mov edi,[esp+1Ch] mov edx,00000001h imul eax,ecx sub edx,edi mov edi,[esp+24h] add edi,edx mov edx,00000001h mov [esp+24h],edi mov edi,[esp+18h] sub edx,edi mov edi,[esp+20h] add edi,edx lea eax,[eax+eax+04h] mov edx,00000001h push eax mov [ebp+1Ch],ecx mov [esp+24h],edi mov [esp+20h],edx mov [esp+1Ch],edx call SUB_L004D4FA9 mov ecx,[ebp+3Ch] mov [ecx+04h],eax mov edx,[ebp+3Ch] mov cx,[ebx] mov eax,[edx+04h] mov [eax],cx mov edx,[ebp+3Ch] mov cx,[esi] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[ebp+1Ch] imul ecx,[esi] mov edx,[ebp+3Ch] 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 [esp+1Ch],eax mov [esp+20h],eax mov eax,[ebp+1Ch] mov [esp+28h],ecx mov [esp+24h],eax call SUB_L004C5630 mov edx,[L00C8C4BC] mov edi,eax push edx call SUB_L004C5640 lea ecx,[esp+20h] push 00000000h push ecx mov ecx,[esp+3Ch] mov eax,[ebp+1Ch] lea edx,[ecx+ecx*4] lea ecx,[ecx+edx*2] xor edx,edx mov dx,[L00C42CCC+ecx*8] mov ecx,[ebp+000000E0h] push edx mov edx,[ebp+3Ch] push 00000001h push 00000001h push ecx push eax push eax mov eax,[edx+04h] add eax,00000004h push eax call SUB_L004C73A0 mov ecx,[esi] mov edx,[ebx] push 00000001h push ecx push edx mov eax,[ebp+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004119B0 push edi call SUB_L004C5640 mov eax,[ebp+000000B8h] add esp,00000040h test eax,eax jz L00412DEB mov edx,[esp+14h] lea edi,[edx+01h] L00412DB0: mov ecx,[esi] mov edx,[eax+000000B8h] sub [eax+000000B0h],ecx mov ecx,[eax+000000B0h] mov [eax+34h],ecx jns L00412DD0 mov dword ptr [eax+34h],00000000h L00412DD0: mov ecx,[eax+24h] add ecx,[eax+34h] cmp ecx,edi jle L00412DE5 mov ecx,[esp+14h] sub ecx,[eax+24h] inc ecx mov [eax+34h],ecx L00412DE5: test edx,edx mov eax,edx jnz L00412DB0 L00412DEB: mov ecx,ebp call SUB_L00412180 mov eax,[ebp+30h] mov edi,[ebx] mov edx,[esi] mov [esp+18h],eax add eax,edi mov edi,eax mov eax,[ebp+34h] mov ebx,eax add eax,edx mov edx,eax mov eax,[ebp+000000B8h] test eax,eax mov [esp+20h],edi mov [esp+1Ch],ebx mov [esp+24h],edx jz L00412E6A L00412E20: mov ecx,[eax+30h] mov esi,[esp+18h] cmp ecx,esi jge L00412E2F mov [esp+18h],ecx L00412E2F: mov ecx,[eax+20h] mov esi,[eax+30h] add ecx,esi cmp ecx,edi jle L00412E41 mov edi,ecx mov [esp+20h],edi L00412E41: mov ecx,[eax+34h] cmp ecx,ebx jge L00412E4E mov ebx,ecx mov [esp+1Ch],ebx L00412E4E: mov ecx,[eax+24h] mov esi,[eax+34h] add ecx,esi cmp ecx,edx jle L00412E60 mov edx,ecx mov [esp+24h],edx L00412E60: mov eax,[eax+000000B8h] test eax,eax jnz L00412E20 L00412E6A: call [KERNEL32.dll!GetTickCount] mov [ebp+0000009Ch],eax mov al,[L0050CC2C] test al,al mov eax,[L0050CF14] jz L00412EA8 imul eax,[esp+28h] 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 eax,edx shr eax,1Fh add edx,eax jmp L00412EC5 L00412EA8: 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 L00412EC5: push 00000000h push 00000000h mov ecx,ebp mov [ebp+000000A0h],edx call SUB_L004587A0 mov eax,[esp+00000858h] test eax,eax jnz L00412EF8 mov byte ptr [ebp+000000E8h],65h mov byte ptr [ebp+000000E9h],6Eh mov byte ptr [ebp+000000EAh],75h jmp L00412F12 L00412EF8: mov dl,[eax] mov [ebp+000000E8h],dl mov cl,[eax+01h] mov [ebp+000000E9h],cl mov dl,[eax+02h] mov [ebp+000000EAh],dl L00412F12: mov byte ptr [ebp+000000EBh],00h L00412F19: mov ecx,[esp+00000838h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000834h retn 0018h ;------------------------------------------------------------------------------ Align 16 L00412F40: push esi mov esi,ecx call SUB_L00412F60 test byte ptr [esp+08h],01h jz L00412F58 push esi call SUB_L004D4F9E add esp,00000004h L00412F58: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00412F60: mov dword ptr [ecx],L004E7AAC jmp SUB_L00411830 Align 8 L00412F70: push esi push edi mov esi,ecx call SUB_L004C5630 mov edi,eax mov eax,[L00C8C4BC] push eax call SUB_L004C5640 mov edx,[esp+14h] mov eax,[esp+10h] push 00000000h push edx lea edx,[eax+eax*4] mov ecx,[esi+1Ch] lea eax,[eax+edx*2] xor edx,edx mov dx,[L00C42CCC+eax*8] mov eax,[esi+000000E0h] push edx push 00000001h push 00000001h push eax push ecx push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C73A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push 00000001h push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax call SUB_L004119B0 push edi call SUB_L004C5640 add esp,0000003Ch pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00412FF0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0C7B push eax mov eax,[esp+14h] mov fs:[00000000h],esp test eax,eax push esi jz L00413058 push eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L00413058 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L00413058 mov cx,[L00C8C4BC] mov edx,[esp+20h] push 00000000h push L00C8367C push ecx push 00000035h push edx push esi mov ecx,eax call SUB_L004127B0 L00413058: mov ecx,[esp+04h] pop esi mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00413070: push FFFFFFFFh push L004E0CC4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00458F30 mov ecx,[esp+38h] xor edi,edi cmp ecx,edi mov [esp+30h],edi mov dword ptr [esi],L004E7C24 mov dword ptr [esi+08h],SSZ004FEB94_bulletinboard_gump mov [esi+60h],edi mov [esi+000000ACh],edi mov [esi+000000B0h],edi mov [esi+38h],ecx jz L004130D4 mov eax,[ecx] call [eax+30h] test eax,eax jz L004130D4 mov ecx,[esi+38h] mov [ecx+000000B0h],esi L004130D4: push ebx push ebp lea ebp,[esi+24h] lea ebx,[esi+20h] push ebp push ebx push 0000087Ah mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov dword ptr [esi+54h],0000087Ah call SUB_L004434A0 mov ecx,[ebx] mov eax,[L005073D0] sub eax,ecx push SSZ004FEB7C_framedata_for_CBBGump cdq sub eax,edx mov edx,[ebp+00h] sar eax,1 mov [esi+30h],eax mov eax,[L005073D4] sub eax,edx push 00000008h cdq sub eax,edx mov [esi+1Ch],ecx sar eax,1 mov [esi+34h],eax mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FEB70_bb_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] 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+54h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 mov edi,[esp+7Ch] lea ecx,[esp+4Ch] lea edx,[esp+48h] push ecx lea eax,[esp+54h] push edx push eax push edi push 00000002h call SUB_L00441BC0 mov ebx,[ebx] mov ecx,[ebp+00h] xor eax,eax add esp,0000004Ch mov [esp+20h],eax mov [esp+24h],eax mov eax,[esi+3Ch] mov [esp+28h],ebx mov [esp+2Ch],ecx lea edx,[esp+20h] mov ecx,[eax+04h] mov eax,[esp+10h] push edx add ecx,00000004h cdq sub eax,edx mov edx,[esp+18h] sar eax,1 push ebx push ecx sub edx,eax mov eax,[esp+24h] push edi push 00000386h add edx,0000002Fh push 00000002h push edx mov ecx,000000F0h cdq sub eax,edx sar eax,1 sub ecx,eax push ecx call SUB_L004410C0 xor edi,edi push 000000BCh mov [esi+000000C4h],edi mov [esi+000000B4h],edi mov dword ptr [esi+0000009Ch],0000006Dh mov dword ptr [esi+000000A4h],00000162h mov dword ptr [esi+000000A0h],0000009Fh mov dword ptr [esi+000000A8h],00000144h call SUB_L004D4FA9 add esp,00000024h mov [esp+40h],eax pop ebp cmp eax,edi mov byte ptr [esp+34h],01h pop ebx jz L004132BC push 00000828h push esi push 0000013Ch push 00000001h push 000000A2h push 00000164h mov ecx,eax call SUB_L00422790 jmp L004132BE L004132BC: xor eax,eax L004132BE: push 00000001h push esi mov ecx,eax mov byte ptr [esp+38h],00h mov [esi+000000C0h],eax call SUB_L004587A0 mov ecx,[esi+000000C0h] push 00000001h push edi call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,edi mov byte ptr [esp+30h],02h jz L0041331B push edi push L00420290 push edi push edi push esi push 000000FAh push 0000005Ch push 000000ABh push 00000015h mov ecx,eax call SUB_L004220C0 jmp L0041331D L0041331B: xor eax,eax L0041331D: push 00000001h push esi mov ecx,eax mov byte ptr [esp+38h],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,edi mov byte ptr [esp+30h],03h jz L0041336D push edi push SUB_L00420390 push edi push 00000002h push esi push 0000009Ch push 00000176h push 00000090h push 00000164h mov ecx,eax call SUB_L004220C0 jmp L0041336F L0041336D: xor eax,eax L0041336F: push 00000001h push esi mov ecx,eax mov byte ptr [esp+38h],00h mov [esi+000000B8h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,edi mov byte ptr [esp+30h],04h jz L004133C5 push edi push L00420480 push edi push 00000002h push esi push 0000014Eh push 00000176h push 00000140h push 00000164h mov ecx,eax call SUB_L004220C0 jmp L004133C7 L004133C5: xor eax,eax L004133C7: push 00000001h push esi mov ecx,eax mov byte ptr [esp+38h],00h mov [esi+000000BCh],eax call SUB_L004587A0 mov ecx,[esp+28h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000002Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 L00413400: push esi mov esi,ecx call SUB_L00413420 test byte ptr [esp+08h],01h jz L00413418 push esi call SUB_L004D4F9E add esp,00000004h L00413418: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00413420: push FFFFFFFFh push L004E0CD8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E7C24 mov ecx,[esi+38h] mov dword ptr [esp+10h],00000000h test ecx,ecx mov dword ptr [esi+000000B0h],00000001h jz L0041346D mov eax,[ecx] call [eax+30h] test eax,eax jz L0041346D mov ecx,[esi+38h] call SUB_L00480A10 L0041346D: mov ecx,[esi+3Ch] mov eax,[ecx+04h] test eax,eax jz L0041348F push SSZ004FEBB8_BB_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L0041348F: mov eax,[esi+3Ch] test eax,eax jz L004134AB push SSZ004FEBA8_BB_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004134AB: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004134D0: push esi mov esi,ecx push 00000000h call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov dword ptr [esi+000000ACh],00000001h mov [esi+70h],eax mov [esi+74h],ecx pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00413500: push 00000000h mov dword ptr [ecx+000000ACh],00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00413520: push ebx mov ebx,ecx push ebp push esi mov eax,[ebx+000000B4h] push edi xor edi,edi test eax,eax jz L004136A3 mov esi,[ebx+48h] test esi,esi jz L00413573 L0041353D: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0041356C mov eax,[esi+0000009Ch] test eax,eax jz L0041356B mov ecx,[eax+0000008Ch] xor eax,eax cmp dword ptr [ecx+000000A0h],00000001h setz al test eax,eax jz L0041356C L0041356B: inc edi L0041356C: mov esi,[esi+40h] test esi,esi jnz L0041353D L00413573: mov eax,edi imul eax,[esp+14h] cdq idiv [esp+18h] mov ebp,eax cmp ebp,edi jnz L00413586 dec ebp L00413586: mov esi,[ebx+48h] xor edi,edi test esi,esi jz L004135D3 L0041358F: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L004135C4 mov eax,[esi+0000009Ch] test eax,eax jz L004135BF mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx test eax,eax jz L004135C4 L004135BF: cmp edi,ebp jz L004135CD inc edi L004135C4: mov esi,[esi+40h] test esi,esi jnz L0041358F jmp L004135D3 L004135CD: mov [ebx+000000B4h],esi L004135D3: mov esi,[ebx+48h] test esi,esi jz L00413611 L004135DA: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L0041360A mov eax,[esi+0000009Ch] test eax,eax jz L00413611 mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx test eax,eax jnz L00413611 L0041360A: mov esi,[esi+40h] test esi,esi jnz L004135DA L00413611: mov edx,[L004FEB6C] mov ecx,[esi+34h] and edx,000000FFh mov esi,[ebx+48h] imul edx,edi mov edi,[ebx+000000A0h] sub edi,edx sub edi,ecx test esi,esi jz L004136A3 L00413634: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0041369C mov ebp,[esi+34h] add ebp,edi mov [esi+34h],ebp mov ecx,[L004FEB6C] mov edx,[ebx+000000A8h] mov eax,ebp and ecx,000000FFh add ecx,eax cmp ecx,edx jg L00413695 cmp eax,[ebx+000000A0h] jl L00413695 mov eax,[esi+0000009Ch] test eax,eax jz L0041368C mov edx,[eax+0000008Ch] xor eax,eax cmp dword ptr [edx+000000A0h],00000001h setz al test eax,eax jz L0041369C L0041368C: mov dword ptr [esi+6Ch],00000001h jmp L0041369C L00413695: mov dword ptr [esi+6Ch],00000000h L0041369C: mov esi,[esi+40h] test esi,esi jnz L00413634 L004136A3: pop edi pop esi pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004136B0: sub esp,00000018h push ebp push esi mov esi,ecx lea eax,[esp+08h] push edi lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebp,ebp mov edi,[eax+04h] mov bp,[edi] mov edi,[esp+28h] add ebp,ecx xor ecx,ecx mov [esp+1Ch],ebp mov eax,[eax+04h] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push edi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L00413779 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[esi+3Ch] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+14h] mov eax,[eax+04h] push ecx mov ecx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push edi push eax push SUB_L004B9B80 call SUB_L00443960 mov esi,[esi+50h] add esp,00000028h test esi,esi jz L00413779 L0041376A: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+44h] test esi,esi jnz L0041376A L00413779: pop edi pop esi pop ebp add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00413790: mov edx,[esp+04h] push esi test edx,edx jl L004137CB mov esi,[esp+0Ch] test esi,esi jl L004137CB mov eax,[ecx+20h] cmp edx,eax jge L004137CB push edi mov edi,[ecx+24h] cmp esi,edi pop edi jge L004137CB imul eax,esi mov ecx,[ecx+3Ch] add eax,edx pop esi mov edx,[ecx+04h] xor ecx,ecx cmp [edx+eax*2],cx setnz cl mov eax,ecx retn 0008h ;------------------------------------------------------------------------------ L004137CB: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004137E0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0D06 push eax mov fs:[00000000h],esp push ebx mov ebx,ecx push ebp mov ebp,[esp+1Ch] push esi mov ecx,[ebx+000000C4h] push edi inc ecx push 000000BCh test ebp,ebp mov [ebx+000000C4h],ecx jz L00413867 call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L004138B1 mov ecx,[esp+30h] mov edx,[ebx+0000009Ch] push ecx mov ecx,[esp+30h] push ecx mov ecx,[esp+30h] push ecx mov ecx,[esp+2Ch] push ebp push ecx mov ecx,[ebx+000000A4h] sub ecx,edx add edx,00000014h sub ecx,00000013h push ecx push 00000000h push edx mov ecx,eax call SUB_L00413DF0 jmp L004138B3 L00413867: call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+18h],00000001h jz L004138B1 mov ecx,[esp+30h] mov edx,[ebx+0000009Ch] push ecx mov ecx,[esp+30h] push ecx mov ecx,[esp+30h] push ecx mov ecx,[esp+2Ch] push 00000000h push ecx mov ecx,[ebx+000000A4h] sub ecx,edx inc ecx push ecx push 00000000h push edx mov ecx,eax call SUB_L00413DF0 jmp L004138B3 L004138B1: xor eax,eax L004138B3: mov edi,eax mov eax,[ebx+000000B4h] test eax,eax mov dword ptr [esp+18h],FFFFFFFFh jnz L004138CD mov [ebx+000000B4h],edi L004138CD: test ebp,ebp jnz L00413944 mov esi,[ebx+50h] cmp esi,ebp jz L004138ED L004138D8: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jnz L0041392C mov esi,[esi+44h] cmp esi,ebp jnz L004138D8 L004138ED: mov edx,[ebx+000000A0h] mov [edi+34h],edx L004138F6: mov eax,[L004FEB6C] mov edx,[edi+34h] mov ecx,[ebx+000000A8h] and eax,000000FFh add eax,edx cmp eax,ecx jle L00413912 mov [edi+6Ch],ebp L00413912: mov [edi+4Ch],ebx mov [edi+40h],ebp mov ecx,[ebx+50h] mov [ecx+40h],edi mov edx,[ebx+50h] mov [edi+44h],edx mov [ebx+50h],edi jmp L00413ABB L0041392C: cmp esi,ebp jz L004138ED mov eax,[L004FEB6C] mov ecx,[esi+34h] and eax,000000FFh add ecx,eax mov [edi+34h],ecx jmp L004138F6 L00413944: mov [edi+4Ch],ebx mov esi,[ebx+48h] test esi,esi jz L00413968 L0041394E: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L00413961 cmp [esi+38h],ebp jz L00413968 L00413961: mov esi,[esi+40h] test esi,esi jnz L0041394E L00413968: test esi,esi mov dword ptr [edi+6Ch],00000000h jz L004139F9 mov eax,[esi+000000A0h] cmp eax,FFFFFFFFh jnz L004139D9 mov ecx,esi mov dword ptr [esi+000000A0h],00000000h call SUB_L00414560 mov ebp,[L00B294DC] test ebp,ebp jz L004139E1 L0041399D: mov edx,[ebp+00h] mov ecx,ebp call [edx+0000012Ch] test eax,eax jz L004139D0 mov eax,[ebp+38h] mov ecx,[esi+38h] cmp eax,ecx jnz L004139D0 mov ecx,[ebp+000000A8h] test ecx,ecx jz L004139D0 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [ebp+000000A8h],00000000h L004139D0: mov ebp,[ebp+40h] test ebp,ebp jnz L0041399D jmp L004139E1 L004139D9: cmp eax,00000001h jnz L004139E1 mov [edi+6Ch],eax L004139E1: mov esi,[esi+40h] test esi,esi jz L004139F9 L004139E8: mov eax,[esi+0000009Ch] test eax,eax jz L004139F9 mov esi,[esi+40h] test esi,esi jnz L004139E8 L004139F9: test esi,esi mov [edi+40h],esi jz L00413A75 mov eax,[esi+44h] mov [edi+44h],eax mov ecx,[esi+44h] mov [ecx+40h],edi mov [esi+44h],edi mov edx,[edi+44h] mov eax,[L004FEB6C] and eax,000000FFh mov ecx,[edx+34h] add ecx,eax mov eax,[edi+6Ch] test eax,eax mov [edi+34h],ecx jz L00413A9B L00413A2B: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L00413A6C mov eax,[L004FEB6C] mov ecx,[esi+34h] and eax,000000FFh add ecx,eax mov [esi+34h],ecx mov eax,ecx mov ecx,[L004FEB6C] and ecx,000000FFh add ecx,eax mov eax,[ebx+000000A8h] cmp ecx,eax jle L00413A6C mov dword ptr [esi+6Ch],00000000h L00413A6C: mov esi,[esi+40h] test esi,esi jnz L00413A2B jmp L00413A9B L00413A75: mov edx,[ebx+50h] mov [edx+40h],edi mov eax,[ebx+50h] mov [edi+44h],eax mov [ebx+50h],edi mov ecx,[edi+44h] mov edx,[L004FEB6C] and edx,000000FFh mov eax,[ecx+34h] add eax,edx mov [edi+34h],eax L00413A9B: mov eax,[L004FEB6C] mov edx,[edi+34h] mov ecx,[ebx+000000A8h] and eax,000000FFh add eax,edx cmp eax,ecx jle L00413ABB mov dword ptr [edi+6Ch],00000000h L00413ABB: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0014h ;------------------------------------------------------------------------------ SUB_L00413AD0: push FFFFFFFFh push L004E0D1B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000058h push ebx push esi mov esi,[L00C884DC] push edi mov ebx,ecx mov byte ptr [esp+0Ch],00h mov edi,00000001h L00413AFD: xor ecx,ecx mov cl,[edi+L0050EDB8] mov edx,[esi+ecx*4+000000C8h] test edx,edx jz L00413B3F mov eax,[esp+0Ch] mov dx,[edx+3Ch] and eax,000000FFh shl eax,02h mov [esp+eax+14h],dx mov ecx,[esi+ecx*4+000000C8h] mov dx,[ecx+42h] mov [esp+eax+16h],dx mov al,[esp+0Ch] inc al mov [esp+0Ch],al L00413B3F: inc edi cmp edi,0000001Ah jl L00413AFD push 000002BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+6Ch],00000000h jz L00413BA5 mov edx,[esp+0Ch] lea ecx,[esp+14h] push 00000001h push ecx push edx mov edx,[L00C884DC] mov cx,[edx+42h] mov dx,[edx+3Ch] push ecx mov ecx,[esp+00000088h] push edx mov edx,[esp+00000088h] push SSZ004FEBC8_Date_Time push ecx mov ecx,[ebx+38h] push L00C880F8 push edx push ecx mov ecx,eax call SUB_L00414810 jmp L00413BA7 L00413BA5: xor eax,eax L00413BA7: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+74h],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+64h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000064h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00413BD0: push ecx mov eax,[ecx+000000B0h] mov [esp+00h],ecx test eax,eax jnz L00413DE5 push ebp mov ebp,[esp+0Ch] push esi push edi mov eax,[ebp+0000009Ch] test eax,eax jz L00413C4A mov esi,[ecx+48h] mov edi,00000001h test esi,esi jz L00413C2F L00413C00: cmp esi,ebp jz L00413C24 mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L00413C24 mov ecx,[esi+0000009Ch] mov eax,[ebp+0000009Ch] cmp ecx,eax jnz L00413C24 xor edi,edi L00413C24: mov esi,[esi+40h] test esi,esi jnz L00413C00 test edi,edi jz L00413C4A L00413C2F: mov edx,[ebp+0000009Ch] mov ecx,[edx+0000008Ch] mov dword ptr [ecx+000000A0h],FFFFFFFFh call SUB_L00414560 L00413C4A: mov esi,[ebp+40h] test esi,esi jz L00413CD0 L00413C51: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L00413CC9 mov ecx,[L004FEB6C] mov eax,[esi+34h] and ecx,000000FFh sub eax,ecx mov ecx,[esp+0Ch] mov [esi+34h],eax mov edx,[L004FEB6C] mov edi,[ecx+000000A8h] and edx,000000FFh add edx,eax cmp edx,edi jg L00413CC2 cmp eax,[ecx+000000A0h] jl L00413CC2 mov eax,[esi+0000009Ch] test eax,eax jz L00413CB9 mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx test eax,eax jz L00413CC9 L00413CB9: mov dword ptr [esi+6Ch],00000001h jmp L00413CC9 L00413CC2: mov dword ptr [esi+6Ch],00000000h L00413CC9: mov esi,[esi+40h] test esi,esi jnz L00413C51 L00413CD0: mov edx,[esp+0Ch] cmp [edx+000000B4h],ebp jnz L00413DCB mov esi,[ebp+40h] test esi,esi jz L00413D70 L00413CEB: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L00413D19 mov eax,[esi+0000009Ch] test eax,eax jz L00413D22 mov ecx,[eax+0000008Ch] xor eax,eax cmp dword ptr [ecx+000000A0h],00000001h setz al test eax,eax jnz L00413D22 L00413D19: mov esi,[esi+40h] test esi,esi jz L00413D70 jmp L00413CEB L00413D22: test esi,esi jz L00413D70 mov esi,[ebp+40h] test esi,esi jz L00413D64 L00413D2D: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L00413D5D mov eax,[esi+0000009Ch] test eax,eax jz L00413D64 mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx test eax,eax jnz L00413D64 L00413D5D: mov esi,[esi+40h] test esi,esi jnz L00413D2D L00413D64: mov edx,[esp+0Ch] mov [edx+000000B4h],esi jmp L00413DCB L00413D70: mov esi,[ebp+44h] test esi,esi jz L00413DBD L00413D77: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L00413DA5 mov eax,[esi+0000009Ch] test eax,eax jz L00413DAE mov ecx,[eax+0000008Ch] xor eax,eax cmp dword ptr [ecx+000000A0h],00000001h setz al test eax,eax jnz L00413DAE L00413DA5: mov esi,[esi+44h] test esi,esi jz L00413DBD jmp L00413D77 L00413DAE: test esi,esi jz L00413DBD mov ecx,[esp+0Ch] call SUB_L00420390 jmp L00413DCB L00413DBD: mov edx,[esp+0Ch] mov dword ptr [edx+000000B4h],00000000h L00413DCB: test ebp,ebp jz L00413DD8 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] L00413DD8: mov eax,[esp+0Ch] pop edi pop esi pop ebp dec [eax+000000C4h] L00413DE5: pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00413DF0: push FFFFFFFFh push L004E0D3B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000A8h push ebx push esi mov esi,ecx mov [esp+24h],esi call SUB_L00458F30 mov eax,[esp+000000D0h] mov ecx,[esp+000000C0h] mov edx,[esp+000000C4h] mov [esi+0000009Ch],eax mov eax,[esp+000000CCh] xor ebx,ebx cmp eax,ebx mov [esp+000000B8h],ebx mov dword ptr [esi],L004E7D98 mov dword ptr [esi+08h],SSZ004FEC14_bbline_gump mov [esi+60h],ebx mov [esi+000000B0h],ebx mov [esi+000000A4h],ebx mov [esi+000000B4h],ebx mov [esi+000000B8h],ebx mov [esi+000000ACh],ebx mov dword ptr [esi+000000A0h],FFFFFFFFh mov [esi+30h],ecx mov [esi+34h],edx mov [esi+38h],eax jz L00413E8E mov [eax+0000008Ch],esi L00413E8E: mov eax,[esp+000000C8h] mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov dword ptr [esi+54h],00001518h mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[L004FEB6C] push edi and eax,000000FFh push SSZ004FEBF8_framedata_for_CBBLineGump push 00000008h mov [esi+24h],eax mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FEBE8_bbline_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] mov dword ptr [esi+54h],00001523h xor ecx,ecx mov eax,[eax+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push 00000012h push 00001523h push SUB_L004B9B80 call SUB_L00443500 lea eax,[esp+3Ch] lea ecx,[esp+38h] push eax lea edx,[esp+5Ch] push ecx push edx push L004FEBE4 push 00000009h call SUB_L00441BC0 mov eax,[esi+20h] mov ecx,[esi+24h] mov edx,[esp+00000120h] add esp,00000040h mov [esp+20h],eax mov eax,[esp+000000DCh] mov [esp+24h],ecx mov ecx,[esp+000000D8h] push edx push eax push ecx lea edx,[esp+40h] push SSZ004FEBD4__s____s___s_ push edx mov [esp+2Ch],ebx mov [esp+30h],ebx call SUB_L004D512F mov edx,[esi+54h] lea eax,[esp+44h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov ecx,[esp+34h] add esp,00000020h cmp ecx,ebx pop edi jz L00414033 mov edx,[esi+20h] lea eax,[esp+14h] push eax mov eax,[esi+3Ch] mov ebx,[esp+0Ch] push edx mov edx,[eax+04h] lea eax,[esp+38h] add edx,00000004h add ecx,00000018h push edx push eax mov eax,[esi+24h] push 00000386h sub eax,ebx mov ebx,[esp+20h] cdq sub eax,edx push 00000009h sar eax,1 add eax,ebx push eax push ecx call SUB_L004416F0 add esp,00000020h L00414033: mov ecx,[esp+000000B0h] mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,000000B4h retn 0020h ;------------------------------------------------------------------------------ Align 4 L00414050: push esi mov esi,ecx call SUB_L00414070 test byte ptr [esp+08h],01h jz L00414068 push esi call SUB_L004D4F9E add esp,00000004h L00414068: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00414070: push FFFFFFFFh push L004E0D58 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E7D98 mov eax,[esi+38h] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L004140AF cmp [eax+0000008Ch],esi jnz L004140AF mov [eax+0000008Ch],edi L004140AF: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L004140CD push SSZ004FEC34_BBLine_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004140CD: mov eax,[esi+3Ch] cmp eax,edi jz L004140E5 push SSZ004FEC20_BBLine_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004140E5: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00414110: mov ecx,[ecx+4Ch] test ecx,ecx jz L00414120 mov eax,[ecx] push 00000000h push 00000000h call [eax+20h] L00414120: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00414130: push esi mov esi,ecx mov ecx,[esi+4Ch] test ecx,ecx jz L00414141 push 00000000h call SUB_L004584E0 L00414141: mov ecx,[esp+08h] mov edx,[esp+0Ch] mov [esi+70h],ecx mov ecx,[esi+000000B8h] mov eax,00000001h mov [esi+74h],edx cmp ecx,eax mov [esi+000000ACh],eax jnz L00414172 mov dword ptr [esi+000000B8h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L00414172: mov [esi+000000B8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000B4h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00414190: mov eax,00001904h call SUB_L004D4B90 push esi push edi mov esi,ecx xor edi,edi push edi mov [esi+000000ACh],edi call SUB_L00476670 mov eax,[esi+000000A4h] add esp,00000004h cmp eax,edi jz L004141D6 mov [esi+000000A4h],edi mov [esi+000000B8h],edi mov [esi+000000B0h],edi pop edi pop esi add esp,00001904h retn 0008h ;------------------------------------------------------------------------------ L004141D6: cmp dword ptr [esi+000000B8h],00000002h jnz L00414257 mov [esi+000000B8h],edi mov eax,[L00704A04] cmp eax,edi jnz L00414279 mov dword ptr [L00704A04],00000001h mov eax,[esi+0000009Ch] cmp eax,edi jz L00414210 mov eax,[eax+7Ch] mov [L00704A00],eax jmp L00414216 L00414210: mov [L00704A00],edi L00414216: mov ecx,[esi+38h] mov eax,[esi+4Ch] mov edx,[ecx+7Ch] mov ecx,[eax+38h] push edx lea eax,[esp+0Ch] mov edx,[ecx+7Ch] push edx push 00000003h push eax call SUB_L0049B640 add esp,00000010h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov [esi+000000B0h],edi pop edi pop esi add esp,00001904h retn 0008h ;------------------------------------------------------------------------------ L00414257: mov eax,[esp+00001910h] cmp eax,00000016h jge L00414279 mov edx,[esp+00001914h] mov ecx,esi push edx push eax mov [esi+000000B8h],edi call SUB_L00414290 L00414279: mov [esi+000000B0h],edi pop edi pop esi add esp,00001904h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00414290: sub esp,00000010h push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx+000000A0h] push edi cmp eax,FFFFFFFFh mov [esp+0Ch],ebp jz L004144AF lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push 00001519h call SUB_L004434A0 mov edx,[esp+1Ch] add esp,0000000Ch cmp edx,ebp jz L004144AF mov edi,[ebx+4Ch] mov eax,[edi+000000B4h] mov [esp+18h],eax mov eax,[esp+20h] cmp eax,ebp jl L004144AF mov ecx,[esp+24h] cmp ecx,ebp jl L004144AF dec edx cmp eax,edx jg L004144AF mov edx,[esp+14h] dec edx cmp ecx,edx jg L004144AF mov ecx,[ebx+000000A0h] xor eax,eax push esi mov esi,[ebx+40h] cmp ecx,ebp setz al test esi,esi mov [ebx+000000A0h],eax jz L0041443A L0041432A: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L0041438A mov eax,[esi+0000009Ch] test eax,eax jz L0041438A mov ecx,[ebx+000000A0h] xor eax,eax mov edx,[esi+34h] cmp ecx,00000001h setz al mov [esi+6Ch],eax mov ecx,[L004FEB6C] mov eax,[edi+000000A8h] and ecx,000000FFh add ecx,edx cmp ecx,eax jg L00414376 cmp edx,[edi+000000A0h] jge L0041437D L00414376: mov dword ptr [esi+6Ch],00000000h L0041437D: mov esi,[esi+40h] inc ebp test esi,esi jnz L0041432A jmp L0041443A L0041438A: test esi,esi jz L0041443A L00414392: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0041443A mov eax,[ebx+000000A0h] mov ecx,00000001h cmp eax,ecx jnz L004143CC mov edx,[L004FEB6C] mov eax,[esi+34h] and edx,000000FFh imul edx,ebp add eax,edx mov [esi+34h],eax jmp L004143E1 L004143CC: mov eax,[L004FEB6C] mov edx,[esi+34h] and eax,000000FFh imul eax,ebp sub edx,eax mov [esi+34h],edx L004143E1: mov edx,[L004FEB6C] mov eax,[esi+34h] and edx,000000FFh add edx,eax cmp edx,[edi+000000A8h] jg L00414428 cmp eax,[edi+000000A0h] jl L00414428 mov eax,[esi+0000009Ch] test eax,eax jz L00414423 mov eax,[eax+0000008Ch] xor edx,edx cmp [eax+000000A0h],ecx setz dl mov eax,edx test eax,eax jz L0041442F L00414423: mov [esi+6Ch],ecx jmp L0041442F L00414428: mov dword ptr [esi+6Ch],00000000h L0041442F: mov esi,[esi+40h] test esi,esi jnz L00414392 L0041443A: mov ecx,ebx call SUB_L00414560 mov eax,[ebx+4Ch] xor edi,edi mov esi,[eax+48h] test esi,esi jz L00414494 L0041444D: mov edx,[esi] mov ecx,esi call [edx+00000128h] test eax,eax jz L00414488 mov eax,[esi+0000009Ch] test eax,eax jz L0041447D mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx test eax,eax jz L00414488 L0041447D: cmp [esp+1Ch],esi jnz L00414487 mov [esp+10h],edi L00414487: inc edi L00414488: mov esi,[esi+40h] test esi,esi jnz L0041444D cmp edi,00000002h jge L00414499 L00414494: mov edi,00000002h L00414499: mov eax,[ebx+4Ch] mov edx,[esp+10h] dec edi mov ecx,[eax+000000C0h] push edi push edx call SUB_L00422C90 pop esi L004144AF: pop edi pop ebp pop ebx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004144C0: mov eax,ecx mov ecx,[eax+000000ACh] test ecx,ecx jz L004144F4 mov ecx,[eax+4Ch] test ecx,ecx jz L004144F4 mov edx,[esp+08h] push esi mov esi,[eax+74h] push 00000001h push 00000000h sub edx,esi mov esi,[eax+70h] push 00000001h push edx mov edx,[esp+18h] sub edx,esi push edx call SUB_L00457800 pop esi L004144F4: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00414500: 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 L00414557 sub edi,[esi+000000B4h] cmp edi,eax jbe L00414557 mov eax,[esi+000000ACh] mov dword ptr [esi+000000B8h],00000000h test eax,eax jnz L00414551 mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L00414290 pop edi pop esi retn ;------------------------------------------------------------------------------ L00414551: mov [esi+000000A4h],ecx L00414557: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00414560: sub esp,00000008h lea eax,[esp+04h] push esi mov esi,ecx lea ecx,[esp+04h] push eax push ecx push 00001519h call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch test eax,eax jz L0041460E mov edx,[esi+3Ch] mov ecx,[edx+04h] mov edx,[esp+08h] push ecx dec edx push 00000000h dec eax push edx push eax push 00000000h push 00000000h call SUB_L004420B0 mov eax,[esi+000000A0h] add esp,00000018h test eax,eax jnz L004145DF mov eax,[esi+3Ch] 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 push 00000037h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004145DF: cmp eax,00000001h jnz L0041460E mov eax,[esi+3Ch] 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 push 00000038h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0041460E: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L00414620: sub esp,00000018h push esi mov esi,ecx push edi mov eax,[esi+6Ch] test eax,eax jz L004146F5 lea eax,[esp+08h] push ebp lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebp,ebp mov edi,[eax+04h] mov bp,[edi] mov edi,[esp+28h] add ebp,ecx xor ecx,ecx mov [esp+1Ch],ebp mov eax,[eax+04h] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push edi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax pop ebp jz L004146F5 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[esi+3Ch] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+10h] mov eax,[eax+04h] push ecx mov ecx,[esp+18h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push edi push eax push SUB_L004B9B80 call SUB_L00443960 mov esi,[esi+50h] add esp,00000028h test esi,esi jz L004146F5 L004146E6: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+44h] test esi,esi jnz L004146E6 L004146F5: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 4 L00414700: mov eax,[ecx+6Ch] test eax,eax jz L0041472D mov edx,[esp+04h] test edx,edx jl L0041472D mov eax,[esp+08h] test eax,eax jl L0041472D push esi mov esi,[ecx+20h] cmp edx,esi pop esi jge L0041472D cmp eax,[ecx+24h] jge L0041472D mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L0041472D: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00414740: mov eax,[ecx+0000009Ch] test eax,eax jnz L00414750 mov eax,00000001h retn ;------------------------------------------------------------------------------ L00414750: mov eax,[eax+0000008Ch] xor ecx,ecx cmp dword ptr [eax+000000A0h],00000001h setz cl mov eax,ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00414770: push esi mov esi,[ecx+40h] test esi,esi jz L004147AD L00414778: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L004147A6 mov eax,[esi+0000009Ch] test eax,eax jz L004147AD mov ecx,[eax+0000008Ch] xor eax,eax cmp dword ptr [ecx+000000A0h],00000001h setz al test eax,eax jnz L004147AD L004147A6: mov esi,[esi+40h] test esi,esi jnz L00414778 L004147AD: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004147C0: push esi mov esi,[ecx+44h] test esi,esi jz L004147FD L004147C8: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L004147F6 mov eax,[esi+0000009Ch] test eax,eax jz L004147FD mov ecx,[eax+0000008Ch] xor eax,eax cmp dword ptr [ecx+000000A0h],00000001h setz al test eax,eax jnz L004147FD L004147F6: mov esi,[esi+44h] test esi,esi jnz L004147C8 L004147FD: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00414810: push FFFFFFFFh push L004E0DD0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+2Ch],ebp call SUB_L00458F30 mov eax,[esp+74h] xor ebx,ebx mov dword ptr [ebp+00h],L004E7F0C mov dword ptr [ebp+08h],SSZ004FEC8C_bbmsg_gump mov [ebp+60h],ebx mov ecx,[esp+54h] mov [ebp+000000BCh],ebx mov [ebp+000000C0h],eax mov [ebp+0000016Ch],ebx mov [ebp+00000168h],ebx mov [ebp+00000164h],ebx mov [ebp+00000160h],ebx mov eax,[ebp+000000C0h] mov [esp+48h],ebx cmp eax,ebx mov [ebp+000000C4h],ecx jz L004148BE push 00000051h call SUB_L004D4FA9 mov edx,eax mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+0000017Ch],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 L004148BE: mov eax,[esp+50h] cmp eax,ebx mov [ebp+38h],eax jz L004148CF mov [eax+00000090h],ebp L004148CF: mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx lea esi,[ebp+24h] lea ebx,[ebp+20h] push esi push ebx push 00000820h mov dword ptr [ebp+54h],00000820h call SUB_L004434A0 mov eax,[ebx] push SSZ004FEC70_framedata_for_CBBMsgGump push 00000010h mov [ebp+1Ch],eax mov dword ptr [esi],0000012Ch mov [ebp+28h],eax mov dword ptr [ebp+2Ch],0000012Ch mov dword ptr [ebp+14h],00000000h mov dword ptr [ebp+18h],00000002h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FEC64_bbmsg_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ004FEC64_bbmsg_frame mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+28h] imul eax,[ebp+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+28h] imul ecx,[ebp+2Ch] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+2Ch] mov ecx,[eax+0Ch] lea eax,[esp+3Ch] push eax mov [ecx+02h],dx lea ecx,[esp+50h] push ecx push 0000082Eh call SUB_L004434A0 mov edx,[esi] mov ecx,[esp+48h] sub edx,ecx lea eax,[esp+4Ch] lea ecx,[esp+50h] push eax sub edx,00000032h push ecx push 00000882h mov dword ptr [ebp+000000ACh],0000001Eh mov dword ptr [ebp+000000B0h],00000078h mov dword ptr [ebp+000000B4h],000000F5h mov [ebp+000000B8h],edx call SUB_L004434A0 mov edi,[esp+00000098h] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp+000000E6h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp+000000C8h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[esp+00000094h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp+00000136h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[esp+0000009Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp+00000178h] shr ecx,02h rep movsd mov ecx,eax lea eax,[esp+50h] and ecx,00000003h rep movsb lea ecx,[esp+4Ch] push ecx push edx push eax push L004FEBE4 push 00000009h call SUB_L00441BC0 mov ecx,[ebp+000000B0h] mov edx,[ebx] mov eax,[ebp+24h] add esp,00000050h mov [ebp+00000174h],ecx mov [esp+38h],edx lea ecx,[esp+18h] lea edx,[esp+28h] push ecx xor edi,edi push edx push 0000082Eh mov dword ptr [ebp+00000170h],00000014h mov [esp+3Ch],edi mov [esp+40h],edi mov [esp+48h],eax call SUB_L004434A0 mov ecx,[ebp+3Ch] mov eax,[esp+24h] push eax mov eax,[ebp+54h] mov edx,[ecx+0Ch] push edi push edx push 00000002h push eax call SUB_L004B5FF0 mov eax,[ebp+000000C0h] add esp,00000020h cmp eax,edi jz L00414B75 mov ecx,[ebp+3Ch] xor edx,edx mov eax,[ecx+0Ch] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push 0000000Ch push 00000061h push 00000883h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L00414B75: mov edx,[ebp+3Ch] 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 00000022h push 0000001Eh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebp+3Ch] mov esi,[esp+34h] 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,[ebp+24h] sub eax,esi sub eax,00000030h push eax push 0000001Eh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov ecx,[ebp+000000B4h] lea edx,[esp+48h] mov [esp+70h],ecx lea eax,[esp+54h] push edx lea ecx,[esp+50h] push eax push ecx push SSZ004FEC5C_Author_ push 00000006h call SUB_L00441BC0 mov ecx,[ebp+3Ch] mov eax,[ebx] add esp,0000004Ch lea edx,[esp+30h] push edx mov edx,[ecx+0Ch] mov ecx,[ebp+000000ACh] add edx,00000004h push eax mov eax,[esp+18h] push edx push SSZ004FEC5C_Author_ push edi add eax,00000028h push 00000006h push eax push ecx call SUB_L004416F0 lea edx,[esp+30h] lea eax,[esp+3Ch] push edx lea ecx,[esp+44h] push eax lea esi,[ebp+000000C8h] push ecx push esi push 00000009h call SUB_L00441BC0 mov ecx,[ebp+3Ch] mov eax,[ebx] lea edx,[esp+64h] push edx mov edx,[ecx+0Ch] add edx,00000004h push eax push edx mov eax,[esp+50h] mov ecx,[ebp+000000ACh] mov edx,[esp+54h] push esi push 00000386h add eax,0000002Eh push 00000009h push eax lea eax,[edx+ecx+04h] push eax call SUB_L004416F0 add esp,00000054h lea ecx,[esp+10h] lea edx,[esp+1Ch] lea eax,[esp+14h] push ecx push edx push eax push SSZ004FEC54_Time_ push 00000006h call SUB_L00441BC0 mov eax,[ebp+3Ch] mov edx,[ebx] lea ecx,[esp+44h] push ecx mov ecx,[eax+0Ch] mov eax,[ebp+000000ACh] add ecx,00000004h push edx mov edx,[esp+2Ch] push ecx push SSZ004FEC54_Time_ push edi add edx,00000038h push 00000006h push edx push eax call SUB_L004416F0 lea ecx,[esp+44h] lea edx,[esp+50h] push ecx lea eax,[esp+58h] push edx lea esi,[ebp+00000136h] push eax push esi push 00000009h call SUB_L00441BC0 mov eax,[ebp+3Ch] mov edx,[ebx] add esp,00000048h lea ecx,[esp+30h] push ecx mov ecx,[eax+0Ch] mov eax,[ebp+000000ACh] add ecx,00000004h push edx mov edx,[esp+18h] push ecx mov ecx,[esp+20h] push esi push 00000386h add edx,0000003Eh push 00000009h push edx lea edx,[ecx+eax+04h] push edx call SUB_L004416F0 lea eax,[esp+30h] lea ecx,[esp+3Ch] push eax lea edx,[esp+38h] push ecx push edx push SSZ004FEC48_Subject_ push 00000006h call SUB_L00441BC0 mov ecx,[ebx] lea eax,[esp+64h] push eax push ecx mov edx,[ebp+3Ch] mov ecx,[esp+4Ch] add ecx,00000048h mov eax,[edx+0Ch] mov edx,[ebp+000000ACh] add eax,00000004h push eax push SSZ004FEC48_Subject_ push edi push 00000006h push ecx push edx call SUB_L004416F0 mov eax,[ebp+000000C0h] add esp,00000054h cmp eax,edi jnz L00414DD0 lea eax,[esp+10h] lea ecx,[esp+1Ch] push eax lea edx,[esp+24h] push ecx lea esi,[ebp+000000E6h] push edx push esi push 00000009h call SUB_L00441BC0 mov edx,[ebp+3Ch] mov ecx,[ebx] lea eax,[esp+44h] push eax mov eax,[edx+0Ch] mov edx,[ebp+000000ACh] add eax,00000004h push ecx mov ecx,[esp+2Ch] push eax mov eax,[esp+34h] push esi push 00000386h add ecx,0000004Eh push 00000009h push ecx lea ecx,[eax+edx+04h] push ecx call SUB_L004416F0 add esp,00000034h jmp L00414EB6 L00414DD0: push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+74h],eax cmp eax,edi mov byte ptr [esp+48h],01h jz L00414E27 mov cx,[ebp+000000B4h] mov edx,[esp+14h] push edi push edi sub cx,dx push 00000001h sub cx,[ebp+000000ACh] push 00000008h push 00000009h push 0000003Ch push edi sub ecx,00000004h push 00000010h push ecx mov ecx,[ebp+000000ACh] push ebp push 0000004Ch lea edx,[edx+ecx+04h] mov ecx,eax push edx call SUB_L0042A340 jmp L00414E29 L00414E27: xor eax,eax L00414E29: mov edi,[esp+5Ch] mov [ebp+0000009Ch],eax mov dword ptr [eax+000000D8h],00000001h mov edx,[ebp+0000009Ch] or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h push 0000E023h repne scasb not ecx sub edi,ecx mov byte ptr [esp+4Ch],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,[ebp+0000009Ch] mov edx,[ecx] call [edx+44h] mov ecx,[ebp+0000009Ch] mov eax,[ecx] call [eax+00000174h] mov ecx,[ebp+0000009Ch] push ecx call SUB_L00456DC0 mov ecx,[ebp+0000009Ch] add esp,00000004h mov edx,[ecx] call [edx+00000174h] mov ecx,[ebp+0000009Ch] push 00000001h push ebp call SUB_L004587A0 xor edi,edi L00414EB6: mov eax,[ebx] mov ecx,[ebp+3Ch] mov [esp+38h],eax lea eax,[ebp+000000ACh] mov edx,[ecx+0Ch] push eax mov eax,[eax] push edx push 00000835h push 0000006Eh push eax call SUB_L00416B10 add esp,00000014h mov ecx,ebp call SUB_L004163F0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],02h jz L00414F22 mov ecx,[ebp+24h] mov esi,[esp+18h] sub ecx,esi push 00000828h sub ecx,00000032h push ebp push ecx push 00000001h push 00000078h push 000000FEh mov ecx,eax call SUB_L00422790 jmp L00414F24 L00414F22: xor eax,eax L00414F24: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+50h],00h mov [ebp+000000A0h],eax call SUB_L004587A0 mov ecx,[ebp+000000A0h] push 00000001h push edi call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],03h jz L00414F8F mov edx,[ebp+24h] mov ecx,[esp+18h] push edi push 0000082Eh push 0000082Eh push L00421370 sub edx,ecx push edi push edi sub edx,00000003h push ebp push edx push 0000008Bh mov ecx,eax call SUB_L00421F40 jmp L00414F91 L00414F8F: xor eax,eax L00414F91: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+50h],00h mov dword ptr [eax+000000ACh],0000082Fh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],04h jz L00414FE8 push edi push 00000824h push 00000824h push L00420570 push edi push 00000002h push ebp push 0000006Ah push 000000F6h mov ecx,eax call SUB_L00421F40 jmp L00414FEA L00414FE8: xor eax,eax L00414FEA: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+50h],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],05h jz L00415042 mov ecx,[ebp+24h] mov ebx,[esp+18h] push edi push 00000825h push 00000825h push L004205B0 sub ecx,ebx push edi push 00000002h sub ecx,00000034h push ebp push ecx push 000000F6h mov ecx,eax call SUB_L00421F40 jmp L00415044 L00415042: xor eax,eax L00415044: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+50h],00h call SUB_L004587A0 mov eax,[ebp+000000C0h] lea edx,[esp+24h] cmp eax,edi lea eax,[esp+14h] push edx mov [ebp+000000A8h],edi mov [ebp+000000A4h],edi push eax jz L004150C2 push 00000886h call SUB_L004434A0 push 000000ECh call SUB_L004D4FA9 add esp,00000010h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],06h jz L00415111 mov ecx,[ebp+24h] mov ebx,[esp+18h] push edi push 00000886h push 00000886h push L00420240 sub ecx,ebx push edi push edi sub ecx,00000018h push ebp push ecx push 00000025h mov ecx,eax call SUB_L00421F40 jmp L00415113 L004150C2: push 00000884h call SUB_L004434A0 push 000000ECh call SUB_L004D4FA9 add esp,00000010h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],07h jz L00415111 mov ecx,[ebp+24h] mov ebx,[esp+18h] push edi push 00000884h push 00000884h push L004202A0 sub ecx,ebx push edi push edi sub ecx,00000018h push ebp push ecx push 00000025h mov ecx,eax call SUB_L00421F40 jmp L00415113 L00415111: xor eax,eax L00415113: mov [ebp+000000A4h],eax mov [eax+000000D4h],edi mov ecx,[ebp+000000A4h] push 00000001h push ebp mov byte ptr [esp+50h],00h call SUB_L004587A0 cmp [ebp+000000C0h],edi jnz L00415214 mov esi,[esp+58h] mov eax,L00C880F8 L00415147: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0041516F test cl,cl jz L0041516B mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0041516F add eax,00000002h add esi,00000002h test cl,cl jnz L00415147 L0041516B: xor eax,eax jmp L00415174 L0041516F: sbb eax,eax sbb eax,FFFFFFFFh L00415174: cmp eax,edi jz L00415185 call SUB_L004BCED0 test eax,eax jz L00415214 L00415185: mov eax,[ebp+38h] mov ecx,[eax+0000008Ch] cmp dword ptr [ecx+000000A0h],FFFFFFFFh jnz L00415214 lea edx,[esp+24h] lea eax,[esp+14h] push edx push eax push 00000885h call SUB_L004434A0 push 000000ECh call SUB_L004D4FA9 add esp,00000010h mov [esp+5Ch],eax cmp eax,edi mov byte ptr [esp+48h],08h jz L004151F3 mov ecx,[ebp+24h] mov ebx,[esp+18h] push edi push 00000885h push 00000885h push L00420340 sub ecx,ebx push edi push edi sub ecx,00000018h push ebp push ecx push 000000EBh mov ecx,eax call SUB_L00421F40 jmp L004151F5 L004151F3: xor eax,eax L004151F5: mov [ebp+000000A8h],eax mov [eax+000000D4h],edi mov ecx,[ebp+000000A8h] push 00000001h push ebp mov byte ptr [esp+50h],00h call SUB_L004587A0 L00415214: mov ecx,[esp+40h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000003Ch retn 0028h ;------------------------------------------------------------------------------ Align 8 L00415230: push esi mov esi,ecx call SUB_L00415250 test byte ptr [esp+08h],01h jz L00415248 push esi call SUB_L004D4F9E add esp,00000004h L00415248: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00415250: push FFFFFFFFh push L004E0DE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004E7F0C mov eax,[esi+38h] xor ebp,ebp cmp eax,ebp mov [esp+14h],ebp jz L0041528F cmp [eax+00000090h],esi jnz L0041528F mov [eax+00000090h],ebp L0041528F: mov eax,[esi+00000160h] push edi xor edi,edi cmp eax,ebp jle L004152BD push ebx lea ebx,[esi+0000017Ch] L004152A3: mov eax,[ebx] push eax call SUB_L004D4F9E mov eax,[esi+00000160h] add esp,00000004h inc edi add ebx,00000004h cmp edi,eax jl L004152A3 pop ebx L004152BD: mov eax,[esi+000000C0h] pop edi cmp eax,ebp jz L004152DE mov eax,[esi+00000160h] mov eax,[esi+eax*4+0000017Ch] push eax call SUB_L004D4F9E add esp,00000004h L004152DE: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,ebp jz L004152FC push SSZ004FECBC_BBMsg_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],ebp L004152FC: mov eax,[esi+3Ch] mov eax,[eax+0Ch] cmp eax,ebp jz L0041531A push SSZ004FECA8_BBMsg_frame1_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+0Ch],ebp L0041531A: mov eax,[esi+3Ch] cmp eax,ebp jz L00415332 push SSZ004FEC98_BBMsg_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebp L00415332: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00415360: push ebx push esi push edi mov esi,ecx push 00000000h call SUB_L004584E0 mov eax,[esi+000000C0h] mov ebx,[esp+10h] mov edi,[esp+14h] mov dword ptr [esi+000000BCh],00000001h test eax,eax mov [esi+70h],ebx mov [esi+74h],edi jz L00415443 cmp ebx,[esi+000000ACh] jl L00415443 cmp ebx,[esi+000000B4h] jg L00415443 cmp edi,[esi+000000B0h] jl L00415443 cmp edi,[esi+000000B8h] jg L00415443 cmp edi,[esi+00000174h] jl L00415443 push esi call SUB_L00456DC0 mov eax,edi mov edi,[esi+00000174h] sub eax,edi mov ecx,[esi+00000160h] cdq idiv [esi+00000178h] add esp,00000004h cmp eax,ecx mov [esi+00000168h],eax jle L004153FA mov [esi+00000168h],ecx L004153FA: mov eax,[esi+00000168h] cmp eax,ecx jge L00415432 mov edx,[esi+000000ACh] mov eax,[esi+eax*4+0000017Ch] sub ebx,edx push ebx push eax push 00000009h call SUB_L00442E50 add esp,0000000Ch mov ecx,esi mov [esi+0000016Ch],eax call SUB_L004163F0 pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L00415432: mov ecx,esi mov dword ptr [esi+0000016Ch],00000000h call SUB_L004163F0 L00415443: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00415450: push 00000000h mov dword ptr [ecx+000000BCh],00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00415470: mov eax,[ecx+000000BCh] test eax,eax jz L00415497 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L00415497: retn 0008h ;------------------------------------------------------------------------------ Align 8 L004154A0: push esi mov esi,[ecx+00000160h] test esi,esi jz L004154C8 mov eax,esi imul eax,[esp+08h] cdq idiv [esp+0Ch] cmp eax,esi mov [ecx+00000164h],eax jl L004154C8 dec esi mov [ecx+00000164h],esi L004154C8: call SUB_L004163F0 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004154E0: sub esp,00000054h push ebx mov ebx,ecx push ebp mov ebp,[esp+60h] mov eax,[ebx+000000B4h] mov edx,[ebx+000000ACh] and ebp,0000FFFFh sub eax,edx push esi sub eax,00000002h mov ecx,[ebx+ebp*4+0000017Ch] push edi push eax push ecx push 00000009h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jnz L00415538 mov esi,[ebx+ebp*4+0000017Ch] or ecx,eax mov edi,esi xor eax,eax repne scasb not ecx dec ecx mov [esp+68h],ecx mov edx,ecx jmp L0041554F L00415538: mov esi,[ebx+ebp*4+0000017Ch] inc edx mov [esp+68h],edx cmp byte ptr [esi+edx],20h jnz L0041554F inc edx mov [esp+68h],edx L0041554F: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00415580 mov eax,[ebx+00000160h] lea ecx,[eax-01h] cmp ebp,ecx jnz L004155DA inc eax cmp eax,00000050h jl L0041558C mov byte ptr [esi+edx],00h mov dword ptr [L00704A08],00000001h L00415580: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L0041558C: push 00000051h mov [ebx+00000160h],eax call SUB_L004D4FA9 mov edx,[ebx+00000160h] mov edi,L007049FC or ecx,FFFFFFFFh add esp,00000004h mov [ebx+edx*4+0000017Ch],eax xor eax,eax repne scasb mov edx,[ebx+00000160h] not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+edx*4+0000017Ch] mov edx,[esp+68h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004155DA: mov edi,[ebx+ebp*4+0000017Ch] or ecx,FFFFFFFFh add edi,edx xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+10h] mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+10h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebx+ebp*4+00000180h] 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,[esp+10h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebx+ebp*4+00000180h] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+68h] and ecx,00000003h rep movsb mov ecx,[ebx+ebp*4+0000017Ch] mov byte ptr [ecx+eax],00h mov ecx,[ebx+00000168h] cmp ecx,ebp jnz L004156D6 mov edx,[ebx+0000016Ch] cmp edx,eax jl L004156D6 sub edx,eax mov [ebx+0000016Ch],edx jns L0041568F mov dword ptr [ebx+0000016Ch],00000000h L0041568F: lea eax,[ecx+01h] mov ecx,[ebx+00000164h] mov [ebx+00000168h],eax sub eax,ecx inc eax mov esi,[ebx+00000174h] imul eax,[ebx+00000178h] mov edx,[ebx+000000B8h] add eax,esi cmp eax,edx jle L004156D6 mov edx,[ebx+00000160h] lea eax,[ecx+01h] mov ecx,[ebx+000000A0h] push edx push eax mov [ebx+00000164h],eax call SUB_L00422C90 L004156D6: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004156F0: sub esp,00000054h push ebx mov ebx,[esp+5Ch] push ebp push esi cmp ebx,0000E021h push edi mov ebp,ecx jnz L00415747 mov eax,[ebp+00000168h] test eax,eax jle L00415719 mov dword ptr [ebp+00000168h],00000000h L00415719: mov eax,[ebp+00000168h] L0041571F: mov edx,[ebp+eax*4+0000017Ch] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb mov eax,[ebp+0000016Ch] not ecx dec ecx cmp eax,ecx jle L004157D0 mov edi,edx jmp L00415EC4 L00415747: cmp ebx,0000E022h jnz L004157B4 mov eax,[ebp+00000160h] mov ecx,[ebp+00000168h] dec eax cmp ecx,eax jge L00415766 mov [ebp+00000168h],eax L00415766: mov edx,[ebp+00000168h] xor ecx,ecx test eax,eax setl cl dec ecx and ecx,eax cmp edx,ecx jle L0041578A xor ecx,ecx test eax,eax setl cl dec ecx and eax,ecx mov [ebp+00000168h],eax L0041578A: mov edx,[ebp+00000168h] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+edx*4+0000017Ch] mov edi,edx repne scasb mov eax,[ebp+0000016Ch] not ecx dec ecx cmp eax,ecx jle L004157D0 mov edi,edx jmp L00415EC4 L004157B4: cmp ebx,0000E024h jnz L004157E1 mov eax,[ebp+0000016Ch] test eax,eax jle L004157D7 L004157C6: mov dword ptr [ebp+0000016Ch],00000000h L004157D0: mov ecx,ebp call SUB_L004163F0 L004157D7: pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L004157E1: cmp ebx,0000E023h jnz L00415813 mov eax,[ebp+00000168h] or ecx,FFFFFFFFh mov edx,[ebp+eax*4+0000017Ch] xor eax,eax mov edi,edx repne scasb mov eax,[ebp+0000016Ch] not ecx dec ecx cmp eax,ecx jge L004157D7 mov edi,edx jmp L00415EC4 L00415813: cmp ebx,0000E025h jz L00415E86 cmp ebx,0000E027h jz L00415EE5 cmp ebx,0000E026h jnz L00415898 mov eax,[ebp+00000168h] test eax,eax jle L004157D7 mov ecx,[ebp+00000164h] dec eax cmp eax,ecx mov [ebp+00000168h],eax jge L0041586A lea eax,[ecx-01h] mov ecx,[ebp+00000160h] push ecx mov ecx,[ebp+000000A0h] push eax mov [ebp+00000164h],eax call SUB_L00422C90 L0041586A: mov edx,[ebp+00000168h] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+edx*4+0000017Ch] mov edi,edx repne scasb mov eax,[ebp+0000016Ch] not ecx dec ecx cmp eax,ecx jle L004157D0 mov edi,edx jmp L00415EC4 L00415898: cmp ebx,0000E028h jnz L00415917 mov eax,[ebp+00000168h] mov edx,[ebp+00000160h] cmp eax,edx jge L004157D7 cmp eax,000000F9h jge L004157D7 mov ecx,[ebp+00000164h] inc eax mov [ebp+00000168h],eax sub eax,ecx inc eax mov edi,[ebp+00000174h] imul eax,[ebp+00000178h] mov esi,[ebp+000000B8h] add eax,edi cmp eax,esi jle L004158FE lea eax,[ecx+01h] mov ecx,[ebp+000000A0h] push edx push eax mov [ebp+00000164h],eax call SUB_L00422C90 L004158FE: mov eax,[ebp+00000168h] mov ecx,[ebp+00000160h] cmp eax,ecx jge L004157C6 jmp L0041571F L00415917: cmp ebx,00000008h jnz L00415B7D mov ebx,[ebp+0000016Ch] test ebx,ebx jle L004159B1 mov eax,[ebp+00000168h] or ecx,FFFFFFFFh mov edx,[ebp+eax*4+0000017Ch] xor eax,eax mov edi,edx repne scasb not ecx dec ecx mov esi,ecx cmp ebx,esi jge L00415963 lea eax,[ebx-01h] lea edi,[esi-01h] cmp eax,edi jge L00415963 L00415957: mov cl,[eax+edx+01h] mov [eax+edx],cl inc eax cmp eax,edi jl L00415957 L00415963: mov byte ptr [esi+edx-01h],00h mov eax,[ebp+0000016Ch] dec eax mov [ebp+0000016Ch],eax mov eax,[ebp+00000160h] cmp eax,00000001h jnz L004157D0 mov edi,[ebp+0000017Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L004157D0 mov ecx,ebp mov [ebp+00000160h],eax call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L004159B1: mov esi,[ebp+00000168h] test esi,esi jle L004157D7 mov edx,[ebp+esi*4+00000178h] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb mov edi,[ebp+esi*4+0000017Ch] not ecx dec ecx mov [esp+68h],ecx 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 edx,[ebp+000000B4h] mov ebx,[ebp+000000ACh] mov eax,[ebp+00000168h] sub edx,ebx push edx mov ecx,[ebp+eax*4+00000178h] push ecx push 00000009h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jnz L00415A4A mov ebx,[ebp+00000168h] or ecx,eax xor eax,eax mov esi,[ebp+ebx*4+00000178h] mov edi,esi repne scasb not ecx dec ecx mov edx,ecx jmp L00415A5F L00415A4A: mov ebx,[ebp+00000168h] inc edx mov esi,[ebp+ebx*4+00000178h] cmp byte ptr [esi+edx],20h jnz L00415A5F inc edx L00415A5F: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00415AA5 lea edi,[esi+edx] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+ebx*4+0000017Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+00000168h] mov eax,[ebp+ecx*4+00000178h] mov byte ptr [eax+edx],00h jmp L00415B1B L00415AA5: mov eax,[ebp+00000160h] cmp ebx,eax jge L00415B1B dec eax cmp ebx,eax jge L00415AEB lea edx,[ebp+ebx*4+0000017Ch] L00415ABB: 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 and ecx,00000003h inc ebx rep movsb mov ecx,[ebp+00000160h] dec ecx cmp ebx,ecx jl L00415ABB L00415AEB: mov edx,[ebp+00000160h] dec edx mov eax,edx mov [ebp+00000160h],edx mov edx,[ebp+eax*4+00000180h] push edx call SUB_L004D4F9E mov eax,[ebp+00000160h] add esp,00000004h mov dword ptr [ebp+eax*4+00000180h],00000000h L00415B1B: mov ecx,[ebp+00000168h] mov eax,[ebp+00000160h] dec ecx cmp eax,00000001h mov [ebp+00000168h],ecx mov ecx,[esp+68h] mov [ebp+0000016Ch],ecx jnz L004157D0 mov edi,[ebp+0000017Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L004157D0 mov [ebp+00000160h],eax mov edx,[ebp+00000180h] push edx call SUB_L004D4F9E add esp,00000004h mov ecx,ebp call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415B7D: cmp ebx,0000000Dh jnz L00415CE5 mov eax,[ebp+00000160h] inc eax cmp eax,00000050h jge L004157D7 push 00000051h mov [ebp+00000160h],eax call SUB_L004D4FA9 mov ecx,[ebp+00000160h] mov edi,L007049FC add esp,00000004h mov [ebp+ecx*4+0000017Ch],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+00000160h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+edx*4+0000017Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edx,[ebp+00000160h] mov ecx,[ebp+00000168h] dec edx add ecx,00000002h cmp edx,ecx jl L00415C2D lea ebx,[ebp+edx*4+0000017Ch] L00415BFB: mov edi,[ebx-04h] or ecx,FFFFFFFFh xor eax,eax sub ebx,00000004h 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 dec edx rep movsb mov ecx,[ebp+00000168h] add ecx,00000002h cmp edx,ecx jge L00415BFB L00415C2D: mov edx,[ebp+00000168h] mov ebx,[ebp+0000016Ch] or ecx,FFFFFFFFh xor eax,eax mov edi,[ebp+edx*4+0000017Ch] add edi,ebx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+edx*4+00000180h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+00000168h] mov eax,[ebp+0000016Ch] mov edx,[ebp+ecx*4+0000017Ch] mov byte ptr [edx+eax],00h mov eax,[ebp+00000168h] mov ecx,[ebp+00000164h] inc eax mov [ebp+00000168h],eax sub eax,ecx inc eax mov esi,[ebp+00000174h] imul eax,[ebp+00000178h] mov edx,[ebp+000000B8h] add eax,esi cmp eax,edx jle L00415CB1 inc ecx mov [ebp+00000164h],ecx L00415CB1: mov ecx,ebp mov dword ptr [ebp+0000016Ch],00000000h call SUB_L004163F0 mov ecx,[ebp+00000160h] mov edx,[ebp+00000164h] push ecx mov ecx,[ebp+000000A0h] push edx call SUB_L00422C90 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415CE5: push ebx push 00000009h call SUB_L00441060 add esp,00000008h test eax,eax jz L004157D7 mov eax,[ebp+00000160h] mov ecx,[ebp+00000168h] cmp ecx,eax jnz L00415D5C inc eax cmp eax,00000050h jge L004157D7 push 00000051h mov [ebp+00000160h],eax call SUB_L004D4FA9 mov ecx,[ebp+00000160h] mov edi,L007049FC add esp,00000004h mov [ebp+ecx*4+0000017Ch],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+00000160h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[ebp+edx*4+0000017Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00415D5C: mov ecx,[ebp+00000168h] xor eax,eax mov esi,[ebp+0000016Ch] mov edx,[ebp+ecx*4+0000017Ch] or ecx,FFFFFFFFh mov edi,edx repne scasb not ecx dec ecx cmp esi,ecx jnz L00415DA0 mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov [edx+ecx],bl mov edx,[ebp+00000168h] mov eax,[ebp+edx*4+0000017Ch] mov byte ptr [eax+ecx+01h],00h jmp L00415E19 L00415DA0: add edx,esi or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx lea esi,[esp+10h] sub edi,ecx mov eax,ecx mov [esp+68h],esi mov esi,edi mov edi,[esp+68h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov [edx],bl mov ecx,[ebp+00000168h] mov eax,[ebp+0000016Ch] lea edi,[esp+10h] mov edx,[ebp+ecx*4+0000017Ch] or ecx,FFFFFFFFh mov byte ptr [edx+eax+01h],00h xor eax,eax repne scasb mov edx,[ebp+00000168h] not ecx sub edi,ecx mov esi,edi mov edi,[ebp+edx*4+0000017Ch] 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 L00415E19: mov esi,[ebp+0000016Ch] mov ecx,ebp inc esi mov [ebp+0000016Ch],esi mov dword ptr [L00704A08],00000000h mov esi,[ebp+00000168h] push esi call SUB_L004154E0 test eax,eax jz L00415E4F L00415E42: inc esi mov ecx,ebp push esi call SUB_L004154E0 test eax,eax jnz L00415E42 L00415E4F: cmp esi,[ebp+00000168h] jnz L004157D0 mov eax,[L00704A08] test eax,eax jz L004157D0 mov eax,[ebp+0000016Ch] mov ecx,ebp dec eax mov [ebp+0000016Ch],eax call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415E86: mov eax,[ebp+0000016Ch] test eax,eax jle L00415EA8 dec eax mov ecx,ebp mov [ebp+0000016Ch],eax call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415EA8: mov eax,[ebp+00000168h] test eax,eax jle L004157D0 dec eax mov [ebp+00000168h],eax mov edi,[ebp+eax*4+0000017Ch] L00415EC4: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ebp+0000016Ch],ecx mov ecx,ebp call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415EE5: mov edx,[ebp+00000168h] or ecx,FFFFFFFFh xor eax,eax mov esi,[ebp+0000016Ch] mov edi,[ebp+edx*4+0000017Ch] repne scasb not ecx dec ecx cmp esi,ecx jge L00415F1E inc esi mov ecx,ebp mov [ebp+0000016Ch],esi call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ L00415F1E: cmp edx,[ebp+00000160h] jge L004157D0 lea eax,[edx+01h] mov edx,[ebp+000000B8h] mov edi,[ebp+000000B0h] mov [ebp+00000168h],eax lea ecx,[eax+01h] sub edx,edi imul ecx,[ebp+00000178h] cmp ecx,edx jle L004157C6 dec eax mov ecx,ebp mov [ebp+00000168h],eax call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000054h retn 0004h ;------------------------------------------------------------------------------ Align 8 L00415F70: sub esp,00000024h push ebx push ebp mov ebp,[esp+34h] push esi mov esi,ecx push edi xor ebx,ebx mov edi,[esi+48h] cmp edi,ebx jz L00415FFA L00415F86: mov eax,[edi] mov ecx,edi call [eax+000000D4h] test eax,eax jz L00415FD9 mov eax,[edi+30h] mov ebx,[esi+20h] mov edx,[esi+1Ch] mov ecx,eax sub ecx,ebx add ecx,edx mov [edi+000000A4h],ecx mov ecx,[esi+20h] mov ebx,[esi+1Ch] mov edx,[edi+000000A4h] sub eax,ecx mov ecx,[edi+000000B0h] add eax,ebx mov [edi+30h],edx mov [edi+000000A8h],eax mov edx,[esi+24h] mov eax,ebp sub eax,edx add ecx,eax mov [edi+000000B0h],ecx jmp L00415FF1 L00415FD9: mov ebx,[esi+24h] mov ecx,[edi+34h] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L00415FF1 sub ecx,ebx add ecx,ebp mov [edi+34h],ecx L00415FF1: mov edi,[edi+40h] xor ebx,ebx cmp edi,ebx jnz L00415F86 L00415FFA: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,ebx jz L00416018 push SSZ004FECF0_bbmsg_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],ebx L00416018: mov eax,[esi+3Ch] mov eax,[eax+0Ch] cmp eax,ebx jz L00416036 push SSZ004FECF0_bbmsg_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+0Ch],ebx L00416036: mov edx,[esi+20h] push SSZ004FECE0_bbmsg_frame0 imul edx,ebp mov [esi+24h],ebp lea eax,[edx+edx+04h] push eax call SUB_L00475FC0 mov ecx,[esi+3Ch] push SSZ004FECD0_bbmsg_frame1 mov [ecx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+0Ch] lea eax,[esp+28h] push eax mov [ecx+02h],dx lea ecx,[esp+34h] push ecx push 0000082Eh call SUB_L004434A0 mov eax,[esi+24h] mov ecx,[esp+34h] mov edx,eax mov [esp+4Ch],eax mov eax,[esi+3Ch] sub edx,ecx sub edx,00000032h mov [esp+40h],ebx mov [esi+000000B8h],edx mov edx,[esi+000000B4h] mov [esp+44h],ebx mov [esp+48h],edx push ecx mov ecx,[eax+0Ch] push ebx push ecx mov edx,[esi+54h] push 00000002h push edx call SUB_L004B5FF0 mov eax,[esi+000000C0h] add esp,00000030h cmp eax,ebx jz L00416176 mov eax,[esi+3Ch] 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 0000000Ch push 00000061h push 00000883h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L00416176: mov eax,[esi+3Ch] 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 push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esp+3Ch] push eax mov eax,[esi+24h] sub eax,edx sub eax,00000030h push eax push 0000001Eh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 lea ecx,[esp+74h] lea edx,[esp+48h] push ecx lea eax,[esp+50h] push edx push eax push SSZ004FEC5C_Author_ push 00000006h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,0000004Ch lea ecx,[esp+24h] lea edi,[esi+000000ACh] push ecx mov ecx,[eax+0Ch] mov eax,[edi] add ecx,00000004h push edx mov edx,[esp+44h] push ecx push SSZ004FEC5C_Author_ push ebx add edx,00000028h push 00000006h push edx push eax call SUB_L004416F0 lea ecx,[esp+5Ch] lea edx,[esp+30h] push ecx lea eax,[esp+40h] lea ebx,[esi+000000C8h] push edx push eax push ebx push 00000009h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+58h] push ecx mov ecx,[eax+0Ch] add ecx,00000004h push edx push ecx push ebx mov edx,[esp+00000080h] mov eax,[edi] mov ecx,[esp+58h] push 00000386h add edx,0000002Eh push 00000009h push edx lea edx,[ecx+eax+04h] push edx call SUB_L004416F0 add esp,00000054h lea eax,[esp+3Ch] lea ecx,[esp+10h] lea edx,[esp+14h] push eax push ecx push edx push SSZ004FEC54_Time_ push 00000006h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+38h] push eax mov eax,[edx+0Ch] mov edx,[edi] add eax,00000004h push ecx mov ecx,[esp+58h] push eax push SSZ004FEC54_Time_ push 00000000h add ecx,00000038h push 00000006h push ecx push edx call SUB_L004416F0 lea eax,[esp+70h] lea ecx,[esp+44h] push eax lea edx,[esp+54h] lea ebx,[esi+00000136h] push ecx push edx push ebx push 00000009h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000048h lea eax,[esp+24h] push eax mov eax,[edx+0Ch] mov edx,[edi] add eax,00000004h push ecx mov ecx,[esp+44h] push eax mov eax,[esp+20h] push ebx push 00000386h add ecx,0000003Eh push 00000009h push ecx lea ecx,[eax+edx+04h] push ecx call SUB_L004416F0 lea edx,[esp+5Ch] lea eax,[esp+30h] push edx lea ecx,[esp+38h] push eax push ecx push SSZ004FEC48_Subject_ push 00000006h call SUB_L00441BC0 mov eax,[esi+20h] mov ecx,[esi+3Ch] lea edx,[esp+58h] push edx push eax mov edx,[ecx+0Ch] mov eax,[esp+78h] mov ecx,[edi] add edx,00000004h push edx push SSZ004FEC48_Subject_ push 00000000h add eax,00000048h push 00000006h push eax push ecx call SUB_L004416F0 mov eax,[esi+000000C0h] add esp,00000054h test eax,eax jnz L004163BB lea edx,[esp+3Ch] lea eax,[esp+10h] push edx lea ecx,[esp+20h] lea ebx,[esi+000000E6h] push eax push ecx push ebx push 00000009h call SUB_L00441BC0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+38h] push edx mov edx,[ecx+0Ch] mov ecx,[edi] add edx,00000004h push eax mov eax,[esp+58h] push edx mov edx,[esp+34h] push ebx push 00000386h add eax,0000004Eh push 00000009h push eax lea eax,[edx+ecx+04h] push eax call SUB_L004416F0 add esp,00000034h L004163BB: mov ecx,[esi+3Ch] mov eax,[edi] push edi mov edx,[ecx+0Ch] push edx push 00000835h push 0000006Eh push eax call SUB_L00416B10 add esp,00000014h mov ecx,esi call SUB_L004163F0 pop edi pop esi pop ebp pop ebx add esp,00000024h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004163F0: sub esp,00000020h push ebx mov ebx,ecx push ebp push esi mov ecx,[ebx+24h] mov eax,[ebx+3Ch] imul ecx,[ebx+20h] mov esi,[eax+0Ch] push edi mov edi,[eax+04h] add esi,00000004h shl ecx,1 mov eax,ecx add edi,00000004h shr ecx,02h rep movsd mov ecx,eax lea edx,[esp+10h] and ecx,00000003h lea eax,[esp+1Ch] rep movsb lea ecx,[esp+14h] push ecx push edx push eax push L004FEBE4 push 00000004h call SUB_L00441BC0 mov ecx,[ebx+20h] mov edx,[ebx+000000B0h] mov eax,[ebx+000000B8h] mov [esp+3Ch],ecx mov [esp+38h],edx lea ecx,[esp+28h] mov [esp+40h],eax lea edx,[esp+24h] push ecx lea eax,[esp+34h] push edx push eax push L004FEBE4 push 00000009h mov dword ptr [esp+48h],00000000h call SUB_L00441BC0 mov eax,[ebx+00000164h] mov ecx,[ebx+00000160h] mov edi,[ebx+00000174h] add esp,00000028h cmp eax,ecx mov [esp+18h],eax jge L00416565 mov ecx,[esp+10h] lea ebp,[ebx+eax*4+0000017Ch] L004164A4: mov eax,[ebx+000000B8h] lea edx,[edi+ecx] cmp edx,eax jge L00416569 mov ecx,[ebx+3Ch] mov eax,[ebx+20h] lea esi,[ebx+000000ACh] mov edx,[ecx+04h] mov ecx,[esp+14h] push esi push eax mov eax,[ebp+00h] add edx,00000004h push edx push eax mov eax,[esi] push 00000386h lea edx,[edi+ecx] push 00000009h push edx push eax call SUB_L004416F0 mov eax,[L00B294BC] add esp,00000020h cmp eax,ebx jnz L00416543 mov ecx,[ebx+00000168h] mov eax,[esp+18h] cmp ecx,eax jnz L00416543 mov edx,[ebp+00h] mov eax,[ebx+0000016Ch] push edx push eax push 00000009h call SUB_L00442A80 mov edx,[ebx+20h] lea ecx,[esp+2Ch] push ecx mov ecx,[ebx+3Ch] push edx mov edx,[ecx+04h] mov ecx,[esp+28h] add edx,00000004h push edx lea edx,[edi+ecx+04h] mov ecx,[esi] push L004FED04 push 00000008h push 00000009h add ecx,eax push edx push ecx call SUB_L004410C0 add esp,0000002Ch L00416543: mov eax,[esp+18h] mov ecx,[esp+10h] mov edx,[ebx+00000160h] inc eax add ebp,00000004h add edi,ecx cmp eax,edx mov [esp+18h],eax jl L004164A4 jmp L00416569 L00416565: mov ecx,[esp+10h] L00416569: cmp [L00B294BC],ebx jnz L004165C0 mov eax,[ebx+00000168h] mov edx,[ebx+00000160h] cmp eax,edx jnz L004165C0 lea edx,[esp+20h] imul eax,ecx push edx mov edx,[ebx+20h] mov edi,[ebx+00000174h] mov ecx,[esp+18h] push edx mov edx,[ebx+3Ch] add eax,edi mov edx,[edx+04h] add edx,00000004h push edx push L004FED04 push 00000008h lea edx,[eax+ecx+04h] mov eax,[ebx+000000ACh] push 00000009h push edx push eax call SUB_L004410C0 add esp,00000020h L004165C0: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004165D0: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+00000160h] or ecx,FFFFFFFFh inc esi xor eax,eax mov [ebx+00000160h],esi mov esi,[esp+10h] mov edi,esi repne scasb not ecx push ecx call SUB_L004D4FA9 mov ecx,[ebx+00000160h] mov edi,esi add esp,00000004h mov [ebx+ecx*4+00000178h],eax or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000160h] 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 pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00416640: push FFFFFFFFh push L004E0E08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi call SUB_L00402BF0 mov edi,[esp+2Ch] mov dword ptr [esp+14h],00000000h test edi,edi mov dword ptr [esi],L004E8080 jnz L00416686 push SSZ004FED08_CBigMobComponent__CBigMobCompone call SUB_L004C7E80 add esp,00000004h L00416686: mov cx,[esp+20h] mov ax,[esp+1Ch] mov edx,[esp+28h] mov [esi+26h],cx mov ecx,[esp+24h] mov [esi+24h],ax mov [esi+44h],ecx mov [esi+48h],edx mov [esi+4Ch],edi mov eax,[edi+000000B4h] test eax,eax mov [esi+50h],eax jz L004166B9 mov [eax+54h],esi L004166B9: mov eax,[esi+4Ch] mov dword ptr [esi+54h],00000000h pop edi mov [eax+000000B4h],esi mov eax,[esi+4Ch] mov [esi+0Ch],ecx mov ecx,[eax+08h] mov [esi+14h],edx mov [esi+08h],ecx mov edx,[eax+10h] mov [esi+10h],edx mov ecx,[eax+2Ch] movsx edx,[esi+24h] mov [esi+2Ch],ecx movsx ecx,[esi+26h] add edx,ecx mov ecx,[esp+08h] mov [esi+30h],edx mov edx,[eax+34h] mov [esi+34h],edx mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 8 L00416710: push esi mov esi,ecx call SUB_L00416730 test byte ptr [esp+08h],01h jz L00416728 push esi call SUB_L004D4F9E add esp,00000004h L00416728: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00416730: push FFFFFFFFh push L004E0E28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E8080 mov eax,[esi+20h] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L00416766 call SUB_L00402D40 L00416766: mov eax,[esi+50h] cmp eax,edi jz L00416789 cmp eax,DDDDDDDDh jnz L00416783 push SSZ004FEE58_CBigMobComponent___CBigMobCompon call SUB_L004C7EF0 add esp,00000004h jmp L00416789 L00416783: mov ecx,[esi+54h] mov [eax+54h],ecx L00416789: mov eax,[esi+54h] cmp eax,edi jz L004167AE cmp eax,DDDDDDDDh jnz L004167A6 push SSZ004FEDC8_CBigMobComponent___CBigMobCompon call SUB_L004C7EF0 add esp,00000004h jmp L004167DC L004167A6: mov edx,[esi+50h] mov [eax+50h],edx jmp L004167DC L004167AE: mov eax,[esi+4Ch] cmp eax,edi jz L004167DC cmp eax,DDDDDDDDh jnz L004167CB push SSZ004FED40_CBigMobComponent___CBigMobCompon call SUB_L004C7EF0 add esp,00000004h jmp L004167DC L004167CB: cmp [eax+000000B4h],esi jnz L004167DC mov ecx,[esi+50h] mov [eax+000000B4h],ecx L004167DC: mov ecx,esi mov [esi+4Ch],edi mov [esi+50h],edi mov [esi+54h],edi mov [esi+18h],edi mov [esi+1Ch],edi mov [esi+20h],edi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00402CD0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L00416810: cmp dword ptr [ecx+4Ch],DDDDDDDDh jnz L00416827 push SSZ004FEEE8_CBigMobComponent__Release__owner call SUB_L004C7EF0 add esp,00000004h retn ;------------------------------------------------------------------------------ L00416827: test ecx,ecx jz L00416831 mov eax,[ecx] push 00000001h call [eax] L00416831: retn ;------------------------------------------------------------------------------ Align 16 L00416840: sub esp,00000010h push esi mov esi,[esp+18h] push edi mov edi,ecx test esi,esi jnz L0041685C push SSZ004FEF68_CBigMobComponent__DrawClip__r___ call SUB_L004C7E80 add esp,00000004h L0041685C: mov eax,[esi] mov edx,[esi+08h] mov ecx,[esi+04h] mov esi,[esi+0Ch] mov [esp+08h],eax mov eax,[edi+44h] mov [esp+10h],edx mov edx,[L0051A75C] sub eax,edx mov [esp+0Ch],ecx cmp ecx,eax mov [esp+14h],esi jg L0041688A mov [esp+0Ch],eax L0041688A: mov eax,[edi+48h] sub eax,edx cmp esi,eax jl L00416897 mov [esp+14h],eax L00416897: mov dword ptr [L0051C770],00000001h mov ecx,[edi+4Ch] lea edx,[esp+08h] mov eax,[ecx] push edx call [eax+08h] pop edi mov dword ptr [L0051C770],00000000h pop esi add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L004168C0: db 8Bh; '<' db 49h; 'I' db 4Ch; 'L' 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_L004168D0: sub esp,000001ACh push ebx mov ebx,[esp+000001B4h] push ebp push esi push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb mov edi,[esp+000001C4h] not ecx dec ecx mov [esp+18h],ecx lea ebp,[ecx-01h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov edi,ebx mov [esp+24h],ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx mov edi,L00704B9C mov eax,ecx mov ecx,00000100h rep stosd lea esi,[eax-01h] mov al,[ebx] test al,al mov [esp+14h],ebp mov [esp+10h],ebp jz L0041694E mov edi,ebx L00416932: movsx eax,al push eax call SUB_L004D5181 add esp,00000004h mov [L00704B9C+eax*4],esi mov al,[edi+01h] dec esi inc edi test al,al jnz L00416932 L0041694E: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov dword ptr [esp+1Ch],00000001h repne scasb not ecx dec ecx mov esi,ecx cmp esi,00000001h jle L004169D9 lea ecx,[esp+30h] mov [esp+20h],ecx L00416971: xor ebx,ebx test esi,esi jle L004169B8 lea edi,[esi-01h] L0041697A: mov ebp,[esp+1Ch] mov edx,edi sub edx,ebp mov ebp,[esp+000001C0h] movsx eax,[edx+ebp] push eax call SUB_L004D5181 movsx ecx,[edi+ebp] mov edx,eax push ecx mov [esp+30h],edx call SUB_L004D5181 mov edx,[esp+30h] add esp,00000008h cmp eax,edx jnz L004169B4 inc ebx dec edi cmp ebx,esi jl L0041697A L004169B4: mov ebp,[esp+10h] L004169B8: mov ecx,[esp+20h] mov eax,[esp+1Ch] inc eax mov [ecx],ebx add ecx,00000004h cmp eax,esi mov [esp+1Ch],eax mov [esp+20h],ecx jl L00416971 mov ebx,[esp+000001C0h] L004169D9: cmp esi,00000001h mov dword ptr [L00704A0C],00000001h jle L004169F4 lea ecx,[esi-01h] mov eax,esi mov edi,L00704A10 rep stosd L004169F4: lea eax,[esi-01h] test eax,eax jle L00416A10 lea ecx,[esp+eax*4+2Ch] L004169FF: mov edx,[ecx] sub ecx,00000004h mov [L00704A0C+edx*4],eax dec eax test eax,eax jg L004169FF L00416A10: mov eax,00000001h xor edi,edi cmp esi,eax jle L00416A3B lea edx,[esi-02h] xor ecx,ecx L00416A20: cmp [esp+ecx+30h],edx jnz L00416A28 mov edi,eax L00416A28: test edi,edi jz L00416A32 mov [ecx+L00704A10],edi L00416A32: inc eax dec edx add ecx,00000004h cmp eax,esi jl L00416A20 L00416A3B: mov eax,[esp+24h] mov ecx,[esp+14h] cmp ecx,eax jge L00416AE0 L00416A4B: mov eax,[esp+18h] xor esi,esi test eax,eax jle L00416A96 mov edx,[esp+000001C4h] mov ecx,[esp+14h] add ebx,ecx lea edi,[edx+ebp] L00416A65: movsx eax,[edi] push eax call SUB_L004D5181 movsx ecx,[ebx] push ecx mov ebp,eax call SUB_L004D5181 add esp,00000008h cmp ebp,eax jnz L00416A8B mov eax,[esp+18h] inc esi dec edi dec ebx cmp esi,eax jl L00416A65 L00416A8B: mov ebp,[esp+10h] mov ebx,[esp+000001C0h] L00416A96: cmp esi,[esp+18h] jz L00416AEE mov eax,[esp+000001C4h] mov edx,ebp sub edx,esi movsx ecx,[edx+eax] push ecx call SUB_L004D5181 mov eax,[L00704B9C+eax*4] mov ecx,[L00704A0C+esi*4] sub eax,esi add ecx,ebp add eax,ebp add esp,00000004h cmp eax,ecx mov ebp,eax jg L00416AD0 mov ebp,ecx L00416AD0: mov eax,[esp+24h] mov [esp+10h],ebp cmp ebp,eax jl L00416A4B L00416AE0: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,000001ACh retn ;------------------------------------------------------------------------------ L00416AEE: mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp sub eax,ecx pop ebx add esp,000001ACh retn ;------------------------------------------------------------------------------ Align 16 SUB_L00416B10: push ecx push ebx mov ebx,[esp+14h] lea eax,[esp+04h] push edi lea ecx,[esp+18h] push eax push ecx push ebx call SUB_L004434A0 mov edx,[esp+2Ch] mov edi,[esp+1Ch] add esp,0000000Ch mov eax,[edx+08h] cmp edi,eax jg L00416BA9 mov ecx,[esp+18h] push ebp mov ebp,[esp+18h] push esi mov esi,[esp+24h] L00416B47: add ecx,edi cmp ecx,eax jl L00416B75 xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+2Ch] lea ecx,[esi+04h] push eax push ecx push ebp push edi push edx push ebx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h jmp L00416B96 L00416B75: xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax lea edx,[esi+04h] push ecx push edx push ebp push edi push ebx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L00416B96: mov eax,[esp+28h] mov ecx,[esp+20h] add edi,ecx mov eax,[eax+08h] cmp edi,eax jle L00416B47 pop esi pop ebp L00416BA9: pop edi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00416BB0: push ebx push ebp mov ebp,[esp+0Ch] xor edx,edx push esi push edi test ebp,ebp jz L00416BF2 mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L00416BF2 mov ebx,L00704FEC mov esi,ebp sub ebx,ebp L00416BD7: mov al,[esi] cmp al,28h jz L00416BF2 mov [ebx+esi],al inc edx mov edi,ebp or ecx,FFFFFFFFh xor eax,eax inc esi repne scasb not ecx dec ecx cmp edx,ecx jl L00416BD7 L00416BF2: pop edi pop esi pop ebp mov byte ptr [edx+L00704FEB],00h mov eax,L00704FEC pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00416C10: push ebx push ebp push esi push edi mov ebx,ecx call SUB_L00458F30 xor edx,edx mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx],L004E8118 mov dword ptr [ebx+08h],SSZ004FF01C_book_gump mov [ebx+60h],edx mov [ebx+38h],edx mov [ebx+30h],edx mov [ebx+34h],edx mov [ebx+0000013Ch],edx mov [ebx+00000138h],edx mov [ebx+00000134h],edx mov [ebx+00000130h],edx mov [ebx+0000012Ch],edx mov [ebx+00000128h],edx mov [ebx+64h],edx mov [ebx+54h],edx mov [ebx+50h],edx mov [ebx+4Ch],edx mov [ebx+48h],edx mov [ebx+44h],edx mov [ebx+40h],edx mov [ebx+14h],edx mov [ebx+18h],edx mov [ebx+000000B4h],dx mov [ebx+000000B6h],dx mov [ebx+000000A4h],edx mov [ebx+000000A0h],edx mov [ebx+0000009Ch],edx mov [ebx+000000ACh],edx mov [ebx+000000A8h],edx repne scasb not ecx sub edi,ecx lea ebp,[ebx+000000B8h] mov eax,ecx mov esi,edi mov edi,ebp lea ebp,[ebx+000000F4h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L007049FC or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebp shr ecx,02h rep movsd mov ecx,eax mov eax,ebx and ecx,00000003h rep movsb pop edi pop esi mov [ebx+00000118h],edx mov [ebx+00000114h],edx pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00416D10: push esi mov esi,ecx call SUB_L004172F0 test byte ptr [esp+08h],01h jz L00416D28 push esi call SUB_L004D4F9E add esp,00000004h L00416D28: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00416D30: push FFFFFFFFh push L004E0E67 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000066Ch push ebx push ebp mov ebp,ecx mov [esp+18h],ebp call SUB_L00458F30 mov eax,[esp+000006A4h] mov dword ptr [ebp+00h],L004E8118 mov [ebp+000000B0h],eax mov eax,[esp+00000690h] xor ebx,ebx mov dword ptr [ebp+08h],SSZ004FF01C_book_gump mov [ebp+60h],ebx cmp eax,ebx mov [esp+0000067Ch],ebx mov [ebp+38h],eax jz L00416D93 mov [eax+0000008Ch],ebp L00416D93: mov ecx,[esp+00000684h] mov eax,[esp+0000068Ch] mov [ebp+30h],ecx mov edx,[esp+00000688h] mov ecx,eax push esi neg ecx mov [ebp+54h],ecx lea ecx,[ebp+24h] push edi lea esi,[ebp+20h] push ecx push esi push eax mov [ebp+34h],edx mov [ebp+0000013Ch],ebx mov [ebp+00000138h],ebx mov [ebp+00000134h],ebx mov [ebp+00000130h],ebx mov [ebp+0000012Ch],ebx mov [ebp+00000128h],ebx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L004434A0 mov edx,[esi] push SSZ004FF038_framedata_for_CCourseGump push 00000008h mov [ebp+1Ch],edx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF028_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,0000001Ch mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov edi,[esp+0000069Ch] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx or ecx,FFFFFFFFh lea edx,[ebp+000000B8h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebp+000000F4h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[esp+000006A0h] 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,[esp+000006A4h] and ecx,00000003h rep movsb mov ecx,[esp+000006A8h] mov [ebp+000000B4h],bx cmp ecx,ebx mov [ebp+000000B6h],ax mov [ebp+000000A8h],ecx mov [ebp+000000ACh],ebx mov [ebp+000000A0h],ebx mov [ebp+0000009Ch],ebx jz L00417011 cmp ax,bx jbe L00416F41 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_L004D4FA9 add esp,00000004h mov [ebp+000000A4h],eax jmp L00416F47 L00416F41: mov [ebp+000000A4h],ebx L00416F47: cmp [ebp+000000B6h],bx mov [esp+14h],ebx jbe L00416FE4 L00416F58: mov eax,[esp+14h] mov edx,[ebp+000000A4h] and eax,0000FFFFh mov dword ptr [esp+1Ch],00000014h lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] shl eax,03h mov [eax+edx],bx mov ecx,[ebp+000000A4h] mov edx,eax mov [eax+ecx+00000644h],ebx L00416F8E: mov eax,[ebp+000000A4h] mov edi,L007049FC or ecx,FFFFFFFFh lea esi,[edx+eax+02h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+10h],esi mov eax,ecx mov esi,edi mov edi,[esp+10h] add edx,00000050h shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+1Ch] and ecx,00000003h dec eax rep movsb mov [esp+1Ch],eax jnz L00416F8E mov eax,[esp+14h] inc eax cmp ax,[ebp+000000B6h] mov [esp+14h],eax jc L00416F58 L00416FE4: cmp word ptr [ebp+000000B6h],0001h jc L0041705C xor eax,eax mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebp+000000A4h] lea ecx,[eax+edx*8] mov [ebp+000000A0h],ecx jmp L0041705C L00417011: push 00000C90h call SUB_L004D4FA9 add esp,00000004h mov [ebp+000000A4h],eax xor eax,eax mov ecx,00000002h L0041702B: mov edx,[ebp+000000A4h] add eax,00000648h dec ecx mov [eax+edx-00000648h],bx jnz L0041702B cmp word ptr [ebp+000000B6h],0001h jc L0041705C mov eax,[ebp+000000A4h] add eax,00000648h mov [ebp+000000A0h],eax L0041705C: lea ecx,[esp+28h] lea edx,[esp+18h] push ecx lea eax,[esp+28h] push edx push eax push L004FEBE4 push 00000004h call SUB_L00441BC0 push 000001CCh call SUB_L004D4FA9 add esp,00000018h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000684h],01h jz L004170CC mov ecx,[esp+18h] push ebx push ebx push 00000001h push ebx push 00000004h push 0000003Bh lea edx,[ecx+ecx+08h] mov ecx,[L004E80D8] push ebx push edx mov edx,[L004E80E0] sub edx,ecx inc edx push edx mov edx,[L004E80DC] add edx,0000001Eh push ebp push edx push ecx mov ecx,eax call SUB_L0042A340 jmp L004170CE L004170CC: xor eax,eax L004170CE: mov [ebp+00000114h],eax lea edx,[eax+000000F8h] lea edi,[ebp+000000B8h] or ecx,FFFFFFFFh xor eax,eax mov [esp+00000684h],bl 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+00000114h] mov esi,00000001h mov [ecx+000000D4h],esi mov edx,[ebp+00000114h] mov [edx+000000D8h],esi mov ecx,[ebp+00000114h] mov eax,[ecx] call [eax+00000174h] cmp [ebp+000000A8h],ebx jz L0041713F cmp [ebp+000000B0h],ebx jnz L0041714B L0041713F: mov ecx,[ebp+00000114h] mov [ecx+000000BCh],esi L0041714B: mov ecx,[ebp+00000114h] push esi push ebp call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000684h],02h jz L004171AB mov edx,[esp+18h] push ebx mov ecx,[L004E80D8] push ebx push esi push ebx push 00000004h push 0000001Dh add edx,00000004h push ebx push edx mov edx,[L004E80E0] sub edx,ecx inc edx push edx mov edx,[L004E80DC] add edx,0000007Ch push ebp push edx push ecx mov ecx,eax call SUB_L0042A340 jmp L004171AD L004171AB: xor eax,eax L004171AD: mov [ebp+00000118h],eax lea edx,[eax+000000F8h] lea edi,[ebp+000000F4h] or ecx,FFFFFFFFh xor eax,eax mov [esp+00000684h],bl 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+00000118h] mov esi,00000001h mov [ecx+000000D8h],esi mov ecx,[ebp+00000118h] mov edx,[ecx] call [edx+00000174h] cmp [ebp+000000A8h],ebx jz L00417212 cmp [ebp+000000B0h],ebx jnz L0041721E L00417212: mov eax,[ebp+00000118h] mov [eax+000000BCh],esi L0041721E: mov ecx,[ebp+00000118h] push esi push ebp call SUB_L004587A0 mov ecx,ebp call SUB_L00418090 mov eax,[ebp+000000A8h] pop edi cmp eax,ebx pop esi jnz L004172BB mov ax,[ebp+000000B4h] cmp ax,bx jbe L00417278 cmp ax,[ebp+000000B6h] ja L00417278 mov ecx,[ebp+38h] push eax lea eax,[esp+28h] mov edx,[ecx+7Ch] push edx push eax call SUB_L0049AE40 add esp,0000000Ch lea ecx,[esp+24h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L00417278: mov ax,[ebp+000000B4h] xor ecx,ecx mov cx,[ebp+000000B6h] mov edx,eax and edx,0000FFFFh inc edx cmp edx,ecx jg L004172BB mov edx,[ebp+38h] inc eax push eax lea ecx,[esp+28h] mov eax,[edx+7Ch] push eax push ecx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+24h] push edx call SUB_L004BC750 L004172BB: push ebx push ebx push ebx push ebx push ebx push 00000055h call SUB_L004CD800 mov ecx,[esp+0000068Ch] add esp,00000018h mov eax,ebp mov fs:[00000000h],ecx pop ebp pop ebx add esp,00000678h retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L004172F0: push FFFFFFFFh push L004E0E88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E8118 xor edi,edi mov [esp+14h],edi call SUB_L00417720 push edi push edi push edi push edi push edi push 00000055h call SUB_L004CD800 mov eax,[esi+38h] add esp,00000018h cmp eax,edi jz L0041733B mov [eax+0000008Ch],edi L0041733B: mov eax,[esi+000000A4h] cmp eax,edi jz L00417354 push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000A4h],edi L00417354: mov ecx,[esi+38h] cmp ecx,edi jz L0041736D mov eax,[ecx] call [eax+60h] test eax,eax jz L0041736D mov ecx,[esi+38h] mov [ecx+000000B4h],edi L0041736D: mov eax,[esi+3Ch] cmp eax,edi jz L004173A3 mov eax,[eax+04h] cmp eax,edi jz L0041738F push SSZ004FF064_book_frame_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L0041738F: mov eax,[esi+3Ch] push SSZ004FF054_book_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004173A3: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004173D0: sub esp,00000650h push esi push edi xor edi,edi mov esi,ecx push edi call SUB_L004584E0 xor eax,eax xor ecx,ecx mov ax,[esi+000000B4h] mov cx,[esi+000000B6h] inc eax cmp eax,ecx jge L00417545 mov ecx,esi call SUB_L00417720 mov edx,[esi+00000114h] add word ptr [esi+000000B4h],0002h mov [edx+6Ch],edi mov eax,[esi+00000118h] mov [eax+6Ch],edi mov eax,[esi+000000A8h] cmp eax,edi jnz L004174E9 mov edx,[esi+38h] mov cx,[esi+000000B4h] push ecx lea ecx,[esp+0Ch] mov eax,[edx+7Ch] push eax push ecx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+08h] push edx call SUB_L004BC750 mov ax,[esi+000000B4h] xor edx,edx mov dx,[esi+000000B6h] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L0041749B inc eax lea edx,[esp+08h] push eax mov eax,[esi+38h] mov ecx,[eax+7Ch] push ecx push edx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+08h] push eax call SUB_L004BC750 L0041749B: mov eax,[esi+000000A4h] xor ecx,ecx mov [esi+0000009Ch],eax xor edx,edx mov [eax],di mov cx,[esi+000000B4h] mov dx,[esi+000000B6h] inc ecx cmp ecx,edx jg L004174D4 mov eax,[esi+000000A4h] add eax,00000648h mov [esi+000000A0h],eax jmp L004174DA L004174D4: mov [esi+000000A0h],edi L004174DA: mov esi,[esi+000000A0h] cmp esi,edi jz L00417536 mov [esi],di jmp L00417536 L004174E9: xor eax,eax mov ax,[esi+000000B4h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[esi+000000A4h] inc eax lea ecx,[ecx+edx*8] lea edx,[ecx-00000648h] mov [esi+0000009Ch],edx xor edx,edx mov dx,[esi+000000B6h] cmp eax,edx jg L00417526 mov [esi+000000A0h],ecx jmp L0041752C L00417526: mov [esi+000000A0h],edi L0041752C: mov eax,[esi] mov ecx,esi call [eax+00000174h] L00417536: push edi push edi push edi push edi push edi push 00000055h call SUB_L004CD800 add esp,00000018h L00417545: pop edi pop esi add esp,00000650h retn ;------------------------------------------------------------------------------ Align 4 L00417550: sub esp,00000650h push esi push edi xor edi,edi mov esi,ecx push edi call SUB_L004584E0 cmp [esi+000000B4h],di jbe L00417717 mov ecx,esi call SUB_L00417720 add word ptr [esi+000000B4h],FFFEh cmp [esi+000000B4h],di jnz L0041759F mov ecx,[esi+00000114h] mov eax,00000001h mov [ecx+6Ch],eax mov edx,[esi+00000118h] mov [edx+6Ch],eax L0041759F: cmp [esi+000000A8h],edi jnz L00417690 mov ax,[esi+000000B4h] cmp ax,di jbe L004175E5 cmp ax,[esi+000000B6h] ja L004175E5 push eax mov eax,[esi+38h] lea edx,[esp+0Ch] mov ecx,[eax+7Ch] push ecx push edx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+08h] push eax call SUB_L004BC750 L004175E5: mov ax,[esi+000000B4h] xor edx,edx mov dx,[esi+000000B6h] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L00417628 inc eax lea edx,[esp+08h] push eax mov eax,[esi+38h] mov ecx,[eax+7Ch] push ecx push edx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+08h] push eax call SUB_L004BC750 L00417628: mov ax,[esi+000000B4h] cmp ax,di jnz L0041763C mov [esi+0000009Ch],edi jmp L00417648 L0041763C: mov ecx,[esi+000000A4h] mov [esi+0000009Ch],ecx L00417648: and eax,0000FFFFh xor edx,edx mov dx,[esi+000000B6h] inc eax cmp eax,edx jg L0041766E mov eax,[esi+000000A4h] add eax,00000648h mov [esi+000000A0h],eax jmp L00417674 L0041766E: mov [esi+000000A0h],edi L00417674: mov eax,[esi+0000009Ch] cmp eax,edi jz L00417681 mov [eax],di L00417681: mov esi,[esi+000000A0h] cmp esi,edi jz L00417708 mov [esi],di jmp L00417708 L00417690: mov cx,[esi+000000B4h] cmp cx,di jbe L004176C1 mov eax,ecx and eax,0000FFFFh lea edx,[eax+eax*4] lea edx,[edx+edx*4] lea eax,[eax+edx*8] mov edx,[esi+000000A4h] lea eax,[edx+eax*8-00000648h] mov [esi+0000009Ch],eax jmp L004176C7 L004176C1: mov [esi+0000009Ch],edi L004176C7: mov eax,ecx xor ecx,ecx mov cx,[esi+000000B6h] and eax,0000FFFFh lea edx,[eax+01h] cmp edx,ecx jg L004176F8 lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[esi+000000A4h] lea ecx,[eax+edx*8] mov [esi+000000A0h],ecx jmp L004176FE L004176F8: mov [esi+000000A0h],edi L004176FE: mov edx,[esi] mov ecx,esi call [edx+00000174h] L00417708: push edi push edi push edi push edi push edi push 00000055h call SUB_L004CD800 add esp,00000018h L00417717: pop edi pop esi add esp,00000650h retn ;------------------------------------------------------------------------------ SUB_L00417720: sub esp,000006B8h push ebx mov ebx,ecx push ebp push esi mov eax,[ebx+000000A8h] push edi test eax,eax jz L00417843 mov eax,[ebx+38h] test eax,eax jz L00417843 mov eax,[ebx+000000ACh] test eax,eax jz L004177E1 mov edi,[ebx+00000114h] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebx+000000B8h] mov eax,ecx mov esi,edi mov edi,edx lea ebp,[ebx+000000F4h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h push ebp rep movsb mov edi,[ebx+00000118h] or ecx,FFFFFFFFh add edi,000000F8h push edx repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,ebp shr ecx,02h rep movsd mov ecx,eax lea eax,[esp+18h] and ecx,00000003h rep movsb mov ecx,[ebx+38h] mov edx,[ecx+7Ch] push edx push eax call SUB_L0049AC30 add esp,00000010h lea ecx,[esp+10h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov dword ptr [ebx+000000ACh],00000000h L004177E1: mov edi,00000001h cmp [ebx+000000B6h],di jc L00417843 xor ebp,ebp L004177F1: mov eax,edi and eax,0000FFFFh lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] lea esi,[eax+edx*8] mov eax,[ebx+000000A4h] shl esi,03h cmp [eax+esi-04h],ebp jz L00417839 push edi lea ecx,[esp+7Ch] push ebx push ecx call SUB_L0049AFC0 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+78h] push edx call SUB_L004BC750 mov eax,[ebx+000000A4h] mov [eax+esi-04h],ebp L00417839: inc edi cmp di,[ebx+000000B6h] jbe L004177F1 L00417843: pop edi pop esi pop ebp pop ebx add esp,000006B8h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00417850: sub esp,00000010h lea edx,[esp+08h] push ebx push ebp push esi mov esi,[esp+20h] mov ebx,esi mov ebp,ecx and ebx,0000FFFFh push edi mov ecx,[ebp+000000A4h] push edx lea eax,[ebx+ebx*4] lea eax,[eax+eax*4] lea ebx,[ebx+eax*8] lea eax,[esp+14h] shl ebx,03h push eax mov dword ptr [ecx+ebx-04h],00000001h lea ecx,[esp+24h] push ecx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov edx,[ebp+000000A4h] mov edi,[L004E80E4] sub edi,[L004E80DC] add esp,00000014h mov cx,[edx+ebx-00000648h] lea eax,[edx+ebx-00000648h] mov edx,ecx and edx,0000FFFFh imul edx,[esp+10h] cmp edx,edi jle L004179DC dec ecx mov [eax],cx cmp si,[ebp+000000B6h] jnc L0041799B mov eax,[ebp+000000A4h] add eax,ebx inc word ptr [eax] mov ecx,[ebp+000000A4h] xor eax,eax mov ax,[ecx+ebx] dec eax cmp eax,00000001h jl L0041794C lea edx,[eax+eax*4] mov [esp+24h],eax shl edx,04h add edx,ebx L0041790D: mov eax,[ebp+000000A4h] or ecx,FFFFFFFFh add eax,edx sub edx,00000050h lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [esp+14h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+24h] and ecx,00000003h dec eax rep movsb mov [esp+24h],eax jnz L0041790D L0041794C: mov ebp,[ebp+000000A4h] xor eax,eax mov ax,[ebx+ebp-00000648h] lea edx,[ebx+ebp+02h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h add ecx,ebp 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 ebp pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L0041799B: mov ebp,[ebp+000000A4h] xor eax,eax mov edi,L007049FC mov ax,[ebx+ebp-00000648h] lea ecx,[eax+eax*4] xor eax,eax shl ecx,04h add ecx,ebp 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 L004179DC: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004179F0: sub esp,00000018h mov eax,[esp+1Ch] push ebx push ebp and eax,0000FFFFh mov ebp,ecx push esi lea ecx,[eax+eax*4] push edi mov edx,[ebp+000000A4h] lea ecx,[ecx+ecx*4] lea ebx,[eax+ecx*8] lea eax,[esp+20h] shl ebx,03h lea ecx,[esp+18h] push eax mov dword ptr [edx+ebx-04h],00000001h lea edx,[esp+28h] push ecx push edx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+000000A4h] xor esi,esi mov edx,[L004E80E4] mov ecx,[L004E80DC] mov si,[eax+ebx-00000648h] sub edx,ecx add esp,00000014h xor ecx,ecx lea edi,[esi+01h] imul edi,[esp+18h] cmp edi,edx mov edx,[esp+30h] setg cl and edx,0000FFFFh dec esi mov edi,ecx cmp edx,esi mov [esp+14h],edi jge L00417AE4 lea ecx,[edx+edx*4] shl ecx,04h add ecx,ebx mov [esp+10h],ecx jmp L00417A8E L00417A8A: mov ecx,[esp+10h] L00417A8E: lea edi,[ecx+eax-000005F6h] lea esi,[ecx+eax-00000646h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+1Ch],esi mov eax,ecx mov esi,edi mov edi,[esp+1Ch] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+10h] and ecx,00000003h add eax,00000050h rep movsb mov [esp+10h],eax mov eax,[ebp+000000A4h] xor ecx,ecx inc edx mov cx,[eax+ebx-00000648h] dec ecx cmp edx,ecx jl L00417A8A mov edi,[esp+14h] L00417AE4: mov ecx,[ebp+000000A4h] mov ax,[ecx+ebx-00000648h] cmp [esp+30h],ax jnc L00417BE8 test edi,edi jz L00417B89 mov dx,[esp+2Ch] cmp dx,[ebp+000000B6h] jnc L00417B89 cmp word ptr [ecx+ebx],0000h jbe L00417B89 and eax,0000FFFFh lea edi,[ecx+ebx+02h] lea eax,[eax+eax*4] shl eax,04h add eax,ecx or ecx,FFFFFFFFh lea edx,[eax+ebx-00000696h] 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 xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp+000000A4h] mov edi,L007049FC lea edx,[ecx+ebx+02h] 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,[esp+14h] and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L00417B89: and eax,0000FFFFh mov edi,L007049FC xor edx,edx lea eax,[eax+eax*4] shl eax,04h add eax,ecx or ecx,FFFFFFFFh lea esi,[eax+ebx-00000696h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+30h],esi mov eax,ecx mov esi,edi mov edi,[esp+30h] shr ecx,02h rep movsd mov ecx,eax mov eax,edx and ecx,00000003h rep movsb mov ecx,[ebp+000000A4h] dec word ptr [ecx+ebx-00000648h] pop edi pop esi lea ebx,[ecx+ebx-00000648h] pop ebp pop ebx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L00417BE8: mov eax,edi pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00417C00: sub esp,00000078h push ebx push ebp push esi mov esi,[esp+00000088h] and esi,0000FFFFh mov edx,[esp+00000090h] mov ebp,ecx mov [esp+18h],esi lea eax,[esi+esi*4] push edi mov ecx,[ebp+000000A4h] lea eax,[eax+eax*4] lea esi,[esi+eax*8] lea eax,[esp+30h] shl esi,03h push eax mov [esp+2Ch],esi mov dword ptr [esi+ecx-04h],00000001h mov dword ptr [edx],00000000h lea ecx,[esp+28h] lea edx,[esp+38h] push ecx push edx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[esp+000000A4h] mov ecx,[L004E80E0] mov edx,[L004E80D8] and eax,0000FFFFh mov [esp+34h],eax sub ecx,edx mov edx,[ebp+000000A4h] lea eax,[eax+eax*4] shl eax,04h push ecx lea ebx,[eax+esi] lea eax,[ebx+edx-00000646h] push eax push 00000004h call SUB_L00441FB0 mov edx,eax add esp,00000020h cmp edx,FFFFFFFFh jnz L00417CD2 mov eax,[ebp+000000A4h] or ecx,edx mov [esp+18h],eax add eax,ebx mov [esp+10h],eax lea edi,[eax-00000646h] xor eax,eax repne scasb mov eax,[esp+10h] not ecx dec ecx mov [esp+14h],ecx mov edx,ecx jmp L00417CF6 L00417CD2: mov eax,[ebp+000000A4h] inc edx mov [esp+18h],eax add eax,ebx mov [esp+14h],edx mov [esp+10h],eax cmp byte ptr [eax+edx-00000646h],20h jnz L00417CF6 inc edx mov [esp+14h],edx L00417CF6: lea edi,[eax-00000646h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00417DAA mov ecx,[esp+18h] lea eax,[ecx+esi-00000648h] mov ecx,[esp+20h] mov [esp+2Ch],eax mov ax,[eax] and eax,0000FFFFh lea edi,[eax-01h] cmp ecx,edi jnz L00417F70 inc eax mov edi,[L004E80E4] imul eax,[esp+24h] sub edi,[L004E80DC] cmp eax,edi jle L00417F1E mov edi,[esp+0000008Ch] cmp di,[ebp+000000B6h] jnz L00417DB6 mov eax,[esp+10h] mov byte ptr [eax+edx-00000646h],00h mov eax,[ebp+0000011Ch] test eax,eax jz L00417D81 cmp di,[ebp+000000B4h] jz L00417D93 test eax,eax jnz L00417DAA L00417D81: mov esi,[esp+1Ch] xor eax,eax mov ax,[ebp+000000B4h] inc eax cmp esi,eax jnz L00417DAA L00417D93: cmp [ebp+00000120h],ecx jnz L00417DAA cmp [ebp+00000124h],edx jl L00417DAA dec edx mov [ebp+00000124h],edx L00417DAA: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000078h retn 000Ch ;------------------------------------------------------------------------------ L00417DB6: mov eax,[esp+18h] cmp word ptr [eax+esi],0000h jnz L00417DC7 mov word ptr [eax+esi],0001h L00417DC7: mov eax,[ebp+000000A4h] lea ecx,[ebx+eax] xor eax,eax lea edi,[ecx+edx-00000646h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[esp+38h] mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+38h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+000000A4h] and ecx,00000003h rep movsb mov ecx,[esp+28h] lea edi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax mov [esp+28h],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,[esp+38h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edx,[ebp+000000A4h] mov esi,[esp+14h] mov ecx,[esp+00000094h] add ebx,edx xor edi,edi mov byte ptr [ebx+esi-00000646h],00h mov dword ptr [ecx],00000001h mov eax,[ebp+0000011Ch] cmp eax,edi jz L00417E96 mov dx,[esp+0000008Ch] cmp dx,[ebp+000000B4h] jz L00417EA8 cmp eax,edi jnz L00417F0F L00417E96: mov edx,[esp+1Ch] xor ecx,ecx mov cx,[ebp+000000B4h] inc ecx cmp edx,ecx jnz L00417F0F L00417EA8: mov edx,[esp+20h] mov ecx,[ebp+00000120h] cmp ecx,edx jnz L00417F0F cmp [ebp+00000124h],esi jl L00417F0F cmp eax,edi jz L00417ECA mov [ebp+0000011Ch],edi jmp L00417EF3 L00417ECA: mov eax,[ebp+00h] mov ecx,ebp call [eax+00000178h] push ebp mov dword ptr [ebp+0000011Ch],00000001h call SUB_L00456DC0 mov edx,[ebp+00h] add esp,00000004h mov ecx,ebp call [edx+00000174h] L00417EF3: mov eax,[ebp+00000124h] mov [ebp+00000120h],edi sub eax,esi mov [ebp+00000124h],eax jns L00417F0F mov [ebp+00000124h],edi L00417F0F: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000078h retn 000Ch ;------------------------------------------------------------------------------ L00417F1E: mov eax,[esp+2Ch] mov edi,L007049FC mov cx,[eax] inc ecx mov [eax],cx mov ecx,[ebp+000000A4h] 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 [esp+2Ch],esi mov eax,ecx mov esi,edi mov edi,[esp+2Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L00417F70: mov ecx,[ebp+000000A4h] lea eax,[ebx+ecx] or ecx,FFFFFFFFh mov [esp+10h],eax lea edi,[eax+edx-00000646h] xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+38h] mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+38h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[esp+10h] lea edi,[ecx-000005F6h] or ecx,FFFFFFFFh mov [esp+2Ch],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,[esp+38h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+2Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[ebp+000000A4h] mov ecx,[esp+14h] add ebx,esi mov byte ptr [ebx+ecx-00000646h],00h mov eax,[ebp+0000011Ch] test eax,eax jz L00418030 mov dx,[esp+0000008Ch] cmp dx,[ebp+000000B4h] jz L00418042 test eax,eax jnz L00418075 L00418030: mov edx,[esp+1Ch] xor eax,eax mov ax,[ebp+000000B4h] inc eax cmp edx,eax jnz L00418075 L00418042: mov edx,[ebp+00000120h] mov eax,[esp+20h] cmp edx,eax jnz L00418075 mov eax,[ebp+00000124h] cmp eax,ecx jl L00418075 sub eax,ecx mov [ebp+00000124h],eax jns L0041806E mov dword ptr [ebp+00000124h],00000000h L0041806E: inc edx mov [ebp+00000120h],edx L00418075: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000078h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00418090: sub esp,00000028h push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+20h] mov ecx,[esi+24h] mov edx,[esi+3Ch] mov [esp+28h],ebx mov [esp+30h],eax mov [esp+2Ch],ebx mov [esp+34h],ecx mov eax,[edx+04h] xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+54h] push ebx neg eax push ebx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch cmp [esi+000000B4h],bx jbe L00418117 mov ecx,[esi+3Ch] mov ebp,[esi+54h] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx mov edx,00000001h push eax push ebx sub edx,ebp push ebx push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L00418117: xor eax,eax xor ecx,ecx mov ax,[esi+000000B4h] mov cx,[esi+000000B6h] inc eax cmp eax,ecx jge L0041817F lea edx,[esp+14h] mov ecx,00000002h push edx mov edx,[esi+54h] lea eax,[esp+1Ch] sub ecx,edx push eax push ecx call SUB_L004434A0 mov edx,[esi+3Ch] xor eax,eax mov edi,[esi+54h] mov ecx,[edx+04h] xor edx,edx mov dx,[ecx+02h] mov ax,[ecx] push edx add ecx,00000004h push eax push ecx mov ecx,[esp+30h] push ebx sub eax,ecx push eax mov eax,00000002h sub eax,edi push eax push SUB_L004B9B80 call SUB_L00443500 add esp,00000028h L0041817F: lea ecx,[esp+10h] lea edx,[esp+14h] push ecx lea eax,[esp+1Ch] push edx push eax push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[esi+0000009Ch] add esp,00000014h cmp eax,ebx jnz L0041822E cmp [esi+000000B4h],bx jnz L0041822E mov edx,[esi+3Ch] mov ecx,[esi+20h] push L004E80D8 push ecx mov eax,[edx+04h] mov ecx,[esp+18h] mov edx,[L004E80DC] add eax,00000004h push eax mov eax,[L004E80D8] push SSZ004FF07C_TITLE push 00000386h add edx,ecx push 00000004h add eax,00000028h push edx push eax call SUB_L004410C0 mov edx,[esi+3Ch] mov ecx,[esi+20h] push L004E80D8 push ecx mov eax,[edx+04h] mov ecx,[esp+38h] mov edx,[L004E80DC] add eax,00000004h push eax push L004FF078 lea eax,[edx+ecx+64h] mov ecx,[L004E80D8] push 00000386h push 00000004h add ecx,00000032h push eax push ecx call SUB_L004410C0 add esp,00000040h L0041822E: mov eax,[esi+0000009Ch] cmp eax,ebx jz L0041837F mov edi,[L004E80DC] mov ecx,[esp+14h] xor ebp,ebp cmp [eax],bx jbe L0041831A L00418251: lea edx,[edi+ecx] cmp edx,[L004E80E4] jg L0041831A mov ecx,[esi+20h] mov edx,[esi+3Ch] push L004E80D8 push ecx mov ecx,[edx+04h] lea edx,[ebx+eax+02h] mov eax,[esp+18h] add ecx,00000004h push ecx push edx mov edx,[L004E80D8] push 00000012h lea ecx,[edi+eax] push 00000004h push ecx push edx call SUB_L004410C0 mov eax,[L00B294BC] add esp,00000020h cmp eax,esi jnz L004182FD mov eax,[esi+0000011Ch] test eax,eax jz L004182FD cmp [esi+00000120h],ebp jnz L004182FD mov eax,[esi+0000009Ch] mov edx,[esi+00000124h] lea ecx,[ebx+eax+02h] push ecx push edx push 00000004h call SUB_L00442A80 mov edx,[esi+20h] lea ecx,[esp+34h] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] mov ecx,[esp+24h] add edx,00000004h push edx lea edx,[edi+ecx+04h] mov ecx,[L004E80D8] push L004FED04 push 00000008h push 00000004h add ecx,eax push edx push ecx call SUB_L004410C0 add esp,0000002Ch L004182FD: mov ecx,[esp+14h] mov eax,[esi+0000009Ch] xor edx,edx add edi,ecx mov dx,[eax] inc ebp add ebx,00000050h cmp ebp,edx jl L00418251 L0041831A: cmp [L00B294BC],esi jnz L00418383 mov eax,[esi+0000011Ch] test eax,eax jz L00418383 mov edx,[esi+0000009Ch] mov eax,[esi+00000120h] xor edi,edi mov di,[edx] cmp eax,edi jnz L00418383 lea edx,[esp+28h] imul eax,ecx push edx mov edx,[esi+20h] mov ebx,[L004E80DC] mov ecx,[esp+14h] push edx mov edx,[esi+3Ch] add eax,ebx mov edx,[edx+04h] add edx,00000004h push edx push L004FED04 push 00000008h lea edx,[eax+ecx+04h] mov eax,[L004E80D8] push 00000004h push edx push eax call SUB_L004410C0 add esp,00000020h L0041837F: mov ecx,[esp+14h] L00418383: mov eax,[esi+000000A0h] test eax,eax jz L004184D2 mov edi,[L004E80EC] xor ebp,ebp cmp [eax],bp jbe L0041846D xor ebx,ebx L004183A4: lea edx,[edi+ecx] cmp edx,[L004E80F4] jg L0041846D mov ecx,[esi+20h] mov edx,[esi+3Ch] push L004E80E8 push ecx mov ecx,[edx+04h] lea edx,[ebx+eax+02h] mov eax,[esp+18h] add ecx,00000004h push ecx push edx mov edx,[L004E80E8] push 00000012h lea ecx,[edi+eax] push 00000004h push ecx push edx call SUB_L004410C0 mov eax,[L00B294BC] add esp,00000020h cmp eax,esi jnz L00418450 mov eax,[esi+0000011Ch] test eax,eax jnz L00418450 cmp [esi+00000120h],ebp jnz L00418450 mov eax,[esi+000000A0h] mov edx,[esi+00000124h] lea ecx,[eax+ebx+02h] push ecx push edx push 00000004h call SUB_L00442A80 mov edx,[esi+20h] lea ecx,[esp+34h] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] mov ecx,[esp+24h] add edx,00000004h push edx lea edx,[edi+ecx+04h] mov ecx,[L004E80E8] push L004FED04 push 00000008h push 00000004h add ecx,eax push edx push ecx call SUB_L004410C0 add esp,0000002Ch L00418450: mov ecx,[esp+14h] mov eax,[esi+000000A0h] xor edx,edx add edi,ecx mov dx,[eax] inc ebp add ebx,00000050h cmp ebp,edx jl L004183A4 L0041846D: cmp [L00B294BC],esi jnz L004184D2 mov eax,[esi+0000011Ch] test eax,eax jnz L004184D2 mov edx,[esi+000000A0h] mov eax,[esi+00000120h] xor edi,edi mov di,[edx] cmp eax,edi jnz L004184D2 lea edx,[esp+28h] imul eax,ecx push edx mov edx,[esi+20h] mov ebx,[L004E80EC] mov ecx,[esp+14h] push edx mov edx,[esi+3Ch] add eax,ebx mov edx,[edx+04h] add edx,00000004h push edx push L004FED04 push 00000008h lea edx,[eax+ecx+04h] mov eax,[L004E80E8] push 00000004h push edx push eax call SUB_L004410C0 add esp,00000020h L004184D2: mov ax,[esi+000000B4h] test ax,ax jbe L00418574 cmp ax,[esi+000000B6h] ja L00418574 and eax,0000FFFFh lea ecx,[esp+1Ch] push eax push L004FF074 push ecx call SUB_L004D512F lea edx,[esp+1Ch] lea eax,[esp+20h] push edx lea ecx,[esp+28h] push eax lea edx,[esp+30h] push ecx push edx push 00000009h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+48h] push eax mov eax,[edx+04h] mov edx,[esp+34h] add eax,00000004h push ecx push eax mov eax,[L004E80E4] lea ecx,[esp+48h] push ecx push 00000386h lea ecx,[eax+edx-08h] mov edx,[L004E80D8] mov eax,[L004E80E0] push 00000009h add eax,edx push ecx cdq sub eax,edx mov ecx,eax mov eax,[esp+54h] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax push ecx call SUB_L004410C0 add esp,00000040h L00418574: xor eax,eax xor edx,edx mov ax,[esi+000000B4h] mov dx,[esi+000000B6h] inc eax cmp eax,edx jg L00418612 push eax lea eax,[esp+20h] push L004FF074 push eax call SUB_L004D512F lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx lea eax,[esp+28h] push edx lea ecx,[esp+30h] push eax push ecx push 00000009h call SUB_L00441BC0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+48h] push edx mov edx,[ecx+04h] mov ecx,[esp+34h] add edx,00000004h push eax push edx mov edx,[L004E80F4] lea eax,[esp+48h] push eax push 00000386h lea eax,[edx+ecx-08h] mov ecx,[L004E80E8] mov edx,[L004E80F0] push 00000009h push eax lea eax,[edx+ecx] cdq sub eax,edx mov ecx,eax mov eax,[esp+54h] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax push ecx call SUB_L004410C0 add esp,00000040h L00418612: pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 8 L00418620: sub esp,00000010h mov eax,[L00B294BC] push ebx push ebp push esi mov esi,ecx push edi cmp eax,esi mov dword ptr [esp+14h],00000000h mov ebp,00000001h jnz L00418643 mov [esp+14h],ebp L00418643: cmp eax,[esi+00000114h] jz L00418653 cmp eax,[esi+00000118h] jnz L00418658 L00418653: call SUB_L00456C40 L00418658: push 00000000h mov ecx,esi call SUB_L004584E0 mov eax,[esi+0000012Ch] mov [esi+00000128h],ebp cmp eax,ebp jnz L0041867D mov dword ptr [esi+0000012Ch],00000002h jmp L0041868F L0041867D: mov [esi+0000012Ch],ebp call [KERNEL32.dll!GetTickCount] mov [esi+00000130h],eax L0041868F: mov eax,[esi+000000A8h] mov ebx,[esp+24h] mov edi,[esp+28h] mov [esi+70h],ebx test eax,eax mov [esi+74h],edi jz L0041889E mov eax,[esi+000000B0h] test eax,eax jz L0041889E cmp ebx,[L004E80D8] jl L00418795 cmp ebx,[L004E80E0] jg L00418795 cmp edi,[L004E80DC] jl L00418795 cmp edi,[L004E80E4] jg L00418795 mov eax,[esi+0000009Ch] test eax,eax jz L00418795 push esi call SUB_L00456DC0 lea eax,[esp+1Ch] lea ecx,[esp+14h] push eax lea edx,[esp+24h] push ecx push edx push L004FEBE4 push 00000004h mov [esi+0000011Ch],ebp call SUB_L00441BC0 mov ebp,[L004E80DC] mov eax,edi sub eax,ebp mov ebp,[esp+28h] cdq idiv ebp mov edx,[esi+0000009Ch] xor ecx,ecx add esp,00000018h mov [esi+00000120h],eax mov cx,[edx] cmp eax,ecx jle L0041874D mov [esi+00000120h],ecx L0041874D: cmp word ptr [edx],0001h jnz L00418768 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L00418768 mov [esi+00000120h],eax L00418768: mov eax,[esi+00000120h] mov edi,[L004E80E4] lea ecx,[eax+01h] imul ecx,ebp sub edi,[L004E80DC] cmp ecx,edi jle L0041878B dec eax mov [esi+00000120h],eax L0041878B: mov eax,[L004E80D8] jmp L00418870 L00418795: cmp ebx,[L004E80E8] jl L0041889E cmp ebx,[L004E80F0] jg L0041889E cmp edi,[L004E80EC] jl L0041889E cmp edi,[L004E80F4] jg L0041889E mov eax,[esi+000000A0h] test eax,eax jz L0041889E push esi call SUB_L00456DC0 lea eax,[esp+1Ch] lea ecx,[esp+14h] push eax lea edx,[esp+24h] push ecx push edx push L004FEBE4 push 00000004h mov dword ptr [esi+0000011Ch],00000000h call SUB_L00441BC0 mov ebp,[L004E80EC] mov eax,edi sub eax,ebp mov ebp,[esp+28h] cdq idiv ebp mov edx,[esi+000000A0h] xor ecx,ecx add esp,00000018h mov [esi+00000120h],eax mov cx,[edx] cmp eax,ecx jle L0041882D mov [esi+00000120h],ecx L0041882D: cmp word ptr [edx],0001h jnz L00418848 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L00418848 mov [esi+00000120h],eax L00418848: mov eax,[esi+00000120h] mov edi,[L004E80E4] lea ecx,[eax+01h] imul ecx,ebp sub edi,[L004E80DC] cmp ecx,edi jle L0041886B dec eax mov [esi+00000120h],eax L0041886B: mov eax,[L004E80E8] L00418870: sub ebx,eax mov eax,[esi+00000120h] push ebx lea eax,[eax+eax*4] shl eax,04h lea ecx,[eax+edx+02h] push ecx push 00000004h call SUB_L00442E50 mov edx,[esi] add esp,0000000Ch mov ecx,esi mov [esi+00000124h],eax call [edx+00000174h] L0041889E: mov eax,[esp+14h] test eax,eax jz L004188C2 mov eax,[L00B294BC] test eax,eax jnz L004188C2 push esi call SUB_L00456DC0 mov eax,[esi] add esp,00000004h mov ecx,esi call [eax+00000174h] L004188C2: pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 8 L004188D0: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000134h] mov [esi+00000128h],edi cmp eax,edi jz L00418906 push edi mov [esi+00000134h],edi mov [esi+0000012Ch],edi mov [esi+00000138h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00418906: mov eax,[esi+0000012Ch] cmp eax,00000002h jnz L0041893F mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi] push ecx push edx mov ecx,esi mov [esi+0000012Ch],edi call [eax+00000184h] push edi mov [esi+00000138h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0041893F: cmp [esi+00000138h],edi jnz L0041895F cmp eax,edi jnz L0041895F mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000180h] L0041895F: push edi mov [esi+00000138h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00418980: mov eax,[ecx+00000128h] test eax,eax jz L004189A7 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L004189A7: retn 0008h ;------------------------------------------------------------------------------ Align 8 L004189B0: sub esp,00000010h lea eax,[esp+04h] mov edx,00000001h push esi mov esi,ecx push edi lea ecx,[esp+08h] mov edi,[esi+54h] push eax sub edx,edi push ecx push edx call SUB_L004434A0 lea eax,[esp+20h] mov edx,00000002h push eax mov eax,[esi+54h] lea ecx,[esp+20h] sub edx,eax push ecx push edx call SUB_L004434A0 mov eax,[esp+34h] mov ecx,[esp+20h] add esp,00000018h cmp eax,ecx mov ecx,[esp+20h] jge L00418A16 cmp ecx,[esp+0Ch] jge L00418A16 mov eax,[esi] mov ecx,esi call [eax+0000017Ch] pop edi pop esi add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ L00418A16: mov edx,[esi+3Ch] xor edi,edi mov edx,[edx+04h] mov di,[edx] mov edx,[esp+10h] sub edi,edx cmp eax,edi jl L00418A3B cmp ecx,[esp+14h] jge L00418A3B mov eax,[esi] mov ecx,esi call [eax+00000178h] L00418A3B: pop edi pop esi add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 L00418A50: sub esp,00000660h lea eax,[esp+0Ch] mov edx,00000001h push ebx push ebp push esi mov esi,ecx lea ecx,[esp+10h] push eax mov ebp,[esi+54h] push ecx sub edx,ebp push edx call SUB_L004434A0 mov ebp,[esi+54h] lea eax,[esp+20h] mov edx,00000002h lea ecx,[esp+18h] push eax sub edx,ebp push ecx push edx call SUB_L004434A0 mov eax,[esp+00000688h] mov ecx,[esp+28h] add esp,00000018h xor ebx,ebx cmp eax,ecx mov ecx,[esp+00000674h] jge L00418B9F cmp ecx,[esp+18h] jge L00418B9F cmp [esi+000000B4h],bx jbe L00418B9F mov ecx,esi call SUB_L00417720 mov eax,[esi+00000114h] mov [esi+000000B4h],bx mov dword ptr [eax+6Ch],00000001h mov ecx,[esi+00000118h] mov dword ptr [ecx+6Ch],00000001h mov eax,[esi+000000A8h] cmp eax,ebx jnz L00418B7D mov ax,[esi+000000B4h] xor ecx,ecx mov cx,[esi+000000B6h] mov edx,eax and edx,0000FFFFh inc edx cmp edx,ecx jg L00418B3E mov edx,[esi+38h] inc eax push eax lea ecx,[esp+20h] mov eax,[edx+7Ch] push eax push ecx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+1Ch] push edx call SUB_L004BC750 L00418B3E: xor eax,eax xor ecx,ecx mov ax,[esi+000000B4h] mov cx,[esi+000000B6h] inc eax mov [esi+0000009Ch],ebx cmp eax,ecx jg L00418B72 mov edx,[esi+000000A4h] add edx,00000648h mov [esi+000000A0h],edx jmp L00418CE8 L00418B72: mov [esi+000000A0h],ebx jmp L00418CE8 L00418B7D: xor eax,eax xor ecx,ecx mov ax,[esi+000000B4h] mov cx,[esi+000000B6h] mov [esi+0000009Ch],ebx lea edx,[eax+01h] cmp edx,ecx jmp L00418D43 L00418B9F: mov edx,[esi+3Ch] xor ebp,ebp mov edx,[edx+04h] mov bp,[edx] mov edx,[esp+0Ch] sub ebp,edx cmp eax,ebp jl L00418D7E cmp ecx,[esp+14h] jge L00418D7E mov ecx,esi call SUB_L00417720 mov ax,[esi+000000B6h] mov ecx,eax mov [esi+000000B4h],ax and ecx,0000FFFFh and ecx,80000001h jns L00418BEC dec ecx or ecx,FFFFFFFEh inc ecx L00418BEC: cmp ecx,00000001h jnz L00418BF9 dec eax mov [esi+000000B4h],ax L00418BF9: cmp [esi+000000B4h],bx jbe L00418C14 mov edx,[esi+00000114h] mov [edx+6Ch],ebx mov eax,[esi+00000118h] mov [eax+6Ch],ebx L00418C14: cmp [esi+000000A8h],ebx jnz L00418CF7 mov edx,[esi+38h] mov cx,[esi+000000B4h] push ecx lea ecx,[esp+20h] mov eax,[edx+7Ch] push eax push ecx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+1Ch] push edx call SUB_L004BC750 mov ax,[esi+000000B4h] xor edx,edx mov dx,[esi+000000B6h] mov ecx,eax and ecx,0000FFFFh inc ecx cmp ecx,edx jg L00418C8F inc eax lea edx,[esp+1Ch] push eax mov eax,[esi+38h] mov ecx,[eax+7Ch] push ecx push edx call SUB_L0049AE40 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+1Ch] push eax call SUB_L004BC750 L00418C8F: mov ax,[esi+000000B4h] cmp ax,bx jnz L00418CA3 mov [esi+0000009Ch],ebx jmp L00418CAF L00418CA3: mov ecx,[esi+000000A4h] mov [esi+0000009Ch],ecx L00418CAF: and eax,0000FFFFh xor edx,edx mov dx,[esi+000000B6h] inc eax cmp eax,edx jg L00418CD5 mov eax,[esi+000000A4h] add eax,00000648h mov [esi+000000A0h],eax jmp L00418CDB L00418CD5: mov [esi+000000A0h],ebx L00418CDB: mov eax,[esi+0000009Ch] cmp eax,ebx jz L00418CE8 mov [eax],bx L00418CE8: mov esi,[esi+000000A0h] cmp esi,ebx jz L00418D6F mov [esi],bx jmp L00418D6F L00418CF7: mov dx,[esi+000000B4h] cmp dx,bx jbe L00418D28 mov eax,edx and eax,0000FFFFh lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] mov ecx,[esi+000000A4h] lea eax,[ecx+eax*8-00000648h] mov [esi+0000009Ch],eax jmp L00418D2E L00418D28: mov [esi+0000009Ch],ebx L00418D2E: mov eax,edx xor edx,edx mov dx,[esi+000000B6h] and eax,0000FFFFh lea ecx,[eax+01h] cmp ecx,edx L00418D43: jg L00418D5F lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[esi+000000A4h] lea ecx,[eax+edx*8] mov [esi+000000A0h],ecx jmp L00418D65 L00418D5F: mov [esi+000000A0h],ebx L00418D65: mov edx,[esi] mov ecx,esi call [edx+00000174h] L00418D6F: push ebx push ebx push ebx push ebx push ebx push 00000055h call SUB_L004CD800 add esp,00000018h L00418D7E: pop esi pop ebp pop ebx add esp,00000660h retn 0008h ;------------------------------------------------------------------------------ Align 8 L00418D90: sub esp,0000006Ch push ebx mov ebx,[esp+74h] push ebp push esi cmp ebx,0000E02Eh push edi mov ebp,ecx jnz L00418DC4 mov eax,[ebp+00h] push 0000E027h call [eax+44h] mov edx,[ebp+00h] push 00000008h mov ecx,ebp call [edx+44h] pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L00418DC4: cmp ebx,0000E021h jnz L00418E75 mov eax,[ebp+00000120h] xor esi,esi cmp eax,esi jle L00418DE4 mov [ebp+00000120h],esi jmp L00418E2E L00418DE4: mov eax,[ebp+0000011Ch] cmp eax,esi jnz L00418DFB cmp [ebp+000000B4h],si ja L00418E04 cmp eax,esi jz L00418E2E L00418DFB: cmp [ebp+000000B4h],si jbe L00418E2E L00418E04: cmp eax,esi jz L00418E24 mov eax,[ebp+00h] mov ecx,ebp mov [ebp+0000011Ch],esi call [eax+0000017Ch] push ebp call SUB_L00456DC0 add esp,00000004h jmp L00418E2E L00418E24: mov dword ptr [ebp+0000011Ch],00000001h L00418E2E: cmp [ebp+0000011Ch],esi jz L00418E41 xor eax,eax mov ax,[ebp+000000B4h] jmp L00418E4B L00418E41: xor eax,eax mov ax,[ebp+000000B4h] inc eax L00418E4B: mov ecx,[ebp+00000120h] lea edx,[ecx+ecx*4] lea ecx,[eax+eax*4] shl edx,04h lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] lea ecx,[edx+eax*8] mov edx,[ebp+000000A4h] lea edi,[ecx+edx-00000646h] jmp L00419212 L00418E75: cmp ebx,0000E022h jnz L00418FB8 mov edi,[ebp+0000011Ch] mov si,[ebp+000000B4h] test edi,edi mov ecx,esi jz L00418E9E and ecx,0000FFFFh mov eax,ecx jmp L00418EA7 L00418E9E: and ecx,0000FFFFh lea eax,[ecx+01h] L00418EA7: mov ebx,[ebp+000000A4h] lea edx,[eax+eax*4] lea edx,[edx+edx*4] lea edx,[eax+edx*8] xor eax,eax mov ax,[ebx+edx*8-00000648h] mov edx,[ebp+00000120h] dec eax cmp edx,eax jge L00418ED3 mov [ebp+00000120h],eax jmp L00418F20 L00418ED3: test edi,edi jz L00418EE4 cmp si,[ebp+000000B6h] jc L00418EF2 test edi,edi jnz L00418F20 L00418EE4: xor eax,eax inc ecx mov ax,[ebp+000000B6h] cmp ecx,eax jge L00418F20 L00418EF2: test edi,edi jnz L00418F16 mov edx,[ebp+00h] mov ecx,ebp mov dword ptr [ebp+0000011Ch],00000001h call [edx+00000178h] push ebp call SUB_L00456DC0 add esp,00000004h jmp L00418F20 L00418F16: mov dword ptr [ebp+0000011Ch],00000000h L00418F20: mov eax,[ebp+0000011Ch] test eax,eax jz L00418F35 xor eax,eax mov ax,[ebp+000000B4h] jmp L00418F3F L00418F35: xor eax,eax mov ax,[ebp+000000B4h] inc eax L00418F3F: lea ecx,[eax+eax*4] mov esi,[ebp+000000A4h] mov edi,[ebp+00000120h] xor edx,edx lea ecx,[ecx+ecx*4] lea eax,[eax+ecx*8] xor ecx,ecx shl eax,03h mov cx,[esi+eax-00000648h] dec ecx test ecx,ecx setl dl dec edx and edx,ecx cmp edi,edx jle L00418F80 xor edx,edx test ecx,ecx setl dl dec edx and ecx,edx mov [ebp+00000120h],ecx L00418F80: mov ecx,[ebp+00000120h] lea ecx,[ecx+ecx*4] shl ecx,04h add ecx,esi lea edi,[ecx+eax-00000646h] L00418F95: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jle L0041A273 mov [ebp+00000124h],ecx jmp L0041A273 L00418FB8: cmp ebx,0000E024h jnz L00418FED mov eax,[ebp+00000124h] test eax,eax jle L0041A27E mov eax,[ebp+00h] mov ecx,ebp mov dword ptr [ebp+00000124h],00000000h call [eax+00000174h] pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L00418FED: cmp ebx,0000E023h jnz L0041905C mov eax,[ebp+0000011Ch] test eax,eax mov eax,[ebp+00000120h] lea ecx,[eax+eax*4] jz L00419032 mov edx,[ebp+0000009Ch] xor eax,eax shl ecx,04h lea edi,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jge L0041A27E jmp L0041924C L00419032: mov edx,[ebp+000000A0h] xor eax,eax shl ecx,04h lea edi,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jge L0041A27E jmp L0041924C L0041905C: cmp ebx,0000E025h jz L0041A0C8 cmp ebx,0000E027h jz L0041A147 cmp ebx,0000E026h jnz L0041917D mov eax,[ebp+00000120h] test eax,eax jle L004190E6 mov esi,[ebp+0000011Ch] xor ecx,ecx lea edx,[eax-01h] test esi,esi mov [ebp+00000120h],edx jz L004190D1 mov eax,[ebp+0000009Ch] lea ecx,[edx+edx*4] shl ecx,04h lea edi,[ecx+eax+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test esi,esi jz L004190D1 cmp [ebp+00000124h],ecx jg L0041924C test esi,esi jnz L00419252 L004190D1: lea ecx,[edx+edx*4] mov edx,[ebp+000000A0h] shl ecx,04h lea edi,[ecx+edx+02h] jmp L00419212 L004190E6: mov eax,[ebp+0000011Ch] test eax,eax jnz L0041A27E mov eax,[ebp+0000009Ch] test eax,eax jz L0041A27E xor ecx,ecx mov dword ptr [ebp+0000011Ch],00000001h mov cx,[eax] lea edx,[esp+1Ch] mov [ebp+00000120h],ecx lea eax,[esp+00000080h] push edx lea ecx,[esp+24h] push eax push ecx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov ecx,[L004E80E4] mov edi,[L004E80DC] add esp,00000014h lea edx,[eax+01h] sub ecx,edi imul edx,[esp+00000080h] cmp edx,ecx jle L00419162 dec eax mov [ebp+00000120h],eax L00419162: mov eax,[ebp+00000120h] lea edx,[eax+eax*4] mov eax,[ebp+0000009Ch] shl edx,04h lea edi,[edx+eax+02h] jmp L00418F95 L0041917D: cmp ebx,0000E028h jnz L00419327 mov eax,[ebp+0000011Ch] xor esi,esi cmp eax,esi jz L0041929D mov edx,[ebp+0000009Ch] mov ecx,[ebp+00000120h] xor edi,edi mov di,[edx] cmp ecx,edi jge L00419267 inc ecx lea eax,[esp+1Ch] mov [ebp+00000120h],ecx lea ecx,[esp+00000080h] push eax lea edx,[esp+24h] push ecx push edx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov edx,[L004E80E4] mov ebx,[L004E80DC] add esp,00000014h lea ecx,[eax+01h] sub edx,ebx imul ecx,[esp+00000080h] cmp ecx,edx jle L00419228 mov edi,[ebp+000000A0h] mov [ebp+0000011Ch],esi mov [ebp+00000120h],esi add edi,00000002h L00419212: or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jle L00419252 jmp L0041924C L00419228: mov edx,[ebp+0000009Ch] lea ecx,[eax+eax*4] shl ecx,04h xor eax,eax lea edi,[ecx+edx+02h] or ecx,FFFFFFFFh repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jle L00419252 L0041924C: mov [ebp+00000124h],ecx L00419252: mov eax,[ebp+00h] mov ecx,ebp call [eax+00000174h] pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L00419267: cmp eax,esi jz L0041929D mov cx,[ebp+000000B4h] cmp cx,[ebp+000000B6h] jnc L00419295 mov edi,[ebp+000000A0h] mov [ebp+0000011Ch],esi mov [ebp+00000120h],esi add edi,00000002h jmp L00418F95 L00419295: cmp eax,esi jnz L0041A27E L0041929D: mov ecx,[ebp+000000A0h] mov eax,[ebp+00000120h] xor edx,edx mov dx,[ecx] cmp eax,edx jge L0041A27E inc eax lea ecx,[esp+00000080h] mov [ebp+00000120h],eax lea eax,[esp+1Ch] push eax lea edx,[esp+24h] push ecx push edx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov edx,[L004E80E4] mov edi,[L004E80DC] add esp,00000014h lea ecx,[eax+01h] sub edx,edi imul ecx,[esp+00000080h] cmp ecx,edx jle L00419312 dec eax pop edi mov [ebp+00000120h],eax pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ L00419312: mov ecx,[ebp+000000A0h] lea eax,[eax+eax*4] shl eax,04h lea edi,[eax+ecx+02h] jmp L00418F95 L00419327: cmp ebx,00000008h jnz L00419AA2 mov ebx,[ebp+00000124h] test ebx,ebx jle L004193FB mov eax,[ebp+0000011Ch] test eax,eax mov eax,[ebp+00000120h] jz L00419360 mov ecx,[ebp+0000009Ch] lea eax,[eax+eax*4] shl eax,04h lea edx,[eax+ecx+02h] jmp L00419370 L00419360: lea edx,[eax+eax*4] mov eax,[ebp+000000A0h] shl edx,04h lea edx,[edx+eax+02h] L00419370: mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov esi,ecx cmp ebx,esi jge L00419398 lea eax,[ebx-01h] lea edi,[esi-01h] cmp eax,edi jge L00419398 L0041938C: mov cl,[eax+edx+01h] mov [eax+edx],cl inc eax cmp eax,edi jl L0041938C L00419398: mov byte ptr [esi+edx-01h],00h mov eax,[ebp+00000124h] dec eax mov [ebp+00000124h],eax mov eax,[ebp+0000011Ch] test eax,eax jz L0041972F mov edx,[ebp+0000009Ch] cmp word ptr [edx],0001h jnz L004193D6 lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L004193D6 mov [edx],ax L004193D6: xor eax,eax mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] mov ecx,[ebp+000000A4h] lea eax,[eax+edx*8] mov dword ptr [ecx+eax*8-04h],00000001h jmp L0041A273 L004193FB: mov esi,[ebp+00000120h] test esi,esi jle L00419775 mov eax,[ebp+0000011Ch] test eax,eax jz L004195C3 mov ecx,[ebp+0000009Ch] lea eax,[esi+esi*4] shl eax,04h lea edx,[eax+ecx] or ecx,FFFFFFFFh xor eax,eax lea ebx,[edx-4Eh] mov edi,ebx repne scasb not ecx dec ecx lea edi,[edx+02h] mov [esp+14h],ecx 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 mov eax,[L004E80E0] mov ecx,[L004E80D8] sub eax,ecx mov edx,[ebp+0000009Ch] push eax mov eax,[ebp+00000120h] lea ecx,[eax+eax*4] shl ecx,04h lea eax,[ecx+edx-4Eh] push eax push 00000004h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jnz L004194BB mov eax,[ebp+00000120h] mov edx,[ebp+0000009Ch] 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 L004194D9 L004194BB: mov eax,[ebp+00000120h] mov ecx,[ebp+0000009Ch] inc edx lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+ecx] cmp byte ptr [esi+edx-4Eh],20h jnz L004194D9 inc edx L004194D9: lea edi,[esi-4Eh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L00419527 lea edi,[esi+edx-4Eh] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[esi+02h] mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebp+00000120h] lea ecx,[eax+eax*4] shl ecx,04h add ecx,edx mov edx,[ebp+0000009Ch] mov byte ptr [ecx+edx-4Eh],00h jmp L00419569 L00419527: mov ax,[ebp+00000120h] mov cx,[ebp+000000B4h] push eax push ecx mov ecx,ebp call SUB_L004179F0 test eax,eax jz L00419569 xor esi,esi push 00000000h mov si,[ebp+000000B4h] mov ecx,ebp inc esi push esi call SUB_L004179F0 test eax,eax jz L00419569 L0041955A: inc esi push 00000000h push esi mov ecx,ebp call SUB_L004179F0 test eax,eax jnz L0041955A L00419569: mov edx,[esp+14h] mov ecx,[ebp+00000120h] mov [ebp+00000124h],edx mov edx,[ebp+0000009Ch] dec ecx mov [ebp+00000120h],ecx cmp word ptr [edx],0001h jnz L0041959E lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0041959E mov [edx],ax L0041959E: xor eax,eax mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebp+000000A4h] mov dword ptr [eax+edx*8-04h],00000001h jmp L0041A273 L004195C3: mov edx,[ebp+000000A0h] lea ecx,[esi+esi*4] shl ecx,04h add edx,ecx or ecx,FFFFFFFFh xor eax,eax lea ebx,[edx-4Eh] mov edi,ebx repne scasb not ecx dec ecx lea edi,[edx+02h] mov [esp+14h],ecx 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 mov eax,[L004E80E0] mov ecx,[L004E80D8] sub eax,ecx mov edx,[ebp+000000A0h] push eax mov eax,[ebp+00000120h] lea ecx,[eax+eax*4] shl ecx,04h lea eax,[ecx+edx-4Eh] push eax push 00000004h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jnz L00419666 mov eax,[ebp+00000120h] mov edx,[ebp+000000A0h] 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 L00419684 L00419666: mov eax,[ebp+00000120h] mov ecx,[ebp+000000A0h] inc edx lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+ecx] cmp byte ptr [esi+edx-4Eh],20h jnz L00419684 inc edx L00419684: lea edi,[esi-4Eh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L004196D2 lea edi,[esi+edx-4Eh] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[esi+02h] mov eax,ecx mov esi,edi mov edi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[ebp+00000120h] lea ecx,[eax+eax*4] mov eax,[ebp+000000A0h] shl ecx,04h add ecx,eax mov byte ptr [ecx+edx-4Eh],00h jmp L00419718 L004196D2: mov ax,[ebp+000000B4h] mov dx,[ebp+00000120h] inc ax push edx push eax mov ecx,ebp call SUB_L004179F0 test eax,eax jz L00419718 xor esi,esi push 00000000h mov si,[ebp+000000B4h] mov ecx,ebp add esi,00000002h push esi call SUB_L004179F0 test eax,eax jz L00419718 L00419709: inc esi push 00000000h push esi mov ecx,ebp call SUB_L004179F0 test eax,eax jnz L00419709 L00419718: mov ecx,[ebp+00000120h] dec ecx mov [ebp+00000120h],ecx mov ecx,[esp+14h] mov [ebp+00000124h],ecx L0041972F: mov edx,[ebp+000000A0h] cmp word ptr [edx],0001h jnz L0041974D lea edi,[edx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0041974D mov [edx],ax L0041974D: xor eax,eax mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea edx,[ecx+ecx*4] mov ecx,[ebp+000000A4h] lea eax,[eax+edx*8] mov dword ptr [ecx+eax*8+00000644h],00000001h jmp L0041A273 L00419775: mov dx,[ebp+000000B4h] test dx,dx jbe L0041A27E mov eax,[ebp+0000011Ch] test eax,eax jz L00419797 and edx,0000FFFFh jmp L0041979E L00419797: and edx,0000FFFFh inc edx L0041979E: lea eax,[edx+edx*4-0Ah] mov ebx,[ebp+000000A4h] mov [esp+28h],edx lea eax,[eax+eax*4] lea eax,[edx+eax*8-02h] shl eax,03h mov [esp+10h],eax mov cx,[ebx+eax] test cx,cx jnz L004197CD mov dword ptr [esp+14h],00000000h jmp L00419806 L004197CD: mov ecx,[esp+10h] mov edi,ebx mov ax,[ebx+ecx] and eax,0000FFFFh lea ecx,[eax+eax*4] lea eax,[edx+edx*4] shl ecx,04h lea eax,[eax+eax*4] add edi,ecx or ecx,FFFFFFFFh lea eax,[edx+eax*8] lea edi,[edi+eax*8-00000CDEh] xor eax,eax repne scasb mov eax,[esp+10h] not ecx dec ecx mov [esp+14h],ecx L00419806: cmp word ptr [ebx+eax],0000h jnz L0041983D lea eax,[edx+edx*4] lea ecx,[esi+esi*4] shl ecx,04h lea eax,[eax+eax*4] lea edx,[edx+eax*8] mov eax,ebx add eax,ecx or ecx,FFFFFFFFh lea edi,[eax+edx*8-00000646h] xor eax,eax repne scasb not ecx dec ecx jz L0041983D mov ecx,[esp+10h] mov word ptr [ebx+ecx],0001h L0041983D: mov ebx,[esp+28h] mov ecx,[ebp+000000A4h] lea eax,[ebx+ebx*4] lea edx,[eax+eax*4] mov eax,[ebp+00000120h] lea eax,[eax+eax*4] lea ebx,[ebx+edx*8] mov edx,[esp+10h] shl eax,04h shl ebx,03h add eax,ecx lea edi,[eax+ebx-00000646h] xor eax,eax mov ax,[ecx+edx] lea eax,[eax+eax*4] shl eax,04h add eax,ecx or ecx,FFFFFFFFh lea edx,[eax+ebx-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,[esp+10h] and ecx,00000003h rep movsb mov eax,[L004E80E0] mov edi,[L004E80D8] mov ecx,[ebp+000000A4h] sub eax,edi push eax xor eax,eax mov ax,[ecx+edx] lea eax,[eax+eax*4] shl eax,04h add eax,ecx lea ecx,[eax+ebx-00000CDEh] push ecx push 00000004h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jnz L0041991B mov esi,[ebp+000000A4h] mov edx,[esp+10h] xor eax,eax or ecx,FFFFFFFFh mov ax,[esi+edx] lea eax,[eax+eax*4] shl eax,04h add eax,esi add eax,ebx mov [esp+24h],eax lea edi,[eax-00000CDEh] xor eax,eax repne scasb mov eax,[esp+24h] not ecx dec ecx mov edx,ecx jmp L00419945 L0041991B: mov esi,[ebp+000000A4h] mov ecx,[esp+10h] xor eax,eax inc edx mov ax,[esi+ecx] lea eax,[eax+eax*4] shl eax,04h add eax,esi add eax,ebx mov [esp+24h],eax cmp byte ptr [eax+edx-00000CDEh],20h jnz L00419945 inc edx L00419945: lea edi,[eax-00000CDEh] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp edx,ecx jge L004199C0 mov eax,[ebp+00000120h] mov ecx,[esp+24h] lea eax,[eax+eax*4] lea edi,[ecx+edx-00000CDEh] shl eax,04h add eax,esi or ecx,FFFFFFFFh lea esi,[eax+ebx-00000646h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+28h],esi mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov ecx,[ebp+000000A4h] mov esi,[esp+10h] mov ax,[ecx+esi] lea eax,[eax+eax*4] shl eax,04h add eax,ecx add eax,ebx mov byte ptr [eax+edx-00000CDEh],00h jmp L004199E1 L004199C0: mov esi,[esp+28h] push 00000000h push esi mov ecx,ebp call SUB_L004179F0 test eax,eax jz L004199E1 L004199D2: inc esi push 00000000h push esi mov ecx,ebp call SUB_L004179F0 test eax,eax jnz L004199D2 L004199E1: mov ecx,[ebp+0000011Ch] test ecx,ecx jnz L00419A43 mov ax,[ebp+000000B4h] test ax,ax jbe L00419A3F and eax,0000FFFFh mov dword ptr [ebp+0000011Ch],00000001h lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[ebp+000000A4h] xor eax,eax mov ax,[ecx+edx*8-00000648h] mov ecx,[esp+14h] dec eax xor edx,edx test eax,eax setl dl dec edx mov [ebp+00000124h],ecx and eax,edx mov [ebp+00000120h],eax jmp L0041A273 L00419A3F: test ecx,ecx jz L00419A93 L00419A43: xor eax,eax mov dword ptr [ebp+0000011Ch],00000000h mov ax,[ebp+000000B4h] sub eax,00000002h lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov ecx,[ebp+000000A4h] xor eax,eax mov ax,[ecx+edx*8] xor edx,edx dec eax mov ecx,ebp test eax,eax setl dl dec edx and eax,edx mov [ebp+00000120h],eax mov eax,[ebp+00h] call [eax+0000017Ch] push ebp call SUB_L00456DC0 add esp,00000004h L00419A93: mov ecx,[esp+14h] mov [ebp+00000124h],ecx jmp L0041A273 L00419AA2: cmp ebx,0000000Dh jnz L00419DC4 mov eax,[ebp+0000011Ch] test eax,eax jz L00419BCA mov eax,[ebp+0000009Ch] xor edx,edx inc word ptr [eax] mov eax,[ebp+0000009Ch] mov ecx,[ebp+00000120h] mov dx,[eax] add ecx,00000002h dec edx cmp edx,ecx jl L00419B23 lea ebx,[edx+edx*4] shl ebx,04h L00419AE1: mov eax,[ebp+0000009Ch] or ecx,FFFFFFFFh add eax,ebx sub ebx,00000050h lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [esp+28h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h dec edx rep movsb mov ecx,[ebp+00000120h] add ecx,00000002h cmp edx,ecx jge L00419AE1 L00419B23: mov eax,[ebp+00000120h] mov ecx,[ebp+0000009Ch] mov esi,[ebp+00000124h] 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,[ebp+00000120h] mov esi,[ebp+00000124h] mov edx,[ebp+0000009Ch] lea ecx,[eax+eax*4] shl ecx,04h add ecx,esi xor esi,esi mov byte ptr [ecx+edx+02h],00h mov si,[ebp+000000B4h] push esi mov ecx,ebp call SUB_L00417850 test eax,eax jz L00419BA4 L00419B97: inc esi mov ecx,ebp push esi call SUB_L00417850 test eax,eax jnz L00419B97 L00419BA4: xor eax,eax mov esi,00000001h mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebp+000000A4h] mov [eax+edx*8-04h],esi jmp L00419CDB L00419BCA: mov eax,[ebp+000000A0h] xor edx,edx inc word ptr [eax] mov ecx,[ebp+000000A0h] mov eax,[ebp+00000120h] mov dx,[ecx] add eax,00000002h dec edx cmp edx,eax jl L00419C35 lea ebx,[edx+edx*4] shl ebx,04h L00419BF2: mov ecx,[ebp+000000A0h] lea eax,[ecx+ebx] or ecx,FFFFFFFFh sub ebx,00000050h lea edi,[eax-4Eh] lea esi,[eax+02h] xor eax,eax mov [esp+28h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h dec edx rep movsb mov ecx,[ebp+00000120h] add ecx,00000002h cmp edx,ecx jge L00419BF2 L00419C35: mov eax,[ebp+00000120h] mov ecx,[ebp+000000A0h] mov esi,[ebp+00000124h] 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,[ebp+00000120h] mov ebx,[ebp+00000124h] mov edx,[ebp+000000A0h] xor esi,esi lea ecx,[eax+eax*4] shl ecx,04h add ecx,ebx mov byte ptr [ecx+edx+02h],00h mov si,[ebp+000000B4h] inc esi mov ecx,ebp push esi call SUB_L00417850 test eax,eax jz L00419CB7 L00419CAA: inc esi mov ecx,ebp push esi call SUB_L00417850 test eax,eax jnz L00419CAA L00419CB7: xor eax,eax mov esi,00000001h mov ax,[ebp+000000B4h] lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea edx,[eax+ecx*8] mov eax,[ebp+000000A4h] mov [eax+edx*8+00000644h],esi L00419CDB: mov ecx,[ebp+00000120h] lea edx,[esp+00000080h] inc ecx lea eax,[esp+20h] mov [ebp+00000120h],ecx lea ecx,[esp+1Ch] push ecx push edx push eax push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov edx,[L004E80E4] mov ebx,[L004E80DC] add esp,00000014h lea ecx,[eax+01h] sub edx,ebx imul ecx,[esp+00000080h] cmp ecx,edx jle L00419DB7 mov ecx,[ebp+0000011Ch] xor edi,edi cmp ecx,edi jz L00419D63 mov cx,[ebp+000000B4h] cmp cx,[ebp+000000B6h] jnc L00419DA5 mov [ebp+0000011Ch],edi mov [ebp+00000120h],edi mov [ebp+00000124h],edi jmp L00419252 L00419D63: xor edx,edx xor ecx,ecx mov dx,[ebp+000000B4h] mov cx,[ebp+000000B6h] inc edx cmp edx,ecx jge L00419DA5 mov edx,[ebp+00h] mov ecx,ebp mov [ebp+0000011Ch],esi call [edx+00000178h] push ebp call SUB_L00456DC0 add esp,00000004h mov [ebp+00000120h],edi mov [ebp+00000124h],edi jmp L00419252 L00419DA5: dec eax mov [ebp+00000124h],edi mov [ebp+00000120h],eax jmp L00419252 L00419DB7: xor edi,edi mov [ebp+00000124h],edi jmp L00419252 L00419DC4: push ebx push 00000004h call SUB_L00441060 add esp,00000008h test eax,eax jz L0041A27E mov eax,[ebp+0000009Ch] test eax,eax jz L00419E04 mov ecx,[ebp+0000011Ch] test ecx,ecx jz L00419E04 mov cx,[eax] mov esi,[ebp+00000120h] mov edx,ecx and edx,0000FFFFh cmp esi,edx jnz L00419E04 inc ecx mov [eax],cx L00419E04: mov eax,[ebp+000000A0h] test eax,eax jz L00419E31 mov ecx,[ebp+0000011Ch] test ecx,ecx jnz L00419E31 mov cx,[eax] mov esi,[ebp+00000120h] mov edx,ecx and edx,0000FFFFh cmp esi,edx jnz L00419E31 inc ecx mov [eax],cx L00419E31: mov eax,[ebp+0000011Ch] test eax,eax jz L00419F83 mov esi,[ebp+0000009Ch] test esi,esi jz L0041A273 mov eax,[ebp+00000120h] or ecx,FFFFFFFFh lea edx,[eax+eax*4] shl edx,04h lea eax,[esi+edx] mov [esp+28h],eax lea edi,[eax+02h] xor eax,eax repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jnz L00419E9D mov eax,[esp+28h] mov [eax+ecx+02h],bl mov eax,[ebp+00000120h] lea edx,[eax+eax*4] mov eax,[ebp+0000009Ch] shl edx,04h add edx,ecx mov byte ptr [edx+eax+03h],00h jmp L00419F2C L00419E9D: add esi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esi+edx+02h] lea esi,[esp+2Ch] mov edi,edx mov [esp+28h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov [edx],bl mov eax,[ebp+00000120h] mov edx,[ebp+00000124h] lea edi,[esp+2Ch] lea ecx,[eax+eax*4] shl ecx,04h add ecx,edx mov edx,[ebp+0000009Ch] mov byte ptr [ecx+edx+03h],00h mov eax,[ebp+00000120h] mov ecx,[ebp+0000009Ch] lea eax,[eax+eax*4] shl eax,04h lea edx,[eax+ecx+02h] 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 L00419F2C: mov edx,[ebp+00000124h] mov edi,[ebp+00000120h] xor esi,esi lea eax,[esp+18h] mov si,[ebp+000000B4h] push eax inc edx push edi push esi mov ecx,ebp mov [ebp+00000124h],edx call SUB_L00417C00 test eax,eax jz L004193D6 L00419F5E: mov eax,[esp+18h] test eax,eax jz L00419F6B inc esi xor edi,edi jmp L00419F6C L00419F6B: inc edi L00419F6C: lea ecx,[esp+18h] push ecx push edi push esi mov ecx,ebp call SUB_L00417C00 test eax,eax jnz L00419F5E jmp L004193D6 L00419F83: mov esi,[ebp+000000A0h] test esi,esi jz L0041A273 mov eax,[ebp+00000120h] or ecx,FFFFFFFFh lea edx,[eax+eax*4] shl edx,04h lea eax,[esi+edx] mov [esp+28h],eax lea edi,[eax+02h] xor eax,eax repne scasb mov eax,[ebp+00000124h] not ecx dec ecx cmp eax,ecx jnz L00419FE1 mov edx,[esp+28h] mov [edx+ecx+02h],bl mov eax,[ebp+00000120h] mov edx,[ebp+000000A0h] lea eax,[eax+eax*4] shl eax,04h add eax,edx mov byte ptr [eax+ecx+03h],00h jmp L0041A070 L00419FE1: add esi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esi+edx+02h] lea esi,[esp+2Ch] mov edi,edx mov [esp+28h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov [edx],bl mov eax,[ebp+00000120h] mov edx,[ebp+00000124h] lea edi,[esp+2Ch] lea ecx,[eax+eax*4] shl ecx,04h add ecx,edx mov edx,[ebp+000000A0h] mov byte ptr [ecx+edx+03h],00h mov eax,[ebp+00000120h] mov ecx,[ebp+000000A0h] lea eax,[eax+eax*4] shl eax,04h lea edx,[eax+ecx+02h] 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 L0041A070: mov esi,[ebp+00000124h] mov edi,[ebp+00000120h] inc esi lea eax,[esp+18h] mov [ebp+00000124h],esi xor esi,esi mov si,[ebp+000000B4h] push eax inc esi push edi push esi mov ecx,ebp call SUB_L00417C00 test eax,eax jz L0041974D L0041A0A3: mov eax,[esp+18h] test eax,eax jz L0041A0B0 inc esi xor edi,edi jmp L0041A0B1 L0041A0B0: inc edi L0041A0B1: lea ecx,[esp+18h] push ecx push edi push esi mov ecx,ebp call SUB_L00417C00 test eax,eax jnz L0041A0A3 jmp L0041974D L0041A0C8: mov eax,[ebp+00000124h] test eax,eax jle L0041A0DE dec eax mov [ebp+00000124h],eax jmp L0041A273 L0041A0DE: mov eax,[ebp+00000120h] test eax,eax jle L0041A273 mov ecx,[ebp+0000011Ch] dec eax test ecx,ecx mov [ebp+00000120h],eax jz L0041A122 mov ecx,[ebp+0000009Ch] lea eax,[eax+eax*4] shl eax,04h lea edi,[eax+ecx+02h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [ebp+00000124h],ecx jmp L0041A273 L0041A122: lea edx,[eax+eax*4] mov eax,[ebp+000000A0h] shl edx,04h or ecx,FFFFFFFFh lea edi,[edx+eax+02h] xor eax,eax repne scasb not ecx dec ecx mov [ebp+00000124h],ecx jmp L0041A273 L0041A147: mov eax,[ebp+0000011Ch] mov edx,[ebp+00000120h] test eax,eax jz L0041A1DF mov esi,[ebp+0000009Ch] lea eax,[edx+edx*4] shl eax,04h or ecx,FFFFFFFFh mov ebx,[ebp+00000124h] lea edi,[eax+esi+02h] xor eax,eax repne scasb not ecx dec ecx cmp ebx,ecx jge L0041A18B inc ebx mov [ebp+00000124h],ebx jmp L0041A273 L0041A18B: xor ecx,ecx mov cx,[esi] cmp edx,ecx jge L0041A273 inc edx lea eax,[esp+00000080h] mov [ebp+00000120h],edx lea edx,[esp+1Ch] push edx lea ecx,[esp+24h] push eax push ecx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov ecx,[L004E80E4] mov edi,[L004E80DC] add esp,00000014h lea edx,[eax+01h] imul edx,[esp+00000080h] jmp L0041A25A L0041A1DF: mov esi,[ebp+000000A0h] lea eax,[edx+edx*4] shl eax,04h or ecx,FFFFFFFFh mov ebx,[ebp+00000124h] lea edi,[eax+esi+02h] xor eax,eax repne scasb not ecx dec ecx cmp ebx,ecx jge L0041A20C inc ebx mov [ebp+00000124h],ebx jmp L0041A273 L0041A20C: xor ecx,ecx mov cx,[esi] cmp edx,ecx jge L0041A273 inc edx lea eax,[esp+00000080h] mov [ebp+00000120h],edx lea edx,[esp+1Ch] push edx lea ecx,[esp+24h] push eax push ecx push L004FEBE4 push 00000004h call SUB_L00441BC0 mov eax,[ebp+00000120h] mov ecx,[L004E80F4] mov edi,[L004E80EC] add esp,00000014h lea edx,[eax+01h] imul edx,[esp+00000080h] L0041A25A: sub ecx,edi cmp edx,ecx jle L0041A269 dec eax mov [ebp+00000120h],eax jmp L0041A273 L0041A269: mov dword ptr [ebp+00000124h],00000000h L0041A273: mov edx,[ebp+00h] mov ecx,ebp call [edx+00000174h] L0041A27E: pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 L0041A290: dd L00AC81C7 db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db C2h; '‚' db 04h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' L0041A2A0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+0000012Ch] mov ecx,00000001h cmp edx,ecx jnz L0041A2FA sub edi,[esi+00000130h] cmp edi,eax jbe L0041A2FA mov eax,[esi+00000128h] mov dword ptr [esi+0000012Ch],00000000h test eax,eax jnz L0041A2F4 mov ecx,[esi+74h] mov edx,[esi+70h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000180h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0041A2F4: mov [esi+00000134h],ecx L0041A2FA: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041A300: push esi mov esi,ecx push 00000000h mov dword ptr [esi+0000013Ch],00000001h call SUB_L00476670 add esp,00000004h test esi,esi jz L0041A323 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0041A323: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041A330: sub esp,00000028h push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx+6Ch] push esi cmp eax,ebp push edi jz L0041A450 cmp [ebx+64h],ebp jz L0041A353 mov eax,[ebx+3Ch] mov esi,[eax+0Ch] jmp L0041A359 L0041A353: mov ecx,[ebx+3Ch] mov esi,[ecx+04h] L0041A359: lea edx,[esp+10h] lea eax,[esp+14h] push edx push eax mov ecx,ebx mov [esp+18h],ebp mov [esp+1Ch],ebp call SUB_L00457C90 mov eax,[esp+14h] mov ecx,[esp+10h] xor edx,edx mov [esp+18h],eax mov [esp+1Ch],ecx mov dx,[esi] mov edi,[esp+3Ch] add edx,eax xor eax,eax mov [esp+20h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+18h] push ecx push edi mov [esp+2Ch],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0041A450 lea edx,[esp+28h] lea eax,[esp+18h] push edx push eax push edi call SUB_L00457DF0 mov eax,[esp+24h] mov ebp,[esp+34h] add esp,0000000Ch xor ecx,ecx xor edx,edx cmp eax,ebp jz L0041A3DA mov edx,ebp sub edx,eax L0041A3DA: mov eax,[esp+1Ch] mov edi,[esp+2Ch] cmp eax,edi jz L0041A3EA mov ecx,edi sub ecx,eax L0041A3EA: xor eax,eax mov edi,[L005073D0] mov ax,[esi] push eax imul eax,ecx add eax,edx push edi lea eax,[esi+eax*2+04h] push eax mov eax,[esp+1Ch] add ecx,eax imul ecx,edi add ecx,edx mov edx,[esp+20h] mov edi,[esp+38h] add ecx,edx mov edx,[L00B189FC] lea eax,[edx+ecx*2] mov ecx,[esp+3Ch] mov edx,[esp+40h] sub ecx,ebp push eax sub edx,edi push ecx push edx call SUB_L00458030 mov esi,[ebx+50h] add esp,00000018h test esi,esi jz L0041A450 L0041A43D: mov ecx,[esp+3Ch] mov eax,[esi] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0041A43D L0041A450: pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0041A460: push FFFFFFFFh push L004E0EB3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00416C10 lea ebp,[esi+24h] lea edi,[esi+20h] push ebp xor ebx,ebx push edi mov dword ptr [esi],L004E82A0 push 000008ACh mov [esp+28h],ebx mov dword ptr [esi+08h],SSZ004FF128_spellbook_gump mov [esi+60h],ebx mov dword ptr [esi+54h],000008ACh call SUB_L004434A0 mov eax,[ebp+00h] lea ecx,[esi+28h] add eax,00000014h mov [ebp+00h],eax mov eax,[edi] mov [esi+1Ch],eax lea eax,[esi+2Ch] push eax push ecx push 000008BAh call SUB_L004434A0 mov ecx,[esp+44h] add esp,00000018h mov [esi+38h],ecx mov edx,[ecx] call [edx+30h] test eax,eax jz L0041A4F0 mov eax,[esi+38h] mov [eax+000000B0h],esi L0041A4F0: mov ecx,[esp+24h] mov edx,[esp+28h] mov [esi+30h],ecx mov [esi+34h],edx mov [esi+64h],ebx mov dword ptr [esi+00000184h],FFFFFFFFh mov word ptr [esi+000000B4h],0001h mov eax,[L00C837D4] cmp eax,FFFFFFFFh jz L0041A550 mov ecx,[esi+38h] mov ecx,[ecx+000000ACh] cmp ecx,ebx jz L0041A550 L0041A52B: xor edx,edx mov dx,[ecx+40h] dec edx cmp edx,eax jz L0041A53F mov ecx,[ecx+44h] cmp ecx,ebx jnz L0041A52B jmp L0041A550 L0041A53F: cdq and edx,00000007h add eax,edx sar eax,03h inc eax mov [esi+000000B4h],ax L0041A550: push SSZ004FF108_framedata_for_CSpellbookGump push 00000010h mov [esi+0000013Ch],ebx mov [esi+0000014Ch],ebx mov [esi+00000140h],ebx mov [esi+00000150h],ebx mov [esi+00000154h],ebx mov [esi+00000148h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF028_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push SSZ004FF0F4_spellbook_frame1 mov [edx+04h],eax mov ecx,[ebp+00h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+2Ch] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+2Ch] mov edx,[esi+3Ch] mov ecx,[esi+28h] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push ebx push ebx push 000008BAh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+30h] add esp,00000034h cmp eax,FFFFFFFFh jnz L0041A6BC call SUB_L004470A0 mov ecx,eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub ecx,eax mov [esi+30h],ecx call SUB_L004470B0 mov ecx,eax mov eax,[ebp+00h] cdq sub eax,edx sar eax,1 sub ecx,eax mov [esi+34h],ecx L0041A6BC: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L0041A6F0 push ebx push SUB_L0041E070 push ebx push ebx push esi push 00000076h push 00000015h push 00000064h push 00000003h mov ecx,eax call SUB_L004220C0 jmp L0041A6F2 L0041A6F0: xor eax,eax L0041A6F2: push 00000001h push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 mov ecx,esi call SUB_L0041B2A0 push ebx push ebx push ebx push ebx push ebx push 00000055h call SUB_L004CD800 mov ecx,[esp+2Ch] add esp,00000018h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L0041A730: push esi mov esi,ecx call SUB_L0041A750 test byte ptr [esp+08h],01h jz L0041A748 push esi call SUB_L004D4F9E add esp,00000004h L0041A748: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0041A750: push FFFFFFFFh push L004E0EC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E82A0 mov eax,[esi+3Ch] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L0041A7CE mov eax,[eax+04h] cmp eax,edi jz L0041A79C push SSZ004FF160_spellbook_frame_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+04h],edi L0041A79C: mov ecx,[esi+3Ch] mov eax,[ecx+0Ch] cmp eax,edi jz L0041A7BA push SSZ004FF14C_spellbook_frame2 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+0Ch],edi L0041A7BA: mov eax,[esi+3Ch] push SSZ004FF138_spellbook_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0041A7CE: push edi push edi push edi push edi push edi push 00000055h call SUB_L004CD800 add esp,00000018h mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L004172F0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0041A800: push ebx mov ebx,[esp+0Ch] push ebp push esi push edi mov edi,[esp+14h] mov esi,ecx mov ebp,00000001h push 00000000h mov [esi+00000148h],ebp mov [esi+70h],edi mov [esi+74h],ebx call SUB_L004584E0 cmp [esi+00000154h],ebp jnz L0041A83A mov dword ptr [esi+00000154h],00000002h jmp L0041A84C L0041A83A: mov [esi+00000154h],ebp call [KERNEL32.dll!GetTickCount] mov [esi+00000150h],eax L0041A84C: mov ax,[esi+000000B4h] cmp ax,[esi+0000015Ah] jbe L0041A9AC lea ecx,[esp+14h] lea edx,[esp+18h] push ecx push edx push 000008C0h call SUB_L004434A0 mov eax,[L004E80F8] mov edx,[esp+24h] add esp,0000000Ch cmp edi,eax jl L0041A908 add eax,edx cmp edi,eax jg L0041A908 mov eax,[L004E80FC] lea ecx,[eax+1Eh] cmp ebx,ecx jl L0041A908 mov ecx,[esp+14h] lea eax,[eax+ecx+1Eh] cmp ebx,eax jg L0041A908 xor edi,edi xor ecx,ecx mov di,[esi+000000B4h] mov cx,[esi+0000015Ah] sub edi,ecx mov ecx,[esi+38h] dec edi mov edx,[ecx] call [edx+30h] test eax,eax jz L0041A99C mov eax,[esi+38h] xor ecx,ecx test edi,edi mov eax,[eax+000000ACh] jle L0041A8EA L0041A8DA: mov eax,[eax+44h] test eax,eax jz L0041A99C inc ecx cmp ecx,edi jl L0041A8DA L0041A8EA: test eax,eax jz L0041A99C xor ecx,ecx pop edi mov cx,[eax+40h] mov eax,ecx dec eax mov [esi+00000184h],eax pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L0041A908: xor eax,eax xor ecx,ecx mov ax,[esi+000000B4h] mov cx,[esi+000000B6h] lea ebp,[eax+01h] cmp ebp,ecx jg L0041A9AC mov ecx,[L004E8108] cmp edi,ecx jl L0041A9AC add ecx,edx cmp edi,ecx jg L0041A9AC mov ecx,[L004E810C] lea edx,[ecx+1Eh] cmp ebx,edx jl L0041A9AC mov edx,[esp+14h] lea ecx,[ecx+edx+1Eh] cmp ebx,ecx jg L0041A9AC mov ecx,[esi+38h] xor edx,edx mov dx,[esi+0000015Ah] sub eax,edx mov edi,eax mov eax,[ecx] call [eax+30h] test eax,eax jz L0041A99C mov ecx,[esi+38h] mov eax,[ecx+000000ACh] xor ecx,ecx test edi,edi jle L0041A982 L0041A976: mov eax,[eax+44h] test eax,eax jz L0041A99C inc ecx cmp ecx,edi jl L0041A976 L0041A982: test eax,eax jz L0041A99C xor edx,edx pop edi mov dx,[eax+40h] mov eax,edx dec eax mov [esi+00000184h],eax pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L0041A99C: or eax,FFFFFFFFh pop edi mov [esi+00000184h],eax pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L0041A9AC: mov dword ptr [esi+00000184h],FFFFFFFFh pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0041A9C0: mov eax,[ecx+00000140h] push esi xor esi,esi cmp eax,esi mov [ecx+00000148h],esi jz L0041A9EC push esi mov [ecx+00000140h],esi mov [ecx+00000154h],esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L0041A9EC: cmp dword ptr [ecx+00000154h],00000002h jnz L0041AA0D mov edx,[esp+0Ch] mov eax,[ecx] push edx mov edx,[esp+0Ch] push edx mov [ecx+00000154h],esi call [eax+00000184h] L0041AA0D: push esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041AA20: push FFFFFFFFh push L004E0EEB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi push edi mov eax,[ebx+00000148h] test eax,eax jz L0041AB9D cmp dword ptr [ebx+00000184h],FFFFFFFFh jz L0041AB78 mov eax,[esp+20h] mov edx,[ebx+70h] mov [esp+20h],eax mov ecx,[esp+24h] sub eax,edx xor esi,esi cdq xor eax,edx mov [esp+24h],ecx sub eax,edx cmp eax,00000004h jg L0041AA8C mov edx,[ebx+74h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0041AB9D L0041AA8C: lea eax,[esp+24h] lea ecx,[esp+20h] push eax push ecx mov ecx,ebx call SUB_L00457C90 mov edi,[L00B294DC] test edi,edi jz L0041AAD2 L0041AAA7: mov edx,[edi] mov ecx,edi call [edx+00000150h] test eax,eax jz L0041AAC7 mov eax,[edi+000000B4h] mov ecx,[ebx+00000184h] cmp eax,ecx jnz L0041AAC7 mov esi,edi L0041AAC7: mov edi,[edi+40h] test edi,edi jnz L0041AAA7 test esi,esi jnz L0041AB28 L0041AAD2: push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L0041AB0F mov ecx,[ebx+00000184h] mov edx,[esp+24h] push ecx mov ecx,[esp+24h] add edx,FFFFFFECh add ecx,FFFFFFECh push edx push ecx mov ecx,eax call SUB_L0041C660 jmp L0041AB11 L0041AB0F: xor eax,eax L0041AB11: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+20h],FFFFFFFFh mov esi,eax call SUB_L004587A0 jmp L0041AB31 L0041AB28: push 00000000h mov ecx,esi call SUB_L004584E0 L0041AB31: mov eax,[esi+20h] push esi cdq sub eax,edx mov dword ptr [esi+000000A4h],00000001h sar eax,1 mov [esi+70h],eax mov eax,[esi+24h] cdq sub eax,edx sar eax,1 mov [esi+74h],eax call SUB_L00476670 add esp,00000004h mov dword ptr [ebx+00000148h],00000000h pop edi pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ L0041AB78: test eax,eax jz L0041AB9D mov edx,[esp+24h] mov edi,[ebx+74h] mov eax,[esp+20h] push 00000001h push 00000000h sub edx,edi push 00000001h push edx mov edx,[ebx+70h] mov ecx,ebx sub eax,edx push eax call SUB_L00457800 L0041AB9D: mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041ABC0: sub esp,00000018h lea eax,[esp+0Ch] push esi mov esi,ecx push edi lea ecx,[esp+10h] push eax push ecx push 000008BBh xor edi,edi call SUB_L004434A0 lea edx,[esp+28h] lea eax,[esp+24h] push edx push eax push 000008BCh call SUB_L004434A0 lea ecx,[esp+20h] lea edx,[esp+24h] push ecx push edx push 000008B1h call SUB_L004434A0 mov edx,[esp+4Ch] mov eax,[esp+48h] add esp,00000024h cmp edx,000000AFh jl L0041AD1C mov ecx,[esp+08h] add ecx,000000AFh cmp edx,ecx jge L0041AD1C mov ecx,[esp+0Ch] cmp eax,0000003Ah push ebx jl L0041AC44 lea ebx,[ecx+3Ah] cmp eax,ebx jge L0041AC44 mov edi,00000001h L0041AC44: cmp eax,0000005Dh jl L0041AC55 lea ebx,[ecx+5Dh] cmp eax,ebx jge L0041AC55 mov edi,00000002h L0041AC55: cmp eax,00000082h jl L0041AC6B lea ebx,[ecx+00000082h] cmp eax,ebx jge L0041AC6B mov edi,00000003h L0041AC6B: cmp eax,000000A4h jl L0041AC81 lea ebx,[ecx+000000A4h] cmp eax,ebx jge L0041AC81 mov edi,00000004h L0041AC81: cmp eax,000000E3h jl L0041AC97 lea ebx,[ecx+000000E3h] cmp eax,ebx jge L0041AC97 mov edi,00000005h L0041AC97: cmp eax,00000104h jl L0041ACAD lea ebx,[ecx+00000104h] cmp eax,ebx jge L0041ACAD mov edi,00000006h L0041ACAD: cmp eax,00000129h jl L0041ACC3 lea ebx,[ecx+00000129h] cmp eax,ebx jge L0041ACC3 mov edi,00000007h L0041ACC3: cmp eax,0000014Ch pop ebx jl L0041ACDC add ecx,0000014Ch cmp eax,ecx jge L0041ACDC mov edi,00000008h jmp L0041ACE0 L0041ACDC: test edi,edi jz L0041AD1C L0041ACE0: mov edx,edi mov [esi+000000B4h],di and edx,0000FFFFh and edx,80000001h jns L0041ACFC dec edx or edx,FFFFFFFEh inc edx L0041ACFC: jnz L0041ADFE mov eax,[esi] dec edi mov ecx,esi mov [esi+000000B4h],di call [eax+00000174h] pop edi pop esi add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L0041AD1C: cmp eax,00000032h jl L0041AD4E mov ecx,[esp+10h] add ecx,00000032h cmp eax,ecx jge L0041AD4E cmp edx,00000008h jl L0041AD4E mov ecx,[esp+14h] add ecx,00000008h cmp edx,ecx jge L0041AD4E mov edx,[esi] mov ecx,esi call [edx+0000017Ch] pop edi pop esi add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L0041AD4E: cmp eax,00000141h jl L0041AD85 mov ecx,[esp+18h] add ecx,00000141h cmp eax,ecx jge L0041AD85 cmp edx,00000008h jl L0041AD85 mov ecx,[esp+1Ch] add ecx,00000008h cmp edx,ecx jge L0041AD85 mov edx,[esi] mov ecx,esi call [edx+00000178h] pop edi pop esi add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L0041AD85: mov cx,[esi+000000B4h] cmp cx,[esi+0000015Ah] ja L0041AE08 push edx push eax mov ecx,esi call SUB_L0041C530 test eax,eax jl L0041AE08 mov cx,[esi+0000015Ah] mov edx,ecx and edx,0000FFFFh and edx,80000001h jns L0041ADBE dec edx or edx,FFFFFFFEh inc edx L0041ADBE: jnz L0041ADCD lea eax,[ecx+eax+01h] mov [esi+000000B4h],ax jmp L0041ADD8 L0041ADCD: lea ecx,[ecx+eax+02h] mov [esi+000000B4h],cx L0041ADD8: mov ax,[esi+000000B4h] mov edx,eax and edx,0000FFFFh and edx,80000001h jns L0041ADF4 dec edx or edx,FFFFFFFEh inc edx L0041ADF4: jnz L0041ADFE dec eax mov [esi+000000B4h],ax L0041ADFE: mov eax,[esi] mov ecx,esi call [eax+00000174h] L0041AE08: pop edi pop esi add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L0041AE10: sub esp,0000009Ch lea eax,[esp+00h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+24h] push eax push ecx push 000008C0h call SUB_L004434A0 lea edx,[esp+24h] lea eax,[esp+2Ch] push edx push eax push 000008BBh call SUB_L004434A0 lea ecx,[esp+34h] lea edx,[esp+40h] push ecx push edx push 000008BCh call SUB_L004434A0 mov eax,[esi+64h] add esp,00000024h test eax,eax jz L0041AE76 mov ecx,esi call SUB_L0041E0F0 pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn 0008h ;------------------------------------------------------------------------------ L0041AE76: mov edx,[esp+000000B0h] mov edi,[esp+000000B4h] cmp edx,00000032h jl L0041AEE4 mov eax,[esp+20h] add eax,00000032h cmp edx,eax jge L0041AEE4 cmp edi,00000008h jl L0041AEE4 mov ecx,[esp+18h] add ecx,00000008h cmp edi,ecx jge L0041AEE4 mov eax,00000001h cmp [esi+000000B4h],ax jbe L0041AEE4 mov edx,[esi] mov ecx,esi mov [esi+000000B4h],ax call [edx+00000174h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h call SUB_L004CD800 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn 0008h ;------------------------------------------------------------------------------ L0041AEE4: cmp edx,00000141h jl L0041AF61 mov eax,[esp+28h] add eax,00000141h cmp edx,eax jge L0041AF61 cmp edi,00000008h jl L0041AF61 mov ecx,[esp+1Ch] add ecx,00000008h cmp edi,ecx jge L0041AF61 mov ax,[esi+000000B6h] mov edx,eax mov [esi+000000B4h],ax and edx,0000FFFFh and edx,80000001h jns L0041AF2C dec edx or edx,FFFFFFFEh inc edx L0041AF2C: jnz L0041AF36 dec eax mov [esi+000000B4h],ax L0041AF36: mov eax,[esi] mov ecx,esi call [eax+00000174h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h call SUB_L004CD800 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn 0008h ;------------------------------------------------------------------------------ L0041AF61: mov ax,[esi+000000B4h] mov cx,[esi+0000015Ah] cmp ax,cx mov [esp+14h],ecx ja L0041B013 push edi push edx mov ecx,esi call SUB_L0041C530 mov edi,eax test edi,edi jl L0041B1A2 mov ecx,[esi+38h] mov edx,[ecx] call [edx+30h] test eax,eax jz L0041AFC3 mov eax,[esi+38h] xor ecx,ecx test edi,edi mov eax,[eax+000000ACh] jle L0041AFB6 L0041AFAA: mov eax,[eax+44h] test eax,eax jz L0041AFC3 inc ecx cmp ecx,edi jl L0041AFAA L0041AFB6: test eax,eax jz L0041AFC3 xor edi,edi mov di,[eax+40h] dec edi jmp L0041AFC6 L0041AFC3: or edi,FFFFFFFFh L0041AFC6: mov ecx,[esi+38h] lea eax,[edi+01h] mov edx,[ecx+7Ch] lea ecx,[esp+2Ch] push edx push eax push SSZ004FF178__d__d push ecx call SUB_L004D512F lea edx,[esp+3Ch] push edx push 00000027h call SUB_L0047C940 add esp,00000018h mov ecx,esi call SUB_L0041E070 mov [L00C837D4],edi mov eax,[esi] mov ecx,esi call [eax+00000174h] pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn 0008h ;------------------------------------------------------------------------------ L0041B013: mov ebx,[L004E80F8] mov ebp,[esp+24h] cmp edx,ebx jl L0041B0C0 add ebx,ebp cmp edx,ebx jg L0041B0C0 mov ebx,[L004E80FC] lea ecx,[ebx+1Eh] cmp edi,ecx jl L0041B0C0 mov ecx,[esp+10h] lea ecx,[ebx+ecx+1Eh] cmp edi,ecx jg L0041B0C0 mov ecx,[esp+14h] and ecx,0000FFFFh mov edx,ecx and edx,80000001h jns L0041B065 dec edx or edx,FFFFFFFEh inc edx L0041B065: jnz L0041B071 and eax,0000FFFFh sub eax,ecx dec eax jmp L0041B07B L0041B071: and eax,0000FFFFh sub eax,ecx sub eax,00000002h L0041B07B: mov ecx,[esi+38h] mov edi,eax mov eax,[ecx] call [eax+30h] test eax,eax jz L0041B15F mov ecx,[esi+38h] mov eax,[ecx+000000ACh] xor ecx,ecx test edi,edi jle L0041B0AC L0041B09C: mov eax,[eax+44h] test eax,eax jz L0041B15F inc ecx cmp ecx,edi jl L0041B09C L0041B0AC: test eax,eax jz L0041B15F xor edi,edi mov di,[eax+40h] dec edi jmp L0041B162 L0041B0C0: mov ebx,[L004E8108] cmp edx,ebx jl L0041B1A2 add ebx,ebp cmp edx,ebx jg L0041B1A2 mov edx,[L004E810C] lea ecx,[edx+1Eh] cmp edi,ecx jl L0041B1A2 mov ecx,[esp+10h] lea edx,[edx+ecx+1Eh] cmp edi,edx jg L0041B1A2 mov ecx,[esp+14h] and ecx,0000FFFFh mov edx,ecx and edx,80000001h jns L0041B112 dec edx or edx,FFFFFFFEh inc edx L0041B112: jnz L0041B11E and eax,0000FFFFh sub eax,ecx dec eax jmp L0041B128 L0041B11E: and eax,0000FFFFh sub eax,ecx sub eax,00000002h L0041B128: mov ecx,[esi+38h] mov edi,eax inc edi mov eax,[ecx] call [eax+30h] test eax,eax jz L0041B15F mov ecx,[esi+38h] mov eax,[ecx+000000ACh] xor ecx,ecx test edi,edi jle L0041B152 L0041B146: mov eax,[eax+44h] test eax,eax jz L0041B15F inc ecx cmp ecx,edi jl L0041B146 L0041B152: test eax,eax jz L0041B15F xor edi,edi mov di,[eax+40h] dec edi jmp L0041B162 L0041B15F: or edi,FFFFFFFFh L0041B162: mov edx,[esi+38h] lea ecx,[edi+01h] mov eax,[edx+7Ch] lea edx,[esp+2Ch] push eax push ecx push SSZ004FF178__d__d push edx call SUB_L004D512F lea eax,[esp+3Ch] push eax push 00000027h call SUB_L0047C940 add esp,00000018h mov ecx,esi call SUB_L0041E070 mov [L00C837D4],edi mov edx,[esi] mov ecx,esi call [edx+00000174h] L0041B1A2: pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 L0041B1B0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+00000154h] mov ecx,00000001h cmp edx,ecx jnz L0041B20A sub edi,[esi+00000150h] cmp edi,eax jbe L0041B20A mov eax,[esi+00000148h] mov dword ptr [esi+00000154h],00000000h test eax,eax jnz L0041B204 mov ecx,[esi+74h] mov edx,[esi+70h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+00000180h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0041B204: mov [esi+00000140h],ecx L0041B20A: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041B210: mov ax,[ecx+000000B4h] push esi mov edx,eax xor esi,esi mov si,[ecx+000000B6h] and edx,0000FFFFh inc edx cmp edx,esi pop esi jge L0041B255 add eax,00000002h mov [ecx+000000B4h],ax mov eax,[ecx] call [eax+00000174h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h call SUB_L004CD800 add esp,00000018h L0041B255: retn ;------------------------------------------------------------------------------ Align 16 L0041B260: mov ax,[ecx+000000B4h] cmp ax,0001h jbe L0041B293 add eax,FFFFFFFEh mov [ecx+000000B4h],ax mov eax,[ecx] call [eax+00000174h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000055h call SUB_L004CD800 add esp,00000018h L0041B293: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041B2A0: sub esp,0000004Ch push ebx push ebp push esi mov esi,ecx lea eax,[esp+38h] push edi lea ecx,[esp+38h] push eax push ecx push 000008BBh call SUB_L004434A0 lea edx,[esp+30h] lea eax,[esp+2Ch] push edx push eax push 000008C0h call SUB_L004434A0 mov ecx,[esp+38h] mov eax,[esi+54h] add ecx,00000004h lea edx,[esp+5Ch] mov [esp+38h],ecx lea ecx,[esp+58h] push ecx add eax,00000002h push edx push eax call SUB_L004434A0 mov ecx,[esi+20h] mov edx,[esi+24h] mov [esp+78h],ecx lea eax,[esp+34h] mov [esp+7Ch],edx lea ecx,[esp+6Ch] push eax lea edx,[esp+44h] push ecx push edx push L004FEBE4 push 00000007h mov dword ptr [esp+00000084h],00000000h mov dword ptr [esp+00000088h],00000000h call SUB_L00441BC0 mov ecx,[esi+38h] mov word ptr [esi+00000158h],0000h mov word ptr [esi+0000015Ah],0008h add esp,00000038h mov eax,[ecx] call [eax+30h] test eax,eax jz L0041B36D mov ecx,[esi+38h] mov eax,[ecx+000000ACh] test eax,eax jz L0041B36D L0041B35F: inc word ptr [esi+00000158h] mov eax,[eax+44h] test eax,eax jnz L0041B35F L0041B36D: xor ebx,ebx mov bx,[esi+0000015Ah] mov edx,ebx and edx,80000001h jns L0041B385 dec edx or edx,FFFFFFFEh inc edx L0041B385: jz L0041B388 inc ebx L0041B388: mov ecx,[esi+20h] mov ax,[esi+00000158h] imul ecx,[esi+24h] mov edx,[esi+3Ch] add ax,bx mov [esi+000000B6h],ax xor eax,eax 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+3Ch] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+54h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch cmp word ptr [esi+000000B4h],0001h jbe L0041B41E mov ecx,[esi+3Ch] 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 00000008h push 00000032h push 000008BBh push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0041B41E: xor edx,edx xor eax,eax mov dx,[esi+000000B4h] mov ax,[esi+000000B6h] inc edx cmp edx,eax jge L0041B465 mov ecx,[esi+3Ch] 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 00000008h push 00000141h push 000008BCh push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0041B465: mov edx,[esi+3Ch] 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 000000AFh push 0000003Ah push 000008B1h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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 push 000008B2h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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 push 000008B3h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] xor ecx,ecx add esp,00000054h 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 push 000008B4h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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 push 000008B5h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] push ecx xor edx,edx mov dx,[eax] add eax,00000004h push edx push eax push 000000AFh push 00000104h push 000008B6h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] xor ecx,ecx add esp,00000054h 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 push 000008B7h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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 push 000008B8h push SUB_L004B9B80 call SUB_L00443500 mov ax,[esi+000000B4h] add esp,00000038h cmp ax,[esi+0000015Ah] ja L0041BA6D mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+4Ch] push eax mov eax,[edx+04h] mov edx,[L004E80F8] add eax,00000004h push ecx mov ecx,[esp+18h] push eax push SSZ004FF18C_INDEX push 00000000h add ecx,0000000Ah push 00000006h add edx,0000002Ch push ecx push edx call SUB_L004410C0 xor eax,eax add esp,00000020h mov ax,[esi+000000B4h] dec eax cmp eax,00000007h ja L0041B680 jmp [CASE_PROCTABLE_0041C428+eax*4] CASE_0041C428_PROC0000: mov eax,SSZ004FF00C_First_Circle jmp L0041B685 CASE_0041C428_PROC0001: mov eax,SSZ004FEFFC_Second_Circle jmp L0041B685 CASE_0041C428_PROC0002: mov eax,SSZ004FEFEC_Third_Circle jmp L0041B685 CASE_0041C428_PROC0003: mov eax,SSZ004FEFDC_Fourth_Circle jmp L0041B685 CASE_0041C428_PROC0004: mov eax,SSZ004FEFCC_Fifth_Circle jmp L0041B685 CASE_0041C428_PROC0005: mov eax,SSZ004FEFBC_Sixth_Circle jmp L0041B685 CASE_0041C428_PROC0006: mov eax,SSZ004FEFAC_Seventh_Circle jmp L0041B685 CASE_0041C428_PROC0007: mov eax,SSZ004FEF9C_Eighth_Circle jmp L0041B685 L0041B680: mov eax,SSZ004FEF90_Bad_Circle L0041B685: mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] mov ecx,[L004E80FC] add edx,00000004h push edx push eax mov eax,[esp+20h] push 00000000h push 00000006h lea edx,[ecx+eax+14h] mov eax,[L004E80F8] push edx push eax call SUB_L004410C0 mov ecx,[esi+38h] mov edx,[L004E80FC] add esp,00000020h add edx,00000024h mov edi,[ecx+000000ACh] mov [esp+14h],edx test edi,edi mov [esp+28h],edi jz L0041B831 L0041B6DC: xor ecx,ecx mov cx,[edi+40h] lea eax,[ecx-01h] mov [esp+2Ch],eax cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[esi+000000B4h] sar eax,03h inc eax cmp eax,edx jnz L0041B822 mov ebx,[L005073D8+ecx*8] xor edx,edx test ebx,ebx jz L0041B74E mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0041B74E mov eax,L00704FEC mov ebp,ebx sub eax,ebx mov [esp+34h],eax L0041B72E: mov al,[ebp+00h] cmp al,28h jz L0041B74E mov ecx,[esp+34h] inc edx mov edi,ebx mov [ecx+ebp],al or ecx,FFFFFFFFh xor eax,eax inc ebp repne scasb not ecx dec ecx cmp edx,ecx jl L0041B72E L0041B74E: mov byte ptr [edx+L00704FEB],00h lea edx,[esp+30h] lea eax,[esp+18h] push edx lea ecx,[esp+20h] push eax push ecx push L004FEBE4 push 00000009h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] mov edi,[esp+28h] push L004E80F8 mov ecx,[eax+04h] push edx mov edx,[esp+2Ch] add ecx,00000004h push ecx mov ecx,[L004E80F8] push L00704FEC push 00000288h lea eax,[edi+edx] push 00000009h push eax push ecx call SUB_L004416F0 mov edx,[esp+60h] mov eax,[L00C837D4] add esp,00000034h cmp eax,edx jnz L0041B816 mov eax,[esi+3Ch] 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 push 000008ADh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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] push eax push 000000B8h push 000008AFh push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h L0041B816: add edi,[esp+18h] mov [esp+14h],edi mov edi,[esp+28h] L0041B822: mov edi,[edi+44h] test edi,edi mov [esp+28h],edi jnz L0041B6DC L0041B831: mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[eax+04h] mov eax,[L004E8108] add ecx,00000004h push edx mov edx,[esp+18h] push ecx push SSZ004FF18C_INDEX push 00000000h add edx,0000000Ah push 00000006h add eax,0000002Ch push edx push eax call SUB_L004410C0 xor eax,eax add esp,00000020h mov ax,[esi+000000B4h] cmp eax,00000007h ja L0041B8B3 jmp [CASE_PROCTABLE_0041C448+eax*4] CASE_0041C448_PROC0000: mov eax,SSZ004FF00C_First_Circle jmp L0041B8B8 CASE_0041C448_PROC0001: mov eax,SSZ004FEFFC_Second_Circle jmp L0041B8B8 CASE_0041C448_PROC0002: mov eax,SSZ004FEFEC_Third_Circle jmp L0041B8B8 CASE_0041C448_PROC0003: mov eax,SSZ004FEFDC_Fourth_Circle jmp L0041B8B8 CASE_0041C448_PROC0004: mov eax,SSZ004FEFCC_Fifth_Circle jmp L0041B8B8 CASE_0041C448_PROC0005: mov eax,SSZ004FEFBC_Sixth_Circle jmp L0041B8B8 CASE_0041C448_PROC0006: mov eax,SSZ004FEFAC_Seventh_Circle jmp L0041B8B8 CASE_0041C448_PROC0007: mov eax,SSZ004FEF9C_Eighth_Circle jmp L0041B8B8 L0041B8B3: mov eax,SSZ004FEF90_Bad_Circle L0041B8B8: mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] mov ecx,[L004E810C] add edx,00000004h push edx push eax mov eax,[esp+20h] push 00000000h push 00000006h lea edx,[ecx+eax+14h] mov eax,[L004E8108] push edx push eax call SUB_L004410C0 mov ecx,[esi+38h] mov edx,[L004E810C] add esp,00000020h add edx,00000024h mov edi,[ecx+000000ACh] mov [esp+14h],edx test edi,edi mov [esp+28h],edi jz L0041C41E L0041B90F: xor ecx,ecx mov cx,[edi+40h] lea eax,[ecx-01h] mov [esp+2Ch],eax cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[esi+000000B4h] sar eax,03h inc eax inc edx cmp eax,edx jnz L0041BA56 mov ebx,[L005073D8+ecx*8] xor edx,edx test ebx,ebx jz L0041B982 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0041B982 mov eax,L00704FEC mov ebp,ebx sub eax,ebx mov [esp+34h],eax L0041B962: mov al,[ebp+00h] cmp al,28h jz L0041B982 mov ecx,[esp+34h] inc edx mov edi,ebx mov [ecx+ebp],al or ecx,FFFFFFFFh xor eax,eax inc ebp repne scasb not ecx dec ecx cmp edx,ecx jl L0041B962 L0041B982: mov byte ptr [edx+L00704FEB],00h lea edx,[esp+30h] lea eax,[esp+18h] push edx lea ecx,[esp+20h] push eax push ecx push L004FEBE4 push 00000009h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] mov edi,[esp+28h] push L004E8108 mov ecx,[eax+04h] push edx mov edx,[esp+2Ch] add ecx,00000004h push ecx mov ecx,[L004E8108] push L00704FEC push 00000288h lea eax,[edi+edx] push 00000009h push eax push ecx call SUB_L004416F0 mov edx,[esp+60h] mov eax,[L00C837D4] add esp,00000034h cmp eax,edx jnz L0041BA4A mov eax,[esi+3Ch] 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 push 000008AEh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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] push eax push 000000CBh push 000008B0h push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h L0041BA4A: add edi,[esp+18h] mov [esp+14h],edi mov edi,[esp+28h] L0041BA56: mov edi,[edi+44h] test edi,edi mov [esp+28h],edi jnz L0041B90F pop edi pop esi pop ebp pop ebx add esp,0000004Ch retn ;------------------------------------------------------------------------------ L0041BA6D: and eax,0000FFFFh sub eax,ebx dec eax cmp word ptr [esi+00000158h],0000h mov [esp+2Ch],eax jbe L0041BF42 mov ecx,[esi+38h] mov edx,[ecx] call [edx+30h] test eax,eax jz L0041BF42 mov eax,[esi+38h] mov edx,[esp+2Ch] xor ecx,ecx mov eax,[eax+000000ACh] test edx,edx jle L0041BABE L0041BAAA: mov eax,[eax+44h] test eax,eax jz L0041BF42 mov edx,[esp+2Ch] inc ecx cmp ecx,edx jl L0041BAAA L0041BABE: test eax,eax jz L0041BF42 xor ecx,ecx mov cx,[eax+40h] mov eax,ecx dec eax test eax,eax mov [esp+14h],eax jl L0041BF42 mov ebx,eax cdq and edx,00000007h add eax,edx mov edi,eax sar edi,03h cmp edi,00000007h ja L0041BB2C jmp [CASE_PROCTABLE_0041C468+edi*4] CASE_0041C468_PROC0000: mov eax,SSZ004FF00C_First_Circle jmp L0041BB31 CASE_0041C468_PROC0001: mov eax,SSZ004FEFFC_Second_Circle jmp L0041BB31 CASE_0041C468_PROC0002: mov eax,SSZ004FEFEC_Third_Circle jmp L0041BB31 CASE_0041C468_PROC0003: mov eax,SSZ004FEFDC_Fourth_Circle jmp L0041BB31 CASE_0041C468_PROC0004: mov eax,SSZ004FEFCC_Fifth_Circle jmp L0041BB31 CASE_0041C468_PROC0005: mov eax,SSZ004FEFBC_Sixth_Circle jmp L0041BB31 CASE_0041C468_PROC0006: mov eax,SSZ004FEFAC_Seventh_Circle jmp L0041BB31 CASE_0041C468_PROC0007: mov eax,SSZ004FEF9C_Eighth_Circle jmp L0041BB31 L0041BB2C: mov eax,SSZ004FEF90_Bad_Circle L0041BB31: lea edx,[esp+30h] lea ecx,[esp+18h] push edx lea edx,[esp+20h] push ecx push edx push eax push 00000009h call SUB_L00441BC0 mov eax,[L004E8100] mov ecx,[L004E80F8] mov edx,[esp+30h] sub eax,ecx sub eax,edx add esp,00000014h cdq sub eax,edx sar eax,1 add eax,ecx mov ecx,[esp+38h] add ecx,00000032h cmp eax,ecx jge L0041BB72 mov eax,ecx L0041BB72: cmp edi,00000007h ja L0041BBB6 jmp [CASE_PROCTABLE_0041C488+edi*4] CASE_0041C488_PROC0000: mov ecx,SSZ004FF00C_First_Circle jmp L0041BBBB CASE_0041C488_PROC0001: mov ecx,SSZ004FEFFC_Second_Circle jmp L0041BBBB CASE_0041C488_PROC0002: mov ecx,SSZ004FEFEC_Third_Circle jmp L0041BBBB CASE_0041C488_PROC0003: mov ecx,SSZ004FEFDC_Fourth_Circle jmp L0041BBBB CASE_0041C488_PROC0004: mov ecx,SSZ004FEFCC_Fifth_Circle jmp L0041BBBB CASE_0041C488_PROC0005: mov ecx,SSZ004FEFBC_Sixth_Circle jmp L0041BBBB CASE_0041C488_PROC0006: mov ecx,SSZ004FEFAC_Seventh_Circle jmp L0041BBBB CASE_0041C488_PROC0007: mov ecx,SSZ004FEF9C_Eighth_Circle jmp L0041BBBB L0041BBB6: mov ecx,SSZ004FEF90_Bad_Circle L0041BBBB: mov edx,[esi+20h] push L004E80F8 push edx mov edx,[esi+3Ch] mov edx,[edx+04h] add edx,00000004h push edx mov edx,[L004E80FC] push ecx mov ecx,[esp+20h] push 00000000h add edx,ecx push 00000006h push edx push eax call SUB_L004416F0 mov ebx,[L005073E0+ebx*8] add esp,00000020h xor edx,edx test ebx,ebx jz L0041BC33 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0041BC33 mov eax,L00704FEC mov ebp,ebx sub eax,ebx mov [esp+34h],eax L0041BC13: mov al,[ebp+00h] cmp al,28h jz L0041BC33 mov ecx,[esp+34h] inc edx mov edi,ebx mov [ecx+ebp],al or ecx,FFFFFFFFh xor eax,eax inc ebp repne scasb not ecx dec ecx cmp edx,ecx jl L0041BC13 L0041BC33: mov byte ptr [edx+L00704FEB],00h mov eax,[esi+3Ch] mov edx,[esi+20h] push 00000000h mov ecx,[eax+04h] mov eax,[L004E80F8] push 0000000Eh push 00000000h push L004E80F8 push edx mov edx,[L004E8100] add ecx,00000004h push ecx mov ecx,[esp+38h] sub edx,eax sub edx,ecx lea eax,[eax+ecx+02h] sub edx,00000002h push edx mov edx,[L004E80FC] push L00704FEC push 00000000h add edx,00000018h push 00000006h push edx push eax call SUB_L00441160 mov ecx,[esi+20h] mov edx,[esi+3Ch] push 00000000h push 0000000Eh push 00000000h mov edi,[L004E8100] push L004E80F8 mov [esp+58h],eax push ecx mov ecx,[edx+04h] mov edx,[esp+64h] add ecx,00000004h push ecx mov ecx,[L004E80F8] sub edi,ecx sub edi,edx lea ecx,[ecx+edx+02h] sub edi,00000002h push edi mov edi,[esp+60h] mov ebx,[L005075E8+edi*4] push ebx mov ebx,[L004E80FC] push 00000288h push 00000008h lea eax,[ebx+eax+1Ch] push eax push ecx call SUB_L00441160 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] add esp,00000060h add edi,000008C0h push edx mov edx,[ecx+04h] mov ecx,[L004E80F8] push eax mov eax,[L004E80FC] add edx,00000004h add eax,0000001Eh push edx push eax push ecx push edi push SUB_L004B95C0 call SUB_L00443500 mov edx,[esi+3Ch] mov eax,[esp+40h] mov ecx,[L004E80FC] mov ebp,[L004E80F8] mov edi,[edx+04h] lea edx,[esp+50h] lea ebx,[ecx+eax+22h] lea eax,[esp+44h] push edx push eax push 00000835h call SUB_L004434A0 mov eax,[L004E8100] add esp,00000028h cmp ebp,eax jg L0041BDBE mov ecx,[esp+28h] L0041BD58: add ecx,ebp cmp ecx,eax jl L0041BD8A xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx lea ecx,[edi+04h] push eax push ecx push ebx push ebp push L004E80F8 push 00000835h push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h jmp L0041BDAF L0041BD8A: xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx lea ecx,[edi+04h] push eax push ecx push ebx push ebp push 00000835h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0041BDAF: mov ecx,[esp+28h] mov eax,[L004E8100] add ebp,ecx cmp ebp,eax jle L0041BD58 L0041BDBE: mov eax,[esi+3Ch] mov edx,[esi+20h] push L004E80F8 push edx mov ecx,[eax+04h] mov edx,[esp+18h] mov eax,[L004E80FC] add ecx,00000004h push ecx mov ecx,[esp+30h] add eax,edx push SSZ004FF180_Reagents_ push 00000000h push 00000006h lea edx,[eax+ecx+26h] mov eax,[L004E80F8] push edx push eax call SUB_L004410C0 mov ecx,[esp+44h] mov edx,[L004E80FC] mov eax,[esp+34h] add esp,00000020h lea ebx,[edx+ecx+36h] or ecx,FFFFFFFFh mov edx,[L005076EC+eax*4] xor eax,eax mov edi,edx xor ebp,ebp repne scasb not ecx dec ecx test ecx,ecx jle L0041BED0 L0041BE2B: movsx eax,[edx+ebp] add eax,FFFFFFCFh cmp eax,00000007h ja L0041BE76 jmp [CASE_PROCTABLE_0041C4A8+eax*4] CASE_0041C4A8_PROC0000: mov eax,SSZ004FF0E8_Bloodmoss jmp L0041BE7B CASE_0041C4A8_PROC0001: mov eax,SSZ004FF0DC_Nightshade jmp L0041BE7B CASE_0041C4A8_PROC0002: mov eax,SSZ004FF0D4_Garlic jmp L0041BE7B CASE_0041C4A8_PROC0003: mov eax,SSZ004FF0CC_Ginseng jmp L0041BE7B CASE_0041C4A8_PROC0004: mov eax,SSZ004FF0BC_Mandrake_root jmp L0041BE7B CASE_0041C4A8_PROC0005: mov eax,SSZ004FF0AC_Spiders__silk jmp L0041BE7B CASE_0041C4A8_PROC0006: mov eax,SSZ004FF09C_Sulfurous_ash jmp L0041BE7B CASE_0041C4A8_PROC0007: mov eax,SSZ004FF090_Black_pearl jmp L0041BE7B L0041BE76: mov eax,SSZ004FF084_Bad_reagent L0041BE7B: mov ecx,[esi+20h] mov edx,[esi+3Ch] push L004E80F8 push ecx mov ecx,[edx+04h] mov edx,[esp+18h] add ecx,00000004h push ecx mov ecx,[L004E80F8] push eax push 00000288h lea eax,[ebx+edx] push 00000009h push eax push ecx call SUB_L004410C0 mov edx,[esp+34h] add esp,00000020h add ebx,0000000Eh or ecx,FFFFFFFFh mov edx,[L005076EC+edx*4] xor eax,eax mov edi,edx inc ebp repne scasb not ecx dec ecx cmp ebp,ecx jl L0041BE2B L0041BED0: mov eax,[esp+14h] mov ecx,[L00C837D4] cmp ecx,eax jnz L0041BF42 mov ecx,[esi+3Ch] 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 00000002h push 000000B8h push 000008ADh push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+3Ch] 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,[L004E80FC] add eax,0000001Eh push eax push 000000B8h push 000008AFh push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h L0041BF42: xor ecx,ecx xor edx,edx mov cx,[esi+000000B4h] mov dx,[esi+000000B6h] inc ecx cmp ecx,edx jg L0041C41E mov ecx,[esi+38h] mov edi,[esp+2Ch] inc edi mov eax,[ecx] call [eax+30h] test eax,eax jz L0041C41E mov ecx,[esi+38h] mov eax,[ecx+000000ACh] xor ecx,ecx test edi,edi jle L0041BF91 L0041BF81: mov eax,[eax+44h] test eax,eax jz L0041C41E inc ecx cmp ecx,edi jl L0041BF81 L0041BF91: test eax,eax jz L0041C41E xor ebp,ebp mov bp,[eax+40h] dec ebp test ebp,ebp mov [esp+14h],ebp jl L0041C41E mov eax,ebp cdq and edx,00000007h add eax,edx mov ebx,eax sar ebx,03h cmp ebx,00000007h ja L0041BFFD jmp [CASE_PROCTABLE_0041C4C8+ebx*4] CASE_0041C4C8_PROC0000: mov eax,SSZ004FF00C_First_Circle jmp L0041C002 CASE_0041C4C8_PROC0001: mov eax,SSZ004FEFFC_Second_Circle jmp L0041C002 CASE_0041C4C8_PROC0002: mov eax,SSZ004FEFEC_Third_Circle jmp L0041C002 CASE_0041C4C8_PROC0003: mov eax,SSZ004FEFDC_Fourth_Circle jmp L0041C002 CASE_0041C4C8_PROC0004: mov eax,SSZ004FEFCC_Fifth_Circle jmp L0041C002 CASE_0041C4C8_PROC0005: mov eax,SSZ004FEFBC_Sixth_Circle jmp L0041C002 CASE_0041C4C8_PROC0006: mov eax,SSZ004FEFAC_Seventh_Circle jmp L0041C002 CASE_0041C4C8_PROC0007: mov eax,SSZ004FEF9C_Eighth_Circle jmp L0041C002 L0041BFFD: mov eax,SSZ004FEF90_Bad_Circle L0041C002: lea edx,[esp+30h] lea ecx,[esp+18h] push edx lea edx,[esp+20h] push ecx push edx push eax push 00000009h call SUB_L00441BC0 mov eax,[L004E8110] mov edi,[L004E8108] mov ecx,[esp+30h] sub eax,edi sub eax,ecx add esp,00000014h cdq sub eax,edx sar eax,1 add eax,edi lea edx,[eax+ecx] cmp edx,00000141h jle L0041C048 mov eax,00000141h sub eax,ecx L0041C048: cmp eax,edi jge L0041C04E mov eax,edi L0041C04E: cmp ebx,00000007h ja L0041C092 jmp [CASE_PROCTABLE_0041C4E8+ebx*4] CASE_0041C4E8_PROC0000: mov ecx,SSZ004FF00C_First_Circle jmp L0041C097 CASE_0041C4E8_PROC0001: mov ecx,SSZ004FEFFC_Second_Circle jmp L0041C097 CASE_0041C4E8_PROC0002: mov ecx,SSZ004FEFEC_Third_Circle jmp L0041C097 CASE_0041C4E8_PROC0003: mov ecx,SSZ004FEFDC_Fourth_Circle jmp L0041C097 CASE_0041C4E8_PROC0004: mov ecx,SSZ004FEFCC_Fifth_Circle jmp L0041C097 CASE_0041C4E8_PROC0005: mov ecx,SSZ004FEFBC_Sixth_Circle jmp L0041C097 CASE_0041C4E8_PROC0006: mov ecx,SSZ004FEFAC_Seventh_Circle jmp L0041C097 CASE_0041C4E8_PROC0007: mov ecx,SSZ004FEF9C_Eighth_Circle jmp L0041C097 L0041C092: mov ecx,SSZ004FEF90_Bad_Circle L0041C097: mov edx,[esi+20h] push L004E8108 push edx mov edx,[esi+3Ch] mov edx,[edx+04h] add edx,00000004h push edx mov edx,[L004E810C] push ecx mov ecx,[esp+20h] push 00000000h add edx,ecx push 00000006h push edx push eax call SUB_L004416F0 mov ebx,[L005073E0+ebp*8] add esp,00000020h xor edx,edx test ebx,ebx jz L0041C10F mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0041C10F mov eax,L00704FEC mov ebp,ebx sub eax,ebx mov [esp+34h],eax L0041C0EF: mov al,[ebp+00h] cmp al,28h jz L0041C10F mov ecx,[esp+34h] inc edx mov edi,ebx mov [ecx+ebp],al or ecx,FFFFFFFFh xor eax,eax inc ebp repne scasb not ecx dec ecx cmp edx,ecx jl L0041C0EF L0041C10F: mov byte ptr [edx+L00704FEB],00h mov eax,[esi+3Ch] mov edx,[esi+20h] push 00000000h mov ecx,[eax+04h] mov eax,[L004E8108] push 0000000Eh push 00000000h push L004E8108 push edx mov edx,[L004E8110] add ecx,00000004h push ecx mov ecx,[esp+38h] sub edx,eax sub edx,ecx lea eax,[eax+ecx+02h] sub edx,00000002h push edx mov edx,[L004E810C] push L00704FEC push 00000000h add edx,00000018h push 00000006h push edx push eax call SUB_L00441160 mov ecx,[esi+20h] mov edx,[esi+3Ch] push 00000000h push 0000000Eh push 00000000h mov edi,[L004E8110] push L004E8108 mov [esp+58h],eax push ecx mov ecx,[edx+04h] mov edx,[esp+64h] add ecx,00000004h push ecx mov ecx,[L004E8108] sub edi,ecx sub edi,edx lea ecx,[ecx+edx+02h] sub edi,00000002h push edi mov edi,[esp+60h] mov ebx,[L005075E8+edi*4] push ebx mov ebx,[L004E810C] push 00000288h push 00000008h lea eax,[ebx+eax+1Ch] push eax push ecx call SUB_L00441160 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] add esp,00000060h add edi,000008C0h push edx mov edx,[ecx+04h] mov ecx,[L004E8108] push eax mov eax,[L004E810C] add edx,00000004h add eax,0000001Eh push edx push eax push ecx push edi push SUB_L004B95C0 call SUB_L00443500 mov edx,[esi+3Ch] mov eax,[esp+40h] mov ecx,[L004E810C] mov ebp,[L004E8108] mov edi,[edx+04h] lea edx,[esp+50h] lea ebx,[ecx+eax+22h] lea eax,[esp+48h] push edx push eax push 00000835h call SUB_L004434A0 mov eax,[L004E8110] add esp,00000028h cmp ebp,eax jg L0041C29A mov ecx,[esp+2Ch] L0041C234: add ecx,ebp cmp ecx,eax jl L0041C266 xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx lea ecx,[edi+04h] push eax push ecx push ebx push ebp push L004E8108 push 00000835h push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h jmp L0041C28B L0041C266: xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx lea ecx,[edi+04h] push eax push ecx push ebx push ebp push 00000835h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0041C28B: mov ecx,[esp+2Ch] mov eax,[L004E8110] add ebp,ecx cmp ebp,eax jle L0041C234 L0041C29A: mov eax,[esi+3Ch] mov edx,[esi+20h] push L004E8108 push edx mov ecx,[eax+04h] mov edx,[esp+18h] mov eax,[L004E810C] add ecx,00000004h push ecx mov ecx,[esp+30h] add eax,edx push SSZ004FF180_Reagents_ push 00000000h push 00000006h lea edx,[eax+ecx+26h] mov eax,[L004E8108] push edx push eax call SUB_L004410C0 mov ecx,[esp+44h] mov edx,[L004E810C] mov eax,[esp+34h] add esp,00000020h lea ebx,[edx+ecx+36h] or ecx,FFFFFFFFh mov edx,[L005076EC+eax*4] xor eax,eax mov edi,edx xor ebp,ebp repne scasb not ecx dec ecx test ecx,ecx jle L0041C3AC L0041C307: movsx eax,[edx+ebp] add eax,FFFFFFCFh cmp eax,00000007h ja L0041C352 jmp [CASE_PROCTABLE_0041C508+eax*4] CASE_0041C508_PROC0000: mov eax,SSZ004FF0E8_Bloodmoss jmp L0041C357 CASE_0041C508_PROC0001: mov eax,SSZ004FF0DC_Nightshade jmp L0041C357 CASE_0041C508_PROC0002: mov eax,SSZ004FF0D4_Garlic jmp L0041C357 CASE_0041C508_PROC0003: mov eax,SSZ004FF0CC_Ginseng jmp L0041C357 CASE_0041C508_PROC0004: mov eax,SSZ004FF0BC_Mandrake_root jmp L0041C357 CASE_0041C508_PROC0005: mov eax,SSZ004FF0AC_Spiders__silk jmp L0041C357 CASE_0041C508_PROC0006: mov eax,SSZ004FF09C_Sulfurous_ash jmp L0041C357 CASE_0041C508_PROC0007: mov eax,SSZ004FF090_Black_pearl jmp L0041C357 L0041C352: mov eax,SSZ004FF084_Bad_reagent L0041C357: mov ecx,[esi+20h] mov edx,[esi+3Ch] push L004E8108 push ecx mov ecx,[edx+04h] mov edx,[esp+18h] add ecx,00000004h push ecx mov ecx,[L004E8108] push eax push 00000288h lea eax,[ebx+edx] push 00000009h push eax push ecx call SUB_L004410C0 mov edx,[esp+34h] add esp,00000020h add ebx,0000000Eh or ecx,FFFFFFFFh mov edx,[L005076EC+edx*4] xor eax,eax mov edi,edx inc ebp repne scasb not ecx dec ecx cmp ebp,ecx jl L0041C307 L0041C3AC: mov eax,[esp+14h] mov ecx,[L00C837D4] cmp ecx,eax jnz L0041C41E mov ecx,[esi+3Ch] 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 00000003h push 000000CBh push 000008AEh push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+3Ch] 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,[L004E810C] add eax,0000001Eh push eax push 000000CBh push 000008B0h push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h L0041C41E: pop edi pop esi pop ebp pop ebx add esp,0000004Ch retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0041C428: dd CASE_0041C428_PROC0000 dd CASE_0041C428_PROC0001 dd CASE_0041C428_PROC0002 dd CASE_0041C428_PROC0003 dd CASE_0041C428_PROC0004 dd CASE_0041C428_PROC0005 dd CASE_0041C428_PROC0006 dd CASE_0041C428_PROC0007 CASE_PROCTABLE_0041C448: dd CASE_0041C448_PROC0000 dd CASE_0041C448_PROC0001 dd CASE_0041C448_PROC0002 dd CASE_0041C448_PROC0003 dd CASE_0041C448_PROC0004 dd CASE_0041C448_PROC0005 dd CASE_0041C448_PROC0006 dd CASE_0041C448_PROC0007 CASE_PROCTABLE_0041C468: dd CASE_0041C468_PROC0000 dd CASE_0041C468_PROC0001 dd CASE_0041C468_PROC0002 dd CASE_0041C468_PROC0003 dd CASE_0041C468_PROC0004 dd CASE_0041C468_PROC0005 dd CASE_0041C468_PROC0006 dd CASE_0041C468_PROC0007 CASE_PROCTABLE_0041C488: dd CASE_0041C488_PROC0000 dd CASE_0041C488_PROC0001 dd CASE_0041C488_PROC0002 dd CASE_0041C488_PROC0003 dd CASE_0041C488_PROC0004 dd CASE_0041C488_PROC0005 dd CASE_0041C488_PROC0006 dd CASE_0041C488_PROC0007 CASE_PROCTABLE_0041C4A8: dd CASE_0041C4A8_PROC0000 dd CASE_0041C4A8_PROC0001 dd CASE_0041C4A8_PROC0002 dd CASE_0041C4A8_PROC0003 dd CASE_0041C4A8_PROC0004 dd CASE_0041C4A8_PROC0005 dd CASE_0041C4A8_PROC0006 dd CASE_0041C4A8_PROC0007 CASE_PROCTABLE_0041C4C8: dd CASE_0041C4C8_PROC0000 dd CASE_0041C4C8_PROC0001 dd CASE_0041C4C8_PROC0002 dd CASE_0041C4C8_PROC0003 dd CASE_0041C4C8_PROC0004 dd CASE_0041C4C8_PROC0005 dd CASE_0041C4C8_PROC0006 dd CASE_0041C4C8_PROC0007 CASE_PROCTABLE_0041C4E8: dd CASE_0041C4E8_PROC0000 dd CASE_0041C4E8_PROC0001 dd CASE_0041C4E8_PROC0002 dd CASE_0041C4E8_PROC0003 dd CASE_0041C4E8_PROC0004 dd CASE_0041C4E8_PROC0005 dd CASE_0041C4E8_PROC0006 dd CASE_0041C4E8_PROC0007 CASE_PROCTABLE_0041C508: dd CASE_0041C508_PROC0000 dd CASE_0041C508_PROC0001 dd CASE_0041C508_PROC0002 dd CASE_0041C508_PROC0003 dd CASE_0041C508_PROC0004 dd CASE_0041C508_PROC0005 dd CASE_0041C508_PROC0006 dd CASE_0041C508_PROC0007 Align 16 SUB_L0041C530: sub esp,00000008h push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov ax,[esi+000000B4h] mov [esp+10h],ebx cmp ax,0001h jc L0041C642 cmp ax,0008h ja L0041C642 mov edi,[esp+20h] mov eax,[L004E80FC] cmp edi,eax jl L0041C642 cmp edi,[L004E8104] jg L0041C642 mov eax,[esp+1Ch] mov ecx,[L004E80F8] cmp eax,ecx jl L0041C597 cmp eax,[L004E8100] jg L0041C597 mov dword ptr [esp+20h],00000001h jmp L0041C5B3 L0041C597: cmp eax,[L004E8108] jl L0041C642 cmp eax,[L004E8110] jg L0041C642 mov [esp+20h],ebx L0041C5B3: lea eax,[esp+1Ch] lea ecx,[esp+10h] push eax lea edx,[esp+18h] push ecx push edx push L004FEBE4 push 00000009h call SUB_L00441BC0 mov edx,[L004E80FC] mov eax,edi sub eax,edx add esp,00000014h sub eax,00000026h xor edi,edi cdq idiv [esp+10h] mov ebp,eax mov eax,[esi+38h] mov ecx,[eax+000000ACh] test ecx,ecx jz L0041C642 L0041C5F4: mov edx,[esp+20h] xor eax,eax mov ax,[ecx+40h] test edx,edx jz L0041C61C dec eax cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[esi+000000B4h] sar eax,03h inc eax cmp eax,edx jz L0041C635 jmp L0041C63A L0041C61C: dec eax cdq and edx,00000007h add eax,edx xor edx,edx mov dx,[esi+000000B4h] sar eax,03h inc eax inc edx cmp eax,edx jnz L0041C63A L0041C635: cmp ebx,ebp jz L0041C64F inc ebx L0041C63A: mov ecx,[ecx+44h] inc edi test ecx,ecx jnz L0041C5F4 L0041C642: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0041C64F: mov eax,edi pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0041C660: push FFFFFFFFh push L004E0F08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov [esi+30h],eax mov eax,[esp+2Ch] mov [esi+34h],ecx lea ecx,[esi+24h] mov [esi+000000B4h],eax lea ebx,[esi+20h] add eax,000008C0h push ecx xor ebp,ebp push ebx push eax mov [esp+28h],ebp mov dword ptr [esi],L004E8428 mov dword ptr [esi+08h],SSZ004FF1C0_spellicon_gump mov [esi+60h],ebp mov [esi+000000A4h],ebp mov [esi+64h],ebp mov [esi+38h],ebp mov [esi+54h],eax mov [esi+50h],ebp mov [esi+4Ch],ebp mov [esi+48h],ebp mov [esi+44h],ebp mov [esi+40h],ebp call SUB_L004434A0 mov eax,[ebx] push SSZ004FF1A4_framedata_for_CStatusGump add eax,00000007h push 00000008h and al,F8h mov [esi+14h],ebp mov [esi+1Ch],eax mov [ebx],eax mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF194_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] 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+54h] push ebp push ebp push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+4Ch] add esp,00000038h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0041C7C0: push esi mov esi,ecx call SUB_L0041C7E0 test byte ptr [esp+08h],01h jz L0041C7D8 push esi call SUB_L004D4F9E add esp,00000004h L0041C7D8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0041C7E0: push FFFFFFFFh push L004E0F28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E8428 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0041C82D push SSZ004FF1E4_spellicon_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0041C82D: mov eax,[esi+3Ch] test eax,eax jz L0041C849 push SSZ004FF1D0_spellicon_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0041C849: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041C870: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esp+10h] push 00000000h mov [esi+74h],ecx mov ecx,esi mov [esi+70h],eax call SUB_L004584E0 mov edi,00000001h push 00000000h mov ecx,esi mov [esi+000000A4h],edi mov [esi+000000B8h],edi call SUB_L004584E0 cmp [esi+000000B0h],edi jnz L0041C8BC mov dword ptr [esi+000000B0h],00000002h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0041C8BC: mov [esi+000000B0h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041C8E0: sub esp,00000014h push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+0000009Ch] mov [esi+000000A4h],edi cmp eax,edi jz L0041C916 push edi mov [esi+0000009Ch],edi mov [esi+000000B0h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ L0041C916: cmp dword ptr [esi+000000B0h],00000002h jnz L0041C956 mov eax,[esi+000000B4h] lea ecx,[esp+08h] inc eax mov [esi+000000B0h],edi push eax push L004FF074 push ecx call SUB_L004D512F lea edx,[esp+14h] push edx push 00000056h call SUB_L0047C940 mov eax,[esi+000000B4h] add esp,00000014h mov [L00C837D4],eax L0041C956: push edi call SUB_L00476670 add esp,00000004h pop edi pop esi add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041C970: push 00000000h call SUB_L004D0FB0 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041C980: mov eax,[ecx+000000A4h] test eax,eax jz L0041C9A7 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L0041C9A7: retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041C9B0: push esi mov esi,ecx push edi mov eax,[esi+000000A4h] test eax,eax jz L0041C9DC mov ecx,[esi+000000B8h] inc ecx mov eax,ecx mov [esi+000000B8h],ecx cmp eax,00000002h jnz L0041C9DC mov dword ptr [esi+000000B8h],00000000h L0041C9DC: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B0h] mov ecx,00000001h cmp edx,ecx jnz L0041CA1D sub edi,[esi+000000ACh] cmp edi,eax jbe L0041CA1D mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L0041CA1D mov [esi+0000009Ch],ecx L0041CA1D: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L0041CA20: push FFFFFFFFh push L004E0F5E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov eax,00000002h xor ebx,ebx mov [esi+000000C8h],eax mov [esi+000000B0h],eax mov [esi+000000CCh],eax mov eax,[esp+24h] mov [esi+54h],eax mov ecx,00000280h mov eax,000001E0h push SSZ004FF288_framedata_for_CBritMapGump push 00000008h mov [esp+20h],ebx mov dword ptr [esi],L004E85E4 mov dword ptr [esi+08h],SSZ004FF27C_map_gump mov [esi+60h],ebx mov [esi+5Ch],ebx mov [esi+64h],ebx mov [esi+000000B4h],ebx mov [esi+20h],ecx mov [esi+24h],eax mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+000000B8h],ebx mov [esi+000000BCh],ebx mov [esi+000000C0h],ecx mov [esi+000000C4h],eax mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000ECh mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L004D4FA9 add esp,00000014h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+18h],01h jz L0041CB7C push ebx push 000015A6h push 000015A4h push SUB_L00420CA0 push ebx push ebx push esi push 000001BDh push 00000262h mov ecx,eax call SUB_L00421F40 jmp L0041CB7E L0041CB7C: xor eax,eax L0041CB7E: mov [esi+00000114h],eax mov dword ptr [eax+000000ACh],000015A5h mov ecx,[esi+00000114h] push 00000001h push esi mov [esp+20h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+18h],02h jz L0041CBE0 push ebx push 000015A3h push 000015A1h push L00420C70 push ebx push ebx push esi push 000001BDh push 0000024Ah mov ecx,eax call SUB_L00421F40 jmp L0041CBE2 L0041CBE0: xor eax,eax L0041CBE2: mov [esi+00000110h],eax mov dword ptr [eax+000000ACh],000015A2h mov ecx,[esi+00000110h] push 00000001h push esi mov [esp+20h],bl call SUB_L004587A0 mov ecx,esi call SUB_L0041D500 mov ecx,esi call SUB_L0041CD10 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0041CC30: push esi mov esi,ecx call SUB_L0041CC50 test byte ptr [esp+08h],01h jz L0041CC48 push esi call SUB_L004D4F9E add esp,00000004h L0041CC48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0041CC50: push FFFFFFFFh push L004E0F78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E85E4 xor edi,edi mov [L00B29488],edi mov eax,[esi+3Ch] mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L0041CC9E push SSZ004FF2BC_CityChoice_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0041CC9E: mov eax,[esi+3Ch] cmp eax,edi jz L0041CCB6 push SSZ004FF2A4_CityChoice_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0041CCB6: mov ecx,[esi+00000110h] cmp ecx,edi jz L0041CCC6 mov edx,[ecx] push 00000001h call [edx] L0041CCC6: mov ecx,[esi+00000114h] cmp ecx,edi jz L0041CCD6 mov eax,[ecx] push 00000001h call [eax] L0041CCD6: mov ecx,[esi+000000B4h] cmp ecx,edi jz L0041CCE6 mov edx,[ecx] push 00000001h call [edx] L0041CCE6: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041CD10: sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+54h] add eax,00000004h push eax push 00000031h push 00000039h push ecx push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] push edx mov edx,[ecx+04h] push eax add edx,00000004h push edx push 00000004h push 00000000h push 000015A0h push SUB_L004B9B80 call SUB_L00443500 lea eax,[esp+44h] lea ecx,[esp+48h] push eax lea edx,[esp+50h] push ecx push edx push L004FEBE4 push 00000003h call SUB_L00441BC0 add esp,0000004Ch xor edi,edi L0041CD81: mov al,[L00C8D94C] test al,al jnz L0041CD9B mov eax,00000001h mov ecx,edi shl eax,cl test al,1Eh jz L0041CE50 L0041CD9B: mov eax,[esi+000000CCh] mov ebx,00000058h cmp eax,edi jnz L0041CDAF mov ebx,00000099h L0041CDAF: mov eax,[esi+000000B0h] cmp eax,edi jnz L0041CDBE mov ebx,00000481h L0041CDBE: mov edx,[esi+24h] xor ecx,ecx cmp eax,edi push edx mov edx,[esi+3Ch] setz cl add ecx,000004B9h cmp edi,00000003h mov eax,ecx mov ecx,[esi+20h] push ecx mov ecx,[edx+04h] jnz L0041CDF6 mov edx,[L004E85CC] add ecx,00000004h push ecx mov ecx,[L004E85A8] push edx add ecx,0000003Ch jmp L0041CE09 L0041CDF6: mov edx,[L004E85C0+edi*4] add ecx,00000004h push ecx mov ecx,[L004E859C+edi*4] push edx L0041CE09: push ecx push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+3Ch] mov eax,[esi+20h] add esp,0000001Ch lea edx,[esi+000000B8h] push edx mov edx,[ecx+04h] mov ecx,[L004E85C0+edi*4] push eax mov eax,[L004FF1FC+edi*4] add edx,00000004h push edx mov edx,[L004E859C+edi*4] push eax push ebx push 00000003h push ecx push edx call SUB_L004416F0 add esp,00000020h L0041CE50: inc edi cmp edi,00000009h jl L0041CD81 pop edi pop esi pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041CE70: sub esp,00000018h push ebx push esi push edi mov edi,ecx lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[edi+3Ch] mov eax,[esp+10h] mov ecx,[esp+0Ch] mov ebx,[esp+28h] mov esi,[edx+04h] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0041CF2F mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000028h test esi,esi jz L0041CF2F L0041CF20: mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0041CF20 L0041CF2F: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0041CF40: mov eax,fs:[00000000h] push FFFFFFFFh push L004E0FB3 push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp push esi xor esi,esi push edi push esi push esi push esi push SSZ004FF2E0_citytext call SUB_L0046E410 push eax push SSZ004FF2E0_citytext call SUB_L0046EA70 mov ebx,eax add esp,00000018h cmp ebx,esi jnz L0041CF86 L0041CF7F: xor eax,eax jmp L0041D0DA L0041CF86: push 00000010h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,esi mov [esp+40h],esi jz L0041CFAB mov ecx,eax call SUB_L004C8060 mov ebp,eax mov [esp+14h],ebp jmp L0041CFB1 L0041CFAB: mov [esp+14h],esi mov ebp,esi L0041CFB1: mov eax,[esp+48h] mov dword ptr [esp+40h],FFFFFFFFh inc eax mov [esp+10h],esi cmp eax,esi mov [esp+48h],eax jle L0041D02E L0041CFCA: mov eax,esi push 00000000h push eax mov ecx,ebx inc esi call SUB_L0046FD40 push SSZ004FF2D8__END lea ecx,[esp+1Ch] mov edi,eax call SUB_L004C8240 lea ecx,[esp+18h] mov dword ptr [esp+40h],00000001h push ecx mov ecx,edi call SUB_L004C8590 lea ecx,[esp+18h] mov ebp,eax mov dword ptr [esp+40h],FFFFFFFFh call SUB_L004C8100 test ebp,ebp jz L0041D016 inc [esp+10h] L0041D016: test edi,edi jz L0041CF7F mov edx,[esp+10h] mov eax,[esp+48h] cmp edx,eax jl L0041CFCA mov ebp,[esp+14h] L0041D02E: mov eax,esi push 00000000h push eax mov ecx,ebx inc esi call SUB_L0046FD40 push eax L0041D03C: mov ecx,ebp call SUB_L004C8470 mov eax,esi push 00000000h push eax mov ecx,ebx inc esi call SUB_L0046FD40 push SSZ004FF2D8__END lea ecx,[esp+1Ch] mov edi,eax call SUB_L004C8240 lea eax,[esp+18h] mov ecx,edi push eax mov dword ptr [esp+44h],00000002h call SUB_L004C8590 test eax,eax jnz L0041D081 test edi,edi mov byte ptr [esp+48h],01h jnz L0041D086 L0041D081: mov byte ptr [esp+48h],00h L0041D086: lea ecx,[esp+18h] mov dword ptr [esp+40h],FFFFFFFFh call SUB_L004C8100 mov al,[esp+48h] test al,al jz L0041D0D8 push L004FF2D4 lea ecx,[esp+2Ch] call SUB_L004C8240 lea ecx,[esp+28h] mov dword ptr [esp+40h],00000003h push ecx mov ecx,ebp call SUB_L004C8470 lea ecx,[esp+28h] mov dword ptr [esp+40h],FFFFFFFFh call SUB_L004C8100 push edi jmp L0041D03C L0041D0D8: mov eax,ebp L0041D0DA: mov ecx,[esp+38h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn 0004h ;------------------------------------------------------------------------------ Align 4 L0041D0F0: sub esp,00000008h push ebx push ebp push esi push edi mov [esp+10h],ecx push 00000000h call SUB_L004D0FB0 mov edi,[esp+24h] mov ebx,[esp+20h] add esp,00000004h or ebp,FFFFFFFFh xor esi,esi L0041D112: mov al,[L00C8D94C] test al,al jnz L0041D128 mov eax,00000001h mov ecx,esi shl eax,cl test al,1Eh jz L0041D177 L0041D128: lea ecx,[esp+14h] lea edx,[esp+1Ch] push ecx mov ecx,[L004FF1FC+esi*4] lea eax,[esp+24h] push edx push eax push ecx push 00000003h call SUB_L00441BC0 mov eax,[L004E859C+esi*4] add esp,00000014h cmp ebx,eax jl L0041D177 mov edx,[esp+20h] add eax,edx cmp ebx,eax jg L0041D177 mov eax,[L004E85C0+esi*4] mov ecx,[esp+1Ch] mov edx,eax sub edx,ecx cmp edi,edx jl L0041D177 add eax,ecx cmp edi,eax jle L0041D17F L0041D177: inc esi cmp esi,00000009h jl L0041D112 jmp L0041D181 L0041D17F: mov ebp,esi L0041D181: mov ecx,[esp+10h] mov [ecx+000000CCh],ebp call SUB_L0041CD10 pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 8 L0041D1A0: sub esp,00000008h push ebx mov ebx,[esp+14h] push ebp mov ebp,[esp+14h] push esi push edi mov edi,ecx mov dword ptr [esp+10h],FFFFFFFFh xor esi,esi L0041D1BB: mov al,[L00C8D94C] test al,al jnz L0041D1D1 mov eax,00000001h mov ecx,esi shl eax,cl test al,1Eh jz L0041D220 L0041D1D1: lea ecx,[esp+14h] lea edx,[esp+1Ch] push ecx mov ecx,[L004FF1FC+esi*4] lea eax,[esp+24h] push edx push eax push ecx push 00000003h call SUB_L00441BC0 mov eax,[L004E859C+esi*4] add esp,00000014h cmp ebp,eax jl L0041D220 mov edx,[esp+20h] add eax,edx cmp ebp,eax jg L0041D220 mov eax,[L004E85C0+esi*4] mov ecx,[esp+1Ch] mov edx,eax sub edx,ecx cmp ebx,edx jl L0041D220 add eax,ecx cmp ebx,eax jle L0041D228 L0041D220: inc esi cmp esi,00000009h jl L0041D1BB jmp L0041D22C L0041D228: mov [esp+10h],esi L0041D22C: mov eax,[esp+10h] mov ecx,[edi+000000C8h] cmp eax,ecx jz L0041D26F cmp eax,FFFFFFFFh jz L0041D26F mov eax,[L004FF1FC+eax*4] push 00000040h lea ecx,[edi+000000D0h] push eax push ecx call SUB_L004D52C0 mov eax,[esp+1Ch] add esp,0000000Ch mov ecx,edi mov [edi+000000B0h],eax mov [edi+000000C8h],eax call SUB_L0041D500 L0041D26F: mov ecx,edi call SUB_L0041CD10 mov esi,00000001h push 00000000h mov ecx,edi mov [edi+70h],ebp mov [edi+74h],ebx mov [edi+000000ACh],esi mov [edi+000000A8h],esi call SUB_L004584E0 cmp [edi+000000A4h],esi jnz L0041D2B2 mov dword ptr [edi+000000A4h],00000002h pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0041D2B2: mov [edi+000000A4h],esi call [KERNEL32.dll!GetTickCount] mov [edi+000000A0h],eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 4 L0041D2D0: push ecx push ebx mov ebx,ecx push esi xor esi,esi fld dword ptr [ebx+0000009Ch] fcomp dword ptr [L004E8758] mov [ebx+000000ACh],esi fnstsw ax test ah,40h jnz L0041D30B push esi mov [ebx+0000009Ch],esi mov [ebx+000000A4h],esi call SUB_L00476670 add esp,00000004h pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L0041D30B: cmp dword ptr [ebx+000000A4h],00000002h jnz L0041D39E push ebp mov ebp,[esp+14h] push edi mov edi,[esp+1Ch] mov [ebx+000000A4h],esi L0041D328: mov al,[L00C8D94C] test al,al jnz L0041D33E mov eax,00000001h mov ecx,esi shl eax,cl test al,1Eh jz L0041D38D L0041D33E: lea ecx,[esp+10h] lea edx,[esp+18h] push ecx mov ecx,[L004FF1FC+esi*4] lea eax,[esp+20h] push edx push eax push ecx push 00000003h call SUB_L00441BC0 mov eax,[L004E859C+esi*4] add esp,00000014h cmp ebp,eax jl L0041D38D mov edx,[esp+1Ch] add eax,edx cmp ebp,eax jg L0041D38D mov eax,[L004E85C0+esi*4] mov ecx,[esp+18h] mov edx,eax sub edx,ecx cmp edi,edx jl L0041D38D add eax,ecx cmp edi,eax jle L0041D393 L0041D38D: inc esi cmp esi,00000009h jl L0041D328 L0041D393: mov ecx,ebx call SUB_L00420CA0 pop edi xor esi,esi pop ebp L0041D39E: push esi call SUB_L00476670 add esp,00000004h pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0041D3B0: sub esp,00000010h push esi push edi mov edi,ecx call [KERNEL32.dll!GetTickCount] mov esi,eax call [USER32.dll!GetDoubleClickTime] cmp dword ptr [edi+000000A4h],00000001h jnz L0041D3F6 sub esi,[edi+000000A0h] cmp esi,eax jbe L0041D3F6 mov eax,[edi+000000ACh] mov dword ptr [edi+000000A4h],00000000h test eax,eax jz L0041D3F6 mov dword ptr [edi+0000009Ch],3F800000h L0041D3F6: mov eax,[edi+000000ACh] xor esi,esi cmp eax,esi jz L0041D4F1 mov ecx,[edi+000000A8h] inc ecx mov eax,ecx mov [edi+000000A8h],ecx cmp eax,00000002h jnz L0041D4F1 push ebx mov ebx,[edi+70h] push ebp mov ebp,[edi+74h] mov [edi+000000A8h],esi mov dword ptr [esp+10h],FFFFFFFFh L0041D434: mov al,[L00C8D94C] test al,al jnz L0041D44A mov eax,00000001h mov ecx,esi shl eax,cl test al,1Eh jz L0041D499 L0041D44A: lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx mov ecx,[L004FF1FC+esi*4] lea eax,[esp+18h] push edx push eax push ecx push 00000003h call SUB_L00441BC0 mov eax,[L004E859C+esi*4] add esp,00000014h cmp ebx,eax jl L0041D499 mov edx,[esp+14h] add eax,edx cmp ebx,eax jg L0041D499 mov eax,[L004E85C0+esi*4] mov ecx,[esp+18h] mov edx,eax sub edx,ecx cmp ebp,edx jl L0041D499 add eax,ecx cmp ebp,eax jle L0041D4A1 L0041D499: inc esi cmp esi,00000009h jl L0041D434 jmp L0041D4A5 L0041D4A1: mov [esp+10h],esi L0041D4A5: mov eax,[esp+10h] mov ecx,[edi+000000C8h] pop ebp cmp eax,ecx pop ebx jz L0041D4EA cmp eax,FFFFFFFFh jz L0041D4EA mov eax,[L004FF1FC+eax*4] push 00000040h lea ecx,[edi+000000D0h] push eax push ecx call SUB_L004D52C0 mov eax,[esp+14h] add esp,0000000Ch mov ecx,edi mov [edi+000000B0h],eax mov [edi+000000C8h],eax call SUB_L0041D500 L0041D4EA: mov ecx,edi call SUB_L0041CD10 L0041D4F1: pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041D500: push FFFFFFFFh push L004E0FCB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov eax,[esi+000000C8h] cmp eax,FFFFFFFFh jz L0041D5FA push eax call SUB_L0041CF40 mov edi,eax test edi,edi jz L0041D5FA mov ecx,[esi+000000B4h] test ecx,ecx jz L0041D553 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi+000000B4h],00000000h L0041D553: mov eax,[esi+000000B4h] test eax,eax jnz L0041D5E5 push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L0041D593 push 00000001h push 00000000h push 00002002h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0041D595 L0041D593: xor eax,eax L0041D595: push 00000001h mov ecx,edi mov dword ptr [esp+18h],FFFFFFFFh mov [esi+000000B4h],eax call SUB_L004C8360 mov ecx,[esi+000000B4h] push eax call SUB_L00463F60 mov ecx,[esi+000000B4h] push 0000016Fh push 000000ADh push 0000003Ch push 000001C4h call SUB_L00463DF0 pop edi pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041D5E5: push 00000001h mov ecx,edi call SUB_L004C8360 mov ecx,[esi+000000B4h] push eax call SUB_L00463F60 L0041D5FA: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041D610: push esi mov esi,ecx or ecx,FFFFFFFFh mov [L0070503C],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_L00401E90 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041D650: push FFFFFFFFh push L004E0FEB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch mov eax,[esp+20h] push ebx push ebp mov ebp,ecx mov ecx,[esp+24h] push esi push eax push ecx call SUB_L004820C0 mov esi,[ebp+00000144h] mov ecx,eax mov eax,[L00705040] xor ebx,ebx add esp,00000008h add ecx,esi mov edx,[eax+00000104h] mov [esp+10h],ecx cmp edx,ebx mov [esp+0Ch],ebx jle L0041D746 push edi L0041D6A7: mov edx,[eax+00000100h] mov edi,[esp+2Ch] push 00000084h movsx esi,[edx+ebx] lea eax,[edx+ebx] mov edx,[esp+34h] add esi,edi movsx edi,[eax+02h] movsx eax,[eax+04h] add eax,ecx add edi,edx mov [ebp+00000148h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L0041D70A mov ecx,[L00705040] push edi push esi mov edx,[ecx+00000100h] mov cx,[edx+ebx+06h] push ecx mov ecx,eax call SUB_L00482160 jmp L0041D70C L0041D70A: xor eax,eax L0041D70C: mov eax,[eax+1Ch] mov dword ptr [esp+24h],FFFFFFFFh test eax,eax jz L0041D722 mov ecx,eax call SUB_L004045B0 L0041D722: mov eax,[L00705040] mov ecx,[esp+10h] inc ecx add ebx,00000010h mov edx,[eax+00000104h] mov [esp+10h],ecx cmp ecx,edx mov ecx,[esp+14h] jl L0041D6A7 pop edi L0041D746: mov edx,[esp+28h] mov eax,[esp+2Ch] mov [ebp+0000010Ch],ecx mov ecx,[esp+18h] mov [ebp+00000104h],edx mov [ebp+00000108h],eax pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0041D780: push ebx push ebp push esi mov esi,[L00705040] xor ebp,ebp mov ebx,ecx cmp esi,ebp jz L0041D7C9 mov eax,[esi+00000100h] cmp eax,ebp jz L0041D7BA mov ecx,[eax-04h] push edi lea edi,[eax-04h] push SUB_L00402C50 push ecx push 00000010h push eax call SUB_L004D53BE push edi call SUB_L004D4F9E add esp,00000004h pop edi L0041D7BA: push esi call SUB_L004D4F9E add esp,00000004h mov [L00705040],ebp L0041D7C9: mov [ebx+00000144h],ebp mov [ebx+00000148h],ebp pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041D7E0: push FFFFFFFFh push L004E100B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h mov edx,[esp+24h] mov [esp+08h],ecx lea eax,[esp+04h] push ebp lea ecx,[esp+04h] push eax push ecx push edx xor ebp,ebp push 0000000Eh push 0000000Dh mov [esp+18h],ebp mov [esp+1Ch],ebp call SUB_L0045EF20 add esp,00000014h cmp eax,ebp mov [esp+28h],eax jnz L0041D83E xor eax,eax pop ebp mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn 0010h ;------------------------------------------------------------------------------ L0041D83E: mov ecx,[esp+04h] mov eax,2AAAAAABh imul ecx sar edx,1 mov eax,edx push ebx shr eax,1Fh add edx,eax mov eax,[L00705040] push esi cmp eax,ebp push edi mov ebx,edx jz L0041D896 mov edi,eax cmp edi,ebp jz L0041D896 mov eax,[edi+00000100h] cmp eax,ebp jz L0041D88D mov ecx,[eax-04h] lea esi,[eax-04h] push SUB_L00402C50 push ecx push 00000010h push eax call SUB_L004D53BE push esi call SUB_L004D4F9E add esp,00000004h L0041D88D: push edi call SUB_L004D4F9E add esp,00000004h L0041D896: push 00000108h call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L0041D8AF mov [eax+00000100h],ebp jmp L0041D8B1 L0041D8AF: xor eax,eax L0041D8B1: mov edx,ebx mov [L00705040],eax shl edx,04h add edx,00000004h push edx call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebp mov [esp+2Ch],ebp jz L0041D8ED push SUB_L00402C50 push L00481090 lea esi,[eax+04h] push ebx push 00000010h push esi mov [eax],ebx call SUB_L004D549C jmp L0041D8EF L0041D8ED: xor esi,esi L0041D8EF: mov eax,[L00705040] mov edi,SSZ004FF2EC_multi mov [eax+00000100h],esi mov ecx,[L00705040] 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,[L00705040] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h cmp ebx,ebp rep movsb jle L0041D9FA mov ecx,[esp+34h] mov edi,ebx add ecx,00000002h L0041D93D: mov dx,[ecx] mov ebx,[L00705040] mov si,[ecx-02h] mov [esp+1Ch],dx mov dx,[ecx+02h] mov ebx,[ebx+00000100h] mov [esp+1Eh],dx mov ebp,[esp+1Ch] mov dx,[ecx+04h] add ebx,eax add ecx,0000000Ch mov [ebx],ebp mov [ebx+04h],dx mov edx,[L00705040] mov bx,[esp+38h] mov edx,[edx+00000100h] sub [edx+eax],bx add edx,eax mov bx,[esp+3Ch] mov edx,[L00705040] mov edx,[edx+00000100h] sub [edx+eax+02h],bx mov bx,[esp+40h] lea edx,[edx+eax+02h] mov edx,[L00705040] mov edx,[edx+00000100h] sub [edx+eax+04h],bx lea edx,[edx+eax+04h] add eax,00000010h mov edx,[L00705040] mov edx,[edx+00000100h] mov [edx+eax-0Ah],si mov edx,[L00705040] mov esi,[edx+00000100h] xor edx,edx dec edi mov [esi+eax-08h],dx mov esi,[L00705040] mov esi,[esi+00000100h] mov [esi+eax-04h],edx jnz L0041D93D L0041D9FA: mov ecx,[esp+18h] mov eax,00000001h pop edi pop esi mov dword ptr [ecx+00000104h],FFFFFFFFh mov [ecx+0000014Ch],eax mov ecx,[esp+1Ch] pop ebx pop ebp mov fs:[00000000h],ecx add esp,00000020h retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0041DA30: push FFFFFFFFh push L004E102B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00705040] push ebx push ebp xor ebp,ebp push esi cmp eax,ebp push edi mov [esp+10h],ecx jz L0041DA8F mov edi,eax cmp edi,ebp jz L0041DA8F mov eax,[edi+00000100h] cmp eax,ebp jz L0041DA86 mov ecx,[eax-04h] lea esi,[eax-04h] push SUB_L00402C50 push ecx push 00000010h push eax call SUB_L004D53BE push esi call SUB_L004D4F9E add esp,00000004h L0041DA86: push edi call SUB_L004D4F9E add esp,00000004h L0041DA8F: push 00000108h call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L0041DAA8 mov [eax+00000100h],ebp jmp L0041DAAA L0041DAA8: xor eax,eax L0041DAAA: mov ebx,[esp+24h] mov [L00705040],eax mov edx,ebx shl edx,04h add edx,00000004h push edx call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebp mov [esp+1Ch],ebp jz L0041DAEA push SUB_L00402C50 push L00481090 lea esi,[eax+04h] push ebx push 00000010h push esi mov [eax],ebx call SUB_L004D549C jmp L0041DAEC L0041DAEA: xor esi,esi L0041DAEC: mov eax,[L00705040] mov edi,SSZ004FF2F4_objlist mov [eax+00000100h],esi mov ecx,[L00705040] 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,[L00705040] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h cmp ebx,ebp rep movsb jle L0041DBD5 mov ecx,[esp+28h] mov edx,[esp+34h] mov esi,[esp+30h] add ecx,00000008h L0041DB40: mov edi,[L00705040] mov bp,[ecx-08h] add ecx,00000014h add eax,00000010h mov edi,[edi+00000100h] mov [edi+eax-0Ah],bp mov edi,[L00705040] mov bp,[ecx-18h] mov edi,[edi+00000100h] mov [edi+eax-08h],bp mov ebp,[L00705040] mov di,[ecx-14h] sub di,[esp+2Ch] mov ebp,[ebp+00000100h] mov [eax+ebp-10h],di mov ebp,[L00705040] mov di,[ecx-10h] mov ebp,[ebp+00000100h] sub di,si mov [eax+ebp-0Eh],di mov ebp,[L00705040] mov di,[ecx-0Ch] mov ebp,[ebp+00000100h] sub di,dx dec ebx mov [eax+ebp-0Ch],di mov edi,[L00705040] mov edi,[edi+00000100h] mov dword ptr [edi+eax-04h],00000000h jnz L0041DB40 L0041DBD5: mov ecx,[esp+10h] mov eax,00000001h pop edi pop esi mov dword ptr [ecx+00000104h],FFFFFFFFh mov [ecx+0000014Ch],eax mov ecx,[esp+0Ch] pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L0041DC10: mov eax,[L00C88518] test eax,eax jz L0041DC3F L0041DC19: mov ecx,[eax+1Ch] test ecx,ecx jz L0041DC2A call SUB_L004045B0 mov eax,[L00C88518] L0041DC2A: test eax,eax jz L0041DC3F mov edx,[eax] push 00000001h mov ecx,eax call [edx] mov eax,[L00C88518] test eax,eax jnz L0041DC19 L0041DC3F: retn ;------------------------------------------------------------------------------ L0041DC40: mov ecx,[ecx+38h] mov eax,[ecx] call [eax+28h] test eax,eax jz L0041DC54 push FFFFFFFFh call SUB_L0047C780 pop ecx L0041DC54: retn ;------------------------------------------------------------------------------ Align 16 L0041DC60: mov eax,[ecx+00000114h] sub esp,00000010h xor edx,edx push esi mov esi,[eax+14h] test esi,esi setz dl mov [eax+14h],edx mov eax,[ecx+38h] push 00000000h push 00000000h mov ecx,[eax+7Ch] push 00000000h push 00000006h lea edx,[esp+14h] push ecx push edx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+04h] push eax call SUB_L004BC750 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041DCB0: push FFFFFFFFh push L004E1056 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch mov eax,[L00B294DC] push ebx push esi push edi mov edi,ecx xor ebx,ebx push eax push ebx mov ecx,[edi+38h] push ebx push ecx mov [esp+1Ch],edi call SUB_L00455F70 mov esi,eax add esp,00000010h cmp esi,ebx jnz L0041DD72 mov edx,[edi+38h] mov eax,[L00C884DC] cmp edx,eax jz L0041DD32 call SUB_L004BCED0 test eax,eax jnz L0041DD32 push 00000184h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov dword ptr [esp+30h],00000001h jz L0041DD59 mov ecx,[edi+38h] push 00000001h push ecx mov ecx,eax call SUB_L004A3E60 jmp L0041DD5B L0041DD32: push 00000184h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov [esp+30h],ebx jz L0041DD59 mov edx,[edi+38h] push ebx push edx mov ecx,eax call SUB_L004A3E60 jmp L0041DD5B L0041DD59: xor eax,eax L0041DD5B: push 00000001h push ebx mov ecx,eax mov dword ptr [esp+38h],FFFFFFFFh call SUB_L004587A0 jmp L0041DE54 L0041DD72: mov eax,[esi+64h] push ebp cmp eax,ebx jz L0041DE4A mov eax,[edi+38h] mov ecx,[L00C884DC] cmp eax,ecx jz L0041DD98 call SUB_L004BCED0 test eax,eax jz L0041DE4A L0041DD98: mov eax,[esi+00000080h] mov ecx,[esi+30h] mov edx,[esi+34h] mov [esi+30h],eax mov eax,[esi+00000090h] mov [esi+00000088h],ecx mov ecx,[esi+00000084h] cmp eax,ebx mov [esi+64h],ebx mov [esi+0000008Ch],edx mov [esi+34h],ecx mov [esp+14h],eax jz L0041DE4A mov edx,[esi+00000094h] mov ecx,[L00705048] mov [esp+18h],edx xor edx,edx cmp ecx,ebx jle L0041DE4A mov edi,[L00705050] mov eax,[L00705054] mov ebx,edi sub ebx,eax L0041DDF2: mov ebp,[ebx+eax] cmp ebp,[esp+14h] jnz L0041DE03 mov ebp,[esp+18h] cmp [eax],ebp jz L0041DE0D L0041DE03: inc edx add eax,00000004h cmp edx,ecx jl L0041DDF2 jmp L0041DE46 L0041DE0D: cmp edx,ecx jge L0041DE46 lea eax,[edx+01h] cmp eax,ecx jge L0041DE3F jmp L0041DE20 L0041DE1A: mov edi,[L00705050] L0041DE20: mov ecx,[edi+eax*4] mov [edi+eax*4-04h],ecx mov ecx,[L00705054] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov ecx,[L00705048] inc eax cmp eax,ecx jl L0041DE1A L0041DE3F: dec ecx mov [L00705048],ecx L0041DE46: mov edi,[esp+10h] L0041DE4A: push 00000000h mov ecx,esi call SUB_L004584E0 pop ebp L0041DE54: mov eax,[edi+38h] lea edx,[esp+18h] mov ecx,[eax+7Ch] push ecx push 00000004h push edx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+18h] push eax call SUB_L004BC750 mov ecx,[esp+28h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041DE90: sub esp,0000000Ch mov eax,[L005073D0] push ebx mov ebx,00000010h add eax,FFFFFF90h push ebp push esi cmp eax,ebx push edi mov [esp+14h],ebx mov [esp+18h],eax jle L0041DFE3 mov ecx,[L005073D4] mov esi,[L00705048] lea ebp,[ecx-50h] L0041DEC3: mov edi,00000010h cmp ebp,edi mov [esp+10h],edi jle L0041DF07 L0041DED0: xor ecx,ecx test esi,esi jle L0041DEF4 mov eax,[L00705054] mov edx,[L00705050] sub edx,eax L0041DEE3: cmp [edx+eax],ebx jnz L0041DEEC cmp [eax],edi jz L0041DEF4 L0041DEEC: inc ecx add eax,00000004h cmp ecx,esi jl L0041DEE3 L0041DEF4: cmp ecx,esi jz L0041DF1A add edi,00000040h cmp edi,ebp mov [esp+10h],edi jl L0041DED0 mov eax,[esp+18h] L0041DF07: add ebx,00000060h cmp ebx,eax mov [esp+14h],ebx jl L0041DEC3 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0041DF1A: mov edx,[esp+20h] mov eax,[esp+24h] mov [edx],ebx mov [eax],edi mov ecx,[L00705048] mov eax,[L0070504C] cmp ecx,eax jnz L0041DFC1 add eax,00000008h mov [L0070504C],eax lea ecx,[00000000h+eax*4] push ecx call SUB_L004D4FA9 mov edx,[L0070504C] mov ebx,eax lea eax,[00000000h+edx*4] push eax call SUB_L004D4FA9 mov ecx,[L00705048] add esp,00000008h test ecx,ecx mov ebp,eax jz L0041DFB1 mov esi,[L00705050] mov edi,ebx rep movsd mov ecx,[L00705048] mov esi,[L00705054] mov edi,ebp rep movsd mov ecx,[L00705050] push ecx call SUB_L004D4F9E mov edx,[L00705054] push edx call SUB_L004D4F9E mov ecx,[L00705048] mov edi,[esp+18h] add esp,00000008h L0041DFB1: mov [L00705050],ebx mov ebx,[esp+14h] mov [L00705054],ebp L0041DFC1: mov eax,[L00705050] mov [eax+ecx*4],ebx mov ecx,[L00705048] mov edx,[L00705054] mov [edx+ecx*4],edi mov eax,[L00705048] inc eax mov [L00705048],eax L0041DFE3: pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041DFF0: mov ecx,[L00705048] push ebx push ebp xor edx,edx push esi push edi test ecx,ecx jle L0041E066 mov esi,[L00705050] mov eax,[L00705054] mov ebp,[esp+18h] mov ebx,[esp+14h] mov edi,esi sub edi,eax L0041E017: cmp [edi+eax],ebx jnz L0041E020 cmp [eax],ebp jz L0041E02D L0041E020: inc edx add eax,00000004h cmp edx,ecx jl L0041E017 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0041E02D: cmp edx,ecx jge L0041E066 lea eax,[edx+01h] cmp eax,ecx jge L0041E05F jmp L0041E040 L0041E03A: mov esi,[L00705050] L0041E040: mov ecx,[esi+eax*4] mov [esi+eax*4-04h],ecx mov ecx,[L00705054] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov ecx,[L00705048] inc eax cmp eax,ecx jl L0041E03A L0041E05F: dec ecx mov [L00705048],ecx L0041E066: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0041E070: push ebx push esi mov esi,ecx push edi mov eax,[esi+00000090h] lea ebx,[esi+00000090h] test eax,eax jnz L0041E0B8 mov eax,[esi+00000094h] lea edi,[esi+00000094h] test eax,eax jnz L0041E0B8 mov al,[L0050CC2A] test al,al jz L0041E0B8 push edi push ebx call SUB_L0041DE90 mov eax,[ebx] mov ecx,[edi] add esp,00000008h mov [esi+00000088h],eax mov [esi+0000008Ch],ecx L0041E0B8: mov edx,[esi+30h] mov eax,[esi+34h] mov ecx,[esi+00000088h] mov [esi+00000080h],edx mov edx,[esi+0000008Ch] mov dword ptr [esi+64h],00000001h mov [esi+00000084h],eax mov [esi+30h],ecx mov [esi+34h],edx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041E0F0: mov eax,[ecx+30h] mov edx,[ecx+34h] push ebx push ebp mov ebp,[ecx+00000090h] push esi xor esi,esi mov [ecx+00000088h],eax mov eax,[ecx+00000080h] mov [ecx+0000008Ch],edx mov edx,[ecx+00000084h] cmp ebp,esi push edi mov [ecx+64h],esi mov [ecx+30h],eax mov [ecx+34h],edx jz L0041E195 mov edx,[L00705048] mov ecx,[ecx+00000094h] cmp edx,esi jle L0041E195 mov edi,[L00705050] mov eax,[L00705054] mov ebx,edi sub ebx,eax L0041E146: cmp [ebx+eax],ebp jnz L0041E14F cmp [eax],ecx jz L0041E15C L0041E14F: inc esi add eax,00000004h cmp esi,edx jl L0041E146 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0041E15C: cmp esi,edx jge L0041E195 lea eax,[esi+01h] cmp eax,edx jge L0041E18E jmp L0041E16F L0041E169: mov edi,[L00705050] L0041E16F: mov ecx,[edi+eax*4] mov [edi+eax*4-04h],ecx mov ecx,[L00705054] mov edx,[ecx+eax*4] mov [ecx+eax*4-04h],edx mov edx,[L00705048] inc eax cmp eax,edx jl L0041E169 L0041E18E: dec edx mov [L00705048],edx L0041E195: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0041E1A0: push 00000000h push 00000000h push 00000007h push 00000000h call SUB_L00458810 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041E1C0: mov eax,[L00C884DC] sub esp,00000010h lea edx,[esp+00h] mov ecx,[eax+7Ch] push ecx push 00000005h push edx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+00h] push eax call SUB_L004BC750 push 00000001h call SUB_L004B91A0 add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 L0041E200: mov ecx,[L00B2948C] sub esp,00000040h test ecx,ecx jz L0041E218 push 00000000h call SUB_L004584E0 add esp,00000040h retn ;------------------------------------------------------------------------------ L0041E218: mov eax,[L00C88300] test eax,eax jz L0041E249 cmp dword ptr [eax+04h],FFFFFFFFh jz L0041E249 lea eax,[esp+00h] push L00D1A680 push eax call SUB_L00432140 add esp,00000008h lea ecx,[esp+00h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0041E249: add esp,00000040h retn ;------------------------------------------------------------------------------ Align 4 L0041E250: push 00000000h push 00000000h push 00001388h push 00000000h call SUB_L00458810 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041E270: push FFFFFFFFh push L004E106B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx call SUB_L0045A2C0 push 000000ACh call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0041E2C2 push 00000000h push L004C1AA0 push L00420A30 push SSZ004FF2FC_Quit_________Ultima_Online_ mov ecx,eax call SUB_L0042FC60 jmp L0041E2C4 L0041E2C2: xor eax,eax L0041E2C4: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+14h],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041E2F0: jmp SUB_L0046BC00 Align 16 L0041E300: sub esp,0000000Ch push esi mov esi,ecx mov eax,[esi+000000CCh] mov dword ptr [eax+14h],00000001h mov eax,[esi+000000D0h] test eax,eax jz L0041E38F mov edx,[esi+000000D4h] lea ecx,[esp+08h] add edx,00000006h push 00000002h mov [esi+000000D4h],edx push ecx lea edx,[esp+0Ch] lea ecx,[esp+14h] mov eax,[eax] push edx mov edx,[esi+000000C0h] push ecx sub edx,[esi+000000B8h] inc edx push edx push eax push 00000000h call SUB_L00441CD0 mov eax,[esi+000000D4h] mov edx,[esp+20h] add esp,0000001Ch cmp eax,edx jl L0041E38F mov ecx,[esi+000000D0h] push edi mov edi,[ecx+18h] test edi,edi pop edi jz L0041E388 sub eax,edx mov [esi+000000D4h],eax mov ecx,[ecx+18h] mov [esi+000000D0h],ecx jmp L0041E38F L0041E388: dec edx mov [esi+000000D4h],edx L0041E38F: mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000001h push 00000000h mov ecx,esi call SUB_L004BEDE0 pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 L0041E3B0: sub esp,0000000Ch push esi mov esi,ecx mov eax,[esi+000000CCh] mov dword ptr [eax+14h],00000001h mov eax,[esi+000000D4h] add eax,FFFFFFFAh mov [esi+000000D4h],eax jns L0041E433 mov ecx,[esi+000000D0h] mov eax,[ecx+1Ch] test eax,eax jz L0041E429 lea edx,[esp+08h] push 00000002h push edx lea ecx,[esp+0Ch] lea edx,[esp+14h] push ecx mov ecx,[esi+000000C0h] push edx mov edx,[esi+000000B8h] mov [esi+000000D0h],eax sub ecx,edx mov edx,[eax] inc ecx push ecx push edx push 00000000h call SUB_L00441CD0 mov eax,[esp+20h] mov ecx,[esi+000000D4h] add esp,0000001Ch add ecx,eax mov [esi+000000D4h],ecx jmp L0041E433 L0041E429: mov dword ptr [esi+000000D4h],00000000h L0041E433: mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000000h push 00000001h mov ecx,esi call SUB_L004BEDE0 pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 L0041E450: mov ax,[L0050056C] sub esp,00000008h push esi mov esi,ecx push 00000001h lea ecx,[esp+08h] push eax push ecx call SUB_L0049CA00 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+04h] push edx call SUB_L004BC750 test esi,esi jz L0041E488 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0041E488: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 L0041E490: mov ax,[L0050056C] sub esp,00000008h push esi mov esi,ecx push 00000000h lea ecx,[esp+08h] push eax push ecx call SUB_L0049CA00 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+04h] push edx call SUB_L004BC750 test esi,esi jz L0041E4C8 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0041E4C8: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 L0041E4D0: push esi mov esi,ecx mov eax,[esi+000000CCh] mov ecx,[eax+14h] test ecx,ecx jnz L0041E4FD mov ecx,esi call SUB_L004BEC70 mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 L0041E4FD: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0041E500: push ebx push esi mov esi,ecx push edi xor edi,edi mov ecx,[esi+38h] mov ebx,[esi+000000A4h] mov eax,[ecx] call [eax+2Ch] test eax,eax jz L0041E51C mov edi,[esi+38h] L0041E51C: mov edx,[esi] push 00000000h push 00000000h mov ecx,esi call [edx+20h] test edi,edi jz L0041E539 test ebx,ebx jz L0041E539 push ebx push edi call SUB_L00484180 add esp,00000008h L0041E539: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 L0041E540: push ebx push esi mov esi,ecx push edi xor edi,edi xor ebx,ebx mov eax,[esi+000000E0h] mov ecx,[eax+000000B4h] test ecx,ecx jnz L0041E667 mov eax,[esi+000000B8h] test eax,eax jz L0041E5B6 mov ax,[esi+000000CAh] xor ecx,ecx mov cx,[esi+000000C8h] mov edx,eax dec ecx and edx,0000FFFFh cmp edx,ecx jge L0041E667 inc eax mov ecx,esi mov [esi+000000CAh],ax call SUB_L004B01D0 mov di,[esi+000000C8h] mov bx,[esi+000000CAh] mov ecx,[esi+000000DCh] push edi push ebx call SUB_L00422C90 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0041E5B6: mov eax,[esi+000000ACh] test eax,eax jz L0041E667 mov eax,[eax+44h] test eax,eax jz L0041E5D3 mov [esi+000000ACh],eax jmp L0041E600 L0041E5D3: mov eax,[esi+000000BCh] test eax,eax jnz L0041E600 mov eax,[esi+38h] mov ecx,[eax+00000134h] mov eax,[ecx+000000ACh] test eax,eax jz L0041E600 mov [esi+000000ACh],eax mov dword ptr [esi+000000BCh],00000001h L0041E600: mov ecx,esi call SUB_L004B01D0 mov ecx,[esi+38h] mov eax,[ecx+00000130h] test eax,eax jz L0041E632 mov eax,[eax+000000ACh] test eax,eax jz L0041E632 mov edx,[esi+000000ACh] L0041E624: cmp edx,eax jnz L0041E62A mov ebx,edi L0041E62A: mov eax,[eax+44h] inc edi test eax,eax jnz L0041E624 L0041E632: mov eax,[ecx+00000134h] test eax,eax jz L0041E65A mov eax,[eax+000000ACh] test eax,eax jz L0041E65A mov ecx,[esi+000000ACh] L0041E64C: cmp ecx,eax jnz L0041E652 mov ebx,edi L0041E652: mov eax,[eax+44h] inc edi test eax,eax jnz L0041E64C L0041E65A: mov ecx,[esi+000000DCh] push edi push ebx call SUB_L00422C90 L0041E667: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L0041E670: push ebx push esi mov esi,ecx push edi xor edi,edi xor ebx,ebx mov eax,[esi+000000E0h] mov ecx,[eax+000000B4h] test ecx,ecx jnz L0041E7A3 mov eax,[esi+000000B8h] test eax,eax jz L0041E6D5 mov ax,[esi+000000CAh] test ax,ax jbe L0041E7A3 dec eax mov ecx,esi mov [esi+000000CAh],ax call SUB_L004B01D0 mov di,[esi+000000C8h] mov bx,[esi+000000CAh] mov ecx,[esi+000000DCh] push edi push ebx call SUB_L00422C90 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0041E6D5: mov eax,[esi+000000ACh] test eax,eax jz L0041E7A3 mov eax,[eax+48h] test eax,eax jz L0041E6F2 mov [esi+000000ACh],eax jmp L0041E73C L0041E6F2: mov eax,[esi+000000BCh] test eax,eax jz L0041E73C mov ecx,[esi+38h] mov edx,[ecx+00000130h] mov eax,[edx+000000ACh] test eax,eax jz L0041E73C mov [esi+000000ACh],eax mov ecx,[eax+44h] test ecx,ecx jz L0041E732 L0041E71C: mov eax,[esi+000000ACh] mov eax,[eax+44h] mov [esi+000000ACh],eax mov ecx,[eax+44h] test ecx,ecx jnz L0041E71C L0041E732: mov dword ptr [esi+000000BCh],00000000h L0041E73C: mov ecx,esi call SUB_L004B01D0 mov ecx,[esi+38h] mov eax,[ecx+00000130h] test eax,eax jz L0041E76E mov eax,[eax+000000ACh] test eax,eax jz L0041E76E mov edx,[esi+000000ACh] L0041E760: cmp edx,eax jnz L0041E766 mov ebx,edi L0041E766: mov eax,[eax+44h] inc edi test eax,eax jnz L0041E760 L0041E76E: mov eax,[ecx+00000134h] test eax,eax jz L0041E796 mov eax,[eax+000000ACh] test eax,eax jz L0041E796 mov ecx,[esi+000000ACh] L0041E788: cmp ecx,eax jnz L0041E78E mov ebx,edi L0041E78E: mov eax,[eax+44h] inc edi test eax,eax jnz L0041E788 L0041E796: mov ecx,[esi+000000DCh] push edi push ebx call SUB_L00422C90 L0041E7A3: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L0041E7B0: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0041E810 mov eax,[esi+000000BCh] test eax,eax jz L0041E810 mov eax,[eax+0Ch] test eax,eax jz L0041E810 mov [esi+000000BCh],eax call SUB_L004B1570 mov eax,[esi+000000B8h] xor ecx,ecx xor edx,edx mov eax,[eax+000000D4h] test eax,eax jz L0041E803 push edi mov edi,[esi+000000BCh] L0041E7F4: cmp eax,edi jnz L0041E7FA mov edx,ecx L0041E7FA: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L0041E7F4 pop edi L0041E803: push ecx mov ecx,[esi+000000C8h] push edx call SUB_L00422C90 L0041E810: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0041E820: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0041E8A2 mov eax,[esi+000000B8h] mov edx,[esi+000000BCh] test edx,edx mov eax,[eax+000000D4h] jz L0041E8A2 cmp eax,edx jz L0041E8A2 test eax,eax jz L0041E8A2 L0041E84B: mov ecx,[eax+0Ch] cmp ecx,edx jz L0041E85A mov eax,ecx test eax,eax jnz L0041E84B pop esi retn ;------------------------------------------------------------------------------ L0041E85A: test eax,eax jz L0041E8A2 mov ecx,esi mov [esi+000000BCh],eax call SUB_L004B1570 mov eax,[esi+000000B8h] xor ecx,ecx xor edx,edx mov eax,[eax+000000D4h] test eax,eax jz L0041E895 push edi mov edi,[esi+000000BCh] L0041E886: cmp eax,edi jnz L0041E88C mov edx,ecx L0041E88C: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L0041E886 pop edi L0041E895: push ecx mov ecx,[esi+000000C8h] push edx call SUB_L00422C90 L0041E8A2: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041E8B0: push ebx push esi push edi mov esi,ecx call SUB_L004B8B00 mov eax,[esi+000000B8h] test eax,eax jz L0041E943 mov ecx,[esi+000000FCh] mov eax,[esi+ecx*4+000000BCh] test eax,eax jz L0041E930 mov edx,[L00CC1CF4] xor eax,eax and edx,000000FFh mov edi,[L00CC1B58+edx*4] cmp edi,ecx mov edi,[L00CC1C20] jz L0041E90A L0041E8F4: cmp eax,edi jge L0041E91A inc eax xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],ecx jnz L0041E8F4 L0041E90A: cmp eax,edi jge L0041E91A mov dword ptr [esi+000000B8h],00000000h jmp L0041E98C L0041E91A: lea eax,[ecx+01h] mov ecx,[L00CC1C24] cmp eax,ecx jge L0041EA09 jmp L0041E9D8 L0041E930: lea eax,[ecx+01h] mov ecx,[L00CC1C24] cmp eax,ecx jge L0041EA09 jmp L0041E98C L0041E943: mov eax,[esi+000000FCh] xor edx,edx mov dl,[eax+L00CC1CF4] inc eax mov ecx,[L00CC1B58+edx*4] xor edx,edx mov dl,[eax+L00CC1CF4] mov edi,[L00CC1B58+edx*4] cmp edi,ecx mov edi,[L00CC1C20] jz L0041E988 L0041E972: cmp eax,edi jge L0041E9C1 inc eax xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],ecx jnz L0041E972 L0041E988: cmp eax,edi jge L0041E9C1 L0041E98C: push FFFFFFFFh mov ecx,esi mov [esi+000000FCh],eax call SUB_L004B7CB0 mov edi,[esi+0000010Ch] mov ecx,[esi+00000110h] inc edi push ecx mov ecx,[esi+0000009Ch] mov eax,edi push eax mov [esi+0000010Ch],edi call SUB_L00422C90 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0041E9C1: lea eax,[ecx+01h] mov ecx,[L00CC1C24] cmp eax,ecx jge L0041EA09 mov dword ptr [esi+000000B8h],00000001h L0041E9D8: push FFFFFFFFh mov ecx,esi mov [esi+000000FCh],eax call SUB_L004B7CB0 mov ebx,[esi+0000010Ch] mov edx,[esi+00000110h] mov ecx,[esi+0000009Ch] inc ebx mov eax,ebx push edx push eax mov [esi+0000010Ch],ebx call SUB_L00422C90 L0041EA09: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0041EA10: push esi push edi mov esi,ecx call SUB_L004B8B00 mov eax,[esi+000000B8h] test eax,eax mov eax,[esi+000000FCh] jz L0041EAC1 dec eax cmp eax,FFFFFFFFh jz L0041EA79 mov ecx,[esi+eax*4+000000BCh] test ecx,ecx jnz L0041EA79 cmp eax,FFFFFFFFh jle L0041EB27 push FFFFFFFFh mov ecx,esi mov [esi+000000FCh],eax call SUB_L004B7CB0 mov eax,[esi+0000010Ch] mov ecx,[esi+00000110h] dec eax push ecx mov ecx,[esi+0000009Ch] push eax mov [esi+0000010Ch],eax call SUB_L00422C90 pop edi pop esi retn ;------------------------------------------------------------------------------ L0041EA79: mov edx,[L00CC1C20] lea ecx,[edx-01h] test ecx,ecx jl L0041EA9A L0041EA86: xor edx,edx mov dl,[ecx+L00CC1CF4] cmp [L00CC1B58+edx*4],eax jz L0041EAAB dec ecx jns L0041EA86 L0041EA9A: cmp eax,FFFFFFFFh jle L0041EB27 mov [esi+000000FCh],eax jmp L0041EAFE L0041EAAB: test ecx,ecx jl L0041EA9A mov dword ptr [esi+000000B8h],00000000h mov [esi+000000FCh],ecx jmp L0041EB34 L0041EAC1: xor ecx,ecx mov cl,[eax+L00CC1CF4] dec eax test eax,eax mov ecx,[L00CC1B58+ecx*4] jl L0041EAE9 L0041EAD5: xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],ecx jz L0041EB2A dec eax jns L0041EAD5 L0041EAE9: cmp ecx,FFFFFFFFh jle L0041EB27 mov dword ptr [esi+000000B8h],00000001h mov [esi+000000FCh],ecx L0041EAFE: push FFFFFFFFh mov ecx,esi call SUB_L004B7CB0 mov eax,[esi+0000010Ch] mov edx,[esi+00000110h] mov ecx,[esi+0000009Ch] dec eax push edx push eax mov [esi+0000010Ch],eax call SUB_L00422C90 L0041EB27: pop edi pop esi retn ;------------------------------------------------------------------------------ L0041EB2A: test eax,eax jl L0041EAE9 mov [esi+000000FCh],eax L0041EB34: push FFFFFFFFh mov ecx,esi call SUB_L004B7CB0 mov edi,[esi+0000010Ch] mov ecx,[esi+00000110h] dec edi push ecx mov ecx,[esi+0000009Ch] mov eax,edi push eax mov [esi+0000010Ch],edi call SUB_L00422C90 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0041EB70: sub esp,00000050h push ebx mov ebx,ecx call SUB_L004B8B00 cmp dword ptr [L00CC1C24],0000000Ch jge L0041EC23 push ebp push esi push edi lea eax,[esp+10h] push SSZ004FF330_New_Group push eax call SUB_L004D512F mov edx,[L00CC1C24] lea edi,[esp+18h] mov ecx,edx xor eax,eax shl ecx,04h add esp,00000008h lea ebp,[ecx+edx+L00CC1C28] or ecx,FFFFFFFFh 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 inc edx rep movsb mov [L00CC1C24],edx mov edi,[ebx+00000110h] dec edx inc edi mov eax,edi mov [ebx+000000FCh],edx push eax mov dword ptr [ebx+000000B8h],00000001h lea ecx,[eax-01h] mov [ebx+00000110h],edi mov [ebx+0000010Ch],ecx push ecx mov ecx,[ebx+0000009Ch] call SUB_L00422C90 push FFFFFFFFh mov ecx,ebx call SUB_L004B7CB0 call SUB_L004B5E70 pop edi pop esi pop ebp pop ebx add esp,00000050h retn ;------------------------------------------------------------------------------ L0041EC23: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004FF318_Too_many_skill_groups_ call SUB_L00455DD0 add esp,00000014h pop ebx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0041EC40: push esi mov esi,ecx mov eax,[esi+000000E0h] mov ecx,[eax+000000B4h] test ecx,ecx jnz L0041ED7A mov eax,[esi+000000B8h] test eax,eax jz L0041ECF9 cmp word ptr [esi+000000C8h],0000h jz L0041ED7A mov eax,[esi+10h] cmp eax,00000064h jge L0041EC7F inc eax mov [esi+10h],eax L0041EC7F: mov eax,[esi+10h] cmp eax,0000000Ah jge L0041ECA1 mov cx,[esi+000000CCh] push 00000001h push ecx mov ecx,esi call SUB_L004AFF30 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ECA1: cmp eax,00000014h jge L0041ECC0 mov dx,[esi+000000CCh] push 00000002h push edx mov ecx,esi call SUB_L004AFF30 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ECC0: cmp eax,00000032h jge L0041ECDF mov ax,[esi+000000CCh] push 00000005h push eax mov ecx,esi call SUB_L004AFF30 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ECDF: mov cx,[esi+000000CCh] push 0000000Ah push ecx mov ecx,esi call SUB_L004AFF30 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ECF9: mov eax,[esi+000000B0h] test eax,eax jz L0041ED7A mov ecx,[esi+10h] cmp ecx,00000064h jge L0041ED0F inc ecx mov [esi+10h],ecx L0041ED0F: mov ecx,[esi+10h] cmp ecx,0000000Ah jge L0041ED1B push 00000001h jmp L0041ED61 L0041ED1B: cmp ecx,00000014h jge L0041ED3D mov ecx,[eax+7Ch] mov dl,[esi+000000B4h] push 00000002h push ecx push edx mov ecx,esi call SUB_L004AFD60 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ED3D: cmp ecx,00000032h jge L0041ED5F mov eax,[eax+7Ch] mov cl,[esi+000000B4h] push 00000005h push eax push ecx mov ecx,esi call SUB_L004AFD60 mov ecx,esi call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041ED5F: push 0000000Ah L0041ED61: mov edx,[eax+7Ch] mov al,[esi+000000B4h] push edx push eax mov ecx,esi call SUB_L004AFD60 mov ecx,esi call SUB_L004B01D0 L0041ED7A: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0041ED80: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0041EE4B mov ecx,[esi+000000B8h] mov eax,[ecx+000000D4h] test eax,eax jz L0041EE4B mov edx,[esi+0Ch] L0041EDA8: cmp [eax+04h],edx jz L0041EDB6 mov eax,[eax+0Ch] test eax,eax jnz L0041EDA8 pop esi retn ;------------------------------------------------------------------------------ L0041EDB6: test eax,eax jz L0041EE4B mov edx,[esi+10h] cmp edx,00000064h jge L0041EDCA inc edx mov [esi+10h],edx L0041EDCA: mov edx,[esi+10h] cmp edx,0000000Ah jge L0041EDF5 mov edx,[esi+000000ACh] push 00000001h test edx,edx jz L0041EE34 mov ax,[eax+08h] push eax call SUB_L004AFF30 mov ecx,[esi+000000B8h] call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041EDF5: cmp edx,00000014h jge L0041EE06 mov edx,[esi+000000ACh] push 00000002h test edx,edx jmp L0041EE15 L0041EE06: cmp edx,00000032h mov edx,[esi+000000ACh] jge L0041EE2E test edx,edx push 00000005h L0041EE15: jz L0041EE34 mov dx,[eax+08h] push edx call SUB_L004AFF30 mov ecx,[esi+000000B8h] call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041EE2E: test edx,edx push 0000000Ah jmp L0041EE15 L0041EE34: mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L004AFD60 mov ecx,[esi+000000B8h] call SUB_L004B01D0 L0041EE4B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041EE50: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0041EF1B mov ecx,[esi+000000B8h] mov eax,[ecx+000000D4h] test eax,eax jz L0041EF1B mov edx,[esi+0Ch] L0041EE78: cmp [eax+04h],edx jz L0041EE86 mov eax,[eax+0Ch] test eax,eax jnz L0041EE78 pop esi retn ;------------------------------------------------------------------------------ L0041EE86: test eax,eax jz L0041EF1B mov edx,[esi+10h] cmp edx,00000064h jge L0041EE9A inc edx mov [esi+10h],edx L0041EE9A: mov edx,[esi+10h] cmp edx,0000000Ah jge L0041EEC5 mov edx,[esi+000000ACh] push FFFFFFFFh test edx,edx jz L0041EF04 mov ax,[eax+08h] push eax call SUB_L004AFF30 mov ecx,[esi+000000B8h] call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041EEC5: cmp edx,00000014h jge L0041EED6 mov edx,[esi+000000ACh] push FFFFFFFEh test edx,edx jmp L0041EEE5 L0041EED6: cmp edx,00000032h mov edx,[esi+000000ACh] jge L0041EEFE test edx,edx push FFFFFFFBh L0041EEE5: jz L0041EF04 mov dx,[eax+08h] push edx call SUB_L004AFF30 mov ecx,[esi+000000B8h] call SUB_L004B01D0 pop esi retn ;------------------------------------------------------------------------------ L0041EEFE: test edx,edx push FFFFFFF6h jmp L0041EEE5 L0041EF04: mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L004AFD60 mov ecx,[esi+000000B8h] call SUB_L004B01D0 L0041EF1B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041EF20: mov eax,[ecx+000000B4h] test eax,eax jnz L0041EF3E mov dword ptr [ecx+000000B4h],00000001h mov dword ptr [ecx+000000C4h],00000000h L0041EF3E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0041EF40: mov eax,[ecx+000000B8h] sub esp,000007DCh test eax,eax mov dword ptr [ecx+000000C4h],00000001h jz L0041EF8C mov eax,[ecx+000000D4h] mov ecx,[ecx+38h] push eax lea eax,[esp+04h] mov edx,[ecx+7Ch] push edx push eax call SUB_L0049A8B0 add esp,0000000Ch lea ecx,[esp+00h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 add esp,000007DCh retn ;------------------------------------------------------------------------------ L0041EF8C: mov eax,[ecx+38h] mov edx,[ecx+000000D4h] push edx push 00000002h mov ecx,[eax+7Ch] lea edx,[esp+08h] push ecx push edx call SUB_L0049A6C0 mov ecx,[L00C88300] add esp,00000010h lea eax,[esp+00h] push eax call SUB_L004BC750 add esp,000007DCh retn ;------------------------------------------------------------------------------ L0041EFC0: push esi mov esi,ecx mov ecx,[esi+000000B8h] mov eax,[ecx+000000D4h] test eax,eax jz L0041F02B L0041EFD3: mov edx,[esi+000000ACh] test edx,edx jz L0041EFF2 xor edx,edx mov dx,[eax+0Ah] mov ax,[eax+08h] neg edx push edx push eax call SUB_L004AFF30 jmp L0041F007 L0041EFF2: xor edx,edx mov dx,[eax+0Ah] neg edx push edx mov edx,[eax+04h] mov al,[eax] push edx push eax call SUB_L004AFD60 L0041F007: mov ecx,[esi+000000B8h] mov eax,[ecx+000000D4h] test eax,eax jnz L0041EFD3 call SUB_L004B01D0 mov ecx,[esi+000000C8h] push 00000001h push 00000000h call SUB_L00422C90 L0041F02B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041F030: sub esp,00000010h lea edx,[esp+00h] push esi mov esi,ecx push 00000000h push 00000000h mov eax,[esi+38h] push 00000000h push 00000005h mov ecx,[eax+7Ch] push ecx push edx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+04h] push eax call SUB_L004BC750 mov ecx,[esi+38h] push 00000000h push 00000000h push 00000000h push 00000005h call SUB_L00480B90 mov ecx,esi call SUB_L0043C670 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0041F080: push FFFFFFFFh push L004E108B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push edi or ecx,FFFFFFFFh mov eax,[ebx+000000B0h] lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx cmp ecx,00000002h jnc L0041F0DD push eax push eax push 00000001h push ebx push SSZ004FF350_Your_character_name_is_too_short mov [ebx+6Ch],eax call SUB_L00455DD0 add esp,00000014h pop edi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F0DD: push edx call SUB_L0047B750 add esp,00000004h test eax,eax jz L0041F116 push 00000000h push 00000000h push 00000001h push ebx push SSZ004FF33C_Unacceptable_name_ mov dword ptr [ebx+6Ch],00000000h call SUB_L00455DD0 add esp,00000014h pop edi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F116: mov edi,[ebx+000000B0h] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax mov dword ptr [ebx+6Ch],00000000h push esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C880F8 shr ecx,02h rep movsd mov ecx,eax mov eax,[L00B29488] and ecx,00000003h rep movsb test eax,eax pop esi jnz L0041F1A9 push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L0041F180 push 00001598h push ebx mov ecx,eax call SUB_L0041CA20 jmp L0041F182 L0041F180: xor eax,eax L0041F182: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+1Ch],FFFFFFFFh mov [L00B29488],eax call SUB_L004587A0 mov ecx,[L00B29488] push ecx call SUB_L00430400 add esp,00000004h L0041F1A9: mov ecx,[esp+0Ch] pop edi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L0041F1C0: push FFFFFFFFh push L004E10AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00B29480] push esi test eax,eax mov esi,ecx jz L0041F1EB mov dword ptr [eax+6Ch],00000001h jmp L0041F22B L0041F1EB: push 00000140h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0041F211 mov ecx,eax call SUB_L004A66B0 jmp L0041F213 L0041F211: xor eax,eax L0041F213: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+18h],FFFFFFFFh mov [L00B29480],eax call SUB_L004587A0 L0041F22B: mov ecx,[esp+08h] mov dword ptr [esi+6Ch],00000000h pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041F250: push FFFFFFFFh push L004E10CB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov edx,[esi+000000E0h] mov eax,[esi+000000E4h] cmp edx,eax jz L0041F31F mov ecx,[esi+000000E8h] cmp eax,ecx jz L0041F31F cmp ecx,edx jz L0041F31F mov eax,[L00B29498] test eax,eax jz L0041F2C1 mov dword ptr [eax+6Ch],00000001h mov ecx,esi mov dword ptr [esi+6Ch],00000000h call SUB_L004AABD0 pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F2C1: push 00000278h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0041F2E7 mov ecx,eax call SUB_L00425550 jmp L0041F2E9 L0041F2E7: xor eax,eax L0041F2E9: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+18h],FFFFFFFFh mov [L00B29498],eax call SUB_L004587A0 mov ecx,esi mov dword ptr [esi+6Ch],00000000h call SUB_L004AABD0 pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F31F: push 00000000h push 00000000h push 00000001h push esi push SSZ004FF374_You_must_have_three_unique_skill call SUB_L00455DD0 mov ecx,[esp+1Ch] add esp,00000014h mov dword ptr [esi+6Ch],00000000h mov fs:[00000000h],ecx pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L0041F350: mov eax,[L00B294A4] push esi test eax,eax mov esi,ecx jz L0041F36F mov ecx,[eax+0000009Ch] test ecx,ecx jle L0041F36F mov dword ptr [eax+6Ch],00000001h jmp L0041F376 L0041F36F: mov ecx,esi call SUB_L00421CF0 L0041F376: test esi,esi jz L0041F382 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0041F382: mov dword ptr [L00B29480],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 4 L0041F390: sub esp,00000008h push ebx push ebp push esi mov esi,[L00B294A4] push edi mov ebp,ecx mov ebx,[esi+000000A0h] or ecx,FFFFFFFFh xor eax,eax mov [esp+14h],esi mov edi,[esi+ebx*4+000000B8h] add edi,000000F8h repne scasb not ecx dec ecx jnz L0041F3DF push eax push eax push 00000001h push ebp push SSZ004FF3A0_No_character_to_login_with_ mov [ebp+6Ch],eax call SUB_L00455DD0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0041F3DF: push ebx lea eax,[esp+16h] push L004FF074 push eax call SUB_L004D512F mov edi,[esi+ebx*4+000000B8h] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx sub edi,ecx push L00C880F8 mov edx,ecx mov esi,edi mov edi,L00C880F8 push 00000003h shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,[ebp+000000A0h] or ecx,FFFFFFFFh add edi,000000F8h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C88118 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+28h] mov edx,[ecx+ebx*4+000000A4h] mov [L00C8604C],edx call SUB_L00436F10 lea eax,[esp+26h] push eax push 00000026h call SUB_L00436F10 push L00C880F8 push 00000003h call SUB_L004395D0 lea ecx,[esp+36h] push ecx push 00000026h call SUB_L004395D0 mov eax,[L00C8604C] add esp,0000002Ch test ebp,ebp mov dx,[L00C87EB4+eax*2] mov ax,[L00C87EA8+eax*2] mov [L00C87EC4],dx mov [L00C87EC0],ax jz L0041F4B9 mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L0041F4B9: mov dword ptr [ebp+6Ch],00000000h mov eax,[L00C8604C] push eax push L00C88118 push L00C880F8 call SUB_L0047CE10 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L0041F4E0: push FFFFFFFFh push L004E10EB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push ebp push esi mov ebp,[ebx+000000A0h] push edi or ecx,FFFFFFFFh xor eax,eax mov edi,[ebx+ebp*4+000000B8h] add edi,000000F8h repne scasb not ecx dec ecx jnz L0041F545 xor esi,esi push esi push esi push 00000001h push ebx push SSZ004FF3A0_No_character_to_login_with_ mov [ebx+6Ch],esi call SUB_L00455DD0 add esp,00000014h pop edi pop esi pop ebp pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F545: mov eax,[ebx+ebp*4+000000A4h] or ecx,FFFFFFFFh lea eax,[eax+eax*2] lea eax,[eax+eax*4] lea edi,[L00C86064+eax*2] xor eax,eax repne scasb not ecx dec ecx jz L0041F5C6 push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax xor esi,esi cmp eax,esi mov [esp+1Ch],esi jz L0041F59C mov ecx,[ebx+ebp*4+000000B8h] push L007049FC add ecx,000000F8h push ecx mov ecx,eax call SUB_L0042F7A0 jmp L0041F59E L0041F59C: xor eax,eax L0041F59E: push 00000001h push esi mov ecx,eax mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004587A0 mov [ebx+6Ch],esi pop edi pop esi pop ebp pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F5C6: push ebp lea edx,[esp+14h] push L004FF074 push edx call SUB_L004D512F mov edi,[ebx+ebp*4+000000B8h] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx sub edi,ecx push L00C880F8 mov eax,ecx mov esi,edi mov edi,L00C880F8 push 00000003h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+ebp*4+000000A4h] mov [L00C8604C],ecx call SUB_L00436F10 lea edx,[esp+24h] push edx push 00000026h call SUB_L00436F10 push L00C880F8 push 00000003h call SUB_L004395D0 lea eax,[esp+34h] push eax push 00000026h call SUB_L004395D0 mov eax,[L00C8604C] push eax push L007049FC mov cx,[L00C87EB4+eax*2] mov dx,[L00C87EA8+eax*2] mov [L00C87EC4],cx mov [L00C87EC0],dx mov eax,[ebx+ebp*4+000000B8h] add eax,000000F8h push eax call SUB_L0047CE10 mov ecx,[esp+4Ch] add esp,00000038h mov dword ptr [ebx+6Ch],00000000h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041F6A0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1116 push eax mov fs:[00000000h],esp sub esp,0000000Ch push esi xor esi,esi cmp ecx,esi jz L0041F6C5 mov eax,[ecx] push 00000001h call [eax] L0041F6C5: lea ecx,[esp+08h] push ecx call SUB_L004994E0 mov ecx,[L00C88300] add esp,00000004h lea edx,[esp+08h] push edx call SUB_L004BC750 mov ecx,[L00C88300] call SUB_L004BA6A0 mov ecx,[L00C88300] call SUB_L004BB2E0 mov ecx,[L00C88300] call SUB_L004BA680 mov ecx,[L00B2949C] mov [L00B294A4],esi cmp ecx,esi jz L0041F73B mov eax,[ecx] push 00000001h call [eax] push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax cmp eax,esi mov [esp+18h],esi jz L0041F761 mov ecx,eax call SUB_L00430440 jmp L0041F763 L0041F73B: push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax cmp eax,esi mov dword ptr [esp+18h],00000001h jz L0041F761 mov ecx,eax call SUB_L00430440 jmp L0041F763 L0041F761: xor eax,eax L0041F763: push 00000001h push esi mov ecx,eax mov dword ptr [esp+20h],FFFFFFFFh mov [L00B2949C],eax call SUB_L004587A0 mov ecx,[L00C88300] mov [L00C88370],esi mov [L00C8C4D0],esi call SUB_L004BA660 push L007049FC call SUB_L004CE570 mov ecx,[esp+14h] add esp,00000004h mov fs:[00000000h],ecx pop esi add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0041F7B0: push FFFFFFFFh push L004E112B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx cmp dword ptr [ecx+0000009Ch],00000005h jnz L0041F7F3 push 00000000h push 00000000h push 00000001h push 00000000h push SSZ004FF3BC_You_already_have_5_characters_ call SUB_L00455DD0 add esp,00000014h mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F7F3: mov eax,[L00B294A4] test eax,eax jz L0041F803 mov dword ptr [eax+6Ch],00000000h L0041F803: push 00000140h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0041F829 mov ecx,eax call SUB_L004A66B0 jmp L0041F82B L0041F829: xor eax,eax L0041F82B: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+14h],FFFFFFFFh mov [L00B29480],eax call SUB_L004587A0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041F860: push FFFFFFFFh push L004E114B 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+000000A0h] mov edi,[esi+ebx*4+000000B8h] add edi,000000F8h repne scasb not ecx dec ecx jnz L0041F8C3 xor edi,edi push edi push edi push 00000001h push esi push SSZ004FF3DC_No_character_to_delete_ mov [esi+6Ch],edi call SUB_L00455DD0 add esp,00000014h pop edi pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0041F8C3: xor edi,edi push 000000A4h mov [esi+6Ch],edi call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov [esp+18h],edi jz L0041F8FD mov ecx,[esi+ebx*4+000000B8h] push L007049FC add ecx,000000F8h push ecx mov ecx,eax call SUB_L0042F410 jmp L0041F8FF L0041F8FD: xor eax,eax L0041F8FF: push 00000001h push edi mov ecx,eax mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0041F930: mov eax,fs:[00000000h] push FFFFFFFFh push L004E116B push eax mov fs:[00000000h],esp sub esp,0000004Ch xor eax,eax push ebx push ebp push esi mov esi,[L00B294A4] push edi mov ebx,ecx mov ebp,[esi+000000A0h] or ecx,FFFFFFFFh mov edi,[esi+ebp*4+000000B8h] add edi,000000F8h repne scasb not ecx dec ecx jnz L0041F9AA xor edi,edi push edi push edi push 00000001h push edi push SSZ004FF3DC_No_character_to_delete_ call SUB_L00455DD0 add esp,00000014h cmp ebx,edi jz L0041FA4A mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] pop edi pop esi pop ebp pop ebx mov ecx,[esp+4Ch] mov fs:[00000000h],ecx add esp,00000058h retn ;------------------------------------------------------------------------------ L0041F9AA: mov ecx,[L00B2905C] xor edi,edi cmp ecx,edi jz L0041F9BC mov edx,[ecx] push 00000001h call [edx] L0041F9BC: cmp ebx,edi jz L0041F9C8 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L0041F9C8: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,edi mov [esp+64h],edi jz L0041F9FA push edi push edi push 00000001h push 00000001h push esi push SSZ004FF3F4_Deleting_character____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0041F9FC L0041F9FA: xor eax,eax L0041F9FC: mov [L00B2905C],eax mov ecx,[eax+48h] push 00000001h push edi mov [ecx+6Ch],edi mov ecx,[L00B2905C] mov dword ptr [esp+6Ch],FFFFFFFFh call SUB_L004587A0 mov eax,[esi+ebp*4+000000A4h] lea edx,[esp+14h] push edx lea ecx,[esp+38h] push eax push ecx call SUB_L0049C150 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+34h] push edx call SUB_L004BC750 mov [esi+6Ch],edi L0041FA4A: mov ecx,[esp+5Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000058h retn ;------------------------------------------------------------------------------ Align 4 L0041FA60: mov eax,fs:[00000000h] push FFFFFFFFh push L004E118B push eax mov fs:[00000000h],esp sub esp,00000050h xor eax,eax push ebx push ebp mov ebp,ecx xor ebx,ebx push esi push edi mov [L00C86010],bl mov edi,[ebp+000000A0h] add edi,000000F8h or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85FF0 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,[ebp+000000A4h] or ecx,FFFFFFFFh add edi,000000F8h repne scasb not ecx sub edi,ecx mov al,[L007050E4] mov edx,ecx mov esi,edi mov edi,L00C85FD0 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h cmp al,bl rep movsb jz L0041FAEB xor al,al jmp L0041FAF7 L0041FAEB: mov eax,[ebp+000000A8h] mov al,[eax+000000B8h] L0041FAF7: mov edx,[L00C88300] cmp al,bl setz cl mov [L00C8C49B],al mov [L007050E4],cl cmp dword ptr [edx+04h],FFFFFFFFh jnz L0041FC0B push 000002B8h mov [ebp+6Ch],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov [esp+68h],ebx jz L0041FB52 mov ecx,[L00B2949C] push ebx push ebx push 00000001h push 00000001h push ecx push SSZ004FF45C_Connecting____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0041FB54 L0041FB52: xor eax,eax L0041FB54: mov [L00B2905C],eax mov edx,[eax+48h] push 00000001h push ebx mov dword ptr [edx+6Ch],00000001h mov ecx,[L00B2905C] mov dword ptr [esp+70h],FFFFFFFFh call SUB_L004587A0 mov eax,[L005073D0] mov ecx,[L005073D4] lea edx,[esp+14h] push 00000001h push edx mov [esp+1Ch],ebx mov [esp+24h],eax mov [esp+20h],ebx mov [esp+28h],ecx call SUB_L00456380 add esp,00000008h call SUB_L0047D110 mov ecx,[L00B2905C] test eax,eax jnz L0041FBFB cmp ecx,ebx jz L0041FBBC mov eax,[ecx] push 00000001h call [eax] L0041FBBC: mov [L00B2905C],ebx mov [ebp+6Ch],ebx cmp [L00B2905C],ebx jnz L0041FCEB push ebx push ebx push 00000001h push ebp push SSZ004FF414_Couldn_t_connect_to_Ultima_Onlin call SUB_L00455DD0 add esp,00000014h mov [L00B2905C],eax pop edi pop esi pop ebp pop ebx mov ecx,[esp+50h] mov fs:[00000000h],ecx add esp,0000005Ch retn ;------------------------------------------------------------------------------ L0041FBFB: cmp ecx,ebx jz L0041FC05 mov edx,[ecx] push 00000001h call [edx] L0041FC05: mov [L00B2905C],ebx L0041FC0B: mov al,[L00C8619C] push eax push L00C85FD0 push L00C85FF0 call SUB_L0047D040 push L00C85FF0 push 00000022h call SUB_L00436F10 mov al,[L007050E4] add esp,00000014h cmp al,bl mov al,[L00C8C49B] jz L0041FC6A cmp al,bl jz L0041FC47 mov [L00C8C49B],bl L0041FC47: push L004FF410 push 0000001Dh call SUB_L00436F10 push L007049FC push 00000024h call SUB_L00436F10 add esp,00000010h mov [L00C8C49B],bl jmp L0041FCD6 L0041FC6A: cmp al,bl jz L0041FCBB push L004FF40C push 0000001Dh call SUB_L00436F10 mov edi,L00C85FD0 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+2Ch] 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,[esp+2Ch] push ecx call SUB_L0047B660 lea edx,[esp+30h] push edx push 00000024h call SUB_L00436F10 add esp,00000014h jmp L0041FCD6 L0041FCBB: push L004FF410 push 0000001Dh call SUB_L00436F10 push L007049FC push 00000024h call SUB_L00436F10 add esp,00000010h L0041FCD6: mov eax,[ebp+000000A8h] mov cl,[eax+000000B8h] mov [L00C8C49B],cl mov [ebp+6Ch],ebx L0041FCEB: mov ecx,[esp+60h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000005Ch retn ;------------------------------------------------------------------------------ Align 4 L0041FD00: push FFFFFFFFh push L004E11B6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi xor esi,esi cmp ecx,esi jz L0041FD23 mov eax,[ecx] push 00000001h call [eax] L0041FD23: mov ecx,[L00B2949C] mov [L00B294A0],esi cmp ecx,esi jz L0041FD5B mov edx,[ecx] push 00000001h call [edx] push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax cmp eax,esi mov [esp+10h],esi jz L0041FD81 mov ecx,eax call SUB_L00430440 jmp L0041FD83 L0041FD5B: push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax cmp eax,esi mov dword ptr [esp+10h],00000001h jz L0041FD81 mov ecx,eax call SUB_L00430440 jmp L0041FD83 L0041FD81: xor eax,eax L0041FD83: push 00000001h push esi mov ecx,eax mov dword ptr [esp+18h],FFFFFFFFh mov [L00B2949C],eax call SUB_L004587A0 mov ecx,[L00C88300] mov [L00C88370],esi mov [L00C8C4D0],esi call SUB_L004BA660 push L007049FC call SUB_L004CE570 mov ecx,[esp+0Ch] add esp,00000004h mov fs:[00000000h],ecx pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0041FDD0: push ebx mov ebx,ecx push edi or ecx,FFFFFFFFh mov eax,[ebx+000000A4h] lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L0041FE39 mov eax,[ebx+000000A0h] push ebp mov ecx,eax mov edi,edx shl ecx,04h push esi lea ebp,[ecx+eax+L00CC1C28] 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 ecx,[L00B29494] pop esi test ecx,ecx pop ebp jz L0041FE34 push FFFFFFFFh call SUB_L004B7CB0 L0041FE34: call SUB_L004B5E70 L0041FE39: test ebx,ebx jz L0041FE45 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L0041FE45: pop edi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L0041FE50: sub esp,00000008h push ebx push ebp push esi mov esi,[L00CC1C20] push edi mov edi,ecx test esi,esi mov [esp+14h],edi jle L0041FE86 mov eax,L00CC1B58 mov ecx,esi L0041FE6E: mov edx,[eax] mov ebx,[edi+000000A0h] cmp edx,ebx jnz L0041FE80 mov dword ptr [eax],00000000h L0041FE80: add eax,00000004h dec ecx jnz L0041FE6E L0041FE86: mov edx,[edi+000000A0h] mov ebp,[L00CC1C24] inc edx cmp edx,ebp jge L0041FEF7 mov eax,edx shl eax,04h lea ebx,[eax+edx+L00CC1C28] jmp L0041FEAB L0041FEA5: mov esi,[L00CC1C20] L0041FEAB: test esi,esi jle L0041FEC3 mov eax,L00CC1B58 L0041FEB4: mov ecx,[eax] cmp ecx,edx jnz L0041FEBD dec ecx mov [eax],ecx L0041FEBD: add eax,00000004h dec esi jnz L0041FEB4 L0041FEC3: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax lea esi,[ebx-11h] repne scasb not ecx sub edi,ecx mov [esp+10h],esi mov eax,ecx mov esi,edi mov edi,[esp+10h] add ebx,00000011h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc edx cmp edx,ebp rep movsb jl L0041FEA5 mov edi,[esp+14h] L0041FEF7: mov ecx,[L00B29494] dec ebp test ecx,ecx mov [L00CC1C24],ebp jz L0041FF0F push FFFFFFFFh call SUB_L004B7CB0 L0041FF0F: test edi,edi jz L0041FF1B mov edx,[edi] push 00000001h mov ecx,edi call [edx] L0041FF1B: call SUB_L004B5E70 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0041FF30: sub esp,00000008h push esi mov esi,ecx lea eax,[esp+04h] lea ecx,[esp+08h] push eax push ecx push 000013A7h call SUB_L004434A0 mov edx,[esp+10h] mov eax,[esi+000000DCh] add esp,0000000Ch inc edx test eax,eax mov [esp+04h],edx jle L0041FFF2 mov edx,[esi+000000C8h] dec eax mov [esi+000000DCh],eax mov eax,[edx+08h] mov [esi+000000C8h],eax mov eax,[esi+000000C0h] test eax,eax jz L0041FFC0 push ebp L0041FF85: mov ecx,[eax] mov edx,[esp+08h] mov ebp,[ecx+34h] add ebp,edx mov [ecx+34h],ebp mov ecx,[eax] mov ebp,[esp+08h] mov edx,[ecx+34h] add ebp,edx cmp ebp,[esi+24h] jg L0041FFB1 cmp edx,00000003h jl L0041FFB1 mov dword ptr [ecx+6Ch],00000001h jmp L0041FFB8 L0041FFB1: mov dword ptr [ecx+6Ch],00000000h L0041FFB8: mov eax,[eax+04h] test eax,eax jnz L0041FF85 pop ebp L0041FFC0: mov eax,[esi+000000DCh] test eax,eax jnz L0041FFD7 mov eax,[esi+0000009Ch] mov dword ptr [eax+6Ch],00000000h L0041FFD7: mov eax,[esi+000000A0h] mov ecx,[eax+6Ch] test ecx,ecx jnz L0041FFEB mov dword ptr [eax+6Ch],00000001h L0041FFEB: mov ecx,esi call SUB_L00423F00 L0041FFF2: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00420000: sub esp,00000008h push esi mov esi,ecx lea eax,[esp+04h] lea ecx,[esp+08h] push eax push ecx push 000013A7h call SUB_L004434A0 mov edx,[esp+10h] mov eax,[esi+000000DCh] mov ecx,[esi+000000D4h] add esp,0000000Ch inc edx inc eax cmp eax,ecx mov [esp+04h],edx jge L004200CF mov edx,[esi+000000C8h] mov [esi+000000DCh],eax mov eax,[edx+04h] mov [esi+000000C8h],eax mov eax,[esi+000000C0h] test eax,eax jz L00420096 push ebp L0042005B: mov ecx,[eax] mov edx,[esp+08h] mov ebp,[ecx+34h] sub ebp,edx mov [ecx+34h],ebp mov ecx,[eax] mov ebp,[esp+08h] mov edx,[ecx+34h] add ebp,edx cmp ebp,[esi+24h] jg L00420087 cmp edx,00000003h jl L00420087 mov dword ptr [ecx+6Ch],00000001h jmp L0042008E L00420087: mov dword ptr [ecx+6Ch],00000000h L0042008E: mov eax,[eax+04h] test eax,eax jnz L0042005B pop ebp L00420096: mov eax,[esi+000000D4h] mov ecx,[esi+000000DCh] dec eax cmp ecx,eax jl L004200B4 mov ecx,[esi+000000A0h] mov dword ptr [ecx+6Ch],00000000h L004200B4: mov eax,[esi+0000009Ch] mov ecx,[eax+6Ch] test ecx,ecx jnz L004200C8 mov dword ptr [eax+6Ch],00000001h L004200C8: mov ecx,esi call SUB_L00423F00 L004200CF: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L004200E0: push ecx push ebx push esi push edi mov edi,ecx xor ebx,ebx mov esi,[edi+48h] mov [esp+0Ch],ebx test esi,esi jz L00420186 L004200F7: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L0042010D mov eax,[esi+34h] test eax,eax jge L0042010D inc ebx L0042010D: mov esi,[esi+40h] test esi,esi jnz L004200F7 test ebx,ebx mov [esp+0Ch],ebx jz L00420186 mov esi,[edi+48h] test esi,esi jz L00420167 mov ebx,0000001Ah L00420128: mov edx,[esi] mov ecx,esi call [edx+00000120h] test eax,eax jz L0042015C mov eax,[esi+34h] add eax,ebx mov [esi+34h],eax mov edx,[edi+24h] lea ecx,[eax+1Ah] cmp ecx,edx jge L00420155 test eax,eax jle L00420155 mov dword ptr [esi+6Ch],00000001h jmp L0042015C L00420155: mov dword ptr [esi+6Ch],00000000h L0042015C: mov esi,[esi+40h] test esi,esi jnz L00420128 mov ebx,[esp+0Ch] L00420167: cmp ebx,00000001h jnz L00420179 mov edx,[edi+0000009Ch] mov dword ptr [edx+6Ch],00000000h L00420179: mov eax,[edi+000000A0h] mov dword ptr [eax+6Ch],00000001h L00420186: pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 L00420190: push ecx push ebx push esi push edi mov edi,ecx xor ebx,ebx mov esi,[edi+48h] mov [esp+0Ch],ebx test esi,esi jz L00420237 L004201A7: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L004201BD mov eax,[esi+34h] test eax,eax jle L004201BD inc ebx L004201BD: mov esi,[esi+40h] test esi,esi jnz L004201A7 cmp ebx,00000002h mov [esp+0Ch],ebx jl L00420237 mov esi,[edi+48h] test esi,esi jz L00420218 mov ebx,FFFFFFE6h L004201D9: mov edx,[esi] mov ecx,esi call [edx+00000120h] test eax,eax jz L0042020D mov eax,[esi+34h] add eax,ebx mov [esi+34h],eax mov edx,[edi+24h] lea ecx,[eax+1Ah] cmp ecx,edx jge L00420206 test eax,eax jle L00420206 mov dword ptr [esi+6Ch],00000001h jmp L0042020D L00420206: mov dword ptr [esi+6Ch],00000000h L0042020D: mov esi,[esi+40h] test esi,esi jnz L004201D9 mov ebx,[esp+0Ch] L00420218: cmp ebx,00000002h jnz L0042022A mov edx,[edi+000000A0h] mov dword ptr [edx+6Ch],00000000h L0042022A: mov eax,[edi+0000009Ch] mov dword ptr [eax+6Ch],00000001h L00420237: pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 L00420240: mov eax,00001904h call SUB_L004D4B90 push esi mov esi,ecx push esi lea eax,[esp+08h] push 00000005h push eax call SUB_L0049B8C0 add esp,0000000Ch lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 test esi,esi jz L00420279 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00420279: pop esi add esp,00001904h retn ;------------------------------------------------------------------------------ Align 16 L00420290: push L007049FC push 00000000h call SUB_L00413AD0 retn ;------------------------------------------------------------------------------ Align 4 L004202A0: sub esp,00000054h push esi mov esi,ecx mov eax,[esi+38h] test eax,eax jz L00420338 mov eax,[eax+00000080h] test eax,eax jz L00420338 mov edx,[eax] mov ecx,eax call [edx+30h] test eax,eax jz L00420338 mov eax,[esi+38h] mov ecx,[eax+00000080h] mov eax,[ecx+000000B0h] test eax,eax jz L00420338 lea edx,[esi+000000E6h] lea eax,[esp+04h] push edx push SSZ004FF474_RE___s push eax call SUB_L004D512F mov eax,[esi+000000C4h] add esp,0000000Ch test eax,eax jz L0042031B mov edx,[esi+38h] lea ecx,[esp+04h] push ecx push eax mov eax,[edx+00000080h] mov ecx,[eax+000000B0h] call SUB_L00413AD0 pop esi add esp,00000054h retn ;------------------------------------------------------------------------------ L0042031B: mov esi,[esi+38h] lea ecx,[esp+04h] push ecx mov eax,[esi+00000080h] mov edx,[esi+7Ch] push edx mov ecx,[eax+000000B0h] call SUB_L00413AD0 L00420338: pop esi add esp,00000054h retn ;------------------------------------------------------------------------------ Align 4 L00420340: mov eax,00001904h call SUB_L004D4B90 mov eax,[ecx+38h] mov edx,[eax+00000080h] mov ecx,[eax+7Ch] push ecx lea ecx,[esp+04h] mov eax,[edx+7Ch] push eax push 00000006h push ecx call SUB_L0049B640 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+00h] push edx call SUB_L004BC750 add esp,00001904h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00420390: push ecx push edi mov edi,ecx mov dword ptr [esp+04h],00000000h mov ecx,[edi+000000B4h] test ecx,ecx jz L0042047A call SUB_L004147C0 test eax,eax jz L0042047A push ebx push esi mov esi,[edi+48h] mov [edi+000000B4h],eax test esi,esi jz L00420425 mov ebx,00000001h L004203CB: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0042041E mov edx,[esi+34h] xor ecx,ecx mov cl,[L004FEB6C] add edx,ecx mov [esi+34h],edx mov ecx,[edi+000000A8h] mov eax,edx xor edx,edx mov dl,[L004FEB6C] add edx,eax cmp edx,ecx jg L00420417 cmp eax,[edi+000000A0h] jl L00420417 mov ecx,esi call SUB_L00414740 test eax,eax jz L0042041E mov [esi+6Ch],ebx jmp L0042041E L00420417: mov dword ptr [esi+6Ch],00000000h L0042041E: mov esi,[esi+40h] test esi,esi jnz L004203CB L00420425: mov ecx,[edi+000000B4h] call SUB_L004147C0 mov esi,[edi+48h] xor ebx,ebx test esi,esi jz L00420466 L00420439: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0042045F mov ecx,esi call SUB_L00414740 test eax,eax jz L0042045F cmp [edi+000000B4h],esi jnz L0042045E mov [esp+0Ch],ebx L0042045E: inc ebx L0042045F: mov esi,[esi+40h] test esi,esi jnz L00420439 L00420466: mov ecx,[esp+0Ch] dec ebx push ebx push ecx mov ecx,[edi+000000C0h] call SUB_L00422C90 pop esi pop ebx L0042047A: pop edi pop ecx retn ;------------------------------------------------------------------------------ Align 4 L00420480: push ecx push edi mov edi,ecx mov dword ptr [esp+04h],00000000h mov ecx,[edi+000000B4h] test ecx,ecx jz L0042056A call SUB_L00414770 test eax,eax jz L0042056A push ebx push esi mov esi,[edi+48h] mov [edi+000000B4h],eax test esi,esi jz L00420515 mov ebx,00000001h L004204BB: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0042050E mov edx,[esi+34h] xor ecx,ecx mov cl,[L004FEB6C] sub edx,ecx mov [esi+34h],edx mov ecx,[edi+000000A8h] mov eax,edx xor edx,edx mov dl,[L004FEB6C] add edx,eax cmp edx,ecx jg L00420507 cmp eax,[edi+000000A0h] jl L00420507 mov ecx,esi call SUB_L00414740 test eax,eax jz L0042050E mov [esi+6Ch],ebx jmp L0042050E L00420507: mov dword ptr [esi+6Ch],00000000h L0042050E: mov esi,[esi+40h] test esi,esi jnz L004204BB L00420515: mov ecx,[edi+000000B4h] call SUB_L00414770 mov esi,[edi+48h] xor ebx,ebx test esi,esi jz L00420556 L00420529: mov eax,[esi] mov ecx,esi call [eax+00000128h] test eax,eax jz L0042054F mov ecx,esi call SUB_L00414740 test eax,eax jz L0042054F cmp [edi+000000B4h],esi jnz L0042054E mov [esp+0Ch],ebx L0042054E: inc ebx L0042054F: mov esi,[esi+40h] test esi,esi jnz L00420529 L00420556: mov ecx,[esp+0Ch] dec ebx push ebx push ecx mov ecx,[edi+000000C0h] call SUB_L00422C90 pop esi pop ebx L0042056A: pop edi pop ecx retn ;------------------------------------------------------------------------------ Align 4 L00420570: push esi mov esi,ecx mov eax,[esi+00000164h] test eax,eax jle L004205A2 dec eax mov [esi+00000164h],eax call SUB_L004163F0 mov eax,[esi+00000160h] mov ecx,[esi+00000164h] push eax push ecx mov ecx,[esi+000000A0h] call SUB_L00422C90 L004205A2: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004205B0: push esi mov esi,ecx mov eax,[esi+00000164h] mov ecx,[esi+00000160h] inc eax cmp eax,ecx jge L004205EA mov ecx,esi mov [esi+00000164h],eax call SUB_L004163F0 mov eax,[esi+00000160h] mov ecx,[esi+00000164h] push eax push ecx mov ecx,[esi+000000A0h] call SUB_L00422C90 L004205EA: pop esi retn ;------------------------------------------------------------------------------ Align 8 L004205F0: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0042069D mov eax,[esi+000000C0h] test eax,eax jz L0042069D mov ecx,[esi+000000D8h] dec eax xor edx,edx mov dword ptr [esi+000000B4h],00000001h mov [esi+000000C0h],eax mov dx,[ecx+eax*2] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h test eax,eax jnz L00420650 push 00004000h call SUB_L004B9530 add esp,00000004h test eax,eax jz L00420682 L00420650: xor ecx,ecx xor edx,edx mov cx,[eax+04h] dec ecx mov [esi+000000C4h],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+000000C8h],eax call SUB_L004B2170 pop esi retn ;------------------------------------------------------------------------------ L00420682: mov ecx,esi mov dword ptr [esi+000000C4h],0000002Bh mov dword ptr [esi+000000C8h],FFFFFFF7h call SUB_L004B2170 L0042069D: pop esi retn ;------------------------------------------------------------------------------ Align 4 L004206A0: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L0042073C mov eax,[esi+000000C0h] mov edx,[esi+000000BCh] lea ecx,[eax+01h] cmp ecx,edx jge L0042073C mov edx,[esi+000000D8h] xor ecx,ecx mov dword ptr [esi+000000B4h],00000001h mov cx,[edx+eax*2] add ecx,00004000h push ecx call SUB_L004B9530 add esp,00000004h test eax,eax jnz L004206FA push 00004000h call SUB_L004B9530 add esp,00000004h L004206FA: test eax,eax mov dword ptr [esi+000000C4h],00000001h jz L0042072B 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+000000C8h],eax call SUB_L004B2170 pop esi retn ;------------------------------------------------------------------------------ L0042072B: mov ecx,esi mov dword ptr [esi+000000C8h],00000009h call SUB_L004B2170 L0042073C: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00420740: push esi mov esi,ecx mov ax,[esi+000000E6h] test ax,ax jbe L0042077A dec eax dec word ptr [esi+000000E4h] mov [esi+000000E6h],ax call SUB_L0046A4D0 mov ecx,[esi+0000009Ch] xor eax,eax mov ax,[esi+000000E6h] push 00000004h push eax call SUB_L00422C90 L0042077A: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00420780: push esi mov esi,ecx mov ax,[esi+000000E6h] cmp ax,0004h jnc L004207BB inc eax inc word ptr [esi+000000E4h] mov [esi+000000E6h],ax call SUB_L0046A4D0 mov ecx,[esi+0000009Ch] xor eax,eax mov ax,[esi+000000E6h] push 00000004h push eax call SUB_L00422C90 L004207BB: pop esi retn ;------------------------------------------------------------------------------ Align 4 L004207C0: push 00000000h call SUB_L004D554B db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004207D0: call SUB_L0045A2C0 call SUB_L0047CC20 call SUB_L004591E0 push 00000000h call SUB_L004D554B db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004207F0: push FFFFFFFFh push L004E11CB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000B0h lea ecx,[esp+00h] call SUB_L0043CDE0 lea ecx,[esp+00h] mov dword ptr [esp+000000B8h],00000000h call SUB_L0043CE70 lea ecx,[esp+00h] mov dword ptr [esp+000000B8h],FFFFFFFFh call SUB_L0043CE40 mov ecx,[esp+000000B0h] mov fs:[00000000h],ecx add esp,000000BCh retn ;------------------------------------------------------------------------------ Align 16 L00420860: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1201 push eax mov eax,[L00C88300] mov fs:[00000000h],esp sub esp,0000000Ch push ebx xor ebx,ebx cmp eax,ebx push esi jz L004208B8 lea eax,[esp+0Ch] push eax call SUB_L004994E0 add esp,00000004h lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[L00C88300] cmp ecx,ebx jz L004208B2 mov edx,[ecx] push 00000001h call [edx] L004208B2: mov [L00C88300],ebx L004208B8: mov eax,[L00C884DC] or esi,FFFFFFFFh cmp eax,ebx mov [L00C83640],ebx mov [L00C88370],ebx mov dword ptr [L00B29044],00000001h jz L004208F7 mov [eax+000001F8h],esi mov eax,[L00C884DC] mov [eax+000001FCh],esi mov ecx,[L00C884DC] mov [ecx+00000200h],esi L004208F7: mov eax,[L00B29064] cmp eax,ebx jz L00420903 mov [eax+6Ch],ebx L00420903: push 0003005Ch mov [L00C8C4D0],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,ebx mov [esp+1Ch],ebx jz L0042092B mov ecx,eax call SUB_L004BA6C0 jmp L0042092D L0042092B: xor eax,eax L0042092D: mov [esp+1Ch],esi mov [L00C88300],eax call SUB_L0047CC20 call SUB_L004591E0 mov edx,[L00B189F8] push L007049FC mov [edx+6Ch],ebx call SUB_L004CE570 mov ecx,[L00C882BC] add esp,00000004h cmp ecx,ebx mov [L00705058],bl mov [L00C880F8],bl jz L00420978 mov eax,[ecx] push 00000001h call [eax] mov [L00C882BC],ebx L00420978: call SUB_L00468270 call SUB_L004691C0 push 00020018h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,ebx mov dword ptr [esp+1Ch],00000001h jz L004209A8 mov ecx,eax call SUB_L004BC7A0 jmp L004209AA L004209A8: xor eax,eax L004209AA: mov [L00C882BC],eax mov eax,[L00D1B0F4] cmp eax,ebx mov [esp+1Ch],esi mov [L005073C8],esi jnz L004209D6 push 000001E0h push 00000280h push ebx push ebx call SUB_L004D1490 add esp,00000010h L004209D6: call SUB_L0047D2D0 push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,ebx mov dword ptr [esp+1Ch],00000002h jz L00420A01 mov ecx,eax call SUB_L00430440 jmp L00420A03 L00420A01: xor eax,eax L00420A03: push 00000001h push ebx mov ecx,eax mov [esp+24h],esi mov [L00B2949C],eax call SUB_L004587A0 mov ecx,[esp+14h] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 L00420A30: jmp L00420860 Align 16 L00420A40: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1226 push eax mov eax,[L00C88300] mov fs:[00000000h],esp sub esp,0000000Ch push esi push edi xor edi,edi mov esi,ecx cmp eax,edi jz L00420A9A lea eax,[esp+0Ch] push eax call SUB_L004994E0 add esp,00000004h lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[L00C88300] cmp ecx,edi jz L00420A94 mov edx,[ecx] push 00000001h call [edx] L00420A94: mov [L00C88300],edi L00420A9A: push 0003005Ch mov [L00C83640],edi mov [L00C88370],edi mov dword ptr [L00B29044],00000001h mov [L00C8C4D0],edi call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,edi mov [esp+1Ch],edi jz L00420AD8 mov ecx,eax call SUB_L004BA6C0 jmp L00420ADA L00420AD8: xor eax,eax L00420ADA: cmp esi,edi mov dword ptr [esp+1Ch],FFFFFFFFh mov [L00C88300],eax jz L00420AF3 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00420AF3: mov [L00B2949C],edi call SUB_L004D0B30 push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,edi mov dword ptr [esp+1Ch],00000001h jz L00420B24 mov ecx,eax call SUB_L00430440 jmp L00420B26 L00420B24: xor eax,eax L00420B26: push 00000001h push edi mov ecx,eax mov dword ptr [esp+24h],FFFFFFFFh mov [L00B2949C],eax call SUB_L004587A0 mov ecx,[esp+14h] pop edi pop esi mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 L00420B50: call SUB_L004BCEE0 push SSZ004FF47C_https___my_uo_com_cgi_bin_gms_we call SUB_L004D1450 pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00420B70: call SUB_L004BCEE0 push SSZ004FF4A4_my_uo_com call SUB_L004D1450 pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00420B90: call SUB_L004BCEE0 push SSZ004FF4B0_ultima_registration_com call SUB_L004D1450 pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00420BB0: call SUB_L004BCEE0 push SSZ004FF4C8_support_uo_com call SUB_L004D1450 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00420BD0: mov eax,[ecx+000002A8h] test eax,eax jz L00420BE1 mov dword ptr [eax+6Ch],00000001h L00420BE1: cmp [L00B2905C],ecx jnz L00420BF3 mov dword ptr [L00B2905C],00000000h L00420BF3: mov eax,[ecx+000000A4h] test eax,eax jz L00420C02 jmp L00420860 L00420C02: test ecx,ecx jz L00420C0C mov eax,[ecx] push 00000001h call [eax] L00420C0C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L00420C10: mov eax,[esp+04h] push esi push SSZ004FF4F0_stealth lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+L00CC3C68] push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00420C39 xor al,al pop esi retn 0004h ;------------------------------------------------------------------------------ L00420C39: push SSZ004FF4E4_remove_trap push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00420C51 xor al,al pop esi retn 0004h ;------------------------------------------------------------------------------ L00420C51: push SSZ004FF4D8_necromancy push esi call SUB_L004D7A00 add esp,00000008h test eax,eax setnz al pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L00420C70: mov eax,[L00B29498] test ecx,ecx mov dword ptr [eax+6Ch],00000001h mov dword ptr [ecx+6Ch],00000000h jz L00420C8D mov edx,[ecx] push 00000001h call [edx] L00420C8D: mov dword ptr [L00B29488],00000000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00420CA0: mov eax,[L00B29498] sub esp,00000024h mov dl,[eax+00000134h] push esi mov [L00C880F5],dl mov si,[eax+000000F0h] inc si push edi mov [L00C880EA],si mov si,[eax+0000012Ch] mov [L00C880EE],si mov si,[eax+000000F4h] inc si test dl,dl mov [L00C880EC],si jnz L00420CF8 mov dx,[eax+00000130h] mov [L00C880E2],dx jmp L00420D01 L00420CF8: mov word ptr [L00C880E2],0000h L00420D01: mov dx,[eax+000000F8h] inc dx mov [L00C880E4],dx mov dx,[eax+00000100h] inc dx mov [L00C880E8],dx mov ax,[eax+000000FCh] inc ax mov [L00C880E6],ax mov eax,[ecx+000000C8h] test eax,eax jge L00420D3C xor eax,eax L00420D3C: mov ecx,[L00C861A0] test ecx,ecx jz L00420D51 mov cl,[ecx+eax*4] mov [L00C880D4],cl jmp L00420D58 L00420D51: mov byte ptr [L00C880D4],FFh L00420D58: mov eax,[L00B294A4] xor edx,edx test eax,eax jz L00420D82 add eax,000000A4h mov esi,00000005h L00420D6D: mov ecx,[eax] test ecx,ecx jl L00420D7C mov edi,00000001h shl edi,cl or edx,edi L00420D7C: add eax,00000004h dec esi jnz L00420D6D L00420D82: xor eax,eax test dl,01h jz L00420D91 L00420D89: sar edx,1 inc eax test dl,01h jnz L00420D89 L00420D91: mov [L00C8604C],eax lea eax,[eax+eax*2] mov edi,L00C880F8 or ecx,FFFFFFFFh lea edx,[eax+eax*4] xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[L00C860FC+edx*2] mov eax,ecx mov esi,edi mov edi,edx push L00C880F8 shr ecx,02h rep movsd mov ecx,eax push 00000003h and ecx,00000003h mov word ptr [L00C87EC4],005Ah rep movsb mov word ptr [L00C87EC0],0225h call SUB_L00436F10 mov eax,[L00C87D68] add esp,00000008h test eax,eax jz L00420E2E mov edi,L00C88118 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 and ecx,00000003h rep movsb lea ecx,[esp+0Ch] push ecx call SUB_L0047B660 lea edx,[esp+10h] push edx push 00000004h call SUB_L00436F10 add esp,0000000Ch L00420E2E: mov eax,[L00C8604C] lea ecx,[esp+0Ah] push eax push L004FF074 push ecx call SUB_L004D512F lea edx,[esp+16h] push edx push 00000026h call SUB_L00436F10 add esp,00000014h call SUB_L0047CEE0 pop edi pop esi add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 L00420E60: push esi mov esi,ecx mov eax,[esi+000000C8h] test eax,eax jle L00420E92 dec eax mov [esi+000000C8h],eax call SUB_L004286B0 mov eax,[esi+000000CCh] mov ecx,[esi+000000C8h] push eax push ecx mov ecx,[esi+0000614Ch] call SUB_L00422C90 L00420E92: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00420EA0: push esi mov esi,ecx mov ecx,[esi+000000CCh] mov eax,[esi+000000C8h] dec ecx cmp eax,ecx jge L00420EDB inc eax mov ecx,esi mov [esi+000000C8h],eax call SUB_L004286B0 mov edx,[esi+000000CCh] mov eax,[esi+000000C8h] mov ecx,[esi+0000614Ch] push edx push eax call SUB_L00422C90 L00420EDB: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00420EE0: push ebx push esi mov esi,ecx xor ebx,ebx xor eax,eax push edi mov edx,[esi+00000134h] mov edi,00000001h cmp edx,ebx setz al cmp eax,edi mov [esi+00000134h],eax jnz L00420F4D mov eax,[esi+000000B4h] mov [eax+6Ch],ebx mov ecx,[esi+000000B8h] mov [ecx+6Ch],edi mov edx,[esi+000000A4h] mov [edx+6Ch],ebx mov eax,[esi+000000ECh] mov [eax+6Ch],ebx mov ecx,[esi+000000D4h] mov [ecx+6Ch],ebx mov edx,[esi+000000E0h] mov ecx,esi mov [edx+6Ch],ebx mov eax,[esi+000000E4h] mov [eax+6Ch],edi call SUB_L00426CF0 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00420F4D: mov ecx,[esi+000000B4h] mov [ecx+6Ch],edi mov edx,[esi+000000B8h] mov [edx+6Ch],ebx mov eax,[esi+00000124h] cmp eax,0000000Ah jnz L00420F76 mov [esi+00000124h],ebx mov [esi+0000012Ch],ebx L00420F76: mov eax,[esi+000000A4h] mov [eax+6Ch],edi mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+000000D4h] mov [eax+6Ch],edi mov ecx,[esi+000000D4h] call SUB_L00429260 mov ecx,[esi+000000ECh] mov [ecx+6Ch],edi mov ecx,[esi+000000ECh] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+000000E0h] mov [eax+6Ch],edi mov ecx,[esi+000000E4h] mov [ecx+6Ch],ebx mov ecx,esi call SUB_L00426CF0 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00420FE0: mov eax,[ecx+000000C0h] push ebx push esi push edi mov edi,[eax+14h] mov [L00C861D4],edi mov edx,[ecx+000000B4h] mov esi,[edx+000000A4h] mov eax,[edx+30h] sub eax,esi mov ebx,[edx+000000A8h] sub ebx,esi lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ebx mov esi,eax mov [L00C861D0],esi mov ecx,[ecx+000000B8h] mov edx,[ecx+000000A4h] mov eax,[ecx+30h] mov ecx,[ecx+000000A8h] sub eax,edx sub ecx,edx lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ecx push eax push esi push edi mov [L00C861CC],eax call SUB_L0043EF60 add esp,0000000Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00421060: mov eax,[ecx+000000BCh] mov dword ptr [eax+14h],00000001h mov eax,[ecx+000000BCh] mov edx,[ecx] push eax call [edx+4Ch] retn ;------------------------------------------------------------------------------ Align 8 L00421080: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000C0h] mov edi,[eax+14h] mov [L00C861D4],edi mov ecx,[esi+000000B4h] mov edx,[ecx+000000A4h] mov eax,[ecx+30h] mov ecx,[ecx+000000A8h] sub eax,edx sub ecx,edx lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ecx mov ebx,eax mov [L00C861D0],ebx mov ecx,[esi+000000B8h] mov edx,[ecx+000000A4h] mov eax,[ecx+30h] mov ecx,[ecx+000000A8h] sub eax,edx sub ecx,edx lea eax,[eax+eax*4] lea eax,[eax+eax*4] shl eax,02h cdq idiv ecx push eax push ebx push edi mov [L00C861CC],eax call SUB_L0043EF60 add esp,0000000Ch test esi,esi jz L00421102 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00421102: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00421110: mov eax,[ecx+000000B4h] mov ecx,[eax+6Ch] test ecx,ecx jz L0042112E mov ecx,[eax+30h] mov edx,[eax+000000A4h] cmp ecx,edx jle L0042112E dec ecx mov [eax+30h],ecx L0042112E: retn ;------------------------------------------------------------------------------ Align 4 L00421130: mov eax,[ecx+000000B4h] mov ecx,[eax+6Ch] test ecx,ecx jz L0042114E mov ecx,[eax+30h] mov edx,[eax+000000A8h] cmp ecx,edx jge L0042114E inc ecx mov [eax+30h],ecx L0042114E: retn ;------------------------------------------------------------------------------ Align 4 L00421150: mov eax,[ecx+000000B8h] mov ecx,[eax+6Ch] test ecx,ecx jz L0042116E mov ecx,[eax+30h] mov edx,[eax+000000A4h] cmp ecx,edx jle L0042116E dec ecx mov [eax+30h],ecx L0042116E: retn ;------------------------------------------------------------------------------ Align 4 L00421170: mov eax,[ecx+000000B8h] mov ecx,[eax+6Ch] test ecx,ecx jz L0042118E mov ecx,[eax+30h] mov edx,[eax+000000A8h] cmp ecx,edx jge L0042118E inc ecx mov [eax+30h],ecx L0042118E: retn ;------------------------------------------------------------------------------ Align 4 L00421190: jmp L00492C70 Align 16 L004211A0: sub esp,00000178h lea eax,[esp+00h] push esi mov esi,[ecx+0Ch] push edi push 00000000h push esi push SSZ004FF178__d__d push eax call SUB_L004D512F lea edi,[esp+18h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000098h] repne scasb not ecx dec ecx push ecx lea ecx,[esp+1Ch] push ecx push 00000024h push edx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000020h lea eax,[esp+00000088h] push eax call SUB_L004BC750 mov [L00C837D8],esi pop edi pop esi add esp,00000178h retn ;------------------------------------------------------------------------------ Align 16 L00421210: push FFFFFFFFh push L004E123B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L00421279 mov ecx,[L005073D4] mov edx,[esi+20h] push edi mov edi,[esi+34h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+24h] push edx push 000000DCh push edx push ecx push edx mov edx,[esi+30h] push edi push edx mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L0042127B L00421279: xor esi,esi L0042127B: mov eax,[esi+24h] push SSZ004FF604_gump_background imul eax,[esi+20h] shl eax,1 push eax mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004212C0: push FFFFFFFFh push L004E125B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L00421329 mov ecx,[L005073D4] mov edx,[esi+20h] push edi mov edi,[esi+34h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+24h] push edx push 000000DCh push edx push ecx push edx mov edx,[esi+30h] push edi push edx mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L0042132B L00421329: xor esi,esi L0042132B: mov eax,[esi+24h] push SSZ004FF604_gump_background imul eax,[esi+20h] shl eax,1 push eax mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00421370: push FFFFFFFFh push L004E127B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004213D9 mov ecx,[L005073D4] mov edx,[esi+20h] push edi mov edi,[esi+34h] sub ecx,edi push 00000000h sub ecx,00000014h push esi push ecx mov ecx,[esi+24h] push edx push 00000104h push edx push ecx push edx mov edx,[esi+30h] push edi push edx mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L004213DB L004213D9: xor esi,esi L004213DB: mov eax,[esi+24h] push SSZ004FF604_gump_background imul eax,[esi+20h] shl eax,1 push eax mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00421420: push FFFFFFFFh push L004E129B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0042148C mov edx,[esi+34h] mov ecx,[L005073D4] push edi mov edi,[esi+30h] push 00000000h sub ecx,edx push esi push ecx mov ecx,[L005073D0] sub ecx,edi push ecx mov ecx,[esi+24h] push 00000062h push 0000005Dh push ecx mov ecx,[esi+20h] push ecx push edx push edi mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L0042148E L0042148C: xor esi,esi L0042148E: mov edx,[esi+24h] push SSZ004FF604_gump_background imul edx,[esi+20h] shl edx,1 push edx mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004214D0: push FFFFFFFFh push L004E12BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0042153C mov edx,[esi+34h] mov ecx,[L005073D4] push edi mov edi,[esi+30h] push 00000000h sub ecx,edx push esi push ecx mov ecx,[L005073D0] sub ecx,edi push ecx mov ecx,[esi+24h] push 00000062h push 0000005Dh push ecx mov ecx,[esi+20h] push ecx push edx push edi mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L0042153E L0042153C: xor esi,esi L0042153E: mov edx,[esi+24h] push SSZ004FF604_gump_background imul edx,[esi+20h] shl edx,1 push edx mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00421580: push FFFFFFFFh push L004E12DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004215EC mov edx,[esi+34h] mov ecx,[L005073D4] push edi mov edi,[esi+30h] push 00000000h sub ecx,edx push esi push ecx mov ecx,[L005073D0] sub ecx,edi push ecx mov ecx,[esi+24h] push 00000062h push 0000005Dh push ecx mov ecx,[esi+20h] push ecx push edx push edi mov ecx,eax call SUB_L004BFC70 mov esi,eax pop edi jmp L004215EE L004215EC: xor esi,esi L004215EE: mov edx,[esi+24h] push SSZ004FF604_gump_background imul edx,[esi+20h] shl edx,1 push edx mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00421630: push FFFFFFFFh push L004E12FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov esi,ecx push 000000C4h call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+08h],edi test edi,edi mov dword ptr [esp+14h],00000000h jz L004216A7 mov eax,[esi+24h] mov ecx,[esi+20h] push 00000001h sub eax,00000008h push esi sub ecx,0000003Ch push eax push ecx push 00000050h push 00000027h mov ecx,esi call SUB_L004331B0 add eax,00000004h mov ecx,esi push eax call SUB_L00433190 mov edx,[esi+34h] add eax,00000005h push eax mov eax,[esi+30h] push edx push eax mov ecx,edi call SUB_L004BFC70 mov esi,eax jmp L004216A9 L004216A7: xor esi,esi L004216A9: mov ecx,[esi+24h] push SSZ004FF604_gump_background imul ecx,[esi+20h] shl ecx,1 push ecx mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004216F0: mov edx,[ecx+0Ch] mov eax,[ecx] push edx call [eax+74h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00421700: sub esp,00000010h lea edx,[esp+00h] push esi mov esi,ecx push 00000000h push 00000000h mov ax,[esi+000002B8h] mov ecx,[esi+000002B4h] push 00000000h push eax push ecx push edx call SUB_L0049BD10 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+04h] push eax call SUB_L004BC750 test esi,esi jz L00421744 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00421744: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00421750: sub esp,00000010h push ebx push esi push edi mov edi,ecx mov ebx,00000001h mov esi,[edi+50h] test esi,esi jz L00421784 L00421764: mov eax,[esi] mov ecx,esi call [eax+00000108h] test eax,eax jz L0042177D mov al,[esi+000000B8h] test al,al jnz L004217A0 inc ebx L0042177D: mov esi,[esi+44h] test esi,esi jnz L00421764 L00421784: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004FF614_Must_choose_one_to_continue_ call SUB_L00455DD0 add esp,00000014h L00421799: pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004217A0: xor eax,eax mov ax,[edi+ebx*2+000000B2h] cmp eax,FFFFFFFFh jz L00421784 mov cx,[edi+000002B8h] mov edx,[edi+000002B4h] push 00000000h push eax push ebx push ecx lea eax,[esp+1Ch] push edx push eax call SUB_L0049BD10 add esp,00000018h lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 test edi,edi jz L00421799 mov edx,[edi] push 00000001h mov ecx,edi call [edx] pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00421800: mov eax,[L00C83980] sub esp,00000008h push esi mov esi,ecx lea ecx,[esp+04h] push eax push ecx call SUB_L00499B60 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+04h] push edx call SUB_L004BC750 test esi,esi jz L00421835 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00421835: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 L00421840: mov eax,[L00C83984] push esi mov esi,ecx push eax call SUB_L004843F0 add esp,00000004h test eax,eax jz L0042185F push eax call [L00C88328] add esp,00000004h L0042185F: test esi,esi jz L0042186B mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0042186B: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00421870: push esi mov esi,ecx call SUB_L00493700 test esi,esi jz L00421884 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00421884: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00421890: push ecx mov eax,[L00C861C8] push ebx push esi inc eax push edi mov ebx,ecx push eax mov [esp+10h],ebx call SUB_L004D4FA9 mov ecx,[L00C861C8] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004218C5 L004218B7: mov [eax+esi],al mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L004218B7 L004218C5: push ebp lea edx,[ecx-01h] xor ebp,ebp test edx,edx jle L0042193D mov edx,[L00C861B4] L004218D5: or eax,FFFFFFFFh cmp ebp,ecx mov edi,ebp jge L00421912 L004218DE: mov ebx,[L00C861B8] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L00421903 cmp eax,FFFFFFFFh jz L00421901 mov cl,[ecx+edx] xor ebx,ebx mov bl,[eax+esi] cmp cl,[ebx+edx] jnc L00421903 L00421901: mov eax,edi L00421903: mov ecx,[L00C861C8] inc edi cmp edi,ecx jl L004218DE mov ebx,[esp+10h] L00421912: cmp eax,ebp jz L0042192F cmp eax,FFFFFFFFh jz L0042192F mov dl,[eax+esi] xor ecx,ecx mov cl,[esi+ebp] mov [esi+ebp],dl mov [eax+esi],cl mov edx,[L00C861B4] L0042192F: mov ecx,[L00C861C8] inc ebp lea eax,[ecx-01h] cmp ebp,eax jl L004218D5 L0042193D: xor edi,edi pop ebp mov [ebx+000000CCh],edi mov eax,[L00C861C8] cmp eax,edi jle L0042197E L0042194F: mov ecx,[L00C861C4] xor eax,eax mov al,[edi+esi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L00C861C0] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L00428640 mov eax,[L00C861C8] inc edi cmp edi,eax jl L0042194F L0042197E: mov eax,[ebx+000000E0h] mov ecx,ebx mov [ebx+000000D4h],eax call SUB_L004286B0 push esi call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 L004219A0: push ecx mov eax,[L00C861C8] push ebx push esi inc eax push edi mov ebx,ecx push eax mov [esp+10h],ebx call SUB_L004D4FA9 mov ecx,[L00C861C8] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004219D5 L004219C7: mov [eax+esi],al mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L004219C7 L004219D5: push ebp lea edx,[ecx-01h] xor ebp,ebp test edx,edx jle L00421A4D mov edx,[L00C861BC] L004219E5: or eax,FFFFFFFFh cmp ebp,ecx mov edi,ebp jge L00421A22 L004219EE: mov ebx,[L00C861B8] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L00421A13 cmp eax,FFFFFFFFh jz L00421A11 mov cl,[ecx+edx] xor ebx,ebx mov bl,[eax+esi] cmp cl,[ebx+edx] jnc L00421A13 L00421A11: mov eax,edi L00421A13: mov ecx,[L00C861C8] inc edi cmp edi,ecx jl L004219EE mov ebx,[esp+10h] L00421A22: cmp eax,ebp jz L00421A3F cmp eax,FFFFFFFFh jz L00421A3F mov dl,[eax+esi] xor ecx,ecx mov cl,[esi+ebp] mov [esi+ebp],dl mov [eax+esi],cl mov edx,[L00C861BC] L00421A3F: mov ecx,[L00C861C8] inc ebp lea eax,[ecx-01h] cmp ebp,eax jl L004219E5 L00421A4D: xor edi,edi pop ebp mov [ebx+000000CCh],edi mov eax,[L00C861C8] cmp eax,edi jle L00421A8E L00421A5F: mov ecx,[L00C861C4] xor eax,eax mov al,[edi+esi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L00C861C0] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L00428640 mov eax,[L00C861C8] inc edi cmp edi,eax jl L00421A5F L00421A8E: mov eax,[ebx+000000E0h] mov ecx,ebx mov [ebx+000000D8h],eax call SUB_L004286B0 push esi call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 L00421AB0: push ecx push ebx push esi mov ebx,ecx push edi mov [esp+0Ch],ebx call SUB_L004A06C0 mov eax,[L00C861C8] inc eax push eax call SUB_L004D4FA9 mov ecx,[L00C861C8] mov esi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L00421AEA L00421ADC: mov [eax+esi],al mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L00421ADC L00421AEA: push ebp lea edx,[ecx-01h] xor ebp,ebp test edx,edx jle L00421B64 mov edx,[L00C861B0] L00421AFA: or eax,FFFFFFFFh cmp ebp,ecx mov edi,ebp jge L00421B39 L00421B03: mov ebx,[L00C861B8] xor ecx,ecx mov cl,[edi+esi] cmp byte ptr [ecx+ebx],32h jz L00421B2A cmp eax,FFFFFFFFh jz L00421B28 mov cx,[edx+ecx*2] xor ebx,ebx mov bl,[eax+esi] cmp cx,[edx+ebx*2] jnc L00421B2A L00421B28: mov eax,edi L00421B2A: mov ecx,[L00C861C8] inc edi cmp edi,ecx jl L00421B03 mov ebx,[esp+10h] L00421B39: cmp eax,ebp jz L00421B56 cmp eax,FFFFFFFFh jz L00421B56 mov dl,[eax+esi] xor ecx,ecx mov cl,[esi+ebp] mov [esi+ebp],dl mov [eax+esi],cl mov edx,[L00C861B0] L00421B56: mov ecx,[L00C861C8] inc ebp lea eax,[ecx-01h] cmp ebp,eax jl L00421AFA L00421B64: xor edi,edi pop ebp mov [ebx+000000CCh],edi mov eax,[L00C861C8] cmp eax,edi jle L00421BA5 L00421B76: mov ecx,[L00C861C4] xor eax,eax mov al,[edi+esi] push 00000000h mov edx,[ecx+eax*4] xor ecx,ecx push edx mov edx,[L00C861C0] mov cx,[edx+eax*2] push ecx mov ecx,ebx call SUB_L00428640 mov eax,[L00C861C8] inc edi cmp edi,eax jl L00421B76 L00421BA5: mov eax,[ebx+000000E0h] mov ecx,ebx mov [ebx+000000DCh],eax call SUB_L004286B0 push esi call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00421BD0: sub esp,00000110h push esi mov esi,ecx mov eax,[esi+000000A8h] cmp byte ptr [eax+000000F0h],01h jnz L00421C02 mov ecx,[eax+000000F4h] add eax,000000F8h push ecx push L004FF074 push eax call SUB_L004D512F add esp,0000000Ch L00421C02: mov edx,[esi+000000A8h] mov ax,[esi+000000A4h] mov ecx,[esi+000000A0h] add edx,000000F8h push edx push 00000001h push eax lea edx,[esp+10h] push ecx push edx call SUB_L0049CAD0 mov ecx,[L00C88300] add esp,00000014h lea eax,[esp+04h] push eax call SUB_L004BC750 test esi,esi jz L00421C49 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00421C49: pop esi add esp,00000110h retn ;------------------------------------------------------------------------------ Align 16 L00421C60: sub esp,00000110h push esi mov esi,ecx mov eax,[esi+000000A8h] cmp byte ptr [eax+000000F0h],01h jnz L00421C92 mov ecx,[eax+000000F4h] add eax,000000F8h push ecx push L004FF074 push eax call SUB_L004D512F add esp,0000000Ch L00421C92: mov edx,[esi+000000A8h] mov ax,[esi+000000A4h] mov ecx,[esi+000000A0h] add edx,000000F8h push edx push 00000000h push eax lea edx,[esp+10h] push ecx push edx call SUB_L0049CAD0 mov ecx,[L00C88300] add esp,00000014h lea eax,[esp+04h] push eax call SUB_L004BC750 test esi,esi jz L00421CD9 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00421CD9: pop esi add esp,00000110h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00421CF0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E131B push eax mov fs:[00000000h],esp sub esp,00000014h push esi push edi mov edi,ecx mov ecx,[L00C88300] call SUB_L004BA660 mov eax,[L00C88300] cmp dword ptr [eax+04h],FFFFFFFFh jnz L00421E16 xor esi,esi push 000002B8h mov [edi+6Ch],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,esi mov [esp+24h],esi jz L00421D63 mov ecx,[L00B2949C] push esi push esi push 00000001h push 00000001h push ecx push SSZ004FF45C_Connecting____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L00421D65 L00421D63: xor eax,eax L00421D65: mov [L00B2905C],eax mov edx,[eax+48h] push 00000001h push esi mov dword ptr [edx+6Ch],00000001h mov ecx,[L00B2905C] mov dword ptr [esp+2Ch],FFFFFFFFh call SUB_L004587A0 mov eax,[L005073D0] mov ecx,[L005073D4] lea edx,[esp+0Ch] push 00000001h push edx mov [esp+14h],esi mov [esp+1Ch],eax mov [esp+18h],esi mov [esp+20h],ecx call SUB_L00456380 add esp,00000008h call SUB_L0047D110 mov ecx,[L00B2905C] test eax,eax jnz L00421E06 cmp ecx,esi jz L00421DCD mov eax,[ecx] push 00000001h call [eax] L00421DCD: mov [L00B2905C],esi mov [edi+6Ch],esi cmp [L00B2905C],esi jnz L00421E2E push esi push esi push 00000001h push edi push SSZ004FF414_Couldn_t_connect_to_Ultima_Onlin call SUB_L00455DD0 add esp,00000014h mov [L00B2905C],eax pop edi pop esi mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L00421E06: cmp ecx,esi jz L00421E10 mov edx,[ecx] push 00000001h call [edx] L00421E10: mov [L00B2905C],esi L00421E16: mov al,[L00C8619C] push eax push L00C85FD0 push L00C85FF0 call SUB_L0047D040 add esp,0000000Ch L00421E2E: mov ecx,[esp+1Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 L00421E40: mov eax,[L00B29484] test eax,eax jz L00421E5B mov dword ptr [eax+6Ch],00000000h mov ecx,[L00B29484] jmp L004AEAE0 L00421E5B: retn ;------------------------------------------------------------------------------ Align 8 L00421E60: mov eax,[L00B29484] test eax,eax jz L00421E7B mov dword ptr [eax+6Ch],00000000h mov ecx,[L00B29484] jmp L004AE9D0 L00421E7B: retn ;------------------------------------------------------------------------------ Align 8 L00421E80: push FFFFFFFFh push L004E1346 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00B29484] test ecx,ecx jz L00421F2A mov eax,[ecx] push 00000001h call [eax] mov ecx,[L00B2949C] mov dword ptr [L00B29484],00000000h test ecx,ecx jz L00421EEA mov edx,[ecx] push 00000001h call [edx] push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L00421F10 mov ecx,eax call SUB_L00430440 jmp L00421F12 L00421EEA: push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000001h jz L00421F10 mov ecx,eax call SUB_L00430440 jmp L00421F12 L00421F10: xor eax,eax L00421F12: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+14h],FFFFFFFFh mov [L00B2949C],eax call SUB_L004587A0 L00421F2A: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00421F40: push FFFFFFFFh push L004E1358 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi call SUB_L00458F30 mov edx,[esp+20h] mov ecx,00000001h mov [esi+000000D4h],ecx mov [esi+000000B8h],ecx mov ecx,[esp+1Ch] mov edi,[esp+3Ch] mov [esi+30h],ecx mov ecx,[esp+28h] mov [esi+34h],edx mov edx,[esp+30h] mov [esi+0000009Ch],ecx mov ecx,[esp+34h] xor eax,eax mov [esi+000000DCh],edx mov edx,[esp+38h] mov dword ptr [esi],L004E875C cmp ecx,eax mov [esp+14h],eax mov dword ptr [esi+08h],SSZ004FF680_Button_gump mov [esi+000000E0h],eax mov [esi+000000C4h],eax mov [esi+000000C0h],eax mov [esi+000000CCh],eax mov [esi+000000D0h],eax mov [esi+000000E4h],eax mov dword ptr [esi+000000B4h],0000000Ah mov [esi+000000BCh],eax mov [esi+000000E8h],eax mov [esi+54h],ecx mov [esi+000000A8h],edx mov [esi+000000B0h],ax mov [esi+000000ACh],eax mov [esi+000000C8h],edi mov [esi+38h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax jz L0042202C lea eax,[esi+24h] lea edx,[esi+20h] push eax push edx push ecx jmp L00422039 L0042202C: cmp edx,eax jz L00422041 lea eax,[esi+24h] lea ecx,[esi+20h] push eax push ecx push edx L00422039: call SUB_L004434A0 add esp,0000000Ch L00422041: mov edx,[esi+20h] mov eax,[esp+2Ch] push SSZ004FF664_framedata_for_CButtonGump push 00000010h mov [esi+1Ch],edx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 16 L004220A0: push esi mov esi,ecx call SUB_L00422220 test byte ptr [esp+08h],01h jz L004220B8 push esi call SUB_L004D4F9E add esp,00000004h L004220B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004220C0: push FFFFFFFFh push L004E1378 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov ebx,[esp+34h] mov ecx,[esp+20h] xor eax,eax mov dword ptr [esi],L004E875C mov dword ptr [esi+08h],SSZ004FF680_Button_gump mov [esp+18h],eax mov [esi+000000E0h],eax mov [esi+000000C4h],eax mov [esi+000000CCh],eax mov [esi+000000C0h],eax mov [esi+000000D0h],eax mov [esi+000000E4h],eax mov [esi+000000BCh],eax mov [esi+000000E8h],eax mov [esi+54h],eax mov [esi+000000A8h],eax mov [esi+000000B0h],ax mov [esi+000000ACh],eax mov [esi+38h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov eax,[esp+28h] mov edx,[esp+24h] mov [esi+0000009Ch],ebx mov ebx,[esp+3Ch] sub eax,ecx mov [esi+000000DCh],ebx mov ebx,[esp+40h] mov [esi+30h],ecx lea ecx,[eax+01h] mov [esi+000000C8h],ebx mov ebx,ecx mov edi,00000001h and ebx,80000001h mov [esi+000000D4h],edi mov dword ptr [esi+000000B4h],0000000Ah mov [esi+000000B8h],edi mov [esi+34h],edx jns L004221AE dec ebx or ebx,FFFFFFFEh inc ebx L004221AE: cmp ebx,edi jnz L004221BD add eax,00000002h mov [esi+1Ch],eax mov [esi+20h],eax jmp L004221C3 L004221BD: mov [esi+1Ch],ecx mov [esi+20h],ecx L004221C3: mov eax,[esp+2Ch] mov ecx,[esp+38h] sub eax,edx push SSZ004FF664_framedata_for_CButtonGump inc eax push 00000010h mov [esi+24h],eax mov [esi+14h],ecx mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 8 SUB_L00422220: push FFFFFFFFh push L004E1398 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E875C mov eax,[esi+3Ch] xor edi,edi mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L00422268 push SSZ004FF6BC_ButtonGump_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L00422268: mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,edi jz L00422286 push SSZ004FF6A4_ButtonGump_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L00422286: mov eax,[esi+3Ch] cmp eax,edi jz L0042229E push SSZ004FF68C_ButtonGump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042229E: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004222C0: mov edx,[esp+08h] mov ecx,[ecx+4Ch] push edx mov edx,[esp+08h] mov eax,[ecx] push edx call [eax+20h] retn 0008h ;------------------------------------------------------------------------------ Align 16 L004222E0: push esi mov esi,ecx mov ecx,[esi+4Ch] test ecx,ecx jz L004222FB push 00000000h call SUB_L004584E0 mov eax,[esi+4Ch] mov dword ptr [eax+10h],00000000h L004222FB: mov eax,[esi+000000C4h] mov ecx,00000001h test eax,eax mov [esi+000000E0h],ecx jnz L00422359 mov eax,[esi+0000009Ch] sub eax,00000000h jz L00422356 sub eax,00000002h jnz L00422359 mov eax,[esi+000000C0h] mov [esi+14h],ecx test eax,eax jz L00422339 mov ecx,[esi+4Ch] mov edx,[esi+000000A4h] mov [ecx+0Ch],edx L00422339: mov eax,[esi+000000DCh] test eax,eax jz L00422348 mov ecx,[esi+4Ch] call eax L00422348: mov dword ptr [esi+000000A0h],00000005h pop esi retn 0008h ;------------------------------------------------------------------------------ L00422356: mov [esi+14h],ecx L00422359: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L00422360: push esi push edi mov esi,ecx xor edi,edi push edi mov [esi+000000E0h],edi call SUB_L00476670 mov eax,[esi+4Ch] add esp,00000004h cmp eax,edi jz L0042237F mov [eax+10h],edi L0042237F: cmp [esi+000000C4h],edi jnz L0042240B mov eax,[esi+0000009Ch] sub eax,edi jz L004223E3 dec eax jz L004223A3 dec eax jnz L0042240B mov [esi+14h],edi pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004223A3: mov ecx,[esi+14h] xor eax,eax cmp ecx,edi setz al mov [esi+14h],eax mov eax,[esi+000000C0h] cmp eax,edi jz L004223C6 mov ecx,[esi+4Ch] mov edx,[esi+000000A4h] mov [ecx+0Ch],edx L004223C6: mov eax,[esi+000000DCh] cmp eax,edi jz L004223D5 mov ecx,[esi+4Ch] call eax L004223D5: mov ecx,[esi+4Ch] push esi mov eax,[ecx] call [eax+4Ch] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004223E3: mov eax,[esi+000000C0h] mov [esi+14h],edi cmp eax,edi jz L004223FC mov ecx,[esi+4Ch] mov edx,[esi+000000A4h] mov [ecx+0Ch],edx L004223FC: mov eax,[esi+000000DCh] cmp eax,edi jz L0042240B mov ecx,[esi+4Ch] call eax L0042240B: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00422410: push 00000000h mov dword ptr [ecx+000000D0h],00000001h call SUB_L004D0FB0 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00422430: dd L00D081C7 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00422440: db 8Bh; '<' db C1h; '' db 8Bh; '<' db 88h; '?' db E0h; ' ' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 74h; 't' db 1Ah; db 83h; '?' db B8h; 'ñ' db 9Ch; '?' db 00h; db 00h; db 00h; db 02h; db 75h; 'u' db 11h; db 8Bh; '<' db 88h; '?' db A0h; 'ÿ' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 7Eh; '~' db 08h; db 49h; 'I' db 89h; '%' db 88h; '?' db A0h; 'ÿ' db 00h; db 00h; db 00h; db C3h; 'ƒ' db 8Bh; '<' db 88h; '?' db C0h; '€' db 00h; db 00h; db 00h; db 85h; ':' db C9h; '‰' db 74h; 't' db 0Ch; db 8Bh; '<' db 48h; 'H' db 4Ch; 'L' db 8Bh; '<' db 90h; '?' db A4h; 'ý' db 00h; db 00h; db 00h; db 89h; '%' db 51h; 'Q' db 0Ch; db 8Bh; '<' db 48h; 'H' db 4Ch; 'L' db FFh; 'ï' db A0h; 'ÿ' db DCh; 'œ' 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; '?' L00422490: sub esp,00000018h push esi mov esi,ecx push edi mov eax,[esi+6Ch] test eax,eax jz L004226BE lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000000h call SUB_L00457C90 mov eax,[esp+0Ch] mov edx,[esi+20h] mov ecx,[esp+08h] mov edi,[esp+24h] mov [esp+10h],eax add edx,eax mov eax,[esi+24h] mov [esp+14h],ecx add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+20h],edx mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004226BE mov eax,[esi+000000CCh] test eax,eax jz L00422559 mov edx,[esi+14h] mov eax,[esi+3Ch] mov ecx,[L005073D4] mov eax,[eax+edx*8+04h] mov edx,[L005073D0] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push edi push eax push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ L00422559: cmp dword ptr [esi+14h],00000001h jnz L004225C0 mov eax,[esi+000000A8h] test eax,eax jz L004226BE mov ecx,[esi+000000C4h] test ecx,ecx jz L00422623 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx mov dword ptr [L00CD8C24],000003C0h mov ecx,[esi+000000A8h] push edx push eax push edi push ecx push SUB_L004B9C60 call SUB_L004436C0 add esp,00000020h pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ L004225C0: mov eax,[esi+000000D0h] test eax,eax jz L00422604 mov eax,[esi+000000ACh] test eax,eax jz L00422604 mov ecx,[esi+000000C4h] test ecx,ecx jnz L00422604 mov ecx,[L005073D4] mov edx,[L005073D0] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx push ecx push edi push eax jmp L004226B1 L00422604: mov ecx,[esi+54h] test ecx,ecx jz L004226BE mov eax,[esi+000000E4h] test eax,eax jz L00422646 mov eax,[esi+000000BCh] test eax,eax jz L00422646 L00422623: mov edx,[L005073D4] mov ecx,[L005073D0] push edx mov edx,[L00B189FC] push ecx mov ecx,[esp+10h] push edx mov edx,[esp+18h] push ecx push edx push edi push eax jmp L004226B1 L00422646: mov eax,[esi+000000C4h] test eax,eax jz L00422692 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+0Ch] push ecx mov ecx,[esp+14h] push edx mov dword ptr [L00CD8C24],000003C0h mov edx,[esi+54h] push eax push ecx push edi push edx push SUB_L004B9C60 call SUB_L004436C0 add esp,00000020h pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ L00422692: mov eax,[L005073D4] mov edx,[L005073D0] push eax mov eax,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push edx push eax push edi push ecx L004226B1: push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004226BE: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004226D0: mov eax,[ecx+6Ch] push esi test eax,eax jz L0042272B mov edx,[esp+08h] test edx,edx jl L0042272B mov eax,[esp+0Ch] test eax,eax jl L0042272B cmp edx,[ecx+20h] jge L0042272B cmp eax,[ecx+24h] jge L0042272B mov esi,[ecx+000000D4h] test esi,esi jnz L00422705 mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L00422705: mov esi,[ecx+000000CCh] test esi,esi jnz L00422722 push eax mov eax,[ecx+54h] push edx push eax call SUB_L00443A70 add esp,0000000Ch test ax,ax jz L0042272B L00422722: mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L0042272B: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00422740: mov eax,[ecx+000000E8h] mov edx,[ecx+000000B4h] inc eax mov dword ptr [ecx+000000E4h],00000000h cmp eax,edx mov [ecx+000000E8h],eax jle L00422783 push edi mov edi,[ecx+000000B8h] add edi,edx cmp eax,edi pop edi jle L00422779 mov dword ptr [ecx+000000E8h],00000000h L00422779: mov dword ptr [ecx+000000E4h],00000001h L00422783: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00422790: push FFFFFFFFh push L004E13B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+38h] lea ebp,[esi+24h] lea ebx,[esi+20h] push ebp xor edi,edi push ebx push eax mov [esp+28h],edi mov dword ptr [esi],L004E88D0 mov dword ptr [esi+08h],SSZ004FF6F0_Thumb_gump mov [esi+000000B8h],edi mov [esi+000000A0h],edi mov [esi+54h],eax mov [esi+000000B4h],di mov [esi+38h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004434A0 mov edx,[esp+38h] mov ebx,[ebx] mov eax,[esp+30h] mov ecx,[esp+34h] add esp,0000000Ch cmp edx,edi mov [esi+1Ch],ebx mov [esi+14h],edi mov dword ptr [esi+18h],00000001h mov [esi+30h],eax mov [esi+34h],ecx mov [esi+0000009Ch],edx mov [esi+000000A4h],eax jz L00422853 mov [esi+000000A8h],eax mov eax,[esp+30h] mov [esi+000000ACh],ecx mov ecx,[ebp+00h] sub eax,ecx mov [esi+000000B0h],eax jmp L0042286B L00422853: mov edx,[esp+30h] mov [esi+000000ACh],ecx sub edx,ebx mov [esi+000000B0h],ecx mov [esi+000000A8h],edx L0042286B: push SSZ004FF6D4_framedata_for_CThumbGump push 00000008h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 8 L004228B0: push esi mov esi,ecx call SUB_L004228D0 test byte ptr [esp+08h],01h jz L004228C8 push esi call SUB_L004D4F9E add esp,00000004h L004228C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004228D0: mov dword ptr [ecx],L004E88D0 jmp SUB_L00458FF0 Align 8 L004228E0: mov edx,[esp+08h] mov ecx,[ecx+4Ch] push edx mov edx,[esp+08h] mov eax,[ecx] push edx call [eax+1Ch] retn 0008h ;------------------------------------------------------------------------------ Align 16 L00422900: mov eax,[esp+04h] mov edx,[esp+08h] mov dword ptr [ecx+000000B8h],00000001h mov [ecx+70h],eax mov [ecx+74h],edx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00422920: push esi mov esi,ecx push edi push 00000000h mov dword ptr [esi+000000B8h],00000000h call SUB_L00476670 mov eax,[esi+0000009Ch] mov ecx,[esi+4Ch] add esp,00000004h test eax,eax jz L00422965 mov eax,[esi+000000ACh] mov edi,[esi+000000B0h] mov edx,[ecx] push esi mov esi,[esi+34h] sub edi,eax sub esi,eax push edi push esi call [edx+38h] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00422965: 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+38h] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00422990: push esi mov esi,ecx push 00000000h call SUB_L004D0FB0 add esp,00000004h mov dword ptr [esi+000000A0h],00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004229B0: dd L00A081C7 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004229C0: push esi mov esi,ecx push edi mov eax,[esi+000000B8h] test eax,eax jz L00422A7F mov edi,[esi+30h] mov eax,[esi+70h] mov edx,[esi+74h] mov ecx,edi push ebx mov ebx,[esp+10h] sub ecx,eax add ecx,ebx mov ebx,[esi+34h] mov eax,ebx sub eax,edx mov edx,[esp+14h] add eax,edx mov edx,[esi+000000ACh] cmp eax,edx jge L004229FF mov eax,edx L004229FF: mov edx,[esi+000000B0h] cmp eax,edx jle L00422A0B mov eax,edx L00422A0B: mov edx,[esi+000000A4h] cmp ecx,edx jge L00422A17 mov ecx,edx L00422A17: mov edx,[esi+000000A8h] cmp ecx,edx jle L00422A23 mov ecx,edx L00422A23: push 00000001h push 00000000h sub eax,ebx push 00000001h sub ecx,edi push eax push ecx mov ecx,esi call SUB_L00457800 mov eax,[esi+0000009Ch] mov ecx,[esi+4Ch] test eax,eax pop ebx jz L00422A64 mov eax,[esi+000000ACh] mov edi,[esi+000000B0h] mov edx,[ecx] push esi mov esi,[esi+34h] sub edi,eax sub esi,eax push edi push esi call [edx+34h] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00422A64: 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] L00422A7F: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00422A90: sub esp,00000018h push esi mov esi,ecx push edi mov eax,[esi+6Ch] test eax,eax jz L00422B6B lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000000h call SUB_L00457C90 mov eax,[esp+0Ch] mov edx,[esi+20h] mov ecx,[esp+08h] mov edi,[esp+24h] mov [esp+10h],eax add edx,eax mov eax,[esi+24h] mov [esp+14h],ecx add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+20h],edx mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L00422B6B mov eax,[esi+000000A0h] test eax,eax jz L00422B3A mov ax,[esi+000000B4h] test ax,ax jz L00422B3A mov edx,[L005073D4] mov ecx,[L005073D0] push edx mov edx,[L00B189FC] push ecx mov ecx,[esp+10h] push edx mov edx,[esp+18h] inc edx push ecx push edx and eax,0000FFFFh push edi push eax jmp L00422B5E L00422B3A: mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+0Ch] push ecx mov ecx,[esp+14h] push edx mov edx,[esi+54h] inc ecx push eax push ecx push edi push edx L00422B5E: push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L00422B6B: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00422B80: mov eax,[esp+04h] test eax,eax jl L00422BA6 mov edx,[esp+08h] test edx,edx jl L00422BA6 push esi mov esi,[ecx+20h] cmp eax,esi pop esi jge L00422BA6 cmp edx,[ecx+24h] jge L00422BA6 mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L00422BA6: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00422BB0: sub esp,00000014h push ebx mov ebx,[ecx+4Ch] push ebp push esi mov esi,[ebx+000000B8h] mov eax,[ebx+000000D0h] push edi mov edi,[ebx+000000C0h] sub edi,esi mov esi,[L00CD9CDC] inc edi xor ebp,ebp cmp esi,eax mov [esp+18h],ecx jz L00422C15 L00422BDF: lea eax,[esp+1Ch] push 00000002h lea ecx,[esp+14h] push eax mov eax,[esi] lea edx,[esp+28h] push ecx push edx push edi push eax push 00000000h call SUB_L00441CD0 mov ecx,[esp+2Ch] mov esi,[esi+18h] mov eax,[ebx+000000D0h] add esp,0000001Ch add ebp,ecx cmp esi,eax jnz L00422BDF mov ecx,[esp+18h] L00422C15: test esi,esi mov [esp+14h],ebp jz L00422C55 L00422C1D: lea ecx,[esp+1Ch] push 00000002h lea edx,[esp+14h] push ecx mov ecx,[esi] lea eax,[esp+28h] push edx push eax push edi push ecx push 00000000h call SUB_L00441CD0 mov edx,[esp+2Ch] mov ecx,[esp+30h] mov esi,[esi+18h] add esp,0000001Ch add ecx,edx test esi,esi mov [esp+14h],ecx jnz L00422C1D mov ecx,[esp+18h] L00422C55: mov esi,[ecx+000000ACh] mov eax,[ecx+000000B0h] mov [ecx+34h],esi mov edx,[ebx+000000D4h] sub eax,esi add edx,ebp inc eax pop edi imul eax,edx cdq idiv [esp+10h] add eax,esi pop esi pop ebp mov [ecx+34h],eax pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00422C90: mov eax,[ecx+0000009Ch] push esi test eax,eax push edi jz L00422CCB mov edi,[ecx+000000B0h] mov esi,[ecx+000000ACh] mov eax,edi mov [ecx+34h],esi sub eax,esi inc eax imul eax,[esp+0Ch] cdq idiv [esp+10h] add eax,esi cmp eax,edi mov [ecx+34h],eax jle L00422CF5 mov [ecx+34h],edi pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00422CCB: mov edi,[ecx+000000A8h] mov esi,[ecx+000000A4h] mov eax,edi mov [ecx+30h],esi sub eax,esi inc eax imul eax,[esp+0Ch] cdq idiv [esp+10h] add eax,esi cmp eax,edi mov [ecx+30h],eax jle L00422CF5 mov [ecx+30h],edi L00422CF5: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00422D00: push FFFFFFFFh push L004E13D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp push esi mov esi,ecx push edi mov [esp+24h],esi call SUB_L00458F30 mov ecx,[esp+4Ch] mov eax,[esp+48h] mov edx,[esp+58h] mov [esi+34h],ecx mov ecx,[esp+6Ch] mov [esi+30h],eax mov eax,[esp+54h] mov [esi+000000A0h],ecx lea ecx,[esi+24h] lea ebx,[esi+20h] mov [esi+0000009Ch],edx mov edx,[esp+70h] push ecx xor ebp,ebp push ebx push eax mov [esp+4Ch],ebp mov dword ptr [esi],L004E8A44 mov dword ptr [esi+08h],SSZ004FF928_ToggleControl_gump mov [esi+60h],ebp mov [esi+54h],eax mov [esi+000000A4h],edx mov [esi+000000ACh],ebp mov [esi+000000A8h],ebp mov [esi+64h],ebp mov [esi+000000BCh],ebp mov [esi+000000B4h],ebp mov [esi+50h],ebp mov [esi+4Ch],ebp mov [esi+48h],ebp mov [esi+44h],ebp mov [esi+40h],ebp call SUB_L004434A0 mov eax,[esp+68h] lea ecx,[esp+2Ch] lea edx,[esp+28h] push ecx push edx mov edx,[esp+78h] lea ecx,[esp+2Ch] and eax,0000FFFFh push ecx push edx push eax mov [esp+68h],eax call SUB_L00441BC0 mov eax,[esp+38h] mov edi,[ebx] add eax,00000004h add esp,00000020h add edi,eax mov eax,edi mov [ebx],edi mov ecx,eax and ecx,80000001h jns L00422DF0 dec ecx or ecx,FFFFFFFEh inc ecx L00422DF0: cmp ecx,00000001h jnz L00422DF8 inc eax mov [ebx],eax L00422DF8: push SSZ004FF904_framedata_for_CToggleControlGump push 00000008h mov [esi+14h],ebp mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF8F0_togglectrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] lea eax,[esp+24h] push eax mov [ecx+02h],dx mov edx,[esi+54h] lea ecx,[esp+24h] push ecx push edx call SUB_L004434A0 mov eax,[esp+30h] mov edx,[esp+38h] sub eax,edx mov ecx,[esp+2Ch] cdq mov ebx,[ebx] sub eax,edx mov edx,[esi+24h] add ecx,00000004h mov [esp+50h],edx lea edx,[esp+44h] push edx mov edx,[esi+3Ch] sar eax,1 mov [esp+30h],ecx mov [esp+34h],eax mov [esp+48h],ebp mov [esp+4Ch],ebp mov [esp+50h],ebx mov edx,[edx+04h] add edx,00000004h push ebx push edx mov edx,[esp+0000008Ch] push edx mov edx,[esp+0000008Ch] and edx,0000FFFFh push edx mov edx,[esp+78h] push edx mov edx,[esp+54h] lea eax,[eax+edx+02h] push eax push ecx call SUB_L004410C0 mov cl,[esp+000000A4h] add esp,0000003Ch mov [esi+000000B8h],cl mov ecx,esi call SUB_L00422FE0 mov ecx,[esp+38h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn 002Ch ;------------------------------------------------------------------------------ Align 4 L00422F30: push esi mov esi,ecx call SUB_L00422F50 test byte ptr [esp+08h],01h jz L00422F48 push esi call SUB_L004D4F9E add esp,00000004h L00422F48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00422F50: push FFFFFFFFh push L004E13F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E8A44 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L00422F9D push SSZ004FF954_ToggleControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L00422F9D: mov eax,[esi+3Ch] test eax,eax jz L00422FB9 push SSZ004FF93C_ToggleControl_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00422FB9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00422FE0: sub esp,00000008h lea eax,[esp+04h] push esi mov esi,ecx lea ecx,[esp+04h] push eax mov edx,[esi+54h] push ecx push edx call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch mov ecx,eax and ecx,80000001h jns L0042300F dec ecx or ecx,FFFFFFFEh inc ecx L0042300F: cmp ecx,00000001h jnz L00423019 inc eax mov [esp+04h],eax L00423019: mov edx,[esi+3Ch] mov ecx,[edx+04h] mov edx,[esp+08h] push ecx dec edx push 00000000h dec eax push edx push eax push 00000000h push 00000000h call SUB_L004420B0 mov ecx,[esi+000000A8h] add esp,00000018h test ecx,ecx jz L004230B7 mov eax,[esi+000000B4h] test eax,eax jz L004230B7 mov al,[esi+000000B8h] test al,al jz L00423088 mov eax,[esi+3Ch] 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+000000ACh] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00423088: mov edx,[esi+3Ch] 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 push eax push 00000000h push 00000000h push ecx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004230B7: mov eax,[esi+000000BCh] test eax,eax mov al,[esi+000000B8h] jz L00423133 test al,al jz L004230FF mov eax,[esi+3Ch] 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+000000A4h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004230FF: mov ecx,[esi+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+000000A0h] add eax,00000004h push ecx push eax push 00000000h push 00000000h push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00423133: test al,al jz L0042316B mov eax,[esi+3Ch] 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+0000009Ch] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0042316B: mov ecx,[esi+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+54h] add eax,00000004h push ecx push eax push 00000000h push 00000000h push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 L004231A0: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov ecx,[esi+4Ch] add esp,00000004h test ecx,ecx pop esi jz L004231C4 mov edx,[esp+08h] mov eax,[ecx] push edx mov edx,[esp+08h] push edx call [eax+20h] L004231C4: retn 0008h ;------------------------------------------------------------------------------ Align 16 L004231D0: push esi mov esi,ecx mov ecx,[esi+4Ch] test ecx,ecx jz L004231E1 push 00000000h call SUB_L004584E0 L004231E1: mov eax,[esp+08h] mov ecx,[esp+0Ch] mov dword ptr [esi+000000B0h],00000001h mov [esi+70h],eax mov [esi+74h],ecx pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L00423200: push esi mov esi,ecx push 00000000h mov dword ptr [esi+000000B0h],00000000h call SUB_L00476670 mov eax,[esi+000000BCh] add esp,00000004h test eax,eax jnz L00423246 mov cl,[esi+000000B8h] test cl,cl setz al mov ecx,esi mov [esi+000000B8h],al call SUB_L00422FE0 mov ecx,[esi+4Ch] test ecx,ecx jz L00423246 mov edx,[ecx] push esi call [edx+4Ch] L00423246: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00423250: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jnz L00423276 mov eax,[esi+000000A8h] mov dword ptr [esi+000000B4h],00000001h test eax,eax jz L00423276 call SUB_L00422FE0 L00423276: mov eax,[esi+000000BCh] pop esi test eax,eax jnz L00423289 push 00000000h call SUB_L004D0FB0 pop ecx L00423289: retn 0008h ;------------------------------------------------------------------------------ Align 8 L00423290: mov eax,[ecx+000000B4h] test eax,eax jz L004232B3 mov eax,[ecx+000000A8h] mov dword ptr [ecx+000000B4h],00000000h test eax,eax jz L004232B3 jmp SUB_L00422FE0 L004232B3: retn ;------------------------------------------------------------------------------ Align 16 L004232C0: push esi mov esi,ecx call SUB_L00423570 test byte ptr [esp+08h],01h jz L004232D8 push esi call SUB_L004D4F9E add esp,00000004h L004232D8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004232E0: push FFFFFFFFh push L004E142E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov edx,[esp+34h] mov ecx,[esp+28h] xor ebx,ebx mov dword ptr [esi],L004E8BB8 mov [esi+30h],eax mov dword ptr [esi+08h],SSZ004FF98C_edit_list_gump lea eax,[esi+24h] mov [esi+60h],ebx mov edi,00000001h lea ebp,[esi+20h] mov [esi+38h],ebx push eax mov [esi+000000BCh],edi push ebp mov [esi+000000B0h],ebx push edx mov [esp+28h],ebx mov [esi+000000ACh],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+34h],ecx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 push SSZ004FF970_framedata_for_CEditListGump push 00000008h mov [esi+14h],ebx mov [esi+18h],edi call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF8E4_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebp+00h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov ecx,[eax+04h] mov dx,[esi+24h] mov eax,[esp+54h] mov [ecx+02h],dx mov ecx,[esi+24h] mov edx,[ebp+00h] mov [esi+000000D8h],eax mov eax,[esp+50h] push ecx mov ecx,[esi+3Ch] mov dword ptr [esi+000000E0h],0000001Dh mov [esi+000000DCh],ebx mov [esi+000000D4h],ebx mov word ptr [esi+000000D2h],000Ah mov [esi+000000CCh],ebx mov [esi+000000C8h],ebx mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+54h],eax push edx mov edx,[ecx+04h] add edx,00000004h push edx push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 push 000000ECh call SUB_L004D4FA9 add esp,0000003Ch mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L004234AC mov ecx,[ebp+00h] push ebx push 00000983h push 00000983h push SUB_L0041FF30 push ebx push 00000002h push esi sub ecx,0000000Eh push 00000008h push ecx mov ecx,eax call SUB_L00421F40 jmp L004234AE L004234AC: xor eax,eax L004234AE: mov [esi+0000009Ch],eax mov [eax+6Ch],ebx mov edx,[esi+0000009Ch] push 00000001h push esi mov [esp+24h],bl mov dword ptr [edx+000000ACh],00000984h mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L0042351E mov ecx,[esi+24h] mov edx,[ebp+00h] push ebx push 00000985h push 00000985h push SUB_L00420000 push ebx push 00000002h sub ecx,00000014h push esi sub edx,0000000Eh push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L00423520 L0042351E: xor eax,eax L00423520: mov [esi+000000A0h],eax mov [eax+6Ch],ebx mov eax,[esi+000000A0h] push 00000001h push esi mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000986h mov ecx,[esi+000000A0h] call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00423570: push FFFFFFFFh push L004E1448 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E8BB8 mov eax,[esi+000000C0h] mov dword ptr [esp+10h],00000000h test eax,eax jz L004235D7 push edi L004235A6: mov eax,[esi+000000C0h] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L004235BD mov edx,[ecx] push 00000001h call [edx] L004235BD: mov eax,[esi+000000C0h] push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000C0h],edi test edi,edi jnz L004235A6 pop edi L004235D7: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L004235F9 push SSZ004FF9B0_editlist_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004235F9: mov eax,[esi+3Ch] test eax,eax jz L00423615 push SSZ004FF99C_editlist_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00423615: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00423640: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1476 push eax mov fs:[00000000h],esp sub esp,00000014h push ebx mov ebx,ecx push ebp mov edx,[ebx+000000D4h] mov eax,[ebx+000000D8h] cmp edx,eax jz L004239E2 mov ecx,[ebx+000000DCh] mov eax,edx sub eax,ecx push esi mov esi,eax push edi shl esi,04h lea esi,[esi+eax+03h] cmp esi,00000025h jnz L0042368B inc esi L0042368B: cmp esi,00000036h jnz L00423697 mov esi,00000037h jmp L004236A1 L00423697: cmp esi,00000047h jnz L004236A1 mov esi,00000049h L004236A1: lea eax,[edx+01h] inc ecx cmp ecx,eax mov [ebx+000000D4h],eax mov edi,00000001h jge L004236BD mov eax,[ebx+000000A0h] mov [eax+6Ch],edi L004236BD: mov eax,[ebx+000000C4h] xor ebp,ebp cmp eax,ebp push 0000000Ch jnz L00423809 call SUB_L004D4FA9 push 000001CCh mov [ebx+000000C0h],eax call SUB_L004D4FA9 add esp,00000008h mov [esp+10h],eax cmp eax,ebp mov [esp+2Ch],ebp jz L00423720 mov ecx,[ebx+000000E0h] push ebp push ebp push edi push 00000386h push edi push ecx push ebp push 00000011h xor edx,edx mov dx,[ebx+000000D2h] push 00000088h push ebx push esi push edx mov ecx,eax call SUB_L0042A340 jmp L00423722 L00423720: xor eax,eax L00423722: mov ecx,[ebx+000000C0h] mov dword ptr [esp+2Ch],FFFFFFFFh mov [ecx],eax mov eax,[ebx+000000BCh] cmp eax,ebp jz L00423758 mov edx,[ebx+000000C0h] mov eax,[edx] mov [eax+000000B4h],ebp mov ecx,[ebx+000000C0h] mov edx,[ecx] mov [edx+000000DCh],edi L00423758: mov eax,[ebx+000000C0h] cmp esi,00000003h mov ecx,[eax] mov [ecx+000001C4h],eax jl L00423775 mov eax,[ebx+24h] add esi,00000011h cmp esi,eax jle L00423780 L00423775: mov edx,[ebx+000000C0h] mov eax,[edx] mov [eax+6Ch],ebp L00423780: mov ecx,[ebx+000000C0h] push edi push ebx mov ecx,[ecx] call SUB_L004587A0 mov edx,[ebx+000000C0h] mov edi,[esp+34h] or ecx,FFFFFFFFh xor eax,eax mov edx,[edx] add edx,000000F8h 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+38h] and ecx,00000003h rep movsb mov ecx,[ebx+000000C0h] mov edx,[ecx] mov [edx+000000F4h],eax mov ecx,[ebx+000000C0h] mov ecx,[ecx] mov edx,[ecx] call [edx+00000174h] mov eax,[ebx+000000C0h] mov [eax+08h],ebp mov ecx,[ebx+000000C0h] mov [ecx+04h],ebp mov eax,[ebx+000000C0h] mov [ebx+000000C8h],eax mov [ebx+000000C4h],eax jmp L0042395F L00423809: call SUB_L004D4FA9 mov edx,[ebx+000000C4h] push 000001CCh mov [edx+04h],eax call SUB_L004D4FA9 add esp,00000008h mov [esp+10h],eax cmp eax,ebp mov [esp+2Ch],edi jz L0042385D mov ecx,[ebx+000000E0h] push ebp push ebp push edi push 00000386h push edi push ecx push ebp push 00000011h xor edx,edx mov dx,[ebx+000000D2h] push 00000088h push ebx push esi push edx mov ecx,eax call SUB_L0042A340 jmp L0042385F L0042385D: xor eax,eax L0042385F: mov ecx,[ebx+000000C4h] mov dword ptr [esp+2Ch],FFFFFFFFh mov edx,[ecx+04h] mov [edx],eax mov eax,[ebx+000000BCh] cmp eax,ebp jz L0042389E mov eax,[ebx+000000C4h] mov ecx,[eax+04h] mov edx,[ecx] mov [edx+000000B4h],ebp mov eax,[ebx+000000C4h] mov ecx,[eax+04h] mov edx,[ecx] mov [edx+000000DCh],edi L0042389E: mov eax,[ebx+000000C4h] cmp esi,00000003h mov eax,[eax+04h] mov ecx,[eax] mov [ecx+000001C4h],eax jl L004238BE mov eax,[ebx+24h] add esi,00000011h cmp esi,eax jle L004238CC L004238BE: mov edx,[ebx+000000C4h] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+6Ch],ebp L004238CC: mov edx,[ebx+000000C4h] push edi push ebx mov eax,[edx+04h] mov ecx,[eax] call SUB_L004587A0 mov ecx,[ebx+000000C4h] mov edi,[esp+34h] xor eax,eax mov edx,[ecx+04h] or ecx,FFFFFFFFh mov edx,[edx] add edx,000000F8h 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+000000C4h] mov edx,[ecx+04h] mov ecx,[esp+38h] mov eax,[edx] mov [eax+000000F4h],ecx mov edx,[ebx+000000C4h] mov eax,[edx+04h] mov ecx,[eax] mov edx,[ecx] call [edx+00000174h] mov eax,[ebx+000000C4h] mov ecx,[eax+04h] mov [ecx+04h],ebp mov eax,[ebx+000000C4h] mov edx,[eax+04h] mov [edx+08h],eax mov eax,[ebx+000000C4h] mov ecx,[eax+04h] mov [ebx+000000C4h],ecx L0042395F: mov eax,[ebx+000000D4h] mov edi,[ebx+000000DCh] sub eax,edi mov ecx,[ebx+20h] mov edx,eax mov [esp+14h],ebp shl edx,04h mov [esp+18h],ebp mov [esp+1Ch],ecx lea eax,[edx+eax+09h] mov edx,[ebx+24h] mov [esp+20h],eax mov eax,[ebx+3Ch] push edx mov edx,[ebx+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebp push ebp push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebx+000000D4h] add esp,0000001Ch cmp eax,ebp pop edi pop esi jz L004239E2 mov eax,[ebx+24h] mov edx,[ebx+3Ch] mov ecx,[ebx+20h] push eax mov eax,[edx+04h] mov edx,[ebx+54h] add eax,00000004h push ecx push eax push ebp lea ecx,[esp+1Ch] push ebp inc edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004239E2: mov ecx,[esp+1Ch] pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00423A00: sub esp,00000014h push ebx mov ebx,[esp+1Ch] push ebp push esi mov esi,ecx xor ebp,ebp cmp [esi+000000CCh],ebx jnz L00423A1C mov [esi+000000CCh],ebp L00423A1C: mov eax,[esi+000000C8h] cmp eax,ebx jnz L00423A33 mov eax,[eax+04h] cmp eax,ebp jz L00423A33 mov [esi+000000C8h],eax L00423A33: mov ecx,[ebx] cmp ecx,ebp jz L00423A3F mov eax,[ecx] push 00000001h call [eax] L00423A3F: cmp [esi+000000C0h],ebx jnz L00423A50 mov ecx,[ebx+04h] mov [esi+000000C0h],ecx L00423A50: cmp [esi+000000C4h],ebx jnz L00423A61 mov edx,[ebx+08h] mov [esi+000000C4h],edx L00423A61: mov eax,[ebx+04h] cmp eax,ebp jz L00423A6E mov ecx,[ebx+08h] mov [eax+08h],ecx L00423A6E: mov eax,[ebx+08h] cmp eax,ebp jz L00423A7B mov edx,[ebx+04h] mov [eax+04h],edx L00423A7B: lea eax,[esp+24h] push edi mov edi,[ebx+04h] lea ecx,[esp+10h] push eax push ecx push 000013A7h call SUB_L004434A0 mov ecx,[esp+34h] add esp,0000000Ch inc ecx cmp edi,ebp mov [esp+28h],ecx jz L00423AD1 L00423AA3: mov eax,[edi] mov edx,[esp+28h] mov ecx,[eax+34h] sub ecx,edx mov [eax+34h],ecx mov eax,[edi] mov edx,[esp+28h] mov ecx,[eax+34h] add ecx,edx mov edx,[esi+24h] cmp ecx,edx jge L00423ACA mov dword ptr [eax+6Ch],00000001h L00423ACA: mov edi,[edi+04h] cmp edi,ebp jnz L00423AA3 L00423AD1: push ebx call SUB_L004D4F9E mov ebx,[esi+000000D4h] mov edx,[esi+000000DCh] add esp,00000004h dec ebx mov eax,ebx inc edx cmp edx,eax mov [esi+000000D4h],ebx pop edi jl L00423AFE mov eax,[esi+000000A0h] mov [eax+6Ch],ebp L00423AFE: mov eax,[esi+000000D4h] mov ebx,[esi+000000DCh] sub eax,ebx mov ecx,[esi+20h] mov edx,eax mov [esp+10h],ebp shl edx,04h mov [esp+14h],ebp mov [esp+18h],ecx lea eax,[edx+eax+09h] mov edx,[esi+24h] mov [esp+1Ch],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebp push ebp push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch cmp eax,ebp jz L00423B7F mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebp lea ecx,[esp+20h] push ebp inc edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L00423B7F: mov ecx,[esi+4Ch] cmp ecx,ebp jz L00423B8C mov eax,[ecx] push esi call [eax+4Ch] L00423B8C: pop esi pop ebp pop ebx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00423BA0: push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L00423BD7 mov eax,[eax] mov cx,[esi+000000D0h] mov [eax+000001C2h],cx mov edx,[esi+000000CCh] mov ecx,[edx] mov eax,[ecx] call [eax+00000174h] mov dword ptr [esi+000000CCh],00000000h L00423BD7: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00423BE0: push ebx push ebp mov ebp,[esp+0Ch] mov ebx,ecx push esi push edi mov esi,[ebp+000001C4h] mov edx,[ebx+000000C4h] cmp esi,edx jnz L00423C65 mov edi,[edx] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx dec ecx jz L00423C61 mov eax,[ebx+000000BCh] push 00000000h test eax,eax jz L00423C5A push SSZ004FF8D0__new_ L00423C1F: mov ecx,ebx call SUB_L00423640 L00423C26: mov eax,00000386h cmp [ebp+000001C2h],ax jz L00423C46 mov edx,[ebp+00h] mov ecx,ebp mov [ebp+000001C2h],ax call [edx+00000174h] L00423C46: mov ecx,[ebx+4Ch] test ecx,ecx jz L00423C53 mov eax,[ecx] push ebx call [eax+4Ch] L00423C53: pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ L00423C5A: push L007049FC jmp L00423C1F L00423C61: cmp esi,edx jz L00423C26 L00423C65: mov edi,[esi] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx dec ecx jnz L00423C26 mov eax,[esi+08h] test eax,eax jz L00423CCE call SUB_L00456C40 mov eax,[esi+08h] mov ecx,[eax] push ecx call SUB_L00456DC0 add esp,00000004h mov edx,[esi+08h] mov ecx,[edx] mov eax,[ecx] push 0000E023h call [eax+44h] mov ecx,[esi+08h] mov ecx,[ecx] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+08h] mov ecx,[eax] cmp dword ptr [ecx+34h],00000008h jge L00423D16 mov ecx,ebx call SUB_L0041FF30 push esi mov ecx,ebx call SUB_L00423A00 jmp L00423C46 L00423CCE: mov eax,[esi+04h] test eax,eax jz L00423D16 call SUB_L00456C40 mov edx,[esi+04h] mov eax,[edx] push eax call SUB_L00456DC0 mov ecx,[esi+04h] add esp,00000004h mov ecx,[ecx] push 0000E023h mov edx,[ecx] call [edx+44h] mov eax,[esi+04h] mov ecx,[eax] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+04h] mov ecx,[eax] cmp dword ptr [ecx+34h],00000008h jge L00423D16 mov ecx,ebx call SUB_L0041FF30 L00423D16: push esi mov ecx,ebx call SUB_L00423A00 jmp L00423C46 Align 16 L00423D30: push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L00423D5D mov eax,[eax] mov cx,[esi+000000D0h] mov [eax+000001C2h],cx mov edx,[esi+000000CCh] mov ecx,[edx] mov eax,[ecx] call [eax+00000174h] L00423D5D: mov eax,[esi+000000C8h] test eax,eax mov [esi+000000CCh],eax jz L00423D88 mov ecx,[esp+08h] L00423D71: mov eax,[esi+000000CCh] cmp [eax],ecx jz L00423D88 mov eax,[eax+04h] test eax,eax mov [esi+000000CCh],eax jnz L00423D71 L00423D88: mov eax,[esi+000000CCh] test eax,eax jz L00423DC6 mov ecx,[eax] mov dx,[ecx+000001C2h] mov [esi+000000D0h],dx mov ecx,[eax] mov word ptr [ecx+000001C2h],0058h mov edx,[esi+000000CCh] mov ecx,[edx] mov eax,[ecx] call [eax+00000174h] push esi call SUB_L00456DC0 add esp,00000004h L00423DC6: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L00423DD0: mov eax,[ecx+000000BCh] test eax,eax jz L00423DFC cmp dword ptr [esp+04h],0000E02Eh jnz L00423DFC mov eax,[ecx+000000CCh] test eax,eax jz L00423DFC cmp eax,[ecx+000000C4h] jz L00423DFC push eax call SUB_L00423A00 L00423DFC: retn 0004h ;------------------------------------------------------------------------------ Align 4 L00423E00: sub esp,00000008h push esi mov esi,[L00B294BC] push edi mov edi,ecx lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx push 000013A7h call SUB_L004434A0 mov edx,[esp+14h] add esp,0000000Ch inc edx mov [esp+08h],edx mov eax,[esi+000001C4h] test eax,eax jz L00423E8C mov ecx,[eax+04h] test ecx,ecx jz L00423E8C call SUB_L00456C40 mov edx,[esi+000001C4h] mov eax,[edx+04h] mov ecx,[eax] push ecx call SUB_L00456DC0 mov edx,[esi+000001C4h] add esp,00000004h mov eax,[edx+04h] mov ecx,[eax] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+000001C4h] mov ecx,[eax+04h] mov edx,[ecx] mov ecx,[edi+24h] mov eax,[edx+34h] mov edx,[esp+08h] add eax,edx cmp eax,ecx jle L00423E8C mov ecx,edi call SUB_L00420000 L00423E8C: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L00423EA0: mov eax,[esp+04h] push esi mov esi,ecx push 00000000h mov ecx,[esp+10h] mov [esi+74h],ecx mov ecx,esi mov dword ptr [esi+000000ACh],00000001h mov [esi+70h],eax call SUB_L004584E0 cmp dword ptr [esi+000000B8h],00000001h jnz L00423EDB mov dword ptr [esi+000000B8h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L00423EDB: mov dword ptr [esi+000000B8h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000B4h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00423F00: sub esp,00000010h push esi mov esi,ecx mov dword ptr [esp+04h],00000000h mov dword ptr [esp+08h],00000000h mov eax,[esi+000000D4h] mov edx,[esi+000000DCh] sub eax,edx mov ecx,[esi+20h] mov edx,eax mov [esp+0Ch],ecx shl edx,04h lea eax,[edx+eax+09h] mov edx,[esi+24h] mov [esp+10h],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000000h push 00000000h push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch test eax,eax jz L00423F93 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push 00000000h lea ecx,[esp+14h] push 00000000h inc edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L00423F93: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00423FA0: push FFFFFFFFh push L004E1493 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp mov ebp,ecx push edi mov [esp+0Ch],ebp call SUB_L00458F30 mov eax,[esp+20h] mov ecx,[esp+24h] mov edx,[esp+28h] mov [ebp+30h],eax mov eax,[esp+2Ch] xor ebx,ebx push SSZ004FFA00_framedata_for_CMacroCmdGump push 00000008h mov [esp+20h],ebx mov dword ptr [ebp+00h],L004E8D2C mov dword ptr [ebp+08h],SSZ004FF9F0_macro_cmd_gump mov [ebp+60h],ebx mov [ebp+38h],ebx mov [ebp+54h],ebx mov [ebp+0000009Ch],ebx mov [ebp+34h],ecx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+20h],edx mov [ebp+24h],eax mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF9E0_macrocmd_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+20h] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push 000001CCh mov [edx+04h],eax mov ecx,[ebp+20h] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L004D4FA9 add esp,00000014h mov [esp+20h],eax mov byte ptr [esp+18h],01h cmp eax,ebx jz L004240E0 push ebx push 00000001h push ebx push 00000386h push 00000001h push 00000010h push 00000002h push 0000098Dh push 0000098Dh push ebp push 00000004h push 00000004h mov ecx,eax call SUB_L0042A0B0 jmp L004240E2 L004240E0: xor eax,eax L004240E2: mov ecx,[esp+30h] mov [ebp+000000A0h],eax mov byte ptr [eax+000000EFh],04h mov eax,[ebp+000000A0h] push esi mov [esp+1Ch],bl mov [eax+000000F4h],ecx mov eax,[ebp+000000A0h] cmp [eax+000000F4h],ebx jz L0042413C mov edi,[L00511418+ecx*4] lea edx,[eax+000000F8h] 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 L0042413C: mov ecx,[ebp+000000A0h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebp+000000A0h] push 00000001h push ebp call SUB_L004587A0 mov ecx,ebp mov [ebp+000000A4h],ebx mov [ebp+000000A8h],ebx mov [ebp+000000ACh],ebx mov [ebp+000000B0h],ebx call SUB_L00424470 mov ecx,[ebp+000000A4h] cmp ecx,ebx jz L00424292 mov eax,[esp+38h] mov [ecx+000000F4h],eax mov ecx,[ebp+000000A0h] mov ecx,[ecx+000000F4h] cmp ecx,00000005h jnz L004241B8 mov edx,[ebp+000000A4h] mov edi,[L004FF6FC+eax*4] add edx,000000F8h jmp L00424267 L004241B8: cmp ecx,00000008h jc L004241DA cmp ecx,0000000Bh ja L004241DA mov edx,[ebp+000000A4h] mov edi,[L004FF744+eax*4] add edx,000000F8h jmp L00424267 L004241DA: cmp ecx,0000000Dh jnz L0042420E test byte ptr [eax+L00CC1A5C],01h jnz L004241F4 L004241E8: mov cl,[eax+L00CC1A5D] inc eax test cl,01h jz L004241E8 L004241F4: mov edx,[ebp+000000A4h] lea edi,[eax+eax*4] shl edi,04h add edi,L00CC3C68 add edx,000000F8h jmp L00424267 L0042420E: cmp ecx,0000000Fh jnz L00424234 mov ecx,[L005073E0+eax*8] push eax push ecx call SUB_L00416BB0 mov edx,[ebp+000000A4h] add esp,00000008h add edx,000000F8h mov edi,eax jmp L00424267 L00424234: cmp ecx,00000018h jnz L00424284 cmp eax,00000001h jnz L00424251 mov edx,[ebp+000000A4h] mov edi,SSZ004FF9D4_Left_Hand add edx,000000F8h jmp L00424267 L00424251: cmp eax,00000002h jnz L00424284 mov edx,[ebp+000000A4h] mov edi,SSZ004FF9C8_Right_Hand add edx,000000F8h L00424267: 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 L00424284: mov ecx,[ebp+000000A4h] mov edx,[ecx] call [edx+00000174h] L00424292: mov eax,[ebp+000000A8h] cmp eax,ebx jz L004242D5 mov edi,[esp+3Ch] cmp edi,ebx jz L004242D5 lea edx,[eax+000000F8h] 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,[ebp+000000A8h] mov edx,[ecx] call [edx+00000174h] L004242D5: mov eax,[ebp+000000ACh] pop esi cmp eax,ebx jz L004242F8 mov ecx,[esp+3Ch] mov [eax+000000F4h],ecx mov ecx,[ebp+000000ACh] mov edx,[ecx] call [edx+00000174h] L004242F8: mov eax,[ebp+000000B0h] cmp eax,ebx jz L0042431A mov ecx,[esp+40h] mov [eax+000000F4h],ecx mov ecx,[ebp+000000B0h] mov edx,[ecx] call [edx+00000174h] L0042431A: mov ecx,[esp+10h] mov eax,ebp pop edi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ L00424330: push esi mov esi,ecx call SUB_L00424350 test byte ptr [esp+08h],01h jz L00424348 push esi call SUB_L004D4F9E add esp,00000004h L00424348: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00424350: push FFFFFFFFh push L004E14A8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E8D2C mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0042439D push SSZ004FFA30_macro_cmd_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0042439D: mov eax,[esi+3Ch] test eax,eax jz L004243B9 push SSZ004FFA1C_macro_cmd_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004243B9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004243E0: push esi push edi mov edi,ecx mov ecx,[esp+0Ch] mov eax,[edi+000000A0h] mov esi,[edi+4Ch] cmp ecx,eax jnz L0042441F cmp dword ptr [eax+000000F4h],00000063h jnz L00424418 push edi mov ecx,esi call SUB_L004250B0 test esi,esi jz L0042442B mov eax,[esi] push 00000000h mov ecx,esi call [eax+4Ch] pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L00424418: mov ecx,edi call SUB_L00424470 L0042441F: test esi,esi jz L0042442B mov edx,[esi] push edi mov ecx,esi call [edx+4Ch] L0042442B: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L00424430: dd L009C81C7 db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 8Bh; '<' db 49h; 'I' db 4Ch; 'L' db 85h; ':' db C9h; '‰' db 74h; 't' db 07h; db 6Ah; 'j' db 00h; db E8h; '¨' db 98h; '?' db 40h; '@' db 03h; db 00h; db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00424450: push 00000000h mov dword ptr [ecx+0000009Ch],00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00424470: push FFFFFFFFh push L004E14D6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp mov ebp,ecx push esi push edi xor edi,edi mov ecx,[ebp+000000A4h] xor esi,esi cmp ecx,edi mov [esp+10h],edi jz L004244B2 mov eax,[ecx] mov ebx,00000001h push ebx call [eax] mov [ebp+000000A4h],edi jmp L004244B7 L004244B2: mov ebx,00000001h L004244B7: mov ecx,[ebp+000000A8h] cmp ecx,edi jz L004244CC mov edx,[ecx] push ebx call [edx] mov [ebp+000000A8h],edi L004244CC: mov ecx,[ebp+000000ACh] cmp ecx,edi jz L004244E1 mov eax,[ecx] push ebx call [eax] mov [ebp+000000ACh],edi L004244E1: mov ecx,[ebp+000000B0h] cmp ecx,edi jz L004244F6 mov edx,[ecx] push ebx call [edx] mov [ebp+000000B0h],edi L004244F6: mov eax,[ebp+000000A0h] mov ecx,[eax+000000F4h] dec ecx cmp ecx,0000001Dh ja CASE_00424710_PROC0003 xor edx,edx mov dl,[ecx+CASE_00424720] jmp [CASE_PROCTABLE_00424710+edx*4] CASE_00424710_PROC0001: mov esi,ebx jmp CASE_00424710_PROC0003 CASE_00424710_PROC0002: cmp dword ptr [L00511414],00000016h jl CASE_00424710_PROC0003 CASE_00424710_PROC0000: mov [esp+10h],ebx CASE_00424710_PROC0003: mov ecx,[eax+30h] mov edx,[eax+20h] cmp esi,edi lea ebx,[ecx+edx+04h] jz L00424683 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,edi mov [esp+20h],edi jz L00424579 push edi push 00000001h push edi push 00000386h push 00000001h push 00000010h push 00000002h push 0000098Eh push 0000098Eh push ebp push 00000004h push ebx mov ecx,eax call SUB_L0042A0B0 jmp L0042457B L00424579: xor eax,eax L0042457B: mov [ebp+000000A4h],eax mov byte ptr [eax+000000EFh],04h mov eax,[ebp+000000A4h] or ecx,FFFFFFFFh mov [esp+20h],ecx mov [eax+000000F4h],edi mov edx,[ebp+000000A0h] mov eax,[edx+000000F4h] cmp eax,00000005h jnz L004245C3 mov edx,[ebp+000000A4h] mov edi,[L004FF6FC] add edx,000000F8h jmp L0042464B L004245C3: cmp eax,00000008h jc L004245E1 cmp eax,0000000Bh ja L004245E1 mov edx,[ebp+000000A4h] mov edi,[L004FF744] add edx,000000F8h jmp L0042464B L004245E1: cmp eax,0000000Dh jnz L00424625 mov dl,[L00CC1A5C] xor eax,eax test dl,01h jnz L004245FF L004245F3: mov dl,[eax+L00CC1A5D] inc eax test dl,01h jz L004245F3 L004245FF: mov edx,[ebp+000000A4h] lea edi,[eax+eax*4] shl edi,04h mov [edx+000000F4h],eax mov edx,[ebp+000000A4h] add edi,L00CC3C68 add edx,000000F8h jmp L0042464B L00424625: cmp eax,0000000Fh jnz L00424667 mov ecx,[L005073E0] push edi push ecx call SUB_L00416BB0 mov edx,[ebp+000000A4h] add esp,00000008h add edx,000000F8h mov edi,eax or ecx,FFFFFFFFh L0042464B: 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 edi,edi L00424667: mov ecx,[ebp+000000A4h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebp+000000A4h] push 00000001h push ebp call SUB_L004587A0 L00424683: cmp [esp+10h],edi jz L004246FD push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,edi mov dword ptr [esp+20h],00000001h jz L004246CB push edi push edi push 00000001h push 00000386h push 00000001h push 00000050h push edi push 0000098Eh push 0000098Eh push ebp push 00000004h push ebx mov ecx,eax call SUB_L0042A0B0 jmp L004246CD L004246CB: xor eax,eax L004246CD: mov [ebp+000000A8h],eax mov byte ptr [eax+000000EEh],0Ah mov eax,[ebp+000000A8h] push 00000001h push ebp mov dword ptr [esp+28h],FFFFFFFFh mov byte ptr [eax+000000EFh],04h mov ecx,[ebp+000000A8h] call SUB_L004587A0 L004246FD: mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00424710: dd CASE_00424710_PROC0000 dd CASE_00424710_PROC0001 dd CASE_00424710_PROC0002 dd CASE_00424710_PROC0003 CASE_00424720: db 00h, 00h, 00h, 00h, 01h, 03h, 03h, 01h, 01h, 01h, 01h, 03h, 01h, 03h, 01h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 01h, 03h, 03h, 03h, 00h, 03h, 02h Align 4 L00424740: push FFFFFFFFh push L004E1522 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push ebp mov ebx,ecx push esi lea eax,[esp+0Ch] push edi lea ecx,[esp+14h] push eax xor ebp,ebp push ecx mov ecx,ebx mov [esp+20h],ebx mov [esp+1Ch],ebp mov [esp+18h],ebp call SUB_L00457C90 mov ecx,[ebx+000000A0h] mov esi,[esp+3Ch] cmp esi,ecx jnz L00424839 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov [esp+34h],ebp jz L004247E6 mov edx,[esi+20h] mov ecx,[esi+34h] mov edi,[esi+24h] push 0000000Ah push 00000386h push 00000001h add edx,00000004h push ebp push edx mov edx,[esp+24h] add ecx,edi push 000009B5h lea ecx,[ecx+edx+01h] mov edx,[esi+30h] push ecx mov ecx,[esp+30h] lea edx,[edx+ecx-02h] mov ecx,eax push edx call SUB_L0042D460 mov ecx,eax jmp L004247E8 L004247E6: xor ecx,ecx L004247E8: mov eax,[L00511414] mov edi,00000001h inc eax mov [esp+3Ch],ecx cmp eax,edi mov dword ptr [esp+34h],FFFFFFFFh mov ebp,ecx jle L0042482D mov ebx,L0051141C L0042480A: cmp ebx,L00511490 jz L0042481F mov edx,[ebx] push edx push edi call SUB_L0042E470 mov ecx,[esp+3Ch] L0042481F: mov eax,[L00511414] inc edi add ebx,00000004h inc eax cmp edi,eax jl L0042480A L0042482D: push SSZ004FFA48__NONE_ push 00000063h jmp L00424BE1 L00424839: mov eax,[ebx+000000A4h] mov edi,00000005h cmp esi,eax jnz L00424C56 cmp [ecx+000000F4h],edi jnz L004248E9 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov dword ptr [esp+34h],00000001h jz L004248B0 mov ecx,[esi+20h] mov edx,[esi+34h] mov ebx,[esi+24h] push ebp push 00000386h push 00000001h add ecx,00000004h push ebp push ecx mov ecx,[esp+24h] add edx,ebx push 000009B5h lea edx,[edx+ecx+01h] mov ecx,[esi+30h] push edx mov edx,[esp+30h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0042D460 jmp L004248B2 L004248B0: xor eax,eax L004248B2: mov [esp+3Ch],eax mov dword ptr [esp+34h],FFFFFFFFh mov ebp,eax xor ebx,ebx mov edi,L004FF6FC jmp L004248CD L004248C9: mov eax,[esp+3Ch] L004248CD: mov edx,[edi] mov ecx,eax push edx push ebx call SUB_L0042E470 add edi,00000004h inc ebx cmp edi,L004FF71C jl L004248C9 jmp L00424BE6 L004248E9: cmp esi,eax jnz L00424C56 mov edx,[ecx+000000F4h] cmp edx,00000008h jc L004249C8 cmp edx,0000000Bh ja L004249C8 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov dword ptr [esp+34h],00000002h jz L00424961 mov ecx,[esi+20h] mov edx,[esi+34h] push ebp push 00000386h push 00000001h push ebp mov ebp,[esi+24h] add ecx,00000004h push ecx mov ecx,[esp+24h] add edx,ebp push 000009B5h lea edx,[edx+ecx+01h] mov ecx,[esi+30h] push edx mov edx,[esp+30h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0042D460 mov ebp,eax L00424961: mov eax,[L004FF744] xor edi,edi test eax,eax mov dword ptr [esp+34h],FFFFFFFFh jz L00424BE6 L00424978: mov edx,[ebx+000000A0h] mov eax,[edx+000000F4h] cmp eax,0000000Ah jc L004249A3 cmp eax,0000000Bh ja L004249A3 mov eax,[L004FF778+edi*4] test eax,eax jz L004249B7 mov eax,[L004FF744+edi*4] push eax jmp L004249AB L004249A3: mov ecx,[L004FF744+edi*4] push ecx L004249AB: push edi mov ecx,ebp call SUB_L0042E470 mov ebx,[esp+18h] L004249B7: mov eax,[L004FF748+edi*4] inc edi test eax,eax jnz L00424978 jmp L00424BE6 L004249C8: cmp esi,eax jnz L00424C56 cmp dword ptr [ecx+000000F4h],0000000Dh jnz L00424A82 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov dword ptr [esp+34h],00000003h jz L00424A36 mov edx,[esi+20h] mov ecx,[esi+34h] mov edi,[esi+24h] push 0000000Ah push 00000386h push 00000001h add edx,00000004h push ebp push edx mov edx,[esp+24h] add ecx,edi push 000009B5h lea ecx,[ecx+edx+01h] mov edx,[esi+30h] push ecx mov ecx,[esp+30h] lea edx,[edx+ecx-02h] mov ecx,eax push edx call SUB_L0042D460 mov ebp,eax L00424A36: mov eax,[L00CC1C20] xor edi,edi test eax,eax mov dword ptr [esp+34h],FFFFFFFFh jle L00424BE6 L00424A4D: xor eax,eax mov al,[edi+L00CC1CF4] test byte ptr [eax+L00CC1A5C],01h jz L00424A73 lea ecx,[eax+eax*4] shl ecx,04h add ecx,L00CC3C68 push ecx push eax mov ecx,ebp call SUB_L0042E470 L00424A73: mov eax,[L00CC1C20] inc edi cmp edi,eax jl L00424A4D jmp L00424BE6 L00424A82: cmp esi,eax jnz L00424C56 cmp dword ptr [ecx+000000F4h],0000000Fh jnz L00424B58 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov dword ptr [esp+34h],00000004h jz L00424AF4 mov edx,[esi+20h] mov ecx,[esi+34h] mov edi,[esi+24h] push 0000000Ah push 00000386h push 00000001h add edx,00000004h push ebp push edx mov edx,[esp+24h] add ecx,edi push 000009B5h lea ecx,[ecx+edx+01h] mov edx,[esi+30h] push ecx mov ecx,[esp+30h] lea edx,[edx+ecx-02h] mov ecx,eax push edx call SUB_L0042D460 mov [esp+3Ch],eax jmp L00424AF8 L00424AF4: mov [esp+3Ch],ebp L00424AF8: mov edx,[L005073E0] or ecx,FFFFFFFFh mov edi,edx xor eax,eax mov [esp+34h],ecx xor ebx,ebx repne scasb mov ebp,[esp+3Ch] not ecx dec ecx jz L00424BE6 mov edi,L005073E0 jmp L00424B25 L00424B21: mov edi,[esp+18h] L00424B25: push ebx push edx call SUB_L00416BB0 mov ecx,[esp+44h] add esp,00000008h push eax push ebx call SUB_L0042E470 mov edx,[edi+08h] add edi,00000008h mov [esp+18h],edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax inc ebx repne scasb not ecx dec ecx jnz L00424B21 jmp L00424BE6 L00424B58: cmp esi,eax jnz L00424C56 cmp dword ptr [ecx+000000F4h],00000018h jnz L00424C56 push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebp mov [esp+34h],edi jz L00424BC2 mov ecx,[esi+20h] mov edx,[esi+34h] mov ebx,[esi+24h] push 0000000Ah push 00000386h push 00000001h add ecx,00000004h push ebp push ecx mov ecx,[esp+24h] add edx,ebx push 000009B5h lea edx,[edx+ecx+01h] mov ecx,[esi+30h] push edx mov edx,[esp+30h] lea ecx,[ecx+edx-02h] push ecx mov ecx,eax call SUB_L0042D460 mov ebp,eax L00424BC2: push SSZ004FF9D4_Left_Hand push 00000001h mov ecx,ebp mov dword ptr [esp+3Ch],FFFFFFFFh call SUB_L0042E470 push SSZ004FF9C8_Right_Hand push 00000002h mov ecx,ebp L00424BE1: call SUB_L0042E470 L00424BE6: mov edx,[ebp+00h] push FFFFFFFFh mov ecx,ebp call [edx+00000174h] push 00000001h push 00000000h mov ecx,ebp mov dword ptr [ebp+6Ch],00000001h call SUB_L004587A0 push ebp mov [ebp+0000009Ch],esi call SUB_L00476670 lea eax,[esp+2Ch] lea ecx,[esp+28h] push eax push ecx call SUB_L00476BC0 mov edx,[esp+30h] mov eax,[esp+34h] add esp,0000000Ch mov [esp+20h],edx lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx push edx mov ecx,ebp mov [esp+24h],eax call SUB_L00457D20 mov ecx,[esp+1Ch] mov edx,[esp+20h] mov eax,[ebp+00h] push ecx push edx mov ecx,ebp call [eax+2Ch] L00424C56: mov ecx,[esp+2Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00424C70: push FFFFFFFFh push L004E154E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov eax,[esp+20h] mov ecx,[esp+24h] mov edx,[esp+28h] xor ebx,ebx mov dword ptr [esi],L004E8EA0 mov [esi+30h],eax mov eax,[esp+2Ch] mov dword ptr [esi+08h],SSZ004FFA70_macro_list_gump push SSZ004FFA50_framedata_for_CMacroListGump mov [esi+60h],ebx push 00000008h mov [esp+20h],ebx mov [esi+38h],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+34h],ecx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+20h],edx mov [esi+24h],eax mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF8E4_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov eax,[esp+44h] mov [ecx+02h],dx mov [esi+000000D0h],eax mov [esi+000000D4h],ebx mov ecx,[esp+40h] push 000000ECh mov [esi+000000CCh],ebx mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+000000C8h],ebx mov [esi+54h],ecx call SUB_L004D4FA9 add esp,00000014h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+18h],01h jz L00424DFE mov edx,[esi+20h] push ebx push 00000983h push 00000983h push L004200E0 push ebx push 00000002h push esi sub edx,00000008h push 00000004h push edx mov ecx,eax call SUB_L00421F40 jmp L00424E00 L00424DFE: xor eax,eax L00424E00: mov [esi+0000009Ch],eax mov [eax+6Ch],ebx mov eax,[esi+0000009Ch] push 00000001h push esi mov [esp+20h],bl mov dword ptr [eax+000000ACh],00000984h mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+18h],02h jz L00424E70 mov ecx,[esi+24h] mov edx,[esi+20h] push ebx push 00000985h push 00000985h push L00420190 push ebx push 00000002h sub ecx,0000000Eh push esi sub edx,00000008h push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L00424E72 L00424E70: xor eax,eax L00424E72: mov [esi+000000A0h],eax mov eax,[esi+0000009Ch] push 00000001h push esi mov [eax+6Ch],ebx mov ecx,[esi+000000A0h] mov [esp+20h],bl mov dword ptr [ecx+000000ACh],00000986h mov ecx,[esi+000000A0h] call SUB_L004587A0 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 8 L00424EC0: push esi mov esi,ecx call SUB_L00424EE0 test byte ptr [esp+08h],01h jz L00424ED8 push esi call SUB_L004D4F9E add esp,00000004h L00424ED8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00424EE0: push FFFFFFFFh push L004E1568 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E8EA0 mov eax,[esi+000000BCh] mov dword ptr [esp+10h],00000000h test eax,eax jz L00424F47 push edi L00424F16: mov eax,[esi+000000BCh] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L00424F2D mov edx,[ecx] push 00000001h call [edx] L00424F2D: mov eax,[esi+000000BCh] push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000BCh],edi test edi,edi jnz L00424F16 pop edi L00424F47: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L00424F69 push SSZ004FFA94_MacroList_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L00424F69: mov eax,[esi+3Ch] test eax,eax jz L00424F85 push SSZ004FFA80_MacroList_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00424F85: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00424FB0: push FFFFFFFFh push L004E158B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov esi,[ecx+48h] push edi xor ebx,ebx xor ebp,ebp xor edi,edi test esi,esi mov [esp+10h],ecx jz L00425007 L00424FDD: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L00424FF7 mov eax,[esi+34h] cmp eax,edi jle L00424FF7 mov edi,eax mov ebx,esi inc ebp L00424FF7: mov esi,[esi+40h] test esi,esi jnz L00424FDD test ebx,ebx jz L00425007 add edi,0000001Ah jmp L0042500B L00425007: mov edi,[esp+38h] L0042500B: push 000000B4h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax xor ebx,ebx cmp eax,ebx mov [esp+20h],ebx jz L00425052 mov ecx,[esp+38h] mov edx,[esp+34h] push ecx mov ecx,[esp+34h] push edx mov edx,[esp+34h] push ecx mov ecx,[esp+34h] push edx push ecx push 0000001Ah push 0000010Eh push edi push 0000000Ah mov ecx,eax call SUB_L00423FA0 jmp L00425054 L00425052: xor eax,eax L00425054: cmp edi,00000008h mov dword ptr [esp+20h],FFFFFFFFh jl L0042506F mov esi,[esp+10h] add edi,0000001Ah cmp edi,[esi+24h] jle L00425076 jmp L00425073 L0042506F: mov esi,[esp+10h] L00425073: mov [eax+6Ch],ebx L00425076: push 00000001h push esi mov ecx,eax call SUB_L004587A0 cmp ebp,00000001h jnz L0042508E mov edx,[esi+000000A0h] mov [edx+6Ch],ebp L0042508E: mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004250B0: sub esp,0000000Ch push ebx push ebp push esi mov esi,[ecx+48h] push edi xor edi,edi xor ebp,ebp xor ebx,ebx cmp esi,edi mov [esp+14h],ecx mov [esp+18h],edi mov [esp+10h],edi jz L00425118 L004250D0: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L004250EE mov eax,[esi+34h] inc ebp cmp eax,edi mov ebx,esi jle L004250EE mov edi,eax mov [esp+18h],esi L004250EE: mov esi,[esi+40h] test esi,esi jnz L004250D0 cmp ebp,0000000Ah jnz L00425118 mov ecx,[ebx+000000A0h] mov eax,[ecx+000000F4h] test eax,eax jz L00425118 mov edi,[esp+20h] mov dword ptr [esp+10h],00000001h jmp L0042512C L00425118: mov edi,[esp+20h] mov eax,[esp+18h] cmp edi,eax jnz L0042512C mov dword ptr [esp+10h],00000001h L0042512C: mov edx,[esp+14h] mov esi,[edx+48h] test esi,esi jz L00425177 mov ebx,FFFFFFE6h L0042513C: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L00425170 mov ecx,[esi+34h] mov eax,[edi+34h] cmp ecx,eax jle L00425170 mov edx,ecx add edx,ebx mov [esi+34h],edx mov eax,edx mov edx,[esp+14h] add eax,0000001Ah cmp eax,[edx+24h] jge L00425170 mov dword ptr [esi+6Ch],00000001h L00425170: mov esi,[esi+40h] test esi,esi jnz L0042513C L00425177: test edi,edi jz L00425183 mov eax,[edi] push 00000001h mov ecx,edi call [eax] L00425183: mov eax,[esp+10h] pop edi pop esi pop ebp test eax,eax pop ebx jz L004251A2 mov ecx,[esp+04h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L00424FB0 L004251A2: add esp,0000000Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 L004251B0: push ecx push ebx push ebp push esi mov esi,ecx mov ecx,[esp+14h] xor ebp,ebp test ecx,ecx push edi mov [esp+10h],esi jz L0042521F mov eax,[ecx] call [eax+00000120h] test eax,eax jz L0042521F mov esi,[esi+48h] xor ebx,ebx xor edi,edi test esi,esi jz L00425202 L004251DC: mov edx,[esi] mov ecx,esi call [edx+00000120h] test eax,eax jz L004251F6 mov eax,[esi+34h] inc ebx cmp eax,edi jle L004251F6 mov edi,eax mov ebp,esi L004251F6: mov esi,[esi+40h] test esi,esi jnz L004251DC cmp ebx,0000000Ah jge L0042521B L00425202: cmp ebp,[esp+18h] jnz L0042521B mov ecx,[esp+10h] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L00424FB0 L0042521B: mov esi,[esp+10h] L0042521F: mov ecx,[esi+4Ch] test ecx,ecx jz L0042522C mov eax,[ecx] push esi call [eax+4Ch] L0042522C: pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 16 L00425240: mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[esp+0Ch] mov [esi+74h],ecx mov ecx,[esi+4Ch] test ecx,ecx mov dword ptr [esi+000000ACh],00000001h mov [esi+70h],eax jz L00425269 push 00000000h call SUB_L004584E0 L00425269: cmp dword ptr [esi+000000B8h],00000001h jnz L00425280 mov dword ptr [esi+000000B8h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L00425280: mov dword ptr [esi+000000B8h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000B4h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004252A0: mov edx,[ecx+000000A4h] xor eax,eax cmp edx,eax mov [ecx+000000ACh],eax jz L004252C8 push eax mov [ecx+000000A4h],eax mov [ecx+000000B8h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ L004252C8: cmp dword ptr [ecx+000000B8h],00000002h jnz L004252D7 mov [ecx+000000B8h],eax L004252D7: push eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004252F0: push ebx mov ebx,[ecx+000000ACh] push esi mov esi,[esp+10h] push edi mov edi,[esp+10h] test ebx,ebx jz L00425345 mov eax,[ecx+000000B8h] test eax,eax jbe L00425345 mov edx,[ecx+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00425331 mov edx,[ecx+74h] mov eax,esi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00425345 L00425331: mov dword ptr [ecx+000000A4h],00000001h mov dword ptr [ecx+000000B8h],00000000h L00425345: test ebx,ebx jz L00425369 mov eax,[ecx+4Ch] test eax,eax jz L00425369 mov edx,[ecx+74h] push 00000001h sub esi,edx mov edx,[ecx+70h] push 00000000h push 00000001h sub edi,edx push esi push edi mov ecx,eax call SUB_L00457800 L00425369: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00425370: 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 L004253B5 sub edi,[esi+000000B4h] cmp edi,eax jbe L004253B5 mov eax,[esi+000000ACh] mov dword ptr [esi+000000B8h],00000000h test eax,eax jz L004253B5 mov [esi+000000A4h],ecx L004253B5: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004253C0: sub esp,00000008h mov dword ptr [L00CC1C20],00000000h push ebx push ebp push esi push edi xor ebp,ebp L004253D3: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push ebp push 00000010h push 0000000Fh call SUB_L0045EF20 add esp,00000014h test eax,eax jz L00425438 mov edx,[esp+10h] mov ecx,[L00CC1C20] inc eax lea esi,[edx-01h] mov dl,[eax-01h] push esi push eax lea eax,[ecx+ecx*4] mov [ecx+L00CC1A5C],dl shl eax,04h add eax,L00CC3C68 push eax call SUB_L004D52C0 mov edx,[L00CC1C20] add esp,0000000Ch lea ecx,[edx+edx*4] shl ecx,04h inc edx mov byte ptr [ecx+esi+L00CC3C68],00h mov [L00CC1C20],edx jmp L00425473 L00425438: mov edx,[L00CC1C20] mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax lea ebx,[edx+edx*4] mov byte ptr [edx+L00CC1A5C],00h shl ebx,04h add ebx,L00CC3C68 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 L00425473: inc ebp cmp ebp,00000031h jl L004253D3 mov ecx,0000000Ch xor eax,eax mov edi,L00CC1CF4 rep stosd stosw xor eax,eax test edx,edx jle L0042549E L00425493: mov [eax+L00CC1CF4],al inc eax cmp eax,edx jl L00425493 L0042549E: dec edx mov [esp+10h],edx L004254A3: mov eax,[esp+10h] xor ebp,ebp xor edi,edi test eax,eax jle L0042553B L004254B3: mov dl,[edi+L00CC1CF5] mov cl,[edi+L00CC1CF4] mov eax,edx mov [esp+14h],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,L00CC3C68 shl eax,04h add eax,L00CC3C68 L004254E8: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L0042550C test cl,cl jz L00425508 mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L0042550C add eax,00000002h add esi,00000002h test cl,cl jnz L004254E8 L00425508: xor eax,eax jmp L00425511 L0042550C: sbb eax,eax sbb eax,FFFFFFFFh L00425511: test eax,eax jle L0042552A mov cl,[esp+14h] mov [edi+L00CC1CF4],dl mov [edi+L00CC1CF5],cl mov ebp,00000001h L0042552A: mov eax,[esp+10h] inc edi cmp edi,eax jl L004254B3 test ebp,ebp jnz L004254A3 L0042553B: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00425550: push FFFFFFFFh push L004E16D1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov ebp,ecx push edi mov [esp+18h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004E94B0 mov dword ptr [ebp+08h],SSZ004FFBF0_CharCreation_gump mov [ebp+60h],ebx mov dword ptr [ebp+54h],000004ECh mov [ebp+64h],ebx mov dword ptr [ebp+00000098h],FFFFFFFFh mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx lea edi,[ebp+24h] mov [ebp+40h],ebx mov eax,[ebp+54h] lea esi,[ebp+20h] push edi push esi push eax mov [esp+30h],ebx call SUB_L004434A0 mov dword ptr [esi],00000280h mov dword ptr [edi],000001E0h mov ecx,[esi] mov eax,00000001h mov [ebp+1Ch],ecx mov [ebp+30h],ebx mov [ebp+34h],ebx mov dword ptr [ebp+00000104h],000000EEh mov dword ptr [ebp+00000108h],00000062h mov [ebp+14h],ebx mov [ebp+18h],eax mov [ebp+00000124h],eax mov ecx,SSZ004FF598_NONE mov [ebp+00000128h],ebx mov [ebp+00000138h],ecx mov [ebp+0000013Ch],ebx mov [ebp+00000144h],ebx mov [ebp+00000140h],ebx mov [ebp+00000148h],ebx mov eax,0000203Bh mov dword ptr [ebp+0000014Ch],SSZ004FF590_Short mov [ebp+00000150h],eax mov dword ptr [ebp+00000158h],00000758h mov [ebp+00000154h],eax mov dword ptr [ebp+0000015Ch],00000737h mov eax,0000203Ch mov dword ptr [ebp+00000160h],SSZ004FF588_Long mov [ebp+00000164h],eax mov dword ptr [ebp+0000016Ch],00000752h mov [ebp+00000168h],eax mov dword ptr [ebp+00000170h],0000072Dh mov eax,0000203Dh mov dword ptr [ebp+00000174h],SSZ004FFBE4_Pony_Tail mov [ebp+00000178h],eax mov dword ptr [ebp+00000180h],00000755h mov [ebp+0000017Ch],eax mov dword ptr [ebp+00000184h],00000735h mov eax,00002044h mov dword ptr [ebp+00000188h],SSZ004FF580_Mohawk mov [ebp+0000018Ch],eax mov dword ptr [ebp+00000194h],00000753h mov [ebp+00000190h],eax mov dword ptr [ebp+00000198h],00000733h mov eax,00002045h mov dword ptr [ebp+0000019Ch],SSZ004FF578_Pageboy mov [ebp+000001A0h],eax mov dword ptr [ebp+000001A8h],00000754h mov [ebp+000001A4h],eax mov dword ptr [ebp+000001ACh],00000734h mov eax,0000204Ah mov dword ptr [ebp+000001B0h],SSZ004FF54C_Topknot mov [ebp+000001B4h],eax mov dword ptr [ebp+000001BCh],00000751h mov [ebp+000001B8h],eax mov dword ptr [ebp+000001C0h],00000730h mov eax,00002047h mov dword ptr [ebp+000001C4h],SSZ004FF568_Curly mov [ebp+000001C8h],eax mov dword ptr [ebp+000001D0h],00000750h mov [ebp+000001CCh],eax mov dword ptr [ebp+000001D4h],0000072Fh mov eax,00002048h mov dword ptr [ebp+000001D8h],SSZ004FF55C_Receding mov [ebp+000001DCh],eax mov dword ptr [ebp+000001E4h],00000756h mov edx,[ebp+18h] mov [ebp+000001E0h],eax shl edx,03h mov eax,00002049h push SSZ004FFBCC_framedata_for_CDumbGump push edx mov dword ptr [ebp+000001E8h],00000736h mov dword ptr [ebp+000001ECh],SSZ004FF554_2_Tails mov [ebp+000001F0h],eax mov dword ptr [ebp+000001F8h],0000074Eh mov [ebp+000001F4h],eax mov dword ptr [ebp+000001FCh],0000072Ch mov dword ptr [ebp+00000200h],SSZ004FF570_Buns mov [ebp+00000204h],ebx mov [ebp+0000020Ch],ebx mov dword ptr [ebp+00000208h],00002046h mov dword ptr [ebp+00000210h],00000731h mov [ebp+00000214h],ebx mov [ebp+00000234h],ecx mov dword ptr [ebp+00000218h],00002040h mov dword ptr [ebp+00000238h],SSZ004FF5FC_Goatee mov dword ptr [ebp+0000021Ch],0000203Eh mov dword ptr [ebp+0000023Ch],SSZ004FF5F0_Long_beard mov dword ptr [ebp+00000220h],0000203Fh mov dword ptr [ebp+00000240h],SSZ004FF5E4_Short_beard mov dword ptr [ebp+00000224h],00002041h mov dword ptr [ebp+00000244h],SSZ004FF5D8_Moustache mov dword ptr [ebp+00000228h],0000204Bh mov dword ptr [ebp+00000248h],SSZ004FF5C0_Short_beard_moustache mov dword ptr [ebp+0000022Ch],0000204Ch mov dword ptr [ebp+0000024Ch],SSZ004FF5A8_Long_beard_moustache mov dword ptr [ebp+00000230h],0000204Dh mov dword ptr [ebp+00000250h],SSZ004FF5A0_Vandyke call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx mov esi,0000007Dh and ecx,00000003h push 00009D1Ch rep stosb mov [ebp+000000F0h],ebx mov [ebp+000000F8h],ebx mov [ebp+000000F4h],ebx mov [ebp+00000100h],ebx mov [ebp+000000FCh],ebx mov eax,[ebp+00000124h] lea eax,[eax+eax*4] mov ecx,[ebp+eax*4+0000013Ch] mov [ebp+0000012Ch],ecx mov edx,[ebp+00000128h] mov eax,[ebp+edx*4+00000214h] mov [ebp+00000130h],eax mov [ebp+00000134h],ebx mov dword ptr [ebp+00000254h],00000052h mov [ebp+00000258h],esi mov dword ptr [ebp+0000025Ch],000001DBh mov [ebp+00000260h],esi mov dword ptr [ebp+00000264h],0000000Eh mov dword ptr [ebp+0000026Ch],00000018h mov dword ptr [ebp+00000270h],00000079h mov dword ptr [ebp+00000268h],0000002Dh mov dword ptr [ebp+00000274h],0000000Fh call SUB_L004D4FA9 add esp,00000020h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],01h jz L00425A04 mov ecx,[ebp+00000274h] mov edx,[ebp+00000260h] push ebx push 00000E14h push ebp push 00000001h push 00000118h lea edx,[ecx+edx-02h] push esi push edx mov edx,[ebp+0000025Ch] lea ecx,[ecx+edx-01h] push ecx mov ecx,eax call SUB_L004694D0 jmp L00425A06 L00425A04: xor eax,eax L00425A06: mov [ebp+000000C0h],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000C0h] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000C0h] xor eax,eax push 00009D1Ch mov ax,[edx+000000B4h] mov [ebp+000000F4h],eax mov ecx,[ebp+000000C0h] mov dword ptr [ecx+00000098h],000186C3h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],02h jz L00425A94 mov edx,[ebp+00000274h] mov ecx,[ebp+00000260h] push ebx push 00000E14h push ebp push 00000002h push 00000118h lea ecx,[edx+ecx-02h] push esi push ecx mov ecx,[ebp+0000025Ch] lea edx,[edx+ecx-01h] mov ecx,eax push edx call SUB_L004694D0 jmp L00425A96 L00425A94: xor eax,eax L00425A96: mov [ebp+000000C4h],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000C4h] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov eax,[ebp+000000C4h] xor edx,edx push 00009D1Ch mov dword ptr [eax+00000098h],000186C5h mov ecx,[ebp+000000C4h] mov dx,[ecx+000000B4h] mov [ebp+000000F8h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],03h jz L00425B23 mov edx,[ebp+00000274h] mov ecx,[ebp+00000260h] push ebx push 00000E14h push ebp push ebx push 00000118h lea ecx,[edx+ecx-02h] push esi push ecx mov ecx,[ebp+0000025Ch] lea edx,[edx+ecx-01h] mov ecx,eax push edx call SUB_L004694D0 jmp L00425B25 L00425B23: xor eax,eax L00425B25: mov [ebp+000000BCh],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000BCh] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov eax,[ebp+000000BCh] xor edx,edx push 00009D1Ch mov dword ptr [eax+00000098h],000186C7h mov ecx,[ebp+000000BCh] mov dx,[ecx+000000B4h] mov [ebp+000000F0h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],04h jz L00425BB4 mov edx,[ebp+00000274h] mov ecx,[ebp+00000260h] push 00000001h push 00000E14h push ebp push 00000003h push 00000118h lea ecx,[edx+ecx-02h] push esi push ecx mov ecx,[ebp+0000025Ch] lea edx,[edx+ecx-01h] mov ecx,eax push edx call SUB_L004694D0 jmp L00425BB6 L00425BB4: xor eax,eax L00425BB6: mov [ebp+000000C8h],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000C8h] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov eax,[ebp+000000C8h] xor edx,edx push 00009D1Ch mov dword ptr [eax+00000098h],000186C8h mov ecx,[ebp+000000C8h] mov dx,[ecx+000000B4h] mov [ebp+00000100h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],05h jz L00425C45 mov edx,[ebp+00000274h] mov ecx,[ebp+00000260h] push 00000001h push 00000E14h push ebp push 00000004h push 00000118h lea ecx,[edx+ecx-02h] push esi push ecx mov ecx,[ebp+0000025Ch] lea edx,[edx+ecx-01h] mov ecx,eax push edx call SUB_L004694D0 jmp L00425C47 L00425C45: xor eax,eax L00425C47: mov [ebp+000000CCh],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000CCh] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov eax,[ebp+000000CCh] xor edx,edx push 000001CCh mov dword ptr [eax+00000098h],000186C9h mov ecx,[ebp+000000CCh] mov dx,[ecx+000000B4h] mov [ebp+000000FCh],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],06h jz L00425CC7 push ebx push ebx push 00000001h push 00000386h push 00000005h push 00000010h push ebx push 0000001Eh push 000000D2h push ebp push 0000003Fh push 000000FAh mov ecx,eax call SUB_L0042A340 jmp L00425CC9 L00425CC7: xor eax,eax L00425CC9: mov [ebp+000000B0h],eax mov [eax+000000EAh],bx mov eax,[ebp+000000B0h] mov [esp+24h],bl mov [eax+000000ECh],bx mov ecx,[ebp+000000B0h] mov [ecx+000000E8h],bx mov edx,[ebp+000000B0h] mov byte ptr [edx+000000EEh],07h mov eax,[ebp+000000B0h] mov byte ptr [eax+000000EFh],02h mov ecx,[ebp+000000B0h] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+000000B0h] push 00000001h push ebp mov dword ptr [eax+00000098h],000186CBh mov ecx,[ebp+000000B0h] mov dword ptr [ecx+000000C8h],00000001h mov ecx,[ebp+000000B0h] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],07h jz L00425DA3 mov edx,[ebp+00000274h] mov esi,[ebp+00000258h] push ebx push ebx push ebx push 00000481h push 00000009h mov ecx,edx push 00000010h push 00000002h add ecx,esi mov esi,[ebp+00000254h] push 0000001Eh push 000000A0h push ebp add edx,esi push ecx push edx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L00425DA9 L00425DA3: mov [esp+10h],ebx mov edx,ebx L00425DA9: mov edi,SSZ004FFBB4_Hair_Style or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+14h],esi mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax push 00000001h and ecx,00000003h push ebp rep movsb mov ecx,edx mov [esp+2Ch],bl mov [edx+000000BCh],ebx call SUB_L004587A0 mov esi,[esp+10h] mov ecx,esi mov edx,[esi] call [edx+00000174h] mov dword ptr [esi+00000098h],000186C4h mov eax,[ebp+00000274h] mov ecx,[ebp+00000254h] push 000001D0h add eax,ecx mov [ebp+0000010Ch],eax mov ecx,[ebp+00000258h] mov edi,[ebp+00000274h] mov esi,[ebp+00000264h] add ecx,edi add ecx,esi mov [ebp+00000110h],ecx mov edx,[ebp+00000270h] mov [ebp+00000114h],edx call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+14h],esi cmp esi,ebx mov byte ptr [esp+24h],08h jz L00425EB5 mov ax,[ebp+0000026Ch] mov cx,[ebp+00000114h] mov edx,[ebp+00000110h] push ebx mov edi,[ebp+0000010Ch] push ebx push ebx push 00000386h push 00000009h push 0000000Ah push 00000002h push eax push ecx push ebp push edx push edi mov ecx,esi call SUB_L0042A340 mov dword ptr [esi],L004E9338 mov [esi+000001CCh],bx mov [esi+000001CEh],bx mov dword ptr [esi+000001C8h],FFFFFFFFh jmp L00425EB7 L00425EB5: xor esi,esi L00425EB7: mov [ebp+000000A0h],esi mov dword ptr [esi+000001C8h],000000FDh mov eax,[ebp+000000A0h] push 00000001h push ebp mov [esp+2Ch],bl mov [eax+000000BCh],ebx mov ecx,[ebp+000000A0h] call SUB_L004587A0 mov ecx,[ebp+000000A0h] mov edx,[ebp+0000012Ch] mov [ecx+000000F4h],edx mov eax,[ebp+00000124h] mov edx,[ebp+000000A0h] or ecx,FFFFFFFFh lea eax,[eax+eax*4] add edx,000000F8h mov edi,[ebp+eax*4+00000138h] 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,[ebp+000000A0h] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+000000A0h] push 000001CCh mov dword ptr [eax+00000098h],000186C4h mov ecx,[ebp+000000A0h] mov edx,[ecx+000000F4h] mov [ebp+0000012Ch],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],09h jz L00425FBB mov edx,[ebp+00000274h] mov edi,[ebp+00000268h] mov esi,[ebp+00000258h] push ebx push ebx push ebx mov ecx,edx push 00000481h push 00000009h add ecx,edi push 00000010h push 00000002h add ecx,esi mov esi,[ebp+00000254h] push 0000001Eh push 000000A0h push ebp add edx,esi push ecx push edx mov ecx,eax call SUB_L0042A340 jmp L00425FBD L00425FBB: xor eax,eax L00425FBD: mov [ebp+000000ECh],eax mov [eax+000000F4h],ebx mov edx,[ebp+000000ECh] mov edi,SSZ004FFBA0_Facial_Hair_Style or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h push 00000001h repne scasb not ecx sub edi,ecx push ebp mov eax,ecx mov esi,edi mov edi,edx mov [esp+2Ch],bl shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebp+000000ECh] mov [ecx+000000BCh],ebx mov ecx,[ebp+000000ECh] call SUB_L004587A0 mov ecx,[ebp+000000ECh] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+000000ECh] push 000001D0h mov dword ptr [eax+00000098h],000186C5h mov ecx,[ebp+00000274h] add ecx,[ebp+00000254h] mov [ebp+0000011Ch],ecx mov edx,[ebp+00000268h] mov eax,[ebp+00000258h] mov edi,[ebp+00000274h] mov esi,[ebp+00000264h] add edx,eax add edx,edi add edx,esi mov [ebp+00000120h],edx mov eax,[ebp+00000270h] mov [ebp+00000118h],eax call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+14h],esi cmp esi,ebx mov byte ptr [esp+24h],0Ah jz L004260E5 mov ax,[ebp+0000026Ch] mov cx,[ebp+00000118h] mov edx,[ebp+00000120h] push ebx mov edi,[ebp+0000011Ch] push ebx push ebx push 00000386h push 00000001h push 0000000Ah push 00000002h push eax push ecx push ebp push edx push edi mov ecx,esi call SUB_L0042A340 mov dword ptr [esi],L004E9338 mov [esi+000001CCh],bx mov [esi+000001CEh],bx mov dword ptr [esi+000001C8h],FFFFFFFFh jmp L004260E7 L004260E5: xor esi,esi L004260E7: mov [ebp+000000A4h],esi mov dword ptr [esi+000001C8h],000000FDh mov ecx,[ebp+000000A4h] push 00000001h push ebp mov [esp+2Ch],bl mov [ecx+000000BCh],ebx mov ecx,[ebp+000000A4h] call SUB_L004587A0 mov edx,[ebp+00000128h] mov eax,[ebp+000000A4h] mov ecx,[ebp+edx*4+00000214h] mov [eax+000000F4h],ecx mov eax,[ebp+00000128h] mov edx,[ebp+000000A4h] or ecx,FFFFFFFFh mov edi,[ebp+eax*4+00000234h] xor eax,eax add edx,000000F8h 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+000000A4h] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+000000A4h] push 00006160h mov dword ptr [eax+00000098h],000186C5h mov ecx,[ebp+000000A4h] mov edx,[ecx+000000F4h] mov [ebp+00000130h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],0Bh jz L004261E0 mov edx,[ebp+00000274h] mov esi,[ebp+00000260h] push ebx mov ecx,edx push 00000DACh push ebx add ecx,esi mov esi,[ebp+0000025Ch] push ebp push 00000028h push 00000082h add edx,esi push ecx push edx mov ecx,eax call SUB_L00428BB0 jmp L004261E2 L004261E0: xor eax,eax L004261E2: mov esi,00000001h mov [ebp+000000D8h],eax mov [eax+6Ch],esi mov ecx,[ebp+000000D8h] push esi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000D8h] mov edi,SSZ004FFB94_Skin_Tone mov eax,[edx+000000CCh] mov [edx+eax*4+000000E0h],esi mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000D8h] call SUB_L00429260 mov ecx,[ebp+000000D8h] push 00006160h mov dword ptr [ecx+00000098h],000186C7h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],0Ch jz L004262DB mov edx,[ebp+00000274h] mov edi,[ebp+00000268h] mov esi,[ebp+00000260h] mov ecx,edx push ebx add ecx,edi push 00000DACh push ebx add ecx,esi mov esi,[ebp+0000025Ch] push ebp push 00000028h push 00000082h add edx,esi push ecx push edx mov ecx,eax call SUB_L00428BB0 jmp L004262DD L004262DB: xor eax,eax L004262DD: mov esi,00000001h mov [ebp+000000DCh],eax mov [eax+6Ch],esi mov ecx,[ebp+000000DCh] push esi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000DCh] mov edi,SSZ004FFB88_Shirt_Color mov eax,[edx+000000CCh] mov [edx+eax*4+000000E0h],esi mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000DCh] call SUB_L00429260 mov ecx,[ebp+000000DCh] push 00006160h mov dword ptr [ecx+00000098h],000186C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],0Dh jz L004263D5 mov edx,[ebp+00000274h] mov ecx,[ebp+00000268h] mov esi,[ebp+00000260h] push ebx lea ecx,[edx+ecx*2] push 00000DACh push ebx add ecx,esi mov esi,[ebp+0000025Ch] push ebp push 00000028h push 00000082h add edx,esi push ecx push edx mov ecx,eax call SUB_L00428BB0 jmp L004263D7 L004263D5: xor eax,eax L004263D7: mov esi,00000001h mov [ebp+000000E0h],eax mov [eax+6Ch],esi mov ecx,[ebp+000000E0h] push esi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000E0h] mov edi,SSZ004FFB7C_Pants_Color mov eax,[edx+000000CCh] mov [edx+eax*4+000000E0h],esi mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000E0h] call SUB_L00429260 mov ecx,[ebp+000000E0h] push 00006160h mov dword ptr [ecx+00000098h],000186C9h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],0Eh jz L004264CF mov edx,[ebp+00000274h] mov ecx,[ebp+00000268h] mov esi,[ebp+00000260h] push ebx lea ecx,[edx+ecx*2] push 00000DACh push ebx add ecx,esi mov esi,[ebp+0000025Ch] push ebp push 00000028h push 00000082h add edx,esi push ecx push edx mov ecx,eax call SUB_L00428BB0 jmp L004264D1 L004264CF: xor eax,eax L004264D1: mov [ebp+000000E4h],eax mov [eax+6Ch],ebx mov ecx,[ebp+000000E4h] push 00000001h push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000E4h] mov edi,SSZ004FFB70_Skirt_Color mov eax,[edx+000000CCh] mov dword ptr [edx+eax*4+000000E0h],00000001h mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000E4h] call SUB_L00429260 mov ecx,[ebp+000000E4h] push 00006160h mov dword ptr [ecx+00000098h],000186CAh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],0Fh jz L004265CB mov esi,[ebp+00000274h] mov edx,[ebp+00000268h] push ebx push 00000DACh lea ecx,[esi+edx*2] push ebx add edx,ecx mov ecx,[ebp+00000260h] push ebp push 00000028h add edx,ecx push 00000082h push edx mov edx,[ebp+0000025Ch] add esi,edx mov ecx,eax push esi call SUB_L00428BB0 jmp L004265CD L004265CB: xor eax,eax L004265CD: mov esi,00000001h mov [ebp+000000D0h],eax mov [eax+6Ch],esi mov ecx,[ebp+000000D0h] push esi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000D0h] mov edi,SSZ004FFB64_Hair_Color mov eax,[edx+000000CCh] mov [edx+eax*4+000000E0h],esi mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000D0h] call SUB_L00429260 mov ecx,[ebp+000000D0h] push 00006160h mov dword ptr [ecx+00000098h],000186C3h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],10h jz L004266C5 mov edx,[ebp+00000274h] mov ecx,[ebp+00000268h] mov esi,[ebp+00000260h] push ebx lea ecx,[edx+ecx*4] push 00000DACh push ebx add ecx,esi mov esi,[ebp+0000025Ch] push ebp push 00000028h push 00000082h add edx,esi push ecx push edx mov ecx,eax call SUB_L00428BB0 jmp L004266C7 L004266C5: xor eax,eax L004266C7: mov esi,00000001h mov [ebp+000000D4h],eax mov [eax+6Ch],esi mov ecx,[ebp+000000D4h] push esi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000D4h] mov edi,SSZ004FFB50_Facial_Hair_Color mov eax,[edx+000000CCh] mov [edx+eax*4+000000E0h],esi mov ecx,[edx+000000CCh] mov word ptr [edx+ecx*2+00000270h],0481h mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea esi,[eax+edx+00000338h] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[edx+000000CCh] inc edi mov [edx+000000CCh],edi mov ecx,[ebp+000000D4h] call SUB_L00429260 mov ecx,[ebp+000000D4h] push 000000ECh mov dword ptr [ecx+00000098h],000186C5h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],11h jz L004267B9 mov edx,[ebp+00000108h] mov ecx,[ebp+00000104h] push ebx push 00000712h push 00000710h push L00420EE0 push ebx push ebx add edx,00000136h push ebp add ecx,00000048h push edx push ecx mov ecx,eax call SUB_L00421F40 jmp L004267BB L004267B9: xor eax,eax L004267BB: mov edi,00000001h mov [ebp+000000B4h],eax mov dword ptr [eax+000000ACh],00000711h mov ecx,[ebp+000000B4h] push edi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov edx,[ebp+000000B4h] mov esi,000186C6h push 000000ECh mov [edx+6Ch],edi mov eax,[ebp+000000B4h] mov [eax+00000098h],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],12h jz L00426848 mov ecx,[ebp+00000108h] mov edx,[ebp+00000104h] push ebx push 0000070Fh push 0000070Dh push L00420EE0 push ebx push ebx add ecx,00000136h push ebp add edx,00000048h push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L0042684A L00426848: xor eax,eax L0042684A: mov [ebp+000000B8h],eax mov dword ptr [eax+000000ACh],0000070Eh mov ecx,[ebp+000000B8h] push edi push ebp mov [esp+2Ch],bl call SUB_L004587A0 mov eax,[ebp+000000B8h] push 000000ECh mov [eax+6Ch],ebx mov ecx,[ebp+000000B8h] mov [ecx+00000098h],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],13h jz L004268C2 push ebx push 000015A6h push 000015A4h push L0041F080 push ebx push ebx push ebp push 000001BDh push 00000262h mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L004268C4 L004268C2: xor esi,esi L004268C4: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],000015A5h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186CDh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],14h jz L00426927 push ebx push 000015A3h push 000015A1h push L0041F1C0 push ebx push ebx push ebp push 000001BDh push 0000024Ah mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426929 L00426927: xor esi,esi L00426929: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],000015A2h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],15h jz L00426989 push ebx push 0000158Eh push 0000158Ch push L00420B50 push ebx push ebx push ebp push 0000010Ch push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042698B L00426989: xor esi,esi L0042698B: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],0000158Dh mov [esi+000000C4h],edi call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A3h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],16h jz L004269F1 push ebx push 00001591h push 0000158Fh push L00420B70 push ebx push ebx push ebp push 00000092h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L004269F3 L004269F1: xor esi,esi L004269F3: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],00001590h mov [esi+000000C4h],ebx call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A0h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],17h jz L00426A59 push ebx push 0000158Bh push 00001589h push L004207C0 push ebx push ebx push ebp push 00000004h push 0000022Bh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426A5B L00426A59: xor esi,esi L00426A5B: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],0000158Ah call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186ABh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],18h jz L00426ABB push ebx push 00001594h push 00001592h push L00420B90 push ebx push ebx push ebp push 000000CDh push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426ABD L00426ABB: xor esi,esi L00426ABD: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],00001593h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A1h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],19h jz L00426B1D push ebx push 00001597h push 00001595h push L00420BB0 push ebx push ebx push ebp push 000001B2h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426B1F L00426B1D: xor esi,esi L00426B1F: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],00001596h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A2h mov edx,[ebp+00h] mov ecx,ebp call [edx+00000170h] test eax,eax jz L00426BB1 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],1Ah jz L00426B8E push ebx push 00001588h push 00001586h push L00420A40 push ebx push ebx push ebp push 00000182h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426B90 L00426B8E: xor esi,esi L00426B90: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],00001587h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A5h L00426BB1: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+24h],1Bh jz L00426BF0 push ebx push 00001585h push 00001583h push L004207F0 push ebx push ebx push ebp push 0000019Ah push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00426BF2 L00426BF0: xor esi,esi L00426BF2: push edi push ebp mov ecx,esi mov [esp+2Ch],bl mov dword ptr [esi+000000ACh],00001584h call SUB_L004587A0 mov ecx,ebp mov dword ptr [esi+00000098h],000186A6h call SUB_L00426F80 mov ecx,[esp+1Ch] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 L00426C30: push esi mov esi,ecx call SUB_L00426C50 test byte ptr [esp+08h],01h jz L00426C48 push esi call SUB_L004D4F9E add esp,00000004h L00426C48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00426C50: push FFFFFFFFh push L004E16E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E94B0 xor edi,edi mov [L00B29498],edi mov eax,[esi+3Ch] mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L00426C9E push SSZ004FFC1C_CharCreation_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L00426C9E: mov eax,[esi+3Ch] cmp eax,edi jz L00426CB6 push SSZ004FFC04_CharCreation_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L00426CB6: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00426CE0: or eax,FFFFFFFFh retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00426CF0: jmp SUB_L00426F80 Align 16 L00426D00: push ecx push ebx mov ebx,[esp+10h] push esi mov esi,ecx lea eax,[esp+10h] push edi mov edi,[esp+14h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov [esp+14h],edi mov [esp+1Ch],ebx call SUB_L00457C90 mov [esi+70h],edi mov dword ptr [esi+0000009Ch],00000001h mov [esi+74h],ebx pop edi pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00426D40: mov eax,[esp+04h] push esi mov esi,ecx cmp eax,[esi+000000D0h] jnz L00426D78 mov eax,[esi+000000C0h] mov dword ptr [eax+6Ch],00000001h mov ecx,[esi+000000C0h] call SUB_L00469A70 mov ecx,[esi+000000C0h] push 00000000h call SUB_L004584E0 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426D78: mov ecx,[esi+000000C0h] cmp eax,ecx jnz L00426D9C xor edx,edx mov dx,[ecx+000000B4h] mov ecx,esi mov [esi+000000F4h],edx call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426D9C: mov ecx,[esi+000000D4h] mov edx,00000001h cmp eax,ecx jnz L00426DD8 cmp [esi+00000134h],edx jz L00426DD8 mov eax,[esi+000000C4h] mov [eax+6Ch],edx mov ecx,[esi+000000C4h] call SUB_L00469A70 mov ecx,[esi+000000C4h] push 00000000h call SUB_L004584E0 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426DD8: mov ecx,[esi+000000C4h] cmp eax,ecx jnz L00426DFC xor edx,edx mov dx,[ecx+000000B4h] mov ecx,esi mov [esi+000000F8h],edx call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426DFC: cmp eax,[esi+000000D8h] jnz L00426E29 mov eax,[esi+000000BCh] mov [eax+6Ch],edx mov ecx,[esi+000000BCh] call SUB_L00469A70 mov ecx,[esi+000000BCh] push 00000000h call SUB_L004584E0 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426E29: mov ecx,[esi+000000BCh] cmp eax,ecx jnz L00426E4D xor edx,edx mov dx,[ecx+000000B4h] mov ecx,esi mov [esi+000000F0h],edx call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426E4D: cmp eax,[esi+000000DCh] jnz L00426E7A mov eax,[esi+000000C8h] mov [eax+6Ch],edx mov ecx,[esi+000000C8h] call SUB_L00469A70 mov ecx,[esi+000000C8h] push 00000000h call SUB_L004584E0 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426E7A: mov ecx,[esi+000000C8h] cmp eax,ecx jnz L00426E9E xor edx,edx mov dx,[ecx+000000B4h] mov ecx,esi mov [esi+00000100h],edx call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426E9E: cmp eax,[esi+000000E0h] jz L00426F36 cmp eax,[esi+000000E4h] jz L00426F36 mov ecx,[esi+000000CCh] cmp eax,ecx jnz L00426EDA xor eax,eax mov ax,[ecx+000000B4h] mov ecx,esi mov [esi+000000FCh],eax call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426EDA: mov ecx,[esi+000000A0h] cmp eax,ecx jnz L00426F08 mov eax,[ecx+000000F4h] mov [esi+00000124h],eax lea ecx,[eax+eax*4+50h] mov edx,[esi+ecx*4] mov ecx,esi mov [esi+0000012Ch],edx call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426F08: mov ecx,[esi+000000A4h] cmp eax,ecx jnz L00426F57 mov eax,[ecx+000000F4h] mov ecx,esi mov [esi+00000128h],eax mov eax,[esi+eax*4+00000214h] mov [esi+00000130h],eax call SUB_L00426F80 pop esi retn 0004h ;------------------------------------------------------------------------------ L00426F36: mov ecx,[esi+000000CCh] mov [ecx+6Ch],edx mov ecx,[esi+000000CCh] call SUB_L00469A70 mov ecx,[esi+000000CCh] push 00000000h call SUB_L004584E0 L00426F57: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L00426F60: jmp L0041F080 Align 16 L00426F70: jmp L0041F1C0 Align 16 SUB_L00426F80: sub esp,00000028h push ebx mov ebx,ecx push ebp push esi mov ecx,[ebx+20h] mov edx,[ebx+3Ch] imul ecx,[ebx+24h] push edi mov edi,[edx+04h] shl ecx,1 mov edx,ecx xor eax,eax add edi,00000004h mov esi,00000761h shr ecx,02h rep stosd mov ecx,edx lea edx,[esp+1Ch] and ecx,00000003h rep stosb mov eax,[ebx+00000134h] mov edi,[ebx+00000104h] mov ebp,[ebx+00000108h] lea ecx,[esp+24h] sub esi,eax mov eax,[ebx+000000F0h] push ecx push edx push esi mov [esp+24h],eax call SUB_L004434A0 mov eax,[esp+28h] add esp,0000000Ch test eax,eax jz L00427840 mov eax,[ebx+3Ch] mov edx,[ebx+00000258h] push 00000000h mov ecx,[eax+04h] mov eax,[ebx+00000254h] push ecx push 00000E10h push 00000136h push 00000097h push edx push eax call SUB_L0042C610 mov ecx,[ebx+3Ch] mov eax,[ebx+00000260h] push 00000000h mov edx,[ecx+04h] mov ecx,[ebx+0000025Ch] push edx push 00000E10h push 00000136h push 00000097h push eax push ecx call SUB_L0042C610 mov edx,[ebx+3Ch] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebx+00000104h] add eax,00000004h push edx push eax mov eax,[ebx+00000108h] push eax push ecx push 00000708h push SUB_L004B9B80 call SUB_L00443500 mov edx,[ebx+3Ch] xor ecx,ecx add esp,00000054h mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000035h push 00000118h push 00000709h push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebx+3Ch] 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 00000049h push 000000F0h push 0000070Ah push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebx+3Ch] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx push edx add eax,00000004h push eax push 00000049h push 000000F7h push 0000070Bh push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebx+3Ch] xor ecx,ecx add esp,00000054h xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push 00000049h push 000001CFh push 0000070Ch push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebx+20h] mov edx,[ebx+24h] mov [esp+4Ch],eax mov eax,[esp+34h] xor ecx,ecx add esp,0000001Ch cmp eax,ecx mov [esp+28h],ecx mov [esp+2Ch],ecx mov [esp+34h],edx jnz L00427178 mov eax,[ebx+3Ch] xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebp lea eax,[esp+38h] push edi push eax push esi push SUB_L004B9B80 jmp L004271A1 L00427178: mov [L00CD8C24],eax mov ecx,[ebx+3Ch] 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 ebp lea edx,[esp+38h] push edi push edx push esi push SUB_L004B9C60 L004271A1: call SUB_L004436C0 mov eax,[ebx+00000134h] add esp,00000020h test eax,eax jz L004271D8 mov eax,[ebx+3Ch] 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 ebp lea eax,[esp+38h] push edi push eax push 00000763h jmp L004271FB L004271D8: mov ecx,[ebx+3Ch] 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 ebp lea edx,[esp+38h] push edi push edx push 00000762h L004271FB: push SUB_L004B9B80 call SUB_L004436C0 mov eax,[ebx+000000FCh] add esp,00000020h mov [L00CD8C24],eax mov eax,[ebx+00000134h] test eax,eax jnz L00427242 mov ecx,[ebx+3Ch] 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 ebp lea edx,[esp+38h] push edi push edx push 00000738h jmp L00427265 L00427242: mov eax,[ebx+3Ch] 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 ebp lea eax,[esp+38h] push edi push eax push 00000764h L00427265: push SUB_L004B9C60 call SUB_L004436C0 mov ecx,[ebx+00000100h] add esp,00000020h mov [L00CD8C24],ecx mov edx,[ebx+3Ch] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[ebx+00000134h] add eax,00000004h push edx neg ecx sbb ecx,ecx push eax and ecx,FFFFFFDBh push ebp lea eax,[esp+38h] push edi add ecx,00000739h push eax push ecx push SUB_L004B9C60 call SUB_L004436C0 mov eax,[ebx+0000012Ch] add esp,00000020h test eax,eax jz L0042740C add eax,FFFFDFC5h cmp eax,0000000Fh ja CASE_00427848_PROC0003 jmp [CASE_PROCTABLE_00427848+eax*4] CASE_00427848_PROC0000: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFE4h add esi,00000753h jmp CASE_00427848_PROC0003 CASE_00427848_PROC0001: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000754h jmp CASE_00427848_PROC0003 CASE_00427848_PROC0002: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000757h jmp CASE_00427848_PROC0003 CASE_00427848_PROC0009: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000755h jmp CASE_00427848_PROC0003 CASE_00427848_PROC000A: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFE5h add esi,0000074Fh jmp CASE_00427848_PROC0003 CASE_00427848_PROC000F: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000752h jmp CASE_00427848_PROC0003 CASE_00427848_PROC000C: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000751h jmp CASE_00427848_PROC0003 CASE_00427848_PROC000D: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,00000758h jmp CASE_00427848_PROC0003 CASE_00427848_PROC000E: mov esi,[ebx+00000134h] neg esi sbb esi,esi and esi,FFFFFFDEh add esi,0000074Eh jmp CASE_00427848_PROC0003 CASE_00427848_PROC000B: mov esi,00000731h CASE_00427848_PROC0003: mov eax,[ebx+000000F4h] inc eax jnz L004273DA mov edx,[ebx+3Ch] 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 ebp lea eax,[esp+38h] push edi push eax push esi push SUB_L004B9B80 jmp L00427404 L004273DA: dec eax xor edx,edx mov [L00CD8C24],eax mov ecx,[ebx+3Ch] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push ebp lea edx,[esp+38h] push edi push edx push esi push SUB_L004B9C60 L00427404: call SUB_L004436C0 add esp,00000020h L0042740C: mov ecx,[ebx+00000130h] lea eax,[ecx-0000203Eh] cmp eax,0000000Fh ja CASE_00427888_PROC0007 xor edx,edx mov dl,[eax+CASE_004278A8] jmp [CASE_PROCTABLE_00427888+edx*4] CASE_00427888_PROC0002: mov esi,00000759h jmp CASE_00427888_PROC0007 CASE_00427888_PROC0000: mov esi,0000075Bh jmp CASE_00427888_PROC0007 CASE_00427888_PROC0001: mov esi,0000075Dh jmp CASE_00427888_PROC0007 CASE_00427888_PROC0003: mov esi,0000075Ch jmp CASE_00427888_PROC0007 CASE_00427888_PROC0004: mov esi,0000075Eh jmp CASE_00427888_PROC0007 CASE_00427888_PROC0005: mov esi,0000075Ah jmp CASE_00427888_PROC0007 CASE_00427888_PROC0006: mov esi,0000075Fh CASE_00427888_PROC0007: test ecx,ecx jz L004274CA mov eax,[ebx+00000134h] test eax,eax jnz L004274CA mov eax,[ebx+000000F8h] inc eax jnz L00427498 mov eax,[ebx+3Ch] 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 ebp lea eax,[esp+38h] push edi push eax push esi push SUB_L004B9B80 jmp L004274C2 L00427498: dec eax xor edx,edx mov [L00CD8C24],eax mov ecx,[ebx+3Ch] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push ebp lea edx,[esp+38h] push edi push edx push esi push SUB_L004B9C60 L004274C2: call SUB_L004436C0 add esp,00000020h L004274CA: mov eax,[ebx+00000260h] mov esi,[ebx+00000264h] mov ecx,[ebx+00000274h] mov edx,[ebx+0000025Ch] add eax,esi mov ebp,[ebx+0000026Ch] add edx,ecx add eax,ecx xor ecx,ecx mov edi,[ebx+00000270h] mov cx,[ebx+000000F0h] mov [esp+18h],ebp add ebp,eax mov [esp+20h],edi lea esi,[ecx+ecx*4] cmp eax,ebp mov [esp+10h],ebp mov [esp+14h],eax lea ecx,[ecx+esi*2] mov si,[L00C42D08+ecx*8] lea ecx,[edx+edi] jge L00427558 L00427524: cmp edx,ecx mov eax,edx jge L00427547 L0042752A: mov ecx,[ebx+20h] mov ebp,[ebx+3Ch] imul ecx,[esp+14h] mov ebp,[ebp+04h] add ecx,eax inc eax mov [ebp+ecx*2+04h],si lea ecx,[edx+edi] cmp eax,ecx jl L0042752A L00427547: mov eax,[esp+14h] mov ebp,[esp+10h] inc eax cmp eax,ebp mov [esp+14h],eax jl L00427524 L00427558: mov eax,[ebx+00000260h] mov ebp,[ebx+00000264h] mov ecx,[ebx+00000274h] mov edx,[ebx+0000025Ch] add eax,ebp add edx,ecx add eax,ecx mov ecx,[ebx+00000268h] add eax,ecx mov ebp,[esp+18h] xor ecx,ecx add ebp,eax mov cx,[ebx+00000100h] cmp eax,ebp mov [esp+10h],ebp mov [esp+14h],eax lea esi,[ecx+ecx*4] lea ecx,[ecx+esi*2] mov si,[L00C42D08+ecx*8] lea ecx,[edx+edi] jge L004275DE L004275AA: cmp edx,ecx mov eax,edx jge L004275CD L004275B0: mov ecx,[ebx+20h] mov ebp,[ebx+3Ch] imul ecx,[esp+14h] mov ebp,[ebp+04h] add ecx,eax inc eax mov [ebp+ecx*2+04h],si lea ecx,[edx+edi] cmp eax,ecx jl L004275B0 L004275CD: mov eax,[esp+14h] mov ebp,[esp+10h] inc eax cmp eax,ebp mov [esp+14h],eax jl L004275AA L004275DE: mov eax,[ebx+00000268h] mov esi,[ebx+00000260h] mov ebp,[ebx+00000264h] mov ecx,[ebx+00000274h] mov edx,[ebx+0000025Ch] lea eax,[esi+eax*2] add eax,ebp add edx,ecx add eax,ecx mov ebp,[esp+18h] xor ecx,ecx add ebp,eax mov cx,[ebx+000000FCh] cmp eax,ebp mov [esp+10h],ebp mov [esp+14h],eax lea esi,[ecx+ecx*4] lea ecx,[ecx+esi*2] mov si,[L00C42D08+ecx*8] lea ecx,[edx+edi] jge L00427665 L00427631: cmp edx,ecx mov eax,edx jge L00427654 L00427637: mov ecx,[ebx+20h] mov ebp,[ebx+3Ch] imul ecx,[esp+14h] mov ebp,[ebp+04h] add ecx,eax inc eax mov [ebp+ecx*2+04h],si lea ecx,[edx+edi] cmp eax,ecx jl L00427637 L00427654: mov eax,[esp+14h] mov ebp,[esp+10h] inc eax cmp eax,ebp mov [esp+14h],eax jl L00427631 L00427665: xor eax,eax mov esi,[ebx+00000260h] mov ax,[ebx+000000F4h] mov ebp,[ebx+00000264h] lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[ebx+00000274h] mov cx,[L00C42D08+eax*8] mov eax,[ebx+00000268h] mov [esp+14h],cx mov ecx,[ebx+0000025Ch] lea eax,[eax+eax*2] add ecx,edx add eax,esi add eax,ebp lea esi,[ecx+edi] add eax,edx mov edx,[esp+18h] lea ebp,[eax+edx] mov edx,eax cmp eax,ebp mov [esp+10h],ebp jge L004276F1 L004276BE: cmp ecx,esi mov eax,ecx jge L004276EC L004276C4: mov esi,[ebx+20h] mov edi,[ebx+3Ch] imul esi,edx mov edi,[edi+04h] mov bp,[esp+14h] add esi,eax inc eax mov [edi+esi*2+04h],bp mov edi,[esp+20h] lea esi,[ecx+edi] cmp eax,esi jl L004276C4 mov ebp,[esp+10h] L004276EC: inc edx cmp edx,ebp jl L004276BE L004276F1: mov eax,[ebx+00000134h] test eax,eax jnz L0042777F mov eax,[ebx+00000268h] mov esi,[ebx+00000260h] mov ebp,[ebx+00000264h] mov ecx,[ebx+00000274h] mov edx,[ebx+0000025Ch] lea eax,[esi+eax*4] add eax,ebp add edx,ecx add eax,ecx xor ecx,ecx mov cx,[ebx+000000F8h] add edi,edx mov [esp+20h],edi lea esi,[ecx+ecx*4] lea ecx,[ecx+esi*2] mov si,[L00C42D08+ecx*8] mov ecx,[esp+18h] lea ebp,[eax+ecx] mov ecx,eax cmp eax,ebp mov [esp+10h],ebp jge L0042777F L00427754: cmp edx,edi mov eax,edx jge L0042777A L0042775A: mov edi,[ebx+20h] mov ebp,[ebx+3Ch] imul edi,ecx mov ebp,[ebp+04h] add edi,eax inc eax mov [ebp+edi*2+04h],si mov edi,[esp+20h] cmp eax,edi jl L0042775A mov ebp,[esp+10h] L0042777A: inc ecx cmp ecx,ebp jl L00427754 L0042777F: mov eax,[ebx+00000124h] add eax,00000010h lea edx,[eax+eax*4] mov eax,[ebx+000000A0h] mov ecx,[ebx+edx*4] mov [eax+000000F4h],ecx mov eax,[ebx+00000124h] mov ebp,[ebx+000000A0h] or ecx,FFFFFFFFh lea edx,[eax+eax*4] xor eax,eax add ebp,000000F8h mov edi,[ebx+edx*4+00000138h] 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 mov ecx,[ebx+000000A0h] mov edx,[ecx] call [edx+00000174h] mov eax,[ebx+00000128h] mov ecx,[ebx+000000A4h] mov edx,[ebx+eax*4+00000214h] mov [ecx+000000F4h],edx mov eax,[ebx+00000128h] mov edx,[ebx+000000A4h] or ecx,FFFFFFFFh mov edi,[ebx+eax*4+00000234h] xor eax,eax add edx,000000F8h 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 ebx,[ebx+000000A4h] mov ecx,ebx mov edx,[ebx] call [edx+00000174h] L00427840: pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00427848: dd CASE_00427848_PROC0000 dd CASE_00427848_PROC0001 dd CASE_00427848_PROC0002 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0003 dd CASE_00427848_PROC0009 dd CASE_00427848_PROC000A dd CASE_00427848_PROC000B dd CASE_00427848_PROC000C dd CASE_00427848_PROC000D dd CASE_00427848_PROC000E dd CASE_00427848_PROC000F CASE_PROCTABLE_00427888: dd CASE_00427888_PROC0000 dd CASE_00427888_PROC0001 dd CASE_00427888_PROC0002 dd CASE_00427888_PROC0003 dd CASE_00427888_PROC0004 dd CASE_00427888_PROC0005 dd CASE_00427888_PROC0006 dd CASE_00427888_PROC0007 CASE_004278A8: db 00h, 01h, 02h, 03h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 07h, 04h, 05h, 06h Align 16 L004278C0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1716 push eax mov fs:[00000000h],esp mov eax,[esp+10h] sub esp,00000020h push ebx mov ebx,ecx push ebp push esi mov ecx,[ebx+000000A0h] push edi cmp eax,ecx jnz L00427A0B push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax xor ebp,ebp cmp eax,ebp mov [esp+38h],ebp jz L00427939 mov ecx,[ebx+00000110h] mov edx,[ebx+0000010Ch] push ebp push 00000386h push 00000001h push ebx push 0000001Eh push 00000082h push 00000BB8h push ecx push edx mov ecx,eax call SUB_L0042DCD0 mov esi,eax jmp L0042793B L00427939: xor esi,esi L0042793B: mov dword ptr [esi+6Ch],00000001h mov eax,[ebx+00000134h] mov edi,eax mov dword ptr [esp+38h],FFFFFFFFh dec edi neg edi sbb edi,edi add edi,0000000Bh cmp eax,ebp jz L0042797D test edi,edi jle L0042799A add ebx,00000138h L00427968: mov eax,[ebx] mov ecx,esi push eax push ebp call SUB_L0042E470 inc ebp add ebx,00000014h cmp ebp,edi jl L00427968 jmp L0042799A L0042797D: test edi,edi jle L0042799A add ebx,00000138h L00427987: mov ecx,[ebx] push ecx push ebp mov ecx,esi call SUB_L0042E470 inc ebp add ebx,00000014h cmp ebp,edi jl L00427987 L0042799A: mov edx,[esi] push FFFFFFFFh mov ecx,esi call [edx+00000174h] push 00000001h push 00000000h mov ecx,esi mov dword ptr [esi+6Ch],00000001h call SUB_L004587A0 mov eax,[esp+40h] push esi mov [esi+0000009Ch],eax call SUB_L00476670 lea ecx,[esp+28h] lea edx,[esp+24h] push ecx push edx call SUB_L00476BC0 mov eax,[esp+2Ch] mov ecx,[esp+30h] add esp,0000000Ch mov [esp+14h],eax lea edx,[esp+10h] lea eax,[esp+14h] mov [esp+10h],ecx push edx push eax mov ecx,esi call SUB_L00457D20 mov eax,[esp+10h] mov edx,[esi] mov ecx,[esp+14h] push eax jmp L00427B04 L00427A0B: cmp eax,[ebx+000000A4h] jnz L00427B0A mov eax,[ebx+00000134h] mov ebp,00000001h cmp eax,ebp jz L00427B0A push 0000124Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov [esp+38h],ebp jz L00427A74 mov ecx,[ebx+0000011Ch] mov edx,[ebx+00000120h] push 00000000h push 00000386h push ebp push ebx push 0000001Eh push 000000AAh push 00000BB8h add ecx,00000003h push edx push ecx mov ecx,eax call SUB_L0042DCD0 mov esi,eax jmp L00427A76 L00427A74: xor esi,esi L00427A76: xor edi,edi mov dword ptr [esp+38h],FFFFFFFFh mov [esi+6Ch],ebp add ebx,00000234h L00427A89: mov edx,[ebx] mov ecx,esi push edx push edi call SUB_L0042E470 inc edi add ebx,00000004h cmp edi,00000008h jl L00427A89 mov eax,[esi] push FFFFFFFFh mov ecx,esi call [eax+00000174h] push ebp push 00000000h mov ecx,esi mov [esi+6Ch],ebp call SUB_L004587A0 mov ecx,[esp+40h] push esi mov [esi+0000009Ch],ecx call SUB_L00476670 lea edx,[esp+30h] lea eax,[esp+2Ch] push edx push eax call SUB_L00476BC0 mov ecx,[esp+34h] mov edx,[esp+38h] add esp,0000000Ch mov [esp+1Ch],ecx lea eax,[esp+18h] lea ecx,[esp+1Ch] push eax push ecx mov ecx,esi mov [esp+20h],edx call SUB_L00457D20 mov eax,[esp+18h] mov edx,[esi] mov ecx,[esp+1Ch] push eax L00427B04: push ecx mov ecx,esi call [edx+2Ch] L00427B0A: mov ecx,[esp+30h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000002Ch retn 0004h ;------------------------------------------------------------------------------ Align 4 L00427B20: push esi mov esi,ecx call SUB_L00427B40 test byte ptr [esp+08h],01h jz L00427B38 push esi call SUB_L004D4F9E add esp,00000004h L00427B38: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00427B40: mov dword ptr [ecx],L004E9624 jmp SUB_L0045B4B0 Align 8 SUB_L00427B50: push FFFFFFFFh push L004E1775 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004E9798 mov [esp+1Ch],ebx lea ecx,[ebp+00002278h] lea eax,[ebp+00000338h] mov edx,00000064h L00427B93: mov [eax],bl mov [ecx],bx add eax,00000050h add ecx,000000A0h dec edx jnz L00427B93 mov al,[esp+44h] or ecx,FFFFFFFFh mov [ebp+0000616Ah],al mov [ebp+0000009Ch],ecx mov [ebp+000000CCh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000D0h],ebx mov [ebp+000000DCh],ecx mov [ebp+000000D8h],ecx mov [ebp+000000D4h],ecx mov edi,L007049FC xor eax,eax mov dword ptr [ebp+08h],SSZ004FFC64_scrollchoice_gump lea edx,[ebp+000060F8h] repne scasb not ecx sub edi,ecx push SSZ004FFC44_framedata_for_CScrollChoiceGump mov eax,ecx mov esi,edi mov edi,edx mov edx,[esp+40h] shr ecx,02h rep movsd mov ecx,eax mov al,[esp+44h] and ecx,00000003h push 00000008h rep movsb mov ecx,[esp+2Ch] mov [ebp+60h],ebx mov [ebp+5Ch],ebx mov [ebp+00006148h],ecx mov ecx,[esp+30h] mov [ebp+00006150h],edx mov edx,[esp+3Ch] mov esi,00000001h mov [ebp+00006154h],esi mov [ebp+00006168h],al mov eax,[esp+40h] mov [ebp+54h],ecx mov ecx,[esp+34h] mov [ebp+20h],edx mov edx,[esp+38h] mov [ebp+000000ACh],ebx mov [ebp+000000A8h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+000000B4h],ebx mov [ebp+000000B0h],ebx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+24h],eax mov [ebp+30h],ecx mov [ebp+34h],edx mov [ebp+14h],ebx mov [ebp+18h],esi call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov al,[ebp+00006168h] cmp al,bl jz L00427D4A mov ecx,[ebp+20h] mov dword ptr [ebp+000000B8h],0000004Ah mov dword ptr [ebp+000000BCh],0000000Ah lea edx,[ecx-1Eh] mov [ebp+000000C0h],edx mov edx,[ebp+24h] lea edi,[edx-43h] jmp L00427D70 L00427D4A: mov ecx,[ebp+20h] mov dword ptr [ebp+000000B8h],00000014h mov dword ptr [ebp+000000BCh],0000000Ah lea edx,[ecx-14h] mov [ebp+000000C0h],edx mov edx,[ebp+24h] lea edi,[edx-1Eh] L00427D70: add ecx,FFFFFFEDh cmp al,bl mov [ebp+000000C4h],edi mov dword ptr [ebp+00006164h],00000005h mov [ebp+00006158h],ecx mov [ebp+0000615Ch],esi jz L00427D98 add edx,FFFFFFBCh jmp L00427D9B L00427D98: add edx,FFFFFFECh L00427D9B: push 000000BCh mov [ebp+00006160h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00427DE4 mov ecx,[ebp+00006160h] mov edx,[ebp+0000615Ch] push 000000FEh push ebp push ecx mov ecx,[ebp+00006158h] add edx,00000015h push esi dec ecx push edx push ecx mov ecx,eax call SUB_L00422790 jmp L00427DE6 L00427DE4: xor eax,eax L00427DE6: push esi push ebp mov ecx,eax mov [esp+24h],bl mov [ebp+0000614Ch],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L00427E3F mov ecx,[ebp+00006158h] mov edx,[ebp+0000615Ch] push ebx push 000000FBh push 000000FAh push L00420E60 push ebx push 00000002h push ebp dec ecx push edx push ecx mov ecx,eax call SUB_L00421F40 jmp L00427E41 L00427E3F: xor eax,eax L00427E41: push esi push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],000000FAh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L00427E9E mov ecx,[ebp+00006158h] mov edx,[ebp+00006160h] push ebx push 000000FDh push 000000FCh push L00420EA0 push ebx push 00000002h push ebp dec ecx push edx push ecx mov ecx,eax call SUB_L00421F40 jmp L00427EA0 L00427E9E: xor eax,eax L00427EA0: push esi push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],000000FCh call SUB_L004587A0 cmp [esp+40h],bl jz L0042808E mov esi,[ebp+24h] push 000001CCh sub esi,00000028h mov [esp+48h],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L00427F0C push ebx push ebx push ebx push 00000481h push 00000009h push 00000010h push 00000002h push 0000001Eh push 000000A0h push ebp push esi push ebx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+40h],edx jmp L00427F12 L00427F0C: mov [esp+40h],ebx mov edx,ebx L00427F12: mov edi,SSZ004FFC38_Sort_by_ or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+24h],esi mov esi,edi mov edi,[esp+24h] shr ecx,02h rep movsd mov ecx,eax push 00000001h and ecx,00000003h push ebp rep movsb mov ecx,edx mov [esp+24h],bl mov [edx+000000BCh],ebx call SUB_L004587A0 mov ecx,[esp+40h] mov edx,[ecx] call [edx+00000174h] push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+1Ch],05h jz L00427FA4 mov esi,[esp+44h] push ebx push 0000093Ch push 0000093Bh push L00421890 push ebx push 00000002h push ebp push esi push 00000050h mov ecx,eax call SUB_L00421F40 jmp L00427FAA L00427FA4: mov esi,[esp+44h] xor eax,eax L00427FAA: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],0000093Dh mov dword ptr [eax+00000098h],000186DCh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+1Ch],06h jz L00428009 push ebx push 0000093Fh push 0000093Eh push L004219A0 push ebx push 00000002h push ebp push esi push 000000BCh mov ecx,eax call SUB_L00421F40 jmp L0042800B L00428009: xor eax,eax L0042800B: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000940h mov dword ptr [eax+00000098h],000186DBh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+1Ch],07h jz L0042806A push ebx push 00000942h push 00000941h push L00421AB0 push ebx push 00000002h push ebp push esi push 00000128h mov ecx,eax call SUB_L00421F40 jmp L0042806C L0042806A: xor eax,eax L0042806C: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000943h mov dword ptr [eax+00000098h],000186DAh call SUB_L004587A0 L0042808E: mov ecx,ebp call SUB_L004286B0 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 8 L004280B0: push esi mov esi,ecx call SUB_L00428100 test byte ptr [esp+08h],01h jz L004280C8 push esi call SUB_L004D4F9E add esp,00000004h L004280C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004280D0: lea edx,[ecx+00002278h] lea eax,[ecx+00000338h] mov ecx,00000064h L004280E1: mov byte ptr [eax],00h mov word ptr [edx],0000h add eax,00000050h add edx,000000A0h dec ecx jnz L004280E1 retn ;------------------------------------------------------------------------------ Align 16 SUB_L00428100: push FFFFFFFFh push L004E179E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004E9798 mov eax,[L00B294B8] xor ebx,ebx cmp eax,esi mov [esp+18h],ebx jnz L0042813B mov [L00B294B8],ebx L0042813B: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,ebx jz L00428159 push SSZ004FFC90_scrollchoice_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],ebx L00428159: mov eax,[esi+3Ch] cmp eax,ebx jz L00428171 push SSZ004FFC78_scrollchoice_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L00428171: mov ecx,[esi+00006148h] cmp ecx,ebx jz L00428188 cmp [esi+00006150h],ebx jz L00428188 mov edx,[ecx] call [edx+68h] L00428188: cmp [esi+00006168h],bl jz L00428252 cmp [esi+00006154h],ebx jz L00428200 cmp [L00B2949C],ebx jnz L004281DC push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov byte ptr [esp+18h],01h jz L004281C7 mov ecx,eax call SUB_L00430440 jmp L004281C9 L004281C7: xor eax,eax L004281C9: push 00000001h push ebx mov ecx,eax mov [esp+20h],bl mov [L00B2949C],eax call SUB_L004587A0 L004281DC: mov ecx,[L00C88300] cmp ecx,ebx jz L004281EB call SUB_L004BA660 L004281EB: push L007049FC mov [L00C88370],ebx call SUB_L004CE570 add esp,00000004h jmp L00428252 L00428200: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov byte ptr [esp+18h],02h jz L00428233 push ebx push ebx push 00000001h push 00000001h push ebx push SSZ004FF45C_Connecting____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L00428235 L00428233: xor eax,eax L00428235: mov [L00B2905C],eax mov eax,[eax+48h] push 00000001h push ebx mov [eax+6Ch],ebx mov ecx,[L00B2905C] mov [esp+20h],bl call SUB_L004587A0 L00428252: mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+10h] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 L00428280: push esi mov esi,ecx mov al,[esi+00006169h] test al,al jz L004282AD push 00000000h call SUB_L00476670 add esp,00000004h mov dword ptr [esi+00006154h],00000001h test esi,esi jz L004282AD mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004282AD: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004282C0: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esp+10h] mov edi,00000001h mov [esi+74h],ecx push 00000000h mov ecx,esi mov [esi+70h],eax mov [esi+000000A8h],edi mov [esi+000000D0h],edi call SUB_L004584E0 cmp [esi+000000B4h],edi jnz L00428303 mov dword ptr [esi+000000B4h],00000002h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00428303: mov [esi+000000B4h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000B0h],eax pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00428320: push ecx mov eax,[esp+08h] push ebx mov ebx,ecx push esi push edi cmp eax,[ebx+000000B8h] jl L0042847D cmp eax,[ebx+000000C0h] jg L0042847D mov esi,[esp+18h] mov eax,[ebx+000000BCh] cmp esi,eax jl L0042847D cmp esi,[ebx+000000C4h] jg L0042847D lea eax,[esp+18h] lea ecx,[esp+14h] push eax mov eax,[ebx+00006164h] lea edx,[esp+10h] push ecx push edx push L004FEBE4 push eax call SUB_L00441BC0 mov edx,[ebx+000000BCh] mov eax,esi sub eax,edx mov ecx,[ebx+000000C8h] cdq idiv [esp+28h] add esp,00000014h mov edx,eax mov eax,[ebx+000000CCh] add edx,ecx cmp edx,eax jge L0042847D mov eax,[ebx+00006150h] test eax,eax jz L0042842E mov ecx,[ebx+edx*4+000000E0h] lea edx,[edx+edx*4] shl edx,04h mov [eax+000000F4h],ecx or ecx,FFFFFFFFh lea edi,[edx+ebx+00000338h] mov edx,[ebx+00006150h] xor eax,eax add edx,000000F8h 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+00006150h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebx+00006148h] test ecx,ecx jz L0042841B mov edx,[ebx+00006150h] mov eax,[ecx] push edx call [eax+4Ch] L0042841B: test ebx,ebx jz L0042847D mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] pop edi pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L0042842E: lea ecx,[edx+edx*4] push ebp shl ecx,04h xor eax,eax mov dword ptr [ebx+00006154h],00000000h lea ebp,[ecx+ebx+00000338h] or ecx,FFFFFFFFh mov edi,ebp push ebp repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00705058 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[ebx+edx*4+000000E0h] push ecx mov ecx,[L00B29484] call SUB_L004AE7B0 pop ebp L0042847D: pop edi pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00428490: sub esp,0000000Ch push esi push edi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov eax,[esp+1Ch] mov ecx,[esi+000000B8h] add esp,00000004h cmp eax,ecx jl L00428548 cmp eax,[esi+000000C0h] jg L00428548 mov edi,[esp+1Ch] mov eax,[esi+000000BCh] cmp edi,eax jl L00428548 cmp edi,[esi+000000C4h] jg L00428548 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax mov eax,[esi+00006164h] lea edx,[esp+14h] push ecx push edx push L004FEBE4 push eax call SUB_L00441BC0 mov ecx,[esi+000000BCh] mov eax,edi sub eax,ecx mov edi,[esi+000000C8h] cdq idiv [esp+1Ch] mov edx,[esi+000000CCh] mov ecx,[esi+0000009Ch] add esp,00000014h add eax,edi cmp eax,edx jge L00428527 mov [esi+0000009Ch],eax jmp L00428531 L00428527: mov dword ptr [esi+0000009Ch],FFFFFFFFh L00428531: cmp [esi+0000009Ch],ecx jz L00428562 mov ecx,esi call SUB_L004286B0 pop edi pop esi add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ L00428548: mov ecx,[esi+0000009Ch] or eax,FFFFFFFFh cmp ecx,eax jz L00428562 mov ecx,esi mov [esi+0000009Ch],eax call SUB_L004286B0 L00428562: pop edi pop esi add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 8 L00428570: mov edx,[ecx+0000009Ch] or eax,FFFFFFFFh cmp edx,eax jz L00428588 mov [ecx+0000009Ch],eax jmp SUB_L004286B0 L00428588: retn ;------------------------------------------------------------------------------ Align 8 L00428590: push ebx push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov ebx,[esi+000000B4h] mov ecx,00000001h xor edx,edx cmp ebx,ecx jnz L004285D4 sub edi,[esi+000000B0h] cmp edi,eax jbe L004285D4 mov eax,[esi+000000A8h] mov [esi+000000B4h],edx cmp eax,edx jz L00428608 mov [esi+000000A0h],ecx L004285D4: cmp [esi+000000A8h],edx jz L00428608 mov ecx,[esi+000000D0h] inc ecx mov eax,ecx mov [esi+000000D0h],ecx cmp eax,00000002h jnz L00428608 mov ecx,[esi+74h] mov eax,[esi] mov [esi+000000D0h],edx mov edx,[esi+70h] push ecx push edx mov ecx,esi call [eax+00000174h] L00428608: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L00428610: push esi mov esi,[ecx+000000CCh] mov eax,esi imul eax,[esp+08h] cdq idiv [esp+0Ch] cmp eax,esi mov [ecx+000000C8h],eax jl L00428634 dec esi mov [ecx+000000C8h],esi L00428634: call SUB_L004286B0 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00428640: mov edx,ecx push ebx mov ecx,[esp+08h] push esi mov eax,[edx+000000CCh] push edi mov edi,[esp+14h] mov [edx+eax*4+000000E0h],ecx mov eax,[edx+000000CCh] mov cx,[esp+18h] mov [edx+eax*2+00000270h],cx mov eax,[edx+000000CCh] or ecx,FFFFFFFFh lea eax,[eax+eax*4] shl eax,04h lea ebx,[eax+edx+00000338h] 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+000000CCh] pop edi inc eax pop esi mov [edx+000000CCh],eax pop ebx retn 000Ch ;------------------------------------------------------------------------------ SUB_L004286B0: sub esp,00000060h push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov dl,[esi+00006168h] mov eax,[esi+20h] mov ecx,[esi+24h] mov [esp+60h],ebx test dl,dl mov edx,[esi+3Ch] mov [esp+64h],ebx mov [esp+68h],eax mov [esp+6Ch],ecx mov edx,[edx+04h] push ebx push edx mov edx,[esi+54h] push edx jz L004286EA add ecx,FFFFFFD3h L004286EA: add eax,FFFFFFECh push ecx push eax push ebx push ebx call SUB_L0042C610 add esp,0000001Ch lea eax,[esp+10h] lea ecx,[esp+28h] push eax push ecx push 000000FAh call SUB_L004434A0 lea edx,[esp+3Ch] lea eax,[esp+34h] push edx push eax push 00000101h call SUB_L004434A0 lea ecx,[esp+34h] lea edx,[esp+40h] push ecx push edx push 000000FFh call SUB_L004434A0 mov eax,[esi+00006158h] mov ecx,[esp+34h] mov edi,[esi+20h] mov [esp+78h],ecx lea edx,[eax-01h] mov eax,[esi+00006160h] mov [esp+74h],edx mov [esp+7Ch],edi lea ebp,[eax+ecx] mov [esp+00000080h],ebp mov ebp,[esp+40h] sub eax,ebp inc eax mov [esp+40h],eax mov eax,[esi+24h] push eax mov eax,[esi+3Ch] push edi mov eax,[eax+04h] add eax,00000004h push eax push ecx push edx push 00000101h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,00000040h push ecx mov ecx,[eax+04h] mov eax,[esi+00006158h] push edx mov edx,[esp+24h] add ecx,00000004h push ecx dec eax push edx push eax push 000000FFh push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+4Ch] mov edx,[esp+2Ch] add edx,ecx lea eax,[esp+44h] mov [esp+2Ch],edx lea edx,[esp+50h] push edx push eax push 00000100h call SUB_L004434A0 mov eax,[esp+38h] mov ecx,[esp+44h] add esp,00000028h cmp eax,ecx jg L00428831 L004287EE: mov ecx,[esi+24h] mov edx,[esi+20h] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] add edx,00000004h push edx push eax mov eax,[esi+00006158h] dec eax push eax push 00000100h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+2Ch] mov edx,[esp+50h] mov ecx,[esp+38h] add eax,edx add esp,0000001Ch cmp eax,ecx mov [esp+10h],eax jle L004287EE L00428831: mov ecx,[esi+24h] mov edx,[esi+20h] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] lea ecx,[esp+58h] add edx,00000004h push edx push eax mov eax,[esi+00006158h] dec eax push eax push ecx push 00000100h push SUB_L004B9B80 call SUB_L004436C0 lea edx,[esi+000060F8h] or ecx,FFFFFFFFh mov edi,edx xor eax,eax add esp,00000020h repne scasb not ecx dec ecx jz L004288A7 mov eax,[esi+20h] push ebx push 0000000Eh lea ecx,[esp+68h] push ebx push ecx mov ecx,[esi+3Ch] push eax add eax,FFFFFFD8h mov ecx,[ecx+04h] add ecx,00000004h push ecx push eax push edx mov edx,[esi+24h] push ebx sub edx,00000058h push 00000006h push edx push 0000001Ch call SUB_L00441160 add esp,00000030h L004288A7: lea eax,[esp+14h] lea ecx,[esp+38h] push eax mov eax,[esi+00006164h] lea edx,[esp+40h] push ecx push edx push L004FEBE4 push eax call SUB_L00441BC0 mov edi,[esi+000000BCh] mov ecx,[esi+000000C4h] mov eax,[esi+000000C8h] add esp,00000014h cmp edi,ecx mov [esp+18h],eax jg L00428BA5 lea ecx,[eax+eax*4] shl ecx,04h lea edx,[ecx+esi+00000338h] lea ecx,[eax+eax*4] shl ecx,05h mov [esp+24h],edx lea edx,[esi+eax*2+00000270h] lea ebx,[ecx+esi+00002278h] lea ecx,[esi+eax*4+000000E0h] mov [esp+2Ch],edx mov [esp+20h],ecx jmp L00428922 L0042891E: mov eax,[esp+18h] L00428922: cmp eax,[esi+000000CCh] jge L00428BA5 lea ebp,[esi+000000B8h] mov edx,ebp mov ecx,[edx] mov [esp+40h],ecx mov dword ptr [esp+40h],00000000h mov ecx,[edx+04h] mov [esp+44h],ecx mov ecx,[edx+08h] mov [esp+48h],ecx mov cl,[esi+00006168h] mov edx,[edx+0Ch] test cl,cl mov [esp+4Ch],edx jz L00428A30 mov ecx,[esp+20h] mov edx,[ecx] mov ecx,[esi+000000D4h] cmp edx,ecx jnz L004289AA mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[edi+0Ah] push eax push ecx lea edx,[esp+50h] push 0000001Ah push edx push 00000938h push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+38h] add esp,00000020h L004289AA: mov ecx,[esp+20h] mov edx,[ecx] mov ecx,[esi+000000D8h] cmp edx,ecx jnz L004289ED mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[edi+0Ah] push eax push ecx lea edx,[esp+50h] push 00000028h push edx push 00000939h push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+38h] add esp,00000020h L004289ED: mov ecx,[esp+20h] mov edx,[ecx] mov ecx,[esi+000000DCh] cmp edx,ecx jnz L00428A30 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[edi+0Ah] push eax push ecx lea edx,[esp+50h] push 00000036h push edx push 0000093Ah push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+38h] add esp,00000020h L00428A30: cmp eax,[esi+0000009Ch] jnz L00428A9E mov al,[esi+0000616Ah] push ebp test al,al jz L00428A71 mov ecx,[esi+3Ch] mov eax,[esi+20h] push eax mov eax,[esi+00006164h] mov edx,[ecx+04h] mov ecx,[esp+1Ch] add edx,00000004h push edx push ebx push 00000035h push eax mov eax,[ebp+00h] lea edx,[edi+ecx] push edx push eax call SUB_L00441960 jmp L00428B5E L00428A71: mov edx,[esi+3Ch] mov ecx,[esi+20h] push ecx mov ecx,[esp+2Ch] mov eax,[edx+04h] mov edx,[esi+00006164h] add eax,00000004h push eax mov eax,[esp+20h] push ecx push 00000035h push edx mov edx,[ebp+00h] lea ecx,[edi+eax] push ecx push edx jmp L00428B59 L00428A9E: mov eax,[esp+2Ch] mov ax,[eax] test ax,ax jz L00428AF5 mov cl,[esi+0000616Ah] mov edx,[esi+3Ch] test cl,cl mov ecx,[esi+20h] push ebp push ecx mov ecx,[edx+04h] jz L00428AE4 mov edx,[esi+00006164h] add ecx,00000004h push ecx and eax,0000FFFFh push ebx push eax mov eax,[esp+28h] push edx mov edx,[ebp+00h] lea ecx,[edi+eax] push ecx push edx call SUB_L00441960 jmp L00428B5E L00428AE4: mov edx,[esp+2Ch] add ecx,00000004h push ecx and eax,0000FFFFh push edx push eax jmp L00428B46 L00428AF5: mov al,[esi+0000616Ah] push ebp test al,al jz L00428B2E mov edx,[esi+3Ch] mov ecx,[esi+20h] push ecx mov ecx,[esi+00006164h] mov eax,[edx+04h] mov edx,[esp+1Ch] add eax,00000004h push eax push ebx push 00000386h push ecx mov ecx,[ebp+00h] lea eax,[edi+edx] push eax push ecx call SUB_L00441960 jmp L00428B5E L00428B2E: mov eax,[esi+3Ch] mov edx,[esi+20h] push edx mov edx,[esp+2Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx push edx push 00000386h L00428B46: mov ecx,[esp+28h] mov eax,[esi+00006164h] push eax mov eax,[ebp+00h] lea edx,[edi+ecx] push edx push eax L00428B59: call SUB_L004416F0 L00428B5E: mov edx,[esp+58h] mov ecx,[esp+38h] mov eax,[esp+40h] mov ebp,[esp+4Ch] add esp,00000020h add edi,edx inc ecx add eax,00000004h mov [esp+18h],ecx mov ecx,[esp+24h] mov [esp+20h],eax mov eax,[esi+000000C4h] add ebp,00000002h add ebx,000000A0h add ecx,00000050h cmp edi,eax mov [esp+2Ch],ebp mov [esp+24h],ecx jle L0042891E L00428BA5: pop edi pop esi pop ebp pop ebx add esp,00000060h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00428BB0: push FFFFFFFFh push L004E17B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004E9910 mov [esp+1Ch],ebx lea ecx,[ebp+00002278h] lea eax,[ebp+00000338h] mov edx,00000064h L00428BF3: mov [eax],bl mov [ecx],bx add eax,00000050h add ecx,000000A0h dec edx jnz L00428BF3 mov al,[esp+40h] or ecx,FFFFFFFFh mov [ebp+0000615Ch],al mov [ebp+0000009Ch],ecx mov [ebp+000000CCh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000D0h],ebx mov [ebp+00006158h],ebx mov [ebp+000000DCh],ecx mov [ebp+000000D8h],ecx mov edi,L007049FC xor eax,eax mov [ebp+000000D4h],ecx mov dword ptr [ebp+08h],SSZ004FFCAC_CPanelChoiceGump repne scasb not ecx sub edi,ecx lea edx,[ebp+000060F8h] mov eax,ecx mov esi,edi mov edi,edx mov edx,[esp+38h] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+3Ch] and ecx,00000003h push SSZ004FFC44_framedata_for_CScrollChoiceGump rep movsb mov ecx,[esp+38h] mov esi,[esp+28h] mov [ebp+00006148h],ecx mov ecx,[esp+2Ch] mov [ebp+00006150h],edx mov edx,[esp+30h] mov [ebp+54h],eax mov eax,[esp+34h] push 00000008h mov [ebp+60h],ebx mov [ebp+5Ch],ebx mov [ebp+000000ACh],ebx mov [ebp+000000A8h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+000000B4h],ebx mov [ebp+000000B0h],ebx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+30h],esi mov [ebp+34h],ecx mov [ebp+20h],edx mov [ebp+24h],eax mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+20h] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[ebp+20h] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov eax,[esp+2Ch] add esi,eax mov [ecx+02h],dx mov ecx,[esp+28h] mov edx,[esp+30h] mov [ebp+000000B8h],ebx add ecx,edx mov [ebp+000000BCh],ebx mov [ebp+000000C4h],ecx mov ecx,ebp mov [ebp+000000C0h],esi call SUB_L00429260 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 L00428DC0: push esi mov esi,ecx call SUB_L00428DE0 test byte ptr [esp+08h],01h jz L00428DD8 push esi call SUB_L004D4F9E add esp,00000004h L00428DD8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00428DE0: push FFFFFFFFh push L004E17D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E9910 mov eax,[L00B294B8] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L00428E19 mov [L00B294B8],edi L00428E19: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L00428E37 push SSZ004FFC90_scrollchoice_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L00428E37: mov eax,[esi+3Ch] cmp eax,edi jz L00428E4F push SSZ004FFC78_scrollchoice_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L00428E4F: mov ecx,[esi+00006148h] cmp ecx,edi jz L00428E66 cmp [esi+00006150h],edi jz L00428E66 mov edx,[ecx] call [edx+68h] L00428E66: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00428E90: push esi mov esi,ecx push 00000000h call SUB_L00476670 add esp,00000004h mov dword ptr [esi+00006154h],00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00428EB0: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esp+10h] mov edi,00000001h mov [esi+74h],ecx push 00000000h mov ecx,esi mov [esi+70h],eax mov [esi+000000A8h],edi mov [esi+000000D0h],edi call SUB_L004584E0 cmp [esi+000000B4h],edi jnz L00428EF0 mov dword ptr [esi+000000B4h],00000002h jmp L00428F02 L00428EF0: mov [esi+000000B4h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000B0h],eax L00428F02: mov ecx,[esi+00006148h] test ecx,ecx jz L00428F12 mov edx,[ecx] push esi call [edx+4Ch] L00428F12: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00428F20: mov edx,[ecx+000000A0h] xor eax,eax cmp edx,eax mov [ecx+000000A8h],eax jz L00428F48 push eax mov [ecx+000000A0h],eax mov [ecx+000000B4h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ L00428F48: cmp dword ptr [ecx+000000B4h],00000002h jnz L00428F57 mov [ecx+000000B4h],eax L00428F57: push eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00428F70: push ecx mov eax,[esp+08h] push ebx mov ebx,ecx push esi cmp eax,[ebx+000000B8h] jl L00429075 cmp eax,[ebx+000000C0h] jg L00429075 mov esi,[esp+14h] mov eax,[ebx+000000BCh] cmp esi,eax jl L00429075 cmp esi,[ebx+000000C4h] jg L00429075 lea eax,[esp+14h] lea ecx,[esp+10h] push eax lea edx,[esp+0Ch] push ecx push edx push L004FEBE4 push 00000005h call SUB_L00441BC0 mov eax,esi mov esi,[ebx+000000BCh] sub eax,esi mov ecx,[ebx+000000CCh] cdq idiv [esp+24h] mov edx,[ebx+000000C8h] add esp,00000014h add eax,edx cmp eax,ecx jge L00429075 mov ecx,[ebx+00006150h] test ecx,ecx jz L00429065 mov edx,[ebx+eax*4+000000E0h] lea eax,[eax+eax*4] shl eax,04h push edi mov [ecx+000000F4h],edx mov edx,[ebx+00006150h] lea edi,[eax+ebx+00000338h] or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h 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+00006150h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebx+00006148h] pop edi test ecx,ecx jz L00429065 mov edx,[ebx+00006150h] mov eax,[ecx] push edx call [eax+4Ch] L00429065: mov ecx,[ebx+00006148h] test ecx,ecx jz L00429075 mov eax,[ecx] push ebx call [eax+4Ch] L00429075: pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00429080: sub esp,0000000Ch push esi mov esi,ecx push edi mov eax,[esi+00006158h] test eax,eax jnz L004290A0 mov dword ptr [esi+00006158h],00000001h call SUB_L00429260 L004290A0: push 00000000h call SUB_L004D0FB0 mov eax,[esp+1Ch] mov ecx,[esi+000000B8h] add esp,00000004h cmp eax,ecx jl L0042914C cmp eax,[esi+000000C0h] jg L0042914C mov edi,[esp+1Ch] mov eax,[esi+000000BCh] cmp edi,eax jl L0042914C cmp edi,[esi+000000C4h] jg L0042914C lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax lea edx,[esp+14h] push ecx push edx push L004FEBE4 push 00000005h call SUB_L00441BC0 mov ecx,[esi+000000BCh] mov eax,edi sub eax,ecx mov edi,[esi+000000C8h] cdq idiv [esp+1Ch] mov edx,[esi+000000CCh] mov ecx,[esi+0000009Ch] add esp,00000014h add eax,edi cmp eax,edx jge L0042912B mov [esi+0000009Ch],eax jmp L00429135 L0042912B: mov dword ptr [esi+0000009Ch],FFFFFFFFh L00429135: cmp [esi+0000009Ch],ecx jz L00429166 mov ecx,esi call SUB_L00429260 pop edi pop esi add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ L0042914C: mov ecx,[esi+0000009Ch] or eax,FFFFFFFFh cmp ecx,eax jz L00429166 mov ecx,esi mov [esi+0000009Ch],eax call SUB_L00429260 L00429166: pop edi pop esi add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 L00429170: push esi mov esi,ecx mov eax,[esi+00006158h] test eax,eax jz L0042918C mov dword ptr [esi+00006158h],00000000h call SUB_L00429260 L0042918C: mov ecx,[esi+0000009Ch] or eax,FFFFFFFFh cmp ecx,eax jz L004291A6 mov ecx,esi mov [esi+0000009Ch],eax call SUB_L00429260 L004291A6: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004291B0: push ebx push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov ebx,[esi+000000B4h] mov ecx,00000001h xor edx,edx cmp ebx,ecx jnz L004291F4 sub edi,[esi+000000B0h] cmp edi,eax jbe L004291F4 mov eax,[esi+000000A8h] mov [esi+000000B4h],edx cmp eax,edx jz L00429225 mov [esi+000000A0h],ecx L004291F4: cmp [esi+000000A8h],edx jz L00429225 mov ecx,[esi+000000D0h] inc ecx mov eax,ecx mov [esi+000000D0h],ecx cmp eax,00000002h jnz L00429225 mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi mov [esi+000000D0h],edx call SUB_L00428F70 L00429225: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L00429230: push esi mov esi,[ecx+000000CCh] mov eax,esi imul eax,[esp+08h] cdq idiv [esp+0Ch] cmp eax,esi mov [ecx+000000C8h],eax jl L00429254 dec esi mov [ecx+000000C8h],esi L00429254: call SUB_L00429260 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L00429260: sub esp,0000003Ch push ebx push ebp push esi mov esi,ecx push edi xor eax,eax lea ebx,[esi+000060F8h] or ecx,FFFFFFFFh mov edi,ebx mov edx,[esi+20h] repne scasb mov ebp,[esi+24h] mov [esp+3Ch],eax not ecx dec ecx mov [esp+40h],eax mov [esp+44h],edx mov [esp+48h],ebp jz L004292BE mov ecx,[esi+3Ch] push eax push 0000000Eh push eax lea eax,[esp+48h] add ebp,FFFFFFA8h push eax mov eax,[ecx+04h] push edx add eax,00000004h add edx,FFFFFFD8h push eax push edx push ebx push 00000000h push 00000006h push ebp push 0000001Ch call SUB_L00441160 add esp,00000030h L004292BE: lea ecx,[esp+10h] lea edx,[esp+24h] push ecx lea eax,[esp+2Ch] push edx push eax push L004FEBE4 push 00000009h call SUB_L00441BC0 mov ebp,[esi+000000BCh] mov ecx,[esi+000000C4h] mov eax,[esi+000000C8h] add esp,00000014h cmp ebp,ecx mov [esp+14h],eax jg L00429589 lea ecx,[eax+eax*4] shl ecx,04h lea edx,[ecx+esi+00000338h] lea ecx,[eax+eax*4] shl ecx,05h mov [esp+1Ch],edx lea edx,[esi+eax*2+00000270h] lea ebx,[ecx+esi+00002278h] lea ecx,[esi+eax*4+000000E0h] mov [esp+20h],edx mov [esp+18h],ecx jmp L00429334 L00429330: mov eax,[esp+14h] L00429334: cmp eax,[esi+000000CCh] jge L00429589 lea edi,[esi+000000B8h] mov edx,edi mov ecx,[edx] mov [esp+2Ch],ecx mov dword ptr [esp+2Ch],00000000h mov ecx,[edx+04h] mov [esp+30h],ecx mov ecx,[edx+08h] mov [esp+34h],ecx mov ecx,[esp+18h] mov edx,[edx+0Ch] mov [esp+38h],edx mov edx,[ecx] cmp edx,[esi+000000D4h] jnz L004293AC mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebp+0Ah] push eax push ecx lea edx,[esp+3Ch] push 0000001Ah push edx push 00000938h push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+34h] add esp,00000020h L004293AC: mov ecx,[esp+18h] mov edx,[ecx] mov ecx,[esi+000000D8h] cmp edx,ecx jnz L004293EF mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebp+0Ah] push eax push ecx lea edx,[esp+3Ch] push 00000028h push edx push 00000939h push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+34h] add esp,00000020h L004293EF: mov ecx,[esp+18h] mov edx,[ecx] mov ecx,[esi+000000DCh] cmp edx,ecx jnz L00429432 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[ebp+0Ah] push eax push ecx lea edx,[esp+3Ch] push 00000036h push edx push 0000093Ah push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+34h] add esp,00000020h L00429432: cmp eax,[esi+0000009Ch] jz L004294F5 mov eax,[esi+00006158h] test eax,eax jnz L004294F5 mov eax,[esp+20h] mov ax,[eax] test ax,ax jz L004294A5 mov cl,[esi+0000615Ch] push edi test cl,cl jz L0042947A mov ecx,[esi+20h] mov edx,[esi+3Ch] push ecx mov ecx,[edx+04h] add ecx,00000004h and eax,0000FFFFh push ecx push ebx push eax jmp L004294C4 L0042947A: mov edx,[esi+20h] mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] mov ecx,[esp+24h] add edx,00000004h and eax,0000FFFFh push edx mov edx,[esp+1Ch] push ecx mov ecx,[edi] push eax lea eax,[edx+ebp] push 00000009h push eax push ecx jmp L0042953D L004294A5: mov al,[esi+0000615Ch] mov edx,[esi+20h] test al,al mov eax,[esi+3Ch] push edi push edx mov ecx,[eax+04h] jz L004294D8 add ecx,00000004h push ecx push ebx push 00000386h L004294C4: mov edx,[esp+24h] mov ecx,[edi] push 00000009h lea eax,[edx+ebp] push eax push ecx call SUB_L00441960 jmp L00429542 L004294D8: mov edx,[esp+24h] mov eax,[esp+18h] add ecx,00000004h push ecx push edx mov edx,[edi] push 00000386h lea ecx,[eax+ebp] push 00000009h push ecx push edx jmp L0042953D L004294F5: mov al,[esi+0000615Ch] mov ecx,[esi+3Ch] test al,al mov eax,[esi+20h] mov edx,[ecx+04h] push edi push eax jz L00429525 mov eax,[esp+18h] add edx,00000004h push edx mov edx,[edi] push ebx push 00000021h lea ecx,[eax+ebp] push 00000009h push ecx push edx call SUB_L00441960 jmp L00429542 L00429525: mov eax,[esp+24h] mov ecx,[esp+18h] add edx,00000004h push edx push eax mov eax,[edi] push 00000021h lea edx,[ecx+ebp] push 00000009h push edx push eax L0042953D: call SUB_L004416F0 L00429542: mov edx,[esp+44h] mov ecx,[esp+34h] mov eax,[esp+38h] mov edi,[esp+40h] add esp,00000020h add ebp,edx inc ecx add eax,00000004h mov [esp+14h],ecx mov ecx,[esp+1Ch] mov [esp+18h],eax mov eax,[esi+000000C4h] add edi,00000002h add ebx,000000A0h add ecx,00000050h cmp ebp,eax mov [esp+20h],edi mov [esp+1Ch],ecx jle L00429330 L00429589: pop edi pop esi pop ebp pop ebx add esp,0000003Ch retn ;------------------------------------------------------------------------------ Align 16 L004295A0: sub esp,00000018h push ebx push esi push edi mov edi,ecx mov eax,[edi+6Ch] test eax,eax jz L0042966A lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[edi+3Ch] mov eax,[esp+10h] mov ecx,[esp+0Ch] mov ebx,[esp+28h] mov esi,[edx+04h] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0042966A mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000028h test esi,esi jz L0042966A L0042965B: mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0042965B L0042966A: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00429680: mov eax,[esp+30h] mov edx,[esp+28h] push esi mov esi,ecx mov ecx,[esp+30h] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+2Ch] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+2Ch] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+2Ch] push eax push ecx push edx mov ecx,esi call SUB_L0042A340 xor eax,eax mov dword ptr [esi],L004E9338 mov [esi+000001CCh],ax mov [esi+000001CEh],ax mov dword ptr [esi+000001C8h],FFFFFFFFh mov eax,esi pop esi retn 0030h ;------------------------------------------------------------------------------ Align 8 L004296F0: push esi mov esi,ecx call SUB_L00429710 test byte ptr [esp+08h],01h jz L00429708 push esi call SUB_L004D4F9E add esp,00000004h L00429708: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00429710: push FFFFFFFFh push L004E17F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E9A84 mov eax,[L007050B0] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L00429749 mov [L007050B0],edi L00429749: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L00429767 push SSZ004FFCD8_InputControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L00429767: mov eax,[esi+3Ch] cmp eax,edi jz L0042977F push SSZ004FFCC0_InputControl_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042977F: cmp [L00B294BC],esi jnz L0042978D mov [L00B294BC],edi L0042978D: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004297B0: sub esp,000000ECh push ebp push esi mov esi,ecx push edi xor edi,edi mov ax,[esi+000001CCh] mov bp,[esi+000001C2h] cmp ax,di mov [esp+10h],edi mov [esp+34h],edi jz L004297E2 cmp [esi+000000E0h],edi jz L004297E2 mov ebp,eax L004297E2: mov ax,[esi+000001CEh] cmp ax,di jz L004297F8 cmp [esi+000000E4h],edi jz L004297F8 mov ebp,eax L004297F8: lea eax,[esp+0Ch] push ebx push eax lea ecx,[esp+40h] lea edx,[esp+30h] xor eax,eax mov dword ptr [L0094330C],00000001h mov ax,[esi+000001C0h] push ecx push edx push L004FEBE4 push eax call SUB_L00441BC0 mov ecx,[esi+3Ch] push edi mov edx,[ecx+04h] push edx push 00000BB8h call SUB_L0042BB70 mov edx,[esi+20h] xor ebx,ebx mov bl,[esi+000000EEh] mov eax,edx xor ecx,ecx sub eax,ebx mov cl,[esi+000000EFh] mov [esp+44h],eax mov eax,[esi+24h] mov edi,ecx sub eax,edi add esp,00000020h mov [esp+28h],eax mov al,[esi+000000F0h] test al,al mov [esp+34h],ebx mov [esp+1Ch],ebx mov [esp+30h],edi mov [esp+20h],edi jz L00429A46 cmp al,02h jz L00429A46 mov ecx,[esi+000000F4h] lea edx,[esp+44h] push ecx push L004FF074 push edx call SUB_L004D512F mov eax,[L00B294BC] add esp,0000000Ch cmp eax,esi jnz L00429974 mov eax,[esi+000001BCh] mov edx,[esi+000001B8h] sub edx,eax lea ecx,[esp+eax+44h] xor eax,eax mov ax,[esi+000001C0h] push ecx push edx push eax call SUB_L00442A80 mov edx,[esi+20h] mov [esp+20h],eax mov eax,[esi+3Ch] lea ecx,[esp+28h] push ecx mov ebx,[esp+20h] mov ecx,[eax+04h] push edx mov edx,[esi+000001BCh] add ecx,00000004h push ecx xor ecx,ecx mov cx,[esi+000001C0h] lea eax,[esp+edx+5Ch] xor edx,edx push eax mov dl,[esi+000000EFh] and ebp,0000FFFFh xor eax,eax push ebp mov al,[esi+000000EEh] add edx,ebx push ecx push edx push eax call SUB_L004410C0 mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+48h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h xor edx,edx xor eax,eax mov dx,[esi+000001C0h] mov al,[esi+000000EFh] push ecx mov ecx,[esp+48h] push L004FED04 push 00000386h push edx lea edx,[eax+ecx+02h] xor eax,eax push edx mov al,[esi+000000EEh] mov edx,[esp+5Ch] add eax,edx push eax call SUB_L004410C0 add esp,0000004Ch jmp L00429FA7 L00429974: mov eax,[esi+000000C0h] test eax,eax jz L004299FA lea ecx,[esp+44h] lea edi,[esp+44h] push ecx or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb mov dx,[esi+000001C0h] not ecx dec ecx push ecx push edx call SUB_L00442A80 lea edx,[esp+28h] mov ecx,eax mov eax,[esi+20h] push edx mov edx,[esi+3Ch] mov [esp+24h],ecx push eax mov edi,[esp+24h] mov edx,[edx+04h] and ebp,0000FFFFh add edx,00000004h sub eax,ecx push edx mov edx,[esi+000001BCh] lea edx,[esp+edx+5Ch] push edx xor edx,edx mov dx,[esi+000001C0h] push ebp push edx xor edx,edx mov dl,[esi+000000EFh] add edx,edi push edx cdq sub eax,edx sar eax,1 push eax call SUB_L004410C0 add esp,0000002Ch jmp L00429FA7 L004299FA: mov ecx,[esi+20h] mov edx,[esi+3Ch] lea eax,[esp+1Ch] mov edi,[esp+10h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+000001BCh] add eax,00000004h and ebp,0000FFFFh lea edx,[esp+ecx+4Ch] xor ecx,ecx mov cl,[esi+000000EFh] push eax xor eax,eax push edx mov ax,[esi+000001C0h] add ecx,edi xor edx,edx push ebp mov dl,[esi+000000EEh] push eax push ecx push edx jmp L00429F9F L00429A46: mov eax,[L00B294BC] cmp eax,esi mov eax,[esi+000000B8h] jnz L00429C49 test eax,eax jz L00429AFB lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [esp+18h],ecx jle L00429A96 mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[esp+44h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[esp+34h] L00429A96: mov ecx,[esi+3Ch] mov byte ptr [esp+eax+44h],00h lea eax,[esp+1Ch] and ebp,0000FFFFh push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[esp+eax+4Ch] mov eax,[esp+18h] push edx push ecx mov ecx,[esp+40h] xor edx,edx push ebp mov dx,[esi+000001C0h] add ecx,eax push edx push ecx push ebx call SUB_L004410C0 mov eax,[esi+000001BCh] mov ecx,[esi+000001B8h] sub ecx,eax lea edx,[esp+eax+64h] push edx xor edx,edx mov dx,[esi+000001C0h] push ecx push edx jmp L00429BED L00429AFB: mov eax,[esi+000000D4h] test eax,eax jz L00429B90 mov ecx,[esi+3Ch] push 00000000h push 00000000h lea eax,[esp+24h] 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+000001BCh] xor ecx,ecx and ebp,0000FFFFh mov cx,[esi+000001C0h] lea eax,[edx+esi+000000F8h] push eax push ebp push ecx push edi push ebx call SUB_L00441160 mov eax,[esi+000001BCh] lea edx,[esp+68h] push edx xor edx,edx mov dl,[esi+000000EEh] lea ecx,[esp+48h] push ecx mov ecx,[esi+20h] shl edx,1 sub ecx,edx lea edx,[eax+esi+000000F8h] push ecx mov ecx,[esi+000001B8h] push edx xor edx,edx mov dx,[esi+000001C0h] sub ecx,eax push ecx push edx call SUB_L00442B00 add esp,00000048h jmp L00429BF9 L00429B90: mov ecx,[esi+3Ch] lea eax,[esp+1Ch] push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[eax+esi+000000F8h] mov eax,[esp+18h] push edx xor edx,edx and ebp,0000FFFFh mov dx,[esi+000001C0h] push ecx push ebp add edi,eax push edx push edi push ebx call SUB_L004410C0 mov eax,[esi+000001BCh] mov edx,[esi+000001B8h] sub edx,eax lea ecx,[eax+esi+000000F8h] xor eax,eax mov ax,[esi+000001C0h] push ecx push edx push eax L00429BED: call SUB_L00442A80 add esp,0000002Ch mov [esp+14h],eax L00429BF9: mov eax,[esi+3Ch] mov edx,[esi+20h] mov ebx,[esp+10h] lea ecx,[esp+1Ch] push ecx mov ecx,[eax+04h] xor eax,eax push edx mov al,[esi+000000EFh] add ecx,00000004h xor edx,edx push ecx mov dx,[esi+000001C0h] mov ecx,[esp+44h] push L004FED04 add eax,ebx push 00000386h push edx lea edx,[eax+ecx+02h] xor eax,eax mov al,[esi+000000EEh] push edx add eax,[esp+30h] push eax jmp L00429F9F L00429C49: test eax,eax jz L00429CC3 lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [esp+18h],ecx jle L00429C82 mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[esp+44h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[esp+34h] L00429C82: lea ecx,[esp+1Ch] mov byte ptr [esp+eax+44h],00h push ecx mov ecx,[esi+000001BCh] push edx mov edx,[esi+3Ch] and ebp,0000FFFFh mov eax,[edx+04h] lea edx,[esp+ecx+4Ch] mov ecx,[esp+18h] add eax,00000004h push eax push edx mov edx,[esp+40h] xor eax,eax mov ax,[esi+000001C0h] push ebp add edx,ecx push eax push edx jmp L00429F9E L00429CC3: mov eax,[esi+000000C0h] test eax,eax jz L00429F17 mov eax,[esi+000000BCh] lea edi,[esi+000000F8h] test eax,eax jnz L00429E63 lea eax,[esp+40h] lea ecx,[esp+3Ch] push eax lea edx,[esp+30h] xor eax,eax push ecx mov ax,[esi+000001C0h] push edx push edi push eax call SUB_L00441BC0 mov edx,[esp+40h] mov eax,[esi+20h] xor ecx,ecx add esp,00000014h mov cl,[esi+000000EEh] lea ebx,[edx+ecx*2] cmp ebx,eax jl L00429D56 lea edx,[esp+1Ch] mov ebx,[esp+10h] push edx push eax mov eax,[esi+3Ch] and ebp,0000FFFFh mov edx,[eax+04h] xor eax,eax mov ax,[esi+000001C0h] add edx,00000004h push edx xor edx,edx mov dl,[esi+000000EFh] push edi push ebp add edx,ebx push eax push edx push ecx call SUB_L004416F0 jmp L00429D94 L00429D56: lea ecx,[esp+1Ch] and ebp,0000FFFFh push ecx mov ecx,[esi+3Ch] push eax sub eax,edx mov ecx,[ecx+04h] add ecx,00000004h push ecx xor ecx,ecx mov cx,[esi+000001C0h] push edi mov edi,[esp+20h] push ebp push ecx xor ecx,ecx mov cl,[esi+000000EFh] cdq sub eax,edx add ecx,edi sar eax,1 push ecx push eax call SUB_L004410C0 L00429D94: mov eax,[esi+54h] add esp,00000020h cmp eax,0000098Dh jnz L00429DEC mov edx,[esi+3Ch] 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+20h] push eax xor eax,eax mov al,[esi+000000EFh] xor ecx,ecx mov cl,[esi+000000EEh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Bh L00429DD4: push edx push 00000985h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L00429FA7 L00429DEC: cmp eax,0000098Eh mov eax,[esi+3Ch] mov eax,[eax+04h] jnz L00429E28 xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+20h] push eax xor eax,eax mov al,[esi+000000EFh] xor ecx,ecx mov cl,[esi+000000EEh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Fh jmp L00429DD4 L00429E28: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+20h] add eax,00000004h push edx push eax xor eax,eax mov al,[esi+000000EEh] push 00000001h sub ecx,eax sub ecx,00000009h push ecx push 00001391h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L00429FA7 L00429E63: lea edx,[esp+40h] lea eax,[esp+3Ch] push edx lea ecx,[esp+30h] xor edx,edx push eax mov dx,[esi+000001C0h] push ecx push edi push edx call SUB_L00441BC0 mov edx,[esp+38h] mov eax,[esp+30h] mov ecx,[esp+40h] sub edx,eax add esp,00000014h cmp ecx,edx jl L00429ED6 mov edx,[esi+20h] lea ecx,[esp+1Ch] push ecx mov ecx,[esi+3Ch] push edx mov ebx,[esp+18h] mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+000001C0h] add edx,00000004h push edx xor edx,edx mov dl,[esi+000000EFh] and ebp,0000FFFFh push edi push ebp add edx,ebx push ecx push edx push eax call SUB_L004416F0 jmp L00429FA4 L00429ED6: mov eax,[esi+20h] lea edx,[esp+1Ch] push edx mov edx,[esi+3Ch] push eax and ebp,0000FFFFh mov edx,[edx+04h] sub eax,ecx add edx,00000004h push edx xor edx,edx mov dx,[esi+000001C0h] push edi mov edi,[esp+20h] push ebp push edx xor edx,edx mov dl,[esi+000000EFh] add edx,edi push edx cdq sub eax,edx sar eax,1 push eax jmp L00429F9F L00429F17: mov eax,[esi+000000D4h] test eax,eax jz L00429F68 mov ecx,[esi+3Ch] push 00000000h push 00000000h lea eax,[esp+24h] 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+000001BCh] xor ecx,ecx and ebp,0000FFFFh mov cx,[esi+000001C0h] lea eax,[edx+esi+000000F8h] push eax push ebp push ecx push edi push ebx call SUB_L00441160 add esp,00000030h jmp L00429FA7 L00429F68: mov ecx,[esi+3Ch] lea eax,[esp+1Ch] push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[eax+esi+000000F8h] mov eax,[esp+18h] push edx xor edx,edx and ebp,0000FFFFh mov dx,[esi+000001C0h] push ecx push ebp add edi,eax push edx push edi L00429F9E: push ebx L00429F9F: call SUB_L004410C0 L00429FA4: add esp,00000020h L00429FA7: mov dword ptr [L0094330C],00000000h mov eax,[esi+000001C8h] cmp eax,FFFFFFFFh pop ebx jle L0042A007 lea ecx,[esp+2Ch] lea edx,[esp+14h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esi+3Ch] mov ebp,[esp+20h] xor ecx,ecx xor edx,edx mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h mov ecx,[esi+000001C8h] push edx push eax mov eax,[esi+20h] sub eax,ebp push 00000002h sub eax,00000003h push eax push ecx push SUB_L004B9B80 call SUB_L00443500 add esp,00000028h L0042A007: pop edi pop esi pop ebp add esp,000000ECh retn ;------------------------------------------------------------------------------ Align 16 L0042A020: push esi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov eax,[esi+000000E0h] add esp,00000004h test eax,eax jnz L0042A05F cmp word ptr [esi+000000EAh],0000h mov dword ptr [esi+000000E0h],00000001h jnz L0042A055 cmp word ptr [esi+000001CCh],0000h jz L0042A05F L0042A055: mov eax,[esi] mov ecx,esi call [eax+00000174h] L0042A05F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042A070: mov eax,[ecx+000000E0h] test eax,eax jz L0042A0A0 cmp word ptr [ecx+000000EAh],0000h mov dword ptr [ecx+000000E0h],00000000h jnz L0042A098 cmp word ptr [ecx+000001CCh],0000h jz L0042A0A0 L0042A098: mov eax,[ecx] jmp [eax+00000174h] L0042A0A0: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042A0B0: push FFFFFFFFh push L004E1818 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov edx,[esp+30h] mov dword ptr [ebp+00h],L004E9A84 mov [ebp+30h],eax mov eax,[esp+34h] xor ebx,ebx mov [ebp+34h],ecx mov dword ptr [ebp+08h],SSZ004FFD24_InputControl_gump mov [ebp+60h],ebx mov [ebp+54h],edx mov [ebp+000001B0h],eax mov [ebp+000000E8h],bx mov [ebp+000000ECh],bx mov [ebp+000000EAh],bx mov [ebp+64h],ebx mov [ebp+000000D0h],ebx mov [ebp+000000A8h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+0000009Ch],ebx mov [ebp+000000B0h],ebx mov [ebp+000000ACh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000C4h],ebx mov [ebp+000000E4h],ebx lea esi,[ebp+24h] mov [ebp+000000E0h],ebx mov ecx,[ebp+54h] lea edi,[ebp+20h] push esi push edi push ecx mov [esp+28h],ebx mov [ebp+000000DCh],ebx mov [ebp+000000D8h],ebx mov [ebp+000000D4h],ebx mov byte ptr [ebp+000000EEh],03h mov byte ptr [ebp+000000EFh],02h mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L004434A0 mov edx,[esi] mov eax,[esp+5Ch] add esp,0000000Ch inc edx cmp eax,ebx mov [esi],edx jz L0042A1B7 mov [edi],eax L0042A1B7: mov edx,[edi] push SSZ004FFD04_framedata_for_CInputControlGump push 00000008h mov [ebp+1Ch],edx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFCF4_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov edi,L007049FC mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov al,[esp+38h] mov [ecx+02h],dx mov edx,[esp+48h] mov ecx,[esp+3Ch] mov [ebp+000000B4h],edx mov edx,[esp+50h] mov [ebp+000001B4h],ecx xor ecx,ecx cmp edx,ebx mov [ebp+000000F0h],al mov eax,[esp+4Ch] setnz cl mov [ebp+000000C0h],eax mov [ebp+000000CCh],ecx or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000BCh],ebx mov [ebp+000000B8h],ebx repne scasb not ecx sub edi,ecx lea edx,[ebp+000000F8h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[ebp+000000F0h] mov [ebp+000000F4h],ebx cmp al,01h jnz L0042A2CF mov dword ptr [ebp+000001B8h],00000001h jmp L0042A2D5 L0042A2CF: mov [ebp+000001B8h],ebx L0042A2D5: mov cx,[esp+40h] mov dx,[esp+44h] mov [ebp+000001C0h],cx mov ecx,ebp mov [ebp+000001BCh],ebx mov [ebp+000001C2h],dx mov [ebp+000001C4h],ebx call SUB_L0042A610 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0030h ;------------------------------------------------------------------------------ Align 16 L0042A320: push esi mov esi,ecx call SUB_L0042A570 test byte ptr [esp+08h],01h jz L0042A338 push esi call SUB_L004D4F9E add esp,00000004h L0042A338: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042A340: push FFFFFFFFh push L004E1838 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov dword ptr [ebp+00h],L004E9A84 mov [ebp+30h],eax mov eax,[esp+34h] xor ebx,ebx mov [ebp+34h],ecx mov edx,[esp+30h] mov dword ptr [ebp+08h],SSZ004FFD24_InputControl_gump mov [ebp+60h],ebx mov [ebp+54h],ebx mov [ebp+000001B0h],ebx mov [ebp+000000E8h],bx mov [ebp+000000ECh],bx mov [ebp+000000EAh],bx and eax,0000FFFFh mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+24h],eax mov [ebp+4Ch],ebx and edx,0000FFFFh mov eax,00000001h push SSZ004FFD04_framedata_for_CInputControlGump mov [ebp+48h],ebx push 00000008h mov [esp+24h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+20h],edx mov [ebp+000000D0h],eax mov [ebp+14h],ebx mov [ebp+18h],eax call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFCF4_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov al,[esp+38h] mov [ecx+02h],dx mov edx,[esp+48h] mov ecx,[esp+3Ch] mov [ebp+000000B4h],edx mov edx,[esp+50h] mov [ebp+000001B4h],ecx xor ecx,ecx cmp edx,ebx mov [ebp+000000F0h],al mov eax,[esp+4Ch] mov edi,L007049FC setnz cl mov [ebp+000000C0h],eax mov [ebp+000000CCh],ecx or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000BCh],ebx mov [ebp+000000B8h],ebx mov [ebp+000000C8h],ebx mov [ebp+000000C4h],ebx mov [ebp+000000E4h],ebx mov [ebp+000000E0h],ebx mov [ebp+000000DCh],ebx mov [ebp+000000D8h],ebx mov [ebp+000000D4h],ebx mov byte ptr [ebp+000000EEh],03h mov byte ptr [ebp+000000EFh],02h lea edx,[ebp+000000F8h] 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 al,[ebp+000000F0h] mov [ebp+000000F4h],ebx cmp al,01h jnz L0042A528 mov dword ptr [ebp+000001B8h],00000001h jmp L0042A52E L0042A528: mov [ebp+000001B8h],ebx L0042A52E: mov cx,[esp+40h] mov dx,[esp+44h] mov [ebp+000001C0h],cx mov ecx,ebp mov [ebp+000001BCh],ebx mov [ebp+000001C2h],dx mov [ebp+000001C4h],ebx call SUB_L0042A610 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0030h ;------------------------------------------------------------------------------ SUB_L0042A570: push FFFFFFFFh push L004E1858 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E9A84 mov eax,[L007050B0] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L0042A5A9 mov [L007050B0],edi L0042A5A9: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L0042A5C7 push SSZ004FFCD8_InputControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0042A5C7: mov eax,[esi+3Ch] cmp eax,edi jz L0042A5DF push SSZ004FFCC0_InputControl_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042A5DF: cmp [L00B294BC],esi jnz L0042A5ED mov [L00B294BC],edi L0042A5ED: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042A610: sub esp,000000E8h push ebx push ebp push esi mov esi,ecx mov dword ptr [L0094330C],00000001h xor ebx,ebx mov eax,[esi+000000E4h] push edi cmp eax,ebx mov [esp+14h],ebx mov [esp+38h],ebx jz L0042A646 mov di,[esi+000000ECh] cmp di,bx jnz L0042A68D L0042A646: mov di,[esi+000000EAh] cmp di,bx jz L0042A65A cmp [esi+000000E0h],ebx jnz L0042A68D L0042A65A: lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jnz L0042A678 mov di,[esi+000000E8h] cmp di,bx jnz L0042A68D L0042A678: cmp [esi+000000BCh],ebx jz L0042A689 mov di,[esi+000001B0h] jmp L0042A68D L0042A689: mov di,[esi+54h] L0042A68D: lea eax,[esp+10h] lea ecx,[esp+34h] push eax lea edx,[esp+2Ch] xor eax,eax push ecx mov ax,[esi+000001C0h] push edx push L004FEBE4 push eax call SUB_L00441BC0 mov eax,[esi+000000D0h] add esp,00000014h cmp eax,ebx jz L0042A6E1 mov ecx,[esi+24h] mov edx,[esi+3Ch] imul ecx,[esi+20h] 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 L0042A72E L0042A6E1: cmp [esi+000000CCh],ebx jz L0042A701 mov eax,[esi+3Ch] and edi,0000FFFFh mov ecx,[eax+04h] push ecx push edi call SUB_L0042D170 add esp,00000008h jmp L0042A72E L0042A701: mov edx,[esi+3Ch] xor ecx,ecx and edi,0000FFFFh mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx push edi push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0042A72E: mov edx,[esi+20h] xor eax,eax mov al,[esi+000000EEh] xor ebx,ebx mov bl,[esi+000000EFh] mov ebp,eax mov eax,[esi+24h] mov ecx,edx sub eax,ebx sub ecx,ebp mov [esp+24h],eax mov al,[esi+000000F0h] test al,al mov [esp+18h],ebp mov [esp+20h],ecx mov [esp+30h],ebx mov [esp+1Ch],ebx jz L0042A93C cmp al,02h jz L0042A93C mov ecx,[esi+000000F4h] lea edx,[esp+40h] push ecx push L004FF074 push edx call SUB_L004D512F mov eax,[L00B294BC] add esp,0000000Ch cmp eax,esi jnz L0042A866 mov eax,[esi+000001BCh] mov edx,[esi+000001B8h] sub edx,eax lea ecx,[esp+eax+40h] xor eax,eax mov ax,[esi+000001C0h] push ecx push edx push eax call SUB_L00442A80 mov edx,[esi+20h] mov [esp+20h],eax mov eax,[esi+3Ch] lea ecx,[esp+24h] push ecx push edx mov ecx,[eax+04h] mov edx,[esi+000001BCh] mov ebx,[esp+24h] add ecx,00000004h push ecx lea eax,[esp+edx+58h] xor ecx,ecx push eax mov cx,[esi+000001C2h] xor eax,eax mov al,[esi+000000EFh] xor edx,edx mov dx,[esi+000001C0h] push ecx xor ecx,ecx add eax,ebx mov cl,[esi+000000EEh] push edx push eax push ecx call SUB_L004410C0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+44h] push edx mov edx,[ecx+04h] push eax add edx,00000004h xor eax,eax xor ecx,ecx mov ax,[esi+000001C0h] mov cl,[esi+000000EFh] push edx mov edx,[esp+48h] push L004FED04 push 00000386h push eax lea eax,[ecx+edx+02h] xor ecx,ecx push eax mov cl,[esi+000000EEh] mov esi,[esp+5Ch] add ecx,esi push ecx call SUB_L004410C0 add esp,0000004Ch jmp L0042AE8B L0042A866: mov eax,[esi+000000C0h] test eax,eax jz L0042A8ED lea edi,[esp+40h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+40h] repne scasb mov ax,[esi+000001C0h] push edx not ecx dec ecx push ecx push eax call SUB_L00442A80 lea edx,[esp+24h] mov ecx,eax mov eax,[esi+20h] push edx mov edx,[esi+3Ch] mov [esp+24h],ecx push eax mov ebp,[esp+24h] mov edx,[edx+04h] sub eax,ecx add edx,00000004h push edx mov edx,[esi+000001BCh] lea edx,[esp+edx+58h] push edx xor edx,edx mov dx,[esi+000001C2h] push edx xor edx,edx mov dx,[esi+000001C0h] push edx xor edx,edx mov dl,[esi+000000EFh] add edx,ebp push edx cdq sub eax,edx sar eax,1 push eax call SUB_L004410C0 add esp,0000002Ch jmp L0042AE8B L0042A8ED: mov ecx,[esi+20h] mov edx,[esi+3Ch] lea eax,[esp+18h] mov ebx,[esp+10h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+000001BCh] add eax,00000004h lea edx,[esp+ecx+48h] push eax push edx xor eax,eax mov ax,[esi+000001C2h] xor edx,edx mov dl,[esi+000000EFh] xor ecx,ecx mov cx,[esi+000001C0h] push eax add edx,ebx xor eax,eax mov al,[esi+000000EEh] push ecx push edx push eax jmp L0042AE83 L0042A93C: mov eax,[L00B294BC] cmp eax,esi mov eax,[esi+000000B8h] jnz L0042AB47 test eax,eax jz L0042A9F0 lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [esp+2Ch],ecx jle L0042A98C mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[esp+40h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[esp+30h] L0042A98C: lea ecx,[esp+18h] mov byte ptr [esp+eax+40h],00h push ecx mov ecx,[esi+000001BCh] push edx mov edx,[esi+3Ch] mov eax,[edx+04h] lea edx,[esp+ecx+48h] add eax,00000004h xor ecx,ecx mov cx,[esi+000001C0h] push eax xor eax,eax push edx mov ax,[esi+000001C2h] mov edx,[esp+20h] push eax add ebx,edx push ecx push ebx push ebp call SUB_L004410C0 mov eax,[esi+000001BCh] mov edx,[esi+000001B8h] sub edx,eax lea ecx,[esp+eax+60h] xor eax,eax mov ax,[esi+000001C0h] push ecx push edx push eax jmp L0042AAE9 L0042A9F0: mov eax,[esi+000000D4h] test eax,eax jz L0042AA89 mov eax,[esi+3Ch] push 00000000h push 00000000h lea ecx,[esp+20h] push 00000000h push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea eax,[ebp+ebp+00h] push ecx mov ecx,[esi+000001BCh] sub edx,eax xor eax,eax mov ax,[esi+000001C2h] push edx lea edx,[ecx+esi+000000F8h] xor ecx,ecx mov cx,[esi+000001C0h] push edx push eax push ecx push ebx push ebp call SUB_L00441160 mov eax,[esi+000001BCh] lea edx,[esp+68h] push edx xor edx,edx mov dl,[esi+000000EEh] lea ecx,[esp+48h] push ecx mov ecx,[esi+20h] shl edx,1 sub ecx,edx lea edx,[eax+esi+000000F8h] push ecx mov ecx,[esi+000001B8h] push edx xor edx,edx mov dx,[esi+000001C0h] sub ecx,eax push ecx push edx call SUB_L00442B00 add esp,00000048h jmp L0042AAF5 L0042AA89: mov ecx,[esi+3Ch] lea eax,[esp+18h] push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[eax+esi+000000F8h] push edx xor edx,edx mov dx,[esi+000001C2h] push ecx mov ecx,[esp+20h] xor eax,eax mov ax,[esi+000001C0h] push edx add ebx,ecx push eax push ebx push ebp call SUB_L004410C0 mov eax,[esi+000001BCh] mov ecx,[esi+000001B8h] sub ecx,eax lea edx,[eax+esi+000000F8h] push edx xor edx,edx mov dx,[esi+000001C0h] push ecx push edx L0042AAE9: call SUB_L00442A80 add esp,0000002Ch mov [esp+14h],eax L0042AAF5: mov edx,[esi+3Ch] mov ecx,[esi+20h] mov ebx,[esp+10h] lea eax,[esp+18h] push eax mov eax,[edx+04h] xor edx,edx push ecx mov dl,[esi+000000EFh] add eax,00000004h xor ecx,ecx push eax mov cx,[esi+000001C0h] mov eax,[esp+44h] push L004FED04 add edx,ebx push 00000386h push ecx lea ecx,[edx+eax+02h] xor edx,edx mov dl,[esi+000000EEh] mov esi,[esp+2Ch] add edx,esi push ecx push edx jmp L0042AE83 L0042AB47: test eax,eax jz L0042ABA4 lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx mov [esp+2Ch],ecx jle L0042AB80 mov ebx,ecx mov eax,2A2A2A2Ah lea edi,[esp+40h] shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,ebx mov ebx,[esp+30h] L0042AB80: mov ecx,[esi+3Ch] mov byte ptr [esp+eax+40h],00h lea eax,[esp+18h] push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[esp+eax+48h] push edx jmp L0042AE66 L0042ABA4: mov eax,[esi+000000C0h] test eax,eax jz L0042ADF4 mov eax,[esi+000000BCh] lea edx,[esp+3Ch] test eax,eax lea eax,[esp+34h] push edx lea ecx,[esp+2Ch] lea edi,[esi+000000F8h] push eax push ecx push edi jnz L0042AD4A xor edx,edx mov dx,[esi+000001C0h] push edx call SUB_L00441BC0 mov edx,[esp+3Ch] mov eax,[esi+20h] xor ecx,ecx add esp,00000014h mov cl,[esi+000000EEh] lea ebx,[edx+ecx*2] cmp ebx,eax jl L0042AC3A lea edx,[esp+18h] mov ebx,[esp+10h] push edx push eax mov eax,[esi+3Ch] mov edx,[eax+04h] xor eax,eax mov ax,[esi+000001C2h] add edx,00000004h push edx push edi push eax xor eax,eax mov al,[esi+000000EFh] xor edx,edx mov dx,[esi+000001C0h] add eax,ebx push edx push eax push ecx call SUB_L004416F0 jmp L0042AC7B L0042AC3A: lea ecx,[esp+18h] push ecx mov ecx,[esi+3Ch] push eax sub eax,edx mov ecx,[ecx+04h] add ecx,00000004h push ecx xor ecx,ecx mov cx,[esi+000001C2h] push edi push ecx mov edi,[esp+24h] xor ecx,ecx mov cx,[esi+000001C0h] push ecx xor ecx,ecx mov cl,[esi+000000EFh] cdq sub eax,edx add ecx,edi sar eax,1 push ecx push eax call SUB_L004410C0 L0042AC7B: mov eax,[esi+54h] add esp,00000020h cmp eax,0000098Dh jnz L0042ACD3 mov edx,[esi+3Ch] 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+20h] push eax xor eax,eax mov al,[esi+000000EFh] xor ecx,ecx mov cl,[esi+000000EEh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Bh L0042ACBB: push edx push 00000985h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042AE8B L0042ACD3: cmp eax,0000098Eh mov eax,[esi+3Ch] mov eax,[eax+04h] jnz L0042AD0F xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+20h] push eax xor eax,eax mov al,[esi+000000EFh] xor ecx,ecx mov cl,[esi+000000EEh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Fh jmp L0042ACBB L0042AD0F: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+20h] add eax,00000004h push edx push eax xor eax,eax mov al,[esi+000000EEh] push 00000001h sub ecx,eax sub ecx,00000009h push ecx push 00001391h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042AE8B L0042AD4A: xor edx,edx mov dx,[esi+000001C0h] push edx call SUB_L00441BC0 mov edx,[esp+34h] mov eax,[esp+2Ch] mov ecx,[esp+3Ch] sub edx,eax add esp,00000014h cmp ecx,edx jl L0042ADB0 mov edx,[esi+20h] lea ecx,[esp+18h] push ecx mov ecx,[esi+3Ch] push edx mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+000001C2h] add edx,00000004h push edx push edi push ecx xor edx,edx mov dx,[esi+000001C0h] xor ecx,ecx mov cl,[esi+000000EFh] mov esi,[esp+24h] add ecx,esi push edx push ecx push eax call SUB_L004416F0 jmp L0042AE88 L0042ADB0: mov eax,[esi+20h] lea edx,[esp+18h] push edx mov edx,[esi+3Ch] push eax mov ebp,[esp+18h] mov edx,[edx+04h] sub eax,ecx add edx,00000004h push edx xor edx,edx mov dx,[esi+000001C2h] push edi push edx xor edx,edx mov dx,[esi+000001C0h] push edx xor edx,edx mov dl,[esi+000000EFh] add edx,ebp push edx cdq sub eax,edx sar eax,1 push eax jmp L0042AE83 L0042ADF4: mov eax,[esi+000000D4h] test eax,eax jz L0042AE49 mov ecx,[esi+3Ch] push 00000000h push 00000000h lea eax,[esp+20h] push 00000000h push eax mov eax,[ecx+04h] lea ecx,[ebp+ebp+00h] push edx add eax,00000004h sub edx,ecx push eax push edx mov edx,[esi+000001BCh] xor ecx,ecx mov cx,[esi+000001C2h] lea eax,[edx+esi+000000F8h] xor edx,edx push eax mov dx,[esi+000001C0h] push ecx push edx push ebx push ebp call SUB_L00441160 add esp,00000030h jmp L0042AE8B L0042AE49: mov ecx,[esi+3Ch] lea eax,[esp+18h] push eax mov eax,[esi+000001BCh] push edx mov edx,[ecx+04h] add edx,00000004h lea ecx,[eax+esi+000000F8h] push edx L0042AE66: xor edx,edx push ecx mov dx,[esi+000001C2h] mov ecx,[esp+20h] xor eax,eax push edx mov ax,[esi+000001C0h] add ebx,ecx push eax push ebx push ebp L0042AE83: call SUB_L004410C0 L0042AE88: add esp,00000020h L0042AE8B: pop edi pop esi pop ebp mov dword ptr [L0094330C],00000000h pop ebx add esp,000000E8h retn ;------------------------------------------------------------------------------ L0042AEA0: sub esp,00000018h xor eax,eax push esi mov esi,ecx push edi cmp [esi+6Ch],eax jz L0042AF4B mov [esp+0Ch],eax mov [esp+08h],eax lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esi+3Ch] mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edi,[esp+24h] mov esi,[edx+04h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0042AF4B mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L0042AF4B: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0042AF60: sub esp,000000B8h push ebx push ebp push esi mov esi,ecx mov ecx,[esi+4Ch] test ecx,ecx jz L0042AF82 push 00000000h call SUB_L004584E0 mov ecx,[esi+4Ch] push esi mov eax,[ecx] call [eax+5Ch] L0042AF82: mov eax,[esi+000000B4h] mov ebp,[esp+000000CCh] mov ebx,[esp+000000C8h] test eax,eax jz L0042B0D2 mov eax,[esi+000000BCh] test eax,eax jnz L0042B0D2 push edi call SUB_L00456C40 push esi call SUB_L00456DC0 mov al,[esi+000000F0h] add esp,00000004h test al,al jz L0042B006 cmp al,02h jz L0042B006 mov ecx,[esi+000000F4h] lea edx,[esp+10h] push ecx push L004FF074 push edx call SUB_L004D512F lea edi,[esp+1Ch] or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb mov edx,[esi] not ecx dec ecx mov [esi+000001B8h],ecx mov ecx,esi call [edx+00000174h] pop edi jmp L0042B0EE L0042B006: mov eax,[esi+000000B8h] test eax,eax jz L0042B05B lea edi,[esi+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edx,ecx test edx,edx jle L0042B046 mov ebp,ecx mov eax,2A2A2A2Ah lea edi,[esp+10h] shr ecx,02h rep stosd mov ecx,ebp mov ebp,[esp+000000D0h] and ecx,00000003h rep stosb mov eax,edx L0042B046: mov ecx,[esi+000001BCh] mov byte ptr [esp+eax+10h],00h lea eax,[ebx-01h] push eax lea edx,[esp+ecx+14h] jmp L0042B0A4 L0042B05B: mov eax,[esi+000000D4h] test eax,eax jz L0042B093 mov edx,[esi+20h] mov eax,[esi+000001BCh] lea ecx,[ebx-01h] push ebp sub edx,00000006h push ecx push edx xor edx,edx mov dx,[esi+000001C0h] lea ecx,[eax+esi+000000F8h] push ecx push edx call SUB_L00442F30 add esp,00000014h jmp L0042B0B7 L0042B093: mov ecx,[esi+000001BCh] lea eax,[ebx-01h] push eax lea edx,[ecx+esi+000000F8h] L0042B0A4: xor eax,eax push edx mov ax,[esi+000001C0h] push eax call SUB_L00442E50 add esp,0000000Ch L0042B0B7: mov ecx,[esi+000001BCh] mov edx,[esi] add eax,ecx mov ecx,esi mov [esi+000001B8h],eax call [edx+00000174h] pop edi jmp L0042B0EE L0042B0D2: cmp byte ptr [esi+000000F0h],02h jnz L0042B0EE mov eax,[esi+000000BCh] test eax,eax jnz L0042B0EE mov ecx,[esi+4Ch] push esi mov eax,[ecx] call [eax+6Ch] L0042B0EE: mov ecx,[esi+000000B0h] mov eax,00000001h cmp ecx,eax mov [esi+000000A4h],eax jnz L0042B11F mov dword ptr [esi+000000B0h],00000002h mov [esi+70h],ebx mov [esi+74h],ebp pop esi pop ebp pop ebx add esp,000000B8h retn 0008h ;------------------------------------------------------------------------------ L0042B11F: mov [esi+000000B0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax mov [esi+70h],ebx mov [esi+74h],ebp pop esi pop ebp pop ebx add esp,000000B8h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042B150: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+0000009Ch] mov [esi+000000A4h],edi cmp eax,edi jz L0042B180 push edi mov [esi+0000009Ch],edi mov [esi+000000B0h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0042B180: cmp dword ptr [esi+000000B0h],00000002h jnz L0042B1DE mov eax,[esi+000000DCh] mov [esi+000000B0h],edi cmp eax,edi jz L0042B1D1 mov eax,[L00C88318] cmp eax,edi jnz L0042B1D1 push SSZ004FFD38_Select_a_player_ push 00000003h push edi call SUB_L004BDF40 add esp,0000000Ch mov [L007050B0],esi call SUB_L0047BB70 mov dword ptr [L00C8831C],00000002h mov dword ptr [L00C88328],L0042B260 L0042B1D1: mov ecx,[esi+4Ch] cmp ecx,edi jz L0042B1DE mov eax,[ecx] push esi call [eax+60h] L0042B1DE: push edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L0042B1F0: push esi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov eax,[esi+000000E0h] add esp,00000004h test eax,eax jnz L0042B225 cmp word ptr [esi+000000EAh],0000h mov dword ptr [esi+000000E0h],00000001h jz L0042B225 mov eax,[esi] mov ecx,esi call [eax+00000174h] L0042B225: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L0042B230: mov eax,[ecx+000000E0h] test eax,eax jz L0042B256 cmp word ptr [ecx+000000EAh],0000h mov dword ptr [ecx+000000E0h],00000000h jz L0042B256 mov eax,[ecx] jmp [eax+00000174h] L0042B256: retn ;------------------------------------------------------------------------------ Align 16 L0042B260: sub esp,00000028h push esi mov esi,[esp+30h] test esi,esi jz L0042B31B mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0042B31B mov eax,[L007050B0] test eax,eax jz L0042B31B mov ecx,[esi+7Ch] push edi mov [eax+000000F4h],ecx mov edx,[L007050B0] mov edi,SSZ004FFD5C__mobile_ or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h 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,[L007050B0] mov edx,[ecx] call [edx+00000174h] mov eax,[L007050B0] push eax mov ecx,[eax+4Ch] mov edx,[ecx] call [edx+4Ch] mov eax,[L007050B0] lea edx,[esp+08h] mov ecx,[eax+000000F4h] push ecx push edx call SUB_L0049C290 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+08h] push eax call SUB_L004BC750 pop edi call SUB_L0047BB90 mov byte ptr [L00C88324],00h pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ L0042B31B: push SSZ004FFD4C_Not_a_mobile_ push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch call SUB_L0047BB90 mov byte ptr [L00C88324],00h pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042B340: sub esp,00000010h push esi mov esi,ecx mov eax,[esi+000000D8h] test eax,eax jz L0042B35A mov eax,00000001h pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L0042B35A: mov al,[esi+000000F0h] push ebx push ebp push edi test al,al jz L0042B390 cmp al,02h jz L0042B390 mov eax,[esi+000000F4h] lea ecx,[esp+10h] push eax push L004FF074 push ecx call SUB_L004D512F mov edx,[esi+000001BCh] add esp,0000000Ch lea ebx,[esp+edx+10h] jmp L0042B39D L0042B390: mov eax,[esi+000001BCh] lea ebx,[esi+eax+000000F8h] L0042B39D: mov ecx,[esi+20h] mov edi,[esi+000001BCh] sub ecx,0000000Ch xor edx,edx mov dx,[esi+000001C0h] push ecx push ebx push edx call SUB_L00442E50 mov ecx,[esi+000001B8h] add eax,edi add esp,0000000Ch sub ebx,edi cmp eax,ecx jg L0042B42D lea edx,[eax+ebx] sub ecx,eax xor eax,eax push edx mov ax,[esi+000001C0h] push ecx push eax call SUB_L00442A80 mov ebp,eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb not ecx dec ecx mov edi,ecx dec edi test ebp,ebp jle L0042B42D L0042B3F9: mov eax,[esi+000001BCh] cmp eax,edi jge L0042B42D movsx ecx,[eax+ebx] xor edx,edx push ecx mov dx,[esi+000001C0h] push edx call SUB_L00442A40 mov ecx,[esi+000001BCh] add esp,00000008h sub ebp,eax inc ecx test ebp,ebp mov [esi+000001BCh],ecx jg L0042B3F9 L0042B42D: pop edi pop ebp pop ebx mov eax,00000001h pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L0042B440: sub esp,00000068h push ebx push ebp mov ebp,ecx push esi xor esi,esi push edi cmp [ebp+000000BCh],esi jnz L0042BA80 mov ebx,[esp+7Ch] cmp ebx,00000009h jnz L0042B472 mov ecx,[ebp+4Ch] mov eax,[ecx] call [eax+50h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B472: cmp ebx,0000000Dh jnz L0042B489 mov ecx,[ebp+4Ch] mov edx,[ecx] call [edx+54h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B489: cmp ebx,0000001Bh jnz L0042B4A0 mov ecx,[ebp+4Ch] mov eax,[ecx] call [eax+58h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B4A0: cmp ebx,0000E024h jnz L0042B4E3 mov al,[ebp+000000F0h] test al,al jnz L0042BA80 cmp [ebp+000001B8h],esi jle L0042BA80 mov edx,[ebp+00h] mov ecx,ebp mov [ebp+000001B8h],esi mov [ebp+000001BCh],esi call [edx+00000174h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B4E3: cmp ebx,0000E023h jnz L0042B585 mov al,[ebp+000000F0h] test al,al jz L0042B55C cmp al,02h jz L0042B55C cmp al,01h jnz L0042BA80 mov eax,[ebp+000000F4h] lea ecx,[esp+18h] push eax push L004FF074 push ecx call SUB_L004D512F lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch repne scasb mov eax,[ebp+000001B8h] not ecx dec ecx cmp eax,ecx jge L0042BA80 mov [ebp+000001B8h],ecx mov ecx,ebp call SUB_L0042B340 mov edx,[ebp+00h] mov ecx,ebp call [edx+00000174h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B55C: lea edi,[ebp+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+000001B8h] not ecx dec ecx cmp eax,ecx jge L0042BA80 mov [ebp+000001B8h],ecx jmp L0042BA6E L0042B585: cmp ebx,0000E026h jz L0042BA80 cmp ebx,0000E028h jz L0042BA80 cmp ebx,0000E025h jz L0042B9EA cmp ebx,0000E027h jz L0042B9EA cmp ebx,00000008h jz L0042B8DE cmp ebx,0000E02Eh jz L0042B8DE xor ecx,ecx push ebx mov cx,[ebp+000001C0h] push ecx call SUB_L00441060 add esp,00000008h test eax,eax jz L0042B866 mov al,[ebp+000000F0h] test al,al jz L0042B5F7 cmp al,02h jnz L0042B866 L0042B5F7: cmp [ebp+000000C8h],esi jz L0042B62B push ebx call SUB_L0047B710 add esp,00000004h test eax,eax jz L0042B62B push ebx call SUB_L0047B6E0 add esp,00000004h test eax,eax jnz L0042B62B cmp ebx,00000030h jl L0042BA80 cmp ebx,00000039h jg L0042BA80 L0042B62B: cmp [ebp+000000C4h],esi jz L0042B659 cmp ebx,00000030h jl L0042B63D cmp ebx,00000039h jle L0042B659 L0042B63D: cmp ebx,00000061h jl L0042B647 cmp ebx,0000007Ah jle L0042B659 L0042B647: cmp ebx,00000041h jl L0042BA80 cmp ebx,0000005Ah jg L0042BA80 L0042B659: lea edi,[ebp+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebp+000001B4h] not ecx dec ecx mov edi,ecx cmp edi,eax jge L0042BA80 mov eax,[ebp+000001B8h] cmp edi,eax jg L0042B68C mov [edi+ebp+000000F8h],bl jmp L0042B6B4 L0042B68C: mov esi,FFFFFF08h lea eax,[edi+ebp+000000F8h] sub esi,ebp L0042B69A: mov dl,[eax-01h] mov [eax],dl mov edx,[ebp+000001B8h] dec eax lea ecx,[esi+eax] cmp ecx,edx jg L0042B69A mov [edx+ebp+000000F8h],bl L0042B6B4: mov byte ptr [edi+ebp+000000F9h],00h mov eax,[ebp+000001B8h] inc eax mov ecx,ebp mov [ebp+000001B8h],eax call SUB_L0042B340 mov eax,[ebp+000000D8h] test eax,eax mov eax,[ebp+000000D4h] jz L0042B793 test eax,eax jnz L0042B79B lea edi,[ebp+000000F8h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+28h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+28h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FED04 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+14h] and ecx,00000003h push eax rep movsb lea ecx,[esp+14h] lea edx,[esp+00000080h] push ecx xor ecx,ecx mov cx,[ebp+000001C0h] lea eax,[esp+30h] push edx push eax push ecx call SUB_L00441BC0 mov edx,[ebp+20h] mov eax,[esp+00000090h] sub edx,00000006h add esp,00000014h cmp eax,edx jl L0042B840 mov eax,[ebp+00h] push 00000008h mov ecx,ebp call [eax+44h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B793: test eax,eax jz L0042B840 L0042B79B: lea edi,[ebp+000000F8h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+28h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+28h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h push eax rep movsb mov edi,L004FED04 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+18h] and ecx,00000003h push eax mov eax,[ebp+20h] lea edx,[esp+00000084h] rep movsb lea ecx,[esp+18h] sub eax,00000006h push ecx push edx xor edx,edx lea ecx,[esp+38h] mov dx,[ebp+000001C0h] push eax push ecx push edx call SUB_L00441CD0 mov eax,[esp+2Ch] mov ecx,[ebp+24h] add esp,0000001Ch cmp eax,ecx jl L0042B840 mov edx,[ebp+00h] push 00000008h mov ecx,ebp call [edx+44h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B840: mov eax,[ebp+00h] mov ecx,ebp call [eax+00000174h] mov ecx,[ebp+4Ch] test ecx,ecx jz L0042BA80 mov edx,[ecx] push ebp call [edx+4Ch] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B866: cmp byte ptr [ebp+000000F0h],01h jnz L0042BA80 cmp ebx,00000030h jl L0042BA80 cmp ebx,00000039h jg L0042BA80 mov eax,[ebp+000000F4h] lea eax,[eax+eax*4] lea ebx,[ebx+eax*2] mov eax,[ebp+000001B4h] lea ecx,[ebx-30h] cmp ecx,eax jg L0042BA80 mov ecx,[ebp+000001B8h] add ebx,FFFFFFD0h inc ecx mov [ebp+000000F4h],ebx mov [ebp+000001B8h],ecx L0042B8B8: mov edx,[ebp+00h] mov ecx,ebp call [edx+00000174h] mov ecx,[ebp+4Ch] cmp ecx,esi L0042B8C8: jz L0042BA80 mov eax,[ecx] push ebp call [eax+4Ch] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042B8DE: mov al,[ebp+000000F0h] test al,al jz L0042B944 cmp al,02h jz L0042B944 mov ecx,[ebp+000000F4h] cmp ecx,esi jbe L0042BA80 mov eax,CCCCCCCDh mul ecx mov eax,[ebp+000001B8h] shr edx,03h cmp eax,00000001h mov [ebp+000000F4h],edx jle L0042B91C dec eax mov [ebp+000001B8h],eax L0042B91C: mov eax,[ebp+000001BCh] mov ecx,[ebp+000001B8h] cmp ecx,eax jge L0042B8B8 add eax,FFFFFFF8h xor ecx,ecx cmp eax,esi setl cl dec ecx and eax,ecx mov [ebp+000001BCh],eax jmp L0042B8B8 L0042B944: lea edx,[ebp+000000F8h] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx cmp ecx,esi jle L0042BA80 cmp ebx,0000E02Eh jnz L0042B97B mov eax,[ebp+000001B8h] cmp eax,ecx jge L0042BA80 inc eax mov [ebp+000001B8h],eax L0042B97B: mov eax,[ebp+000001B8h] cmp eax,ecx jge L0042B99D cmp eax,esi jle L0042B9B2 dec eax lea esi,[ecx-01h] cmp eax,esi jge L0042B99D L0042B991: mov bl,[edx+eax+01h] mov [edx+eax],bl inc eax cmp eax,esi jl L0042B991 L0042B99D: mov byte ptr [ecx+ebp+000000F7h],00h mov eax,[ebp+000001B8h] dec eax mov [ebp+000001B8h],eax L0042B9B2: mov eax,[ebp+000001BCh] mov ecx,[ebp+000001B8h] cmp ecx,eax jge L0042B9D5 add eax,FFFFFFF8h xor ecx,ecx test eax,eax setl cl dec ecx and eax,ecx mov [ebp+000001BCh],eax L0042B9D5: mov edx,[ebp+00h] mov ecx,ebp call [edx+00000174h] mov ecx,[ebp+4Ch] test ecx,ecx jmp L0042B8C8 L0042B9EA: mov al,[ebp+000000F0h] test al,al jnz L0042BA80 cmp ebx,0000E025h jnz L0042BA45 mov eax,[ebp+000001B8h] cmp eax,esi jle L0042BA80 lea ecx,[eax-01h] mov eax,[ebp+000001BCh] cmp ecx,eax mov [ebp+000001B8h],ecx jge L0042BA30 add eax,FFFFFFF8h xor ecx,ecx cmp eax,esi setl cl dec ecx and eax,ecx mov [ebp+000001BCh],eax L0042BA30: mov edx,[ebp+00h] mov ecx,ebp call [edx+00000174h] pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ L0042BA45: cmp ebx,0000E027h jnz L0042BA80 lea edi,[ebp+000000F8h] or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+000001B8h] repne scasb not ecx dec ecx cmp edx,ecx jge L0042BA80 inc edx mov [ebp+000001B8h],edx L0042BA6E: mov ecx,ebp call SUB_L0042B340 mov eax,[ebp+00h] mov ecx,ebp call [eax+00000174h] L0042BA80: pop edi pop esi pop ebp pop ebx add esp,00000068h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0042BA90: sub esp,00000018h mov edx,[esp+1Ch] push ebx push ebp push esi mov esi,[esp+2Ch] push edi lea eax,[esp+10h] xor edi,edi mov di,[esi+02h] lea ecx,[esp+30h] push eax xor ebp,ebp mov bp,[esi] push ecx push edx mov [esp+20h],edi call SUB_L004434A0 xor ebx,ebx add esp,0000000Ch cmp edi,ebx mov [esp+18h],ebx mov [esp+20h],ebp mov [esp+1Ch],ebx mov [esp+24h],edi jle L0042BB67 mov eax,[esp+30h] L0042BADF: xor edi,edi test ebp,ebp jle L0042BB55 L0042BAE5: add eax,edi cmp eax,ebp jg L0042BB21 mov ecx,[esp+10h] mov eax,[esp+14h] lea edx,[ebx+ecx] cmp edx,eax jge L0042BB21 xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax mov eax,[esp+30h] lea edx,[esi+04h] push ecx push edx push ebx push edi push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042BB4B L0042BB21: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx lea eax,[esi+04h] push edx mov edx,[esp+34h] push eax push ebx lea ecx,[esp+28h] push edi push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042BB4B: mov eax,[esp+30h] add edi,eax cmp edi,ebp jl L0042BAE5 L0042BB55: mov edx,[esp+10h] mov ecx,[esp+14h] add ebx,edx cmp ebx,ecx jl L0042BADF L0042BB67: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042BB70: sub esp,00000038h push ebx push ebp push esi mov esi,[esp+4Ch] lea eax,[esp+14h] push edi mov edi,[esp+4Ch] lea ecx,[esp+10h] push eax xor ebx,ebx mov bx,[esi] xor ebp,ebp mov bp,[esi+02h] push ecx push edi call SUB_L004434A0 lea edx,[esp+24h] lea ecx,[esp+5Ch] lea eax,[edi+02h] push edx push ecx push eax call SUB_L004434A0 mov edi,[esp+68h] xor eax,eax mov ax,[esi+02h] mov edx,ebx xor ecx,ecx sub edx,edi mov cx,[esi] lea edi,[esi+04h] push eax push ecx mov [esp+70h],edx mov edx,[esp+6Ch] push edi push 00000000h push 00000000h push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+00000080h] lea ecx,[esp+4Ch] lea edx,[esp+50h] inc eax push ecx push edx push eax call SUB_L004434A0 mov edx,[esp+5Ch] add esp,00000040h test edx,edx jz L0042C606 mov ecx,[esp+10h] mov eax,[esp+50h] cmp ecx,eax mov [esp+14h],ecx mov [esp+38h],ecx mov [esp+40h],eax mov dword ptr [esp+3Ch],00000000h mov [esp+44h],ebp jge L0042BC9B jmp L0042BC2E L0042BC2A: mov ecx,[esp+14h] L0042BC2E: add edx,ecx cmp edx,eax jg L0042BC5A xor eax,eax xor edx,edx mov ax,[esi+02h] mov dx,[esi] push eax mov eax,[esp+50h] push edx push edi push 00000000h inc eax push ecx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042BC85 L0042BC5A: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+50h] push eax push edi push 00000000h push ecx lea ecx,[esp+4Ch] lea eax,[edx+01h] push ecx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042BC85: mov edx,[esp+1Ch] mov ecx,[esp+14h] mov eax,[esp+50h] add ecx,edx cmp ecx,eax mov [esp+14h],ecx jl L0042BC2A L0042BC9B: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx push edi push 00000000h push eax mov eax,[esp+60h] add eax,00000002h push eax push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+68h] lea ecx,[esp+2Ch] lea edx,[esp+34h] push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+74h] lea edx,[esp+78h] push edx lea eax,[ecx+06h] lea ecx,[esp+44h] push ecx push eax call SUB_L004434A0 mov eax,[esp+00000084h] mov edx,ebp sub edx,eax mov eax,[esp+00000080h] mov [esp+00000084h],edx lea ecx,[esp+54h] lea edx,[esp+4Ch] add eax,00000003h push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+50h] mov eax,[esp+00000090h] add esp,00000040h cmp ecx,eax mov [esp+14h],ecx mov dword ptr [esp+38h],00000000h mov [esp+40h],ebx mov [esp+3Ch],ecx mov [esp+44h],eax jge L0042BDB8 mov edx,[esp+20h] jmp L0042BD49 L0042BD45: mov ecx,[esp+14h] L0042BD49: add edx,ecx cmp edx,eax jg L0042BD77 xor eax,eax xor edx,edx mov ax,[esi+02h] mov dx,[esi] push eax mov eax,[esp+50h] push edx push edi push ecx add eax,00000003h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042BDA2 L0042BD77: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+50h] push eax push edi push ecx lea ecx,[esp+48h] push 00000000h lea eax,[edx+03h] push ecx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042BDA2: mov edx,[esp+20h] mov ecx,[esp+14h] mov eax,[esp+50h] add ecx,edx cmp ecx,eax mov [esp+14h],ecx jl L0042BD45 L0042BDB8: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx push edi push eax mov eax,[esp+5Ch] push 00000000h add eax,00000006h push eax push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+68h] lea ecx,[esp+2Ch] lea edx,[esp+34h] push ecx add eax,00000002h push edx push eax call SUB_L004434A0 mov ecx,[esp+74h] lea edx,[esp+78h] push edx lea eax,[ecx+08h] lea ecx,[esp+44h] push ecx push eax call SUB_L004434A0 mov eax,[esp+00000084h] mov edx,ebp sub edx,eax mov eax,[esp+00000080h] mov [esp+00000084h],edx lea ecx,[esp+54h] lea edx,[esp+50h] add eax,00000005h push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+50h] mov ecx,[esp+00000090h] add esp,00000040h cmp eax,ecx mov [esp+14h],eax mov dword ptr [esp+38h],00000000h mov [esp+40h],ebx mov [esp+3Ch],eax mov [esp+44h],ecx jge L0042BEEE mov edx,[esp+20h] jmp L0042BE6D L0042BE69: mov eax,[esp+14h] L0042BE6D: add edx,eax cmp edx,ecx jg L0042BEA2 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+50h] push edx mov edx,[esp+24h] push edi push eax mov eax,ebx sub eax,edx push eax lea eax,[ecx+05h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042BED4 L0042BEA2: xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx push ecx mov ecx,[esp+24h] mov edx,ebx push edi push eax sub edx,ecx mov ecx,[esp+5Ch] lea eax,[esp+48h] push edx push eax lea eax,[ecx+05h] push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042BED4: mov edx,[esp+20h] mov eax,[esp+14h] mov ecx,[esp+50h] add eax,edx cmp eax,ecx mov [esp+14h],eax jl L0042BE69 L0042BEEE: mov ecx,[esp+4Ch] lea edx,[esp+18h] lea eax,[esp+1Ch] push edx push eax lea eax,[ecx+08h] push eax call SUB_L004434A0 mov ecx,[esp+5Ch] xor edx,edx mov dx,[esi+02h] xor eax,eax mov ax,[esi] push edx push eax mov eax,[esp+60h] push edi push ecx mov ecx,[esp+38h] mov edx,ebx sub edx,ecx add eax,00000008h push edx push eax push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+74h] lea ecx,[esp+40h] lea edx,[esp+38h] push ecx add eax,00000006h push edx push eax call SUB_L004434A0 mov eax,[esp+00000080h] lea ecx,[esp+4Ch] lea edx,[esp+00000084h] push ecx add eax,00000008h push edx push eax call SUB_L004434A0 mov eax,[esp+00000090h] mov edx,[esp+0000008Ch] mov ecx,ebx add esp,00000040h sub ecx,eax lea eax,[edx+07h] mov [esp+50h],ecx lea ecx,[esp+20h] lea edx,[esp+1Ch] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+1Ch] mov ecx,[esp+5Ch] add esp,0000000Ch cmp eax,ecx mov [esp+14h],eax mov [esp+38h],eax mov [esp+40h],ecx mov dword ptr [esp+3Ch],00000000h mov [esp+44h],ebp jge L0042C049 mov edx,[esp+1Ch] jmp L0042BFC8 L0042BFC4: mov eax,[esp+14h] L0042BFC8: add edx,eax cmp edx,ecx jg L0042BFFD xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[esp+28h] mov ecx,ebp sub ecx,edx mov edx,[esp+54h] push edi push ecx push eax lea eax,[edx+07h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042C02F L0042BFFD: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[esp+28h] mov ecx,ebp sub ecx,edx push edi push ecx push eax mov eax,[esp+60h] lea edx,[esp+4Ch] add eax,00000007h push edx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042C02F: mov edx,[esp+1Ch] mov eax,[esp+14h] mov ecx,[esp+50h] add eax,edx cmp eax,ecx mov [esp+14h],eax jl L0042BFC4 L0042C049: mov eax,[esp+4Ch] lea ecx,[esp+30h] lea edx,[esp+18h] push ecx inc eax push edx push eax call SUB_L004434A0 mov eax,[esp+58h] lea ecx,[esp+38h] lea edx,[esp+24h] push ecx add eax,00000007h push edx push eax call SUB_L004434A0 mov edx,[esp+44h] mov ecx,ebp sub ecx,edx lea edx,[esp+30h] mov [esp+44h],ecx mov ecx,[esp+64h] lea eax,[esp+28h] push edx push eax lea eax,[ecx+03h] push eax call SUB_L004434A0 mov ecx,[esp+70h] lea edx,[esp+3Ch] lea eax,[esp+74h] push edx push eax lea eax,[ecx+05h] push eax call SUB_L004434A0 mov eax,[esp+00000080h] mov edx,ebx sub edx,eax mov eax,[esp+7Ch] mov [esp+00000080h],edx lea ecx,[esp+50h] lea edx,[esp+4Ch] add eax,00000004h push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+4Ch] mov eax,[esp+6Ch] mov edx,[esp+0000008Ch] mov [esp+74h],ecx mov ecx,[esp+68h] add esp,0000003Ch cmp eax,ecx mov [esp+28h],eax mov [esp+40h],edx mov [esp+3Ch],eax mov [esp+44h],ecx jge L0042C1CE mov ecx,[esp+10h] L0042C10E: cmp ecx,edx mov [esp+14h],ecx jge L0042C1BC mov ecx,[esp+1Ch] jmp L0042C124 L0042C120: mov eax,[esp+28h] L0042C124: mov edx,[esp+14h] add edx,ecx mov ecx,[esp+50h] cmp edx,ecx jg L0042C16C mov ecx,[esp+20h] lea edx,[eax+ecx] mov ecx,[esp+2Ch] cmp edx,ecx jge L0042C16C xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+50h] push edx push edi push eax mov eax,[esp+24h] push eax lea eax,[ecx+04h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042C19A L0042C16C: xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx mov edx,[esp+18h] push ecx mov ecx,[esp+54h] push edi push eax lea eax,[esp+48h] push edx push eax lea eax,[ecx+04h] push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042C19A: mov ecx,[esp+1Ch] mov eax,[esp+14h] mov edx,[esp+50h] add eax,ecx cmp eax,edx mov [esp+14h],eax jl L0042C120 mov ecx,[esp+10h] mov eax,[esp+28h] L0042C1BC: add eax,[esp+20h] cmp eax,[esp+2Ch] mov [esp+28h],eax jl L0042C10E L0042C1CE: mov eax,[esp+54h] test eax,eax jnz L0042C606 mov esi,[esp+4Ch] lea edx,[esp+28h] lea ecx,[esp+54h] push edx lea eax,[esi+0Bh] push ecx push eax call SUB_L004434A0 lea edx,[esp+30h] lea ecx,[esp+20h] lea eax,[esi+0Ch] push edx push ecx push eax call SUB_L004434A0 mov eax,[esp+6Ch] add esp,00000018h test eax,eax jz L0042C2DC mov ecx,[esp+14h] test ecx,ecx jz L0042C2DC lea edx,[ecx+eax+50h] cmp ebx,edx jle L0042C2DC mov ecx,ebx sub ecx,eax sub ecx,00000014h push ecx call SUB_L0047BBB0 mov ecx,[esp+18h] mov edx,ebx sub edx,ecx add eax,0000000Ah sub edx,00000014h mov [esp+14h],eax push edx call SUB_L0047BBB0 mov esi,[esp+18h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+58h],ecx mov ecx,[esp+5Ch] add esp,00000008h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042C2A9 L0042C274: mov ecx,[esp+14h] mov edx,ebx sub edx,ecx sub edx,00000014h push edx call SUB_L0047BBB0 mov esi,[esp+14h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+54h],ecx mov ecx,[esp+58h] add esp,00000004h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042C274 L0042C2A9: push ebp push ebx push edi push 00000000h push esi mov esi,[esp+60h] lea eax,[esi+0Bh] push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+6Ch] push ebp push ebx push edi push 00000000h lea eax,[esi+0Ch] push edx push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042C2DC: lea ecx,[esp+28h] lea edx,[esp+54h] lea eax,[esi+11h] push ecx push edx push eax call SUB_L004434A0 lea ecx,[esp+30h] lea edx,[esp+20h] lea eax,[esi+12h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+6Ch] add esp,00000018h test eax,eax jz L0042C3E8 mov ecx,[esp+14h] test ecx,ecx jz L0042C3E8 lea ecx,[ecx+eax+50h] cmp ebx,ecx jle L0042C3E8 mov edx,ebx sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,[esp+18h] add eax,0000000Ah mov [esp+14h],eax mov eax,ebx sub eax,ecx sub eax,00000014h push eax call SUB_L0047BBB0 mov esi,[esp+18h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+58h],ecx mov ecx,[esp+5Ch] add esp,00000008h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042C3A7 L0042C372: mov ecx,[esp+14h] mov edx,ebx sub edx,ecx sub edx,00000014h push edx call SUB_L0047BBB0 mov esi,[esp+14h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+54h],ecx mov ecx,[esp+58h] add esp,00000004h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042C372 L0042C3A7: mov eax,[esp+28h] mov edx,ebp push ebp push ebx sub edx,eax push edi push edx push esi mov esi,[esp+60h] lea eax,[esi+11h] push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+40h] mov ecx,[esp+6Ch] mov eax,ebp push ebp push ebx sub eax,edx push edi push eax lea eax,[esi+12h] push ecx push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042C3E8: lea edx,[esp+28h] lea ecx,[esp+54h] lea eax,[esi+0Dh] push edx push ecx push eax call SUB_L004434A0 lea edx,[esp+30h] lea ecx,[esp+20h] lea eax,[esi+0Eh] push edx push ecx push eax call SUB_L004434A0 mov eax,[esp+6Ch] add esp,00000018h test eax,eax jz L0042C4EE mov eax,[esp+14h] test eax,eax jz L0042C4EE mov eax,[esp+28h] mov edx,[esp+24h] lea ecx,[edx+eax+50h] cmp ebp,ecx jle L0042C4EE mov edx,ebp sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,[esp+28h] add eax,0000000Ah mov [esp+14h],eax mov eax,ebp sub eax,ecx sub eax,00000014h push eax call SUB_L0047BBB0 mov esi,[esp+18h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+58h],ecx mov ecx,[esp+30h] add esp,00000008h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042C4BB L0042C486: mov ecx,[esp+24h] mov edx,ebp sub edx,ecx sub edx,00000014h push edx call SUB_L0047BBB0 mov esi,[esp+14h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+54h],ecx mov ecx,[esp+2Ch] add esp,00000004h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042C486 L0042C4BB: push ebp push ebx push edi push esi mov esi,[esp+5Ch] push 00000000h lea eax,[esi+0Dh] push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+6Ch] push ebp push ebx push edi push edx lea eax,[esi+0Eh] push 00000000h push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042C4EE: lea ecx,[esp+28h] lea edx,[esp+54h] lea eax,[esi+0Fh] push ecx push edx push eax mov [esp+58h],eax call SUB_L004434A0 lea eax,[esp+30h] lea ecx,[esp+20h] add esi,00000010h push eax push ecx push esi mov [esp+4Ch],esi call SUB_L004434A0 mov eax,[esp+6Ch] add esp,00000018h test eax,eax jz L0042C606 mov eax,[esp+14h] test eax,eax jz L0042C606 mov eax,[esp+28h] mov edx,[esp+24h] lea ecx,[edx+eax+50h] cmp ebp,ecx jle L0042C606 mov edx,ebp sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,[esp+28h] add eax,0000000Ah mov [esp+14h],eax mov eax,ebp sub eax,ecx sub eax,00000014h push eax call SUB_L0047BBB0 mov esi,[esp+18h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+58h],ecx mov ecx,[esp+30h] add esp,00000008h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042C5C9 L0042C594: mov ecx,[esp+24h] mov edx,ebp sub edx,ecx sub edx,00000014h push edx call SUB_L0047BBB0 mov esi,[esp+14h] mov ecx,eax add ecx,0000000Ah mov eax,esi sub eax,ecx mov [esp+54h],ecx mov ecx,[esp+2Ch] add esp,00000004h cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042C594 L0042C5C9: mov eax,[esp+54h] push ebp mov edx,ebx push ebx push edi sub edx,eax mov eax,[esp+58h] push esi push edx push eax push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esp+6Ch] mov edx,[esp+50h] push ebp mov ebp,[esp+34h] push ebx push edi sub ebx,ebp push ecx push ebx push edx push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042C606: pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042C610: sub esp,0000002Ch push ebx push ebp push esi mov esi,[esp+4Ch] lea eax,[esp+14h] push edi lea ecx,[esp+14h] push eax push ecx push esi call SUB_L004434A0 lea edx,[esp+24h] lea ecx,[esp+1Ch] lea eax,[esi+02h] push edx push ecx push eax call SUB_L004434A0 mov ebp,[esp+58h] mov edi,[esp+28h] mov esi,[esp+60h] mov ebx,[esp+2Ch] mov edx,ebp xor eax,eax sub edx,edi xor ecx,ecx add edx,esi mov esi,[esp+6Ch] add ebx,ebp mov [esp+28h],edx mov ax,[esi+02h] mov cx,[esi] mov edx,[esp+68h] mov [esp+2Ch],ebx mov ebx,[esp+5Ch] lea edi,[esi+04h] push eax push ecx push edi push ebx push ebp push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+00000084h] lea ecx,[esp+4Ch] lea edx,[esp+50h] inc eax push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+5Ch] add esp,00000040h test eax,eax jz L0042D163 mov edx,[esp+4Ch] mov ecx,[esp+14h] mov eax,[esp+10h] add edx,ebx mov [esp+38h],edx mov edx,ecx cmp edx,eax mov [esp+40h],ecx mov [esp+2Ch],ecx mov [esp+34h],eax mov [esp+30h],ebx jge L0042C74C mov edx,[esp+1Ch] jmp L0042C6E1 L0042C6DD: mov ecx,[esp+40h] L0042C6E1: add edx,ecx cmp edx,eax jg L0042C70C xor eax,eax xor edx,edx mov ax,[esi+02h] mov dx,[esi] push eax mov eax,[esp+54h] push edx push edi push ebx inc eax push ecx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042C736 L0042C70C: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+54h] push eax push edi push ebx push ecx lea ecx,[esp+40h] lea eax,[edx+01h] push ecx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042C736: mov edx,[esp+1Ch] mov ecx,[esp+40h] mov eax,[esp+10h] add ecx,edx cmp ecx,eax mov [esp+40h],ecx jl L0042C6DD L0042C74C: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx push edi push ebx push eax mov eax,[esp+64h] add eax,00000002h push eax push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+6Ch] lea ecx,[esp+30h] lea edx,[esp+34h] push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+78h] lea edx,[esp+38h] push edx lea eax,[ecx+06h] lea ecx,[esp+44h] push ecx push eax call SUB_L004434A0 mov edx,[esp+48h] mov ecx,[esp+44h] mov eax,[esp+00000080h] add edx,ebx mov [esp+48h],edx mov edx,ebx sub edx,ecx lea ecx,[esp+54h] add edx,eax mov eax,[esp+00000084h] mov [esp+44h],edx lea edx,[esp+4Ch] add eax,00000003h push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+00000088h] mov ecx,[esp+54h] add eax,ebp add esp,00000040h mov [esp+34h],eax mov eax,[esp+10h] cmp ecx,eax mov [esp+40h],ecx mov [esp+2Ch],ebp mov [esp+30h],ecx mov [esp+38h],eax jge L0042C875 mov edx,[esp+20h] jmp L0042C808 L0042C804: mov ecx,[esp+40h] L0042C808: add edx,ecx cmp edx,eax jg L0042C835 xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx push eax push edi push ecx mov ecx,[esp+60h] push ebp lea eax,[ecx+03h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042C85F L0042C835: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+54h] push eax push edi push ecx lea ecx,[esp+3Ch] push ebp lea eax,[edx+03h] push ecx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042C85F: mov edx,[esp+20h] mov ecx,[esp+40h] mov eax,[esp+10h] add ecx,edx cmp ecx,eax mov [esp+40h],ecx jl L0042C804 L0042C875: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx push edi push eax mov eax,[esp+60h] push ebp add eax,00000006h push eax push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+6Ch] lea ecx,[esp+30h] lea edx,[esp+34h] push ecx add eax,00000002h push edx push eax call SUB_L004434A0 mov ecx,[esp+78h] lea edx,[esp+38h] push edx lea eax,[ecx+08h] lea ecx,[esp+44h] push ecx push eax call SUB_L004434A0 mov edx,[esp+48h] mov ecx,[esp+44h] mov eax,[esp+00000080h] add edx,ebx mov [esp+48h],edx mov edx,ebx sub edx,ecx lea ecx,[esp+54h] add edx,eax mov eax,[esp+00000084h] mov [esp+44h],edx lea edx,[esp+50h] add eax,00000005h push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+00000088h] mov eax,[esp+54h] add ecx,ebp add esp,00000040h mov [esp+34h],ecx mov ecx,[esp+10h] cmp eax,ecx mov [esp+40h],eax mov [esp+2Ch],ebp mov [esp+30h],eax mov [esp+38h],ecx jge L0042C9C5 mov edx,[esp+20h] jmp L0042C938 L0042C934: mov eax,[esp+40h] L0042C938: add edx,eax cmp edx,ecx jg L0042C973 xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx push ecx mov ecx,[esp+50h] push edi push eax mov eax,[esp+2Ch] mov edx,ebp sub edx,eax mov eax,[esp+60h] add edx,ecx add eax,00000005h push edx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042C9AB L0042C973: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+50h] push edi push eax mov eax,ebp sub eax,ecx lea ecx,[esp+3Ch] add eax,edx mov edx,[esp+60h] push eax push ecx lea eax,[edx+05h] push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042C9AB: mov edx,[esp+20h] mov eax,[esp+40h] mov ecx,[esp+10h] add eax,edx cmp eax,ecx mov [esp+40h],eax jl L0042C934 L0042C9C5: mov edx,[esp+50h] lea eax,[esp+18h] push eax lea ecx,[esp+20h] lea eax,[edx+08h] push ecx push eax call SUB_L004434A0 mov edx,[esp+1Ch] xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push eax push ecx mov ecx,[esp+5Ch] push edi push edx mov edx,[esp+38h] mov eax,ebp sub eax,edx add eax,ecx mov ecx,[esp+6Ch] push eax lea eax,[ecx+08h] push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+78h] lea edx,[esp+40h] lea eax,[esp+3Ch] push edx push eax lea eax,[ecx+06h] push eax call SUB_L004434A0 mov ecx,[esp+00000084h] lea edx,[esp+4Ch] lea eax,[esp+44h] push edx push eax lea eax,[ecx+08h] push eax call SUB_L004434A0 mov edx,[esp+54h] mov ecx,[esp+50h] mov eax,[esp+00000088h] add edx,ebp mov [esp+54h],edx mov edx,ebp sub edx,ecx add esp,00000040h add edx,eax mov eax,[esp+50h] mov [esp+10h],edx lea ecx,[esp+20h] lea edx,[esp+1Ch] add eax,00000007h push ecx push edx push eax call SUB_L004434A0 mov edx,[esp+58h] mov eax,[esp+20h] mov ecx,[esp+1Ch] add esp,0000000Ch add edx,ebx cmp eax,ecx mov [esp+40h],eax mov [esp+2Ch],eax mov [esp+34h],ecx mov [esp+30h],ebx mov [esp+38h],edx jge L0042CB3C mov edx,[esp+1Ch] L0042CAAB: mov eax,[esp+40h] add edx,eax cmp edx,ecx jg L0042CAEA xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[esp+28h] mov ecx,ebx sub ecx,edx mov edx,[esp+54h] add ecx,edx mov edx,[esp+58h] push edi push ecx push eax lea eax,[edx+07h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042CB22 L0042CAEA: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx push edx mov edx,[esp+28h] mov ecx,ebx sub ecx,edx mov edx,[esp+54h] add ecx,edx push edi push ecx push eax mov eax,[esp+64h] lea edx,[esp+40h] add eax,00000007h push edx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042CB22: mov edx,[esp+1Ch] mov eax,[esp+40h] mov ecx,[esp+10h] add eax,edx cmp eax,ecx mov [esp+40h],eax jl L0042CAAB L0042CB3C: mov eax,[esp+50h] lea ecx,[esp+28h] lea edx,[esp+18h] push ecx inc eax push edx push eax call SUB_L004434A0 mov eax,[esp+5Ch] lea ecx,[esp+30h] lea edx,[esp+24h] push ecx add eax,00000007h push edx push eax call SUB_L004434A0 mov ecx,[esp+40h] mov eax,[esp+3Ch] mov edx,[esp+64h] add ecx,ebx mov [esp+40h],ecx mov ecx,ebx sub ecx,eax lea eax,[esp+2Ch] add ecx,edx lea edx,[esp+30h] mov [esp+3Ch],ecx mov ecx,[esp+68h] push edx push eax lea eax,[ecx+03h] push eax call SUB_L004434A0 mov ecx,[esp+74h] lea edx,[esp+3Ch] lea eax,[esp+34h] push edx push eax lea eax,[ecx+05h] push eax call SUB_L004434A0 mov edx,[esp+44h] mov ecx,[esp+40h] mov eax,[esp+78h] add edx,ebp mov [esp+44h],edx mov edx,ebp sub edx,ecx lea ecx,[esp+50h] add edx,eax mov eax,[esp+00000080h] mov [esp+40h],edx lea edx,[esp+4Ch] add eax,00000004h push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+50h] mov eax,[esp+64h] mov edx,[esp+4Ch] mov [esp+68h],ecx mov ecx,[esp+60h] add esp,0000003Ch cmp eax,ecx mov [esp+54h],eax mov [esp+34h],edx mov [esp+30h],eax mov [esp+38h],ecx jge L0042CCDB mov ecx,[esp+14h] L0042CC1B: cmp ecx,edx mov [esp+40h],ecx jge L0042CCC9 mov ecx,[esp+1Ch] jmp L0042CC31 L0042CC2D: mov eax,[esp+54h] L0042CC31: mov edx,[esp+40h] add edx,ecx mov ecx,[esp+10h] cmp edx,ecx jg L0042CC79 mov ecx,[esp+20h] lea edx,[eax+ecx] mov ecx,[esp+24h] cmp edx,ecx jge L0042CC79 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+54h] push edx push edi push eax mov eax,[esp+50h] push eax lea eax,[ecx+04h] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0042CCA7 L0042CC79: xor edx,edx xor ecx,ecx mov dx,[esi+02h] mov cx,[esi] push edx mov edx,[esp+44h] push ecx mov ecx,[esp+58h] push edi push eax lea eax,[esp+3Ch] push edx push eax lea eax,[ecx+04h] push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L0042CCA7: mov ecx,[esp+1Ch] mov eax,[esp+40h] mov edx,[esp+10h] add eax,ecx cmp eax,edx mov [esp+40h],eax jl L0042CC2D mov ecx,[esp+14h] mov eax,[esp+54h] L0042CCC9: add eax,[esp+20h] cmp eax,[esp+24h] mov [esp+54h],eax jl L0042CC1B L0042CCDB: mov eax,[esp+58h] test eax,eax jnz L0042D163 mov esi,[esp+50h] lea edx,[esp+58h] lea ecx,[esp+40h] push edx lea eax,[esi+0Bh] push ecx push eax call SUB_L004434A0 lea edx,[esp+50h] lea ecx,[esp+60h] lea eax,[esi+0Ch] push edx push ecx push eax call SUB_L004434A0 mov eax,[esp+58h] add esp,00000018h test eax,eax jz L0042CDFD mov ecx,[esp+54h] test ecx,ecx jz L0042CDFD mov esi,[esp+48h] lea edx,[ecx+eax+50h] cmp esi,edx jle L0042CDFD mov ecx,esi sub ecx,eax sub ecx,00000014h push ecx call SUB_L0047BBB0 add eax,0000000Ah mov edx,esi mov [esp+18h],eax mov eax,[esp+58h] sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,[esp+1Ch] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [esp+18h],edx cdq xor eax,edx add esp,00000008h sub eax,edx mov edx,[esp+40h] add edx,0000000Ah cmp eax,edx jge L0042CDBA L0042CD85: mov edx,[esp+54h] mov eax,esi sub eax,edx sub eax,00000014h push eax call SUB_L0047BBB0 mov ecx,[esp+18h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [esp+14h],edx cdq xor eax,edx add esp,00000004h sub eax,edx mov edx,[esp+40h] add edx,0000000Ah cmp eax,edx jl L0042CD85 L0042CDBA: mov esi,[esp+4Ch] mov eax,[esp+48h] push esi push eax push edi push ebx push ecx mov ecx,[esp+64h] lea eax,[ecx+0Bh] push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+64h] mov eax,[esp+2Ch] mov ecx,[esp+6Ch] push esi push edx push edi push ebx push eax lea eax,[ecx+0Ch] push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h jmp L0042CE01 L0042CDFD: mov esi,[esp+4Ch] L0042CE01: mov edx,[esp+50h] lea ecx,[esp+58h] push ecx lea eax,[edx+11h] lea edx,[esp+44h] push edx push eax call SUB_L004434A0 mov eax,[esp+5Ch] lea ecx,[esp+50h] lea edx,[esp+60h] add eax,00000012h push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+58h] add esp,00000018h test eax,eax jz L0042CF29 mov ecx,[esp+54h] test ecx,ecx jz L0042CF29 lea edx,[ecx+eax+50h] mov ecx,[esp+48h] cmp ecx,edx jle L0042CF29 sub ecx,eax sub ecx,00000014h push ecx call SUB_L0047BBB0 mov edx,[esp+58h] add eax,0000000Ah mov [esp+18h],eax mov eax,[esp+4Ch] sub eax,edx sub eax,00000014h push eax call SUB_L0047BBB0 mov ecx,[esp+1Ch] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [esp+18h],edx cdq xor eax,edx add esp,00000008h sub eax,edx mov edx,[esp+40h] add edx,0000000Ah cmp eax,edx jge L0042CEDA L0042CEA3: mov eax,[esp+48h] mov edx,[esp+54h] sub eax,edx sub eax,00000014h push eax call SUB_L0047BBB0 mov ecx,[esp+18h] mov edx,eax add edx,0000000Ah mov eax,ecx sub eax,edx mov [esp+14h],edx cdq xor eax,edx add esp,00000004h sub eax,edx mov edx,[esp+40h] add edx,0000000Ah cmp eax,edx jl L0042CEA3 L0042CEDA: mov eax,[esp+48h] push esi push eax mov eax,[esp+60h] mov edx,ebx push edi sub edx,eax mov eax,[esp+5Ch] add edx,esi add eax,00000011h push edx push ecx push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+60h] mov ecx,[esp+64h] mov eax,[esp+6Ch] sub ebx,edx mov edx,[esp+2Ch] push esi push ecx add ebx,esi push edi push ebx add eax,00000012h push edx push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042CF29: mov ebx,[esp+50h] lea ecx,[esp+58h] lea edx,[esp+40h] push ecx lea eax,[ebx+0Dh] push edx push eax call SUB_L004434A0 lea ecx,[esp+50h] lea edx,[esp+60h] lea eax,[ebx+0Eh] push ecx push edx push eax call SUB_L004434A0 mov eax,[esp+58h] add esp,00000018h test eax,eax jz L0042D03B mov eax,[esp+54h] test eax,eax jz L0042D03B mov eax,[esp+58h] mov ecx,[esp+44h] lea edx,[ecx+eax+50h] cmp esi,edx jle L0042D03B mov ecx,esi sub ecx,eax sub ecx,00000014h push ecx call SUB_L0047BBB0 mov ecx,[esp+48h] mov edx,esi sub edx,ecx add eax,0000000Ah sub edx,00000014h mov [esp+18h],eax push edx call SUB_L0047BBB0 mov ecx,eax mov eax,[esp+1Ch] add ecx,0000000Ah add esp,00000008h sub eax,ecx mov [esp+10h],ecx mov ecx,[esp+58h] cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042CFFC L0042CFC9: mov ecx,[esp+44h] mov edx,esi sub edx,ecx sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,eax mov eax,[esp+18h] add ecx,0000000Ah add esp,00000004h sub eax,ecx mov [esp+10h],ecx mov ecx,[esp+58h] cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042CFC9 L0042CFFC: mov ebx,[esp+48h] mov edx,[esp+14h] mov eax,[esp+50h] push esi push ebx push edi push edx add eax,0000000Dh push ebp push eax push SUB_L004B95C0 call SUB_L00443500 mov edx,[esp+6Ch] mov ecx,[esp+2Ch] push esi push ebx push edi push ecx lea eax,[edx+0Eh] push ebp push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h jmp L0042D03F L0042D03B: mov ebx,[esp+48h] L0042D03F: mov eax,[esp+50h] lea ecx,[esp+58h] lea edx,[esp+40h] add eax,0000000Fh push ecx push edx push eax mov [esp+54h],eax call SUB_L004434A0 mov eax,[esp+5Ch] lea ecx,[esp+50h] lea edx,[esp+60h] add eax,00000010h push ecx push edx push eax mov [esp+68h],eax call SUB_L004434A0 mov eax,[esp+58h] add esp,00000018h test eax,eax jz L0042D163 mov eax,[esp+54h] test eax,eax jz L0042D163 mov eax,[esp+58h] mov ecx,[esp+44h] lea edx,[ecx+eax+50h] cmp esi,edx jle L0042D163 mov ecx,esi sub ecx,eax sub ecx,00000014h push ecx call SUB_L0047BBB0 add eax,0000000Ah mov edx,esi mov [esp+18h],eax mov eax,[esp+48h] sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,eax mov eax,[esp+1Ch] add ecx,0000000Ah add esp,00000008h sub eax,ecx mov [esp+10h],ecx mov ecx,[esp+58h] cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jge L0042D11E L0042D0EB: mov eax,[esp+44h] mov edx,esi sub edx,eax sub edx,00000014h push edx call SUB_L0047BBB0 mov ecx,eax mov eax,[esp+18h] add ecx,0000000Ah add esp,00000004h sub eax,ecx mov [esp+10h],ecx mov ecx,[esp+58h] cdq xor eax,edx add ecx,0000000Ah sub eax,edx cmp eax,ecx jl L0042D0EB L0042D11E: mov ecx,[esp+40h] mov edx,[esp+14h] mov eax,ebp push esi sub eax,ecx mov ecx,[esp+4Ch] push ebx push edi add eax,ebx push edx push eax push ecx push SUB_L004B95C0 call SUB_L00443500 mov eax,[esp+70h] mov edx,[esp+2Ch] push esi sub ebp,eax mov eax,[esp+70h] push ebx push edi add ebp,ebx push edx push ebp push eax push SUB_L004B95C0 call SUB_L00443500 add esp,00000038h L0042D163: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042D170: sub esp,00000028h push ebp lea eax,[esp+10h] push edi mov edi,[esp+34h] lea ecx,[esp+34h] push eax push ecx push edi call SUB_L004434A0 lea edx,[esp+24h] lea eax,[esp+18h] lea ebp,[edi+01h] push edx push eax push ebp call SUB_L004434A0 lea ecx,[esp+34h] lea edx,[esp+20h] lea eax,[edi+02h] push ecx push edx push eax mov [esp+34h],eax call SUB_L004434A0 mov eax,[esp+58h] xor edx,edx add esp,00000024h cmp eax,edx jz L0042D281 cmp [esp+0Ch],edx jz L0042D281 cmp [esp+08h],edx jz L0042D281 push ebx push esi mov esi,[esp+40h] xor ecx,ecx xor eax,eax mov [esp+28h],edx mov cx,[esi+02h] mov ax,[esi] lea ebx,[esi+04h] push ecx push eax push ebx push edx push edx push edi push SUB_L004B9B80 mov [esp+48h],edx mov [esp+4Ch],eax mov [esp+50h],ecx call SUB_L00443500 mov ecx,[esp+2Ch] mov edi,[esp+58h] xor eax,eax add esp,0000001Ch mov ax,[esi] mov edx,eax sub edx,ecx cmp edi,edx jge L0042D25A L0042D224: xor ecx,ecx lea edx,[esp+28h] mov cx,[esi+02h] push ecx push eax push ebx push 00000000h push edi push edx push ebp push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+34h] mov ecx,[esp+30h] add edi,eax xor eax,eax mov ax,[esi] add esp,00000020h mov edx,eax sub edx,ecx cmp edi,edx jl L0042D224 L0042D25A: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx push eax push ebx sub eax,ecx push 00000000h push eax mov eax,[esp+2Ch] push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop esi pop ebx L0042D281: pop edi pop ebp add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042D290: sub esp,00000018h push ebx push ebp push esi mov esi,[esp+34h] lea eax,[esp+18h] push edi lea ecx,[esp+10h] push eax push ecx push esi call SUB_L004434A0 lea edx,[esp+30h] lea ecx,[esp+20h] lea eax,[esi+01h] push edx push ecx push eax mov [esp+38h],eax call SUB_L004434A0 mov esi,[esp+54h] xor edx,edx mov edi,[esp+4Ch] mov eax,[esp+2Ch] mov dx,[esi] mov ebx,[esp+44h] imul edx,[esp+48h] mov ecx,[esp+28h] sub edi,eax mov eax,[esp+34h] add edx,ebx add esp,00000018h sub edi,ecx test eax,eax mov [esp+18h],eax lea ebp,[esi+edx*2+04h] mov dword ptr [esp+34h],00000000h jle L0042D36A L0042D301: xor ebx,ebx test ecx,ecx jle L0042D35D L0042D307: mov eax,[esp+34h] mov ecx,[esp+38h] push eax push ebx push ecx call SUB_L00443A70 add esp,0000000Ch test ax,ax jz L0042D350 mov ax,[esi] mov edx,[L0051217C] imul ax,[esp+34h] add eax,ebx and eax,0000FFFFh sar edx,1 mov cx,[ebp+eax*2+00h] lea eax,[ebp+eax*2+00h] shr cx,1 and edx,ecx mov ecx,[L00512184] add edx,ecx mov [eax],dx L0042D350: mov ecx,[esp+10h] inc ebx cmp ebx,ecx jl L0042D307 mov eax,[esp+18h] L0042D35D: mov edx,[esp+34h] inc edx cmp edx,eax mov [esp+34h],edx jl L0042D301 L0042D36A: test eax,eax mov dword ptr [esp+34h],00000000h jle L0042D3C9 L0042D376: xor ecx,ecx test edi,edi jle L0042D3BC L0042D37C: mov ax,[esi] mov edx,[esp+10h] imul ax,[esp+34h] add eax,edx mov edx,[L0051217C] add eax,ecx and eax,0000FFFFh sar edx,1 mov bx,[ebp+eax*2+00h] lea eax,[ebp+eax*2+00h] shr bx,1 and edx,ebx mov ebx,[L00512184] add edx,ebx inc ecx cmp ecx,edi mov [eax],dx jl L0042D37C mov eax,[esp+18h] L0042D3BC: mov ecx,[esp+34h] inc ecx cmp ecx,eax mov [esp+34h],ecx jl L0042D376 L0042D3C9: test eax,eax mov dword ptr [esp+34h],00000000h jle L0042D44C mov ecx,[esp+14h] L0042D3D9: xor ebx,ebx test ecx,ecx jle L0042D43B L0042D3DF: mov eax,[esp+34h] mov ecx,[esp+20h] push eax push ebx push ecx call SUB_L00443A70 add esp,0000000Ch test ax,ax jz L0042D432 mov dx,[esi] mov eax,[esp+10h] imul dx,[esp+34h] add edx,edi mov ecx,[L0051217C] add edx,eax sar ecx,1 lea eax,[edx+ebx-01h] and eax,0000FFFFh mov dx,[ebp+eax*2+00h] lea eax,[ebp+eax*2+00h] shr dx,1 and ecx,edx mov edx,[L00512184] add ecx,edx mov [eax],cx L0042D432: mov ecx,[esp+14h] inc ebx cmp ebx,ecx jl L0042D3DF L0042D43B: mov eax,[esp+34h] mov edx,[esp+18h] inc eax cmp eax,edx mov [esp+34h],eax jl L0042D3D9 L0042D44C: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0042D460: push FFFFFFFFh push L004E1878 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] mov ecx,[esp+2Ch] mov [esi+30h],eax mov eax,[esp+30h] lea edi,[esi+24h] lea edx,[esi+20h] and eax,0000FFFFh push edi xor ebx,ebx push edx push eax mov [esp+2Ch],ebx mov dword ptr [esi],L004E9BFC mov [esi+34h],ecx mov dword ptr [esi+08h],SSZ004FFD8C_ListBoxControl_gump mov [esi+60h],ebx mov [esi+54h],eax mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 mov edx,[esi+54h] lea eax,[esp+18h] lea ecx,[esp+20h] push eax add edx,00000004h push ecx push edx call SUB_L004434A0 mov eax,[esp+24h] mov ecx,[edi] add ecx,eax push SSZ004FFD68_framedata_for_CListBoxControlGum push 00000008h mov [edi],ecx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000020h rep stosd mov ecx,edx mov dx,[esp+40h] and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov cx,[esp+3Ch] mov [eax+04h],ebx mov eax,[esp+44h] and eax,000000FFh mov [esi+00001248h],cx mov [esi+0000124Ah],dx mov [esi+000000B0h],ebx mov [esi+000000A4h],ebx mov dword ptr [esi+000000A8h],FFFFFFFFh mov [esi+000000ACh],eax jz L0042D57B mov dword ptr [esi+000000A0h],00000001h jmp L0042D581 L0042D57B: mov [esi+000000A0h],ebx L0042D581: mov ecx,[esp+18h] mov [esi+0000009Ch],ebx mov [esi+6Ch],ebx mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0020h ;------------------------------------------------------------------------------ L0042D5A0: push esi mov esi,ecx call SUB_L0042D5C0 test byte ptr [esp+08h],01h jz L0042D5B8 push esi call SUB_L004D4F9E add esp,00000004h L0042D5B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042D5C0: push FFFFFFFFh push L004E1898 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E9BFC mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0042D60D push SSZ004FFDBC_ListBoxControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0042D60D: mov eax,[esi+3Ch] test eax,eax jz L0042D629 push SSZ004FFDA0_ListBoxControl_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0042D629: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0042D650: sub esp,00000038h push ebx push ebp push esi mov esi,ecx push edi mov dword ptr [esp+24h],00000000h mov eax,[esi+3Ch] mov ecx,[eax+04h] test ecx,ecx jnz L0042D6C7 mov ecx,[esi+24h] push SSZ004FFDD8_listboxctrl_frame0 imul ecx,[esi+20h] lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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 L0042D6C7: mov edx,[esi+54h] lea eax,[esp+18h] lea ecx,[esp+10h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+54h] lea eax,[esp+20h] lea ecx,[esp+1Ch] push eax inc edx push ecx push edx call SUB_L004434A0 mov ecx,[esi+20h] mov edx,[esp+28h] add esp,00000018h cmp edx,ecx jge L0042D709 mov eax,ecx sub eax,edx cdq sub eax,edx sar eax,1 mov [esp+24h],eax L0042D709: mov eax,[esp+24h] add ecx,FFFFFFFAh mov [esp+40h],ecx mov ecx,[esp+18h] mov [esp+3Ch],ecx mov ecx,[esi+54h] lea ebx,[eax+06h] lea edx,[esp+14h] lea eax,[esp+10h] push edx add ecx,00000004h push eax push ecx mov [esp+38h],ebx mov [esp+44h],ebx mov dword ptr [esp+1Ch],00000006h call SUB_L004434A0 mov edx,[esi+24h] mov ecx,[esp+20h] mov ebp,[esp+58h] add esp,0000000Ch sub edx,ecx cmp ebp,FFFFFFFFh mov [esp+44h],edx jnz L0042D9DB mov eax,[esi+3Ch] mov edx,[esi+54h] xor ebp,ebp mov ecx,[eax+04h] push ebp push ebp push ecx push 00000003h push edx call SUB_L004B5FF0 mov eax,[esi+000000A8h] add esp,00000014h cmp eax,FFFFFFFFh jz L0042D7B5 mov ecx,[esi+3Ch] mov edx,[ecx+04h] lea ecx,[ebx+ebx] push edx mov edx,[esi+20h] sub edx,ecx push 000013F5h lea ecx,[00000000h+eax*8] push edx mov edx,[esp+24h] sub ecx,eax lea eax,[edx+ecx*2] push eax push ebx call SUB_L0042D290 add esp,00000014h L0042D7B5: cmp [esi+000000A0h],ebp jz L0042D93D mov eax,[esi+000000ACh] xor edi,edi cmp eax,ebp jle L0042D871 L0042D7D1: lea ecx,[esp+1Ch] lea edx,[esp+30h] push ecx lea eax,[esp+38h] push edx mov edx,[esi+000000B0h] push eax mov eax,edi add eax,edx lea ecx,[eax+eax*4] lea edx,[esi+eax] lea eax,[edx+ecx*8+00000244h] xor ecx,ecx mov cx,[esi+00001248h] push eax push ecx call SUB_L00441BC0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+4Ch] push edx mov edx,[ecx+04h] add edx,00000004h push eax push edx mov edx,[esi+000000B0h] mov eax,edi add eax,edx lea ecx,[eax+eax*4] lea edx,[esi+eax] lea eax,[edx+ecx*8+00000244h] xor ecx,ecx mov cx,[esi+0000124Ah] xor edx,edx mov dx,[esi+00001248h] push eax mov eax,[esp+40h] push ecx push edx mov edx,[esp+44h] lea ecx,[eax+ebp] lea eax,[ecx+edx+01h] push eax push ebx call SUB_L004416F0 mov eax,[esi+000000ACh] add esp,00000034h inc edi add ebp,0000000Eh cmp edi,eax jl L0042D7D1 L0042D871: mov eax,[esi+000000B0h] test eax,eax jle L0042D8C6 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx push edx push 00000983h call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] mov ebp,[esp+1Ch] push eax mov eax,[edx+04h] mov edx,[esp+50h] push ecx mov ecx,[esp+50h] add eax,00000004h sub edx,ebp push eax sub edx,00000006h push ecx push edx push 00000983h push SUB_L004B9B80 call SUB_L00443500 add esp,00000028h L0042D8C6: mov eax,[esi+000000ACh] mov edx,[esi+000000B0h] mov ecx,[esi+000000A4h] add eax,edx cmp eax,ecx jge L0042DCBA lea ecx,[esp+14h] lea edx,[esp+10h] push ecx push edx push 00000985h call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] mov ebx,[esp+1Ch] push eax mov eax,[edx+04h] mov edx,[esp+50h] add eax,00000004h push ecx mov ecx,[esp+58h] push eax mov eax,[esp+2Ch] sub edx,ebx sub ecx,eax sub edx,00000006h push ecx push edx push 00000985h push SUB_L004B9B80 call SUB_L00443500 add esp,00000028h pop edi pop esi pop ebp pop ebx add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ L0042D93D: mov eax,[esi+000000A4h] mov [esp+4Ch],ebp cmp eax,ebp jle L0042DCBA lea edi,[esi+00000244h] L0042D955: lea eax,[esp+1Ch] lea ecx,[esp+30h] push eax lea edx,[esp+38h] xor eax,eax push ecx mov ax,[esi+00001248h] push edx push edi push eax call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h xor edx,edx xor eax,eax mov dx,[esi+0000124Ah] mov ax,[esi+00001248h] push ecx mov ecx,[esp+3Ch] push edi push edx push eax mov eax,[esp+44h] lea edx,[ecx+ebp] lea ecx,[edx+eax+01h] push ecx push ebx call SUB_L004416F0 mov eax,[esp+00000080h] mov ecx,[esi+000000A4h] add esp,00000034h inc eax add edi,00000029h add ebp,0000000Eh cmp eax,ecx mov [esp+4Ch],eax jl L0042D955 pop edi pop esi pop ebp pop ebx add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ L0042D9DB: mov ecx,[esi+000000B0h] mov ebx,[esp+18h] mov eax,ebp xor edi,edi sub eax,ecx lea edx,[00000000h+eax*8] sub edx,eax inc eax lea ecx,[ebx+edx*2] lea edx,[00000000h+eax*8] sub edx,eax mov [esp+4Ch],ecx lea ecx,[esp+20h] lea eax,[ebx+edx*2] dec ebx mov [esp+28h],eax mov eax,[esi+54h] lea edx,[esp+10h] push ecx inc eax push edx push eax call SUB_L004434A0 mov ecx,[esp+2Ch] add esp,0000000Ch lea eax,[ecx+ebx] mov ecx,[esp+4Ch] cmp eax,ecx jg L0042DA65 L0042DA33: inc edi mov ebx,eax cmp edi,00000003h jnz L0042DA3D xor edi,edi L0042DA3D: mov ecx,[esi+54h] lea edx,[esp+20h] push edx lea eax,[esp+14h] lea edx,[ecx+edi+01h] push eax push edx call SUB_L004434A0 mov eax,[esp+2Ch] mov ecx,[esp+58h] add eax,ebx add esp,0000000Ch cmp eax,ecx jle L0042DA33 L0042DA65: mov eax,[esp+28h] mov ecx,[esp+4Ch] cmp ebx,eax mov [esp+3Ch],ecx lea edx,[eax+01h] mov dword ptr [esp+10h],00000006h mov [esp+44h],edx jge L0042DAE6 L0042DA84: mov edx,[esi+54h] lea eax,[esp+14h] push eax lea ecx,[esp+14h] lea eax,[edx+edi+01h] push ecx push eax call SUB_L004434A0 mov ecx,[esi+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esp+34h] add eax,00000004h push ecx mov ecx,[esi+54h] push eax push ebx push edx lea eax,[esp+58h] lea edx,[ecx+edi+01h] push eax push edx push SUB_L004B9B80 call SUB_L004436C0 mov edx,[esp+40h] add esp,0000002Ch add ebx,edx inc edi cmp edi,00000003h jnz L0042DAE0 xor edi,edi L0042DAE0: cmp ebx,[esp+28h] jl L0042DA84 L0042DAE6: mov eax,[esi+000000A8h] cmp ebp,eax jnz L0042DB2D mov ecx,[esi+3Ch] mov ebx,[esp+2Ch] mov edx,[ecx+04h] lea ecx,[ebx+ebx] push edx mov edx,[esi+20h] sub edx,ecx mov ecx,[esi+000000B0h] sub eax,ecx push 000013F5h push edx mov edx,[esp+24h] lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[edx+ecx*2] push eax push ebx call SUB_L0042D290 add esp,00000014h jmp L0042DB31 L0042DB2D: mov ebx,[esp+2Ch] L0042DB31: lea ecx,[ebp+ebp*4+00h] lea edx,[esi+ebp] lea eax,[esp+1Ch] lea edi,[edx+ecx*8+00000244h] push eax lea ecx,[esp+34h] lea edx,[esp+38h] xor eax,eax push ecx mov ax,[esi+00001248h] push edx push edi push eax call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx mov ecx,[esi+000000B0h] xor edx,edx sub ebp,ecx mov dx,[esi+0000124Ah] push edi xor eax,eax lea ecx,[00000000h+ebp*8] mov ax,[esi+00001248h] push edx mov edx,[esp+44h] sub ecx,ebp push eax lea eax,[edx+ecx*2] mov ecx,[esp+44h] lea edx,[eax+ecx+01h] push edx push ebx call SUB_L004416F0 mov eax,[esi+000000A0h] add esp,00000034h test eax,eax jz L0042DCBA mov eax,[esi+000000B0h] test eax,eax jle L0042DC2E mov edx,[esi+54h] lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esp+20h] lea ecx,[esp+20h] lea edx,[esp+1Ch] push ecx push edx push 00000983h mov [esp+54h],eax call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] mov ebp,[esp+28h] push eax mov eax,[edx+04h] mov edx,[esp+5Ch] push ecx mov ecx,[esp+5Ch] add eax,00000004h sub edx,ebp push eax sub edx,00000006h push ecx push edx push 00000983h push SUB_L004B9B80 call SUB_L00443500 add esp,00000034h L0042DC2E: mov eax,[esi+000000ACh] mov edx,[esi+000000B0h] mov ecx,[esi+000000A4h] add eax,edx cmp eax,ecx jge L0042DCBA mov eax,[esi+54h] lea ecx,[esp+14h] lea edx,[esp+10h] push ecx add eax,00000004h push edx push eax call SUB_L004434A0 mov ecx,[esi+24h] mov ebx,[esp+20h] lea edx,[esp+20h] lea eax,[esp+1Ch] push edx sub ecx,ebx push eax push 00000985h mov [esp+5Ch],ecx call SUB_L004434A0 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] mov ebx,[esp+28h] push ecx mov ecx,[eax+04h] mov eax,[esp+30h] push edx mov edx,[esp+64h] add ecx,00000004h sub edx,eax mov eax,[esp+60h] sub eax,ebx push ecx sub eax,00000006h push edx push eax push 00000985h push SUB_L004B9B80 call SUB_L00443500 add esp,00000034h L0042DCBA: pop edi pop esi pop ebp pop ebx add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0042DCD0: push FFFFFFFFh push L004E18B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov eax,[esp+20h] mov ecx,[esp+24h] mov edx,[esp+28h] mov [esi+30h],eax mov eax,[esp+30h] mov [esi+34h],ecx mov ecx,[esp+2Ch] xor ebx,ebx and edx,0000FFFFh push SSZ004FFD68_framedata_for_CListBoxControlGum push 00000008h mov [esp+20h],ebx mov dword ptr [esi],L004E9D74 mov dword ptr [esi+08h],SSZ004FFD8C_ListBoxControl_gump mov [esi+60h],ebx mov [esi+54h],edx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+24h],eax mov [esi+20h],ecx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx mov dx,[esp+3Ch] and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov cx,[esp+38h] mov [eax+04h],ebx mov eax,[esp+40h] and eax,000000FFh mov [esi+00001248h],cx mov [esi+0000124Ah],dx mov [esi+000000B0h],ebx mov [esi+000000A4h],ebx mov dword ptr [esi+000000A8h],FFFFFFFFh mov [esi+000000ACh],eax jz L0042DDCA mov dword ptr [esi+000000A0h],00000001h jmp L0042DDD0 L0042DDCA: mov [esi+000000A0h],ebx L0042DDD0: mov ecx,[esp+10h] mov [esi+0000009Ch],ebx mov [esi+6Ch],ebx mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 4 L0042DDF0: push esi mov esi,ecx call SUB_L0042DE10 test byte ptr [esp+08h],01h jz L0042DE08 push esi call SUB_L004D4F9E add esp,00000004h L0042DE08: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042DE10: push FFFFFFFFh push L004E18D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004E9BFC mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0042DE5D push SSZ004FFDBC_ListBoxControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0042DE5D: mov eax,[esi+3Ch] test eax,eax jz L0042DE79 push SSZ004FFDA0_ListBoxControl_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0042DE79: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0042DEA0: mov eax,[esp+04h] push esi mov esi,ecx push edi test eax,eax mov edi,[esi+000000A8h] jl L0042DF25 mov ecx,[esp+10h] test ecx,ecx jl L0042DF25 cmp eax,[esi+20h] jge L0042DF25 cmp ecx,[esi+24h] jge L0042DF25 mov eax,92492493h imul ecx add edx,ecx mov ecx,[esi+000000B0h] sar edx,03h mov eax,edx shr eax,1Fh add edx,eax lea eax,[ecx+edx] mov ecx,[esi+000000A4h] cmp eax,ecx mov [esi+000000A8h],eax jl L0042DEF7 dec ecx mov [esi+000000A8h],ecx L0042DEF7: cmp edi,[esi+000000A8h] jz L0042DF3F cmp edi,FFFFFFFFh jz L0042DF0F mov edx,[esi] push edi mov ecx,esi call [edx+00000174h] L0042DF0F: mov ecx,[esi+000000A8h] mov eax,[esi] push ecx mov ecx,esi call [eax+00000174h] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0042DF25: cmp edi,FFFFFFFFh mov dword ptr [esi+000000A8h],FFFFFFFFh jz L0042DF3F mov edx,[esi] push edi mov ecx,esi call [edx+00000174h] L0042DF3F: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042DF50: push ebx mov ebx,ecx push 00000000h call SUB_L00476670 mov ecx,[ebx+000000A8h] add esp,00000004h cmp ecx,FFFFFFFFh jz L0042DFE6 mov eax,[ebx+0000009Ch] test eax,eax jz L0042DFE6 mov ecx,[ebx+ecx*4+000000B4h] mov edx,[eax+000000F4h] cmp edx,ecx jz L0042DFE6 mov [eax+000000F4h],ecx mov eax,[ebx+000000A8h] push esi push edi lea ecx,[eax+eax*4] lea edx,[ebx+eax] xor eax,eax lea edi,[edx+ecx*8+00000244h] mov edx,[ebx+0000009Ch] or ecx,FFFFFFFFh add edx,000000F8h 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+00000174h] mov eax,[ebx+0000009Ch] push eax mov ecx,[eax+4Ch] mov edx,[ecx] call [edx+4Ch] pop edi pop esi L0042DFE6: test ebx,ebx jz L0042DFF2 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L0042DFF2: pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042E000: sub esp,0000001Ch push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+3Ch] cmp [eax+04h],ebx jnz L0042E06F mov ecx,[esi+24h] push SSZ004FFDD8_listboxctrl_frame0 imul ecx,[esi+20h] lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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 L0042E06F: mov edi,[esp+30h] mov eax,[esi+20h] mov ecx,[esi+24h] cmp edi,FFFFFFFFh mov [esp+1Ch],ebx mov [esp+24h],eax mov [esp+20h],ebx mov [esp+28h],ecx jnz L0042E131 mov edx,[esi+3Ch] mov ecx,[esi+54h] push ebx mov eax,[edx+04h] push eax push ecx call SUB_L0042BB70 mov eax,[esi+000000A4h] add esp,0000000Ch xor ebp,ebp cmp eax,ebx jle L0042E25E lea edi,[esi+00000244h] L0042E0BC: lea edx,[esp+10h] lea eax,[esp+14h] push edx lea ecx,[esp+1Ch] xor edx,edx push eax mov dx,[esi+00001248h] push ecx push edi push edx call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+30h] push eax mov eax,[edx+04h] push ecx add eax,00000004h xor ecx,ecx push eax mov cx,[esi+0000124Ah] mov eax,[esp+30h] xor edx,edx push edi mov dx,[esi+00001248h] push ecx lea ecx,[ebx+eax+01h] push edx push ecx push 00000000h call SUB_L004416F0 mov eax,[esi+000000A4h] add esp,00000034h inc ebp add edi,00000029h add ebx,0000000Eh cmp ebp,eax jl L0042E0BC pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ L0042E131: mov ecx,[esi+000000B0h] mov eax,edi sub eax,ecx lea edx,[00000000h+eax*8] sub edx,eax shl edx,1 inc eax lea ecx,[00000000h+eax*8] sub ecx,eax or eax,FFFFFFFFh shl ecx,1 cmp edx,00000009h jl L0042E171 mov ebp,00000009h L0042E15F: add eax,0000000Ah add ebp,0000000Ah inc ebx cmp ebx,00000003h jnz L0042E16D xor ebx,ebx L0042E16D: cmp ebp,edx jle L0042E15F L0042E171: mov [esp+20h],edx lea edx,[ecx+01h] cmp eax,ecx mov [esp+28h],edx jge L0042E19A sub ecx,eax mov eax,CCCCCCCDh add ecx,00000009h mul ecx shr edx,03h L0042E18F: inc ebx cmp ebx,00000003h jnz L0042E197 xor ebx,ebx L0042E197: dec edx jnz L0042E18F L0042E19A: cmp edi,[esi+000000A8h] jnz L0042E1E6 lea eax,[edi+edi*4] lea ecx,[esi+edi] lea edx,[esp+10h] lea ebx,[ecx+eax*8+00000244h] push edx lea eax,[esp+18h] lea ecx,[esp+1Ch] xor edx,edx push eax mov dx,[esi+00001248h] push ecx push ebx push edx call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+30h] push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax push ebx push 00000021h jmp L0042E230 L0042E1E6: lea edx,[edi+edi*4] lea eax,[esi+edi] lea ecx,[esp+10h] lea ebx,[eax+edx*8+00000244h] push ecx lea edx,[esp+18h] lea eax,[esp+1Ch] xor ecx,ecx push edx mov cx,[esi+00001248h] push eax push ebx push ecx call SUB_L00441BC0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+30h] push edx mov edx,[ecx+04h] push eax add edx,00000004h xor eax,eax push edx mov ax,[esi+0000124Ah] push ebx push eax L0042E230: mov ebx,[esi+000000B0h] mov eax,[esp+38h] sub edi,ebx xor ecx,ecx mov cx,[esi+00001248h] lea edx,[00000000h+edi*8] push ecx sub edx,edi lea ecx,[eax+edx*2+01h] push ecx push 00000000h call SUB_L004416F0 add esp,00000034h L0042E25E: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 L0042E270: push ebx mov ebx,ecx push 00000000h call SUB_L00476670 mov eax,[ebx+000000A8h] add esp,00000004h cmp eax,FFFFFFFFh jz L0042E2FC mov ecx,[ebx+0000009Ch] test ecx,ecx jz L0042E2FC mov eax,[ebx+eax*4+000000B4h] push esi mov [ecx+000000F4h],eax mov eax,[ebx+000000A8h] push edi lea ecx,[eax+eax*4] lea edx,[ebx+eax] xor eax,eax lea edi,[edx+ecx*8+00000244h] mov edx,[ebx+0000009Ch] or ecx,FFFFFFFFh add edx,000000F8h 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+00000174h] mov eax,[ebx+0000009Ch] push eax mov ecx,[eax+4Ch] mov edx,[ecx] call [edx+4Ch] pop edi pop esi L0042E2FC: test ebx,ebx jz L0042E308 mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L0042E308: pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 L0042E310: sub esp,0000000Ch push ebx push esi mov esi,ecx lea eax,[esp+10h] push edi lea ecx,[esp+10h] mov edx,[esi+54h] mov edi,[esi+000000A8h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+54h] lea eax,[esp+18h] lea ecx,[esp+1Ch] push eax add edx,00000004h push ecx push edx call SUB_L004434A0 mov ecx,[esi+24h] mov edx,[esp+24h] mov ebx,[esp+34h] add esp,00000018h sub ecx,edx test ebx,ebx mov [esp+0Ch],ecx jl L0042E3CC mov eax,[esp+20h] mov edx,[esp+14h] cmp eax,edx jl L0042E3CC push ebp mov ebp,[esi+20h] cmp ebx,ebp pop ebp jge L0042E3CC cmp eax,ecx jge L0042E3CC sub eax,edx mov ecx,eax mov eax,92492493h imul ecx add edx,ecx mov ecx,[esi+000000B0h] sar edx,03h mov eax,edx shr eax,1Fh add edx,eax lea eax,[edx+ecx] cmp edi,eax mov [esi+000000A8h],eax jz L0042E3E6 cmp edi,FFFFFFFFh jz L0042E3B2 mov edx,[esi] push edi mov ecx,esi call [edx+00000174h] L0042E3B2: mov ecx,[esi+000000A8h] mov eax,[esi] push ecx mov ecx,esi call [eax+00000174h] pop edi pop esi pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ L0042E3CC: cmp edi,FFFFFFFFh mov dword ptr [esi+000000A8h],FFFFFFFFh jz L0042E3E6 mov edx,[esi] push edi mov ecx,esi call [edx+00000174h] L0042E3E6: pop edi pop esi pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 L0042E3F0: sub esp,00000008h push esi mov esi,ecx mov eax,[esi+000000A0h] test eax,eax jz L0042E468 lea eax,[esp+04h] lea ecx,[esp+08h] push eax push ecx call SUB_L00476BC0 add esp,00000008h lea edx,[esp+04h] lea eax,[esp+08h] mov ecx,esi push edx push eax call SUB_L00457D20 mov ecx,[esp+04h] test ecx,ecx jge L0042E438 mov eax,[esi+000000B0h] test eax,eax jle L0042E438 dec eax jmp L0042E456 L0042E438: cmp ecx,[esi+24h] jle L0042E468 mov eax,[esi+000000B0h] mov ecx,[esi+000000ACh] mov edx,[esi+000000A4h] add ecx,eax cmp ecx,edx jge L0042E468 inc eax L0042E456: mov edx,[esi] push FFFFFFFFh mov ecx,esi mov [esi+000000B0h],eax call [edx+00000174h] L0042E468: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042E470: sub esp,0000000Ch push ebx mov ebx,ecx push ebp mov ebp,[ebx+20h] mov eax,[ebx+000000A4h] sub ebp,0000000Ch cmp eax,00000064h jge L0042E57F mov ecx,[esp+18h] push esi mov [ebx+eax*4+000000B4h],ecx mov eax,[ebx+000000A4h] push edi or ecx,FFFFFFFFh lea edx,[eax+eax*4] add eax,ebx lea esi,[eax+edx*8+00000244h] mov edx,[esp+24h] mov edi,edx xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+20h],esi mov eax,ecx mov esi,edi mov edi,[esp+20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,[ebx+000000A4h] mov ecx,[ebx+000000A0h] inc edi test ecx,ecx mov [ebx+000000A4h],edi mov eax,edi jz L0042E4F5 cmp eax,[ebx+000000ACh] jg L0042E4F9 L0042E4F5: add dword ptr [ebx+24h],0000000Eh L0042E4F9: mov eax,[ebx+24h] mov esi,[ebx+34h] add esi,eax cmp esi,000001E0h jle L0042E513 mov esi,000001E0h sub esi,eax mov [ebx+34h],esi L0042E513: pop edi pop esi test ecx,ecx jz L0042E530 mov ecx,[ebx+34h] add ecx,eax cmp ecx,000001CCh jle L0042E530 mov ecx,000001CCh sub ecx,eax mov [ebx+34h],ecx L0042E530: mov eax,[ebx+34h] test eax,eax jge L0042E53E mov dword ptr [ebx+34h],00000000h L0042E53E: lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx lea eax,[esp+10h] xor ecx,ecx mov cx,[ebx+00001248h] push eax push edx push ecx call SUB_L00441BC0 mov eax,[esp+1Ch] add esp,00000014h cmp eax,ebp jle L0042E57F lea edx,[eax+0Ch] sub eax,ebp mov [ebx+20h],edx mov ecx,[ebx+30h] cdq sub eax,edx sar eax,1 neg eax add ecx,eax mov [ebx+30h],ecx L0042E57F: pop ebp pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0042E590: push FFFFFFFFh push L004E19DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000090h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+1Ch],ebp call SUB_L00458F30 xor ebx,ebx push SSZ004FFE54_framedata_for_CAcctLoginGump push 00000008h mov [esp+000000B0h],ebx mov dword ptr [ebp+00h],L004E9EEC mov dword ptr [ebp+08h],SSZ004FFE44_AcctLogin_gump mov [ebp+60h],ebx mov dword ptr [ebp+54h],00000410h mov dword ptr [ebp+00000098h],FFFFFFFFh mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov dword ptr [ebp+20h],00000280h mov dword ptr [ebp+24h],000001E0h mov [ebp+30h],ebx mov [ebp+34h],ebx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push ebx mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx mov edx,00000120h and ecx,00000003h rep stosb mov eax,[ebp+3Ch] mov ecx,[eax+04h] mov eax,[ebp+34h] push ecx push 000013BEh push 0000009Dh sub edx,eax push 000001C3h push edx mov esi,[ebp+30h] mov eax,00000080h sub eax,esi push eax call SUB_L0042C610 mov ecx,[ebp+24h] mov eax,[ebp+3Ch] mov edx,[ebp+20h] mov esi,[ebp+30h] push ecx mov ecx,[eax+04h] mov eax,[ebp+34h] push edx mov edx,0000002Dh add ecx,00000004h sub edx,eax mov eax,0000011Eh push ecx sub eax,esi push edx push eax push 0000058Ah push SUB_L004B9B80 call SUB_L00443500 add esp,00000048h push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],01h jz L0042E759 mov edx,[ebp+34h] mov esi,[ebp+30h] push ebx push ebx push ebx push 0000034Fh push 00000002h mov ecx,0000012Fh push 00000010h push 00000002h sub ecx,edx push 0000001Eh mov edx,000000FAh push 00000140h push ebp sub edx,esi push ecx push edx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L0042E75F L0042E759: mov [esp+10h],ebx mov edx,ebx L0042E75F: mov edi,SSZ004FFE2C_Log_in_to_Ultima_Online or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+18h],esi mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax push 00000001h and ecx,00000003h push ebp rep movsb mov ecx,edx mov [esp+000000B0h],bl mov [edx+000000BCh],ebx call SUB_L004587A0 mov esi,[esp+10h] mov ecx,esi mov edx,[esi] call [edx+00000174h] mov dword ptr [esi+00000098h],FFFFFFFFh mov eax,[L00511E88] push eax lea ecx,[esp+24h] push SSZ004FFE1C_UO_Version__s_ push ecx call SUB_L004D512F push 000001CCh call SUB_L004D4FA9 add esp,00000010h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],02h jz L0042E82F mov ecx,[ebp+34h] mov esi,[ebp+30h] push ebx push ebx push ebx push 0000034Eh push 00000009h mov edx,000001C5h push 00000010h push 00000002h sub edx,ecx push 0000001Eh mov ecx,0000011Bh push 00000168h push ebp sub ecx,esi push edx push ecx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L0042E835 L0042E82F: mov [esp+10h],ebx mov edx,ebx L0042E835: lea edi,[esp+20h] or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+18h],esi mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax push 00000001h and ecx,00000003h push ebp rep movsb mov ecx,edx mov [esp+000000B0h],bl mov [edx+000000BCh],ebx call SUB_L004587A0 mov esi,[esp+10h] mov ecx,esi mov edx,[esi] call [edx+00000174h] push 000001CCh mov dword ptr [esi+00000098h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],03h jz L0042E8EF mov edx,[ebp+34h] mov esi,[ebp+30h] push ebx push ebx push ebx push 0000034Fh push 00000002h mov ecx,00000157h push 00000010h push 00000002h sub ecx,edx push 0000001Eh mov edx,000000B4h push 000000A0h push ebp sub edx,esi push ecx push edx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L0042E8F5 L0042E8EF: mov [esp+10h],ebx mov edx,ebx L0042E8F5: mov edi,SSZ004FFE0C_Account_Name or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+18h],esi mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax push 00000001h and ecx,00000003h push ebp rep movsb mov ecx,edx mov [esp+000000B0h],bl mov [edx+000000BCh],ebx call SUB_L004587A0 mov edi,[esp+10h] mov ecx,edi mov edx,[edi] call [edx+00000174h] or esi,FFFFFFFFh push 000001D0h mov [edi+00000098h],esi call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+14h],edi cmp edi,ebx mov byte ptr [esp+000000A8h],04h jz L0042E9C5 mov ecx,[ebp+34h] mov edx,[ebp+30h] push ebx push ebx push 00000001h push 0000034Fh mov eax,00000157h push 00000005h push 00000010h sub eax,ecx push ebx mov ecx,00000148h push 0000001Eh push 000000D2h sub ecx,edx push ebp push eax push ecx mov ecx,edi call SUB_L0042A340 mov dword ptr [edi],L004E9338 mov [edi+000001CCh],bx mov [edi+000001CEh],bx mov [edi+000001C8h],esi jmp L0042E9C7 L0042E9C5: xor edi,edi L0042E9C7: mov [ebp+000000A0h],edi mov byte ptr [edi+000000EEh],07h mov eax,[ebp+000000A0h] mov [esp+000000A8h],bl mov [eax+000000EFh],bl mov ecx,[ebp+000000A0h] mov word ptr [ecx+000001CEh],0023h mov edx,[ebp+000000A0h] mov word ptr [edx+000001CCh],02B8h mov ecx,[ebp+000000A0h] mov eax,[ecx] call [eax+00000174h] mov ecx,[ebp+000000A0h] push 00000001h push ebp call SUB_L004587A0 mov ecx,[ebp+000000A0h] push 000001CCh mov dword ptr [ecx+00000098h],000186A9h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],05h jz L0042EA89 mov edi,[ebp+34h] push ebx push ebx push ebx push 0000034Fh push 00000002h mov edx,0000017Fh push 00000010h push 00000002h sub edx,edi mov edi,[ebp+30h] push 0000001Eh mov ecx,000000B4h push 0000008Ch push ebp sub ecx,edi push edx push ecx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L0042EA8F L0042EA89: mov [esp+10h],ebx mov edx,ebx L0042EA8F: lea eax,[edx+000000F8h] mov edi,SSZ004FFE00_Password mov [esp+18h],eax mov ecx,esi xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx sub edi,ecx push 00000001h mov eax,ecx mov esi,edi mov edi,[esp+1Ch] push ebp shr ecx,02h rep movsd mov ecx,eax mov [esp+000000B0h],bl and ecx,00000003h rep movsb mov ecx,edx mov [edx+000000BCh],ebx call SUB_L004587A0 mov edi,[esp+10h] mov ecx,edi mov edx,[edi] call [edx+00000174h] or esi,FFFFFFFFh push 000001D0h mov [edi+00000098h],esi call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+14h],edi cmp edi,ebx mov byte ptr [esp+000000A8h],06h jz L0042EB5E mov ecx,[ebp+34h] mov edx,[ebp+30h] push ebx push ebx push 00000001h push 0000034Fh mov eax,0000017Fh push 00000005h push 00000010h sub eax,ecx push ebx mov ecx,00000148h push 0000001Eh push 000000D2h sub ecx,edx push ebp push eax push ecx mov ecx,edi call SUB_L0042A340 mov dword ptr [edi],L004E9338 mov [edi+000001CCh],bx mov [edi+000001CEh],bx mov [edi+000001C8h],esi jmp L0042EB60 L0042EB5E: xor edi,edi L0042EB60: mov [ebp+000000A4h],edi mov byte ptr [edi+000000EEh],07h mov eax,[ebp+000000A4h] mov [esp+000000A8h],bl mov byte ptr [eax+000000EFh],02h mov ecx,[ebp+000000A4h] mov dword ptr [ecx+000000B8h],00000001h mov edx,[ebp+000000A4h] mov word ptr [edx+000001CEh],0023h mov eax,[ebp+000000A4h] mov word ptr [eax+000001CCh],02B8h mov ecx,[ebp+000000A4h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebp+000000A4h] push 00000001h push ebp call SUB_L004587A0 mov eax,[ebp+000000A4h] mov dword ptr [eax+00000098h],000186AAh call SUB_L00456C40 mov ecx,[ebp+000000A4h] push ecx call SUB_L00456DC0 mov al,[L00C8C49B] add esp,00000004h cmp al,bl jnz L0042EC91 push L004FF410 push 0000001Dh mov byte ptr [L007050E4],01h mov [L00C8C49B],bl mov edi,000003E3h mov byte ptr [esp+20h],01h call SUB_L004395D0 push L007049FC push 00000024h call SUB_L004395D0 push L004FFDFC push 00000087h call SUB_L004395D0 add esp,00000018h L0042EC3D: push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],07h jz L0042ECA9 push ebx push ebx push ebx push edi mov edi,[ebp+34h] push 00000009h mov edx,000001A3h push 00000010h push 00000002h sub edx,edi mov edi,[ebp+30h] push 0000001Eh mov ecx,0000015Ch push 00000140h push ebp sub ecx,edi push edx push ecx mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L0042ECAF L0042EC91: mov [L007050E4],bl mov byte ptr [L00C8C49B],01h mov edi,00000386h mov [esp+18h],bl jmp L0042EC3D L0042ECA9: mov [esp+10h],ebx mov edx,ebx L0042ECAF: lea eax,[edx+000000F8h] mov edi,SSZ004FFDEC_Save_Password mov [esp+14h],eax mov ecx,esi xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx sub edi,ecx push 00000001h mov eax,ecx mov esi,edi mov edi,[esp+18h] push ebp shr ecx,02h rep movsd mov ecx,eax mov [esp+000000B0h],bl and ecx,00000003h rep movsb mov ecx,edx mov [edx+000000BCh],ebx call SUB_L004587A0 mov esi,[esp+10h] mov ecx,esi mov edx,[esi] call [edx+00000174h] push 000000C0h mov dword ptr [esi+00000098h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],08h jz L0042ED6D mov cl,[L00C8C49B] mov esi,[ebp+30h] push ebx push ebx push ecx mov ecx,[ebp+34h] push L007049FC mov edx,000001A1h push 00000386h push 00000001h sub edx,ecx push 000000D3h mov ecx,00000148h push 000000D2h push ebp sub ecx,esi push edx push ecx mov ecx,eax call SUB_L00422D00 jmp L0042ED6F L0042ED6D: xor eax,eax L0042ED6F: mov edx,[esp+18h] mov [ebp+000000A8h],eax mov dword ptr [eax+00000098h],0000041Dh mov eax,[ebp+000000A8h] and edx,000000FFh push 00000001h mov [eax+000000BCh],edx mov ecx,[ebp+000000A8h] push ebp mov [esp+000000B0h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],09h jz L0042EDF9 mov edx,[ebp+34h] mov esi,[ebp+30h] push ebx push 000015A6h mov ecx,000001BDh push 000015A4h push L0041FA60 sub ecx,edx push ebx mov edx,00000262h push ebx push ebp sub edx,esi push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L0042EDFB L0042EDF9: xor eax,eax L0042EDFB: mov [ebp+0000009Ch],eax mov dword ptr [eax+000000ACh],000015A5h mov ecx,[ebp+0000009Ch] push 00000001h push ebp mov [esp+000000B0h],bl call SUB_L004587A0 mov eax,[ebp+0000009Ch] push 000000ECh mov dword ptr [eax+00000098h],000186A8h mov ecx,[ebp+0000009Ch] mov dword ptr [ecx+000000B4h],0000000Ch mov edx,[ebp+0000009Ch] mov dword ptr [edx+000000B8h],00000006h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Ah jz L0042EE92 push ebx push 0000158Eh push 0000158Ch push L00420B50 push ebx push ebx push ebp push 0000010Ch push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042EE94 L0042EE92: xor esi,esi L0042EE94: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],0000158Dh mov dword ptr [esi+000000C4h],00000001h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A3h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Bh jz L0042EF05 push ebx push 00001591h push 0000158Fh push L00420B70 push ebx push ebx push ebp push 00000092h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042EF07 L0042EF05: xor esi,esi L0042EF07: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],00001590h mov [esi+000000C4h],ebx call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A0h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Ch jz L0042EF74 push ebx push 0000158Bh push 00001589h push L004207C0 push ebx push ebx push ebp push 00000004h push 0000022Bh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042EF76 L0042EF74: xor esi,esi L0042EF76: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],0000158Ah call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186ABh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Dh jz L0042EFDD push ebx push 00001594h push 00001592h push L00420B90 push ebx push ebx push ebp push 000000CDh push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042EFDF L0042EFDD: xor esi,esi L0042EFDF: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],00001593h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A1h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Eh jz L0042F046 push ebx push 00001597h push 00001595h push L00420BB0 push ebx push ebx push ebp push 000001B2h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042F048 L0042F046: xor esi,esi L0042F048: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],00001596h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A2h mov eax,[ebp+00h] mov ecx,ebp call [eax+00000170h] test eax,eax jz L0042F0E5 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],0Fh jz L0042F0BE push ebx push 00001588h push 00001586h push L00420A40 push ebx push ebx push ebp push 00000182h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042F0C0 L0042F0BE: xor esi,esi L0042F0C0: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],00001587h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A5h L0042F0E5: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+000000A8h],10h jz L0042F127 push ebx push 00001585h push 00001583h push L004207F0 push ebx push ebx push ebp push 0000019Ah push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0042F129 L0042F127: xor esi,esi L0042F129: push 00000001h push ebp mov ecx,esi mov [esp+000000B0h],bl mov dword ptr [esi+000000ACh],00001584h call SUB_L004587A0 mov ecx,[esp+000000A0h] mov dword ptr [esi+00000098h],000186A6h pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000009Ch retn ;------------------------------------------------------------------------------ Align 8 L0042F170: push esi mov esi,ecx call SUB_L0042F190 test byte ptr [esp+08h],01h jz L0042F188 push esi call SUB_L004D4F9E add esp,00000004h L0042F188: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042F190: push FFFFFFFFh push L004E19F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004E9EEC mov ecx,[esi+000000A0h] xor edi,edi cmp ecx,edi mov [esp+14h],edi jz L0042F1D0 mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A0h],edi L0042F1D0: mov ecx,[esi+000000A4h] cmp ecx,edi jz L0042F1E6 mov edx,[ecx] push 00000001h call [edx] mov [esi+000000A4h],edi L0042F1E6: mov ecx,[esi+000000A8h] cmp ecx,edi jz L0042F1FC mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A8h],edi L0042F1FC: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L0042F21A push SSZ004FFE88_AcctLogin_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L0042F21A: mov eax,[esi+3Ch] cmp eax,edi jz L0042F232 push SSZ004FFE74_AcctLogin_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042F232: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0042F260: mov eax,[ecx+000000A4h] mov dl,[eax+000000F8h] test dl,dl jz L0042F292 mov edx,[ecx+000000A0h] mov al,[edx+000000F8h] test al,al jz L0042F292 mov eax,[ecx+0000009Ch] mov dword ptr [eax+000000BCh],000015A5h jmp L0042F2A2 L0042F292: mov edx,[ecx+0000009Ch] mov dword ptr [edx+000000BCh],00000000h L0042F2A2: push esi mov esi,[ecx+50h] test esi,esi jz L0042F2B8 L0042F2AA: mov eax,[esi] mov ecx,esi call [eax+64h] mov esi,[esi+44h] test esi,esi jnz L0042F2AA L0042F2B8: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0042F2C0: push esi push edi mov edi,[L00B294BC] mov esi,ecx push 00000000h call SUB_L004584E0 call SUB_L00456C40 mov eax,[esi+000000A0h] cmp edi,eax jnz L0042F310 mov dword ptr [eax+000000E4h],00000000h mov ecx,[esi+000000A0h] mov eax,[ecx] call [eax+00000174h] mov ecx,[esi+000000A4h] mov dword ptr [ecx+000000E4h],00000001h mov edx,[esi+000000A4h] jmp L0042F348 L0042F310: mov eax,[esi+000000A4h] cmp edi,eax jnz L0042F351 mov dword ptr [eax+000000E4h],00000000h mov ecx,[esi+000000A4h] mov eax,[ecx] call [eax+00000174h] mov ecx,[esi+000000A0h] mov dword ptr [ecx+000000E4h],00000001h mov edx,[esi+000000A0h] L0042F348: push edx call SUB_L00456DC0 add esp,00000004h L0042F351: mov ecx,[L00B294BC] pop edi test ecx,ecx pop esi jz L0042F365 mov eax,[ecx] jmp [eax+00000174h] L0042F365: retn ;------------------------------------------------------------------------------ Align 16 L0042F370: jmp L0041FD00 Align 16 L0042F380: push esi mov esi,ecx mov ecx,[esp+08h] mov eax,[ecx+000000E4h] test eax,eax jnz L0042F40B mov eax,[esi+000000A0h] cmp ecx,eax jnz L0042F3D5 mov dword ptr [eax+000000E4h],00000001h mov ecx,[esi+000000A0h] mov eax,[ecx] call [eax+00000174h] mov ecx,[esi+000000A4h] mov dword ptr [ecx+000000E4h],00000000h mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+00000174h] pop esi retn 0004h ;------------------------------------------------------------------------------ L0042F3D5: mov dword ptr [eax+000000E4h],00000000h mov ecx,[esi+000000A0h] mov eax,[ecx] call [eax+00000174h] mov ecx,[esi+000000A4h] mov dword ptr [ecx+000000E4h],00000001h mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+00000174h] L0042F40B: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042F410: push FFFFFFFFh push L004E1A2E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000007Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+24h],esi call SUB_L00458F30 lea eax,[esp+14h] lea ecx,[esp+10h] push eax xor ebx,ebx push ecx push 00000A28h mov [esp+000000A0h],ebx mov dword ptr [esi],L004EA060 mov [esi+0000009Ch],ebx mov dword ptr [esi+08h],SSZ004FFEB8_DeleteChar_gump mov [esi+60h],ebx mov [esi+64h],ebx mov dword ptr [esi+54h],00000A28h call SUB_L004434A0 mov eax,[esp+1Ch] mov ecx,[esp+20h] mov [esp+38h],eax mov [esp+3Ch],ecx lea edx,[eax+0000010Ch] lea eax,[eax+eax+0000010Ch] mov [esp+40h],edx lea edx,[ecx+7Ch] lea ecx,[ecx+ecx+7Ch] mov [esp+44h],edx mov [esi+20h],eax mov [esi+24h],ecx call SUB_L004470A0 mov ecx,eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub ecx,eax mov [esi+30h],ecx call SUB_L004470B0 mov ecx,eax mov eax,[esi+24h] cdq sub eax,edx push SSZ004FFBCC_framedata_for_CDumbGump sar eax,1 sub ecx,eax push 00000008h mov [esi+34h],ecx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+04h] add edi,00000004h mov edx,ecx push ebx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] mov edx,[esi+54h] mov ecx,[eax+04h] push ecx push edx call SUB_L0042BB70 mov eax,[esp+000000C4h] lea ecx,[esp+64h] push eax push SSZ004FFEA0_Permanently_delete__s_ push ecx call SUB_L004D512F mov ecx,[esi+3Ch] mov eax,[esi+20h] push 00000001h push ebx lea edx,[esp+68h] push ebx push edx mov edx,[ecx+04h] push eax add edx,00000004h add eax,FFFFFF88h push edx push eax lea eax,[esp+0000008Ch] push eax push 00000386h push 00000002h push 00000032h push 0000003Ch call SUB_L00441160 add esp,00000064h lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx push edx push 0000047Eh call SUB_L004434A0 mov ecx,[esp+24h] mov ebp,[esi+24h] push 000000ECh lea eax,[00000000h+ecx*4] mov edx,eax mov eax,[esi+20h] sub eax,edx cdq sub eax,edx mov edi,eax sar edi,1 lea eax,[edi+ecx*2] add ecx,eax mov [esp+30h],ecx mov ecx,[esp+2Ch] lea edx,[ecx+ecx] sub ebp,edx call SUB_L004D4FA9 add esp,00000010h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+00000094h],01h jz L0042F633 push ebx push 00000483h push 00000481h push L0041F930 push ebx push ebx push esi push ebp push edi mov ecx,eax call SUB_L00421F40 jmp L0042F635 L0042F633: xor eax,eax L0042F635: push 00000001h push esi mov ecx,eax mov [esp+0000009Ch],bl mov dword ptr [eax+000000ACh],00000482h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+00000094h],02h jz L0042F68F mov ecx,[esp+20h] push ebx push 00000480h push 0000047Eh push L004C1AA0 push ebx push ebx push esi push ebp push ecx mov ecx,eax call SUB_L00421F40 jmp L0042F691 L0042F68F: xor eax,eax L0042F691: push 00000001h push esi mov ecx,eax mov [esp+0000009Ch],bl mov dword ptr [eax+000000ACh],0000047Fh call SUB_L004587A0 mov ecx,[esp+0000008Ch] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000088h retn 0008h ;------------------------------------------------------------------------------ Align 8 L0042F6D0: push esi mov esi,ecx call SUB_L0042F6F0 test byte ptr [esp+08h],01h jz L0042F6E8 push esi call SUB_L004D4F9E add esp,00000004h L0042F6E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042F6F0: push FFFFFFFFh push L004E1A48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EA060 mov eax,[L00B294A4] mov dword ptr [esp+10h],00000000h test eax,eax jz L0042F72B mov dword ptr [eax+6Ch],00000001h L0042F72B: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L0042F74D push SSZ004FFEE0_DeleteChar_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0042F74D: mov eax,[esi+3Ch] test eax,eax jz L0042F769 push SSZ004FFEC8_DeleteChar_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0042F769: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0042F790: jmp L0041F930 Align 16 SUB_L0042F7A0: push FFFFFFFFh push L004E1A89 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx xor edi,edi push ebp push 00000474h mov [esp+00000088h],edi mov dword ptr [esi],L004EA1D4 mov [esi+0000009Ch],edi mov dword ptr [esi+08h],SSZ004FFF20_PlayChar_gump mov [esi+60h],edi mov dword ptr [esi+54h],00000474h mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004434A0 push SSZ004FFF04_framedata_for_CPlayCharGump push 00000008h mov dword ptr [esi+30h],00000079h mov dword ptr [esi+34h],00000066h mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov ecx,[ebp+00h] push eax mov eax,[edx+04h] push ecx add eax,00000004h mov ecx,[esi+54h] xor edi,edi push eax push edi push edi push ecx push SUB_L004B9B80 call SUB_L00443500 mov edx,[ebx] mov eax,[ebp+00h] mov [esp+58h],edx mov edx,[esi+3Ch] lea ecx,[esp+4Ch] mov [esp+4Ch],edi push ecx mov [esp+58h],eax mov [esp+54h],edi push eax mov eax,[edx+04h] add eax,00000004h push eax push SSZ004FFE00_Password push 00000386h push 00000002h push 0000007Dh push 0000003Ch call SUB_L004410C0 mov ecx,[esp+000000DCh] add esp,00000058h lea edx,[esp+24h] push ecx push SSZ004FFEF8_Play_as__s_ push edx call SUB_L004D512F mov ecx,[esi+3Ch] mov ebp,[ebp+00h] push edi push edi mov edx,[ecx+04h] lea eax,[esp+28h] push edi push eax push ebp add edx,00000004h add ebp,FFFFFF88h push edx lea eax,[esp+48h] push ebp push eax push 00000386h push 00000002h push 00000032h push 0000003Ch call SUB_L00441160 push 000001CCh call SUB_L004D4FA9 add esp,00000040h mov [esp+00000084h],eax cmp eax,edi mov byte ptr [esp+7Ch],01h jz L0042F992 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_L0042A0B0 jmp L0042F994 L0042F992: xor eax,eax L0042F994: mov [esi+000000A0h],eax mov word ptr [eax+000000EAh],0476h mov ecx,[esi+000000A0h] mov ebx,00000001h push ebx push esi mov word ptr [ecx+000000ECh],0477h mov edx,[esi+000000A0h] mov byte ptr [esp+00000084h],00h mov byte ptr [edx+000000EEh],0Ch mov eax,[esi+000000A0h] mov byte ptr [eax+000000EFh],05h mov ecx,[esi+000000A0h] call SUB_L004587A0 mov ecx,[esi+000000A0h] mov [ecx+000000B8h],ebx mov edx,[esi+000000A0h] mov [edx+000000E4h],ebx mov eax,[esi+000000A0h] mov [L00B294BC],eax mov ecx,[esi+000000A0h] mov edx,[ecx] call [edx+00000174h] push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+00000084h],eax cmp eax,edi mov byte ptr [esp+7Ch],02h jz L0042FA66 mov ebp,[esi+34h] push edi push 0000047Ch mov ecx,00000124h push 0000047Bh push L0041F390 sub ecx,ebp mov ebp,[esi+30h] push edi mov edx,000000EEh push edi push esi sub edx,ebp push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L0042FA68 L0042FA66: xor eax,eax L0042FA68: push ebx push esi mov ecx,eax mov byte ptr [esp+00000084h],00h mov dword ptr [eax+000000ACh],0000047Dh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+00000084h],eax cmp eax,edi mov byte ptr [esp+7Ch],03h jz L0042FAD2 mov edx,[esi+34h] push edi push 00000479h push 00000478h push L004C1AA0 mov ecx,00000124h push edi push edi mov edi,[esi+30h] sub ecx,edx mov edx,00000145h push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L0042FAD4 L0042FAD2: xor eax,eax L0042FAD4: push ebx push esi mov ecx,eax mov byte ptr [esp+00000084h],00h mov dword ptr [eax+000000ACh],0000047Ah call SUB_L004587A0 mov ecx,[esp+74h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000070h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042FB10: push esi mov esi,ecx call SUB_L0042FB30 test byte ptr [esp+08h],01h jz L0042FB28 push esi call SUB_L004D4F9E add esp,00000004h L0042FB28: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042FB30: push FFFFFFFFh push L004E1AA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EA1D4 mov eax,[L00B294A4] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L0042FB6A mov dword ptr [eax+6Ch],00000001h L0042FB6A: mov ecx,[esi+000000A0h] cmp ecx,edi jz L0042FB80 mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A0h],edi L0042FB80: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L0042FB9E push SSZ004FFF44_PlayChar_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L0042FB9E: mov eax,[esi+3Ch] cmp eax,edi jz L0042FBB6 push SSZ004FFF30_PlayChar_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042FBB6: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0042FBE0: mov eax,[ecx+3Ch] mov ecx,[esp+04h] test ecx,ecx mov eax,[eax+04h] jl L0042FC13 mov edx,[esp+08h] test edx,edx jl L0042FC13 push esi xor esi,esi mov si,[eax] cmp ecx,esi pop esi jge L0042FC13 xor ecx,ecx mov cx,[eax+02h] cmp edx,ecx jge L0042FC13 mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L0042FC13: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 16 L0042FC20: push esi mov esi,ecx push 00000000h call SUB_L00476670 add esp,00000004h test esi,esi jz L0042FC39 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0042FC39: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L0042FC40: jmp L0041F390 Align 16 L0042FC50: mov eax,[ecx] push 00000000h push 00000000h call [eax+20h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L0042FC60: push FFFFFFFFh push L004E1ADE mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+40h] lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx xor edi,edi mov dword ptr [esi],L004EA348 push ebp mov [L00B294B8],esi push 00000816h mov [esp+38h],edi mov [esi+000000A0h],eax mov [esi+0000009Ch],edi mov dword ptr [esi+08h],SSZ004FFF78_YesNo_gump mov [esi+60h],edi mov dword ptr [esi+54h],00000816h mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004434A0 mov eax,[L005073D0] push SSZ004FFF5C_framedata_for_CYesNoGump cdq sub eax,edx push 00000008h mov ecx,eax mov eax,[ebp+00h] cdq sub eax,edx sar ecx,1 sar eax,1 sub ecx,eax mov eax,[ebx] cdq sub eax,edx mov [esi+30h],ecx mov ecx,eax mov eax,[L005073D4] cdq sub eax,edx mov [esi+14h],edi sar ecx,1 sar eax,1 sub eax,ecx mov dword ptr [esi+18h],00000001h mov [esi+34h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov ecx,[eax+04h] mov dx,[ebx] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov ecx,[ebp+00h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+54h] add eax,00000004h push eax push 00000000h push 00000000h push ecx push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+3Ch] mov eax,[ebp+00h] push 00000000h push 00000000h lea edx,[esp+54h] push 00000000h mov dword ptr [esp+58h],00000021h mov dword ptr [esp+60h],00000094h mov dword ptr [esp+5Ch],0000001Eh mov dword ptr [esp+64h],0000003Fh push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[esp+00000080h] push edx push 00000073h push eax push 00000386h push 00000001h push 0000001Eh push 00000021h call SUB_L00441160 add esp,00000068h push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+2Ch],01h jz L0042FE4C mov ecx,[esp+38h] push 00000000h push 0000081Bh push 0000081Ah push ecx push 00000000h push 00000000h push esi push 0000004Bh push 00000064h mov ecx,eax call SUB_L00421F40 jmp L0042FE4E L0042FE4C: xor eax,eax L0042FE4E: push 00000001h push esi mov ecx,eax mov byte ptr [esp+34h],00h mov dword ptr [eax+000000ACh],0000081Ch call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+2Ch],02h jz L0042FEA4 mov edx,[esp+3Ch] push 00000000h push 00000818h push 00000817h push edx push 00000000h push 00000000h push esi push 0000004Bh push 00000025h mov ecx,eax call SUB_L00421F40 jmp L0042FEA6 L0042FEA4: xor eax,eax L0042FEA6: push 00000001h push esi mov ecx,eax mov byte ptr [esp+34h],00h mov dword ptr [eax+000000ACh],00000819h call SUB_L004587A0 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0010h ;------------------------------------------------------------------------------ Align 16 L0042FEE0: push esi mov esi,ecx call SUB_L0042FF00 test byte ptr [esp+08h],01h jz L0042FEF8 push esi call SUB_L004D4F9E add esp,00000004h L0042FEF8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0042FF00: push FFFFFFFFh push L004E1AF8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EA348 mov eax,[L00B294B8] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L0042FF39 mov [L00B294B8],edi L0042FF39: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L0042FF57 push SSZ004FFF94_YesNo_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0042FF57: mov eax,[esi+3Ch] cmp eax,edi jz L0042FF6F push SSZ004FFF84_YesNo_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0042FF6F: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0042FF90: push FFFFFFFFh push L004E1B1B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] xor esi,esi cmp eax,esi mov [esp+14h],esi jz L0042FFEA push esi push 0000158Eh push 0000158Ch push L00420B50 push esi push esi push edi push 0000010Ch push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax L0042FFEA: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],0000158Dh mov dword ptr [esi+000000C4h],00000001h call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186A3h pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00430030: push FFFFFFFFh push L004E1B3B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] xor esi,esi cmp eax,esi mov [esp+14h],esi jz L0043008A push esi push 0000158Bh push 00001589h push L004207C0 push esi push esi push edi push 00000004h push 0000022Bh mov ecx,eax call SUB_L00421F40 mov esi,eax L0043008A: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],0000158Ah call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186ABh pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004300D0: push FFFFFFFFh push L004E1B5B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] mov dword ptr [esp+14h],00000000h test eax,eax jz L00430131 push 00000000h push 00001591h push 0000158Fh push L00420B70 push 00000000h push 00000000h push edi push 00000092h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00430133 L00430131: xor esi,esi L00430133: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],00001590h mov dword ptr [esi+000000C4h],00000000h call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186A0h pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430180: push FFFFFFFFh push L004E1B7B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] xor esi,esi cmp eax,esi mov [esp+14h],esi jz L004301DA push esi push 00001594h push 00001592h push L00420B90 push esi push esi push edi push 000000CDh push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax L004301DA: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],00001593h call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186A1h pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430220: push FFFFFFFFh push L004E1B9B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] xor esi,esi cmp eax,esi mov [esp+14h],esi jz L0043027A push esi push 00001597h push 00001595h push L00420BB0 push esi push esi push edi push 000001B2h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax L0043027A: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],00001596h call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186A2h pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004302C0: push FFFFFFFFh push L004E1BBB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov edi,[esp+1Ch] xor esi,esi cmp eax,esi mov [esp+14h],esi jz L0043031A push esi push 00001585h push 00001583h push L004207F0 push esi push esi push edi push 0000019Ah push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax L0043031A: push 00000001h push edi mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh mov dword ptr [esi+000000ACh],00001584h call SUB_L004587A0 mov ecx,[esp+0Ch] mov dword ptr [esi+00000098h],000186A6h pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430360: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1BDB push eax mov fs:[00000000h],esp push esi push edi mov edi,[esp+18h] mov ecx,edi mov eax,[edi] call [eax+00000170h] test eax,eax jz L004303ED push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax xor esi,esi cmp eax,esi mov [esp+10h],esi jz L004303C7 push esi push 00001588h push 00001586h push L00420A40 push esi push esi push edi push 00000182h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax L004303C7: push 00000001h push edi mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh mov dword ptr [esi+000000ACh],00001587h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A5h L004303ED: mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00430400: push esi mov esi,[esp+08h] push esi call SUB_L0042FF90 push esi call SUB_L004300D0 push esi call SUB_L00430030 push esi call SUB_L00430180 push esi call SUB_L00430220 push esi call SUB_L00430360 push esi call SUB_L004302C0 add esp,0000001Ch pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430440: push FFFFFFFFh push L004E1C50 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 mov esi,000001E0h xor ebx,ebx mov edi,00000280h push esi mov dword ptr [ebp+00h],L004EA4BC mov dword ptr [ebp+08h],SSZ004FFFA8_MainMenu_gump mov [ebp+60h],ebx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx push edi mov [esp+28h],ebx mov [L00C83640],ebx mov [L00C88348],ebx mov [L00C8834C],ebx mov [L005073D0],edi mov [L005073D4],esi call SUB_L004470C0 add esp,00000008h call SUB_L0040C940 cmp [L00C8C49E],bl jz L004304D9 call SUB_L004CF4A0 call SUB_L004CF3D0 L004304D9: call SUB_L00455F00 push esi push edi push ebx push ebx call SUB_L004D1490 call SUB_L0040C940 push SSZ004FFBCC_framedata_for_CDumbGump mov [L005000FC],bl push 00000008h mov [ebp+20h],edi mov [ebp+24h],esi mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h mov dword ptr [ebp+54h],0000157Ch call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+20h] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+20h] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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 [ebp+30h],ebx mov [ebp+34h],ebx call SUB_L0047D300 mov eax,[ebp+3Ch] mov ecx,[eax+04h] push ecx push 00000E14h call SUB_L0042BA90 mov edx,[ebp+3Ch] 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,[ebp+54h] push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,00000044h mov ecx,[ebp+3Ch] 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 00000004h push ebx push 000015A0h push SUB_L004B9B80 call SUB_L00443500 push 000000B0h call SUB_L004D4FA9 add esp,00000020h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],01h jz L0043061D mov ecx,eax call SUB_L0042E590 mov edx,eax jmp L0043061F L0043061D: xor edx,edx L0043061F: mov edi,L00C85FF0 or ecx,FFFFFFFFh xor eax,eax mov [esp+20h],bl repne scasb not ecx dec ecx mov [L00B294A0],edx jz L0043067A mov edx,[edx+000000A0h] mov edi,L00C85FF0 or ecx,FFFFFFFFh add edx,000000F8h 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,[L00B294A0] mov ecx,[ecx+000000A0h] mov edx,[ecx] call [edx+00000174h] L0043067A: cmp [L00C8C49B],bl jz L004306C9 mov eax,[L00B294A0] mov edi,L00C85FD0 or ecx,FFFFFFFFh mov edx,[eax+000000A4h] xor eax,eax add edx,000000F8h 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,[L00B294A0] mov ecx,[ecx+000000A4h] mov edx,[ecx] call [edx+00000174h] L004306C9: mov ecx,[L00B294A0] push 00000001h push ebp call SUB_L004587A0 push 000000ECh mov [ebp+000000A0h],ebx mov [ebp+0000009Ch],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],02h jz L00430722 push ebx push 0000158Eh push 0000158Ch push L00420B50 push ebx push ebx push ebp push 0000010Ch push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00430724 L00430722: xor esi,esi L00430724: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],0000158Dh mov dword ptr [esi+000000C4h],00000001h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A3h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L0043078F push ebx push 00001591h push 0000158Fh push L00420B70 push ebx push ebx push ebp push 00000092h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00430791 L0043078F: xor esi,esi L00430791: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],00001590h mov [esi+000000C4h],ebx call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A0h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],04h jz L004307F8 push ebx push 0000158Bh push 00001589h push L004207C0 push ebx push ebx push ebp push 00000004h push 0000022Bh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L004307FA L004307F8: xor esi,esi L004307FA: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],0000158Ah call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186ABh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],05h jz L0043085B push ebx push 00001594h push 00001592h push L00420B90 push ebx push ebx push ebp push 000000CDh push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L0043085D L0043085B: xor esi,esi L0043085D: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],00001593h call SUB_L004587A0 push 000000ECh mov dword ptr [esi+00000098h],000186A1h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],06h jz L004308BE push ebx push 00001597h push 00001595h push L00420BB0 push ebx push ebx push ebp push 000001B2h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L004308C0 L004308BE: xor esi,esi L004308C0: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],00001596h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A2h mov eax,[ebp+00h] mov ecx,ebp call [eax+00000170h] test eax,eax jz L00430954 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],07h jz L00430930 push ebx push 00001588h push 00001586h push L00420A40 push ebx push ebx push ebp push 00000182h push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00430932 L00430930: xor esi,esi L00430932: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],00001587h call SUB_L004587A0 mov dword ptr [esi+00000098h],000186A5h L00430954: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],08h jz L00430993 push ebx push 00001585h push 00001583h push L004207F0 push ebx push ebx push ebp push 0000019Ah push 0000000Eh mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L00430995 L00430993: xor esi,esi L00430995: push 00000001h push ebp mov ecx,esi mov [esp+28h],bl mov dword ptr [esi+000000ACh],00001584h call SUB_L004587A0 mov ecx,[esp+18h] mov dword ptr [esi+00000098h],000186A6h pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 L004309D0: push esi mov esi,ecx call SUB_L004309F0 test byte ptr [esp+08h],01h jz L004309E8 push esi call SUB_L004D4F9E add esp,00000004h L004309E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004309F0: push FFFFFFFFh push L004E1C68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EA4BC mov ecx,[esi+0000009Ch] xor edi,edi cmp ecx,edi mov [esp+14h],edi jz L00430A30 mov eax,[ecx] push 00000001h call [eax] mov [esi+0000009Ch],edi L00430A30: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L00430A4E push SSZ004FFFCC_MainMenu_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L00430A4E: mov eax,[esi+3Ch] cmp eax,edi jz L00430A66 push SSZ004FFFB8_MainMenu_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L00430A66: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00430A90: jmp L0041FA60 Align 16 L00430AA0: mov eax,[ecx+6Ch] test eax,eax jz L00430AE4 mov eax,[ecx+000000A0h] test eax,eax jnz L00430AE4 mov eax,[ecx+3Ch] mov ecx,[esp+04h] test ecx,ecx mov eax,[eax+04h] jl L00430AE4 mov edx,[esp+08h] test edx,edx jl L00430AE4 push esi xor esi,esi mov si,[eax] cmp ecx,esi pop esi jge L00430AE4 xor ecx,ecx mov cx,[eax+02h] cmp edx,ecx jge L00430AE4 mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L00430AE4: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 8 L00430AF0: push 00000011h call SUB_L004766D0 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00430B00: push esi mov esi,[ecx+50h] test esi,esi jz L00430B16 L00430B08: mov eax,[esi] mov ecx,esi call [eax+64h] mov esi,[esi+44h] test esi,esi jnz L00430B08 L00430B16: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00430B20: push FFFFFFFFh push L004E1D22 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 mov eax,[esp+38h] xor ebx,ebx mov [esi+0000009Ch],eax mov eax,00000001h mov [esi+000000A0h],eax mov [esi+18h],eax mov eax,000000C8h push SSZ00500004_ChatDialog_framedata push 00000008h mov [esp+34h],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 [esi+000000C0h],ebx mov [esi+000000C4h],ebx mov dword ptr [esi],L004EA630 mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb lea eax,[esp+18h] lea ecx,[esp+24h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+34h] lea eax,[esp+28h] push edx push eax push 00000A8Dh call SUB_L004434A0 push 0000009Ch call SUB_L004D4FA9 add esp,00000024h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],01h jz L00430C1F push esi mov ecx,eax call SUB_L00434820 jmp L00430C21 L00430C1F: xor eax,eax L00430C21: push 0000009Ch mov [esp+30h],bl mov [esi+000000C8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],02h jz L00430C4F push esi mov ecx,eax call SUB_L00434820 jmp L00430C51 L00430C4F: xor eax,eax L00430C51: push 0000009Ch mov [esp+30h],bl mov [esi+000000CCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],03h jz L00430C7F push esi mov ecx,eax call SUB_L00434820 jmp L00430C81 L00430C7F: xor eax,eax L00430C81: push 0000009Ch mov [esp+30h],bl mov [esi+000000D0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],04h jz L00430CAF push esi mov ecx,eax call SUB_L00434820 jmp L00430CB1 L00430CAF: xor eax,eax L00430CB1: push 0000009Ch mov [esp+30h],bl mov [esi+000000D4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],05h jz L00430CDF push esi mov ecx,eax call SUB_L00434820 jmp L00430CE1 L00430CDF: xor eax,eax L00430CE1: push 0000009Ch mov [esp+30h],bl mov [esi+000000D8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],06h jz L00430D0F push esi mov ecx,eax call SUB_L00434820 jmp L00430D11 L00430D0F: xor eax,eax L00430D11: mov ebp,[esp+44h] mov [esp+2Ch],bl cmp ebp,ebx mov [esi+000000DCh],eax jz L00430D5F push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],07h jz L00430D51 push esi mov ecx,eax call SUB_L00434820 mov [esp+2Ch],bl mov [esi+000000E0h],eax jmp L00430D65 L00430D51: xor eax,eax mov [esp+2Ch],bl mov [esi+000000E0h],eax jmp L00430D65 L00430D5F: mov [esi+000000E0h],ebx L00430D65: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],08h jz L00430D9D push ebx push 00000A95h push 00000A94h push SUB_L004216F0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00430D9F L00430D9D: xor eax,eax L00430D9F: mov [esi+000000E4h],eax mov [eax+000000A4h],ebx mov ecx,[esi+000000E4h] mov edi,00000001h push edi push esi mov [ecx+000000C0h],edi mov ecx,[esi+000000E4h] mov [esp+34h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],09h jz L00430E05 push ebx push 00000A9Bh push 00000A9Ah push SUB_L004216F0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00430E07 L00430E05: xor eax,eax L00430E07: mov [esi+000000E8h],eax mov [eax+000000A4h],edi mov edx,[esi+000000E8h] push edi push esi mov [esp+34h],bl mov [edx+000000C0h],edi mov ecx,[esi+000000E8h] call SUB_L004587A0 push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],0Ah jz L00430E5F mov ecx,[L00C8C4B4] push ecx push ebx push edi push ebx push edi push esi mov ecx,eax call SUB_L004356E0 jmp L00430E61 L00430E5F: xor eax,eax L00430E61: mov ecx,[esp+3Ch] push ebx mov [esi+000000B0h],eax mov edx,[L004FFFF8] push FFFFFFFFh push FFFFFFFFh push ebx push edx push ecx mov ecx,eax mov [esp+44h],bl call SUB_L004359B0 mov edx,[esp+14h] mov ecx,[esi+20h] push 000001E0h lea eax,[edx+edx] sub ecx,eax push ecx mov ecx,[esi+000000B0h] push ebx push ebx call SUB_L00435920 push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],0Bh jz L00430ED2 mov edx,[L00C8C4B4] mov ecx,eax push edx push ebx push edi push ebx push edi push esi call SUB_L004356E0 jmp L00430ED4 L00430ED2: xor eax,eax L00430ED4: mov edx,[esp+40h] push ebx mov [esi+000000B4h],eax mov ecx,[L00500000] push FFFFFFFFh push FFFFFFFFh push ebx push ecx push edx mov ecx,eax mov [esp+44h],bl call SUB_L004359B0 push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],0Ch jz L00430F26 mov ecx,[L00C8C4B4] push ecx push ebx push edi push ebx push edi push esi mov ecx,eax call SUB_L004356E0 jmp L00430F28 L00430F26: xor eax,eax L00430F28: push ebx mov [esi+000000B8h],eax mov edx,[L004FFFFC] push FFFFFFFFh push FFFFFFFFh push ebx push edx push L00D1A680 mov ecx,eax mov [esp+44h],bl call SUB_L004359B0 mov ecx,[esi+000000B0h] call SUB_L00436650 mov ecx,[esi+000000E8h] mov edx,[ecx+24h] add eax,edx mov edx,[esp+10h] cmp ebp,ebx lea edi,[eax+edx*4+12h] jz L00431021 push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],0Dh jz L00430FA2 mov ecx,[L00C8C4B4] push ecx push ebx push 00000001h push ebx push 00000001h push esi mov ecx,eax call SUB_L004356E0 jmp L00430FA4 L00430FA2: xor eax,eax L00430FA4: push ebx mov [esi+000000BCh],eax mov edx,[L00500000] push FFFFFFFFh push FFFFFFFFh push ebx push edx push ebp mov ecx,eax mov [esp+44h],bl call SUB_L004359B0 push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+2Ch],0Eh jz L00430FF4 mov ecx,[L00C8C4B4] push ecx push ebx push 00000001h push ebx push 00000001h push esi mov ecx,eax call SUB_L004356E0 jmp L00430FF6 L00430FF4: xor eax,eax L00430FF6: push ebx mov [esi+000000C0h],eax mov edx,[L004FFFFC] push FFFFFFFFh push FFFFFFFFh push ebx push edx push L00D1A680 mov ecx,eax mov [esp+44h],bl call SUB_L004359B0 mov eax,[esp+10h] lea edi,[edi+eax+12h] L00431021: push edi mov ecx,esi call SUB_L004311F0 mov ecx,esi call SUB_L00431400 mov ecx,[esp+34h] cmp ecx,ebx jz L00431068 mov eax,[ecx+20h] cdq sub eax,edx mov edi,eax mov eax,[esi+20h] cdq sub eax,edx sar edi,1 sar eax,1 sub edi,eax mov [esi+30h],edi mov eax,[ecx+24h] cdq sub eax,edx mov edi,eax mov eax,[esi+24h] cdq sub eax,edx sar edi,1 sar eax,1 sub edi,eax mov [esi+34h],edi jmp L0043108C L00431068: mov eax,[esi+20h] cdq sub eax,edx mov edx,00000140h sar eax,1 sub edx,eax mov eax,[esi+24h] mov [esi+30h],edx cdq sub eax,edx mov edx,000000F0h sar eax,1 sub edx,eax mov [esi+34h],edx L0043108C: push 00000001h push ecx mov ecx,esi call SUB_L004587A0 call SUB_L00456C40 mov eax,[esi+000000B8h] push eax call SUB_L00456DC0 mov ecx,[esi+000000B8h] add esp,00000004h call SUB_L004364E0 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0014h ;------------------------------------------------------------------------------ Align 8 L004310D0: push esi mov esi,ecx call SUB_L004310F0 test byte ptr [esp+08h],01h jz L004310E8 push esi call SUB_L004D4F9E add esp,00000004h L004310E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004310F0: push FFFFFFFFh push L004E1D38 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000044h push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EA630 mov ecx,[esi+4Ch] mov eax,[esi+000000A0h] test ecx,ecx mov dword ptr [esp+50h],00000000h jz L00431185 test eax,eax jz L0043113C mov eax,[ecx] push esi call [eax+00000188h] jmp L004311C4 L0043113C: mov ecx,[esi+000000C0h] push edi test ecx,ecx jz L00431150 call SUB_L00436640 mov edi,eax jmp L00431152 L00431150: xor edi,edi L00431152: mov ecx,[esi+000000B8h] test ecx,ecx jz L00431172 call SUB_L00436640 mov ecx,[esi+4Ch] push edi push eax push esi mov edx,[ecx] call [edx+0000018Ch] pop edi jmp L004311C4 L00431172: mov ecx,[esi+4Ch] xor eax,eax push edi push eax mov edx,[ecx] push esi call [edx+0000018Ch] pop edi jmp L004311C4 L00431185: test eax,eax jnz L004311C4 mov eax,[L00C88338] test eax,eax jnz L004311C4 mov eax,[L00C88300] test eax,eax jz L004311C4 mov ecx,[esi+000000B8h] call SUB_L00436640 push eax lea eax,[esp+0Ch] push eax call SUB_L00432140 add esp,00000008h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L004311C4: mov ecx,esi mov dword ptr [esp+50h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+48h] pop esi mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004311F0: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esi+3Ch] mov [esi+24h],eax mov eax,[ecx+04h] test eax,eax jz L0043121D push SSZ0050001C_ChatDialog_frame0 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L0043121D: mov eax,[esi+20h] push SSZ0050001C_ChatDialog_frame0 imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] pop edi mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] pop esi mov ecx,[eax+04h] mov [ecx+02h],dx retn 0004h ;------------------------------------------------------------------------------ Align 4 L00431280: cmp dword ptr [esp+04h],00000001h jnz L00431291 mov dword ptr [ecx+000000A0h],00000000h L00431291: test ecx,ecx jz L0043129B mov eax,[ecx] push 00000001h call [eax] L0043129B: retn 0004h ;------------------------------------------------------------------------------ Align 4 L004312A0: mov eax,[L00B294BC] push esi mov esi,ecx cmp eax,esi jnz L004312B0 push 00000001h jmp L004312B2 L004312B0: push 00000000h L004312B2: mov ecx,esi call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov [esi+70h],eax mov eax,[esi+64h] test eax,eax mov dword ptr [esi+000000A4h],00000001h mov [esi+74h],ecx jz L00431305 cmp dword ptr [esi+000000A8h],00000001h jnz L004312EF mov dword ptr [esi+000000A8h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L004312EF: mov dword ptr [esi+000000A8h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax L00431305: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00431310: push esi mov esi,ecx mov eax,[esi+000000A8h] mov dword ptr [esi+000000A4h],00000000h cmp eax,00000002h jnz L00431332 mov dword ptr [esi+000000A8h],00000000h L00431332: call SUB_L00456C40 push esi call SUB_L00456DC0 mov eax,[esi+000000C0h] add esp,00000004h test eax,eax jz L00431362 mov ecx,[esi+000000B8h] push ebx mov edx,[ecx+34h] mov ebx,[ecx+24h] mov ecx,[esp+10h] add edx,ebx cmp ecx,edx pop ebx jg L00431368 L00431362: mov eax,[esi+000000B8h] L00431368: mov ecx,eax mov [esi+000000C4h],eax call SUB_L004364E0 push 00000000h call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00431390: mov ecx,[ecx+000000C4h] test ecx,ecx jz L004313A4 mov edx,[esp+04h] mov eax,[ecx] push edx call [eax+44h] L004313A4: retn 0004h ;------------------------------------------------------------------------------ Align 16 L004313B0: push esi mov esi,ecx mov ecx,[esi+000000C4h] test ecx,ecx jz L004313CF mov eax,[ecx] call [eax+00000190h] mov dword ptr [esi+000000C4h],00000000h L004313CF: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004313E0: db 85h; ':' db C9h; '‰' db C7h; '‡' db 81h; '?' db A0h; 'ÿ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 74h; 't' db 06h; db 8Bh; '<' db 01h; db 6Ah; 'j' db 01h; db FFh; 'ï' db 10h; db 33h; '3' db C0h; '€' db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00431400: sub esp,00000010h lea eax,[esp+00h] push esi mov esi,ecx lea ecx,[esp+0Ch] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+1Ch] lea eax,[esp+14h] push edx push eax push 00000A8Dh call SUB_L004434A0 mov ecx,[esi+20h] add esp,00000018h push ecx mov ecx,[esi+000000C8h] push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+20h] mov eax,[esi+24h] push edx mov edx,[esp+08h] mov ecx,[esi+000000CCh] sub eax,edx push eax push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+04h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000D0h] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+04h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000D4h] push edx mov edx,[esp+0Ch] push eax mov eax,[esi+20h] sub eax,edx push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov ecx,[esi+20h] push ecx mov ecx,[esi+000000B0h] call SUB_L00436650 mov edx,[esp+08h] mov ecx,[esi+000000D8h] add eax,edx push eax push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+20h] mov ecx,[esi+000000B0h] push edx call SUB_L00436650 mov ecx,[esp+08h] lea edx,[eax+ecx*2+12h] push edx push 00000000h push 00000A8Ch mov ecx,[esi+000000DCh] push 00000000h call SUB_L004349D0 mov eax,[esi+000000C0h] test eax,eax jz L0043154A mov edx,[esp+04h] mov eax,[esi+20h] mov ecx,[esi+000000E8h] push eax neg edx mov eax,[ecx+24h] mov ecx,[esi+24h] shl edx,1 sub edx,eax add edx,ecx mov ecx,[esi+000000E0h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 L0043154A: mov ecx,[esi+000000B0h] call SUB_L00436650 mov edx,[esi+20h] push eax mov eax,[esp+0Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+08h] push edx push ecx mov ecx,[esi+000000B0h] push eax call SUB_L00435920 mov ecx,[esi+000000B0h] push 00000000h call SUB_L00435D70 mov ecx,[esi+000000B4h] push 00000012h call SUB_L00436660 mov ecx,[esi+000000B0h] push eax call SUB_L00436650 mov edx,[esp+0Ch] mov ecx,[esp+10h] lea eax,[eax+edx*2] push eax push ecx mov ecx,[esi+000000B4h] call SUB_L00435920 mov ecx,[esi+000000B4h] push 00000012h call SUB_L00436660 mov edx,[esp+0Ch] lea ecx,[edx+edx] mov edx,[esi+20h] sub edx,ecx mov ecx,[esi+000000B0h] sub edx,eax push edx call SUB_L00436650 mov ecx,[esp+0Ch] lea edx,[eax+ecx*2] mov ecx,[esi+000000B4h] push edx call SUB_L00436660 mov edx,[esp+14h] mov ecx,[esi+000000B8h] add eax,edx push eax call SUB_L00435920 mov eax,[esi+000000C0h] test eax,eax jz L00431695 mov ecx,[esi+000000BCh] push 00000012h call SUB_L00436660 mov edx,[esi+24h] push eax mov eax,[esp+0Ch] lea ecx,[eax+eax+12h] mov eax,[esi+000000E8h] sub edx,ecx mov ecx,[eax+24h] sub edx,ecx mov ecx,[esp+10h] push edx push ecx mov ecx,[esi+000000BCh] call SUB_L00435920 mov ecx,[esi+000000BCh] push 00000012h call SUB_L00436660 mov edx,[esp+0Ch] lea ecx,[edx+edx] mov edx,[esi+20h] sub edx,ecx sub edx,eax mov eax,[esp+08h] push edx mov edx,[esi+24h] lea ecx,[eax+eax+12h] mov eax,[esi+000000E8h] sub edx,ecx mov ecx,[eax+24h] sub edx,ecx mov ecx,[esi+000000BCh] push edx call SUB_L00436660 mov edx,[esp+14h] mov ecx,[esi+000000C0h] add eax,edx push eax call SUB_L00435920 L00431695: mov ecx,[esi+000000E8h] mov edx,[esi+24h] mov eax,[ecx+24h] sub edx,eax mov eax,[esp+04h] sub edx,eax mov eax,[esi+000000E4h] mov [eax+34h],edx mov ecx,[esi+000000E4h] mov edx,[esi+000000E8h] mov eax,[ecx+34h] mov [edx+34h],eax mov eax,[esi+000000E4h] mov ecx,[esi+20h] mov edx,[eax+20h] sub ecx,edx mov edx,[esp+08h] sub ecx,edx mov [eax+30h],ecx mov edx,[esi+000000E4h] mov eax,[esi+000000E8h] pop esi mov ecx,[edx+30h] sub ecx,[eax+20h] mov [eax+30h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00431700: push esi xor esi,esi push esi push esi push esi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0043173C mov ecx,[esp+08h] push esi push ecx mov ecx,eax call SUB_L0046FD40 test eax,eax jz L0043173C mov ecx,eax call SUB_L004C8360 pop esi retn ;------------------------------------------------------------------------------ L0043173C: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L00431740: push ecx mov edx,[esp+08h] lea eax,[esp+08h] lea ecx,[esp+00h] push eax push ecx push edx mov dword ptr [esp+0Ch],00000000h call SUB_L0048BEF0 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00431770: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1D7A push eax mov eax,00002814h mov fs:[00000000h],esp call SUB_L004D4B90 push ebp push esi lea eax,[esp+14h] push edi mov edi,[esp+00002830h] lea ecx,[esp+10h] push eax push ecx push edi mov dword ptr [esp+1Ch],00000000h call SUB_L0048BF30 lea edx,[esp+28h] push 00000004h lea eax,[esp+20h] push edx push eax push edi call SUB_L0048BFD0 lea esi,[esp+3Ch] add esp,0000001Ch sub esi,00000002h L004317CD: add esi,00000002h lea ecx,[esp+10h] push esi push ecx push edi call SUB_L0048BF30 add esp,0000000Ch cmp word ptr [esi],0000h jnz L004317CD lea esi,[esp+00000820h] sub esi,00000002h L004317EF: add esi,00000002h lea edx,[esp+10h] push esi push edx push edi call SUB_L0048BF30 add esp,0000000Ch cmp word ptr [esi],0000h jnz L004317EF mov eax,[esp+18h] and eax,0000FFFFh cmp eax,000003E9h jg L00431B98 jz L00431B7B cmp eax,00000026h jg L0043192F cmp eax,00000025h jge L0043199A lea ecx,[eax-01h] cmp ecx,00000023h ja L00431EB9 xor edx,edx mov dl,[ecx+CASE_00431F08] jmp [CASE_PROCTABLE_00431F00+edx*4] CASE_00431F00_PROC0001: mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 xor esi,esi lea edi,[esp+00001020h] push esi push esi push esi push SSZ00500038_chat lea ebp,[eax+14h] call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0043189D push esi push ebp mov ecx,eax call SUB_L0046FD40 test eax,eax jz L0043189D mov ecx,eax call SUB_L004C8360 mov esi,eax L0043189D: cmp word ptr [esi],0000h jz L004318EA L004318A3: mov ax,[esi] cmp ax,0025h jnz L004318D5 add esi,00000002h lea eax,[esp+20h] cmp word ptr [esi],0031h jz L004318C0 lea eax,[esp+00000820h] L004318C0: push eax push edi call SUB_L004C4430 push edi call SUB_L004C4300 add esp,0000000Ch lea edi,[edi+eax*2] jmp L004318DB L004318D5: mov [edi],ax add edi,00000002h L004318DB: cmp word ptr [esi],0000h jz L004318EA add esi,00000002h cmp word ptr [esi],0000h jnz L004318A3 L004318EA: mov word ptr [edi],0000h mov ecx,[L0050CE90] mov eax,[L00B2948C] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx push ecx lea ecx,[esp+00001034h] push ecx mov ecx,[eax+000000C4h] call SUB_L004359B0 mov eax,[L00B2948C] lea edx,[esp+20h] push edx mov ecx,[eax+000000C0h] call SUB_L00435C20 jmp L00431EE6 L0043192F: cmp eax,00000029h jg L00431B44 cmp eax,00000028h jge CASE_00431F00_PROC0000 cmp eax,00000027h jnz L00431EB9 mov eax,[L00B2948C] test eax,eax jz L00431EE6 mov ecx,[eax+64h] test ecx,ecx jz L0043199F mov ecx,[eax+00000128h] test ecx,ecx jnz L0043199F mov ecx,[eax+2Ch] mov edx,[eax+28h] mov dword ptr [eax+00000128h],00000001h mov eax,[eax+3Ch] push ecx push edx mov ecx,[eax+0Ch] add ecx,00000004h push ecx push 00000000h push 00000000h push 00000A53h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0043199A: mov eax,[L00B2948C] L0043199F: test eax,eax jz L00431EE6 mov esi,[esp+20h] mov eax,[eax+00000124h] lea edx,[esp+22h] and esi,0000FFFFh push eax push edx sub esi,00000030h call SUB_L004C4320 add esp,00000008h test eax,eax jnz L004319D1 mov esi,00000004h L004319D1: or eax,FFFFFFFFh lea ecx,[esp+0Ch] mov [esp+0Ch],eax mov [esp+14h],eax lea eax,[esp+14h] lea edx,[esp+00000820h] push eax push ecx mov ebp,[esp+24h] mov edi,[L00B2948C] push edx mov edx,[esp+24h] lea eax,[esp+2Eh] and edx,0000FFFFh lea ecx,[esp+0000102Ch] push eax add edx,00000014h push ecx push edx call SUB_L00431F50 mov al,[L00505E46] add esp,00000018h test al,al jz L00431A5D push ebp call SUB_L00470260 add esp,00000004h test al,al jz L00431A5D mov eax,[edi+000000C4h] push 00000000h push eax lea ecx,[esp+00000828h] push L00436A10 lea edx,[esp+2Eh] push ecx push edx call SUB_L004702E0 add esp,00000014h cmp eax,FFFFFFFFh jnz L00431EE6 L00431A5D: mov eax,[esp+14h] mov ecx,[esp+0Ch] push ebp push eax push ecx lea edx,[esp+0000102Ch] push esi push edx mov ecx,edi call SUB_L00432C40 jmp L00431EE6 CASE_00431F00_PROC0000: mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 xor esi,esi lea edi,[esp+00001020h] push esi push esi push esi push SSZ00500038_chat lea ebp,[eax+14h] call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00431ACC push esi push ebp mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00431ACC mov ecx,eax call SUB_L004C8360 mov esi,eax L00431ACC: cmp word ptr [esi],0000h jz L00431B19 L00431AD2: mov ax,[esi] cmp ax,0025h jnz L00431B04 add esi,00000002h lea eax,[esp+20h] cmp word ptr [esi],0031h jz L00431AEF lea eax,[esp+00000820h] L00431AEF: push eax push edi call SUB_L004C4430 push edi call SUB_L004C4300 add esp,0000000Ch lea edi,[edi+eax*2] jmp L00431B0A L00431B04: mov [edi],ax add edi,00000002h L00431B0A: cmp word ptr [esi],0000h jz L00431B19 add esi,00000002h cmp word ptr [esi],0000h jnz L00431AD2 L00431B19: mov word ptr [edi],0000h mov ecx,[L0050CE90] mov eax,[L00B2948C] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx push ecx lea ecx,[esp+00001034h] push ecx mov ecx,[eax+000000C4h] jmp L00431EE1 L00431B44: cmp eax,000003E8h jnz L00431EB9 mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 xor edx,edx cmp word ptr [esp+00000820h],0031h lea eax,[esp+20h] setz dl push edx push eax call SUB_L00434360 jmp L00431EE6 L00431B7B: mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 lea edx,[esp+20h] push edx call SUB_L00434530 jmp L00431EE6 L00431B98: add eax,FFFFFC15h cmp eax,00000006h ja L00431EB9 jmp [CASE_PROCTABLE_00431F2C+eax*4] CASE_00431F2C_PROC0000: push 000000ECh call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov [esp+0Ch],ebp test ebp,ebp mov dword ptr [esp+00002828h],00000000h jz L00431EE6 xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00431C0B push edi push 00000011h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00431C0B mov ecx,eax call SUB_L004C8360 mov edi,eax L00431C0B: xor esi,esi push esi push esi push esi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00431C43 push esi push 00000010h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00431C43 mov ecx,eax call SUB_L004C8360 mov esi,eax L00431C43: push 00000000h push edi push esi push FFFFFFFFh push 00000000h mov ecx,ebp call SUB_L00430B20 jmp L00431EE6 CASE_00431F2C_PROC0001: mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 mov eax,[ecx] push 00000001h call [eax] jmp L00431EE6 CASE_00431F2C_PROC0002: mov eax,[L00500034] or esi,FFFFFFFFh cmp eax,esi push 0000012Ch jnz L00431CBF call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+00002828h],00000001h jz L00431EE6 lea ecx,[esp+20h] push ecx push 000001E0h push 00000280h push 00000000h push 00000000h mov ecx,eax call SUB_L004321A0 jmp L00431EE6 L00431CBF: call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+00002828h],00000002h jz L00431D04 mov ecx,[L007050C0] lea edx,[esp+20h] push edx mov edx,[L007050C4] push ecx mov ecx,[L007050C8] push edx mov edx,[L00500034] push ecx push edx mov ecx,eax call SUB_L004321A0 jmp L00431D06 L00431D04: xor eax,eax L00431D06: mov ecx,[L007050B4] mov [esp+00002828h],esi test ecx,ecx jz L00431EE6 mov ecx,eax call SUB_L0041E070 jmp L00431EE6 CASE_00431F2C_PROC0003: mov ecx,[L00B2948C] test ecx,ecx jz L00431EE6 mov eax,[esp+20h] and eax,0000FFFFh sub eax,00000030h dec eax jz L00431D58 dec eax jz L00431D51 dec eax jz L00431D58 mov eax,[L0050CE70] jmp L00431D5D L00431D51: mov eax,[L0050CE78] jmp L00431D5D L00431D58: mov eax,[L0050CE80] L00431D5D: mov ecx,[ecx+000000C0h] push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h push eax lea eax,[esp+36h] push eax call SUB_L00435B70 jmp L00431EE6 CASE_00431F2C_PROC0004: mov eax,[L00B2948C] test eax,eax jz L00431EE6 lea ecx,[esp+20h] push ecx mov ecx,[eax+000000C0h] call SUB_L00435C20 jmp L00431EE6 CASE_00431F2C_PROC0005: mov esi,[L00B2948C] test esi,esi jz L00431EE6 mov ecx,[esi+000000C0h] call SUB_L00435D00 xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00431DEE push edi push 00000001h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00431DEE mov ecx,eax call SUB_L004C8360 mov edi,eax L00431DEE: mov edx,[L0050CE6C] mov ecx,[esi+000000B4h] push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h push edx push edi jmp L00431EE1 CASE_00431F2C_PROC0006: mov eax,[L00B2948C] test eax,eax jz L00431EE6 push 00000000h mov ebp,eax mov eax,[L0050CE6C] push FFFFFFFFh push FFFFFFFFh push 00000000h lea ecx,[esp+30h] push eax push ecx mov ecx,[ebp+000000B4h] call SUB_L004359B0 push 0000005Fh lea esi,[esp+00002024h] call SUB_L00431700 mov edi,eax add esp,00000004h mov ax,[edi] test ax,ax jz L00431E96 L00431E51: cmp ax,0025h jnz L00431E7F add edi,00000002h xor eax,eax lea edx,[esp+20h] cmp word ptr [edi],0031h setnz al dec eax and eax,edx push eax push esi call SUB_L004C4430 push esi call SUB_L004C4300 add esp,0000000Ch lea esi,[esi+eax*2] jmp L00431E85 L00431E7F: mov [esi],ax add esi,00000002h L00431E85: cmp word ptr [edi],0000h jz L00431E8E add edi,00000002h L00431E8E: mov ax,[edi] test ax,ax jnz L00431E51 L00431E96: push 00000000h mov word ptr [esi],0000h mov eax,[L0050CE90] push FFFFFFFFh push FFFFFFFFh push 00000000h lea ecx,[esp+00002030h] push eax push ecx mov ecx,[ebp+000000C4h] jmp L00431EE1 L00431EB9: mov edx,[L00B2948C] test edx,edx jz L00431EE6 mov ecx,[L0050CE70] mov eax,[L0050CE74] push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx mov ecx,[edx+000000C4h] push eax push SWC0051191C_Error L00431EE1: call SUB_L004359B0 L00431EE6: mov ecx,[esp+00002820h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00002820h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00431F00: dd CASE_00431F00_PROC0000 dd CASE_00431F00_PROC0001 CASE_00431F08: db 00h, 00h, 01h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 00h CASE_PROCTABLE_00431F2C: dd CASE_00431F2C_PROC0000 dd CASE_00431F2C_PROC0001 dd CASE_00431F2C_PROC0002 dd CASE_00431F2C_PROC0003 dd CASE_00431F2C_PROC0004 dd CASE_00431F2C_PROC0005 dd CASE_00431F2C_PROC0006 Align 16 SUB_L00431F50: push ebp push esi push edi xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00431F8E mov ecx,[esp+10h] push edi push ecx mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00431F8E mov ecx,eax call SUB_L004C8360 mov edi,eax L00431F8E: mov esi,[esp+14h] cmp word ptr [edi],0000h mov ebp,esi jz L0043202B push ebx mov ebx,[esp+24h] L00431FA3: mov ax,[edi] cmp ax,0025h jnz L0043200C add edi,00000002h cmp word ptr [edi],0031h jnz L00431FF0 push ebp mov word ptr [esi],0000h call SUB_L004C4300 mov edx,[esp+20h] mov [ebx],eax push edx push esi call SUB_L004C4430 push esi call SUB_L004C4300 mov ecx,[ebx] add esp,00000010h lea edx,[eax+ecx-01h] mov eax,[esp+28h] push esi mov [eax],edx call SUB_L004C4300 add esp,00000004h lea esi,[esi+eax*2] jmp L00432012 L00431FF0: mov ecx,[esp+20h] push ecx push esi call SUB_L004C4430 add esp,00000008h push esi call SUB_L004C4300 add esp,00000004h lea esi,[esi+eax*2] jmp L00432012 L0043200C: mov [esi],ax add esi,00000002h L00432012: cmp word ptr [edi],0000h jz L00432021 add edi,00000002h cmp word ptr [edi],0000h jnz L00431FA3 L00432021: pop ebx mov word ptr [esi],0000h pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ L0043202B: mov word ptr [esi],0000h pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00432040: sub esp,0000080Ch push edi mov edi,[esp+00000814h] lea eax,[esp+0Ch] push 00000004h lea ecx,[esp+08h] push eax push ecx push edi mov dword ptr [esp+14h],00000000h call SUB_L0048BFD0 lea edx,[esp+18h] lea eax,[esp+14h] push edx push eax push edi call SUB_L0048BF30 mov eax,[L00B2948C] add esp,0000001Ch test eax,eax jz L00432118 push esi lea esi,[esp+14h] sub esi,00000002h L00432090: add esi,00000002h lea ecx,[esp+08h] push esi push ecx push edi call SUB_L0048BF30 add esp,0000000Ch cmp word ptr [esi],0000h jnz L00432090 mov eax,[esp+0Ch] mov edx,[L00B2948C] and eax,0000FFFFh pop esi dec eax cmp eax,00000004h ja L004320F5 jmp [CASE_PROCTABLE_00432120+eax*4] CASE_00432120_PROC0004: mov eax,[L0050CE90] mov ecx,eax jmp L00432100 CASE_00432120_PROC0003: mov eax,[L0050CE8C] mov ecx,[L0050CE88] jmp L00432100 CASE_00432120_PROC0000: mov eax,[L0050CE84] mov ecx,[L0050CE80] jmp L00432100 CASE_00432120_PROC0001: mov eax,[L0050CE7C] mov ecx,[L0050CE78] jmp L00432100 L004320F5: mov eax,[L0050CE74] mov ecx,[L0050CE70] L00432100: push 00000000h push FFFFFFFFh push FFFFFFFFh push ecx lea ecx,[esp+20h] push eax push ecx mov ecx,[edx+000000C4h] call SUB_L004359B0 L00432118: pop edi add esp,0000080Ch retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00432120: dd CASE_00432120_PROC0000 dd CASE_00432120_PROC0001 dd CASE_00432120_PROC0000 dd CASE_00432120_PROC0003 dd CASE_00432120_PROC0004 Align 16 SUB_L00432140: push ebx push esi mov esi,[esp+0Ch] push edi push 000000B5h push esi call SUB_L0048BD40 push 00000000h push esi call SUB_L0048BD70 mov edi,[esp+24h] add esp,00000010h mov ebx,0000001Eh L00432166: mov ax,[edi] test ax,ax jz L0043217D push eax push esi call SUB_L0048BDC0 add esp,00000008h add edi,00000002h jmp L00432188 L0043217D: push 00000000h push esi call SUB_L0048BDC0 add esp,00000008h L00432188: dec ebx jnz L00432166 push 00000000h push esi call SUB_L0048BDC0 add esp,00000008h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004321A0: push FFFFFFFFh push L004E1E8A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov edi,[esp+34h] xor ebx,ebx mov [esi+000000F4h],ebx mov [esi+000000F8h],ebx mov [esi+00000104h],ebx mov [esi+00000108h],ebx mov [esi+0000010Ch],ebx mov [esi+00000110h],ebx mov [esi+00000128h],ebx mov dword ptr [esi],L004EA8B8 push edi mov [esp+20h],ebx mov [L00B2948C],esi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [esi+00000124h],eax call SUB_L004C4430 mov ecx,[esp+34h] mov edx,[esp+38h] mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],ecx mov [esi+34h],edx mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h mov eax,[L00500034] add esp,00000010h cmp eax,FFFFFFFFh jnz L0043226F mov dword ptr [esi+00000100h],000000C8h mov dword ptr [esi+000000FCh],00000078h jmp L00432286 L0043226F: mov eax,[L007050BC] mov [esi+00000100h],eax mov ecx,[L007050B8] mov [esi+000000FCh],ecx L00432286: lea ebp,[esi+2Ch] lea eax,[esi+28h] push ebp push eax push 00000A52h call SUB_L004434A0 mov eax,00000001h push SSZ00500050_ChatGump_framedata mov [esi+24h],eax mov edx,[esi+18h] shl edx,03h push edx mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+28h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[esi+28h] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push ebx push ebx push 00000A52h push SUB_L004B9B80 call SUB_L00443500 push 0000009Ch call SUB_L004D4FA9 add esp,0000003Ch mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00432372 push esi mov ecx,eax call SUB_L00434820 jmp L00432374 L00432372: xor eax,eax L00432374: push 0000009Ch mov [esp+20h],bl mov [esi+000000D0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L004323A2 push esi mov ecx,eax call SUB_L00434820 jmp L004323A4 L004323A2: xor eax,eax L004323A4: push 0000009Ch mov [esp+20h],bl mov [esi+000000D4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L004323D2 push esi mov ecx,eax call SUB_L00434820 jmp L004323D4 L004323D2: xor eax,eax L004323D4: push 0000009Ch mov [esp+20h],bl mov [esi+000000D8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L00432402 push esi mov ecx,eax call SUB_L00434820 jmp L00432404 L00432402: xor eax,eax L00432404: push 0000009Ch mov [esp+20h],bl mov [esi+000000DCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],05h jz L00432432 push esi mov ecx,eax call SUB_L00434820 jmp L00432434 L00432432: xor eax,eax L00432434: push 0000009Ch mov [esp+20h],bl mov [esi+000000E0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],06h jz L00432462 push esi mov ecx,eax call SUB_L00434820 jmp L00432464 L00432462: xor eax,eax L00432464: push 0000009Ch mov [esp+20h],bl mov [esi+000000E4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],07h jz L00432492 push esi mov ecx,eax call SUB_L00434820 jmp L00432494 L00432492: xor eax,eax L00432494: push 0000009Ch mov [esp+20h],bl mov [esi+000000E8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],08h jz L004324C2 push esi mov ecx,eax call SUB_L00434820 jmp L004324C4 L004324C2: xor eax,eax L004324C4: push 0000009Ch mov [esp+20h],bl mov [esi+000000ECh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],09h jz L004324F2 push esi mov ecx,eax call SUB_L00434820 jmp L004324F4 L004324F2: xor eax,eax L004324F4: push 000000ECh mov [esp+20h],bl mov [esi+000000F0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Ah jz L00432536 push ebx push 00000A97h push 00000A96h push SUB_L0041E070 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00432538 L00432536: xor eax,eax L00432538: mov ebp,00000001h mov ecx,eax push ebp push esi mov [esp+24h],bl mov [esi+0000009Ch],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Bh jz L00432588 push ebx push 00000A95h push 00000A94h push L004C1AA0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L0043258A L00432588: xor eax,eax L0043258A: push ebp push esi mov ecx,eax mov [esp+24h],bl mov [esi+000000A8h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Ch jz L004325D5 push ebx push 000000FDh push 000000FCh push SUB_L004216F0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L004325D7 L004325D5: xor eax,eax L004325D7: mov [esi+000000ACh],eax mov [eax+000000A4h],ebx mov ecx,[esi+000000ACh] push ebp push esi mov [esp+24h],bl mov [ecx+000000C0h],ebp mov ecx,[esi+000000ACh] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Dh jz L00432638 push ebx push 000000FDh push 000000FCh push SUB_L004216F0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L0043263A L00432638: xor eax,eax L0043263A: mov [esi+000000B0h],eax mov [eax+000000A4h],ebp mov edx,[esi+000000B0h] push ebp push esi mov [esp+24h],bl mov [edx+000000C0h],ebp mov ecx,[esi+000000B0h] call SUB_L004587A0 push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Eh jz L00432687 push esi mov ecx,eax call SUB_L00435210 jmp L00432689 L00432687: xor eax,eax L00432689: push 000000B0h mov [esp+20h],bl mov [esi+000000C8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Fh jz L004326B7 push esi mov ecx,eax call SUB_L00435210 jmp L004326B9 L004326B7: xor eax,eax L004326B9: push 000000C8h mov [esp+20h],bl mov [esi+000000CCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],10h jz L004326F2 mov ecx,[L0050CE94] push ecx push ebx push ebp push ebx push ebx push esi mov ecx,eax call SUB_L004356E0 jmp L004326F4 L004326F2: xor eax,eax L004326F4: push 000000C8h mov [esp+20h],bl mov [esi+000000B4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],11h jz L0043272D mov edx,[L0050CE98] mov ecx,eax push edx push ebp push ebp push ebx push ebx push esi call SUB_L004356E0 jmp L0043272F L0043272D: xor eax,eax L0043272F: push 000000C8h mov [esp+20h],bl mov [esi+000000B8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],12h jz L0043276F mov ecx,[L00C8C4A8] mov edx,[L00500030] push ecx push 00000002h push edx push ebx push ebp push esi mov ecx,eax call SUB_L004356E0 jmp L00432771 L0043276F: xor eax,eax L00432771: push 000000C8h mov [esp+20h],bl mov [esi+000000C4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],13h jz L004327AC mov ecx,[L00C8C4AC] push ecx push 00000003h push 0000000Ch push ebx push ebp push esi mov ecx,eax call SUB_L004356E0 jmp L004327AE L004327AC: xor eax,eax L004327AE: push 000000C8h mov [esp+20h],bl mov [esi+000000BCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],14h jz L004327EC mov edx,[L00C8C4B0] mov ecx,eax push edx push 00000004h push 00000BB8h push ebp push ebx push esi call SUB_L004356E0 jmp L004327EE L004327EC: xor eax,eax L004327EE: push 00000008h mov [esp+20h],bl mov [esi+000000C0h],eax mov [esi+00000118h],ebp call SUB_L004D4FA9 add esp,00000004h mov [esi+00000114h],eax xor edi,edi push ebx push ebx push ebx push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h cmp eax,ebx jz L00432845 push ebx push ebx mov ecx,eax call SUB_L0046FD40 cmp eax,ebx jz L00432845 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432845: push edi call SUB_L004C44A0 mov ecx,[esi+00000114h] add esp,00000004h mov [ecx],eax mov edx,[esi+00000114h] mov ecx,esi mov [edx+04h],ebx call SUB_L00432CD0 push ebx push ebx push ebx push SSZ00500038_chat xor edi,edi call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h cmp eax,ebx jz L0043289E push ebx push 0000005Eh mov ecx,eax call SUB_L0046FD40 cmp eax,ebx jz L0043289E mov ecx,eax call SUB_L004C8360 mov edi,eax L0043289E: mov eax,[L0050CE90] mov ecx,[esi+000000C4h] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push eax push edi call SUB_L004359B0 mov ecx,[L0050CE68] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push ecx mov ecx,[esi+000000BCh] push L00D1A680 call SUB_L004359B0 push ebx push ebx push ebx push SSZ00500038_chat xor edi,edi call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h cmp eax,ebx jz L0043290A push ebx push ebp mov ecx,eax call SUB_L0046FD40 cmp eax,ebx jz L0043290A mov ecx,eax call SUB_L004C8360 mov edi,eax L0043290A: mov edx,[L0050CE6C] mov ecx,[esi+000000B4h] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push edx push edi call SUB_L004359B0 push ebx push ebx push ebx push SSZ00500038_chat xor edi,edi call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h cmp eax,ebx jz L0043295B push ebx push 00000002h mov ecx,eax call SUB_L0046FD40 cmp eax,ebx jz L0043295B mov ecx,eax call SUB_L004C8360 mov edi,eax L0043295B: mov eax,[L0050CE6C] mov ecx,[esi+000000B8h] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push eax push edi call SUB_L004359B0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],15h jz L004329AB push ebx push 00000A8Fh push 00000A8Fh push L00421580 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L004329AD L004329AB: xor eax,eax L004329AD: push ebp push esi mov ecx,eax mov [esp+24h],bl mov [esi+000000A0h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],16h jz L004329F8 push ebx push 00000A8Fh push 00000A8Fh push L00421630 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L004329FA L004329F8: xor eax,eax L004329FA: push ebp push esi mov ecx,eax mov [esp+24h],bl mov [esi+000000A4h],eax call SUB_L004587A0 mov ecx,[esp+30h] mov eax,[esp+2Ch] mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L004331D0 mov ecx,esi call SUB_L004333B0 push ebp push ebx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 8 L00432A50: push esi mov esi,ecx call SUB_L00432A70 test byte ptr [esp+08h],01h jz L00432A68 push esi call SUB_L004D4F9E add esp,00000004h L00432A68: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00432A70: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1EAB push eax mov eax,0000200Ch mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi mov dword ptr [esi],L004EA8B8 xor ebx,ebx mov [L00B2948C],ebx mov eax,[esi+00000118h] cmp eax,ebx mov [esp+00002020h],ebx jz L00432AED xor edi,edi cmp eax,ebx jle L00432ADE L00432ABD: mov eax,[esi+00000114h] mov eax,[eax+edi*4] cmp eax,ebx jz L00432AD3 push eax call SUB_L004D4F9E add esp,00000004h L00432AD3: mov eax,[esi+00000118h] inc edi cmp edi,eax jl L00432ABD L00432ADE: mov eax,[esi+00000114h] push eax call SUB_L004D4F9E add esp,00000004h L00432AED: mov eax,[esi+00000120h] cmp eax,ebx jz L00432B2D xor edi,edi cmp eax,ebx jle L00432B1E L00432AFD: mov ecx,[esi+0000011Ch] mov eax,[ecx+edi*4] cmp eax,ebx jz L00432B13 push eax call SUB_L004D4F9E add esp,00000004h L00432B13: mov eax,[esi+00000120h] inc edi cmp edi,eax jl L00432AFD L00432B1E: mov eax,[esi+0000011Ch] push eax call SUB_L004D4F9E add esp,00000004h L00432B2D: cmp [L00C83640],ebx jz L00432BA8 cmp [L00C88300],ebx jz L00432BA8 lea edx,[esp+10h] push 000000B3h push edx mov edi,L0051190C call SUB_L0048BD40 push 00000004h lea eax,[esp+1Ch] push L00C8367C push eax call SUB_L0048BE80 mov ax,[L0051190C] add esp,00000014h cmp ax,bx jz L00432B8A L00432B70: lea ecx,[esp+10h] push eax push ecx call SUB_L0048BDC0 mov ax,[edi+02h] add edi,00000002h add esp,00000008h cmp ax,bx jnz L00432B70 L00432B8A: lea edx,[esp+10h] push ebx push edx call SUB_L0048BDC0 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+10h] push eax call SUB_L004BC750 L00432BA8: mov ecx,[esi+48h] cmp ecx,ebx jz L00432BBC L00432BAF: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+48h] cmp ecx,ebx jnz L00432BAF L00432BBC: mov eax,[esi+3Ch] mov eax,[eax+0Ch] cmp eax,ebx jz L00432BDA push SSZ00500040_ChatGump_frame1 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+0Ch],ebx L00432BDA: mov eax,[esi+3Ch] cmp eax,ebx jz L00432BF2 push SSZ00500050_ChatGump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L00432BF2: mov eax,[esi+00000124h] cmp eax,ebx jz L00432C0B push eax call SUB_L004D4F9E add esp,00000004h mov [esi+00000124h],ebx L00432C0B: mov ecx,esi mov dword ptr [esp+00002020h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+00002018h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00002018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00432C40: mov eax,[esp+08h] dec eax cmp eax,00000004h ja L00432C81 jmp [CASE_PROCTABLE_00432CB4+eax*4] CASE_00432CB4_PROC0004: mov eax,[L0050CE90] mov edx,eax jmp L00432C8C CASE_00432CB4_PROC0003: mov eax,[L0050CE8C] mov edx,[L0050CE88] jmp L00432C8C CASE_00432CB4_PROC0000: mov eax,[L0050CE84] mov edx,[L0050CE80] jmp L00432C8C CASE_00432CB4_PROC0001: mov eax,[L0050CE7C] mov edx,[L0050CE78] jmp L00432C8C L00432C81: mov eax,[L0050CE74] mov edx,[L0050CE70] L00432C8C: push esi mov esi,[esp+18h] push esi mov esi,[esp+18h] mov ecx,[ecx+000000C4h] push esi mov esi,[esp+18h] push esi push edx mov edx,[esp+18h] push eax push edx call SUB_L004359B0 pop esi retn 0014h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00432CB4: dd CASE_00432CB4_PROC0000 dd CASE_00432CB4_PROC0001 dd CASE_00432CB4_PROC0000 dd CASE_00432CB4_PROC0003 dd CASE_00432CB4_PROC0004 Align 16 SUB_L00432CD0: push esi mov esi,ecx push edi push 00000050h mov dword ptr [esi+00000120h],0000000Ah call SUB_L004D4FA9 add esp,00000004h xor edi,edi mov [esi+0000011Ch],eax push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432D26 push edi push 00000003h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432D26 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432D26: push edi call SUB_L004C44A0 mov ecx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [ecx],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432D6F push edi push 00000044h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432D6F mov ecx,eax call SUB_L004C8360 mov edi,eax L00432D6F: push edi call SUB_L004C44A0 mov edx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [edx+04h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432DB9 push edi push 00000004h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432DB9 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432DB9: push edi call SUB_L004C44A0 mov ecx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [ecx+08h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432E03 push edi push 00000047h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432E03 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432E03: push edi call SUB_L004C44A0 mov edx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [edx+0Ch],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432E4D push edi push 00000005h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432E4D mov ecx,eax call SUB_L004C8360 mov edi,eax L00432E4D: push edi call SUB_L004C44A0 mov ecx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [ecx+10h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432E97 push edi push 00000054h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432E97 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432E97: push edi call SUB_L004C44A0 mov edx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [edx+14h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432EE1 push edi push 00000006h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432EE1 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432EE1: push edi call SUB_L004C44A0 mov ecx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [ecx+18h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432F2B push edi push 00000053h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432F2B mov ecx,eax call SUB_L004C8360 mov edi,eax L00432F2B: push edi call SUB_L004C44A0 mov edx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [edx+1Ch],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432F75 push edi push 00000007h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432F75 mov ecx,eax call SUB_L004C8360 mov edi,eax L00432F75: push edi call SUB_L004C44A0 mov ecx,[esi+0000011Ch] add esp,00000004h xor edi,edi push edi push edi push edi push SSZ00500038_chat mov [ecx+20h],eax call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00432FBF push edi push 00000050h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00432FBF mov ecx,eax call SUB_L004C8360 mov edi,eax L00432FBF: push edi call SUB_L004C44A0 mov edx,[esi+0000011Ch] push 00000009h mov [edx+24h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov ecx,[esi+0000011Ch] push 00000048h mov [ecx+28h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov edx,[esi+0000011Ch] push 0000000Ah mov [edx+2Ch],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov ecx,[esi+0000011Ch] push 00000049h mov [ecx+30h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov edx,[esi+0000011Ch] push 0000000Bh mov [edx+34h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov ecx,[esi+0000011Ch] push 0000004Bh mov [ecx+38h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov edx,[esi+0000011Ch] push 0000000Ch mov [edx+3Ch],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov ecx,[esi+0000011Ch] push 0000004Ch mov [ecx+40h],eax call SUB_L00431700 add esp,00000040h push eax call SUB_L004C44A0 mov edx,[esi+0000011Ch] push 0000000Eh mov [edx+44h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov ecx,[esi+0000011Ch] push 00000055h mov [ecx+48h],eax call SUB_L00431700 push eax call SUB_L004C44A0 mov edx,[esi+0000011Ch] add esp,00000014h pop edi mov [edx+4Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 L004330C0: mov eax,[esp+0Ch] cmp eax,00000002h jnz L004330E1 mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000C8h] push eax push edx call SUB_L00435670 retn 000Ch ;------------------------------------------------------------------------------ L004330E1: cmp eax,00000004h jnz L004330FB mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000CCh] push eax push edx call SUB_L00435670 L004330FB: retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00433100: mov eax,[esp+0Ch] mov edx,[ecx+000000C8h] cmp eax,edx jnz L00433126 mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000C4h] push eax push edx call SUB_L00435DB0 retn 000Ch ;------------------------------------------------------------------------------ L00433126: cmp eax,[ecx+000000CCh] jnz L00433143 mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000C0h] push eax push edx call SUB_L00435DB0 L00433143: retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00433150: mov eax,[esp+08h] mov edx,[ecx+000000C8h] cmp eax,edx jnz L00433171 mov eax,[esp+04h] mov ecx,[ecx+000000C4h] push eax call SUB_L00435DE0 retn 0008h ;------------------------------------------------------------------------------ L00433171: cmp eax,[ecx+000000CCh] jnz L00433189 mov edx,[esp+04h] mov ecx,[ecx+000000C0h] push edx call SUB_L00435DE0 L00433189: retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00433190: mov eax,[ecx+20h] mov edx,[ecx+00000100h] sub eax,edx cmp eax,00000022h jg L004331A5 mov eax,00000022h L004331A5: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004331B0: mov eax,[ecx+24h] mov edx,[ecx+000000FCh] sub eax,edx cmp eax,0000005Ah jg L004331C5 mov eax,0000005Ah L004331C5: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004331D0: sub esp,00000018h lea eax,[esp+00h] push esi mov esi,ecx lea ecx,[esp+10h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+20h] lea eax,[esp+14h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+24h] lea edx,[esp+30h] push ecx push edx push 000000FCh call SUB_L004434A0 mov eax,[esi+20h] mov ecx,[esi+000000D0h] add esp,00000024h push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+24h] mov eax,[esp+04h] mov ecx,[esi+20h] sub edx,eax push ecx mov ecx,[esi+000000D4h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+04h] push edx mov edx,[esp+10h] add edx,ecx mov ecx,[esi+000000D8h] push edx push eax push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esi+20h] mov edx,[esi+00000100h] sub eax,edx cmp eax,00000022h jg L00433291 mov eax,00000022h L00433291: mov edx,[esi+24h] push edi sub edx,[esi+000000FCh] cmp edx,0000005Ah jg L004332A5 mov edx,0000005Ah L004332A5: mov ecx,[esp+0Ch] sub eax,ecx push eax push edx push ecx mov ecx,[esi+000000DCh] push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000E0h] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000E4h] push edx mov edx,[esp+10h] push eax mov eax,[esi+20h] sub eax,edx push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esi+20h] mov edx,[esi+00000100h] sub eax,edx cmp eax,00000022h jg L00433321 mov eax,00000022h L00433321: mov ecx,[esp+08h] mov edi,[esi+24h] lea edx,[ecx+ecx] sub edi,edx push edi push ecx mov ecx,[esi+000000E8h] push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+10h] mov ecx,[esp+08h] mov edx,[esp+0Ch] push eax push ecx mov ecx,[esi+000000ECh] push edx push 00000100h push 00000001h call SUB_L004349D0 mov eax,[esi+20h] mov edx,[esi+00000100h] sub eax,edx pop edi cmp eax,00000022h jg L00433379 mov eax,00000022h L00433379: mov ecx,[esp+0Ch] mov edx,[esp+04h] push ecx mov ecx,[esp+0Ch] add eax,ecx mov ecx,[esi+000000F0h] push edx push eax push 00000100h push 00000001h call SUB_L004349D0 pop esi add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004333B0: sub esp,0000001Ch lea eax,[esp+00h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+24h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+34h] lea eax,[esp+20h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+30h] lea edx,[esp+34h] push ecx push edx push 000000FCh call SUB_L004434A0 mov eax,[esi+000000A0h] mov ecx,[esi+20h] mov ebp,[esp+38h] add esp,00000024h sub ecx,[eax+20h] sub ecx,ebp mov [eax+30h],ecx mov eax,[esi+000000A0h] mov edx,[esi+24h] mov edi,[esp+10h] sub edx,[eax+24h] sub edx,edi mov [eax+34h],edx mov eax,[esi+20h] sub eax,[esi+00000100h] cmp eax,00000022h jg L00433435 mov eax,00000022h L00433435: mov ecx,[esi+000000A4h] sub eax,[ecx+20h] mov [ecx+30h],eax mov eax,[esi+24h] sub eax,[esi+000000FCh] cmp eax,0000005Ah jg L00433454 mov eax,0000005Ah L00433454: mov ecx,[esi+000000A4h] sub eax,[ecx+24h] mov [ecx+34h],eax mov eax,[esi+000000A8h] mov ecx,[esi+20h] mov edx,[esp+14h] sub ecx,[eax+20h] sub ecx,edx mov [eax+30h],ecx mov edx,[esi+000000A8h] mov eax,[esp+10h] mov [edx+34h],eax mov eax,[esi+0000009Ch] mov edx,[esi+000000A8h] mov ecx,[esi+20h] mov ebp,[eax+20h] mov edi,[esp+14h] mov ebx,[edx+20h] sub ecx,ebp sub ecx,ebx sub ecx,edi mov [eax+30h],ecx mov eax,[esi+0000009Ch] mov ecx,[esp+10h] mov [eax+34h],ecx mov edx,[esi+000000ACh] mov eax,[esp+14h] mov [edx+30h],eax mov ecx,[esi+000000ACh] mov edx,[esp+10h] mov [ecx+34h],edx mov eax,[esi+20h] sub eax,[esi+00000100h] cmp eax,00000022h jg L004334DE mov eax,00000022h L004334DE: mov ecx,[esp+14h] mov edx,[esi+000000B0h] add eax,ecx mov [edx+30h],eax mov eax,[esi+000000B0h] mov ecx,[esp+10h] mov [eax+34h],ecx mov eax,[esi+24h] sub eax,[esi+000000FCh] cmp eax,0000005Ah jg L0043350D mov eax,0000005Ah L0043350D: mov edx,[esp+10h] lea ecx,[edx+edx] mov edx,[esp+18h] sub eax,ecx add ecx,edx sub eax,edx push eax mov eax,[esp+18h] push ecx mov ecx,[esi+000000C8h] push eax call SUB_L00435500 mov eax,[esi+20h] mov edx,[esi+00000100h] sub eax,edx cmp eax,00000022h jg L00433545 mov eax,00000022h L00433545: mov ecx,[esp+10h] mov edi,[esi+24h] lea edx,[ecx+ecx*2] sub edi,edx mov edx,[esp+18h] sub edi,edx lea ecx,[edx+ecx*2] mov edx,[esp+14h] push edi add eax,edx push ecx mov ecx,[esi+000000CCh] push eax call SUB_L00435500 mov eax,[esi+20h] mov edx,[esi+00000100h] sub eax,edx cmp eax,00000022h jg L00433583 mov eax,00000022h L00433583: mov ecx,[esp+18h] mov edx,[esp+14h] push ecx mov ecx,[esp+20h] sub eax,ecx add ecx,edx sub eax,edx push eax mov eax,[esp+18h] push eax push ecx mov ecx,[esi+000000B4h] call SUB_L00435920 mov ecx,[esi+20h] mov edi,[esi+00000100h] mov eax,ecx sub eax,edi cmp eax,00000022h mov edi,eax jg L004335C1 mov edi,00000022h L004335C1: cmp eax,00000022h jg L004335CB mov eax,00000022h L004335CB: mov edx,[esp+18h] mov ebp,[esi+000000A8h] push edx mov edx,[esp+18h] mov ebx,edx neg ebx shl ebx,1 sub ebx,[ebp+20h] mov ebp,[esi+0000009Ch] sub ebx,[ebp+20h] sub ebx,edi mov edi,[esp+20h] sub ebx,edi add eax,edi add ebx,ecx mov ecx,[esp+14h] push ebx add eax,edx push ecx mov ecx,[esi+000000B8h] push eax call SUB_L00435920 mov ecx,[esi+24h] mov edx,[esi+000000FCh] sub ecx,edx cmp ecx,0000005Ah jg L00433621 mov ecx,0000005Ah L00433621: mov eax,[esi+20h] mov edi,[esi+00000100h] sub eax,edi cmp eax,00000022h jg L00433636 mov eax,00000022h L00433636: mov edx,[esp+10h] mov edi,[esp+18h] add edx,edx mov ebx,[esp+14h] sub ecx,edx add edx,edi sub ecx,edi push ecx mov ecx,[esp+20h] sub eax,ecx add ecx,ebx sub eax,ebx push eax push edx push ecx mov ecx,[esi+000000C4h] call SUB_L00435920 mov eax,[esi+24h] mov edi,[esi+000000FCh] mov ecx,eax sub ecx,edi cmp ecx,0000005Ah mov ebx,ecx jg L0043367C mov ebx,0000005Ah L0043367C: mov edx,[esi+20h] mov ebp,[esi+00000100h] sub edx,ebp cmp edx,00000022h jg L00433691 mov edx,00000022h L00433691: cmp ecx,0000005Ah jg L0043369B mov ecx,0000005Ah L0043369B: mov edi,[esp+10h] add ecx,edi lea ebp,[edi+edi] sub eax,ebp sub eax,ebx push eax mov eax,[esp+18h] sub edx,eax push edx push ecx mov ecx,[esi+000000BCh] push eax call SUB_L00435920 mov eax,[esi+20h] mov edi,[esi+00000100h] mov ecx,eax sub ecx,edi cmp ecx,00000022h mov [esp+20h],ecx jg L004336DB mov dword ptr [esp+20h],00000022h L004336DB: cmp ecx,00000022h jg L004336E5 mov ecx,00000022h L004336E5: mov edx,[esp+10h] mov ebx,[esi+24h] lea edi,[edx+edx*2] sub ebx,edi mov edi,[esp+18h] sub ebx,edi push ebx mov ebx,[esp+18h] lea ebp,[ebx+ebx] sub eax,ebp mov ebp,[esp+24h] sub eax,ebp mov ebp,[esp+20h] sub eax,ebp add ecx,ebp push eax lea eax,[edi+edx*2] add ecx,ebx push eax push ecx mov ecx,[esi+000000C0h] call SUB_L00435920 mov ecx,[esi+000000C0h] push 00000000h call SUB_L00435D70 mov eax,[esi+000000F8h] test eax,eax jz L00433751 mov ecx,[esi+20h] mov edi,[esi+00000100h] sub ecx,edi cmp ecx,00000022h jg L0043374E mov ecx,00000022h L0043374E: mov [eax+30h],ecx L00433751: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 L00433760: mov eax,[L00B294BC] push esi mov esi,ecx cmp eax,esi jnz L00433770 push 00000001h jmp L00433772 L00433770: push 00000000h L00433772: mov ecx,esi call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov [esi+70h],eax mov eax,[esi+64h] test eax,eax mov dword ptr [esi+00000104h],00000001h mov [esi+74h],ecx jz L004337C5 cmp dword ptr [esi+00000108h],00000001h jnz L004337AF mov dword ptr [esi+00000108h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L004337AF: mov dword ptr [esi+00000108h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+0000010Ch],eax L004337C5: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004337D0: push ebx push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+00000110h] mov [esi+00000104h],ebx cmp eax,ebx jz L004337F5 mov [esi+00000110h],ebx mov [esi+00000108h],ebx jmp L0043383E L004337F5: cmp dword ptr [esi+00000108h],00000002h jnz L0043383E mov eax,[esi+64h] mov [esi+00000108h],ebx cmp eax,ebx jz L00433847 mov ecx,esi call SUB_L0041E0F0 mov eax,[esi+2Ch] mov edx,[esi+3Ch] mov ecx,[esi+28h] mov [esi+00000128h],ebx push eax mov eax,[edx+0Ch] add eax,00000004h push ecx push eax push ebx push ebx push 00000A52h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0043383E: cmp [esi+64h],ebx jnz L0043390E L00433847: mov eax,[esi+000000B4h] mov edx,[esp+10h] mov edi,[esp+14h] push ebp mov ecx,[eax+30h] cmp edx,ecx jl L00433880 mov ebp,[eax+20h] add ebp,ecx cmp edx,ebp jge L00433880 mov ecx,[eax+34h] cmp edi,ecx jl L00433880 mov eax,[eax+24h] add eax,ecx cmp edi,eax jge L00433880 mov edx,[esi] push ebx mov ecx,esi call [edx+74h] jmp L004338CA L00433880: mov eax,[esi+000000B8h] mov ecx,[eax+30h] cmp edx,ecx jl L004338B1 mov ebp,[eax+20h] add ebp,ecx cmp edx,ebp jge L004338B1 mov ecx,[eax+34h] cmp edi,ecx jl L004338B1 mov eax,[eax+24h] add eax,ecx cmp edi,eax jge L004338B1 mov edx,[esi] push 00000001h mov ecx,esi call [edx+74h] jmp L004338CA L004338B1: call SUB_L00456C40 push esi call SUB_L00456DC0 mov ecx,[esi+000000BCh] add esp,00000004h call SUB_L004364E0 L004338CA: mov ecx,[esi+000000C4h] push ebx call SUB_L00449040 mov edi,eax pop ebp cmp edi,ebx jz L0043390E cmp [L00505E47],bl jz L0043390E lea eax,[edi+20h] push eax call SUB_L00470260 add esp,00000004h test al,al jz L0043390E mov ecx,[esi+000000C4h] mov edx,[edi] push ebx push ecx push L00436A10 push edx push ebx call SUB_L004702E0 add esp,00000014h L0043390E: push ebx call SUB_L00476670 add esp,00000004h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00433920: push esi mov esi,ecx cmp dword ptr [esi+00000108h],00000001h jnz L00433966 push ebx call [KERNEL32.dll!GetTickCount] mov edx,[esi+0000010Ch] mov ebx,eax sub ebx,edx call [USER32.dll!GetDoubleClickTime] cmp ebx,eax pop ebx jbe L00433966 mov eax,[esi+00000104h] mov dword ptr [esi+00000108h],00000000h test eax,eax jz L00433966 mov dword ptr [esi+00000110h],00000001h L00433966: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00433970: sub esp,00000008h mov edx,[esp+0Ch] push ebx push esi push edi mov edi,ecx mov ecx,[esp+1Ch] mov eax,[edi] push ecx push edx mov ecx,edi call [eax+10h] test eax,eax jnz L00433996 pop edi pop esi pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L00433996: mov eax,[edi+64h] test eax,eax jnz L00433A01 lea eax,[esp+1Ch] lea ecx,[esp+18h] push eax push ecx mov ecx,edi call SUB_L00457C90 mov esi,[edi+48h] test esi,esi jz L00433A01 mov ebx,[esp+20h] L004339B9: mov eax,[esi+6Ch] test eax,eax jz L004339FA mov edx,[esp+18h] mov eax,[esp+1Ch] mov [esp+10h],edx lea ecx,[esp+0Ch] lea edx,[esp+10h] push ecx push edx mov ecx,esi mov [esp+14h],eax call SUB_L00457D20 cmp esi,ebx jz L004339FA mov ecx,[esp+0Ch] mov edx,[esp+10h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L00433A0C L004339FA: mov esi,[esi+40h] test esi,esi jnz L004339B9 L00433A01: mov eax,edi pop edi pop esi pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L00433A0C: mov ecx,[esp+0Ch] mov edx,[esp+10h] mov eax,[esi] push 00000000h push ecx push edx mov ecx,esi call [eax+04h] pop edi pop esi pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00433A30: dd L00BC898B db 00h; db 00h; db 8Bh; '<' db 01h; db FFh; 'ï' db A0h; 'ÿ' db 90h; '?' db 01h; db 00h; db 00h; db 90h; '?' db 90h; '?' L00433A40: mov ecx,[ecx+000000BCh] mov edx,[esp+04h] push edx mov eax,[ecx] call [eax+44h] retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00433A60: mov eax,[esp+04h] mov edx,[ecx+000000F4h] cmp edx,eax jnz L00433A7B mov dword ptr [ecx+000000F4h],00000000h retn 0004h ;------------------------------------------------------------------------------ L00433A7B: cmp [ecx+000000F8h],eax jnz L00433A8D mov dword ptr [ecx+000000F8h],00000000h L00433A8D: retn 0004h ;------------------------------------------------------------------------------ L00433A90: mov eax,fs:[00000000h] push FFFFFFFFh push L004E1ED6 push eax mov fs:[00000000h],esp sub esp,00000010h lea eax,[esp+00h] push esi mov esi,ecx lea ecx,[esp+0Ch] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+14h] lea eax,[esp+1Ch] push edx push eax push 000000FCh call SUB_L004434A0 mov eax,[esp+3Ch] add esp,00000018h test eax,eax jnz L00433B64 mov ecx,[esi+000000F4h] test ecx,ecx jz L00433B04 mov edx,[ecx] push 00000001h call [edx] pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ L00433B04: push 000000B4h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L00433B40 mov ecx,[L0050CE94] mov edx,[esi+00000118h] push ecx mov ecx,[esi+00000114h] push edx push ecx push esi mov ecx,eax call SUB_L00434C70 jmp L00433B42 L00433B40: xor eax,eax L00433B42: mov [esi+000000F4h],eax mov dword ptr [eax+30h],00000000h mov edx,[esp+04h] mov eax,[esp+08h] mov ecx,[esi+000000F4h] add eax,edx jmp L00433BFA L00433B64: cmp eax,00000001h jnz L00433BFD mov ecx,[esi+000000F8h] test ecx,ecx jz L00433B8E mov edx,[ecx] push eax call [edx] pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ L00433B8E: push 000000B4h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+1Ch],00000001h jz L00433BCA mov ecx,[L0050CE98] mov edx,[esi+00000120h] push ecx mov ecx,[esi+0000011Ch] push edx push ecx push esi mov ecx,eax call SUB_L00434C70 jmp L00433BCC L00433BCA: xor eax,eax L00433BCC: mov ecx,[esi+20h] mov edx,[esi+00000100h] sub ecx,edx mov [esi+000000F8h],eax cmp ecx,00000022h jg L00433BE7 mov ecx,00000022h L00433BE7: mov [eax+30h],ecx mov edx,[esp+04h] mov eax,[esp+08h] mov ecx,[esi+000000F8h] add eax,edx L00433BFA: mov [ecx+34h],eax L00433BFD: mov ecx,[esp+14h] pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ Align 4 L00433C10: mov eax,00003014h call SUB_L004D4B90 mov eax,[L004EA7CC] mov edx,[esp+0000301Ch] push ebx push ebp mov ebp,[esp+00003020h] mov [esp+0Ch],eax mov eax,[ecx+000000BCh] push esi mov esi,ebp cmp edx,eax push edi mov [esp+18h],esi jnz L00433CEE cmp word ptr [L004EA7D4],0000h mov dword ptr [esp+10h],00000001h jz L00433CEE mov ebx,L004EA7D4 L00433C64: mov esi,[ebx-04h] xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00433C9E push edi push esi mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00433C9E mov ecx,eax call SUB_L004C8360 mov edi,eax L00433C9E: push edi call SUB_L004C4300 mov esi,eax dec esi push esi push ebp push edi call SUB_L004C43C0 add esp,00000010h test eax,eax jz L00433CCE mov edx,[esp+10h] add ebx,00000008h inc edx cmp word ptr [ebx],0000h mov [esp+10h],edx jnz L00433C64 mov esi,[esp+18h] jmp L00433CEE L00433CCE: cmp word ptr [ebp+esi*2+00h],0020h lea esi,[ebp+esi*2+00h] jnz L00433CDD add esi,00000002h L00433CDD: mov eax,[esp+10h] mov cx,[L004EA7CC+eax*8] mov [esp+14h],cx L00433CEE: mov dx,[esp+14h] lea eax,[esp+1Eh] push esi push eax mov [esp+24h],dx call SUB_L004C4430 mov eax,[L00C88300] add esp,00000008h test eax,eax jz L00433D8A lea ecx,[esp+0000101Ch] push 000000B3h push ecx lea esi,[esp+24h] call SUB_L0048BD40 push 00000004h lea edx,[esp+00001028h] push L00C8367C push edx call SUB_L0048BE80 add esp,00000014h cmp word ptr [esp+1Ch],0000h jz L00433D65 mov eax,[esp+1Ch] L00433D48: push eax lea eax,[esp+00001020h] push eax call SUB_L0048BDC0 mov ax,[esi+02h] add esi,00000002h add esp,00000008h test ax,ax jnz L00433D48 L00433D65: lea ecx,[esp+0000101Ch] push 00000000h push ecx call SUB_L0048BDC0 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+0000101Ch] push edx call SUB_L004BC750 L00433D8A: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00003014h retn 0008h ;------------------------------------------------------------------------------ Align 8 L00433DA0: mov eax,00003008h call SUB_L004D4B90 push esi mov esi,[esp+00003010h] push edi mov edi,ecx mov eax,[esi+0000009Ch] cmp eax,FFFFFFFFh jz L00433E1B mov ecx,[edi+0000011Ch] mov edx,[ecx+eax*4] mov ecx,[edi+000000BCh] push edx call SUB_L00436510 mov eax,[esp+00003018h] mov ecx,[edi+000000BCh] push eax call SUB_L00436590 cmp dword ptr [esi+0000009Ch],00000001h jnz L00433E06 mov ecx,[edi+000000BCh] push L00511908 call SUB_L00436590 jmp L00433EFB L00433E06: mov ecx,[edi+000000BCh] push L00511910 call SUB_L00436590 jmp L00433EFB L00433E1B: mov ecx,[esp+00003018h] lea edx,[esp+08h] push ecx push edx mov word ptr [esp+10h],0063h mov word ptr [esp+12h],0000h call SUB_L004C4550 mov esi,[esp+00003024h] add esp,00000008h cmp word ptr [esi],0000h jz L00433E77 lea eax,[esp+08h] push L00511914 push eax call SUB_L004C4550 lea ecx,[esp+10h] push esi push ecx call SUB_L004C4550 lea edx,[esp+18h] push L00511918 push edx call SUB_L004C4550 add esp,00000018h L00433E77: mov eax,[L00C88300] test eax,eax jz L00433EFB lea eax,[esp+00001008h] push 000000B3h push eax lea esi,[esp+10h] call SUB_L0048BD40 push 00000004h lea ecx,[esp+00001014h] push L00C8367C push ecx call SUB_L0048BE80 add esp,00000014h cmp word ptr [esp+08h],0000h jz L00433ED6 mov eax,[esp+08h] L00433EB9: lea edx,[esp+00001008h] push eax push edx call SUB_L0048BDC0 mov ax,[esi+02h] add esi,00000002h add esp,00000008h test ax,ax jnz L00433EB9 L00433ED6: lea eax,[esp+00001008h] push 00000000h push eax call SUB_L0048BDC0 add esp,00000008h lea ecx,[esp+00001008h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L00433EFB: call SUB_L00456C40 push edi call SUB_L00456DC0 mov ecx,[edi+000000BCh] add esp,00000004h call SUB_L004364E0 pop edi pop esi add esp,00003008h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00433F20: push FFFFFFFFh push L004E1EF6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp mov ebp,[esp+24h] push esi mov esi,ecx push edi mov dword ptr [esp+14h],00000001h cmp ebp,[esi+000000F4h] jnz L004340DC mov eax,[esi+00000118h] xor edi,edi test eax,eax jle L00434099 mov ebx,[esp+28h] L00433F6A: mov eax,[esi+00000114h] push ebx mov ecx,[eax+edi*8] push ecx call SUB_L004C4320 add esp,00000008h test eax,eax jz L00433F91 mov eax,[esi+00000118h] inc edi cmp edi,eax jl L00433F6A jmp L00434099 L00433F91: test edi,edi jnz L00434083 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov [esp+20h],edi jz L00434071 xor ebp,ebp push ebp push ebp push ebp push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00433FEE push ebp push 00000014h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00433FEE mov ecx,eax call SUB_L004C8360 mov ebp,eax L00433FEE: xor ebx,ebx push ebx push ebx push ebx push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L00434026 push ebx push 00000013h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L00434026 mov ecx,eax call SUB_L004C8360 mov ebx,eax L00434026: xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0043405E push edi push 00000012h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L0043405E mov ecx,eax call SUB_L004C8360 mov edi,eax L0043405E: mov ecx,[esp+28h] push ebp push ebx push edi push FFFFFFFFh push esi call SUB_L00430B20 mov ebp,[esp+2Ch] L00434071: mov dword ptr [esp+20h],FFFFFFFFh mov dword ptr [esp+14h],00000000h jmp L00434099 L00434083: mov edx,[esi+00000114h] mov ecx,[esi+000000BCh] mov eax,[edx+edi*8+04h] push eax call SUB_L00436510 L00434099: test ebp,ebp jz L004340A6 mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L004340A6: mov eax,[esp+14h] test eax,eax jz L004340C7 L004340AE: call SUB_L00456C40 push esi call SUB_L00456DC0 mov ecx,[esi+000000BCh] add esp,00000004h call SUB_L004364E0 L004340C7: mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ L004340DC: cmp ebp,[esi+000000F8h] jnz L00434209 mov eax,[esi+00000120h] xor ebx,ebx cmp eax,ebx mov [esp+10h],ebx jle L004341F3 L004340FC: mov eax,[esi+0000011Ch] mov ecx,eax lea edi,[eax+ebx*8] mov edx,[ecx+ebx*8+04h] push edx call SUB_L004C4300 mov ecx,[edi+04h] xor edx,edx cmp word ptr [ecx+eax*2-02h],0024h mov eax,[esp+2Ch] mov ecx,[edi] push eax setnz dl push ecx mov ebp,edx call SUB_L004C4320 add esp,0000000Ch test eax,eax jz L0043414D test ebp,ebp jz L0043413D inc [esp+10h] L0043413D: mov eax,[esi+00000120h] inc ebx cmp ebx,eax jl L004340FC jmp L004341EF L0043414D: test ebp,ebp jz L004341D9 push 000000ECh call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov [esp+28h],ebp test ebp,ebp mov dword ptr [esp+20h],00000001h jz L004341C7 xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L004341B2 mov edx,[esp+10h] push edi add edx,00000060h mov ecx,eax push edx call SUB_L0046FD40 test eax,eax jz L004341B2 mov ecx,eax call SUB_L004C8360 mov edi,eax L004341B2: push 00000000h push L00D1A680 lea eax,[ebx+ebx+01h] push edi push eax push esi mov ecx,ebp call SUB_L00430B20 L004341C7: mov dword ptr [esp+20h],FFFFFFFFh mov dword ptr [esp+14h],00000000h jmp L004341EF L004341D9: mov ecx,[esi+0000011Ch] mov edx,[ecx+ebx*8+04h] mov ecx,[esi+000000BCh] push edx call SUB_L00436510 L004341EF: mov ebp,[esp+2Ch] L004341F3: test ebp,ebp jz L004340A6 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] jmp L004340A6 L00434209: cmp ebp,[esi+000000C0h] jnz L004340AE mov ecx,[esi+000000BCh] call SUB_L00436640 cmp word ptr [eax],0000h jnz L0043428F xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0043425E push edi push 00000044h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L0043425E mov ecx,eax call SUB_L004C8360 mov edi,eax L0043425E: mov ecx,[esi+000000BCh] push edi call SUB_L00436590 mov ecx,[esp+28h] push ecx mov ecx,[esi+000000BCh] call SUB_L00436590 mov ecx,[esi+000000BCh] push L00511908 call SUB_L00436590 jmp L004340AE L0043428F: mov edx,[esp+28h] mov ecx,[esi+000000BCh] push edx call SUB_L00436590 jmp L004340AE Align 16 L004342B0: mov eax,[ecx+00000104h] test eax,eax jz L004342D7 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L004342D7: retn 0008h ;------------------------------------------------------------------------------ Align 8 L004342E0: mov eax,[esp+0Ch] push esi test eax,eax mov esi,ecx jnz L004342FE mov eax,[esp+08h] mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+0Ch] mov [esi+24h],eax jmp L00434321 L004342FE: mov eax,[esi+20h] mov edx,[esp+08h] mov ecx,eax mov [esi+1Ch],eax sub ecx,edx mov edx,[esi+24h] mov [esi+00000100h],ecx mov ecx,[esp+0Ch] sub edx,ecx mov [esi+000000FCh],edx L00434321: mov ecx,esi call SUB_L004331D0 mov ecx,esi call SUB_L004333B0 mov ecx,[esi+000000F4h] test ecx,ecx jz L0043433E call SUB_L00435000 L0043433E: mov ecx,[esi+000000F8h] pop esi test ecx,ecx jz L0043434E call SUB_L00435000 L0043434E: retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00434360: sub esp,00000800h push ebx mov ebx,[esp+00000808h] push esi mov esi,ecx push edi mov edi,00000001h cmp [esi+00000118h],edi jle L004343A5 L0043437F: mov eax,[esi+00000114h] mov ecx,[eax+edi*8] push ecx push ebx call SUB_L004C4320 add esp,00000008h test eax,eax jz L004344DF mov eax,[esi+00000118h] inc edi cmp edi,eax jl L0043437F L004343A5: mov edx,[esi+00000118h] lea eax,[00000008h+edx*8] push eax call SUB_L004D4FA9 mov ecx,[esi+00000118h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004343F0 L004343C9: mov ecx,[esi+00000114h] inc eax mov edx,[ecx+eax*8-08h] mov [edi+eax*8-08h],edx mov ecx,[esi+00000114h] mov edx,[ecx+eax*8-04h] mov [edi+eax*8-04h],edx mov ecx,[esi+00000118h] cmp eax,ecx jl L004343C9 L004343F0: mov eax,[esi+00000114h] push eax call SUB_L004D4F9E add esp,00000004h mov [esi+00000114h],edi xor edi,edi push edi push edi push edi push SSZ00500038_chat call SUB_L0046E410 push eax push SSZ00500038_chat call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0043443D push edi push 00000041h mov ecx,eax call SUB_L0046FD40 test eax,eax jz L0043443D mov ecx,eax call SUB_L004C8360 mov edi,eax L0043443D: lea ecx,[esp+0Ch] push edi push ecx call SUB_L004C4430 lea edx,[esp+14h] push L00511928 push edx call SUB_L004C4550 lea eax,[esp+1Ch] push ebx push eax call SUB_L004C4550 lea ecx,[esp+24h] push L00511928 push ecx call SUB_L004C4550 mov eax,[esp+00000834h] add esp,00000020h test eax,eax mov eax,L00511908 jnz L00434489 mov eax,L00511910 L00434489: lea edx,[esp+0Ch] push eax push edx call SUB_L004C4550 push ebx call SUB_L004C44A0 mov ecx,[esi+00000118h] mov edx,[esi+00000114h] mov [edx+ecx*8],eax lea eax,[esp+18h] push eax call SUB_L004C44A0 mov ecx,[esi+00000118h] mov edx,[esi+00000114h] add esp,00000010h mov [edx+ecx*8+04h],eax mov eax,[esi+00000118h] inc eax pop edi mov [esi+00000118h],eax pop esi pop ebx add esp,00000800h retn 0008h ;------------------------------------------------------------------------------ L004344DF: mov edx,[esp+00000814h] mov eax,[esi+00000114h] neg edx mov ecx,[eax+edi*8+04h] sbb dl,dl push ecx and dl,FCh add dl,24h movsx bx,dl call SUB_L004C4300 mov edx,[esi+00000114h] add esp,00000004h mov ecx,[edx+edi*8+04h] pop edi pop esi mov [ecx+eax*2-02h],bx pop ebx add esp,00000800h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00434530: push ebx push esi mov esi,ecx push edi mov edi,00000001h cmp [esi+00000118h],edi jle L00434604 mov ebx,[esp+10h] L0043454A: mov eax,[esi+00000114h] mov ecx,[eax+edi*8] push ecx push ebx call SUB_L004C4320 add esp,00000008h test eax,eax jz L00434572 mov eax,[esi+00000118h] inc edi cmp edi,eax jl L0043454A pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L00434572: mov edx,[esi+00000114h] mov eax,[edx+edi*8] test eax,eax jz L00434588 push eax call SUB_L004D4F9E add esp,00000004h L00434588: mov eax,[esi+00000114h] mov eax,[eax+edi*8+04h] test eax,eax jz L0043459F push eax call SUB_L004D4F9E add esp,00000004h L0043459F: mov ecx,[esi+00000118h] lea eax,[edi+01h] cmp eax,ecx jge L004345D6 L004345AC: mov ecx,[esi+00000114h] mov edx,[ecx+eax*8] lea ecx,[ecx+eax*8] mov [ecx-08h],edx mov ecx,[esi+00000114h] mov edx,[ecx+eax*8+04h] lea ecx,[ecx+eax*8] inc eax mov [ecx-04h],edx mov ecx,[esi+00000118h] cmp eax,ecx jl L004345AC L004345D6: mov eax,[esi+00000118h] mov ecx,[esi+00000114h] dec eax mov [esi+00000118h],eax mov dword ptr [ecx+eax*8],00000000h mov edx,[esi+00000118h] mov eax,[esi+00000114h] mov dword ptr [eax+edx*8+04h],00000000h L00434604: pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 L00434610: sub esp,00000028h push ebx push ebp push esi push edi mov edi,ecx xor esi,esi mov [esp+14h],esi mov [esp+10h],esi cmp [edi+6Ch],esi jz L0043480A lea eax,[esp+10h] lea ecx,[esp+14h] push eax push ecx mov ecx,edi call SUB_L00457C90 mov eax,[esp+14h] mov edx,[esp+10h] mov ecx,[edi+64h] mov ebp,eax mov ebx,edx cmp ecx,esi mov [esp+18h],ebp mov [esp+1Ch],ebx jz L0043466F mov ecx,[edi+28h] add ecx,eax mov eax,[edi+2Ch] add eax,edx mov [esp+20h],ecx mov [esp+24h],eax jmp L004346F6 L0043466F: mov ecx,[edi+20h] mov esi,[edi+48h] add ecx,eax mov eax,[edi+24h] add eax,edx mov [esp+20h],ecx test esi,esi mov [esp+24h],eax jz L004346F4 L00434688: xor eax,eax lea edx,[esp+10h] mov [esp+10h],eax mov [esp+14h],eax lea eax,[esp+14h] push edx push eax mov ecx,esi call SUB_L00457C90 mov eax,[esp+14h] mov ebp,[esp+18h] cmp eax,ebp jge L004346B5 mov ebp,eax mov [esp+18h],ebp L004346B5: mov ecx,[esi+20h] add eax,ecx mov ecx,[esp+20h] cmp eax,ecx jle L004346C8 mov ecx,eax mov [esp+20h],ecx L004346C8: mov eax,[esp+10h] mov ebx,[esp+1Ch] cmp eax,ebx jge L004346DA mov ebx,eax mov [esp+1Ch],ebx L004346DA: mov edx,[esi+24h] add edx,eax mov eax,[esp+24h] cmp edx,eax jle L004346ED mov eax,edx mov [esp+24h],eax L004346ED: mov esi,[esi+40h] test esi,esi jnz L00434688 L004346F4: xor esi,esi L004346F6: cmp ebp,esi jge L004346FE mov [esp+18h],esi L004346FE: cmp ebx,esi jge L00434706 mov [esp+1Ch],esi L00434706: mov edx,[L005073D0] cmp ecx,edx jle L00434714 mov [esp+20h],edx L00434714: mov ecx,[L005073D4] cmp eax,ecx jle L00434722 mov [esp+24h],ecx L00434722: mov esi,[esp+3Ch] lea eax,[esp+18h] push eax push esi call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0043480A lea ecx,[esp+28h] lea edx,[esp+18h] push ecx push edx push esi call SUB_L00457DF0 mov dword ptr [edi+60h],00000001h mov eax,[L005073D0] mov edi,[esp+38h] mov esi,[esp+34h] imul eax,edi mov ecx,[L00B189FC] add eax,esi add esp,0000000Ch lea eax,[ecx+eax*2] mov edx,eax sub edx,ecx mov ecx,[L00BE94E0] sar edx,1 lea edx,[ecx+edx*2] mov ecx,[L00BE9500] cmp ecx,00001000h jge L004347C1 mov ebx,ecx mov ebp,[esp+30h] shl ebx,04h add ebx,L00B694E0 mov [L00B494E0+ecx*4],eax mov [L00B294E0+ecx*4],edx inc ecx mov [ebx],esi mov [L00BE9500],ecx mov [ebx+04h],edi mov [ebx+08h],ebp mov ebp,[esp+34h] mov [ebx+0Ch],ebp L004347C1: mov ecx,[esp+34h] mov [esp+10h],edi cmp edi,ecx jge L0043480A jmp L004347D3 L004347CF: mov esi,[esp+28h] L004347D3: mov ecx,[esp+30h] mov edi,edx sub ecx,esi mov esi,eax shl ecx,1 mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[L005073D0] mov esi,[esp+34h] add ecx,ecx add edx,ecx add eax,ecx mov ecx,[esp+10h] inc ecx cmp ecx,esi mov [esp+10h],ecx jl L004347CF L0043480A: pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00434820: push FFFFFFFFh push L004E1F08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 xor eax,eax mov ebx,00000001h push SSZ00500078_ChatBorder_framedata push 00000008h mov [esp+20h],eax mov dword ptr [esi],L004EAA4C mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+14h],eax mov [esi+18h],ebx mov [esi+24h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500064_ChatBorder_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h push ebx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov eax,[esp+24h] push eax mov [ecx+02h],dx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 4 L00434920: push esi mov esi,ecx call SUB_L00434940 test byte ptr [esp+08h],01h jz L00434938 push esi call SUB_L004D4F9E add esp,00000004h L00434938: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00434940: push FFFFFFFFh push L004E1F28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EAA4C mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0043498D push SSZ00500064_ChatBorder_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0043498D: mov eax,[esi+3Ch] test eax,eax jz L004349A9 push SSZ00500078_ChatBorder_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004349A9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004349D0: mov eax,[esp+0Ch] push esi mov esi,ecx mov ecx,[esp+14h] mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] test eax,eax jz L00434A03 push SSZ00500064_ChatBorder_frame0 push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov dword ptr [eax+04h],00000000h L00434A03: mov ecx,[esp+0Ch] push ebx push ebp lea ebx,[esi+24h] push edi lea ebp,[esi+20h] push ebx push ebp push ecx call SUB_L004434A0 mov eax,[esp+20h] add esp,0000000Ch test eax,eax jz L00434A2B mov edx,[esp+24h] mov [ebx],edx jmp L00434A32 L00434A2B: mov eax,[esp+24h] mov [ebp+00h],eax L00434A32: mov eax,[ebp+00h] mov ecx,[ebx] imul ecx,eax push SSZ00500064_ChatBorder_frame0 mov [esi+1Ch],eax lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] pop edi pop ebp mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] pop ebx mov ecx,[eax+04h] mov eax,[esp+08h] test eax,eax mov [ecx+02h],dx jz L00434ABB mov eax,[esp+18h] mov edx,[esi+3Ch] mov ecx,[esp+0Ch] push eax mov eax,[edx+04h] push 00000000h push 00000000h push ecx push eax mov ecx,esi call SUB_L00448590 pop esi retn 0014h ;------------------------------------------------------------------------------ L00434ABB: mov ecx,[esp+18h] mov eax,[esi+3Ch] mov edx,[esp+0Ch] push ecx mov ecx,[eax+04h] push 00000000h push 00000000h push edx push ecx mov ecx,esi call SUB_L00434BA0 pop esi retn 0014h ;------------------------------------------------------------------------------ Align 8 L00434AE0: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L00434B1F lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+20h] L00434B1F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00434B30: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L00434B6F lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+14h] L00434B6F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00434B80: mov eax,[ecx+4Ch] test eax,eax jz L00434B97 mov edx,[eax] push ecx mov ecx,[esp+08h] push ecx mov ecx,eax call [edx+00000174h] L00434B97: retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00434BA0: sub esp,00000010h mov eax,[esp+24h] push ebx push ebp push esi mov esi,[esp+20h] push edi mov edi,[esp+2Ch] mov ebx,[esp+30h] xor edx,edx mov [esp+10h],edi mov dx,[esi+02h] lea ecx,[edi+eax] xor eax,eax mov [esp+14h],ebx mov ax,[esi] mov [esp+30h],ecx cmp ecx,eax mov [esp+18h],ecx mov [esp+1Ch],edx jle L00434BE1 mov [esp+18h],eax L00434BE1: mov ebp,[esp+28h] lea eax,[esp+24h] lea ecx,[esp+2Ch] push eax push ecx push ebp call SUB_L004434A0 mov eax,[esp+3Ch] add esp,0000000Ch cmp edi,eax jge L00434C66 mov eax,[esp+2Ch] L00434C04: lea edx,[edi+eax] mov eax,[esp+34h] cmp edx,eax jle L00434C37 xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax lea edx,[esi+04h] push ecx push edx push ebx lea eax,[esp+20h] push edi push eax push ebp push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h jmp L00434C58 L00434C37: xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx lea eax,[esi+04h] push edx push eax push ebx push edi push ebp push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L00434C58: mov eax,[esp+2Ch] mov ecx,[esp+30h] add edi,eax cmp edi,ecx jl L00434C04 L00434C66: pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ SUB_L00434C70: push FFFFFFFFh push L004E1F8A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 lea eax,[esp+14h] lea ecx,[esp+1Ch] push eax xor ebx,ebx push ecx push 00000A8Ch mov [esp+38h],ebx mov dword ptr [esi],L004EABE0 call SUB_L004434A0 lea edx,[esp+1Ch] lea eax,[esp+2Ch] push edx push eax push 000000FCh call SUB_L004434A0 mov edi,[esp+4Ch] mov ebp,[esp+28h] mov edx,[esp+2Ch] add esp,00000018h mov eax,[edi+24h] mov ecx,[edi+20h] sub eax,ebp mov ebp,[esp+3Ch] sub eax,edx push eax push ecx mov ecx,[esp+40h] push ebp push ecx mov ecx,esi call SUB_L00434F00 push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],01h jz L00434D1B push esi mov ecx,eax call SUB_L00434820 jmp L00434D1D L00434D1B: xor eax,eax L00434D1D: push 0000009Ch mov [esp+30h],bl mov [esi+0000009Ch],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],02h jz L00434D4B push esi mov ecx,eax call SUB_L00434820 jmp L00434D4D L00434D4B: xor eax,eax L00434D4D: push 0000009Ch mov [esp+30h],bl mov [esi+000000A0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],03h jz L00434D7B push esi mov ecx,eax call SUB_L00434820 jmp L00434D7D L00434D7B: xor eax,eax L00434D7D: push 0000009Ch mov [esp+30h],bl mov [esi+000000A4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],04h jz L00434DAB push esi mov ecx,eax call SUB_L00434820 jmp L00434DAD L00434DAB: xor eax,eax L00434DAD: push 000000C8h mov [esp+30h],bl mov [esi+000000A8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],05h jz L00434DE9 mov edx,[esp+40h] mov ecx,eax push edx push ebx push 00000800h push 00000001h push ebx push esi call SUB_L004356E0 jmp L00434DEB L00434DE9: xor eax,eax L00434DEB: push 000000B0h mov [esp+30h],bl mov [esi+000000ACh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax cmp eax,ebx mov byte ptr [esp+2Ch],06h jz L00434E19 push esi mov ecx,eax call SUB_L00435210 jmp L00434E1B L00434E19: xor eax,eax L00434E1B: cmp ebp,ebx mov [esp+2Ch],bl mov [esi+000000B0h],eax jle L00434E51 mov edi,[esp+38h] L00434E2D: mov eax,[L0050CE6C] mov ecx,[edi] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push eax push ecx mov ecx,[esi+000000ACh] call SUB_L004359B0 add edi,00000008h dec ebp jnz L00434E2D mov edi,[esp+34h] L00434E51: mov ecx,esi call SUB_L00435080 push 00000001h push edi mov ecx,esi call SUB_L004587A0 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0010h ;------------------------------------------------------------------------------ Align 8 L00434E80: push esi mov esi,ecx call SUB_L00434EA0 test byte ptr [esp+08h],01h jz L00434E98 push esi call SUB_L004D4F9E add esp,00000004h L00434E98: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00434EA0: push FFFFFFFFh push L004E1FA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EABE0 mov ecx,[esi+4Ch] push esi mov dword ptr [esp+14h],00000000h call SUB_L00433A60 mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00434F00: sub esp,0000002Ch lea eax,[esp+04h] push ebx push esi mov esi,ecx push eax lea ecx,[esp+24h] push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+30h] lea eax,[esp+24h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+34h] push ecx push edx push 000000FCh call SUB_L004434A0 lea eax,[esp+38h] lea ecx,[esp+4Ch] push eax push ecx push 000000FEh call SUB_L004434A0 mov eax,[esp+6Ch] add esp,00000030h xor ebx,ebx test eax,eax jle L00434F9C push ebp push edi mov edi,[esp+40h] mov ebp,eax L00434F6C: lea edx,[esp+34h] lea eax,[esp+38h] push edx mov edx,[edi] lea ecx,[esp+14h] push eax push ecx push edx call SUB_L004C6930 mov eax,[esp+20h] add esp,00000010h cmp eax,ebx jle L00434F90 mov ebx,eax L00434F90: add edi,00000008h dec ebp jnz L00434F6C mov eax,[esp+44h] pop edi pop ebp L00434F9C: cmp eax,0000000Bh jle L00434FA6 mov eax,0000000Bh L00434FA6: mov ecx,[esp+0Ch] lea edx,[ecx+eax*8] add eax,edx mov edx,[esp+10h] add edx,ecx mov ecx,[esp+14h] shl eax,1 lea ecx,[ecx+edx*2] mov [esi+24h],eax cmp eax,ecx jge L00434FC8 mov [esi+24h],ecx L00434FC8: mov edx,[esp+18h] mov ecx,[esp+1Ch] lea eax,[ebx+edx*2+04h] mov edx,[esi+24h] add eax,ecx mov ecx,[esp+44h] cmp edx,ecx mov [esi+20h],eax jle L00434FE7 mov [esi+24h],ecx L00434FE7: mov ecx,[esp+40h] cmp eax,ecx jle L00434FF2 mov [esi+20h],ecx L00434FF2: pop esi pop ebx add esp,0000002Ch retn 0010h ;------------------------------------------------------------------------------ Align 8 SUB_L00435000: sub esp,00000010h lea eax,[esp+04h] push esi mov esi,ecx push edi lea ecx,[esp+10h] push eax push ecx push 00000A8Ch xor edi,edi call SUB_L004434A0 lea edx,[esp+14h] lea eax,[esp+20h] push edx push eax push 000000FCh call SUB_L004434A0 mov eax,[esi+4Ch] mov edx,[esp+20h] add esp,00000018h mov ecx,[eax+20h] mov eax,[eax+24h] sub eax,edx mov edx,[esp+0Ch] sub eax,edx mov edx,[esi+24h] cmp edx,eax jle L00435058 mov [esi+24h],eax mov edi,00000001h L00435058: cmp [esi+20h],ecx jle L0043506D mov [esi+20h],ecx mov ecx,esi call SUB_L00435080 pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L0043506D: test edi,edi jz L00435078 mov ecx,esi call SUB_L00435080 L00435078: pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00435080: sub esp,00000018h lea eax,[esp+00h] push esi mov esi,ecx push edi lea ecx,[esp+14h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+24h] lea eax,[esp+18h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+34h] lea edx,[esp+28h] push ecx push edx push 000000FCh call SUB_L004434A0 mov eax,[esi+20h] mov ecx,[esi+0000009Ch] add esp,00000024h push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+24h] mov eax,[esp+08h] mov ecx,[esi+20h] sub edx,eax push ecx mov ecx,[esi+000000A0h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A4h] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] mov edi,[esp+0Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A8h] push edx push eax mov eax,[esi+20h] sub eax,edi push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000B0h] push edx push eax mov eax,[esp+14h] push eax call SUB_L00435500 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+0Ch] mov edi,[esi+20h] push edx lea edx,[ecx+ecx] sub edi,edx mov edx,[esp+14h] sub edi,edx add edx,ecx mov ecx,[esi+000000ACh] push edi push eax push edx call SUB_L00435920 mov ecx,[esi+000000ACh] push 00000000h call SUB_L00435D70 pop edi pop esi add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 L004351B0: mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000B0h] push eax push edx call SUB_L00435670 retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004351D0: mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000ACh] push eax push edx call SUB_L00435DB0 retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004351F0: mov eax,[esp+04h] mov ecx,[ecx+000000ACh] push eax call SUB_L00435DE0 retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00435210: push FFFFFFFFh push L004E1FE9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 xor ebx,ebx mov ebp,00000001h push SSZ005000A8_ChatScrollBar_framedata push 00000008h mov [esp+28h],ebx mov dword ptr [esi],L004EAD74 mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500090_ChatScrollBar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000ECh mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+000000A4h],ebx mov [esi+000000ACh],bl call SUB_L004D4FA9 add esp,00000014h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],01h jz L00435331 push ebx push 000000FBh push 000000FAh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00435333 L00435331: xor eax,eax L00435333: mov [esi+0000009Ch],eax mov [eax+000000A4h],ebx mov eax,[esi+0000009Ch] push ebp push esi mov [esp+28h],bl mov [eax+000000C0h],ebp mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],02h jz L00435395 push ebx push 000000FDh push 000000FCh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00435397 L00435395: xor eax,eax L00435397: mov [esi+000000A0h],eax mov [eax+000000A4h],ebp mov ecx,[esi+000000A0h] push ebp push esi mov [esp+28h],bl mov [ecx+000000C0h],ebp mov ecx,[esi+000000A0h] call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L004353ED push 000000FEh push esi push ebx push ebp push ebx push ebx mov ecx,eax call SUB_L00422790 jmp L004353EF L004353ED: xor eax,eax L004353EF: push ebp push esi mov ecx,eax mov [esp+28h],bl mov [esi+000000A8h],eax call SUB_L004587A0 mov edx,[esp+28h] push ebp push edx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+18h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00435430: push esi mov esi,ecx call SUB_L00435450 test byte ptr [esp+08h],01h jz L00435448 push esi call SUB_L004D4F9E add esp,00000004h L00435448: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00435450: push FFFFFFFFh push L004E2008 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EAD74 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0043549D push SSZ00500090_ChatScrollBar_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0043549D: mov eax,[esi+3Ch] test eax,eax jz L004354B9 push SSZ005000A8_ChatScrollBar_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004354B9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004354E0: mov eax,ecx push eax mov ecx,[eax+4Ch] mov eax,[esp+08h] push eax mov edx,[ecx] call [edx+00000184h] retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00435500: mov eax,fs:[00000000h] push FFFFFFFFh push L004E202B push eax mov eax,[esp+10h] mov fs:[00000000h],esp push ebx push esi mov esi,ecx push edi mov ecx,[esp+20h] mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] test eax,eax jz L0043554A push SSZ00500090_ChatScrollBar_frame0 push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov dword ptr [eax+04h],00000000h L0043554A: lea ecx,[esp+1Ch] lea ebx,[esi+20h] push ecx push ebx push 00000100h call SUB_L004434A0 mov eax,[ebx] mov ecx,[esp+30h] mov [esi+1Ch],eax imul eax,ecx lea edx,[eax+eax+04h] push SSZ00500090_ChatScrollBar_frame0 push edx mov [esi+24h],ecx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000014h mov [ecx+04h],eax mov ecx,[ebx] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] mov ecx,[esi+3Ch] push eax push 00000000h push 00000000h mov edx,[ecx+04h] push 00000100h push edx mov ecx,esi call SUB_L00448590 mov eax,[esi+000000A0h] mov ecx,[esi+24h] sub ecx,[eax+24h] mov [eax+34h],ecx mov ecx,[esi+000000A8h] test ecx,ecx jz L004355F9 mov edx,[ecx] push 00000001h call [edx] L004355F9: push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00435642 mov ecx,[esi+000000A0h] mov edx,[esi+24h] push 000000FEh push esi mov edi,[ecx+24h] mov ecx,[esi+0000009Ch] sub edx,edi push edx mov edx,[ecx+24h] push 00000001h push edx push 00000000h mov ecx,eax call SUB_L00422790 jmp L00435644 L00435642: xor eax,eax L00435644: push 00000001h push esi mov ecx,eax mov dword ptr [esp+1Ch],FFFFFFFFh mov [esi+000000A8h],eax call SUB_L004587A0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ SUB_L00435670: mov eax,[esp+08h] test eax,eax jnz L0043567D mov eax,00000001h L0043567D: mov ecx,[ecx+000000A8h] push eax mov eax,[esp+08h] push eax call SUB_L00422C90 retn 0008h ;------------------------------------------------------------------------------ Align 16 L004356A0: mov eax,ecx push eax mov ecx,[eax+4Ch] mov eax,[esp+0Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+00000180h] retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004356C0: mov al,[ecx+000000ACh] test al,al jz L004356D5 mov ecx,[ecx+000000A4h] mov eax,[ecx] jmp [eax+30h] L004356D5: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004356E0: push FFFFFFFFh push L004E2048 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov ecx,[esp+30h] mov edx,[esp+24h] mov [esi+0000009Ch],ecx mov ecx,[esp+28h] mov [esi+000000A0h],edx mov edx,[esp+2Ch] mov [esi+000000A4h],ecx mov ecx,[esp+34h] xor eax,eax mov ebx,00000001h push SSZ005000D8_ChatTextBox_framedata push 00000008h mov [esp+20h],eax mov [esi+000000A8h],edx mov [esi+000000ACh],eax mov [esi+000000B0h],eax mov [esi+000000B4h],eax mov dword ptr [esi+000000B8h],FFFFFFFFh mov [esi+000000BCh],ecx mov [esi+000000C0h],eax mov [esi+000000C4h],eax mov dword ptr [esi],L004EAF08 mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+14h],eax mov [esi+18h],ebx mov [esi+24h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ005000C4_ChatTextBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov ecx,[eax+04h] mov dx,[esi+24h] mov eax,[esp+20h] mov [ecx+02h],dx push ebx push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 8 L00435840: push esi mov esi,ecx call SUB_L00435860 test byte ptr [esp+08h],01h jz L00435858 push esi call SUB_L004D4F9E add esp,00000004h L00435858: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00435860: push FFFFFFFFh push L004E2068 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EAF08 mov eax,[esi+000000C4h] mov dword ptr [esp+10h],00000000h test eax,eax jz L004358BD L00435895: mov [esi+000000C0h],eax mov eax,[eax+18h] mov [esi+000000C4h],eax mov eax,[esi+000000C0h] push eax call SUB_L004D4F9E mov eax,[esi+000000C4h] add esp,00000004h test eax,eax jnz L00435895 L004358BD: mov ecx,[esi+3Ch] mov eax,[ecx+04h] test eax,eax jz L004358DF push SSZ005000C4_ChatTextBox_frame0 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L004358DF: mov eax,[esi+3Ch] test eax,eax jz L004358FB push SSZ005000D8_ChatTextBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004358FB: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00435920: mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[esp+0Ch] mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] push eax call SUB_L004D4F9E mov eax,[esp+14h] mov ecx,[esp+18h] mov edx,00000001h add esp,00000004h cmp eax,edx mov [esi+1Ch],eax mov [esi+20h],eax mov [esi+24h],ecx jge L0043595D mov [esi+20h],edx L0043595D: cmp ecx,edx jge L00435964 mov [esi+24h],edx L00435964: mov ecx,[esi+24h] push SSZ005000C4_ChatTextBox_frame0 imul ecx,[esi+20h] lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,esi call SUB_L00435E60 mov ecx,esi call SUB_L004360B0 pop esi retn 0010h ;------------------------------------------------------------------------------ SUB_L004359B0: sub esp,0000000Ch push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+000000ACh] mov ecx,[esi+000000A8h] cmp eax,ecx jnz L00435A20 mov edi,[esi+000000C4h] mov eax,[edi+18h] cmp eax,ebx mov [esi+000000C4h],eax jz L004359E3 mov [eax+1Ch],ebx jmp L004359E9 L004359E3: mov [esi+000000C0h],ebx L004359E9: mov ecx,[edi] push ecx call SUB_L004D4F9E mov edx,[edi+14h] mov ebp,[esi+000000B0h] mov ecx,[esi+000000B4h] sub ebp,edx mov [esi+000000B0h],ebp mov eax,[edi+14h] add esp,00000004h sub ecx,eax mov [esi+000000B4h],ecx jns L00435A39 mov [esi+000000B4h],ebx jmp L00435A39 L00435A20: push 00000024h call SUB_L004D4FA9 mov edi,eax mov eax,[esi+000000ACh] add esp,00000004h inc eax mov [esi+000000ACh],eax L00435A39: mov eax,[esp+2Ch] mov ecx,[esp+24h] mov edx,[esp+28h] mov [edi+0Ch],eax mov eax,[esp+34h] mov [edi+04h],ecx mov ecx,[esp+30h] cmp eax,ebx mov [edi+08h],edx mov [edi+10h],ecx jz L00435A71 push 00000003h lea edx,[edi+20h] push eax push edx call SUB_L004D52C0 add esp,0000000Ch mov [edi+23h],bl jmp L00435A74 L00435A71: mov [edi+20h],bl L00435A74: mov ebp,[esp+20h] push ebp call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push ebp push eax mov [edi],eax call SUB_L004C4430 mov eax,[esi+000000A0h] add esp,00000010h cmp eax,ebx jz L00435AC1 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx mov ecx,[esi+20h] lea eax,[esp+1Ch] push edx mov edx,[edi] sub ecx,00000004h push eax push ecx push edx call SUB_L004C6B20 add esp,00000014h jmp L00435ADB L00435AC1: lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov eax,[edi] lea edx,[esp+1Ch] push ecx push edx push eax call SUB_L004C6930 add esp,00000010h L00435ADB: mov eax,[esp+10h] cmp eax,00000012h jge L00435AE9 mov eax,00000012h L00435AE9: mov [edi+14h],eax mov [edi+18h],ebx mov ecx,[esi+000000C0h] mov [edi+1Ch],ecx mov eax,[esi+000000C0h] cmp eax,ebx jz L00435B07 mov [eax+18h],edi jmp L00435B0D L00435B07: mov [esi+000000C4h],edi L00435B0D: mov ecx,[esi+000000B4h] mov eax,[esi+000000B0h] mov edx,[esp+10h] cmp ecx,eax mov [esi+000000C0h],edi jnz L00435B2F add ecx,edx mov [esi+000000B4h],ecx L00435B2F: mov edi,[esi+0000009Ch] mov ecx,[esi+4Ch] add eax,edx push edi mov [esi+000000B0h],eax mov edx,[ecx] push eax mov eax,[esi+000000B4h] push eax call [edx+00000178h] mov ecx,esi call SUB_L004360B0 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00435B70: push ebp mov ebp,ecx push esi push edi mov esi,[ebp+000000C4h] mov edi,[esp+10h] test esi,esi jz L00435B9A L00435B83: mov eax,[esi] push edi push eax call SUB_L004C4320 add esp,00000008h test eax,eax jz L00435BBE mov esi,[esi+18h] test esi,esi jnz L00435B83 L00435B9A: mov eax,[esp+20h] mov ecx,[esp+1Ch] mov edx,[esp+18h] push 00000000h push eax mov eax,[esp+1Ch] push ecx push edx push eax push edi mov ecx,ebp call SUB_L004359B0 pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L00435BBE: mov eax,[esp+1Ch] mov ecx,[esp+14h] mov edx,[esp+18h] mov [esi+0Ch],eax mov eax,[esp+24h] mov [esi+04h],ecx mov ecx,[esp+20h] mov [esi+08h],edx test eax,eax mov [esi+10h],ecx jz L00435C02 push 00000003h lea edx,[esi+20h] push eax push edx call SUB_L004D52C0 add esp,0000000Ch mov ecx,ebp mov byte ptr [esi+23h],00h call SUB_L004360B0 pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ L00435C02: mov ecx,ebp mov byte ptr [esi+20h],00h call SUB_L004360B0 pop edi pop esi pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00435C20: push ebx push esi push edi mov edi,ecx mov esi,[edi+000000C4h] test esi,esi jz L00435CED mov ebx,[esp+10h] L00435C37: mov eax,[esi] push eax push ebx call SUB_L004C4320 add esp,00000008h test eax,eax jz L00435C54 mov esi,[esi+18h] test esi,esi jnz L00435C37 pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L00435C54: test esi,esi jz L00435CED mov edx,[edi+000000ACh] dec edx mov [edi+000000ACh],edx mov eax,[esi+18h] test eax,eax jz L00435C78 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx jmp L00435C81 L00435C78: mov edx,[esi+1Ch] mov [edi+000000C0h],edx L00435C81: mov eax,[esi+1Ch] test eax,eax jz L00435C90 mov ecx,[esi+18h] mov [eax+18h],ecx jmp L00435C99 L00435C90: mov edx,[esi+18h] mov [edi+000000C4h],edx L00435C99: mov ecx,[edi+000000B4h] mov eax,[edi+000000B0h] cmp ecx,eax jnz L00435CB2 sub ecx,[esi+14h] mov [edi+000000B4h],ecx L00435CB2: mov ecx,[esi+14h] push esi sub eax,ecx mov [edi+000000B0h],eax call SUB_L004D4F9E mov edx,[edi+0000009Ch] mov ecx,[edi+4Ch] add esp,00000004h mov eax,[ecx] push edx mov edx,[edi+000000B0h] push edx mov edx,[edi+000000B4h] push edx call [eax+00000178h] mov ecx,edi call SUB_L004360B0 L00435CED: pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00435D00: push esi mov esi,ecx mov eax,[esi+000000C4h] test eax,eax jz L00435D66 L00435D0D: mov ecx,[eax+18h] push eax mov [esi+000000C4h],ecx mov edx,[eax+14h] sub [esi+000000B0h],edx call SUB_L004D4F9E mov eax,[esi+000000C4h] add esp,00000004h test eax,eax jnz L00435D0D mov edx,[esi+0000009Ch] mov ecx,[esi+4Ch] push edx mov edx,[esi+000000B0h] mov [esi+000000C0h],eax mov [esi+000000B4h],eax mov [esi+000000ACh],eax mov eax,[ecx] push edx push 00000000h call [eax+00000178h] mov ecx,esi call SUB_L004360B0 L00435D66: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00435D70: mov eax,[esp+04h] push esi mov esi,ecx push edi mov edi,[esi+0000009Ch] mov ecx,[esi+4Ch] push edi mov edi,[esi+000000B0h] mov [esi+000000B4h],eax mov edx,[ecx] push edi push eax call [edx+00000178h] mov ecx,esi call SUB_L004360B0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00435DB0: mov eax,[ecx+000000B0h] push esi test eax,eax jle L00435DD1 mov esi,[esp+0Ch] test esi,esi jle L00435DD1 imul eax,[esp+08h] cdq idiv esi mov [ecx+000000B4h],eax L00435DD1: call SUB_L004360B0 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00435DE0: mov edx,[esp+04h] push esi mov esi,ecx test edx,edx mov eax,[esi+000000B4h] mov ecx,eax jnz L00435DF8 add eax,FFFFFFEEh jmp L00435DFB L00435DF8: add eax,00000012h L00435DFB: test eax,eax mov [esi+000000B4h],eax jge L00435E0F mov dword ptr [esi+000000B4h],00000000h L00435E0F: mov edx,[esi+000000B0h] mov eax,[esi+000000B4h] cmp eax,edx jle L00435E25 mov [esi+000000B4h],edx L00435E25: mov eax,[esi+000000B4h] cmp eax,ecx jz L00435E4E mov ecx,[esi+4Ch] push ebx mov ebx,[esi+0000009Ch] push edi mov edi,[ecx] push ebx push edx push eax call [edi+00000178h] mov ecx,esi call SUB_L004360B0 pop edi pop ebx L00435E4E: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00435E60: sub esp,00000010h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004C5630 mov ebx,eax call SUB_L004C4230 mov ebp,eax mov al,[L00D1A682] mov [esp+1Ch],al mov al,[L00C3E64E] test al,al jz L00435E9A mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h jmp L00435EC5 L00435E9A: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L005000C0] push eax call SUB_L004C4240 mov edi,[L007050CC] test edi,edi setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L00435EC5: mov edx,[esi+24h] mov edi,[esi+000000C0h] neg edx test edi,edi mov [esi+000000B0h],edx jz L00435F4B L00435EDA: mov eax,[esi+000000A0h] test eax,eax jz L00435F07 lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov eax,[esi+20h] lea edx,[esp+1Ch] push ecx mov ecx,[edi] sub eax,00000004h push edx push eax push ecx call SUB_L004C6B20 add esp,00000014h jmp L00435F21 L00435F07: lea edx,[esp+14h] lea eax,[esp+10h] push edx mov edx,[edi] lea ecx,[esp+1Ch] push eax push ecx push edx call SUB_L004C6930 add esp,00000010h L00435F21: mov eax,[esp+10h] cmp eax,00000012h jge L00435F2F mov eax,00000012h L00435F2F: mov [edi+14h],eax mov eax,[esp+10h] mov ecx,[esi+000000B0h] add ecx,eax mov [esi+000000B0h],ecx mov edi,[edi+1Ch] test edi,edi jnz L00435EDA L00435F4B: mov eax,[esi+000000B0h] mov ecx,[esi+4Ch] mov [esi+000000B4h],eax mov esi,[esi+0000009Ch] mov edx,[ecx] push esi push eax push eax call [edx+00000178h] push ebx call SUB_L004C5640 push ebp call SUB_L004C4240 mov eax,[esp+24h] push eax call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00435F90: sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov ebx,eax mov al,[L00D1A682] mov [esp+18h],al mov al,[L00C3E64E] test al,al jz L00435FC9 mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h jmp L00435FF3 L00435FC9: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L005000C0] push eax call SUB_L004C4240 mov eax,[L007050CC] test eax,eax setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L00435FF3: mov eax,[esi+000000C0h] mov ecx,[esi+000000B0h] mov edx,[eax+14h] sub ecx,edx lea edx,[esp+0Ch] mov [esi+000000B0h],ecx mov ecx,[esi+000000A0h] test ecx,ecx lea ecx,[esp+10h] push ecx lea ecx,[esp+18h] push edx push ecx jz L00436037 mov edx,[esi+20h] mov eax,[eax] sub edx,00000004h push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L00436042 L00436037: mov edx,[eax] push edx call SUB_L004C6930 add esp,00000010h L00436042: mov eax,[esp+0Ch] cmp eax,00000012h jge L00436050 mov eax,00000012h L00436050: mov ecx,[esi+000000C0h] mov [ecx+14h],eax mov edx,[esp+0Ch] mov eax,[esi+000000B0h] mov ecx,[esi+4Ch] add eax,edx mov [esi+000000B0h],eax mov [esi+000000B4h],eax mov esi,[esi+0000009Ch] mov edx,[ecx] push esi push eax push eax call [edx+00000178h] push edi call SUB_L004C5640 push ebx call SUB_L004C4240 mov eax,[esp+20h] push eax call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004360B0: sub esp,00000024h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004C5630 mov [esp+18h],eax call SUB_L004C4230 mov [esp+1Ch],eax mov al,[L00D1A682] mov [esp+20h],al mov al,[L00C3E64E] test al,al jz L004360F0 mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h xor ebx,ebx jmp L0043611D L004360F0: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L005000C0] push eax call SUB_L004C4240 mov edi,[L007050CC] xor ebx,ebx cmp edi,ebx setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L0043611D: mov eax,[esi+000000BCh] cmp eax,ebx jge L004361B8 lea edx,[esp+14h] lea ecx,[esp+10h] push edx push ecx neg eax push eax call SUB_L004434A0 mov eax,[esp+1Ch] add esp,0000000Ch cmp eax,ebx jz L004361B2 mov ecx,[esi+24h] mov eax,[esi+20h] xor ebp,ebp cmp ecx,ebx mov [esp+28h],ebx mov [esp+24h],ebx mov [esp+2Ch],eax mov [esp+30h],ecx jle L004361B8 L00436164: xor edi,edi cmp eax,ebx jle L004361A3 L0043616A: mov edx,[esi+24h] push edx push eax mov eax,[esi+3Ch] lea edx,[esp+2Ch] mov ecx,[eax+04h] mov eax,[esi+000000BCh] add ecx,00000004h push ecx push ebp push edi push edx neg eax push eax push SUB_L004B95C0 call SUB_L004436C0 mov edx,[esp+30h] mov eax,[esi+20h] add edi,edx add esp,00000020h cmp edi,eax jl L0043616A L004361A3: mov edx,[esp+14h] mov ecx,[esi+24h] add ebp,edx cmp ebp,ecx jl L00436164 jmp L004361B8 L004361B2: mov [esi+000000BCh],ebx L004361B8: mov eax,[esi+000000BCh] cmp eax,ebx jl L00436207 mov cl,[L00C8C4A4] mov edx,eax test cl,cl jz L004361DB and edx,00007FE0h and eax,0000001Fh shl edx,1 or edx,eax L004361DB: mov ecx,[esi+24h] xor eax,eax imul ecx,[esi+20h] test ecx,ecx jle L00436207 mov ecx,00000004h L004361ED: mov edi,[esi+3Ch] inc eax add ecx,00000002h mov edi,[edi+04h] mov [edi+ecx-02h],dx mov edi,[esi+24h] imul edi,[esi+20h] cmp eax,edi jl L004361ED L00436207: mov edx,[esi+20h] mov ebp,[esi+24h] mov ecx,[esi+000000B0h] mov edi,[esi+000000C0h] sub edx,00000002h mov [esp+30h],ebp mov [esp+2Ch],edx mov edx,[esi+000000B4h] sub ebp,edx mov [esp+28h],ebx add ebp,ecx cmp edi,ebx mov dword ptr [esp+24h],00000002h jz L004362CD L00436242: mov ecx,[edi+14h] mov eax,[esi+24h] sub ebp,ecx cmp ebp,eax jge L004362BE cmp [esi+000000A0h],ebx jz L0043628D mov ecx,[edi+10h] mov edx,[edi+0Ch] mov eax,[esi+20h] push ecx mov ecx,[edi+08h] push edx push ecx mov ecx,[edi+04h] lea edx,[esp+30h] push edx mov edx,[edi] push ecx push ebp push 00000002h push edx push eax add eax,FFFFFFFCh push eax mov eax,[esi+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C7760 add esp,0000002Ch jmp L004362BE L0043628D: mov edx,[edi+10h] mov eax,[edi+0Ch] mov ecx,[edi+08h] push edx push eax mov eax,[edi+04h] lea edx,[esp+2Ch] push ecx mov ecx,[edi] push edx mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push ebp push 00000002h push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C6500 add esp,00000028h L004362BE: cmp ebp,ebx jl L004362CD mov edi,[edi+1Ch] cmp edi,ebx jnz L00436242 L004362CD: mov ecx,[esi+000000B8h] cmp ecx,FFFFFFFFh jz L0043636B mov eax,[esi+000000C0h] cmp eax,ebx jz L0043636B mov edx,[esi+000000B0h] mov ebp,[eax+14h] mov edi,[esi+000000B4h] sub edx,ebp sub edx,edi jns L0043636B lea edx,[esp+14h] mov eax,[eax] push edx lea edx,[esp+14h] push edx mov edx,[esi+20h] sub edx,00000004h push edx push eax push ecx call SUB_L004C6FD0 mov edx,[esi+000000C0h] mov eax,[esi+24h] mov ebp,[esp+28h] lea ecx,[esp+38h] mov edi,[edx+14h] mov edx,[esi+000000B4h] sub eax,edi push ecx mov ecx,[esi+000000B0h] sub eax,edx add eax,ecx mov ecx,[esp+28h] mov edx,[esi+20h] add eax,ebp push 00007FFFh push eax mov eax,[esi+3Ch] add ecx,00000002h push ecx push L005000F0 mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C6100 add esp,00000030h L0043636B: cmp [esi+000000A4h],ebx jz L00436414 lea edx,[esp+14h] mov ecx,esi push edx call SUB_L00449040 cmp eax,ebx jz L00436414 mov ecx,[esp+28h] mov edx,[esp+14h] cmp ecx,edx jge L0043639D mov ecx,edx mov [esp+28h],ecx L0043639D: mov eax,[eax+14h] mov ebp,[esp+30h] add eax,edx cmp ebp,eax jle L004363B0 mov ebp,eax mov [esp+30h],ebp L004363B0: mov edi,ecx mov edx,[esp+2Ch] imul edi,[esi+20h] mov eax,[esp+24h] mov ebx,ecx sub edx,eax add edi,eax mov eax,[esi+3Ch] mov eax,[eax+04h] lea edi,[eax+edi*2+04h] mov al,[L00C8C4A4] neg al sbb eax,eax and eax,00008000h add eax,00007FFFh cmp ecx,ebp mov [esp+10h],eax jge L00436414 L004363E9: test edx,edx jle L00436409 mov eax,edi mov ecx,edx L004363F1: mov bp,[eax] add eax,00000002h not bp and ebp,[esp+10h] dec ecx mov [eax-02h],bp jnz L004363F1 mov ebp,[esp+30h] L00436409: mov ecx,[esi+20h] inc ebx cmp ebx,ebp lea edi,[edi+ecx*2] jl L004363E9 L00436414: mov edx,[esp+18h] push edx call SUB_L004C5640 mov eax,[esp+20h] push eax call SUB_L004C4240 mov ecx,[esp+28h] push ecx call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 L00436440: mov eax,[ecx+000000A4h] test eax,eax jz L0043644F call SUB_L004360B0 L0043644F: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00436460: push esi mov esi,ecx mov eax,[esi+000000A4h] test eax,eax jz L00436476 call SUB_L004360B0 pop esi retn 0008h ;------------------------------------------------------------------------------ L00436476: mov eax,[esi+4Ch] test eax,eax jz L004364B2 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+2Ch] L004364B2: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004364C0: mov eax,[ecx+000000A4h] test eax,eax jz L004364CF jmp SUB_L004360B0 L004364CF: retn ;------------------------------------------------------------------------------ L004364D0: dd L00B881C7 db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db D1h; '‘' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 90h; '?' SUB_L004364E0: push esi mov esi,ecx mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 add esp,00000004h mov ecx,esi mov [esi+000000B8h],eax call SUB_L004360B0 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00436510: push esi mov esi,ecx push edi mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004D4F9E mov edi,[esp+10h] push edi call SUB_L004C44A0 mov edx,[esi+000000C0h] push edi mov [edx],eax call SUB_L004C4300 add esp,0000000Ch cmp word ptr [edi+eax*2-02h],0024h jnz L0043657A mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 mov edx,[esi+000000C0h] add esp,00000004h mov ecx,[edx] mov word ptr [ecx+eax*2-02h],0000h mov ecx,esi call SUB_L00435F90 mov edx,[esi] push 0000000Dh mov ecx,esi call [edx+44h] pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L0043657A: mov ecx,esi call SUB_L00435F90 mov ecx,esi call SUB_L004360B0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00436590: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 mov ebx,[esp+14h] mov edi,eax push ebx call SUB_L004C4300 add edi,eax lea edx,[edi+edi+02h] push edx call SUB_L004D4FA9 mov edi,eax mov eax,[esi+000000C0h] mov ecx,[eax] push ecx push edi call SUB_L004C4430 push ebx push edi call SUB_L004C4550 mov edx,[esi+000000C0h] mov eax,[edx] push eax call SUB_L004D4F9E mov ecx,[esi+000000C0h] push ebx mov [ecx],edi call SUB_L004C4300 add esp,00000024h cmp word ptr [ebx+eax*2-02h],0024h jnz L00436620 push edi call SUB_L004C4300 add esp,00000004h mov ecx,esi mov word ptr [edi+eax*2-02h],0000h call SUB_L00435F90 mov edx,[esi] push 0000000Dh mov ecx,esi call [edx+44h] pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L00436620: mov ecx,esi call SUB_L00435F90 mov ecx,esi call SUB_L004360B0 pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00436640: mov eax,[ecx+000000C0h] mov eax,[eax] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00436650: mov eax,[ecx+000000C0h] mov eax,[eax+14h] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00436660: sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov ebx,eax mov al,[L00D1A682] mov [esp+0Ch],al mov al,[L00C3E64E] test al,al jz L00436699 mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h jmp L004366C3 L00436699: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L005000C0] push eax call SUB_L004C4240 mov eax,[L007050CC] test eax,eax setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L004366C3: lea edx,[esp+14h] lea eax,[esp+18h] push edx mov edx,[esi+000000C0h] push eax lea ecx,[esp+18h] mov eax,[edx] push ecx push eax call SUB_L004C6930 push edi call SUB_L004C5640 push ebx call SUB_L004C4240 mov ecx,[esp+24h] push ecx call SUB_L004C4270 mov eax,[esp+2Ch] add esp,0000001Ch test eax,eax pop edi pop esi pop ebx jz L0043670B add eax,00000004h add esp,00000010h retn ;------------------------------------------------------------------------------ L0043670B: xor eax,eax add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00436720: push ebp mov ebp,[esp+08h] push esi cmp ebp,0000E024h push edi mov esi,ecx jg L004368C9 jz CASE_004369E8_PROC0001 cmp ebp,0000000Dh jg L004368A8 jz L0043685B mov eax,ebp sub eax,00000008h jz L00436838 dec eax jz L00436832 CASE_004369E8_PROC0004: push ebp call SUB_L004C5F00 add esp,00000004h test eax,eax jz L00436832 mov ecx,[esi+000000C0h] mov edx,[ecx] push edx call SUB_L004C4300 mov edi,eax add esp,00000004h cmp edi,000003FFh jge L00436832 lea eax,[edi+edi+04h] push ebx push eax call SUB_L004D4FA9 mov ecx,[esi+000000B8h] mov ebx,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004367C5 L004367A8: mov ecx,[esi+000000C0h] inc eax mov edx,[ecx] mov cx,[edx+eax*2-02h] mov [ebx+eax*2-02h],cx mov ecx,[esi+000000B8h] cmp eax,ecx jl L004367A8 L004367C5: mov edx,[esi+000000B8h] mov [ebx+edx*2],bp mov eax,[esi+000000B8h] cmp eax,edi jge L004367F6 lea ecx,[ebx+eax*2+02h] L004367DD: mov edx,[esi+000000C0h] inc eax add ecx,00000002h cmp eax,edi mov edx,[edx] mov dx,[edx+eax*2-02h] mov [ecx-02h],dx jl L004367DD L004367F6: mov word ptr [ebx+edi*2+02h],0000h mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004D4F9E mov edx,[esi+000000C0h] add esp,00000004h mov ecx,esi mov [edx],ebx mov eax,[esi+000000B8h] inc eax mov [esi+000000B8h],eax call SUB_L00435F90 mov ecx,esi call SUB_L004360B0 pop ebx L00436832: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00436838: mov eax,[esi+000000B8h] test eax,eax jle L00436832 dec eax push 0000E02Eh mov [esi+000000B8h],eax mov eax,[esi] mov ecx,esi call [eax+44h] pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0043685B: mov eax,[esi+000000C0h] mov ecx,[esi+4Ch] push esi mov eax,[eax] mov edx,[ecx] push eax call [edx+0000017Ch] test eax,eax jz L00436832 mov eax,[esi+000000C0h] mov dword ptr [esi+000000B8h],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 L007050D8 mov ecx,esi call SUB_L004359B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004368A8: cmp ebp,0000001Bh jz L004368BE cmp ebp,0000E023h jz CASE_004369E8_PROC0003 jmp CASE_004369E8_PROC0004 L004368BE: call SUB_L00456C40 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004368C9: lea eax,[ebp-0000E025h] cmp eax,00000009h ja CASE_004369E8_PROC0004 jmp [CASE_PROCTABLE_004369E8+eax*4] CASE_004369E8_PROC0009: mov eax,[esi+000000C0h] mov ecx,[esi+000000B8h] mov eax,[eax] cmp word ptr [eax+ecx*2],0000h jz L00436832 lea ecx,[ecx+ecx-02h] L004368FC: mov dx,[ecx+eax+04h] add ecx,00000002h mov [ecx+eax],dx mov eax,[esi+000000C0h] mov eax,[eax] cmp word ptr [ecx+eax],0000h jnz L004368FC mov ecx,esi call SUB_L00435F90 mov ecx,esi call SUB_L004360B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004369E8_PROC0000: mov eax,[esi+000000B8h] test eax,eax jle L00436832 dec eax mov ecx,esi mov [esi+000000B8h],eax call SUB_L004360B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004369E8_PROC0002: mov ecx,[esi+000000C0h] mov edi,[esi+000000B8h] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000004h cmp edi,eax jz L00436832 inc edi mov ecx,esi mov [esi+000000B8h],edi call SUB_L004360B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004369E8_PROC0003: mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 mov ecx,[esi+000000B8h] add esp,00000004h cmp ecx,eax jz L00436832 mov edx,[esi+000000C0h] mov eax,[edx] push eax call SUB_L004C4300 add esp,00000004h mov ecx,esi mov [esi+000000B8h],eax call SUB_L004360B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004369E8_PROC0001: mov eax,[esi+000000B8h] test eax,eax jz L00436832 mov ecx,esi mov dword ptr [esi+000000B8h],00000000h call SUB_L004360B0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_004369E8: dd CASE_004369E8_PROC0000 dd CASE_004369E8_PROC0001 dd CASE_004369E8_PROC0002 dd CASE_004369E8_PROC0003 dd CASE_004369E8_PROC0004 dd CASE_004369E8_PROC0004 dd CASE_004369E8_PROC0004 dd CASE_004369E8_PROC0004 dd CASE_004369E8_PROC0004 dd CASE_004369E8_PROC0009 L00436A10: mov eax,[esp+04h] sub esp,00000008h test eax,eax push ebx push esi push edi jz L00436B07 mov edi,[esp+20h] xor esi,esi test edi,edi jz L00436A37 push edi call SUB_L004C4300 add esp,00000004h mov esi,eax L00436A37: mov ebx,[esp+24h] push ebx call SUB_L004C4300 add esi,eax add esp,00000004h test esi,esi jle L00436B07 mov ecx,[L007050D4] lea eax,[esi+08h] cmp eax,ecx jle L00436A84 mov [L007050D4],eax mov eax,[L007050D0] push eax call SUB_L004D4F9E mov ecx,[L007050D4] lea edx,[ecx+ecx] push edx call SUB_L004D4FA9 add esp,00000008h mov [L007050D0],eax jmp L00436A89 L00436A84: mov eax,[L007050D0] L00436A89: test eax,eax jz L00436B07 test edi,edi mov word ptr [eax],0000h jz L00436AD2 mov eax,[L007050D0] push edi push eax call SUB_L004C4550 mov edx,[L007050D0] lea ecx,[esp+14h] push ecx push edx mov word ptr [esp+1Ch],003Ah mov word ptr [esp+1Eh],0020h mov word ptr [esp+20h],0000h mov word ptr [esp+22h],0000h call SUB_L004C4550 add esp,00000010h L00436AD2: test ebx,ebx jz L00436AE5 mov eax,[L007050D0] push ebx push eax call SUB_L004C4550 add esp,00000008h L00436AE5: mov ecx,[L0050CE74] mov edx,[L007050D0] push L00C8367C push FFFFFFFFh push FFFFFFFFh push 00000000h push ecx mov ecx,[esp+2Ch] push edx call SUB_L004359B0 L00436B07: pop edi pop esi pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00436B10: xor eax,eax mov [L007050E0],eax mov [L007050DC],eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L00436B20: push esi mov esi,[esp+08h] mov eax,[esi+08h] mov dword ptr [eax+000001C0h],00000000h mov ecx,[esi+08h] call SUB_L004045B0 cmp [L007050E0],esi jnz L00436B4B mov ecx,[esi+04h] mov [L007050E0],ecx L00436B4B: cmp [L007050DC],esi jnz L00436B5B mov edx,[esi] mov [L007050DC],edx L00436B5B: mov eax,[esi+04h] test eax,eax jz L00436B66 mov ecx,[esi] mov [eax],ecx L00436B66: mov eax,[esi] test eax,eax jz L00436B72 mov edx,[esi+04h] mov [eax+04h],edx L00436B72: mov dword ptr [esi+04h],00000000h mov dword ptr [esi],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00436B90: mov eax,[L007050DC] test eax,eax jz L00436BA8 mov ecx,[esp+04h] L00436B9D: cmp [eax+08h],ecx jz L00436BAA mov eax,[eax] test eax,eax jnz L00436B9D L00436BA8: xor eax,eax L00436BAA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00436BB0: push ebx push esi mov esi,[L007050DC] xor ebx,ebx cmp esi,ebx jz L00436C1F push edi L00436BBF: mov eax,[esi+08h] mov edi,[esi] mov [eax+000001C0h],ebx mov ecx,[esi+08h] call SUB_L004045B0 cmp [L007050E0],esi jnz L00436BE3 mov ecx,[esi+04h] mov [L007050E0],ecx L00436BE3: cmp [L007050DC],esi jnz L00436BF3 mov edx,[esi] mov [L007050DC],edx L00436BF3: mov eax,[esi+04h] cmp eax,ebx jz L00436BFE mov ecx,[esi] mov [eax],ecx L00436BFE: mov eax,[esi] cmp eax,ebx jz L00436C0A mov edx,[esi+04h] mov [eax+04h],edx L00436C0A: push esi mov [esi+04h],ebx mov [esi],ebx call SUB_L004D4F9E add esp,00000004h cmp edi,ebx mov esi,edi jnz L00436BBF pop edi L00436C1F: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00436C30: sub esp,0000020Ch mov al,[esp+00000214h] push ebx push esi push edi test al,al mov byte ptr [esp+0Fh],00h jz L00436D57 mov esi,L007049FC mov eax,L00705058 L00436C57: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00436C7F test cl,cl jz L00436C7B mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00436C7F add eax,00000002h add esi,00000002h test cl,cl jnz L00436C57 L00436C7B: xor eax,eax jmp L00436C84 L00436C7F: sbb eax,eax sbb eax,FFFFFFFFh L00436C84: test eax,eax jz L00436D33 mov esi,L007049FC mov eax,L00C880F8 L00436C96: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00436CBE test cl,cl jz L00436CBA mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00436CBE add eax,00000002h add esi,00000002h test cl,cl jnz L00436C96 L00436CBA: xor eax,eax jmp L00436CC3 L00436CBE: sbb eax,eax sbb eax,FFFFFFFFh L00436CC3: test eax,eax jz L00436D33 mov eax,[L00500100] lea ecx,[esp+10h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+28h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0000012Ch] repne scasb not ecx sub edi,ecx push L00500F54 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+00000130h] push ecx call SUB_L0043FEF0 mov ebx,eax add esp,00000020h test ebx,ebx mov byte ptr [esp+0Fh],01h jnz L00436D8F L00436D33: mov edx,[L00500100] push L00500F54 push edx call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jnz L00436D8F mov eax,[esp+0000021Ch] push eax jmp L00436D73 L00436D57: mov esi,[esp+0000021Ch] push L00500F54 push esi call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jnz L00436D8F push esi L00436D73: push SSZ00500F24_C__publish004_client_src_shared_ push SSZ00500EE8_File__s__Function_CApp__readConf call SUB_L004C7EC0 add esp,0000000Ch pop edi pop esi pop ebx add esp,0000020Ch retn ;------------------------------------------------------------------------------ L00436D8F: test byte ptr [ebx+0Ch],10h jnz L00436E71 push ebp L00436D9A: push ebx call SUB_L00472CE0 push L00500EE0 push eax call SUB_L004D563E mov ebp,eax add esp,0000000Ch test ebp,ebp jz CASE_00436E84_PROC0000 mov eax,[L00500110] xor edi,edi test eax,eax jz CASE_00436E84_PROC0000 mov eax,L00500110 mov esi,eax L00436DCE: mov ecx,[eax] push ecx push ebp call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00436DED mov ecx,[esi+08h] add esi,00000008h inc edi mov eax,esi test ecx,ecx jnz L00436DCE jmp CASE_00436E84_PROC0000 L00436DED: mov esi,[L00500114+edi*8] cmp esi,0000008Ah jz CASE_00436E84_PROC0000 push L00500ED8 push 00000000h call SUB_L004D563E add esp,00000008h test eax,eax jz CASE_00436E84_PROC0000 cmp byte ptr [eax],00h jz CASE_00436E84_PROC0000 mov cl,[esp+13h] test cl,cl jz L00436E4E mov cl,[esp+00000224h] test cl,cl jz L00436E4E lea ecx,[esi-10h] cmp ecx,00000077h ja CASE_00436E84_PROC0001 xor edx,edx mov dl,[ecx+CASE_00436E8C] jmp [CASE_PROCTABLE_00436E84+edx*4] CASE_00436E84_PROC0001: mov ecx,[esp+00000224h] and ecx,000000FFh push ecx jmp L00436E5C L00436E4E: mov edx,[esp+00000224h] and edx,000000FFh push edx L00436E5C: push eax push esi call SUB_L004375F0 add esp,0000000Ch CASE_00436E84_PROC0000: test byte ptr [ebx+0Ch],10h jz L00436D9A pop ebp L00436E71: push ebx call SUB_L00440570 add esp,00000004h pop edi pop esi pop ebx add esp,0000020Ch retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00436E84: dd CASE_00436E84_PROC0000 dd CASE_00436E84_PROC0001 CASE_00436E8C: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 01h db 01h, 01h, 01h, 01h, 00h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h db 00h, 00h, 00h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h Align 16 SUB_L00436F10: sub esp,00000220h push ebx push ebp xor ebp,ebp push esi push edi mov [esp+24h],ebp mov [esp+14h],ebp mov [esp+18h],ebp mov [esp+1Ch],ebp mov [esp+20h],ebp mov byte ptr [esp+13h],00h mov esi,L007049FC mov eax,L00705058 L00436F3F: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00436F67 test cl,cl jz L00436F63 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00436F67 add eax,00000002h add esi,00000002h test cl,cl jnz L00436F3F L00436F63: xor eax,eax jmp L00436F6C L00436F67: sbb eax,eax sbb eax,FFFFFFFFh L00436F6C: cmp eax,ebp jz L0043706F mov esi,L007049FC mov eax,L00C880F8 L00436F7E: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00436FA6 test cl,cl jz L00436FA2 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00436FA6 add eax,00000002h add esi,00000002h test cl,cl jnz L00436F7E L00436FA2: xor eax,eax jmp L00436FAB L00436FA6: sbb eax,eax sbb eax,FFFFFFFFh L00436FAB: cmp eax,ebp jz L0043706F mov eax,[L00500100] lea ecx,[esp+0000012Ch] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+00000144h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+40h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+44h] push ecx call SUB_L0043FEF0 mov edi,eax add esp,00000020h cmp edi,ebp mov byte ptr [esp+13h],01h jnz L0043703D L0043701F: mov edx,[L00500100] push L004FD2A8 push edx call SUB_L0043FEF0 mov edi,eax add esp,00000008h cmp edi,ebp jz L004370F0 L0043703D: mov eax,[esp+18h] test eax,eax jnz L004370D9 push edi call SUB_L004D5759 push edi mov [esp+2Ch],eax call SUB_L00472CE0 mov esi,eax mov al,[edi+0Ch] add esp,00000008h test al,10h jz L00437076 mov dword ptr [esp+18h],00000001h jmp L0043703D L0043706F: mov byte ptr [esp+28h],00h jmp L0043701F L00437076: push edi call SUB_L004D5759 push L00500EE0 push esi mov [esp+20h],eax call SUB_L004D563E mov ebx,eax add esp,0000000Ch test ebx,ebx jz L0043703D mov eax,[L00500110] xor ebp,ebp test eax,eax jz L004370C7 mov eax,L00500110 mov esi,eax L004370A6: mov eax,[eax] push eax push ebx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437142 mov ecx,[esi+08h] add esi,00000008h inc ebp mov eax,esi test ecx,ecx jnz L004370A6 L004370C7: mov ebp,0000008Ah L004370CC: cmp ebp,[esp+00000234h] jnz L0043703D L004370D9: push edi call SUB_L00440570 mov eax,[esp+1Ch] xor ebp,ebp add esp,00000004h cmp eax,ebp jz L004371B8 L004370F0: mov al,[esp+28h] test al,al jz L00437110 lea ecx,[esp+28h] push L00500FE4 push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L0043714B L00437110: mov edx,[L00500100] push L00500FE4 push edx call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L0043714B push SSZ00500FB8_saveConfigDirective__cannot_open call SUB_L004C7EC0 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000220h retn ;------------------------------------------------------------------------------ L00437142: mov ebp,[L00500114+ebp*8] jmp L004370CC L0043714B: mov al,[esp+13h] test al,al jnz L0043715C mov al,[L007050E4] test al,al jz L00437182 L0043715C: mov eax,[esp+00000234h] cmp eax,0000001Dh jz L004373AF cmp eax,00000024h jz L004373AF cmp eax,00000087h jz L004373AF jmp L00437189 L00437182: mov eax,[esp+00000234h] L00437189: mov ecx,[esp+00000238h] mov edx,[L00500110+eax*8] push ecx push edx push SSZ00500FB0__s__s_ push esi call SUB_L004D571D push esi call SUB_L00440570 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000220h retn ;------------------------------------------------------------------------------ L004371B8: mov al,[esp+28h] test al,al jz L004371D8 lea eax,[esp+28h] push L004FD2A8 push eax call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L004371FF L004371D8: mov ecx,[L00500100] push L004FD2A8 push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L004371FF push SSZ00500FB8_saveConfigDirective__cannot_open call SUB_L004C7EC0 add esp,00000004h L004371FF: mov ebx,[esp+24h] cmp ebx,ebp jle L0043721E push ebx call SUB_L004D4FA9 push esi push ebx push 00000001h push eax mov [esp+30h],eax call SUB_L004404F0 add esp,00000014h L0043721E: push 00000002h push ebp push esi call SUB_L00440490 push esi call SUB_L004D5759 mov edi,eax mov eax,[esp+24h] sub edi,eax add esp,00000010h cmp edi,ebp mov [esp+14h],edi jle L0043725F push ebp push eax push esi call SUB_L00440490 push edi call SUB_L004D4FA9 push esi push edi push 00000001h push eax mov [esp+40h],eax call SUB_L004404F0 add esp,00000020h L0043725F: push esi call SUB_L00440570 mov al,[esp+2Ch] add esp,00000004h test al,al jz L00437288 lea edx,[esp+28h] push L00500FAC push edx call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L004372AE L00437288: mov eax,[L00500100] push L00500FAC push eax call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L004372AE push SSZ00500F6C_saveConfigDirective__cannot_open call SUB_L004C7E80 add esp,00000004h L004372AE: cmp ebx,ebp jle L004372C9 push esi push ebx mov ebx,[esp+24h] push 00000001h push ebx call SUB_L00440550 push ebx call SUB_L004D4F9E add esp,00000014h L004372C9: mov al,[esp+13h] test al,al jnz L004372DA mov al,[L007050E4] test al,al jz L00437301 L004372DA: mov ebx,[esp+00000234h] cmp ebx,0000001Dh jz L0043738B cmp ebx,00000024h jz L0043738B cmp ebx,00000087h jz L0043738B jmp L00437308 L00437301: mov ebx,[esp+00000234h] L00437308: mov edi,[L00500110+ebx*8] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi mov ebp,ecx test ebp,ebp jle L0043733B L00437321: mov ecx,[L00500110+ebx*8] push esi movsx edx,[ecx+edi] push edx call SUB_L004D56E2 add esp,00000008h inc edi cmp edi,ebp jl L00437321 L0043733B: push esi push 0000003Dh call SUB_L004D56E2 mov ebx,[esp+00000240h] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax add esp,00000008h repne scasb not ecx dec ecx xor edi,edi mov ebp,ecx test ebp,ebp jle L00437374 L00437361: movsx eax,[edi+ebx] push esi push eax call SUB_L004D56E2 add esp,00000008h inc edi cmp edi,ebp jl L00437361 L00437374: push esi push 0000000Dh call SUB_L004D56E2 push esi push 0000000Ah call SUB_L004D56E2 mov edi,[esp+24h] add esp,00000010h L0043738B: test edi,edi jle L004373A6 push esi push edi mov edi,[esp+28h] push 00000001h push edi call SUB_L00440550 push edi call SUB_L004D4F9E add esp,00000014h L004373A6: push esi call SUB_L00440570 add esp,00000004h L004373AF: pop edi pop esi pop ebp pop ebx add esp,00000220h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004373C0: push esi mov esi,[esp+08h] test esi,esi push edi jnz L004373DC push SSZ00500F24_C__publish004_client_src_shared_ push SSZ00500FE8_FILE__s__Function__IsNumericAddr call SUB_L004C7E80 add esp,00000008h L004373DC: xor edi,edi L004373DE: movsx eax,[esi] push eax call SUB_L004D58DC add esp,00000004h test eax,eax jz L0043743D movsx ecx,[esi+01h] inc esi push ecx call SUB_L004D58DC add esp,00000004h test eax,eax jz L00437401 inc esi L00437401: movsx edx,[esi] push edx call SUB_L004D58DC add esp,00000004h test eax,eax jz L00437412 inc esi L00437412: cmp edi,00000003h jge L0043741F cmp byte ptr [esi],2Eh jnz L0043743D cmp edi,00000003h L0043741F: jnz L00437426 cmp byte ptr [esi],2Ch jnz L0043743D L00437426: inc esi inc edi cmp edi,00000004h jl L004373DE movsx eax,[esi] push eax call SUB_L004D58DC add esp,00000004h test eax,eax jnz L00437442 L0043743D: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00437442: movsx ecx,[esi+01h] inc esi push ecx call SUB_L004D58DC add esp,00000004h test eax,eax jnz L00437457 pop edi pop esi retn ;------------------------------------------------------------------------------ L00437457: movsx edx,[esi+01h] inc esi push edx call SUB_L004D58DC add esp,00000004h test eax,eax jnz L0043746C pop edi pop esi retn ;------------------------------------------------------------------------------ L0043746C: movsx eax,[esi+01h] inc esi push eax call SUB_L004D58DC add esp,00000004h test eax,eax jnz L00437481 pop edi pop esi retn ;------------------------------------------------------------------------------ L00437481: movsx ecx,[esi+01h] inc esi push ecx call SUB_L004D58DC add esp,00000004h test eax,eax jz L00437494 inc esi L00437494: movsx edx,[esi] push edx call SUB_L004D58DC add esp,00000004h neg eax sbb eax,eax pop edi inc eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004374B0: mov ecx,[esp+04h] sub esp,00000594h xor edx,edx mov al,[ecx] test al,al jz L004374D6 L004374C2: cmp al,2Ch jz L004374D6 mov [esp+edx+00000194h],al mov al,[ecx+01h] inc edx inc ecx test al,al jnz L004374C2 L004374D6: mov al,[ecx] push esi mov esi,[esp+000005B0h] cmp al,2Ch mov byte ptr [esp+edx+00000198h],00h jnz L004374FE push esi inc ecx push L004FF074 push ecx call SUB_L004D592C add esp,0000000Ch jmp L00437504 L004374FE: mov dword ptr [esi],00000000h L00437504: lea eax,[esp+08h] push eax push 00000101h call jmp_WSOCK32.dll!WSOCK32.115 test eax,eax jz L00437559 mov ecx,[esp+000005ACh] mov edx,[esp+000005A8h] mov eax,[esp+000005A4h] mov dword ptr [esi],00000000h mov dword ptr [ecx],00000000h mov ecx,[esp+000005A0h] mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h mov dword ptr [ecx],00000000h pop esi add esp,00000594h retn ;------------------------------------------------------------------------------ L00437559: lea edx,[esp+00000198h] push edx call jmp_WSOCK32.dll!WSOCK32.52 mov esi,eax test esi,esi jz L004375E6 mov eax,[esi+0Ch] mov ecx,[L007050F8] cmp dword ptr [eax+ecx*4],00000000h jnz L00437585 mov dword ptr [L007050F8],00000000h L00437585: call jmp_WSOCK32.dll!WSOCK32.116 mov edx,[esi+0Ch] mov eax,[L007050F8] mov ecx,[edx+eax*4] mov edx,[ecx] push edx call jmp_WSOCK32.dll!WSOCK32.14 mov esi,[L007050F8] mov edx,[esp+000005A0h] mov ecx,eax inc esi shr ecx,18h mov [L007050F8],esi mov [edx],ecx mov edx,[esp+000005A4h] mov [esp+04h],eax xor ecx,ecx mov cl,[esp+06h] mov [edx],ecx mov edx,[esp+000005A8h] xor ecx,ecx mov cl,ah and eax,000000FFh mov [edx],ecx mov ecx,[esp+000005ACh] mov [ecx],eax L004375E6: pop esi add esp,00000594h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004375F0: push FFFFFFFFh push L004E2088 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push esi lea ecx,[esp+24h] call SUB_L004B3250 mov eax,[esp+4Ch] mov esi,[esp+44h] xor ebx,ebx cmp eax,ebx mov [esp+3Ch],ebx jz L00437651 cmp esi,00000020h jz L0043762F cmp esi,00000021h jnz L00437651 L0043762F: lea ecx,[esp+24h] mov dword ptr [esp+3Ch],FFFFFFFFh call SUB_L004B3270 pop esi pop ebx mov ecx,[esp+2Ch] mov fs:[00000000h],ecx add esp,00000038h retn ;------------------------------------------------------------------------------ L00437651: cmp esi,00000089h push edi ja CASE_004391AC_PROC000A jmp [CASE_PROCTABLE_004391AC+esi*4] CASE_004391AC_PROC007F: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437699 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437699 mov byte ptr [L0050CC33],00h jmp CASE_004391AC_PROC000A L00437699: mov byte ptr [L0050CC33],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC007E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004376D9 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004376D9 mov byte ptr [L0050CC32],00h jmp CASE_004391AC_PROC000A L004376D9: mov byte ptr [L0050CC32],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC007C: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437719 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437719 mov byte ptr [L0050CC20],00h jmp CASE_004391AC_PROC000A L00437719: mov byte ptr [L0050CC20],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0081: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437759 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437759 mov byte ptr [L00C8C492],00h jmp CASE_004391AC_PROC000A L00437759: mov byte ptr [L00C8C492],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0082: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437799 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437799 mov byte ptr [L00C8C490],00h jmp CASE_004391AC_PROC000A L00437799: mov byte ptr [L00C8C490],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0085: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004377D9 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004377D9 mov byte ptr [L00C8C493],00h jmp CASE_004391AC_PROC000A L004377D9: mov byte ptr [L00C8C493],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC007A: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437819 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437819 mov byte ptr [L0050CC22],00h jmp CASE_004391AC_PROC000A L00437819: mov byte ptr [L0050CC22],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC007B: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437859 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437859 mov byte ptr [L00C8C491],00h jmp CASE_004391AC_PROC000A L00437859: mov byte ptr [L00C8C491],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC002D: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437899 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437899 mov byte ptr [L0050CC2D],00h jmp CASE_004391AC_PROC000A L00437899: mov byte ptr [L0050CC2D],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0080: mov eax,[esp+4Ch] push eax call SUB_L004D59EB add esp,00000004h cmp eax,ebx mov [L00C8C4B8],eax jge CASE_004391AC_PROC000A mov [L00C8C4B8],ebx jmp CASE_004391AC_PROC000A CASE_004391AC_PROC002B: mov esi,[esp+4Ch] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L00CD9CE8],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 byte ptr [L00C8C499],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC002C: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437949 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437949 mov byte ptr [L00C8C49A],00h jmp CASE_004391AC_PROC000A L00437949: mov byte ptr [L00C8C49A],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC005F: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437989 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437989 mov byte ptr [L0050CC2B],00h jmp CASE_004391AC_PROC000A L00437989: mov byte ptr [L0050CC2B],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0060: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004379C9 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004379C9 mov byte ptr [L0050CC2F],00h jmp CASE_004391AC_PROC000A L004379C9: mov byte ptr [L0050CC2F],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0061: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h cmp eax,ebx jge L004379F7 xor eax,eax mov [L0050CF6C],eax mov [L0051182C],eax jmp CASE_004391AC_PROC000A L004379F7: cmp eax,00000003h jl L00437A01 mov eax,00000002h L00437A01: mov [L0050CF6C],eax mov [L0051182C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0062: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h cmp eax,00000064h mov [L0050CF1C],eax jge CASE_004391AC_PROC000A mov dword ptr [L0050CF1C],00000064h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0063: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CEA4],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0064: mov esi,[esp+4Ch] mov ebx,00000001h push L004FF470 push esi mov [L00C3E64D],bl call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437ABB push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437ABB push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437ABB push L004FFB1C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437ABB mov byte ptr [L00504614],00h mov byte ptr [L0050CC30],00h jmp CASE_004391AC_PROC000A L00437ABB: mov [L00504614],bl mov [L0050CC30],bl jmp CASE_004391AC_PROC000A CASE_004391AC_PROC007D: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h cmp eax,00000064h jle L00437AE3 mov eax,00000064h L00437AE3: mov [L0050CF08],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0065: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h cmp eax,00000064h jge L00437B04 mov eax,00000064h L00437B04: mov [L0050CF20],eax mov [L00504618],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0066: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE9C],eax mov [L0050461C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006A: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L0050CEA0],eax mov [L00C87ECC],ax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0067: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h cmp eax,ebx jge L00437B6E xor eax,eax mov [L0050CF68],eax mov [L00504620],eax jmp CASE_004391AC_PROC000A L00437B6E: cmp eax,00000003h jl L00437B78 mov eax,00000002h L00437B78: mov [L0050CF68],eax mov [L00504620],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0068: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437BDF push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437BDF push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437BDF push L004FFB1C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437BDF mov byte ptr [L00C8C49F],00h jmp CASE_004391AC_PROC000A L00437BDF: mov ebx,00000001h mov [L00C3E64F],bl mov [L00C8C49F],bl jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0069: mov esi,[esp+4Ch] push L004FF410 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437C4D push L004FF46C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437C4D push SSZ0050105C_false push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437C4D push L00501058 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437C4D mov byte ptr [L0050CC31],01h jmp CASE_004391AC_PROC000A L00437C4D: mov byte ptr [L00504624],00h mov byte ptr [L0050CC31],00h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437CB8 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437CB8 push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437CB8 push L004FFB1C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437CB8 mov byte ptr [L0050CCB0],00h jmp CASE_004391AC_PROC000A L00437CB8: call SUB_L004700A0 mov byte ptr [L0050CCB0],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006F: mov esi,[esp+4Ch] mov dword ptr [esp+0Ch],0000007Fh push esi mov [esp+14h],ebx mov [esp+18h],ebx mov dword ptr [esp+1Ch],00000001h mov dword ptr [esp+20h],000070D8h call SUB_L004373C0 add esp,00000004h test eax,eax jz L00437D21 lea eax,[esp+1Ch] lea ecx,[esp+18h] push eax lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx lea ecx,[esp+18h] push eax push ecx push SSZ00501048__d__d__d__d__d push esi call SUB_L004D592C add esp,0000001Ch L00437D21: mov edx,[esp+0Ch] mov esi,[esp+10h] mov eax,[esp+14h] mov edi,[esp+18h] shl edx,08h or edx,esi shl edx,08h or edx,eax shl edx,08h or edx,edi push edx call SUB_L00470170 mov eax,[esp+20h] push eax call SUB_L00470180 add esp,00000008h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0070: mov ecx,[esp+4Ch] push ecx call SUB_L00470190 add esp,00000004h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0071: mov edx,[esp+4Ch] push edx call SUB_L004701F0 add esp,00000004h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0072: mov eax,[esp+4Ch] push eax call SUB_L00470220 add esp,00000004h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0073: mov ecx,[esp+4Ch] push ecx call SUB_L00470240 add esp,00000004h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0074: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E06 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E06 push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E06 push L004FFB1C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E06 mov byte ptr [L0050CCB1],00h mov byte ptr [L00505E46],00h mov byte ptr [L00505E47],01h jmp CASE_004391AC_PROC000A L00437E06: mov ebx,00000001h mov byte ptr [L00505E47],00h mov [L0050CCB1],bl mov [L00505E46],bl jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0076: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E6F push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E6F push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437E6F push L004FFB1C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00437E76 L00437E6F: mov byte ptr [L005000FC],01h L00437E76: push L004FF46C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437EC2 push L004FF410 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437EC2 push SSZ0050105C_false push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437EC2 push L00501058 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz CASE_004391AC_PROC000A L00437EC2: mov byte ptr [L005000FC],00h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0088: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F02 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F02 mov byte ptr [L00C8C494],00h jmp CASE_004391AC_PROC000A L00437F02: mov byte ptr [L00C8C494],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0089: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F42 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F42 mov byte ptr [L0050CC23],00h jmp CASE_004391AC_PROC000A L00437F42: mov byte ptr [L0050CC23],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006B: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F81 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437F81 mov [L007050EC],ebx jmp CASE_004391AC_PROC000A L00437F81: mov dword ptr [L007050EC],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006C: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437FC3 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00437FC3 mov [L007050F0],ebx jmp CASE_004391AC_PROC000A L00437FC3: mov dword ptr [L007050F0],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC006D: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L00500108],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0029: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043801C push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043801C mov [L00511410],ebx jmp CASE_004391AC_PROC000A L0043801C: mov dword ptr [L00511410],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0000: mov eax,[esp+4Ch] push 00000104h push eax push L00C87D6C call SUB_L004D52C0 jmp L00439185 CASE_004391AC_PROC0001: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L005073C4],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0002: mov edx,[esp+4Ch] push L00501044 push edx call SUB_L004D7A00 add esp,00000008h neg eax sbb eax,eax inc eax mov [L00C87E70],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0003: mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C880F8 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0004: mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A push edi call SUB_L0047B6A0 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00C88118 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0005: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043812D push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043812D mov byte ptr [L0050CC24],00h jmp CASE_004391AC_PROC000A L0043812D: mov byte ptr [L0050CC24],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0040: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043816D push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043816D mov byte ptr [L00C8C4A0],00h jmp CASE_004391AC_PROC000A L0043816D: mov byte ptr [L00C8C4A0],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0041: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004381AD push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004381AD mov byte ptr [L00C8C4A1],00h jmp CASE_004391AC_PROC000A L004381AD: mov byte ptr [L00C8C4A1],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0042: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE8C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0043: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L0050CE88],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0044: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L0050CE84],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0045: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE80],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0046: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L0050CE7C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0047: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L0050CE78],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0048: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE74],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0049: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L0050CE70],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004A: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L0050CE6C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004B: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE68],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004C: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L0050CE90],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004D: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L0050CE94],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004E: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050CE98],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC004F: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L00C8C4B0],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0050: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L00C8C4A8],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0051: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L00C8C4AC],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0052: mov ecx,[esp+4Ch] push ecx call SUB_L0046AD40 add esp,00000004h mov [L00C8C4B4],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0053: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h mov [L0050CF64],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0054: mov eax,[esp+4Ch] push eax call SUB_L004D59EB add esp,00000004h mov [L005000C0],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0055: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004383A1 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004383A1 mov [L007050CC],ebx jmp CASE_004391AC_PROC000A L004383A1: mov dword ptr [L007050CC],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0056: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L00C8C4BC],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0057: mov edx,[esp+4Ch] push edx call SUB_L0046AD40 add esp,00000004h mov [L0050F3C4],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0058: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L0050F3C8],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0059: mov edi,[esp+4Ch] push edi call SUB_L0046AD40 or al,01h push edi mov [L0051C634+esi*4],eax call SUB_L004D59EB add esp,00000008h mov [L004FBAA8+esi*4],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0006: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L0050CF0C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0036: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h mov [L0050CF14],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0037: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043847F push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043847F mov byte ptr [L0050CC2C],00h jmp CASE_004391AC_PROC000A L0043847F: mov byte ptr [L0050CC2C],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0038: mov eax,[esp+4Ch] push eax call SUB_L0046AD40 add esp,00000004h mov [L00C852E8],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0039: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004384D6 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004384D6 mov byte ptr [L00C8C496],00h jmp CASE_004391AC_PROC000A L004384D6: mov byte ptr [L00C8C496],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003A: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438516 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438516 mov byte ptr [L0050CC27],00h jmp CASE_004391AC_PROC000A L00438516: mov byte ptr [L0050CC27],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003B: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438556 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438556 mov byte ptr [L0050CC28],00h jmp CASE_004391AC_PROC000A L00438556: mov byte ptr [L0050CC28],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003C: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438596 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438596 mov byte ptr [L0050CC29],00h jmp CASE_004391AC_PROC000A L00438596: mov byte ptr [L0050CC29],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003D: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004385D6 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004385D6 mov byte ptr [L0050CC2A],00h jmp CASE_004391AC_PROC000A L004385D6: mov byte ptr [L0050CC2A],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438616 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438616 mov byte ptr [L00C8C4A2],00h jmp CASE_004391AC_PROC000A L00438616: mov byte ptr [L00C8C4A2],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC003F: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L00500104],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0007: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043866D push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043866D mov byte ptr [L0050CC25],00h jmp CASE_004391AC_PROC000A L0043866D: mov byte ptr [L0050CC25],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0008: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h mov [L0050CF10],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC000B: mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A push edi call SUB_L0047B6A0 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C87D48 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0009: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438707 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438707 mov byte ptr [L0050CC2E],00h jmp CASE_004391AC_PROC000A L00438707: mov byte ptr [L0050CC2E],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC000C: cmp [L007050F4],ebx jnz L00438722 mov byte ptr [L00C8C4A3],00h L00438722: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043877F push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043877F push L00501040 push esi mov byte ptr [L0050CCB3],00h call SUB_L004D7A00 add esp,00000008h test eax,eax jnz CASE_004391AC_PROC000A cmp [L007050F4],ebx jnz CASE_004391AC_PROC000A mov byte ptr [L00C8C4A3],01h jmp CASE_004391AC_PROC000A L0043877F: mov byte ptr [L0050CCB3],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC000D: mov esi,[esp+4Ch] mov ebx,00000001h push L004FF470 push esi mov [L007050F4],ebx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004387CA push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004387CA mov byte ptr [L00C8C4A3],00h jmp CASE_004391AC_PROC000A L004387CA: mov [L00C8C4A3],bl jmp CASE_004391AC_PROC000A CASE_004391AC_PROC000E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438808 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438808 mov [L007049EC],ebx jmp CASE_004391AC_PROC000A L00438808: mov dword ptr [L007049EC],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0010: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043884B push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0043884B mov byte ptr [L00C8C49E],00h jmp CASE_004391AC_PROC000A L0043884B: mov byte ptr [L00C8C49E],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0011: mov edi,[esp+4Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,SSZ0050CFB0_640x480 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0012: mov edi,[esp+4Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+48h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,SSZ0050D1B0_640x480 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+50h] push ecx push edx push SSZ00501038__dx_d push SSZ0050D1B0_640x480 call SUB_L004D592C mov eax,[esp+60h] mov ecx,[esp+58h] push eax push ecx call SUB_L004470C0 add esp,00000018h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0014: lea edx,[esp+1Ch] lea eax,[esp+18h] push edx lea ecx,[esp+18h] push eax lea edx,[esp+18h] push ecx mov ecx,[esp+58h] lea eax,[esp+18h] push edx push eax push SSZ00501048__d__d__d__d__d push ecx call SUB_L004D592C mov edx,[esp+28h] mov ebx,[esp+2Ch] mov esi,[esp+30h] mov eax,[esp+34h] shl edx,08h or edx,ebx add esp,0000001Ch shl edx,08h or edx,esi shl edx,08h or edx,eax mov ax,[esp+1Ch] mov [L00C88358],edx mov [L00C8835C],ax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001F: mov eax,[L00C86198] cmp eax,ebx jz L00438946 push eax call SUB_L004D4F9E add esp,00000004h L00438946: mov esi,[esp+4Ch] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L00C86198],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_004391AC_PROC000A CASE_004391AC_PROC0020: mov esi,[esp+4Ch] push esi call SUB_L004373C0 add esp,00000004h test eax,eax jnz L004389F1 mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L004D4FA9 mov ecx,[L00C88360] mov edx,eax mov edi,esi xor eax,eax mov [L00C85E24+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,[L00C88360] mov [L00C85E04+eax*4],ebx mov [L00C85DF4+eax*2],bx jmp L00438A57 L004389F1: lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx lea ecx,[esp+18h] push eax lea edx,[esp+18h] push ecx push edx push SSZ00501048__d__d__d__d__d push esi call SUB_L004D592C mov ecx,[esp+28h] mov esi,[esp+2Ch] mov edi,[esp+30h] mov edx,[esp+34h] shl ecx,08h mov eax,[L00C88360] or ecx,esi shl ecx,08h or ecx,edi add esp,0000001Ch shl ecx,08h or ecx,edx mov dx,[esp+1Ch] mov [L00C85E24+eax*4],ebx mov [L00C85E04+eax*4],ecx mov [L00C85DF4+eax*2],dx L00438A57: inc eax mov [L00C88360],eax mov eax,[L005073D8] cmp eax,ebx jge CASE_004391AC_PROC000A mov [L005073D8],ebx jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0021: mov esi,[esp+4Ch] push esi call SUB_L004373C0 add esp,00000004h test eax,eax jnz L00438AE4 mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov eax,[L00C88364] mov edi,esi or ecx,FFFFFFFFh mov [L00C85DD4+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,[L00C88364] mov [L00C85DB4+eax*4],ebx mov [L00C85DA4+eax*2],bx inc eax mov [L00C88364],eax jmp CASE_004391AC_PROC000A L00438AE4: lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx lea ecx,[esp+18h] push eax lea edx,[esp+18h] push ecx push edx push SSZ00501048__d__d__d__d__d push esi call SUB_L004D592C mov ecx,[esp+28h] mov edx,[esp+2Ch] mov edi,[esp+30h] mov eax,[L00C88364] shl ecx,08h or ecx,edx mov edx,[esp+34h] shl ecx,08h or ecx,edi add esp,0000001Ch shl ecx,08h or ecx,edx mov dx,[esp+1Ch] mov [L00C85DD4+eax*4],ebx mov [L00C85DB4+eax*4],ecx mov [L00C85DA4+eax*2],dx inc eax mov [L00C88364],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0015: mov eax,[esp+4Ch] push eax call SUB_L004D59EB add esp,00000004h mov [L00C8833C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC002E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438BA0 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438BA0 mov byte ptr [L00C8C495],00h jmp CASE_004391AC_PROC000A L00438BA0: mov byte ptr [L00C8C495],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC002F: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov ecx,L00515700 mov [L0050CF18],eax push eax call SUB_L00401040 jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0030: mov ecx,[esp+4Ch] lea edx,[esp+20h] lea eax,[esp+24h] push edx push eax push SSZ00501030__d__d push ecx call SUB_L004D592C mov edx,[esp+30h] mov eax,[esp+34h] add esp,00000010h mov ecx,L00515700 push edx push eax call SUB_L00401070 jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0031: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438C37 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438C37 mov byte ptr [L00C8C49D],00h jmp CASE_004391AC_PROC000A L00438C37: mov byte ptr [L00C8C49D],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0032: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438C77 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438C77 mov byte ptr [L0050CC26],00h jmp CASE_004391AC_PROC000A L00438C77: mov byte ptr [L0050CC26],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0033: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438CB6 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438CB6 mov [L00500568],ebx jmp CASE_004391AC_PROC000A L00438CB6: mov dword ptr [L00500568],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0034: mov ecx,[esp+4Ch] push ecx call SUB_L004D59EB add esp,00000004h mov [L0050056C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0035: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h mov [L00500570],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0017: mov esi,[esp+4Ch] push L004FF470 push esi mov dword ptr [L00512174],0000000Ah mov dword ptr [L00512178],00000005h mov byte ptr [L00C8C4A4],00h mov dword ptr [L0051217C],00007BDEh mov dword ptr [L00512180],0000739Ch mov dword ptr [L00512184],00003DEFh mov dword ptr [L004FBB3C],0000781Fh call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438D62 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz CASE_004391AC_PROC000A L00438D62: mov byte ptr [L00C8C4A4],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0018: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438DB4 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438DB4 push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438DB4 mov byte ptr [L0050CCB4],00h jmp CASE_004391AC_PROC000A L00438DB4: mov byte ptr [L0050CCB4],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0019: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E06 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E06 push SSZ00501064_true push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E06 mov byte ptr [L0050CCB5],00h jmp CASE_004391AC_PROC000A L00438E06: mov byte ptr [L0050CCB5],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001A: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E45 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E45 mov [L007050E8],ebx jmp CASE_004391AC_PROC000A L00438E45: mov dword ptr [L007050E8],00000001h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0016: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E88 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438E88 mov byte ptr [L00C8C497],00h jmp CASE_004391AC_PROC000A L00438E88: mov byte ptr [L00C8C497],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001B: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438EC8 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438EC8 mov byte ptr [L00C8C498],00h jmp CASE_004391AC_PROC000A L00438EC8: mov byte ptr [L00C8C498],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001C: mov esi,[esp+4Ch] mov byte ptr [L00C8C498],00h mov al,[esi] test al,al jz CASE_004391AC_PROC000A mov ebx,00000001h L00438EEE: test al,al mov ecx,esi jz L00438F00 L00438EF4: cmp al,2Ch jz L00438F00 mov al,[esi+01h] inc esi test al,al jnz L00438EF4 L00438F00: cmp byte ptr [esi],00h jz L00438F09 mov byte ptr [esi],00h inc esi L00438F09: push SSZ00501028_startup push ecx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00438F21 mov [L00C8C498],bl L00438F21: mov al,[esi] test al,al jnz L00438EEE jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001E: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438F58 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz CASE_004391AC_PROC000A L00438F58: mov byte ptr [L00C8C49C],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC001D: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438F98 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00438F98 mov byte ptr [L00C8C49B],00h jmp CASE_004391AC_PROC000A L00438F98: mov byte ptr [L00C8C49B],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0022: mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85FF0 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0023: mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00C86010 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0024: mov al,[L007050E4] test al,al jnz CASE_004391AC_PROC000A mov edi,[esp+4Ch] cmp edi,ebx jz CASE_004391AC_PROC000A cmp byte ptr [edi],00h jz CASE_004391AC_PROC000A push edi call SUB_L0047B6A0 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85FD0 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0025: mov eax,[esp+4Ch] cmp eax,ebx jz CASE_004391AC_PROC000A cmp byte ptr [eax],00h jz CASE_004391AC_PROC000A lea ecx,[esp+4Ch] push ecx push L004FF074 push eax call SUB_L004D592C mov dl,[esp+58h] add esp,0000000Ch mov [L00C8619C],dl jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0026: mov eax,[esp+4Ch] cmp eax,ebx jz CASE_004391AC_PROC000A cmp byte ptr [eax],00h jz CASE_004391AC_PROC000A lea ecx,[esp+4Ch] push ecx push L004FF074 push eax call SUB_L004D592C mov eax,[esp+58h] add esp,0000000Ch cmp eax,ebx jl CASE_004391AC_PROC000A cmp eax,00000004h jg CASE_004391AC_PROC000A mov [L00C8604C],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0028: mov esi,[esp+4Ch] push SSZ00501020_slow push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00439106 mov [L0050CCB2],al jmp CASE_004391AC_PROC000A L00439106: push SSZ00501018_fast push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz CASE_004391AC_PROC000A L00439118: mov byte ptr [L0050CCB2],01h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0027: mov esi,[esp+4Ch] push L004FF470 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00439118 push L004FF40C push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00439118 push SSZ00501018_fast push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00439118 mov byte ptr [L0050CCB2],00h jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0075: mov edx,[esp+4Ch] push edx call SUB_L004D59EB add esp,00000004h mov [L005000F8],eax jmp CASE_004391AC_PROC000A CASE_004391AC_PROC0077: mov eax,[esp+4Ch] push ebx push 00000001h push eax call SUB_L0043FDE0 L00439185: add esp,0000000Ch CASE_004391AC_PROC000A: lea ecx,[esp+28h] mov dword ptr [esp+40h],FFFFFFFFh call SUB_L004B3270 mov ecx,[esp+38h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004391AC: dd CASE_004391AC_PROC0000 dd CASE_004391AC_PROC0001 dd CASE_004391AC_PROC0002 dd CASE_004391AC_PROC0003 dd CASE_004391AC_PROC0004 dd CASE_004391AC_PROC0005 dd CASE_004391AC_PROC0006 dd CASE_004391AC_PROC0007 dd CASE_004391AC_PROC0008 dd CASE_004391AC_PROC0009 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC000B dd CASE_004391AC_PROC000C dd CASE_004391AC_PROC000D dd CASE_004391AC_PROC000E dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC0010 dd CASE_004391AC_PROC0011 dd CASE_004391AC_PROC0012 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC0014 dd CASE_004391AC_PROC0015 dd CASE_004391AC_PROC0016 dd CASE_004391AC_PROC0017 dd CASE_004391AC_PROC0018 dd CASE_004391AC_PROC0019 dd CASE_004391AC_PROC001A dd CASE_004391AC_PROC001B dd CASE_004391AC_PROC001C dd CASE_004391AC_PROC001D dd CASE_004391AC_PROC001E dd CASE_004391AC_PROC001F dd CASE_004391AC_PROC0020 dd CASE_004391AC_PROC0021 dd CASE_004391AC_PROC0022 dd CASE_004391AC_PROC0023 dd CASE_004391AC_PROC0024 dd CASE_004391AC_PROC0025 dd CASE_004391AC_PROC0026 dd CASE_004391AC_PROC0027 dd CASE_004391AC_PROC0028 dd CASE_004391AC_PROC0029 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC002B dd CASE_004391AC_PROC002C dd CASE_004391AC_PROC002D dd CASE_004391AC_PROC002E dd CASE_004391AC_PROC002F dd CASE_004391AC_PROC0030 dd CASE_004391AC_PROC0031 dd CASE_004391AC_PROC0032 dd CASE_004391AC_PROC0033 dd CASE_004391AC_PROC0034 dd CASE_004391AC_PROC0035 dd CASE_004391AC_PROC0036 dd CASE_004391AC_PROC0037 dd CASE_004391AC_PROC0038 dd CASE_004391AC_PROC0039 dd CASE_004391AC_PROC003A dd CASE_004391AC_PROC003B dd CASE_004391AC_PROC003C dd CASE_004391AC_PROC003D dd CASE_004391AC_PROC003E dd CASE_004391AC_PROC003F dd CASE_004391AC_PROC0040 dd CASE_004391AC_PROC0041 dd CASE_004391AC_PROC0042 dd CASE_004391AC_PROC0043 dd CASE_004391AC_PROC0044 dd CASE_004391AC_PROC0045 dd CASE_004391AC_PROC0046 dd CASE_004391AC_PROC0047 dd CASE_004391AC_PROC0048 dd CASE_004391AC_PROC0049 dd CASE_004391AC_PROC004A dd CASE_004391AC_PROC004B dd CASE_004391AC_PROC004C dd CASE_004391AC_PROC004D dd CASE_004391AC_PROC004E dd CASE_004391AC_PROC004F dd CASE_004391AC_PROC0050 dd CASE_004391AC_PROC0051 dd CASE_004391AC_PROC0052 dd CASE_004391AC_PROC0053 dd CASE_004391AC_PROC0054 dd CASE_004391AC_PROC0055 dd CASE_004391AC_PROC0056 dd CASE_004391AC_PROC0057 dd CASE_004391AC_PROC0058 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC0059 dd CASE_004391AC_PROC005F dd CASE_004391AC_PROC0060 dd CASE_004391AC_PROC0061 dd CASE_004391AC_PROC0062 dd CASE_004391AC_PROC0063 dd CASE_004391AC_PROC0064 dd CASE_004391AC_PROC0065 dd CASE_004391AC_PROC0066 dd CASE_004391AC_PROC0067 dd CASE_004391AC_PROC0068 dd CASE_004391AC_PROC0069 dd CASE_004391AC_PROC006A dd CASE_004391AC_PROC006B dd CASE_004391AC_PROC006C dd CASE_004391AC_PROC006D dd CASE_004391AC_PROC006E dd CASE_004391AC_PROC006F dd CASE_004391AC_PROC0070 dd CASE_004391AC_PROC0071 dd CASE_004391AC_PROC0072 dd CASE_004391AC_PROC0073 dd CASE_004391AC_PROC0074 dd CASE_004391AC_PROC0075 dd CASE_004391AC_PROC0076 dd CASE_004391AC_PROC0077 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC007A dd CASE_004391AC_PROC007B dd CASE_004391AC_PROC007C dd CASE_004391AC_PROC007D dd CASE_004391AC_PROC007E dd CASE_004391AC_PROC007F dd CASE_004391AC_PROC0080 dd CASE_004391AC_PROC0081 dd CASE_004391AC_PROC0082 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC0085 dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC000A dd CASE_004391AC_PROC0088 dd CASE_004391AC_PROC0089 Align 16 SUB_L004393E0: sub esp,0000020Ch push ebx push esi push edi mov byte ptr [esp+0Fh],00h mov esi,L007049FC mov eax,L00705058 L004393F8: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00439420 test cl,cl jz L0043941C mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00439420 add eax,00000002h add esi,00000002h test cl,cl jnz L004393F8 L0043941C: xor eax,eax jmp L00439425 L00439420: sbb eax,eax sbb eax,FFFFFFFFh L00439425: test eax,eax jz L004394CF mov esi,L007049FC mov eax,L00C880F8 L00439437: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0043945F test cl,cl jz L0043945B mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0043945F add eax,00000002h add esi,00000002h test cl,cl jnz L00439437 L0043945B: xor eax,eax jmp L00439464 L0043945F: sbb eax,eax sbb eax,FFFFFFFFh L00439464: test eax,eax jz L004394CF mov eax,[L00500100] lea ecx,[esp+10h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+28h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0000012Ch] repne scasb not ecx sub edi,ecx push L00500F54 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+00000130h] push ecx call SUB_L0043FEF0 mov ebx,eax add esp,00000020h test ebx,ebx jnz L004394ED L004394CF: mov edx,[L00500100] push L00500F54 push edx call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jz L004395C2 L004394ED: test byte ptr [ebx+0Ch],10h jnz L004395B9 push ebp L004394F8: push ebx call SUB_L00472CE0 push L00500EE0 push eax call SUB_L004D563E mov ebp,eax add esp,0000000Ch test ebp,ebp jz L004395AE push ebp push SSZ00501074_getUOCfgDirective__found___s___ call SUB_L004C7F50 mov eax,[L00500110] add esp,00000008h xor edi,edi test eax,eax jz L004395AE mov eax,L00500110 mov esi,eax L00439536: mov eax,[eax] push eax push ebp call SUB_L004D7A00 add esp,00000008h test eax,eax jz L00439555 mov ecx,[esi+08h] add esi,00000008h inc edi mov eax,esi test ecx,ecx jnz L00439536 jmp L004395AE L00439555: mov edi,[L00500114+edi*8] cmp edi,0000008Ah jz L004395AE push L0050106C push 00000000h call SUB_L004D563E add esp,00000008h test eax,eax jz L004395AE cmp byte ptr [eax],00h jz L004395AE cmp [esp+00000220h],edi jnz L004395AE mov edi,eax or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esp+13h],01h repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+00000224h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004395AE: test byte ptr [ebx+0Ch],10h jz L004394F8 pop ebp L004395B9: push ebx call SUB_L00440570 add esp,00000004h L004395C2: mov al,[esp+0Fh] pop edi pop esi pop ebx add esp,0000020Ch retn ;------------------------------------------------------------------------------ SUB_L004395D0: sub esp,00000014h mov eax,[L00500100] push ebx push ebp push esi push edi xor ebp,ebp push L004FD2A8 push eax mov [esp+1Ch],ebp mov [esp+20h],ebp mov [esp+18h],ebp mov [esp+24h],ebp mov [esp+28h],ebp call SUB_L0043FEF0 mov edi,eax add esp,00000008h cmp edi,ebp jz L004396AF L0043960A: mov eax,[esp+10h] test eax,eax jnz L00439698 push edi call SUB_L004D5759 push edi mov [esp+1Ch],eax call SUB_L00472CE0 mov esi,eax mov al,[edi+0Ch] add esp,00000008h test al,10h jz L0043963C mov dword ptr [esp+10h],00000001h jmp L0043960A L0043963C: push edi call SUB_L004D5759 push L00500EE0 push esi mov [esp+24h],eax call SUB_L004D563E mov ebx,eax add esp,0000000Ch test ebx,ebx jz L0043960A mov eax,[L00500110] xor ebp,ebp test eax,eax jz L00439689 mov eax,L00500110 mov esi,eax L0043966C: mov ecx,[eax] push ecx push ebx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004396DE mov ecx,[esi+08h] add esi,00000008h inc ebp mov eax,esi test ecx,ecx jnz L0043966C L00439689: mov ebp,0000008Ah L0043968E: cmp ebp,[esp+28h] jnz L0043960A L00439698: push edi call SUB_L00440570 mov eax,[esp+14h] xor ebp,ebp add esp,00000004h cmp eax,ebp jz L0043973A L004396AF: mov edx,[L00500100] push L00500FE4 push edx call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L004396E7 push SSZ00500FB8_saveConfigDirective__cannot_open call SUB_L004C7EC0 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L004396DE: mov ebp,[L00500114+ebp*8] jmp L0043968E L004396E7: mov al,[L007050E4] test al,al mov eax,[esp+28h] jz L00439711 cmp eax,0000001Dh jz L004398D7 cmp eax,00000024h jz L004398D7 cmp eax,00000087h jz L004398D7 L00439711: mov ecx,[esp+2Ch] mov edx,[L00500110+eax*8] push ecx push edx push SSZ00500FB0__s__s_ push esi call SUB_L004D571D push esi call SUB_L00440570 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0043973A: mov eax,[L00500100] push L004FD2A8 push eax call SUB_L0043FEF0 mov esi,eax add esp,00000008h cmp esi,ebp jnz L00439760 push SSZ00500FB8_saveConfigDirective__cannot_open call SUB_L004C7EC0 add esp,00000004h L00439760: mov ebx,[esp+14h] cmp ebx,ebp jle L0043977F push ebx call SUB_L004D4FA9 push esi push ebx push 00000001h push eax mov [esp+30h],eax call SUB_L004404F0 add esp,00000014h L0043977F: push 00000002h push ebp push esi call SUB_L00440490 push esi call SUB_L004D5759 mov edi,eax mov eax,[esp+28h] sub edi,eax add esp,00000010h cmp edi,ebp mov [esp+18h],edi jle L004397C0 push ebp push eax push esi call SUB_L00440490 push edi call SUB_L004D4FA9 push esi push edi push 00000001h push eax mov [esp+40h],eax call SUB_L004404F0 add esp,00000020h L004397C0: push esi call SUB_L00440570 mov ecx,[L00500100] push L00500FAC push ecx call SUB_L0043FEF0 mov esi,eax add esp,0000000Ch cmp esi,ebp jnz L004397ED push SSZ00500F6C_saveConfigDirective__cannot_open call SUB_L004C7E80 add esp,00000004h L004397ED: cmp ebx,ebp jle L00439808 push esi push ebx mov ebx,[esp+24h] push 00000001h push ebx call SUB_L00440550 push ebx call SUB_L004D4F9E add esp,00000014h L00439808: mov al,[L007050E4] mov ebx,[esp+28h] test al,al jz L00439833 cmp ebx,0000001Dh jz L004398B3 cmp ebx,00000024h jz L004398B3 cmp ebx,00000087h jz L004398B3 L00439833: mov edi,[L00500110+ebx*8] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi mov ebp,ecx test ebp,ebp jle L00439866 L0043984C: mov edx,[L00500110+ebx*8] push esi movsx eax,[edx+edi] push eax call SUB_L004D56E2 add esp,00000008h inc edi cmp edi,ebp jl L0043984C L00439866: push esi push 0000003Dh call SUB_L004D56E2 mov ebx,[esp+34h] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax add esp,00000008h repne scasb not ecx dec ecx xor edi,edi mov ebp,ecx test ebp,ebp jle L0043989C L00439889: movsx ecx,[edi+ebx] push esi push ecx call SUB_L004D56E2 add esp,00000008h inc edi cmp edi,ebp jl L00439889 L0043989C: push esi push 0000000Dh call SUB_L004D56E2 push esi push 0000000Ah call SUB_L004D56E2 mov edi,[esp+28h] add esp,00000010h L004398B3: test edi,edi jle L004398CE push esi push edi mov edi,[esp+28h] push 00000001h push edi call SUB_L00440550 push edi call SUB_L004D4F9E add esp,00000014h L004398CE: push esi call SUB_L00440570 add esp,00000004h L004398D7: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004398E0: push FFFFFFFFh push L004E20B3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx mov [esp+0Ch],esi call SUB_L00458F30 mov ebp,[esp+4Ch] mov eax,[esp+30h] mov ecx,[esp+34h] xor ebx,ebx mov dword ptr [esi],L004EB09C mov dword ptr [esi+08h],SSZ005010DC_container_gump mov [esi+60h],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx cmp ebp,0000091Ah mov [esp+28h],ebx mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+0000009Ch],ebx mov [esi+000000A8h],ebx mov [esi+000000C8h],ebx mov [esi+000000C4h],ebx mov [esi+000000A4h],ebx mov [esi+30h],eax mov [esi+34h],ecx jnz L00439984 mov dword ptr [esi+000000A0h],00000014h jmp L0043998A L00439984: mov [esi+000000A0h],ebx L0043998A: mov ecx,[esp+3Ch] cmp ecx,ebx mov [esi+38h],ecx jz L004399A7 mov edx,[ecx] call [edx+30h] test eax,eax jz L004399A7 mov eax,[esi+38h] mov [eax+000000B0h],esi L004399A7: mov ecx,[esp+48h] mov edx,[esi+000000A0h] mov eax,[esp+44h] add ecx,edx mov [esi+1Ch],eax mov [esi+20h],eax cmp ebp,0000003Ch mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+24h],ecx mov [esi+14h],ebx mov eax,00000002h jz L004399E0 mov eax,[esp+40h] L004399E0: push edi lea edx,[00000000h+eax*8] push SSZ005010BC_framedata_for_CContainerGump push edx mov [esi+18h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ005010AC_container_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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 cmp ebp,0000003Ch rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+54h],ebp jnz L00439B56 lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000050h mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,[ebp+00h] push SSZ00501098_container_frame1 imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000050h push SUB_L004B9B80 call SUB_L00443500 push 000000ECh call SUB_L004D4FA9 add esp,00000034h mov [esp+34h],eax test eax,eax mov byte ptr [esp+2Ch],01h jz L00439B43 push 00000000h push SUB_L0041E070 push 00000000h push 00000000h push esi push 000000B4h push 0000007Bh push 000000A1h push 00000067h mov ecx,eax call SUB_L004220C0 jmp L00439B45 L00439B43: xor eax,eax L00439B45: push 00000001h push esi mov ecx,eax mov byte ptr [esp+34h],00h call SUB_L004587A0 xor ebx,ebx L00439B56: mov ecx,[esi+20h] mov edx,[esi+24h] dec ecx lea eax,[esp+14h] mov [esp+1Ch],ecx dec edx push eax mov ecx,esi mov [esp+18h],ebx mov [esp+1Ch],ebx mov [esp+24h],edx call SUB_L0043A620 mov eax,[esi+38h] pop edi cmp eax,ebx jz L00439BA0 cmp byte ptr [eax+0000009Dh],1Dh jnz L00439BA0 mov ecx,[eax+00000080h] mov eax,[L00C884DC] cmp ecx,eax jnz L00439BA0 mov [L00B29054],esi L00439BA0: xor eax,eax mov ax,[esi+54h] add eax,FFFFFFC4h cmp eax,00000015h ja CASE_00439BFC_PROC0004 xor edx,edx mov dl,[eax+CASE_00439C10] jmp [CASE_PROCTABLE_00439BFC+edx*4] CASE_00439BFC_PROC0000: mov eax,00000048h jmp L00439BD7 CASE_00439BFC_PROC0002: mov eax,0000004Fh jmp L00439BD7 CASE_00439BFC_PROC0003: mov eax,0000002Dh jmp L00439BD7 CASE_00439BFC_PROC0001: mov eax,0000002Fh L00439BD7: push ebx push ebx push ebx push ebx push ebx push eax call SUB_L004CD800 add esp,00000018h CASE_00439BFC_PROC0004: mov ecx,[esp+20h] mov eax,esi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0020h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00439BFC: dd CASE_00439BFC_PROC0000 dd CASE_00439BFC_PROC0001 dd CASE_00439BFC_PROC0002 dd CASE_00439BFC_PROC0003 dd CASE_00439BFC_PROC0004 CASE_00439C10: db 00h, 00h, 01h, 02h, 04h, 02h, 03h, 03h, 03h, 04h, 04h, 04h, 01h, 03h, 03h, 03h db 03h, 01h, 03h, 03h, 04h, 01h Align 16 L00439C30: push esi mov esi,ecx call SUB_L00439C50 test byte ptr [esp+08h],01h jz L00439C48 push esi call SUB_L004D4F9E add esp,00000004h L00439C48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00439C50: push FFFFFFFFh push L004E20C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi mov dword ptr [esi],L004EB09C mov edi,[L00B294DC] mov ebx,[L00B28A78] xor ebp,ebp cmp edi,ebp mov [esp+1Ch],ebp jz L00439CC0 L00439C8C: mov eax,[edi+40h] mov ecx,edi mov [L00B28A78],eax mov edx,[edi] call [edx+000000A0h] test eax,eax jz L00439CB6 cmp [edi+000000C0h],esi jnz L00439CB6 cmp edi,ebp jz L00439CB6 mov eax,[edi] push 00000001h mov ecx,edi call [eax] L00439CB6: mov edi,[L00B28A78] cmp edi,ebp jnz L00439C8C L00439CC0: mov edi,[L00C88338] mov [L00B28A78],ebx mov dword ptr [L00C88338],00000001h mov ecx,[esi+38h] cmp ecx,ebp jz L00439CEE mov edx,[ecx] call [edx+54h] test eax,eax jnz L00439CEE mov ecx,[esi+38h] call SUB_L00480A10 L00439CEE: mov [L00C88338],edi mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,ebp jz L00439D12 push SSZ00501114_congump_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],ebp L00439D12: cmp dword ptr [esi+18h],00000002h jnz L00439D36 mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,ebp jz L00439D36 push SSZ00501100_congump_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],ebp L00439D36: mov eax,[esi+3Ch] cmp eax,ebp jz L00439D4E push SSZ005010EC_congump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebp L00439D4E: cmp [L00B29054],esi jnz L00439D85 mov [L00B29054],ebp mov ecx,[esi+38h] cmp ecx,ebp jz L00439D85 mov edx,[ecx] call [edx+30h] test eax,eax jz L00439D75 mov eax,[esi+38h] mov [eax+000000B0h],ebp L00439D75: mov ecx,[esi+38h] cmp ecx,ebp jz L00439D82 mov edx,[ecx] push 00000001h call [edx] L00439D82: mov [esi+38h],ebp L00439D85: xor eax,eax mov ax,[esi+54h] add eax,FFFFFFC4h cmp eax,00000015h ja CASE_00439DE8_PROC0003 xor ecx,ecx mov cl,[eax+CASE_00439DF8] jmp [CASE_PROCTABLE_00439DE8+ecx*4] CASE_00439DE8_PROC0000: mov eax,00000058h jmp L00439DB5 CASE_00439DE8_PROC0002: mov eax,0000002Ch jmp L00439DB5 CASE_00439DE8_PROC0001: mov eax,0000002Eh L00439DB5: push ebp push ebp push ebp push ebp push ebp push eax call SUB_L004CD800 add esp,00000018h CASE_00439DE8_PROC0003: mov ecx,esi mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00439DE8: dd CASE_00439DE8_PROC0000 dd CASE_00439DE8_PROC0001 dd CASE_00439DE8_PROC0002 dd CASE_00439DE8_PROC0003 CASE_00439DF8: db 00h, 00h, 01h, 00h, 03h, 00h, 02h, 02h, 02h, 03h, 03h, 03h, 01h, 02h, 02h, 02h db 02h, 01h, 02h, 02h, 03h, 01h Align 4 L00439E10: push ecx push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L00439E65 mov eax,[esp+0Ch] mov ecx,[esp+10h] mov [esp+04h],eax lea edx,[esp+0Ch] lea eax,[esp+04h] mov [esp+0Ch],ecx push edx push eax mov ecx,esi call SUB_L00457C90 lea ecx,[esp+0Ch] lea edx,[esp+04h] push ecx mov ecx,[esi+4Ch] push edx call SUB_L00457D20 mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+08h] mov eax,[ecx] push edx call [eax+20h] pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ L00439E65: mov ecx,[esi+48h] mov dword ptr [esi+0000009Ch],00000001h test ecx,ecx jz L00439E83 L00439E76: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+48h] test ecx,ecx jnz L00439E76 L00439E83: push 00000000h call SUB_L00476670 add esp,00000004h test esi,esi jz L00439E99 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00439E99: pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00439EA0: push esi mov esi,ecx push 00000000h mov ecx,[esi+4Ch] test ecx,ecx jnz L00439EAE mov ecx,esi L00439EAE: call SUB_L004584E0 mov ecx,[esi+000000C0h] mov eax,00000001h cmp ecx,eax mov [esi+000000B4h],eax jnz L00439ED4 mov dword ptr [esi+000000C0h],00000002h jmp L00439EE6 L00439ED4: mov [esi+000000C0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000BCh],eax L00439EE6: mov edx,[esi+64h] mov eax,[esp+08h] mov ecx,[esp+0Ch] mov [esi+70h],eax test edx,edx mov [esi+74h],ecx mov dword ptr [esi+000000A4h],00000000h jnz L00439F14 push ecx push eax mov ecx,esi call SUB_L0043AC20 mov [esi+000000A4h],eax L00439F14: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00439F20: sub esp,00000008h push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000ACh] mov [esi+000000B4h],edi cmp eax,edi jz L00439F4A mov [esi+000000ACh],edi mov [esi+000000C0h],edi jmp L0043A021 L00439F4A: mov eax,[esi+000000C0h] cmp eax,00000002h jnz L00439FA8 mov [esi+000000C0h],edi mov eax,[L00C88318] cmp eax,edi jnz L0043A021 cmp [esi+64h],edi jz L00439F79 mov ecx,esi call SUB_L0041E0F0 jmp L0043A021 L00439F79: mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000098h] test eax,eax jnz L0043A021 mov eax,[esi+000000A4h] cmp eax,edi jz L0043A021 push eax call SUB_L00483E70 add esp,00000004h jmp L0043A021 L00439FA8: cmp [esi+000000B8h],edi jnz L0043A021 cmp eax,edi jnz L0043A021 mov eax,[esi+000000A4h] cmp eax,edi jz L0043A021 mov ecx,[L00C88318] cmp ecx,edi jz L00439FE2 mov ecx,[L00C88328] cmp ecx,edi jz L00439FE2 cmp [L00C87E7C],edi jnz L00439FE2 push eax call ecx add esp,00000004h jmp L0043A021 L00439FE2: call SUB_L004BCED0 test eax,eax jz L00439FFA mov ecx,[esi+000000A4h] push ecx call SUB_L00484010 add esp,00000004h L00439FFA: mov edx,[esi+000000A4h] lea ecx,[esp+08h] mov eax,[edx+7Ch] push eax push ecx call SUB_L00499DB0 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+08h] push edx call SUB_L004BC750 L0043A021: push edi mov [esi+000000B8h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043A040: sub esp,00000010h push ebp push esi push edi mov edi,ecx mov eax,[edi+64h] test eax,eax jnz L0043A061 mov eax,[L00C88318] test eax,eax jz L0043A061 push 00000013h call SUB_L004766D0 jmp L0043A068 L0043A061: push 00000000h call SUB_L004D0FB0 L0043A068: mov eax,[edi+64h] add esp,00000004h test eax,eax jnz L0043A237 mov eax,[edi+54h] mov esi,[edi+000000A4h] xor ebp,ebp cmp eax,0000091Ah jz L0043A08F cmp eax,0000092Eh jnz L0043A094 L0043A08F: mov ebp,00000001h L0043A094: mov eax,[esp+24h] mov ecx,[esp+20h] push eax push ecx mov ecx,edi call SUB_L0043AC20 cmp esi,eax mov [edi+000000A4h],eax jz L0043A237 test esi,esi jz L0043A16D test ebp,ebp jz L0043A104 xor ecx,ecx lea edx,[esp+20h] mov cx,[esi+3Ch] lea eax,[esp+24h] push edx sub ecx,00002C69h push eax push ecx call SUB_L004434A0 movsx eax,[esi+24h] mov edx,[esp+30h] mov [esp+18h],eax movsx ecx,[esi+26h] add eax,edx add esp,0000000Ch mov [esp+14h],eax mov eax,[esp+20h] mov [esp+10h],ecx add ecx,eax mov [esp+18h],ecx jmp L0043A161 L0043A104: mov edx,[esi] push ebx mov ecx,esi call [edx+78h] mov ebx,eax mov eax,[L007050EC] test eax,eax jz L0043A131 mov ecx,esi call SUB_L0047FD20 test eax,eax jz L0043A131 push 00006127h call SUB_L004B9530 add esp,00000004h mov ebx,eax L0043A131: mov eax,[esi] mov ecx,esi call [eax+7Ch] movsx eax,[esi+24h] mov [esp+10h],eax xor edx,edx movsx ecx,[esi+26h] mov [esp+14h],ecx mov dx,[ebx+04h] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[ebx+06h] add eax,ecx pop ebx mov [esp+18h],eax L0043A161: lea ecx,[esp+0Ch] push ecx mov ecx,edi call SUB_L0043A620 L0043A16D: mov ecx,[edi+000000A4h] test ecx,ecx jz L0043A237 test ebp,ebp jz L0043A1C4 lea edx,[esp+20h] lea eax,[esp+24h] push edx xor edx,edx mov dx,[ecx+3Ch] push eax sub edx,00002C69h push edx call SUB_L004434A0 mov eax,[edi+000000A4h] mov edx,[esp+30h] add esp,0000000Ch movsx ecx,[eax+24h] mov [esp+0Ch],ecx add edx,ecx movsx eax,[eax+26h] mov ecx,[esp+20h] mov [esp+10h],eax mov [esp+14h],edx jmp L0043A225 L0043A1C4: mov edx,[ecx] call [edx+78h] mov esi,eax mov eax,[L007050EC] test eax,eax jz L0043A1F2 mov ecx,[edi+000000A4h] call SUB_L0047FD20 test eax,eax jz L0043A1F2 push 00006127h call SUB_L004B9530 add esp,00000004h mov esi,eax L0043A1F2: mov ecx,[edi+000000A4h] mov eax,[ecx] call [eax+7Ch] mov eax,[edi+000000A4h] xor edx,edx movsx ecx,[eax+24h] mov [esp+0Ch],ecx movsx eax,[eax+26h] mov [esp+10h],eax mov dx,[esi+04h] add edx,ecx xor ecx,ecx mov [esp+14h],edx mov cx,[esi+06h] L0043A225: add ecx,eax lea edx,[esp+0Ch] mov [esp+18h],ecx push edx mov ecx,edi call SUB_L0043A620 L0043A237: pop edi pop esi pop ebp add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ L0043A240: sub esp,00000018h push ebx mov ebx,ecx push esi mov eax,[ebx+54h] mov esi,[ebx+000000A4h] cmp eax,0000091Ah mov dword ptr [ebx+000000A4h],00000000h jz L0043A26C cmp eax,0000092Eh jz L0043A26C xor eax,eax jmp L0043A271 L0043A26C: mov eax,00000001h L0043A271: test esi,esi jz L0043A32B test eax,eax jz L0043A2C2 xor edx,edx lea eax,[esp+0Ch] mov dx,[esi+3Ch] lea ecx,[esp+08h] push eax sub edx,00002C69h push ecx push edx call SUB_L004434A0 movsx eax,[esi+24h] mov ecx,[esp+14h] mov edx,[esp+18h] mov [esp+1Ch],eax add eax,ecx mov [esp+24h],eax add esp,0000000Ch movsx eax,[esi+26h] mov [esp+14h],eax add eax,edx mov [esp+1Ch],eax jmp L0043A31F L0043A2C2: mov eax,[esi] push edi mov ecx,esi call [eax+78h] mov edi,eax mov eax,[L007050EC] test eax,eax jz L0043A2EF mov ecx,esi call SUB_L0047FD20 test eax,eax jz L0043A2EF push 00006127h call SUB_L004B9530 add esp,00000004h mov edi,eax L0043A2EF: mov edx,[esi] mov ecx,esi call [edx+7Ch] movsx eax,[esi+24h] mov [esp+14h],eax xor edx,edx movsx ecx,[esi+26h] mov [esp+18h],ecx mov dx,[edi+04h] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[edi+06h] add eax,ecx pop edi mov [esp+1Ch],eax L0043A31F: lea ecx,[esp+10h] push ecx mov ecx,ebx call SUB_L0043A620 L0043A32B: pop esi pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 L0043A340: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000A4h] cmp eax,edi mov eax,[esi+000000B4h] jnz L0043A3A4 cmp eax,edi jz L0043A447 mov ecx,[esi+4Ch] mov eax,[esp+10h] push 00000001h cmp ecx,edi push edi push 00000001h jz L0043A388 mov edi,[esi+74h] mov edx,[esp+18h] sub eax,edi mov edi,[esi+70h] sub edx,edi push eax push edx call SUB_L00457800 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0043A388: mov ecx,[esi+74h] mov edx,[esi+70h] sub eax,ecx mov ecx,[esp+18h] sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00457800 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0043A3A4: cmp eax,edi jz L0043A447 cmp [esi+000000C0h],edi jbe L0043A447 mov eax,[esp+0Ch] mov edx,[esi+70h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0043A3DE mov eax,[esp+10h] mov edx,[esi+74h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0043A447 L0043A3DE: mov eax,[esi+000000A8h] mov dword ptr [esi+000000ACh],00000001h cmp eax,edi mov [esi+000000C0h],edi jz L0043A40B cmp [eax+000000C0h],esi jz L0043A40B mov [esi+000000A4h],edi pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0043A40B: cmp [L00C88550],edi jnz L0043A447 mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jnz L0043A447 mov eax,[esi+000000A4h] push edi push eax call SUB_L00484180 add esp,00000008h mov [esi+000000B4h],edi mov [esi+000000ACh],edi mov [esi+000000C0h],edi L0043A447: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043A450: push esi mov esi,ecx cmp dword ptr [esi+54h],00000009h jnz L0043A4D8 mov edx,[esi+000000C4h] inc edx mov [esi+000000C4h],edx mov ecx,[L00501094] mov eax,edx cmp eax,ecx jnz L0043A4D8 push 00000014h call SUB_L0047BBB0 add eax,00000005h add esp,00000004h mov [L00501094],eax mov edx,[esi+000000C8h] xor eax,eax inc edx mov ecx,edx mov [esi+000000C4h],eax cmp ecx,00000001h mov [esi+000000C8h],edx jbe L0043A4A6 mov [esi+000000C8h],eax L0043A4A6: mov eax,[esi+3Ch] 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+000000C8h] push 0000001Eh add eax,00000045h push 0000002Dh push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0043A4D8: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0043A4E0: sub esp,00000008h push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000C0h] mov ecx,00000001h cmp edx,ecx jnz L0043A60B sub edi,[esi+000000BCh] cmp edi,eax jbe L0043A60B mov eax,[esi+000000B4h] xor edi,edi cmp eax,edi mov [esi+000000C0h],edi jnz L0043A5A3 mov eax,[esi+000000A4h] cmp eax,edi jz L0043A60B mov ecx,[L00C88318] cmp ecx,edi jz L0043A55E mov ecx,[L00C88328] cmp ecx,edi jz L0043A55E cmp [L00C87E7C],edi jnz L0043A55E push eax call ecx add esp,00000004h pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0043A55E: call SUB_L004BCED0 test eax,eax jz L0043A576 mov eax,[esi+000000A4h] push eax call SUB_L00484010 add esp,00000004h L0043A576: mov ecx,[esi+000000A4h] lea eax,[esp+08h] mov edx,[ecx+7Ch] push edx push eax call SUB_L00499DB0 add esp,00000008h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0043A5A3: mov eax,[esi+000000A8h] mov [esi+000000ACh],ecx cmp eax,edi jz L0043A5C7 cmp [eax+000000C0h],esi jz L0043A5C7 mov [esi+000000A4h],edi pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0043A5C7: cmp [esi+000000A4h],edi jz L0043A60B cmp [L00C88550],edi jnz L0043A60B mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jnz L0043A60B mov eax,[esi+000000A4h] push edi push eax call SUB_L00484180 add esp,00000008h mov [esi+000000B4h],edi mov [esi+000000ACh],edi mov [esi+000000C0h],edi L0043A60B: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043A620: sub esp,0000002Ch mov eax,[L00C88338] push ebx push ebp push esi xor esi,esi push edi cmp eax,esi mov ebx,ecx mov [esp+10h],esi jnz L0043AAF0 mov eax,[ebx+3Ch] mov [esp+30h],esi mov [esp+2Ch],esi xor edx,edx mov ecx,[eax+04h] mov dx,[ecx+02h] xor ecx,ecx mov [esp+38h],edx mov eax,[eax+04h] lea edx,[esp+1Ch] mov cx,[eax] lea eax,[esp+2Ch] mov [esp+34h],ecx mov ecx,[esp+40h] push edx push eax push ecx call SUB_L00457DF0 mov eax,[ebx+000000A0h] add esp,0000000Ch cmp eax,esi jz L0043A6BB mov eax,[ebx+20h] mov ecx,[ebx+24h] mov [esp+1Ch],esi mov [esp+20h],esi lea edx,[eax-01h] mov [esp+24h],edx lea edx,[ecx-01h] imul ecx,eax mov [esp+28h],edx mov edx,[ebx+3Ch] 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 L0043A6BB: mov ecx,[ebx+54h] cmp ecx,0000091Ah jz L0043A6D2 cmp ecx,0000092Eh mov [esp+40h],esi jnz L0043A6DA L0043A6D2: mov dword ptr [esp+40h],00000001h L0043A6DA: mov eax,[ebx+3Ch] 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 push eax mov eax,[ebx+000000A0h] lea edx,[esp+28h] push eax push esi push edx push ecx push SUB_L004B9B80 call SUB_L004436C0 mov eax,[ebx+38h] add esp,00000020h mov ebp,[eax+000000ACh] cmp ebp,esi jz L0043AAF0 mov eax,[ebp+44h] cmp eax,esi jz L0043A72E L0043A725: mov ebp,eax mov eax,[ebp+44h] cmp eax,esi jnz L0043A725 L0043A72E: mov al,[L00C8C4A4] mov ecx,[ebx+3Ch] test al,al mov eax,[ecx+04h] mov [esp+18h],esi jz L0043A7B4 xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] imul edx,ecx lea edx,[edx+edx+04h] push edx call SUB_L004D4FA9 mov ecx,eax mov eax,[ebx+3Ch] xor esi,esi mov [esp+1Ch],ecx mov edx,[eax+04h] mov ax,[edx] mov [ecx],ax mov edx,[ebx+3Ch] mov si,[ecx] mov eax,[edx+04h] lea edx,[ecx+04h] mov edi,edx mov ax,[eax+02h] mov [ecx+02h],ax mov ecx,esi 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 eax,[esp+1Ch] xor ecx,ecx mov cx,[eax] push ecx push edx call SUB_L004B9E80 add esp,0000000Ch jmp L0043A7C6 L0043A7B4: xor edx,edx mov dx,[eax] add eax,00000004h push edx push eax call SUB_L004B9E80 add esp,00000008h L0043A7C6: test ebp,ebp jz L0043AA7D L0043A7CE: mov ax,[ebp+3Ch] cmp ax,4000h jnc L0043A804 mov ecx,[L00C88540] and eax,0000FFFFh lea eax,[eax+eax*4] lea eax,[ecx+eax*8] test dword ptr [eax],00400000h jz L0043A804 mov al,[eax+05h] cmp al,0Bh jz L0043AA72 cmp al,10h jz L0043AA72 L0043A804: mov eax,[esp+40h] test eax,eax jnz L0043A84B mov edx,[ebp+00h] mov ecx,ebp call [edx+78h] mov [esp+10h],eax mov eax,[L007050EC] test eax,eax jz L0043A83D mov ecx,ebp call SUB_L0047FD20 test eax,eax jz L0043A83D push 00006127h call SUB_L004B9530 add esp,00000004h mov [esp+10h],eax L0043A83D: mov eax,[ebp+00h] mov ecx,ebp call [eax+7Ch] mov [esp+14h],eax jmp L0043A853 L0043A84B: mov dword ptr [esp+14h],00000000h L0043A853: mov ax,[ebp+42h] mov ecx,[ebx+000000A4h] movsx esi,[ebp+24h] movsx edi,[ebp+26h] test ax,ax jnz L0043A91B cmp ebp,ecx jz L0043A91F mov eax,[esp+40h] test eax,eax jz L0043A8B3 mov ecx,[ebx+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx xor edx,edx mov dx,[ebp+3Ch] add eax,00000004h push ecx push eax push edi sub edx,00002C69h push esi push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0043A8F3 L0043A8B3: mov eax,[L007050F0] test eax,eax jz L0043A8DA mov ecx,ebp call SUB_L0047FE60 test eax,eax jz L0043A8DA mov ecx,[esp+10h] push edi lea eax,[esp+20h] push esi push eax push ecx push L004B9890 jmp L0043A8EB L0043A8DA: mov eax,[esp+10h] push edi lea edx,[esp+20h] push esi push edx push eax push SUB_L004B95C0 L0043A8EB: call SUB_L004B9EA0 add esp,00000014h L0043A8F3: mov eax,[esp+14h] test eax,eax jz L0043AA72 mov edx,[esp+10h] add edi,00000005h add esi,00000005h push edi lea ecx,[esp+20h] push esi push ecx push edx push SUB_L004B95C0 jmp L0043AA6A L0043A91B: cmp ebp,ecx jnz L0043A92B L0043A91F: mov dword ptr [L00CD8C24],00000035h jmp L0043A948 L0043A92B: cmp ax,EA60h jbe L0043A93D mov dword ptr [L00CD8C24],00000001h jmp L0043A948 L0043A93D: and eax,0000FFFFh dec eax mov [L00CD8C24],eax L0043A948: mov eax,[esp+40h] test eax,eax jz L0043A984 mov eax,[ebx+3Ch] 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 xor eax,eax push edi mov ax,[ebp+3Ch] push esi sub eax,00002C69h push eax push SUB_L004B9C60 call SUB_L00443500 add esp,0000001Ch jmp L0043A9EE L0043A984: mov eax,[L007050F0] test eax,eax jz L0043A9AB mov ecx,ebp call SUB_L0047FE60 test eax,eax jz L0043A9AB mov edx,[esp+10h] push edi lea ecx,[esp+20h] push esi push ecx push edx push L004B9890 jmp L0043A9E6 L0043A9AB: cmp ebp,[ebx+000000A4h] jz L0043A9D5 mov eax,[ebp+00h] mov ecx,ebp call [eax+40h] test eax,00040000h jz L0043A9D5 mov edx,[esp+10h] push edi lea ecx,[esp+20h] push esi push ecx push edx push L004B9920 jmp L0043A9E6 L0043A9D5: mov ecx,[esp+10h] push edi lea eax,[esp+20h] push esi push eax push ecx push L004B9840 L0043A9E6: call SUB_L004B9EA0 add esp,00000014h L0043A9EE: mov eax,[esp+14h] test eax,eax jz L0043AA72 mov eax,[L007050F0] test eax,eax jz L0043AA23 mov ecx,ebp call SUB_L0047FE60 test eax,eax jz L0043AA23 mov eax,[esp+10h] add edi,00000005h add esi,00000005h push edi lea edx,[esp+20h] push esi push edx push eax push L004B9890 jmp L0043AA6A L0043AA23: cmp ebp,[ebx+000000A4h] jz L0043AA53 mov edx,[ebp+00h] mov ecx,ebp call [edx+40h] test eax,00040000h jz L0043AA53 mov ecx,[esp+10h] add edi,00000005h add esi,00000005h push edi lea eax,[esp+20h] push esi push eax push ecx push L004B9920 jmp L0043AA6A L0043AA53: mov eax,[esp+10h] add edi,00000005h add esi,00000005h push edi lea edx,[esp+20h] push esi push edx push eax push L004B9840 L0043AA6A: call SUB_L004B9EA0 add esp,00000014h L0043AA72: mov ebp,[ebp+48h] test ebp,ebp jnz L0043A7CE L0043AA7D: mov al,[L00C8C4A4] test al,al jz L0043AAF0 mov edi,[esp+18h] xor eax,eax xor ecx,ecx mov ax,[edi] mov cx,[edi+02h] imul eax,ecx test eax,eax lea esi,[edi+04h] jle L0043AABF mov ecx,esi mov edx,eax L0043AAA3: mov ax,[ecx] add ecx,00000002h mov ebp,eax and eax,0000001Fh and ebp,0000FFE0h shl ebp,1 or ebp,eax dec edx mov [ecx-02h],bp jnz L0043AAA3 L0043AABF: mov edx,[ebx+3Ch] xor eax,eax mov ax,[edi+02h] xor ecx,ecx mov edx,[edx+04h] mov cx,[edi] push eax add edx,00000004h push ecx push edx push 00000000h push 00000000h push eax push ecx push esi push SUB_L004B9B80 call SUB_L004438E0 push edi call SUB_L004D4F9E add esp,00000028h L0043AAF0: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn 0004h ;------------------------------------------------------------------------------ Align 8 L0043AB00: mov edx,[ecx+64h] sub esp,00000018h xor eax,eax push esi cmp edx,eax mov edx,[ecx+3Ch] push edi jz L0043AB16 mov esi,[edx+0Ch] jmp L0043AB19 L0043AB16: mov esi,[edx+04h] L0043AB19: mov [esp+0Ch],eax mov [esp+08h],eax lea eax,[esp+08h] lea edx,[esp+0Ch] push eax push edx call SUB_L00457C90 mov eax,[esp+0Ch] mov ecx,[esp+08h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] mov edi,[esp+24h] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0043ABAA mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L0043ABAA: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0043ABC0: mov eax,[ecx+64h] test eax,eax jz L0043ABCF mov eax,[ecx+3Ch] mov ecx,[eax+0Ch] jmp L0043ABD5 L0043ABCF: mov ecx,[ecx+3Ch] mov ecx,[ecx+04h] L0043ABD5: mov edx,[esp+04h] xor eax,eax mov ax,[ecx] push esi test edx,edx jl L0043AC10 mov esi,[esp+0Ch] test esi,esi jl L0043AC10 cmp edx,eax jge L0043AC10 push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L0043AC10 imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2+04h],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L0043AC10: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043AC20: sub esp,00000008h push ebx mov ebx,[esp+10h] push ebp push esi test ebx,ebx push edi jl L0043AE25 mov ebp,[esp+20h] test ebp,ebp jl L0043AE25 cmp ebx,[ecx+20h] jge L0043AE25 cmp ebp,[ecx+24h] jge L0043AE25 mov eax,[ecx+54h] cmp eax,0000091Ah jz L0043AC6A cmp eax,0000092Eh mov dword ptr [esp+1Ch],00000000h jnz L0043AC72 L0043AC6A: mov dword ptr [esp+1Ch],00000001h L0043AC72: mov eax,[ecx+38h] mov edi,[eax+000000ACh] test edi,edi jz L0043AE25 L0043AC83: mov ax,[edi+3Ch] cmp ax,4000h jnc L0043ACBE mov edx,[L00C88540] mov ecx,eax and ecx,0000FFFFh lea ecx,[ecx+ecx*4] lea ecx,[edx+ecx*8] test dword ptr [ecx],00400000h jz L0043ACBE mov cl,[ecx+05h] cmp cl,0Bh jz L0043AE1A cmp cl,10h jz L0043AE1A L0043ACBE: mov ecx,[esp+1Ch] test ecx,ecx jnz L0043ADBB mov eax,[edi] mov ecx,edi call [eax+78h] mov esi,eax mov eax,[L007050EC] test eax,eax jz L0043ACF6 mov ecx,edi call SUB_L0047FD20 test eax,eax jz L0043ACF6 push 00006127h call SUB_L004B9530 add esp,00000004h mov esi,eax L0043ACF6: mov edx,[edi] mov ecx,edi call [edx+7Ch] test esi,esi mov [esp+20h],eax jz L0043AE1A movsx ecx,[edi+24h] cmp ebx,ecx jl L0043AD51 movsx eax,[edi+26h] cmp ebp,eax jl L0043AD51 xor edx,edx mov dx,[esi+04h] lea edx,[edx+ecx-01h] cmp ebx,edx jg L0043AD51 xor edx,edx mov dx,[esi+06h] lea edx,[edx+eax-01h] cmp ebp,edx jg L0043AD51 mov edx,ebp sub edx,eax mov eax,ebx sub eax,ecx push edx push eax push esi call SUB_L004B9550 add esp,0000000Ch test ax,ax jnz L0043AE31 L0043AD51: mov eax,[esp+20h] test eax,eax jz L0043AE1A movsx ecx,[edi+24h] lea edx,[ecx+05h] cmp ebx,edx jl L0043AE1A movsx eax,[edi+26h] lea edx,[eax+05h] cmp ebp,edx jl L0043AE1A xor edx,edx mov dx,[esi+04h] lea edx,[edx+ecx+04h] cmp ebx,edx jg L0043AE1A xor edx,edx mov dx,[esi+06h] lea edx,[edx+eax+04h] cmp ebp,edx jg L0043AE1A mov edx,ebp sub edx,eax mov eax,ebx sub eax,ecx sub edx,00000005h sub eax,00000005h push edx push eax push esi call SUB_L004B9550 add esp,0000000Ch test ax,ax jnz L0043AE31 jmp L0043AE1A L0043ADBB: and eax,0000FFFFh lea ecx,[esp+14h] sub eax,00002C69h lea edx,[esp+10h] mov esi,eax push ecx push edx push esi call SUB_L004434A0 movsx eax,[edi+24h] add esp,0000000Ch cmp ebx,eax jl L0043AE1A movsx ecx,[edi+26h] cmp ebp,ecx jl L0043AE1A mov edx,[esp+10h] lea edx,[eax+edx-01h] cmp ebx,edx jg L0043AE1A mov edx,[esp+14h] lea edx,[ecx+edx-01h] cmp ebp,edx jg L0043AE1A mov edx,ebp sub edx,ecx mov ecx,ebx sub ecx,eax push edx push ecx push esi call SUB_L00443A70 add esp,0000000Ch test ax,ax jnz L0043AE31 L0043AE1A: mov edi,[edi+44h] test edi,edi jnz L0043AC83 L0043AE25: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0043AE31: mov eax,edi pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0043AE40: sub esp,00000030h push ebx push ebp mov ebp,ecx push esi push edi mov dword ptr [esp+18h],00000000h mov ecx,[ebp+4Ch] push 00000000h test ecx,ecx jnz L0043AE5C mov ecx,ebp L0043AE5C: call SUB_L004584E0 mov ecx,[L00C8851C] test ecx,ecx jz L0043AE78 push 00000000h call SUB_L004584E0 mov ecx,[L00C8851C] L0043AE78: mov eax,[ebp+000000A8h] test eax,eax jz L0043AE96 cmp [eax+000000C0h],ebp jz L0043AE96 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ L0043AE96: mov ax,[ecx+20h] mov cx,[ecx+24h] mov ebx,[esp+48h] mov edi,[esp+44h] mov [esp+14h],cx push ebx push edi mov ecx,ebp mov [esp+18h],ax call SUB_L0043AC20 mov esi,eax test esi,esi jz L0043AFEB mov edx,[esi] mov ecx,esi call [edx+30h] test eax,eax jnz L0043AF2A cmp [esi+40h],ax jz L0043AF20 mov cx,[esi+3Ch] movsx eax,[esi+3Eh] mov edx,ecx and edx,0000FFFFh add eax,edx mov edx,[L00C88540] lea eax,[eax+eax*4] test byte ptr [edx+eax*8+01h],08h jz L0043AF20 cmp word ptr [L00C8852A],0000h jz L0043AF20 mov eax,[L00C8852C] test ah,08h jz L0043AF20 cmp cx,[L00C88520] jnz L0043AF20 mov ax,[esi+42h] cmp ax,[L00C88528] jz L0043AF2A L0043AF20: mov eax,00000001h jmp L0043AFE3 L0043AF2A: mov edx,[esi] mov ecx,esi call [edx+30h] test eax,eax jz L0043AFA9 mov cx,[esi+3Ch] lea eax,[esp+1Ch] push eax push ecx call SUB_L00457140 add esp,00000004h push eax call SUB_L00457480 mov edx,[esp+2Ch] mov eax,[esp+24h] sub edx,eax mov eax,[esp+18h] and eax,0000FFFFh add esp,00000008h cmp edx,eax jge L0043AF73 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ L0043AF73: mov ecx,[esp+28h] mov edx,[esp+20h] sub ecx,edx mov edx,[esp+14h] and edx,0000FFFFh cmp ecx,edx jge L0043AF97 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ L0043AF97: mov eax,[esi+7Ch] push eax push 00000000h push 0000FFFFh push 0000FFFFh jmp L0043AFBB L0043AFA9: mov eax,[esi+7Ch] mov cl,[esi+28h] mov dx,[esi+26h] push eax mov ax,[esi+24h] push ecx push edx push eax L0043AFBB: mov ecx,[L00C88524] lea edx,[esp+3Ch] push ecx push edx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+2Ch] push eax call SUB_L004BC750 mov eax,[esp+18h] L0043AFE3: test eax,eax jz L0043B089 L0043AFEB: mov edx,[ebp+38h] lea ecx,[esp+1Ch] push ecx mov ax,[edx+3Ch] push eax call SUB_L00457140 add esp,00000004h push eax call SUB_L00457480 mov eax,[esp+18h] add esp,00000008h and eax,0000FFFFh mov ecx,eax shr ecx,1 sub edi,ecx mov ecx,[esp+14h] and ecx,0000FFFFh mov edx,ecx lea esi,[eax+edi] shr edx,1 sub ebx,edx mov edx,[esp+24h] cmp esi,edx jle L0043B037 sub edx,eax mov edi,edx L0043B037: mov eax,[esp+28h] lea edx,[ecx+ebx] cmp edx,eax jle L0043B046 sub eax,ecx mov ebx,eax L0043B046: mov eax,[esp+1Ch] cmp edi,eax jge L0043B050 mov edi,eax L0043B050: mov eax,[esp+20h] cmp ebx,eax jge L0043B05A mov ebx,eax L0043B05A: mov eax,[ebp+38h] mov edx,[L00C88524] mov ecx,[eax+7Ch] lea eax,[esp+2Ch] push ecx push 00000000h push ebx push edi push edx push eax call SUB_L00499680 add esp,00000018h lea ecx,[esp+2Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0043B089: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B0A0: sub esp,00000014h push ebx mov ebx,ecx push esi push edi mov eax,[ebx+54h] cmp eax,0000091Ah jz L0043B0B9 cmp eax,0000092Eh jnz L0043B0FC L0043B0B9: mov esi,[esp+24h] xor edx,edx lea eax,[esp+0Ch] lea ecx,[esp+24h] mov dx,[esi+3Ch] push eax sub edx,00002C69h push ecx push edx call SUB_L004434A0 movsx eax,[esi+24h] movsx edx,[esi+26h] mov ecx,[esp+30h] mov esi,[esp+18h] add esp,0000000Ch add ecx,eax mov [esp+10h],eax mov [esp+14h],edx mov [esp+18h],ecx jmp L0043B158 L0043B0FC: mov edi,[esp+24h] mov ecx,edi mov edx,[edi] call [edx+78h] mov esi,eax mov eax,[L007050EC] test eax,eax jz L0043B12C mov ecx,edi call SUB_L0047FD20 test eax,eax jz L0043B12C push 00006127h call SUB_L004B9530 add esp,00000004h mov esi,eax L0043B12C: test esi,esi jz L0043B1C9 movsx eax,[edi+24h] movsx edx,[edi+26h] xor ecx,ecx mov [esp+10h],eax mov cx,[esi+04h] mov [esp+14h],edx add ecx,eax xor edi,edi mov [esp+18h],ecx mov di,[esi+06h] mov esi,edi L0043B158: add esi,edx test eax,eax mov [esp+1Ch],esi jge L0043B168 xor eax,eax mov [esp+10h],eax L0043B168: mov edi,[ebx+20h] cmp eax,edi jl L0043B176 lea eax,[edi-01h] mov [esp+10h],eax L0043B176: test ecx,ecx jge L0043B180 xor ecx,ecx mov [esp+18h],ecx L0043B180: cmp ecx,edi jl L0043B189 dec edi mov [esp+18h],edi L0043B189: test edx,edx jge L0043B193 xor edx,edx mov [esp+14h],edx L0043B193: mov eax,[ebx+24h] cmp edx,eax jl L0043B1A1 lea ecx,[eax-01h] mov [esp+14h],ecx L0043B1A1: test esi,esi jge L0043B1AB xor esi,esi mov [esp+1Ch],esi L0043B1AB: cmp esi,eax jl L0043B1B4 dec eax mov [esp+1Ch],eax L0043B1B4: mov eax,[L00C8C4C8] test eax,eax jnz L0043B1C9 lea edx,[esp+10h] mov ecx,ebx push edx call SUB_L0043A620 L0043B1C9: pop edi pop esi pop ebx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0043B1E0: mov eax,[esp+08h] mov edx,[esp+04h] push eax push edx call SUB_L0043AC20 retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B200: push FFFFFFFFh push L004E2124 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 push SUB_L00402C50 push L00481090 push 00000002h lea eax,[esi+000000ECh] push 0000000Ch push eax mov dword ptr [esp+30h],00000001h call SUB_L004D549C mov ecx,[esp+34h] mov edx,[esp+38h] mov eax,[esp+3Ch] and ecx,0000FFFFh mov dword ptr [esi],L004EB210 and edx,0000FFFFh mov [esi+00000118h],ecx mov ecx,[esp+40h] and eax,0000FFFFh mov [esi+0000011Ch],edx mov edx,[esp+44h] mov [esi+00000120h],eax mov eax,[esp+48h] and ecx,0000FFFFh and edx,0000FFFFh mov [esi+00000124h],ecx mov ecx,[esp+30h] and eax,0000FFFFh mov [esi+00000128h],edx mov [esi+0000012Ch],eax xor edi,edi mov dword ptr [esi+08h],SSZ0050114C_Course_gump mov [esi+60h],edi cmp ecx,edi mov byte ptr [esp+1Ch],02h mov [esi+38h],ecx jz L0043B2D9 mov edx,[ecx] call [edx+60h] test eax,eax jz L0043B2D9 mov eax,[esi+38h] mov [eax+000000B4h],esi L0043B2D9: mov eax,[esp+2Ch] mov ecx,[esp+24h] mov edx,[esp+28h] mov [esi+000000C4h],edi mov byte ptr [esi+000000B4h],00h mov [esi+000000B8h],edi mov [esi+000000C0h],edi mov [esi+000000BCh],edi mov [esi+000000D4h],edi mov [esi+000000D0h],edi mov [esi+000000CCh],edi cmp eax,0000139Dh mov [esi+000000C8h],edi mov byte ptr [esi+000000E8h],00h mov [esi+000000A8h],edi mov [esi+000000A4h],edi mov [esi+000000A0h],edi mov [esi+0000009Ch],edi mov [esi+000000B0h],edi mov [esi+000000ACh],edi mov [esi+30h],ecx mov [esi+34h],edx mov [esi+64h],edi mov [esi+54h],eax mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi jle L0043B382 lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx push ebp push eax call SUB_L004434A0 mov eax,[ebp+00h] add esp,0000000Ch mov [esi+1Ch],eax jmp L0043B3A2 L0043B382: mov eax,[esi+00000128h] mov ecx,[esi+0000012Ch] add eax,0000002Ch lea ebp,[esi+20h] lea ebx,[esi+24h] add ecx,0000003Dh mov [ebp+00h],eax mov [esi+1Ch],eax mov [ebx],ecx L0043B3A2: push SSZ004FF038_framedata_for_CCourseGump push 00000010h mov dword ptr [esi+28h],00000028h mov dword ptr [esi+2Ch],00000014h mov [esi+14h],edi mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF028_course_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push SSZ0050113C_course_frame1 mov [edx+04h],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push SSZ00501128_course_backupFrame mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+2Ch] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov ecx,[ebx] mov edx,eax imul ecx,[ebp+00h] shl ecx,1 mov [esi+0000010Ch],edx lea edi,[edx+04h] mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx add esp,00000020h and ecx,00000003h rep stosb mov eax,[esi+0000010Ch] mov cx,[ebp+00h] mov [eax],cx mov edx,[esi+0000010Ch] mov ax,[ebx] mov [edx+02h],ax mov ecx,[esi+28h] imul ecx,[esi+2Ch] mov edx,[esi+3Ch] 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_L0043C670 push 000000ECh call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+34h],ecx test ecx,ecx mov byte ptr [esp+1Ch],03h jz L0043B55C mov eax,[ebx] push 00000000h push 0000139Ah push 0000139Ah push L0041F030 push 00000000h push 00000000h sub eax,00000018h push esi push eax mov eax,[ebp+00h] cdq sub eax,edx sar eax,1 sub eax,00000037h push eax call SUB_L00421F40 jmp L0043B55E L0043B55C: xor eax,eax L0043B55E: push 00000001h push esi mov ecx,eax mov byte ptr [esp+24h],02h mov [esi+00000110h],eax call SUB_L004587A0 mov ecx,[esi+00000110h] push 000000ECh mov dword ptr [ecx+6Ch],00000000h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+34h],ecx test ecx,ecx mov byte ptr [esp+1Ch],04h jz L0043B5C7 mov eax,[ebp+00h] push 00000000h cdq push 00001399h push 00001398h sub eax,edx push L0041DC60 push 00000000h push 00000001h sar eax,1 push esi sub eax,00000046h push 00000005h push eax call SUB_L00421F40 jmp L0043B5C9 L0043B5C7: xor eax,eax L0043B5C9: push 00000001h push esi mov ecx,eax mov byte ptr [esp+24h],02h mov [esi+00000114h],eax call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0028h ;------------------------------------------------------------------------------ Align 16 L0043B600: push esi mov esi,ecx call SUB_L0043B620 test byte ptr [esp+08h],01h jz L0043B618 push esi call SUB_L004D4F9E add esp,00000004h L0043B618: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043B620: push FFFFFFFFh push L004E215E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EB210 mov eax,[L00C88338] xor edi,edi cmp eax,edi mov dword ptr [esp+24h],00000002h jnz L0043B68A cmp [esi+000000D4h],edi jz L0043B68A mov eax,[esi+38h] push edi push edi push edi mov ecx,[eax+7Ch] push 00000006h lea edx,[esp+1Ch] push ecx push edx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+0Ch] push eax call SUB_L004BC750 L0043B68A: mov ecx,[esi+38h] cmp ecx,edi jz L0043B6A3 mov edx,[ecx] call [edx+60h] test eax,eax jz L0043B6A3 mov eax,[esi+38h] mov [eax+000000B4h],edi L0043B6A3: mov ecx,[esi+000000C4h] cmp ecx,edi jz L0043B6B3 mov edx,[ecx] push 00000001h call [edx] L0043B6B3: mov eax,[esi+0000010Ch] cmp eax,edi jz L0043B6D1 push SSZ00501194_Course_backupFrame push eax call SUB_L00476000 add esp,00000008h mov [esi+0000010Ch],edi L0043B6D1: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L0043B6EF push SSZ00501180_Course_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0043B6EF: mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,edi jz L0043B70D push SSZ0050116C_Course_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L0043B70D: mov eax,[esi+3Ch] cmp eax,edi jz L0043B725 push SSZ00501158_Course_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0043B725: push SUB_L00402C50 push 00000002h lea ecx,[esi+000000ECh] push 0000000Ch push ecx mov byte ptr [esp+34h],01h call SUB_L004D53BE mov ecx,esi mov dword ptr [esp+24h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+1Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 L0043B760: mov eax,[esp+04h] push ebx push esi push edi mov edi,ecx mov esi,00000001h mov ecx,[esp+14h] push 00000000h mov [edi+74h],ecx mov ecx,edi mov [edi+000000A4h],esi mov [edi+70h],eax call SUB_L004584E0 cmp [edi+000000B0h],esi jnz L0043B79B mov dword ptr [edi+000000B0h],00000002h jmp L0043B7AD L0043B79B: mov [edi+000000B0h],esi call [KERNEL32.dll!GetTickCount] mov [edi+000000ACh],eax L0043B7AD: mov eax,[edi+000000D4h] test eax,eax jz L0043B827 mov edx,[edi+38h] lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov esi,[edx+000000ACh] push ecx push 0000139Ch call SUB_L004434A0 mov ebx,[esp+1Ch] mov edx,[esp+20h] add esp,0000000Ch sar ebx,1 sar edx,1 test esi,esi mov [esp+10h],ebx mov [esp+14h],edx jz L0043B827 push ebp L0043B7F0: movsx eax,[esi] mov ecx,[edi+70h] mov ebp,eax sub ebp,ebx cmp ecx,ebp jl L0043B81F add eax,ebx cmp ecx,eax jg L0043B81F movsx eax,[esi+02h] mov ecx,[edi+74h] mov ebp,eax sub ebp,edx cmp ecx,ebp jl L0043B81F add eax,edx cmp ecx,eax jg L0043B81F mov [edi+000000BCh],esi L0043B81F: mov esi,[esi+08h] test esi,esi jnz L0043B7F0 pop ebp L0043B827: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0043B830: sub esp,00000010h push ebx push ebp mov ebp,[esp+20h] mov ebx,[esp+1Ch] push esi mov esi,ecx push edi xor ecx,ecx mov edi,[esi+0000009Ch] mov [esi+000000A4h],ecx cmp edi,ecx jz L0043B861 mov [esi+0000009Ch],ecx mov [esi+000000B0h],ecx jmp L0043B88B L0043B861: mov eax,[esi+000000B0h] cmp eax,00000002h jnz L0043B874 mov [esi+000000B0h],ecx jmp L0043B88B L0043B874: cmp [esi+000000A8h],ecx jnz L0043B88B cmp eax,ecx jnz L0043B88B push ebp push ebx mov ecx,esi call SUB_L0043B980 xor ecx,ecx L0043B88B: mov eax,[esi+000000BCh] mov [esi+000000A8h],ecx cmp eax,ecx jz L0043B95E cmp edi,00000001h jnz L0043B95E mov edx,[esi+38h] mov ecx,[esi+000000B8h] xor edi,edi mov eax,[edx+000000ACh] cmp eax,ecx jz L0043B8C5 L0043B8BD: mov eax,[eax+08h] inc edi cmp eax,ecx jnz L0043B8BD L0043B8C5: test ebx,ebx jl L0043B90C cmp ebx,[esi+20h] jge L0043B90C test ebp,ebp jl L0043B90C cmp ebp,[esi+24h] jge L0043B90C mov eax,[edx+7Ch] push ebp push ebx push edi push 00000003h lea ecx,[esp+20h] push eax push ecx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea edx,[esp+10h] push edx call SUB_L004BC750 mov ecx,[esi+38h] push ebp push ebx push edi push 00000002h call SUB_L00480B90 jmp L0043B934 L0043B90C: mov eax,[edx+7Ch] push 00000000h push 00000000h push edi push 00000004h lea ecx,[esp+20h] push eax push ecx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea edx,[esp+10h] push edx call SUB_L004BC750 L0043B934: xor edi,edi mov ecx,esi mov [esi+000000CCh],edi mov [esi+000000C0h],edi call SUB_L0043C670 mov byte ptr [esi+000000E8h],00h mov [esi+000000BCh],edi mov [esi+000000B8h],edi xor ecx,ecx L0043B95E: push ecx call SUB_L00476670 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043B980: sub esp,00000038h push esi mov esi,ecx xor ecx,ecx mov [esp+18h],esi mov eax,[esi+38h] mov dword ptr [esp+10h],0000000Ah mov [esp+24h],ecx mov [esp+20h],ecx cmp dword ptr [eax+000000B0h],00000032h jge L0043BB73 cmp [esi+000000D4h],ecx jz L0043BB73 mov eax,[eax+000000ACh] push ebx push ebp cmp eax,ecx push edi mov dword ptr [esp+28h],FFFFFFFFh mov dword ptr [esp+18h],00000001h jz L0043BAF1 L0043B9D9: mov ecx,[eax+08h] test ecx,ecx mov [esp+14h],ecx jz L0043BAE8 movsx ebp,[eax] movsx eax,[eax+02h] movsx esi,[ecx] movsx edi,[ecx+02h] sub edi,eax sub esi,ebp mov [esp+10h],eax mov eax,esi mov ecx,edi imul eax,esi imul ecx,edi add eax,ecx mov [esp+20h],ebp mov [esp+34h],eax fild dword ptr [esp+34h] fsqrt call SUB_L004D5008 mov edx,[esp+50h] mov ecx,ebp mov ebp,[esp+4Ch] mov ebx,eax mov eax,[esp+10h] sub ecx,ebp sub eax,edx mov edx,ecx mov [esp+34h],eax imul eax,esi imul edx,edi imul ecx,esi sub eax,edx cdq idiv ebx cdq mov ebp,eax mov eax,[esp+10h] xor ebp,edx sub ebp,edx mov edx,[esp+14h] movsx edx,[edx+02h] sub eax,edx imul eax,[esp+34h] sub eax,ecx cdq idiv ebx cdq xor eax,edx sub eax,edx cmp eax,ebx jge L0043BACF mov eax,[esp+14h] mov edx,[esp+20h] movsx ecx,[eax] mov esi,ecx sub edx,ecx sub esi,[esp+4Ch] imul edx,esi movsx esi,[eax+02h] mov eax,esi sub eax,[esp+50h] imul eax,edi sub eax,edx cdq idiv ebx cdq xor eax,edx sub eax,edx cmp eax,ebx jge L0043BACF cmp ebp,[esp+1Ch] jge L0043BACF mov eax,[esp+18h] mov edx,[esp+20h] mov [esp+28h],eax mov [esp+1Ch],ebp lea eax,[ecx+edx] cdq sub eax,edx sar eax,1 mov [esp+30h],eax mov eax,[esp+10h] add eax,esi cdq sub eax,edx sar eax,1 mov [esp+2Ch],eax L0043BACF: mov edx,[esp+18h] mov eax,[esp+14h] mov esi,[esp+24h] inc edx test eax,eax mov [esp+18h],edx jnz L0043B9D9 L0043BAE8: mov edi,[esp+28h] cmp edi,FFFFFFFFh jnz L0043BB2B L0043BAF1: mov edi,[esp+50h] mov ebx,[esp+4Ch] mov eax,[esi+38h] push edi push ebx push 00000000h mov ecx,[eax+7Ch] push 00000001h lea edx,[esp+48h] push ecx push edx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+38h] push eax call SUB_L004BC750 push edi push ebx push 00000000h push 00000001h jmp L0043BB61 L0043BB2B: mov ebp,[esp+2Ch] mov ebx,[esp+30h] mov eax,[esi+38h] push ebp push ebx push edi mov ecx,[eax+7Ch] push 00000002h lea edx,[esp+48h] push ecx push edx call SUB_L0049AA60 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+38h] push eax call SUB_L004BC750 push ebp push ebx push edi push 00000002h L0043BB61: mov ecx,[esi+38h] call SUB_L00480B90 mov ecx,esi call SUB_L0043C670 pop edi pop ebp pop ebx L0043BB73: pop esi add esp,00000038h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0043BB80: sub esp,00000020h push ebx push ebp push esi mov esi,ecx push edi xor ebx,ebx mov eax,[esi+38h] mov ecx,[esi+20h] mov edx,[esi+24h] mov edi,[eax+000000ACh] mov eax,[esi+000000D4h] cmp eax,ebx mov [esp+20h],ebx mov [esp+24h],ebx mov [esp+28h],ecx mov [esp+2Ch],edx jz L0043BF65 mov ecx,[esi+000000BCh] cmp ecx,ebx jz L0043BF65 mov eax,[ecx+08h] cmp edi,ebx mov [esi+000000B8h],eax jz L0043BBE0 L0043BBD3: mov eax,[edi+08h] cmp eax,ecx jz L0043BBE0 mov edi,eax cmp edi,ebx jnz L0043BBD3 L0043BBE0: cmp edi,ebx mov byte ptr [esi+000000E8h],00h jz L0043BC4D mov cx,[edi] xor eax,eax mov [esi+000000ECh],cx mov al,[esi+000000E8h] mov ecx,00000001h lea edx,[eax+eax*2] mov ax,[edi+02h] mov [esi+edx*4+000000EEh],ax mov edx,[esi+38h] mov eax,[edx+000000ACh] cmp eax,edi jz L0043BC30 mov edx,[esi+000000BCh] L0043BC24: mov eax,[eax+08h] cmp eax,edx jz L0043BC2C inc ecx L0043BC2C: cmp eax,edi jnz L0043BC24 L0043BC30: xor eax,eax mov al,[esi+000000E8h] mov [esi+eax*4+00000104h],ecx mov al,[esi+000000E8h] inc al mov [esi+000000E8h],al L0043BC4D: mov ecx,[esi+000000B8h] cmp ecx,ebx jz L0043BCD1 xor eax,eax mov al,[esi+000000E8h] lea edx,[eax+eax*2] mov ax,[ecx] mov [esi+edx*4+000000ECh],ax mov ecx,[esi+000000B8h] xor eax,eax mov al,[esi+000000E8h] lea edx,[eax+eax*2] mov ax,[ecx+02h] mov [esi+edx*4+000000EEh],ax mov ecx,[esi+38h] mov edx,00000001h mov eax,[ecx+000000ACh] mov ecx,[esi+000000B8h] cmp eax,ecx jz L0043BCB4 mov ebp,[esi+000000BCh] L0043BCA8: mov eax,[eax+08h] cmp eax,ebp jz L0043BCB0 inc edx L0043BCB0: cmp eax,ecx jnz L0043BCA8 L0043BCB4: xor eax,eax mov al,[esi+000000E8h] mov [esi+eax*4+00000104h],edx mov al,[esi+000000E8h] inc al mov [esi+000000E8h],al L0043BCD1: mov ebp,[esi+000000BCh] cmp ebp,ebx jz L0043BCEB mov ecx,ebp call SUB_L00402C50 push ebp call SUB_L004D4F9E add esp,00000004h L0043BCEB: mov eax,[esi+38h] mov ecx,[eax+000000B0h] dec ecx cmp edi,ebx mov [eax+000000B0h],ecx jz L0043BD0A mov ecx,[esi+000000B8h] mov [edi+08h],ecx jmp L0043BD19 L0043BD0A: mov edx,[esi+38h] mov eax,[esi+000000B8h] mov [edx+000000ACh],eax L0043BD19: cmp byte ptr [esi+000000E8h],02h jnz L0043BD32 mov dword ptr [esi+000000CCh],00000001h mov [esi+000000C0h],edi L0043BD32: mov ecx,esi mov [esi+000000D0h],ebx call SUB_L0043C670 mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] mov eax,[edx+04h] push ecx mov ecx,[esi+0000010Ch] add eax,00000004h add ecx,00000004h push eax push ecx call SUB_L004B95C0 lea edx,[esp+1Ch] lea eax,[esp+20h] push edx push eax push 0000139Ch call SUB_L004434A0 mov edx,[esp+2Ch] mov ecx,[esp+28h] mov ebp,[esp+4Ch] add esp,00000018h sar edx,1 sar ecx,1 cmp ebp,ebx mov [esp+14h],edx mov [esp+10h],ecx jl L0043BF65 cmp ebp,[esi+20h] jge L0043BF65 mov ebx,[esp+38h] test ebx,ebx jl L0043BF65 cmp ebx,[esi+24h] jge L0043BF65 cmp byte ptr [esi+000000E8h],01h jc L0043BE82 mov ecx,[esi+3Ch] movsx eax,[esi+000000EEh] mov edx,[ecx+04h] movsx ecx,[esi+000000ECh] push edx push eax push ecx push ebx push ebp call SUB_L004423E0 mov edx,[esi+3Ch] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h movsx ecx,[esi+000000ECh] push edx mov edx,[esp+2Ch] push eax movsx eax,[esi+000000EEh] sub eax,edx push eax mov eax,[esp+38h] sub ecx,eax push ecx push 0000139Ch push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+00000104h] lea eax,[esp+48h] push edx push L004FF074 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+5Ch] lea edi,[esp+54h] push ecx mov ecx,[eax+04h] movsx eax,[esi+000000EEh] push edx add ecx,00000004h lea edx,[esp+5Ch] push ecx push edx push 00000000h sub eax,00000005h push 00000003h push eax or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi+000000ECh] not ecx dec ecx shl ecx,04h sub edx,ecx push edx call SUB_L004410C0 add esp,0000005Ch L0043BE82: cmp byte ptr [esi+000000E8h],02h jc L0043BF4F mov eax,[esi+3Ch] movsx edx,[esi+000000FAh] mov ecx,[eax+04h] movsx eax,[esi+000000F8h] push ecx push edx push eax push ebx push ebp call SUB_L004423E0 mov ecx,[esi+3Ch] xor edx,edx mov edi,[esp+28h] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h movsx edx,[esi+000000FAh] push ecx mov ecx,[esp+2Ch] push eax sub edx,ecx movsx eax,[esi+000000F8h] sub eax,edi push edx push eax push 0000139Ch push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+00000108h] lea edx,[esp+48h] push ecx push L004FF074 push edx call SUB_L004D512F mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+5Ch] lea edi,[esp+54h] push eax mov eax,[edx+04h] movsx edx,[esi+000000FAh] push ecx add eax,00000004h lea ecx,[esp+5Ch] push eax push ecx or ecx,FFFFFFFFh xor eax,eax sub edx,00000005h repne scasb movsx eax,[esi+000000F8h] not ecx dec ecx push 00000000h shl ecx,04h push 00000003h sub eax,ecx push edx push eax call SUB_L004410C0 add esp,0000005Ch L0043BF4F: mov dword ptr [esi+000000C8h],00000001h mov [esi+000000E0h],ebp mov [esi+000000E4h],ebx L0043BF65: pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ Align 4 L0043BF70: sub esp,00000028h push ebx push ebp push esi push edi mov edi,ecx mov dword ptr [esp+2Ch],0000000Ah mov [esp+10h],edi mov eax,[edi+000000D4h] test eax,eax jz L0043C246 mov eax,[edi+38h] cmp dword ptr [eax+000000B0h],00000032h jge L0043C246 mov esi,[eax+000000ACh] lea eax,[esp+24h] lea ecx,[esp+20h] push eax push ecx push 0000139Ch call SUB_L004434A0 mov ebx,[esp+2Ch] mov ebp,[esp+30h] add esp,0000000Ch mov eax,esi sar ebx,1 sar ebp,1 test esi,esi mov [esp+20h],ebx mov [esp+24h],ebp jz L0043C010 L0043BFDA: movsx ecx,[eax] mov edx,[esp+3Ch] mov edi,ecx sub edi,ebx cmp edx,edi jl L0043C005 add ecx,ebx cmp edx,ecx jg L0043C005 movsx ecx,[eax+02h] mov edx,[esp+40h] mov edi,ecx sub edi,ebp cmp edx,edi jl L0043C005 add ecx,ebp cmp edx,ecx jle L0043C026 L0043C005: mov eax,[eax+08h] test eax,eax jnz L0043BFDA mov edi,[esp+10h] L0043C010: mov eax,esi xor ebx,ebx test esi,esi mov [esp+18h],eax mov [esp+1Ch],ebx jz L0043C221 jmp L0043C063 L0043C026: push 00000000h call SUB_L004D0FB0 mov ecx,[esp+14h] add esp,00000004h mov eax,[ecx+000000D0h] test eax,eax jz L0043C250 mov dword ptr [ecx+000000D0h],00000000h call SUB_L0043C670 pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0008h ;------------------------------------------------------------------------------ L0043C05B: mov eax,[esp+18h] mov ebx,[esp+1Ch] L0043C063: mov edx,[eax+08h] test edx,edx mov [esp+14h],edx jz L0043C1A9 movsx ebx,[eax] movsx esi,[edx] movsx ebp,[eax+02h] movsx eax,[edx+02h] cmp ebx,esi mov [esp+34h],esi mov ecx,ebx jl L0043C08C mov ecx,esi L0043C08C: add ecx,FFFFFFF7h cmp [esp+3Ch],ecx jl L0043C197 cmp ebx,esi mov ecx,esi jl L0043C0A1 mov ecx,ebx L0043C0A1: add ecx,00000009h cmp [esp+3Ch],ecx jg L0043C197 cmp ebp,eax mov ecx,ebp jl L0043C0B6 mov ecx,eax L0043C0B6: mov edi,[esp+40h] add ecx,FFFFFFF7h cmp edi,ecx jl L0043C193 cmp ebp,eax mov ecx,eax jl L0043C0CD mov ecx,ebp L0043C0CD: add ecx,00000009h cmp edi,ecx jg L0043C193 mov edi,eax sub esi,ebx sub edi,ebp mov edx,esi mov eax,edi imul edx,esi imul eax,edi add edx,eax mov [esp+28h],edx fild dword ptr [esp+28h] fsqrt call SUB_L004D5008 mov edx,[esp+40h] mov [esp+28h],eax mov eax,[esp+3Ch] mov ecx,ebx sub ecx,eax mov eax,ebp sub eax,edx mov edx,ecx mov [esp+30h],eax imul eax,esi imul edx,edi imul ecx,esi sub eax,edx cdq idiv [esp+28h] cdq mov ebp,eax mov eax,[esp+18h] xor ebp,edx movsx eax,[eax+02h] sub ebp,edx mov edx,[esp+14h] movsx edx,[edx+02h] sub eax,edx imul eax,[esp+30h] sub eax,ecx mov ecx,[esp+28h] cdq idiv ecx cmp eax,ecx jge L0043C189 mov eax,[esp+34h] mov esi,[esp+3Ch] sub ebx,eax sub eax,esi mov edx,[esp+40h] imul ebx,eax mov eax,[esp+14h] movsx eax,[eax+02h] sub eax,edx imul eax,edi sub eax,ebx cdq idiv ecx cmp eax,ecx jge L0043C189 cmp ebp,[esp+2Ch] jge L0043C189 mov ecx,[esp+18h] mov [esp+2Ch],ebp mov [esp+1Ch],ecx L0043C189: mov edi,[esp+10h] mov edx,[esp+14h] jmp L0043C197 L0043C193: mov edi,[esp+10h] L0043C197: mov eax,edx test eax,eax mov [esp+18h],eax jnz L0043C05B mov ebx,[esp+1Ch] L0043C1A9: test ebx,ebx jz L0043C221 push 00000000h call SUB_L004D0FB0 mov esi,[ebx+08h] add esp,00000004h movsx edx,[ebx] movsx eax,[esi] add eax,edx cdq sub eax,edx movsx edx,[ebx+02h] mov ecx,eax movsx eax,[esi+02h] add eax,edx cdq sub eax,edx mov edx,[edi+000000D0h] sar ecx,1 sar eax,1 test edx,edx jz L0043C1F8 movsx edx,[edi+000000D8h] cmp edx,ecx jnz L0043C1F8 movsx edx,[edi+000000DAh] cmp edx,eax jz L0043C250 L0043C1F8: mov [edi+000000D8h],cx mov ecx,edi mov dword ptr [edi+000000D0h],00000001h mov [edi+000000DAh],ax call SUB_L0043C670 pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0008h ;------------------------------------------------------------------------------ L0043C221: mov eax,[edi+000000D0h] test eax,eax jz L0043C250 mov ecx,edi mov dword ptr [edi+000000D0h],00000000h call SUB_L0043C670 pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0008h ;------------------------------------------------------------------------------ L0043C246: push 00000000h call SUB_L004D0FB0 add esp,00000004h L0043C250: pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043C260: sub esp,00000020h push ebx push ebp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+20h] mov ecx,[esi+24h] mov [esp+28h],eax mov eax,[esi+000000BCh] cmp eax,edi mov [esp+20h],edi mov [esp+24h],edi mov [esp+2Ch],ecx jz L0043C5B5 cmp [esi+000000C8h],edi jz L0043C31B cmp byte ptr [esi+000000E8h],01h jc L0043C2D8 mov edx,[esi+0000010Ch] mov eax,[esi+3Ch] push edx mov ecx,[eax+04h] movsx edx,[esi+000000EEh] movsx eax,[esi+000000ECh] push ecx mov ecx,[esi+000000E4h] push edx mov edx,[esi+000000E0h] push eax push ecx push edx call SUB_L00442750 add esp,00000018h L0043C2D8: cmp byte ptr [esi+000000E8h],02h jc L0043C315 mov eax,[esi+0000010Ch] mov ecx,[esi+3Ch] push eax mov edx,[ecx+04h] movsx eax,[esi+000000FAh] movsx ecx,[esi+000000F8h] push edx mov edx,[esi+000000E4h] push eax mov eax,[esi+000000E0h] push ecx push edx push eax call SUB_L00442750 add esp,00000018h L0043C315: mov [esi+000000C8h],edi L0043C31B: mov ebp,[esp+34h] mov ebx,[esp+38h] cmp ebp,edi jl L0043C546 cmp ebp,[esi+20h] jge L0043C546 cmp ebx,edi jl L0043C546 cmp ebx,[esi+24h] jge L0043C546 cmp [esi+000000C0h],edi jz L0043C366 cmp [esi+000000CCh],edi jnz L0043C366 mov ecx,esi mov dword ptr [esi+000000CCh],00000001h call SUB_L0043C670 L0043C366: lea ecx,[esp+10h] lea edx,[esp+14h] push ecx push edx push 0000139Ch call SUB_L004434A0 mov edx,[esp+20h] mov ecx,[esp+1Ch] mov al,[esi+000000E8h] add esp,0000000Ch sar edx,1 sar ecx,1 cmp al,01h mov [esp+14h],edx mov [esp+10h],ecx jc L0043C460 mov eax,[esi+3Ch] movsx edx,[esi+000000EEh] mov ecx,[eax+04h] movsx eax,[esi+000000ECh] push ecx push edx push eax push ebx push ebp call SUB_L004423E0 mov ecx,[esi+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx movsx edx,[esi+000000EEh] mov ecx,[esp+2Ch] add eax,00000004h push eax sub edx,ecx movsx eax,[esi+000000ECh] push edx mov edx,[esp+38h] sub eax,edx push eax push 0000139Ch push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+00000104h] lea edx,[esp+48h] push ecx push L004FF074 push edx call SUB_L004D512F mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+5Ch] push eax mov eax,[edx+04h] movsx edx,[esi+000000EEh] push ecx add eax,00000004h lea ecx,[esp+5Ch] push eax push ecx push edi lea edi,[esp+68h] or ecx,FFFFFFFFh xor eax,eax sub edx,00000005h repne scasb movsx eax,[esi+000000ECh] not ecx dec ecx push 00000003h shl ecx,04h sub eax,ecx push edx push eax call SUB_L004410C0 add esp,0000005Ch xor edi,edi L0043C460: cmp byte ptr [esi+000000E8h],02h jc L0043C52E mov ecx,[esi+3Ch] movsx eax,[esi+000000FAh] mov edx,[ecx+04h] movsx ecx,[esi+000000F8h] push edx push eax push ecx push ebx push ebp call SUB_L004423E0 mov edx,[esi+3Ch] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h movsx ecx,[esi+000000F8h] push edx mov edx,[esp+2Ch] push eax movsx eax,[esi+000000FAh] sub eax,edx push eax mov eax,[esp+38h] sub ecx,eax push ecx push 0000139Ch push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+00000108h] lea eax,[esp+48h] push edx push L004FF074 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+5Ch] push ecx mov ecx,[eax+04h] movsx eax,[esi+000000FAh] push edx add ecx,00000004h lea edx,[esp+5Ch] push ecx push edx push edi sub eax,00000005h push 00000003h push eax lea edi,[esp+70h] or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[esi+000000F8h] not ecx dec ecx shl ecx,04h sub edx,ecx push edx call SUB_L004410C0 add esp,0000005Ch xor edi,edi L0043C52E: mov dword ptr [esi+000000C8h],00000001h mov [esi+000000E0h],ebp mov [esi+000000E4h],ebx jmp L0043C55C L0043C546: cmp dword ptr [esi+000000CCh],00000001h jnz L0043C55C mov ecx,esi mov [esi+000000CCh],edi call SUB_L0043C670 L0043C55C: cmp [esi+000000A4h],edi jz L0043C5E8 cmp [esi+000000B0h],edi jbe L0043C5E8 mov edx,[esi+70h] mov eax,ebp sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L0043C592 mov edx,[esi+74h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L0043C5E8 L0043C592: push ebx push ebp mov ecx,esi mov dword ptr [esi+0000009Ch],00000001h mov [esi+000000B0h],edi call SUB_L0043BB80 pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ L0043C5B5: push edi call SUB_L004D0FB0 mov eax,[esi+000000A4h] add esp,00000004h cmp eax,edi jz L0043C5E8 mov eax,[esp+38h] mov ebx,[esi+74h] mov ecx,[esp+34h] mov edx,[esi+70h] push 00000001h push edi sub eax,ebx push 00000001h sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00457800 L0043C5E8: pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043C600: 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 L0043C666 sub edi,[esi+000000ACh] cmp edi,eax jbe L0043C666 mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jnz L0043C651 mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L0043B980 pop edi pop esi retn ;------------------------------------------------------------------------------ L0043C651: mov edx,[esi+74h] mov eax,[esi+70h] mov [esi+0000009Ch],ecx push edx push eax mov ecx,esi call SUB_L0043BB80 L0043C666: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043C670: mov eax,fs:[00000000h] push FFFFFFFFh push L004E217E push eax mov fs:[00000000h],esp sub esp,00000470h push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+54h] mov [esi+000000C8h],ebx cmp eax,0000139Dh jnz L0043CC48 mov eax,[esi+3Ch] push ebx mov ecx,[eax+04h] push ecx push 00001432h call SUB_L0042BB70 mov edx,[esi+00000128h] imul edx,[esi+0000012Ch] push edx call SUB_L004D5A3E mov ecx,[esi+00000128h] mov edi,eax imul ecx,[esi+0000012Ch] mov edx,ecx xor eax,eax shr ecx,02h mov [esp+34h],edi mov [esp+30h],edi rep stosd mov ecx,edx push 00000014h and ecx,00000003h rep stosb call SUB_L004D4FA9 mov edi,eax add esp,00000014h mov [esp+40h],edi cmp edi,ebx mov [esp+00000488h],ebx jz L0043C729 push SSZ005011A8_multimap_rle call SUB_L0047C110 add esp,00000004h mov ecx,edi push eax call SUB_L004CBF10 mov [esp+2Ch],eax jmp L0043C72D L0043C729: mov [esp+2Ch],ebx L0043C72D: mov ecx,[esp+2Ch] mov dword ptr [esp+00000488h],FFFFFFFFh call SUB_L004CC050 mov ecx,[eax+04h] mov ebp,[eax] mov edx,ecx add eax,00000008h imul edx,ebp mov [esp+34h],edx mov edx,[esi+00000118h] imul edx,ebp mov [esp+50h],eax mov eax,66666667h imul edx sar edx,0Bh mov eax,edx mov [esp+44h],ebx shr eax,1Fh add edx,eax mov eax,[esi+0000011Ch] imul eax,ecx mov [esp+10h],ebx mov ebx,edx cdq and edx,00000FFFh xor edi,edi add eax,edx mov edx,[esi+00000120h] imul edx,ebp sar eax,0Ch mov [esp+28h],eax mov eax,66666667h imul edx sar edx,0Bh mov eax,edx mov [esp+38h],ebp shr eax,1Fh add edx,eax mov eax,[esi+00000124h] imul eax,ecx mov [esp+4Ch],edx mov [esp+3Ch],ebx mov ecx,[esp+4Ch] cdq and edx,00000FFFh add eax,edx sar eax,0Ch sub ecx,ebx mov [esp+54h],eax jnz L0043C7E1 mov ecx,00000001h L0043C7E1: mov eax,[esi+00000128h] shl eax,08h cdq idiv ecx mov ecx,[esp+54h] mov [esp+64h],eax mov eax,[esp+28h] sub ecx,eax jnz L0043C802 mov ecx,00000001h L0043C802: mov eax,[esi+0000012Ch] shl eax,08h cdq idiv ecx mov edx,00000001h mov [esp+14h],edx mov [esp+30h],eax mov eax,[esp+34h] test eax,eax jle L0043C930 L0043C827: mov ecx,[esp+50h] mov al,[ecx] inc ecx mov [esp+50h],ecx mov cl,al and ecx,0000007Fh test al,80h mov [esp+40h],ecx jz L0043C909 test ecx,ecx jle L0043C91A mov eax,[esp+30h] mov [esp+48h],ecx mov ebp,eax imul ebp,[esp+10h] imul eax,[esp+28h] mov [esp+60h],eax jmp L0043C869 L0043C865: mov eax,[esp+60h] L0043C869: cmp edi,ebx jl L0043C8D2 cmp edi,[esp+4Ch] jge L0043C8D2 mov ecx,[esp+10h] mov edx,[esp+28h] cmp ecx,edx jl L0043C8D2 cmp ecx,[esp+54h] jge L0043C8D2 mov edx,ebp mov ecx,edi sub edx,eax sub ecx,ebx imul ecx,[esp+64h] sar edx,08h imul edx,[esi+00000128h] sar ecx,08h add ecx,edx mov edx,[esp+24h] mov al,[ecx+edx] mov edx,eax and edx,000000FFh cmp edx,000000FFh jge L0043C8D2 mov ebx,[esp+24h] inc al mov [ecx+ebx],al mov eax,[esp+14h] cmp edx,eax jnz L0043C8CE inc eax mov [esp+14h],eax L0043C8CE: mov ebx,[esp+3Ch] L0043C8D2: mov eax,[esp+38h] inc edi cmp edi,eax jnz L0043C8EC mov ecx,[esp+10h] mov eax,[esp+30h] xor edi,edi inc ecx mov [esp+10h],ecx add ebp,eax L0043C8EC: mov eax,[esp+48h] dec eax mov [esp+48h],eax jnz L0043C865 mov ebp,[esp+38h] mov ecx,[esp+40h] mov edx,[esp+14h] jmp L0043C91A L0043C909: add edi,ecx cmp edi,ebp jl L0043C91A mov eax,[esp+10h] sub edi,ebp inc eax mov [esp+10h],eax L0043C91A: mov eax,[esp+44h] add eax,ecx mov ecx,[esp+34h] cmp eax,ecx mov [esp+44h],eax jl L0043C827 L0043C930: cmp edx,00000001h jl L0043C965 mov ecx,edx lea edi,[esp+00000084h] shl ecx,05h sub ecx,edx mov ebx,edx sub ecx,0000001Fh L0043C948: mov eax,ecx sub ecx,0000001Fh cdq idiv [esp+14h] xor edx,edx add edi,00000004h dec ebx mov dx,[L00C4A488+eax*2] mov [edi-04h],edx jnz L0043C948 L0043C965: mov al,[L00C8C4A4] test al,al jz L0043C999 mov edx,[esp+14h] cmp edx,00000001h jle L0043C999 lea ecx,[esp+00000084h] dec edx L0043C97F: mov eax,[ecx] add ecx,00000004h mov edi,eax and eax,0000001Fh and edi,00007FE0h shl edi,1 or edi,eax dec edx mov [ecx-04h],edi jnz L0043C97F L0043C999: mov eax,[esi+3Ch] xor edi,edi mov ecx,[eax+04h] xor eax,eax mov ax,[ecx] mov edx,eax shl edx,05h sub edx,eax mov eax,[esi+0000012Ch] test eax,eax lea ecx,[ecx+edx*2+34h] jle L0043CA06 L0043C9BB: mov eax,[esi+00000128h] xor edx,edx test eax,eax jle L0043C9F8 L0043C9C7: mov eax,[esp+20h] mov al,[eax] test al,al jz L0043C9E1 and eax,000000FFh mov ax,[esp+eax*4+00000080h] mov [ecx],ax L0043C9E1: mov eax,[esp+20h] add ecx,00000002h inc eax inc edx mov [esp+20h],eax mov eax,[esi+00000128h] cmp edx,eax jl L0043C9C7 L0043C9F8: mov eax,[esi+0000012Ch] add ecx,00000058h inc edi cmp edi,eax jl L0043C9BB L0043CA06: mov ecx,[esp+24h] push ecx call SUB_L004D59F6 mov edi,[esp+30h] add esp,00000004h mov ecx,edi call SUB_L004CC010 test edi,edi jz L0043CA32 mov ecx,edi call SUB_L004CBFB0 push edi call SUB_L004D4F9E add esp,00000004h L0043CA32: xor ebx,ebx L0043CA34: lea eax,[esp+1Ch] lea ecx,[esp+18h] push eax push ecx push 0000139Ch call SUB_L004434A0 mov edx,[esp+24h] mov ecx,[esp+28h] mov eax,[esi+24h] mov [esp+7Ch],ebx sar edx,1 sar ecx,1 mov [esp+24h],edx mov edx,[esi+20h] mov [esp+28h],ecx mov ecx,[esi+38h] mov [esp+00000080h],ebx mov [esp+00000084h],edx mov [esp+00000088h],eax mov edi,[ecx+000000ACh] add esp,0000000Ch cmp edi,ebx jz L0043CB91 mov eax,[edi+08h] cmp eax,ebx jz L0043CAD6 L0043CA96: cmp [esi+000000CCh],ebx jz L0043CAA6 cmp edi,[esi+000000C0h] jz L0043CACC L0043CAA6: mov edx,[esi+3Ch] mov ecx,[edx+04h] movsx edx,[eax+02h] movsx eax,[eax] push ecx push 00007FFFh movsx ecx,[edi+02h] push edx push eax movsx edx,[edi] push ecx push edx call SUB_L00442130 add esp,00000018h L0043CACC: mov edi,[edi+08h] mov eax,[edi+08h] cmp eax,ebx jnz L0043CA96 L0043CAD6: mov eax,[esi+38h] mov ebx,00000001h mov ebp,[eax+000000ACh] test ebp,ebp jz L0043CB8F L0043CAEC: mov ecx,[esi+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h movsx edx,[ebp+02h] push ecx push eax sub edx,[esp+28h] movsx eax,[ebp+00h] push edx mov edx,[esp+28h] sub eax,edx push eax push 0000139Ch push SUB_L004B9B80 call SUB_L00443500 push ebx lea ecx,[esp+78h] push L004FF074 push ecx call SUB_L004D512F mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+00000098h] lea edi,[esp+00000080h] push edx mov edx,[ecx+04h] movsx ecx,[ebp+02h] push eax add edx,00000004h lea eax,[esp+00000088h] push edx push eax push 00000000h sub ecx,00000005h push 00000003h push ecx or ecx,FFFFFFFFh xor eax,eax repne scasb movsx edx,[ebp+00h] not ecx dec ecx shl ecx,04h sub edx,ecx push edx call SUB_L004410C0 mov ebp,[ebp+08h] add esp,00000048h inc ebx test ebp,ebp jnz L0043CAEC L0043CB8F: xor ebx,ebx L0043CB91: cmp [esi+000000D0h],ebx jz L0043CBDE mov eax,[esi+3Ch] xor ecx,ecx xor edx,edx mov ebx,[esp+18h] mov eax,[eax+04h] mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esp+20h] add eax,00000004h push edx push eax movsx eax,[esi+000000DAh] sub eax,ecx movsx ecx,[esi+000000D8h] sub ecx,ebx push eax push ecx push 0000139Ch push L004B9BB0 call SUB_L00443500 add esp,0000001Ch L0043CBDE: lea edx,[esp+68h] lea eax,[esp+6Ch] push edx push eax push 0000139Dh call SUB_L004434A0 mov ecx,[esi+3Ch] mov esi,[esp+74h] mov ebx,[esp+78h] xor eax,eax mov edx,[ecx+04h] xor ecx,ecx mov ax,[edx+02h] mov cx,[edx] push eax push ecx sub eax,esi add edx,00000004h sub ecx,ebx sub eax,00000022h push edx sub ecx,0000001Ah push eax push ecx push 0000139Dh push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+000004A8h] add esp,00000028h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000047Ch retn ;------------------------------------------------------------------------------ L0043CC48: mov edx,[esi+3Ch] mov ecx,[edx+04h] xor edx,edx mov dx,[ecx+02h] add ecx,00000004h push edx xor edx,edx mov dx,[ecx-04h] push edx push ecx push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0043CA34 Align 16 L0043CC80: sub esp,00000028h push esi mov esi,ecx lea eax,[esp+04h] push edi lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000000h call SUB_L00457C90 mov eax,[esi+64h] test eax,eax jnz L0043CCB7 mov edx,[esi+3Ch] mov eax,[edx+04h] jmp L0043CCBD L0043CCB7: mov eax,[esi+3Ch] mov eax,[eax+0Ch] L0043CCBD: mov ecx,[esp+0Ch] mov edx,[esp+08h] xor edi,edi mov [esp+10h],ecx mov [esp+14h],edx mov di,[eax] add edi,ecx xor ecx,ecx mov [esp+18h],edi mov cx,[eax+02h] mov edi,[esp+34h] add ecx,edx lea edx,[esp+10h] mov [esp+1Ch],ecx push edx push edi call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0043CD6C lea eax,[esp+20h] lea ecx,[esp+10h] push eax push ecx push edi call SUB_L00457DF0 mov edx,[esi+3Ch] mov ecx,[L005073D4] push ecx mov ecx,[L00B189FC] mov eax,[edx+04h] mov edx,[L005073D0] push edx mov edx,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx xor edx,edx mov dx,[eax+02h] push ecx xor ecx,ecx push edx mov cx,[eax] lea edx,[esp+44h] push ecx add eax,00000004h push edx push eax push SUB_L004B9B80 call SUB_L00443960 mov esi,[esi+50h] add esp,00000034h test esi,esi jz L0043CD6C L0043CD59: mov eax,[esi] lea ecx,[esp+20h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0043CD59 L0043CD6C: pop edi pop esi add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0043CD80: mov eax,[ecx+64h] test eax,eax jnz L0043CD8F mov eax,[ecx+3Ch] mov ecx,[eax+04h] jmp L0043CD95 L0043CD8F: mov ecx,[ecx+3Ch] mov ecx,[ecx+0Ch] L0043CD95: mov edx,[esp+04h] xor eax,eax mov ax,[ecx] push esi test edx,edx jl L0043CDD0 mov esi,[esp+0Ch] test esi,esi jl L0043CDD0 cmp edx,eax jge L0043CDD0 push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L0043CDD0 imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2+04h],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L0043CDD0: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043CDE0: push FFFFFFFFh push L004E219B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx xor ebx,ebx mov [esp+08h],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_L004BCDA0 lea ecx,[esi+0000009Ch] mov [esp+14h],ebx call SUB_L00443B00 mov ecx,[esp+0Ch] mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043CE40: mov eax,[ecx+0Ch] test eax,eax jz L0043CE66 mov ecx,[eax-04h] push esi lea esi,[eax-04h] push SUB_L0043D940 push ecx push 00000024h push eax call SUB_L004D53BE push esi call SUB_L004D4F9E add esp,00000004h pop esi L0043CE66: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043CE70: sub esp,00000010h push esi mov esi,ecx lea ecx,[esi+0Ch] call SUB_L0043D2D0 test al,al jz L0043CF20 push edi lea edi,[esi+14h] mov ecx,edi call SUB_L00401E90 call SUB_L004CCBC0 push 00000000h push 00000001h mov ecx,edi call SUB_L004BCDB0 push eax call SUB_L004CC770 mov al,[esi+08h] add esp,0000000Ch test al,al pop edi jnz L0043CEC0 L0043CEB2: mov ecx,esi call SUB_L0043CF30 mov al,[esi+08h] test al,al jz L0043CEB2 L0043CEC0: call SUB_L004CCBC0 mov dword ptr [esp+04h],00000000h mov dword ptr [esp+08h],00000000h mov dword ptr [esp+0Ch],00000280h mov dword ptr [esp+10h],000001E0h call SUB_L0047D300 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax push ecx push edx push 00000000h lea eax,[esp+14h] push 00000000h push eax push 0000157Ch push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h mov al,01h pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L0043CF20: xor al,al pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043CF30: sub esp,00000024h push ebx push ebp push esi mov esi,ecx push edi mov dword ptr [esp+14h],00000001h lea edi,[esi+0000009Ch] xor ebp,ebp mov ecx,edi mov [esp+10h],edi call SUB_L00443B60 test al,al mov ecx,edi jz L0043CF66 call SUB_L00443B70 inc eax mov [esp+14h],eax jmp L0043CF6D L0043CF66: call SUB_L00443B90 mov ebp,eax L0043CF6D: mov al,[esi+08h] mov ebx,[USER32.dll!PeekMessageA] test al,al jnz L0043D04C jmp L0043CF84 L0043CF80: mov edi,[esp+10h] L0043CF84: test ebp,ebp jle L0043D04C cmp ebp,00000014h mov edi,00000014h jg L0043CF98 mov edi,ebp L0043CF98: push edi call [KERNEL32.dll!Sleep] mov al,[esi+08h] sub ebp,edi test al,al jnz L0043D048 push 00000001h push 00000000h push 00000000h lea eax,[esp+24h] push 00000000h push eax call ebx mov eax,[esp+1Ch] cmp eax,00000100h ja L0043CFE7 jz L0043D003 mov ecx,eax sub ecx,00000002h jz L0043CFD9 sub ecx,0000000Eh jz L0043CFD9 sub ecx,00000002h jnz L0043D010 L0043CFD9: push 00000001h mov byte ptr [esi+08h],01h call [KERNEL32.dll!ExitProcess] jmp L0043D03D L0043CFE7: cmp eax,00000205h ja L0043D009 cmp eax,00000204h jnc L0043D003 cmp eax,00000201h jc L0043D010 cmp eax,00000202h ja L0043D010 L0043D003: mov byte ptr [esi+08h],01h jmp L0043D03D L0043D009: cmp eax,000003B9h jz L0043D028 L0043D010: mov ecx,[esp+24h] mov edx,[esp+20h] push ecx push edx push eax mov eax,[esp+24h] push eax call [USER32.dll!DefWindowProcA] jmp L0043D03D L0043D028: push 00000000h push 00000001h lea ecx,[esi+14h] call SUB_L004BCDC0 push eax call SUB_L004CC770 add esp,0000000Ch L0043D03D: mov al,[esi+08h] test al,al jz L0043CF80 L0043D048: mov edi,[esp+10h] L0043D04C: mov al,[esi+08h] test al,al jnz L0043D179 push 00000001h push 00000000h push 00000000h lea ecx,[esp+24h] push 00000000h push ecx call ebx mov eax,[esp+1Ch] cmp eax,00000100h ja L0043D092 jz L0043D0AE mov ecx,eax sub ecx,00000002h jz L0043D084 sub ecx,0000000Eh jz L0043D084 sub ecx,00000002h jnz L0043D0BB L0043D084: push 00000001h mov byte ptr [esi+08h],01h call [KERNEL32.dll!ExitProcess] jmp L0043D0E8 L0043D092: cmp eax,00000205h ja L0043D0B4 cmp eax,00000204h jnc L0043D0AE cmp eax,00000201h jc L0043D0BB cmp eax,00000202h ja L0043D0BB L0043D0AE: mov byte ptr [esi+08h],01h jmp L0043D0E8 L0043D0B4: cmp eax,000003B9h jz L0043D0D3 L0043D0BB: mov edx,[esp+24h] mov ecx,[esp+20h] push edx mov edx,[esp+1Ch] push ecx push eax push edx call [USER32.dll!DefWindowProcA] jmp L0043D0E8 L0043D0D3: push 00000000h push 00000001h lea ecx,[esi+14h] call SUB_L004BCDC0 push eax call SUB_L004CC770 add esp,0000000Ch L0043D0E8: mov al,[esi+08h] test al,al jnz L0043D179 mov ecx,edi call SUB_L00443B20 mov eax,[esp+14h] test eax,eax jle L0043D15F mov edi,eax L0043D104: mov ecx,[esi] mov edx,[esi+10h] xor eax,eax cmp ecx,edx jge L0043D11F mov ebx,[esi+0Ch] lea edx,[ecx+ecx*8] lea edx,[ebx+edx*4] test edx,edx jz L0043D11F mov eax,[edx+1Ch] L0043D11F: mov edx,[esi+04h] lea ebx,[eax+000001E0h] inc edx cmp edx,ebx mov [esi+04h],edx jl L0043D158 inc ecx mov [esi],ecx mov edx,[esi+10h] cmp ecx,edx jge L0043D154 mov edx,[esi+0Ch] lea ecx,[ecx+ecx*8] lea ecx,[edx+ecx*4] test ecx,ecx jz L0043D154 sub eax,[ecx+1Ch] add eax,000001E0h mov [esi+04h],eax jmp L0043D158 L0043D154: mov byte ptr [esi+08h],01h L0043D158: dec edi jnz L0043D104 mov edi,[esp+10h] L0043D15F: mov ecx,esi call SUB_L0043D190 call SUB_L004D1050 mov ecx,edi call SUB_L00443B30 mov ecx,edi call SUB_L00443B40 L0043D179: pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043D190: sub esp,0000002Ch mov eax,[L005073D4] mov edx,[L00B189FC] push ebx push ebp push esi mov esi,ecx mov ecx,[L005073D0] push edi push eax xor ebp,ebp push ecx push edx push ebp lea eax,[esp+2Ch] push ebp push eax mov edi,000001E0h push 00000500h push SUB_L004B95C0 mov [esp+38h],esi mov [esp+3Ch],ebp mov dword ptr [esp+44h],00000280h mov [esp+40h],ebp mov [esp+48h],edi call SUB_L004436C0 mov eax,[esi] mov ebx,[esi+04h] add esp,00000020h sub edi,ebx lea ecx,[eax+eax*8] mov [esp+10h],eax shl ecx,02h mov [esp+14h],ecx jmp L0043D20A L0043D1FC: mov esi,[esp+18h] mov eax,[esp+10h] mov ecx,[esp+14h] xor ebp,ebp L0043D20A: cmp eax,[esi+10h] jge L0043D2BB mov esi,[esi+0Ch] add esi,ecx jz L0043D2BB mov ecx,[esi+18h] mov eax,00000280h sub eax,ecx mov [esp+2Ch],ebp cdq sub eax,edx mov dword ptr [esp+34h],00000280h mov ebx,eax mov [esp+30h],ebp sar ebx,1 mov dword ptr [esp+38h],000001E0h call SUB_L004C5630 mov ebp,eax mov eax,[esi+14h] cmp ebp,eax jz L0043D25E push eax call SUB_L004C5640 add esp,00000004h L0043D25E: mov edx,[esi+10h] lea ecx,[esp+2Ch] push ecx push edx push edi push ebx mov ecx,esi call SUB_L004C8360 mov ecx,[L00B189FC] push eax mov eax,[L005073D0] push eax push ecx call SUB_L004C6100 mov eax,[esi+14h] add esp,0000001Ch cmp ebp,eax jz L0043D296 push ebp call SUB_L004C5640 add esp,00000004h L0043D296: mov ebx,[esi+1Ch] mov edx,[esp+10h] mov ecx,[esp+14h] add edi,ebx inc edx add ecx,00000024h cmp edi,000001E0h mov [esp+10h],edx mov [esp+14h],ecx jl L0043D1FC L0043D2BB: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043D2D0: push FFFFFFFFh push L004E21FE mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000078h push ebx push ebp push esi push edi push L00501200 mov [esp+14h],ecx push SSZ005011F4_credits_dat call SUB_L0043FEF0 mov ebp,eax xor ebx,ebx add esp,00000008h cmp ebp,ebx jnz L0043D311 xor al,al jmp L0043D925 L0043D311: lea ecx,[esp+64h] call SUB_L004C8060 push L007049FC lea ecx,[esp+38h] mov [esp+00000094h],ebx call SUB_L004C8240 lea eax,[esp+34h] lea ecx,[esp+64h] push eax mov byte ptr [esp+00000094h],01h call SUB_L004C83F0 lea ecx,[esp+34h] mov [esp+00000090h],bl call SUB_L004C8100 mov ecx,[L005011B8] mov edx,[L00705100] mov [esp+74h],ecx mov [esp+78h],edx mov [esp+7Ch],ebx mov [esp+00000080h],ebx mov [esp+00000084h],ebx mov dword ptr [esp+00000090h],00000002h mov [esp+18h],ebx mov [esp+1Ch],ebx mov [esp+20h],ebx mov al,[ebp+0Ch] mov byte ptr [esp+00000090h],03h test al,10h jnz L0043D74A L0043D3A5: lea ecx,[esp+24h] call SUB_L004C8060 push ebp mov byte ptr [esp+00000094h],04h call SUB_L00472CE0 mov esi,eax add esp,00000004h cmp esi,ebx jz L0043D664 push esi lea ecx,[esp+48h] call SUB_L004C8240 lea eax,[esp+44h] lea ecx,[esp+24h] push eax mov byte ptr [esp+00000094h],05h call SUB_L004C83F0 lea ecx,[esp+44h] mov byte ptr [esp+00000090h],04h call SUB_L004C8100 push L00500EE0 push esi call SUB_L004D563E add esp,00000008h cmp eax,ebx jz L0043D664 mov esi,L005011F0 L0043D415: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D439 cmp cl,bl jz L0043D435 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D439 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D415 L0043D435: xor eax,eax jmp L0043D43E L0043D439: sbb eax,eax sbb eax,FFFFFFFFh L0043D43E: cmp eax,ebx jnz L0043D664 push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F L0043D45E: mov esi,SSZ005011E8_color mov eax,edi L0043D465: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D489 cmp cl,bl jz L0043D485 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D489 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D465 L0043D485: xor eax,eax jmp L0043D48E L0043D489: sbb eax,eax sbb eax,FFFFFFFFh L0043D48E: cmp eax,ebx jnz L0043D4BC push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F push edi call SUB_L0046AD40 add esp,00000004h mov [esp+74h],eax jmp L0043D63F L0043D4BC: mov esi,SSZ005011D8_defaultcolor mov eax,edi L0043D4C3: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D4E7 cmp cl,bl jz L0043D4E3 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D4E7 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D4C3 L0043D4E3: xor eax,eax jmp L0043D4EC L0043D4E7: sbb eax,eax sbb eax,FFFFFFFFh L0043D4EC: cmp eax,ebx jnz L0043D51F push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F push edi call SUB_L0046AD40 add esp,00000004h mov [esp+74h],eax mov [L005011B8],eax jmp L0043D63F L0043D51F: mov esi,SSZ005011D0_font mov eax,edi L0043D526: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D54A cmp cl,bl jz L0043D546 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D54A add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D526 L0043D546: xor eax,eax jmp L0043D54F L0043D54A: sbb eax,eax sbb eax,FFFFFFFFh L0043D54F: cmp eax,ebx jnz L0043D57D push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F push edi call SUB_L004D59EB add esp,00000004h mov [esp+78h],eax jmp L0043D63F L0043D57D: mov esi,SSZ005011C4_defaultfont mov eax,edi L0043D584: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D5A8 cmp cl,bl jz L0043D5A4 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D5A8 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D584 L0043D5A4: xor eax,eax jmp L0043D5AD L0043D5A8: sbb eax,eax sbb eax,FFFFFFFFh L0043D5AD: cmp eax,ebx jnz L0043D5DD push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F push edi call SUB_L004D59EB add esp,00000004h mov [esp+78h],eax mov [L00705100],eax jmp L0043D63F L0043D5DD: mov esi,SSZ005011BC_song mov eax,edi L0043D5E4: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0043D608 cmp cl,bl jz L0043D604 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0043D608 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0043D5E4 L0043D604: xor eax,eax jmp L0043D60D L0043D608: sbb eax,eax sbb eax,FFFFFFFFh L0043D60D: cmp eax,ebx jnz L0043D63F push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jz L0043D72F push edi call SUB_L004D59EB add esp,00000004h push eax mov eax,[esp+14h] lea ecx,[eax+08h] call SUB_L004BCDF0 L0043D63F: cmp edi,ebx jz L0043D72F push L0050106C push ebx call SUB_L004D563E mov edi,eax add esp,00000008h cmp edi,ebx jnz L0043D45E jmp L0043D72F L0043D664: lea ecx,[esp+24h] push ecx lea ecx,[esp+68h] call SUB_L004C83F0 mov eax,[esp+1Ch] cmp eax,ebx jz L0043D686 push eax lea ecx,[esp+1Ch] call SUB_L0043DB70 jmp L0043D6C4 L0043D686: push 0000000Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+00000090h],06h jz L0043D6A9 mov ecx,eax call SUB_L0043DBE0 jmp L0043D6AB L0043D6A9: xor eax,eax L0043D6AB: mov ecx,[esp+20h] mov byte ptr [esp+00000090h],04h inc ecx mov [esp+1Ch],eax mov [esp+18h],eax mov [esp+20h],ecx L0043D6C4: cmp eax,ebx jz L0043D6D4 lea edx,[esp+64h] mov ecx,eax push edx call SUB_L0043DA80 L0043D6D4: push L007049FC lea ecx,[esp+58h] call SUB_L004C8240 lea eax,[esp+54h] lea ecx,[esp+64h] push eax mov byte ptr [esp+00000094h],07h call SUB_L004C83F0 lea ecx,[esp+54h] mov byte ptr [esp+00000090h],04h call SUB_L004C8100 mov ecx,[L005011B8] mov edx,[L00705100] mov [esp+74h],ecx mov [esp+78h],edx mov [esp+7Ch],ebx mov [esp+00000080h],ebx mov [esp+00000084h],ebx L0043D72F: lea ecx,[esp+24h] mov byte ptr [esp+00000090h],03h call SUB_L004C8100 test byte ptr [ebp+0Ch],10h jz L0043D3A5 L0043D74A: push ebp call SUB_L00440570 mov eax,[esp+24h] mov ecx,[esp+14h] add esp,00000004h cmp eax,ebx mov [ecx+04h],eax jg L0043D7B5 mov eax,[esp+18h] mov byte ptr [esp+00000090h],02h cmp eax,ebx jz L0043D79A L0043D772: lea edx,[esp+14h] push 00000001h push edx push eax lea ecx,[esp+24h] call SUB_L0043DC10 mov ecx,[esp+14h] mov esi,eax cmp ecx,ebx jz L0043D794 push 00000001h call SUB_L0043DBF0 L0043D794: cmp esi,ebx mov eax,esi jnz L0043D772 L0043D79A: lea ecx,[esp+64h] mov dword ptr [esp+00000090h],FFFFFFFFh call SUB_L004C8100 xor al,al jmp L0043D925 L0043D7B5: mov edi,eax lea eax,[eax+eax*8] lea ecx,[00000004h+eax*4] push ecx call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+00000090h],08h jz L0043D7F4 push SUB_L0043D940 push L0043D980 lea esi,[eax+04h] push edi push 00000024h push esi mov [eax],edi call SUB_L004D549C jmp L0043D7F6 L0043D7F4: xor esi,esi L0043D7F6: mov edx,[esp+10h] mov eax,[esp+18h] cmp eax,ebx mov byte ptr [esp+00000090h],03h mov [edx],esi mov edi,eax jz L0043D8AB xor esi,esi L0043D814: mov ebp,[esp+10h] mov eax,[edi+08h] mov ecx,esi push eax add ecx,[ebp+00h] call SUB_L004C83F0 mov eax,[edi+08h] mov ecx,[ebp+00h] mov edx,[eax+14h] mov [esi+ecx+14h],edx mov eax,[edi+08h] mov ecx,[ebp+00h] mov edx,[eax+10h] mov [esi+ecx+10h],edx call SUB_L004C5630 mov ebp,eax mov eax,[esp+10h] mov ecx,[eax] mov eax,[esi+ecx+14h] cmp ebp,eax jz L0043D85E push eax call SUB_L004C5640 add esp,00000004h L0043D85E: mov edx,[esp+10h] mov eax,[edx] lea ecx,[esi+eax] lea edx,[ecx+20h] lea eax,[ecx+1Ch] push edx lea edx,[ecx+18h] push eax push edx call SUB_L004C8360 push eax call SUB_L004C6930 mov eax,[esp+20h] add esp,00000010h mov ecx,[eax] cmp ebp,[esi+ecx+14h] jz L0043D896 push ebp call SUB_L004C5640 add esp,00000004h L0043D896: add esi,00000024h cmp edi,ebx jz L0043D8A7 mov edi,[edi] cmp edi,ebx jnz L0043D814 L0043D8A7: mov eax,[esp+18h] L0043D8AB: cmp eax,ebx mov byte ptr [esp+00000090h],02h jz L0043D90F L0043D8B7: cmp eax,ebx jnz L0043D8BF xor esi,esi jmp L0043D909 L0043D8BF: mov ecx,[eax+04h] mov esi,[eax] cmp ecx,ebx jz L0043D8CC mov [ecx],esi jmp L0043D8D0 L0043D8CC: mov [esp+18h],esi L0043D8D0: cmp esi,ebx jz L0043D8D9 mov [esi+04h],ecx jmp L0043D8DD L0043D8D9: mov [esp+1Ch],ecx L0043D8DD: mov edi,[eax+08h] push eax mov [eax+08h],ebx call SUB_L004D4F9E mov ecx,[esp+24h] add esp,00000004h dec ecx cmp edi,ebx mov [esp+20h],ecx jz L0043D909 mov ecx,edi call SUB_L004C8100 push edi call SUB_L004D4F9E add esp,00000004h L0043D909: cmp esi,ebx mov eax,esi jnz L0043D8B7 L0043D90F: lea ecx,[esp+64h] mov dword ptr [esp+00000090h],FFFFFFFFh call SUB_L004C8100 mov al,01h L0043D925: mov ecx,[esp+00000088h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000084h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0043D940: jmp SUB_L004C8100 Align 16 L0043D950: mov eax,[ecx] test eax,eax jz L0043D975 mov ecx,[eax-04h] push esi lea esi,[eax-04h] push SUB_L0043D940 push ecx push 00000024h push eax call SUB_L004D53BE push esi call SUB_L004D4F9E add esp,00000004h pop esi L0043D975: retn ;------------------------------------------------------------------------------ Align 16 L0043D980: push FFFFFFFFh push L004E2220 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx mov [esp+08h],esi call SUB_L004C8060 xor ebx,ebx push L007049FC lea ecx,[esp+10h] mov [esp+28h],ebx call SUB_L004C8240 lea eax,[esp+0Ch] mov ecx,esi push eax mov byte ptr [esp+28h],01h call SUB_L004C83F0 lea ecx,[esp+0Ch] mov [esp+24h],bl call SUB_L004C8100 mov ecx,[L005011B8] mov eax,esi mov [esi+10h],ecx mov edx,[L00705100] mov ecx,[esp+1Ch] mov [esi+14h],edx mov [esi+18h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx pop esi pop ebx mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 L0043DA10: push ebx mov ebx,ecx mov eax,[ebx] test eax,eax jz L0043DA74 push esi push edi L0043DA1B: test eax,eax jnz L0043DA23 xor esi,esi jmp L0043DA6C L0043DA23: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L0043DA30 mov [ecx],esi jmp L0043DA32 L0043DA30: mov [ebx],esi L0043DA32: test esi,esi jz L0043DA3B mov [esi+04h],ecx jmp L0043DA3E L0043DA3B: mov [ebx+04h],ecx L0043DA3E: mov edi,[eax+08h] push eax mov dword ptr [eax+08h],00000000h call SUB_L004D4F9E mov ecx,[ebx+08h] add esp,00000004h dec ecx test edi,edi mov [ebx+08h],ecx jz L0043DA6C mov ecx,edi call SUB_L0043D940 push edi call SUB_L004D4F9E add esp,00000004h L0043DA6C: test esi,esi mov eax,esi jnz L0043DA1B pop edi pop esi L0043DA74: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0043DA80: push FFFFFFFFh push L004E2243 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 L0043DB28 push 00000024h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+0Ch],esi test esi,esi mov dword ptr [esp+18h],00000000h jz L0043DB0F mov ecx,esi call SUB_L004C8060 mov edi,[esp+20h] mov ecx,esi push edi mov byte ptr [esp+1Ch],01h call SUB_L004C83F0 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 pop edi pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L0043DB0F: xor esi,esi pop edi mov [ebx+08h],esi pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L0043DB28: mov edi,[esp+20h] mov ecx,esi push edi call SUB_L004C83F0 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,[esp+10h] mov [esi+1Ch],edx mov eax,[edi+20h] pop edi mov [esi+20h],eax pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043DB70: push ebx push esi mov esi,[esp+0Ch] mov ebx,ecx test esi,esi jnz L0043DB83 pop esi xor eax,eax pop ebx retn 0004h ;------------------------------------------------------------------------------ L0043DB83: push edi mov edi,[esi] push 0000000Ch call SUB_L004D4FA9 add esp,00000004h test eax,eax jz L0043DBAA mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],00000000h jmp L0043DBAC L0043DBAA: xor eax,eax L0043DBAC: mov [eax],edi mov [eax+04h],esi test edi,edi mov [esi],eax jz L0043DBC7 mov [edi+04h],eax mov ecx,[ebx+08h] inc ecx pop edi mov [ebx+08h],ecx pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L0043DBC7: mov ecx,[ebx] mov [ebx+04h],eax test ecx,ecx jnz L0043DBD2 mov [ebx],eax L0043DBD2: mov ecx,[ebx+08h] pop edi inc ecx pop esi mov [ebx+08h],ecx pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043DBE0: mov eax,ecx xor ecx,ecx mov [eax],ecx mov [eax+04h],ecx mov [eax+08h],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0043DBF0: push esi mov esi,ecx call SUB_L0043D940 test byte ptr [esp+08h],01h jz L0043DC08 push esi call SUB_L004D4F9E add esp,00000004h L0043DC08: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043DC10: push ecx mov edx,[esp+0Ch] push ebx push ebp push esi mov esi,[esp+14h] mov [esp+0Ch],ecx test esi,esi mov dword ptr [edx],00000000h jnz L0043DC33 pop esi pop ebp xor eax,eax pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ L0043DC33: mov ebx,[esi+04h] mov ebp,[esi] test ebx,ebx jz L0043DC40 mov [ebx],ebp jmp L0043DC42 L0043DC40: mov [ecx],ebp L0043DC42: test ebp,ebp jz L0043DC4B mov [ebp+04h],ebx jmp L0043DC4E L0043DC4B: mov [ecx+04h],ebx L0043DC4E: mov eax,[esi+08h] mov dword ptr [esi+08h],00000000h push edi mov [edx],eax mov edi,[esi+08h] test edi,edi jz L0043DC79 mov ecx,edi call SUB_L0043D940 push edi call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi+08h],00000000h L0043DC79: push esi call SUB_L004D4F9E mov eax,[esp+14h] add esp,00000004h mov ecx,[eax+08h] pop edi dec ecx mov [eax+08h],ecx mov eax,[esp+1Ch] cmp eax,00000001h mov eax,ebp jz L0043DC9B mov eax,ebx L0043DC9B: pop esi pop ebp pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0043DCB0: push FFFFFFFFh push L004E2258 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push ebp push esi mov esi,ecx push edi mov [esp+2Ch],esi call SUB_L00458F30 xor edi,edi mov dword ptr [esi],L004EB384 mov [L00B2904C],edi push esi mov [esp+3Ch],edi mov [esp+14h],edi mov dword ptr [esi+08h],SSZ0050121C_drag_gump mov [esi+60h],edi mov [esi+000000A4h],edi mov [esi+0000009Ch],edi call SUB_L00476670 mov ebx,00000001h push SSZ00501204_framedata_for_CDragGump push 00000008h mov [esi+38h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+14h],edi mov [esi+18h],ebx call SUB_L00475FC0 xor ecx,ecx mov [esi+3Ch],eax mov [eax],ecx add esp,0000000Ch mov [eax+04h],ecx mov al,[L0050CCB4] test al,al mov [esp+14h],edi mov [esp+18h],edi jz L0043DD56 mov [esi+000000A0h],edi L0043DD56: mov cx,[L00C88520] cmp cx,3584h jc L0043DE36 cmp cx,35A1h ja L0043DE36 xor eax,eax mov [esp+18h],ebx mov ax,cx lea ebx,[esi+24h] lea ebp,[esi+20h] add eax,FFFFD397h push ebx push ebp push eax mov [esi+54h],eax call SUB_L004434A0 add esp,0000000Ch L0043DD95: mov eax,[ebp+00h] mov ecx,[ebx] imul ecx,eax push SSZ0050121C_drag_gump mov [esi+1Ch],eax lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[ebp+00h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[ebx] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov eax,[ebp+00h] push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004B9E80 mov eax,[L007050F0] add esp,00000010h test eax,eax jz L0043DF70 xor eax,eax mov ax,[L00C88520] push eax call SUB_L0047FD70 add esp,00000004h test eax,eax jz L0043DF70 mov edi,L004B9890 jmp L0043DFB3 L0043DE36: push ecx call SUB_L00484730 add esp,00000004h test eax,eax jz L0043DEB2 mov ax,[L00C8852A] cmp ax,bx ja L0043DE6F xor edx,edx mov dx,[L00C88520] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h mov [esp+10h],eax jmp L0043DF20 L0043DE6F: cmp ax,0005h ja L0043DE94 xor eax,eax mov ax,[L00C88520] add eax,00004001h push eax call SUB_L004B9530 add esp,00000004h mov [esp+10h],eax jmp L0043DF20 L0043DE94: xor ecx,ecx mov cx,[L00C88520] add ecx,00004002h push ecx call SUB_L004B9530 add esp,00000004h mov [esp+10h],eax jmp L0043DF20 L0043DEB2: cmp [L007050EC],edi jz L0043DED7 xor edx,edx mov dx,[L00C88520] push edx call SUB_L0047FCD0 add esp,00000004h test eax,eax jz L0043DED7 push 00006127h jmp L0043DEE5 L0043DED7: xor eax,eax mov ax,[L00C88520] add eax,00004000h push eax L0043DEE5: call SUB_L004B9530 add esp,00000004h cmp [L00C8852A],bx mov [esp+10h],eax jbe L0043DF20 movsx eax,[L00C88523] xor ecx,ecx mov cx,[L00C88520] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] mov ecx,[eax+edx*8] test ch,08h jz L0043DF20 mov [esp+14h],ebx L0043DF20: cmp [esp+10h],edi jnz L0043DF37 push 00004000h call SUB_L004B9530 add esp,00000004h mov [esp+10h],eax L0043DF37: mov eax,[esp+10h] xor ecx,ecx lea ebp,[esi+20h] xor edx,edx mov cx,[eax+04h] lea ebx,[esi+24h] mov [ebp+00h],ecx mov dx,[eax+06h] mov eax,[esp+14h] mov [ebx],edx cmp eax,edi jz L0043DD95 mov eax,edx add ecx,00000005h add eax,00000005h mov [ebp+00h],ecx mov [ebx],eax jmp L0043DD95 L0043DF70: mov ax,[L00C88528] test ax,ax jz L0043DFAE xor ecx,ecx mov cx,ax xor eax,eax mov ax,[L00C88520] dec ecx mov [L00CD8C24],ecx lea edx,[eax+eax*4] mov eax,[L00C88540] test dword ptr [eax+edx*8],00040000h jz L0043DFA7 mov edi,L004B9920 jmp L0043DFB3 L0043DFA7: mov edi,L004B9840 jmp L0043DFB3 L0043DFAE: mov edi,SUB_L004B95C0 L0043DFB3: mov eax,[esp+18h] test eax,eax jnz L0043DFE9 mov ecx,[esp+10h] push 00000000h push 00000000h push ecx push edi call SUB_L004BA090 mov eax,[esp+24h] add esp,00000010h test eax,eax jz L0043E015 mov edx,[esp+10h] push 00000005h push 00000005h push edx push edi call SUB_L004BA090 add esp,00000010h jmp L0043E015 L0043DFE9: mov eax,[esi+3Ch] 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+54h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L0043E015: mov al,[L00C8C4A4] test al,al jz L0043E057 mov eax,[ebx] mov ecx,[esi+3Ch] imul eax,[ebp+00h] mov ecx,[ecx+04h] xor edx,edx add ecx,00000004h test eax,eax jle L0043E057 L0043E033: 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,[ebx] imul eax,[ebp+00h] cmp edx,eax jl L0043E033 L0043E057: lea ecx,[esp+20h] lea edx,[esp+1Ch] push ecx push edx call SUB_L00476BC0 mov eax,[ebp+00h] mov ecx,[esp+24h] cdq sub eax,edx add esp,00000008h sar eax,1 sub ecx,eax mov eax,[ebx] cdq sub eax,edx mov edx,[esp+20h] sar eax,1 mov [esi+30h],ecx sub edx,eax push 00000001h push 00000000h mov ecx,esi mov [esi+34h],edx call SUB_L004587A0 push 00000000h call SUB_L004D0FB0 mov eax,[esp+20h] mov ecx,[esp+24h] add esp,00000004h mov [esp+28h],eax lea edx,[esp+24h] lea eax,[esp+28h] mov [esp+24h],ecx push edx push eax mov ecx,esi call SUB_L00457D20 mov ecx,[esp+24h] mov edx,[esp+28h] push ecx push edx mov ecx,esi call SUB_L0043E3E0 mov ecx,[esp+30h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 L0043E0F0: push esi mov esi,ecx call SUB_L0043E2E0 test byte ptr [esp+08h],01h jz L0043E108 push esi call SUB_L004D4F9E add esp,00000004h L0043E108: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043E110: push FFFFFFFFh push L004E2278 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+20h],esi call SUB_L00458F30 xor edi,edi mov dword ptr [esi],L004EB384 mov [L00B2904C],edi push esi mov [esp+30h],edi mov dword ptr [esi+08h],SSZ00501228_generic_drag_gump mov [esi+60h],edi mov [esi+000000A4h],edi mov [esi+0000009Ch],edi call SUB_L00476670 push SSZ00501204_framedata_for_CDragGump push 00000008h mov [esi+38h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 xor ecx,ecx mov [esi+3Ch],eax mov [eax],ecx add esp,0000000Ch mov [eax+04h],ecx mov al,[L0050CCB4] test al,al jz L0043E1A9 mov [esi+000000A0h],edi L0043E1A9: mov eax,[esp+34h] lea ebp,[esi+24h] lea ebx,[esi+20h] and eax,0000FFFFh push ebp push ebx push eax mov [esp+40h],eax call SUB_L004434A0 mov eax,[ebx] mov edx,[ebp+00h] imul edx,eax mov [esi+1Ch],eax push SSZ0050121C_drag_gump lea eax,[edx+edx+04h] push eax call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[ebx] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[ebp+00h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax mov eax,[edx+04h] push ecx mov ecx,[esp+50h] add eax,00000004h push eax push 00000000h push 00000000h push ecx push SUB_L004B9B80 call SUB_L00443500 lea edx,[esp+44h] lea eax,[esp+40h] push edx push eax call SUB_L00476BC0 mov eax,[ebx] mov ecx,[esp+48h] cdq sub eax,edx add esp,00000038h sar eax,1 sub ecx,eax mov eax,[ebp+00h] cdq sub eax,edx mov edx,[esp+14h] sar eax,1 mov [esi+30h],ecx sub edx,eax push 00000001h push 00000000h mov ecx,esi mov [esi+34h],edx call SUB_L004587A0 push 00000000h call SUB_L004D0FB0 add esp,00000004h mov eax,[esp+10h] mov ecx,[esp+14h] mov [esp+1Ch],eax lea edx,[esp+18h] lea eax,[esp+1Ch] mov [esp+18h],ecx push edx push eax mov ecx,esi call SUB_L00457D20 mov ecx,[esp+18h] mov edx,[esp+1Ch] push ecx push edx mov ecx,esi call SUB_L0043E3E0 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0043E2E0: push FFFFFFFFh push L004E2298 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EB384 xor edi,edi push edi mov [esp+18h],edi mov [L00C88550],edi mov [L00C8851C],edi call SUB_L00476670 mov eax,[esi+0000009Ch] add esp,00000004h cmp eax,edi jz L0043E353 cmp dword ptr [eax+000000A4h],FFFFFFFFh jz L0043E353 mov dword ptr [eax+000000A4h],FFFFFFFFh mov eax,[esi+0000009Ch] mov [eax+000000A8h],edi mov ecx,[esi+0000009Ch] call SUB_L004A2FB0 L0043E353: mov eax,[esi+3Ch] cmp eax,edi jz L0043E375 mov eax,[eax+04h] cmp eax,edi jz L0043E375 push SSZ0050123C_draggump_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0043E375: mov eax,[esi+3Ch] cmp eax,edi jz L0043E38D push SSZ004FEA30_draggump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0043E38D: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0043E3B0: push esi mov esi,ecx push esi call SUB_L00476670 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi] add esp,00000004h push ecx push edx mov ecx,esi call [eax+2Ch] pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043E3E0: push ecx xor eax,eax push ebx mov ax,[L00C88520] push esi mov esi,ecx xor ebx,ebx mov ecx,[L00C88540] lea eax,[eax+eax*4] mov edx,[esi+0000009Ch] push edi mov bl,[ecx+eax*8+05h] mov eax,[esi+24h] mov ecx,[esp+18h] mov [esp+0Ch],edx cdq sub eax,edx push 00000001h sar eax,1 sub ecx,eax mov eax,[esi+20h] cdq sub eax,edx mov edx,[esp+18h] sar eax,1 push 00000000h push 00000001h sub edx,eax push ecx push edx mov ecx,esi call SUB_L00457800 lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esp+18h] mov eax,[esp+14h] push 00000000h push esi push edx push eax call SUB_L004560E0 mov edi,eax mov eax,[L00C88524] add esp,00000010h cmp eax,FFFFFFFFh jz L0043E504 test edi,edi jz L0043E4C0 mov edx,[edi] mov ecx,edi call [edx+00000090h] test eax,eax mov eax,[esi+0000009Ch] jz L0043E4BA cmp edi,eax jz L0043E4DE mov ecx,[L00C88540] xor eax,eax mov ax,[L00C88520] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],00400000h jz L0043E4DE mov edx,[edi+38h] mov eax,[edx+ebx*4+000000C8h] test eax,eax jnz L0043E4DE mov [esi+0000009Ch],edi mov [edi+000000A4h],ebx jmp L0043E4DE L0043E4BA: test eax,eax jz L0043E4DE jmp L0043E4CA L0043E4C0: mov eax,[esi+0000009Ch] test eax,eax jz L0043E4DE L0043E4CA: mov dword ptr [eax+000000A4h],FFFFFFFFh mov dword ptr [esi+0000009Ch],00000000h L0043E4DE: mov ecx,[esp+0Ch] mov eax,[esi+0000009Ch] cmp ecx,eax jz L0043E504 test ecx,ecx jz L0043E4F5 call SUB_L004A2FB0 L0043E4F5: mov ecx,[esi+0000009Ch] test ecx,ecx jz L0043E504 call SUB_L004A2FB0 L0043E504: mov eax,[esi+000000A4h] test eax,eax jz L0043E538 cmp edi,[L00B189F8] jnz L0043E538 lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx mov ecx,edi call SUB_L00457D20 mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[edi] push eax push ecx mov ecx,edi call [edx+2Ch] L0043E538: pop edi pop esi pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0043E540: push esi mov esi,ecx lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi mov dword ptr [esi+000000A4h],00000001h call SUB_L00457C90 mov edx,[esp+0Ch] mov eax,[esp+08h] push 00000000h push esi push edx push eax call SUB_L004560E0 mov esi,eax mov eax,[L00B189F8] add esp,00000010h cmp esi,eax jnz L0043E5B1 lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx push edx mov ecx,esi call SUB_L00457D20 mov ecx,[esp+0Ch] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+24h] mov ecx,[esp+0Ch] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+1Ch] L0043E5B1: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043E5C0: push esi mov esi,ecx lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi mov dword ptr [esi+000000A4h],00000000h call SUB_L00457C90 mov edx,[esp+0Ch] mov eax,[esp+08h] push 00000000h push esi push edx push eax call SUB_L004560E0 mov esi,eax mov eax,[L00B189F8] add esp,00000010h cmp esi,eax jnz L0043E631 lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx push edx mov ecx,esi call SUB_L00457D20 mov ecx,[esp+0Ch] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+24h] mov ecx,[esp+0Ch] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+20h] L0043E631: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043E640: mov ecx,[L00B189F8] mov eax,[ecx] jmp [eax+30h] Align 8 L0043E650: push FFFFFFFFh push L004E22CE mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,000000C0h push ebx push ebp push esi push edi mov ebp,ecx lea eax,[esp+000000E4h] lea ecx,[esp+000000E0h] push eax push ecx mov ecx,ebp mov dword ptr [esp+000000E0h],00000000h call SUB_L00457C90 mov edx,[esp+000000E4h] mov eax,[esp+000000E0h] push 00000001h push ebp push edx push eax call SUB_L004560E0 mov esi,eax mov al,[L0050CCB4] add esp,00000010h test al,al jz L0043E6D6 test esi,esi jz L0043E6C8 mov edx,[esi] mov ecx,esi call [edx+78h] test eax,eax jnz L0043E6D6 L0043E6C8: mov eax,[ebp+000000A0h] test eax,eax jnz L0043ECE6 L0043E6D6: test esi,esi jz L0043EF3A mov edx,[esi] mov ecx,esi call [edx+78h] test eax,eax jz L0043EF3A mov eax,[L00C88524] or ebx,FFFFFFFFh cmp eax,ebx jnz L0043E7F7 cmp esi,[L00B189F8] jz L0043E725 mov al,[L0050CCB4] test al,al jz L0043EF3A mov eax,[ebp+000000A0h] test eax,eax jz L0043EF3A jmp L0043ECE6 L0043E725: lea ecx,[esp+000000E4h] lea edx,[esp+000000E0h] push ecx push edx mov ecx,esi call SUB_L00457D20 call SUB_L004BCED0 test eax,eax jz L0043E74E call SUB_L004BCED0 test eax,eax jnz L0043E782 L0043E74E: mov eax,[ebp+20h] mov ecx,[esp+000000E0h] cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov eax,[ebp+24h] mov ecx,[esp+000000E4h] mov [esp+000000E0h],edx cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov [esp+000000E4h],edx L0043E782: mov eax,[esp+000000E4h] mov ecx,[esp+000000E0h] push 00000000h push eax push ecx call SUB_L00408640 add esp,0000000Ch test eax,eax jnz L0043E7C0 mov al,[L0050CCB4] test al,al jz L0043EF3A mov eax,[ebp+000000A0h] test eax,eax jz L0043EF3A jmp L0043EEAD L0043E7C0: movsx edi,[eax+26h] movsx esi,[eax+24h] push edi push esi call SUB_L004820C0 add esp,00000008h mov [esp+10h],al call SUB_L004BCED0 test eax,eax jz L0043EEAD mov eax,[esp+10h] push eax push edi push esi call SUB_L00401E90 add esp,0000000Ch jmp L0043EEAD L0043E7F7: mov al,[L0050CCB4] test al,al mov eax,[L00B189F8] jz L0043E817 cmp esi,eax jz L0043E81F mov ecx,[ebp+000000A0h] test ecx,ecx jnz L0043ECE6 L0043E817: cmp esi,eax jnz L0043ECFC L0043E81F: lea ecx,[esp+000000E4h] lea edx,[esp+000000E0h] push ecx push edx mov ecx,esi call SUB_L00457D20 mov eax,[esp+000000E4h] mov ecx,[esp+000000E0h] push eax push ecx call SUB_L00482500 mov esi,eax mov al,[L0050CCB4] add esp,00000008h test al,al jz L0043E874 mov eax,[ebp+000000A0h] test esi,esi jnz L0043E8EA test eax,eax jz L0043EA97 jmp L0043EEAD L0043E874: test esi,esi jz L0043EA97 L0043E87C: mov ecx,esi call SUB_L0047F920 test eax,eax jz L0043EF26 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0043E94B mov eax,[esi+7Ch] mov ecx,[L00C88524] push eax push 00000000h push 0000FFFFh push 0000FFFFh lea edx,[esp+2Ch] push ecx push edx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+1Ch] push eax call SUB_L004BC750 test ebp,ebp jz L0043E8DB L0043E8D2: mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L0043E8DB: push 00000000h call SUB_L00476670 add esp,00000004h jmp L0043EF3A L0043E8EA: test eax,eax jz L0043E87C mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0043ECE6 mov ecx,[esi+7Ch] lea edx,[esp+30h] push ecx push edx call SUB_L0049CDF0 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+30h] push eax call SUB_L004BC750 mov ecx,esi call SUB_L0047FE80 mov edi,eax mov ecx,ebx xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00C882C0 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb jmp L0043ECE6 L0043E94B: mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0043E9EE mov dx,[esi+3Ch] lea ecx,[esp+40h] push ecx push edx call SUB_L00457140 add esp,00000004h push eax call SUB_L00457480 mov eax,[esp+50h] mov edx,[esp+48h] mov ecx,[ebp+20h] sub eax,edx add esp,00000008h cmp eax,ecx jl L0043EF26 mov ecx,[esp+4Ch] mov edx,[esp+44h] mov eax,[ebp+24h] sub ecx,edx cmp ecx,eax jl L0043EF26 mov edx,[esi+7Ch] mov eax,[L00C88524] push edx push 00000000h push 0000FFFFh push 0000FFFFh lea ecx,[esp+2Ch] push eax push ecx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea edx,[esp+1Ch] push edx call SUB_L004BC750 test ebp,ebp jz L0043E9DF mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] L0043E9DF: push 00000000h call SUB_L00476670 add esp,00000004h jmp L0043EF3A L0043E9EE: cmp word ptr [esi+40h],0000h jz L0043EA73 mov cx,[esi+3Ch] movsx eax,[esi+3Eh] mov edx,ecx and edx,0000FFFFh add eax,edx mov edx,[L00C88540] lea eax,[eax+eax*4] test dword ptr [edx+eax*8],00000800h jz L0043EA73 cmp word ptr [L00C8852A],0000h jz L0043EA73 mov eax,[L00C8852C] test ah,08h jz L0043EA73 cmp cx,[L00C88520] jnz L0043EA73 mov ax,[esi+42h] cmp ax,[L00C88528] jnz L0043EA73 mov ecx,[esi+7Ch] mov dl,[esi+28h] mov ax,[esi+26h] push ecx mov cx,[esi+24h] push edx mov edx,[L00C88524] push eax push ecx lea eax,[esp+2Ch] push edx push eax call SUB_L00499680 add esp,00000018h lea ecx,[esp+1Ch] push ecx jmp L0043EF0E L0043EA73: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jnz L0043EA97 mov ax,[esi+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] mov eax,[edx+ecx*8] test ah,02h jz L0043EF26 L0043EA97: call SUB_L004BCED0 test eax,eax jz L0043EAA9 call SUB_L004BCED0 test eax,eax jnz L0043EADD L0043EAA9: mov eax,[ebp+20h] mov ecx,[esp+000000E0h] cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov eax,[ebp+24h] mov ecx,[esp+000000E4h] mov [esp+000000E0h],edx cdq sub eax,edx sar eax,1 lea edx,[ecx+eax-16h] mov [esp+000000E4h],edx L0043EADD: mov eax,[esp+000000E4h] mov ecx,[esp+000000E0h] push 00000000h push eax push ecx call SUB_L00408640 mov esi,eax add esp,0000000Ch test esi,esi jz L0043EF3A mov ecx,[esi+08h] mov edx,[L0051A760] mov eax,[esi+0Ch] mov edi,[L0051A75C] sub ecx,edx mov edx,[esp+000000E4h] add ecx,edx sub eax,edi neg ecx push ecx mov ecx,[esp+000000E4h] add eax,ecx lea edx,[esp+54h] neg eax push eax push SSZ004FF178__d__d push edx call SUB_L004D512F movsx edi,[esi+24h] movsx ebx,[esi+26h] mov byte ptr [esp+20h],00h mov eax,[L00C884DC] push ebx add eax,00000024h push edi mov byte ptr [esp+000000F0h],02h mov ecx,[eax] mov [esp+2Ch],ecx mov [esp+2Ch],di mov dx,[eax+04h] mov ax,cx mov cx,[esp+2Eh] mov [esp+30h],dx mov edx,[esp+30h] mov [esp+48h],ax add edx,0000000Ch mov [esp+4Ah],cx mov [esp+4Ch],dx mov [esp+2Eh],bx mov word ptr [esp+30h],0000h call SUB_L00481970 add esp,00000018h test eax,eax jz L0043EC05 mov edx,[L00C83B64] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0043EC05 mov edx,[L00C83B60] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000003h jg L0043EC05 mov ecx,[esp+14h] push 00000040h mov dx,[esp+1Ch] sub esp,00000008h mov eax,esp sub esp,00000008h mov [eax],ecx mov ecx,[esp+44h] mov [eax+04h],dx mov dx,[esp+48h] mov eax,esp mov [eax],ecx mov [eax+04h],dx call SUB_L00475DD0 add esp,00000014h test eax,eax jnz L0043EC12 L0043EC05: call SUB_L004BCED0 test eax,eax jz L0043EF26 L0043EC12: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0043EC3E push ebx push edi call SUB_L00475CA0 mov ecx,eax add esp,00000008h movsx eax,[ecx+03h] movsx ecx,[ecx+01h] add eax,ecx cdq sub eax,edx sar eax,1 mov [esp+10h],al jmp L0043ECBA L0043EC3E: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L0043EC6F mov ax,[esi+3Ch] mov ecx,[L00C88540] lea eax,[eax+eax*4] mov eax,[ecx+eax*8] test ah,02h jnz L0043EC6F test al,40h jnz L0043EF26 mov esi,[esi+1Ch] test esi,esi jnz L0043EC3E jmp L0043ECBA L0043EC6F: test esi,esi jz L0043ECBA mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0043EC9F push ebx push edi call SUB_L00475CA0 mov ecx,eax add esp,00000008h movsx eax,[ecx+03h] movsx ecx,[ecx+01h] add eax,ecx cdq sub eax,edx sar eax,1 mov [esp+10h],al jmp L0043ECBA L0043EC9F: xor eax,eax mov ax,[esi+3Ch] lea edx,[eax+eax*4] mov eax,[L00C88540] mov cl,[eax+edx*8+12h] mov al,[esi+28h] add cl,al mov [esp+10h],cl L0043ECBA: mov edx,[esp+10h] mov eax,[L00C88524] push FFFFFFFFh push edx push ebx push edi lea ecx,[esp+2Ch] push eax push ecx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea edx,[esp+1Ch] push edx call SUB_L004BC750 L0043ECE6: test ebp,ebp jz L0043EF3A mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] jmp L0043EF3A L0043ECFC: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L0043EDD4 lea eax,[esp+000000E4h] lea ecx,[esp+000000E0h] push eax push ecx mov ecx,esi call SUB_L00457D20 mov edx,[esp+000000E4h] mov eax,[esp+000000E0h] push 00000001h push edx push eax mov ecx,esi call SUB_L004A37B0 mov edi,eax cmp edi,ebx jz L0043EDD4 mov ecx,[esi+38h] mov ecx,[ecx+edi*4+000000C8h] mov edx,[ecx] call [edx+30h] test eax,eax jz L0043EDD4 mov eax,[esi+38h] mov ecx,[eax+edi*4+000000C8h] mov eax,[L00C88524] mov edx,[ecx+7Ch] lea ecx,[esp+1Ch] push edx push 00000000h push 0000FFFFh push 0000FFFFh push eax push ecx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea edx,[esp+1Ch] push edx call SUB_L004BC750 mov eax,[ebp+0000009Ch] test eax,eax jz L0043EDC7 mov [eax+000000A4h],ebx mov eax,[ebp+0000009Ch] xor edi,edi mov [eax+000000A8h],edi mov ecx,[ebp+0000009Ch] call SUB_L004A2FB0 mov [ebp+0000009Ch],edi L0043EDC7: test ebp,ebp jz L0043EDD4 mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L0043EDD4: mov eax,[ebp+0000009Ch] cmp esi,eax jnz L0043EE55 mov [eax+000000A4h],ebx mov eax,[ebp+0000009Ch] mov dword ptr [eax+000000A8h],00000000h mov ecx,[ebp+0000009Ch] call SUB_L004A2FB0 mov ecx,[esi+38h] xor eax,eax mov ax,[L00C88520] mov edx,[ecx+7Ch] mov ecx,[L00C88540] lea eax,[eax+eax*4] push edx mov dl,[ecx+eax*8+05h] mov eax,[L00C88524] push edx lea ecx,[esp+38h] push eax push ecx call SUB_L00499E30 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+30h] push edx call SUB_L004BC750 test ebp,ebp jz L0043EF3A mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] jmp L0043EF3A L0043EE55: mov edx,[esi] mov ecx,esi call [edx+000000CCh] test eax,eax jz L0043EEC0 mov ecx,[esi+38h] test ecx,ecx jz L0043EF26 call SUB_L0047F920 test eax,eax jz L0043EF26 lea eax,[esp+000000E4h] lea ecx,[esp+000000E0h] push eax push ecx mov ecx,esi call SUB_L00457D20 mov edx,[esp+000000E4h] mov eax,[esp+000000E0h] push edx push eax mov ecx,esi call SUB_L0043AE40 test eax,eax jz L0043EF26 L0043EEAD: test ebp,ebp jz L0043EF3A mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] jmp L0043EF3A L0043EEC0: mov eax,[esi] mov ecx,esi call [eax+00000118h] test eax,eax jz L0043EF26 mov cx,[L00C88520] push ecx call SUB_L00483E30 add esp,00000004h test eax,eax jz L0043EF26 mov edx,[esi+38h] mov ecx,[L00C88524] mov eax,[edx+7Ch] lea edx,[esp+1Ch] push eax push 00000000h push 0000FFFFh push 0000FFFFh push ecx push edx call SUB_L00499680 add esp,00000018h lea eax,[esp+1Ch] push eax L0043EF0E: mov ecx,[L00C88300] call SUB_L004BC750 test ebp,ebp jz L0043E8DB jmp L0043E8D2 L0043EF26: push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000051h call SUB_L004CD800 add esp,00000018h L0043EF3A: mov ecx,[esp+000000D0h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,000000CCh retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043EF60: mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edx,[esp+04h] sub esp,00000008h push eax mov eax,[L00C884DC] push ecx push edx mov cl,[eax+00000154h] lea edx,[esp+0Ch] push ecx push edx call SUB_L0049B760 mov ecx,[L00C88300] add esp,00000014h lea eax,[esp+00h] push eax call SUB_L004BC750 add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0043EFA0: push FFFFFFFFh push L004E2377 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov [esi+30h],eax lea ebp,[esi+24h] lea eax,[esi+20h] push ebp xor ebx,ebx mov dword ptr [esi],L004EB4F8 mov [esi+34h],ecx push eax mov [L00B29490],esi push 0000083Eh mov [esp+28h],ebx mov dword ptr [esi+08h],SSZ00501290_fightingstyle_gump mov [esi+60h],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+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov dword ptr [esi+54h],0000083Eh call SUB_L004434A0 lea eax,[esi+2Ch] lea ecx,[esi+28h] push eax push ecx push 00000853h call SUB_L004434A0 push SSZ00501274_framedata_for_CFightingGump push 00000010h mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00501264_fightgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov ecx,[eax+04h] mov dx,[esi+20h] push SSZ0050124C_fightgump_min__frame mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+2Ch] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+3Ch] 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+54h] push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+3Ch] xor edx,edx add esp,0000004Ch mov eax,[ecx+0Ch] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push ebx push ebx push 00000853h push SUB_L004B9B80 call SUB_L00443500 push 000000BCh call SUB_L004D4FA9 add esp,00000020h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L0043F1B5 push 00000845h push esi push 000000C5h push ebx push 0000006Bh push 0000005Ch mov ecx,eax call SUB_L00422790 jmp L0043F1B7 L0043F1B5: xor eax,eax L0043F1B7: mov edi,00000846h mov [esi+000000B4h],eax mov [eax+000000B4h],di mov eax,[L00C861D4] mov ebp,00000001h xor edx,edx cmp eax,ebp mov eax,[esi+000000B4h] setz dl mov [eax+6Ch],edx mov ecx,[esi+000000B4h] push ebp push esi mov [esp+24h],bl call SUB_L004587A0 mov ecx,[L00C861D0] push 00000064h push ecx mov ecx,[esi+000000B4h] call SUB_L00422C90 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L0043F23E push 00000845h push esi push 000000C5h push ebx push 00000096h push 0000005Ch mov ecx,eax call SUB_L00422790 jmp L0043F240 L0043F23E: xor eax,eax L0043F240: mov [esi+000000B8h],eax mov [eax+000000B4h],di mov eax,[L00C861D4] xor edx,edx cmp eax,ebp mov eax,[esi+000000B8h] setz dl mov [eax+6Ch],edx mov ecx,[esi+000000B8h] push ebp push esi mov [esp+24h],bl call SUB_L004587A0 mov ecx,[L00C861CC] push 00000064h push ecx mov ecx,[esi+000000B8h] call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L0043F2BC push ebx push L00421110 push ebx push 00000002h push esi push 00000079h push 0000005Bh push 0000006Ch push 00000051h mov ecx,eax call SUB_L004220C0 jmp L0043F2BE L0043F2BC: xor eax,eax L0043F2BE: push ebp push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L0043F306 push ebx push L00421130 push ebx push 00000002h push esi push 00000079h push 000000CEh push 0000006Ch push 000000C6h mov ecx,eax call SUB_L004220C0 jmp L0043F308 L0043F306: xor eax,eax L0043F308: push ebp push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],05h jz L0043F350 push ebx push L00421150 push ebx push 00000002h push esi push 000000A4h push 0000005Bh push 00000096h push 00000051h mov ecx,eax call SUB_L004220C0 jmp L0043F352 L0043F350: xor eax,eax L0043F352: push ebp push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],06h jz L0043F3A0 push ebx push L00421170 push ebx push 00000002h push esi push 000000A4h push 000000CEh push 00000096h push 000000C6h mov ecx,eax call SUB_L004220C0 jmp L0043F3A2 L0043F3A0: xor eax,eax L0043F3A2: push ebp push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],07h jz L0043F3F5 mov ecx,[L00C861D4] xor edx,edx push ebx cmp ecx,ebp push 00000840h push 0000083Fh setz dl push ebx push edx push ebp push esi push 00000040h push 00000097h mov ecx,eax call SUB_L00421F40 jmp L0043F3F7 L0043F3F5: xor eax,eax L0043F3F7: mov [esi+000000C0h],eax mov dword ptr [eax+000000ACh],00000841h mov ecx,[esi+000000C0h] push ebp push esi mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],08h jz L0043F45B mov edi,[L00C861D4] xor ecx,ecx push ebx cmp edi,ebp push 00000843h push 00000842h setnz cl push ebx push ecx push ebp push esi push 00000040h push 00000055h mov ecx,eax call SUB_L00421F40 jmp L0043F45D L0043F45B: xor eax,eax L0043F45D: mov [esi+000000BCh],eax mov dword ptr [eax+000000ACh],00000844h mov ecx,[esi+000000BCh] push ebp push esi mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],09h jz L0043F4B8 push ebx push SUB_L0041E070 push ebx push ebx push esi push 0000002Ch push 00000115h push 00000014h push 000000FEh mov ecx,eax call SUB_L004220C0 jmp L0043F4BA L0043F4B8: xor eax,eax L0043F4BA: push ebp push esi mov ecx,eax mov [esp+24h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Ah jz L0043F504 push ebx push 00000848h push 00000847h push L004C1AA0 push ebx push ebx push esi push 000000B1h push 00000019h mov ecx,eax call SUB_L00421F40 jmp L0043F506 L0043F504: xor eax,eax L0043F506: push ebp push esi mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000849h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Bh jz L0043F55A push ebx push 0000084Bh push 0000084Ah push L00420FE0 push ebx push ebx push esi push 000000B2h push 00000058h mov ecx,eax call SUB_L00421F40 jmp L0043F55C L0043F55A: xor eax,eax L0043F55C: push ebp push esi mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],0000084Ch call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Ch jz L0043F5B3 push ebx push 0000084Eh push 0000084Dh push L00421060 push ebx push ebx push esi push 000000B1h push 00000097h mov ecx,eax call SUB_L00421F40 jmp L0043F5B5 L0043F5B3: xor eax,eax L0043F5B5: push ebp push esi mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],0000084Fh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],0Dh jz L0043F60C push ebx push 00000851h push 00000850h push L00421080 push ebx push ebx push esi push 000000B1h push 000000D5h mov ecx,eax call SUB_L00421F40 jmp L0043F60E L0043F60C: xor eax,eax L0043F60E: push ebp push esi mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000852h call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 8 L0043F640: push esi mov esi,ecx call SUB_L0043F660 test byte ptr [esp+08h],01h jz L0043F658 push esi call SUB_L004D4F9E add esp,00000004h L0043F658: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0043F660: push FFFFFFFFh push L004E2398 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EB4F8 xor edi,edi mov [L00B29490],edi mov eax,[esi+3Ch] mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L0043F6AE push SSZ005012D0_fightgump_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0043F6AE: mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,edi jz L0043F6CC push SSZ005012B8_fightgump_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L0043F6CC: mov eax,[esi+3Ch] cmp eax,edi jz L0043F6E4 push SSZ005012A4_fightgump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0043F6E4: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0043F710: push esi mov esi,ecx push 00000000h call SUB_L004584E0 mov ecx,[esp+08h] mov edx,[esp+0Ch] mov [esi+70h],ecx mov ecx,[esi+000000B0h] mov eax,00000001h mov [esi+74h],edx cmp ecx,eax mov [esi+000000A4h],eax jnz L0043F74B mov dword ptr [esi+000000B0h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L0043F74B: mov [esi+000000B0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0043F770: retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0043F780: push ebx mov ebx,[esp+08h] push ebp push edi mov eax,[ebx] mov edi,ecx mov ecx,ebx call [eax+000000E4h] xor ebp,ebp test eax,eax jz L0043F7AB cmp [ebx+14h],ebp jnz L0043F7AB pop edi mov dword ptr [ebx+14h],00000001h pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ L0043F7AB: push esi mov esi,[edi+48h] cmp esi,ebp jz L0043F7CF L0043F7B3: mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L0043F7C8 cmp esi,ebx jz L0043F7C8 mov [esi+14h],ebp L0043F7C8: mov esi,[esi+40h] cmp esi,ebp jnz L0043F7B3 L0043F7CF: mov ecx,[edi+000000C0h] mov eax,00000001h pop esi mov edx,[ecx+14h] cmp edx,eax mov edx,[edi+000000B4h] jnz L0043F7FA mov [edx+6Ch],eax mov ecx,[edi+000000B8h] pop edi pop ebp mov [ecx+6Ch],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ L0043F7FA: mov [edx+6Ch],ebp mov eax,[edi+000000B8h] pop edi mov [eax+6Ch],ebp pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 L0043F810: mov eax,[ecx+64h] test eax,eax jz L0043F81F mov eax,[ecx+3Ch] mov ecx,[eax+0Ch] jmp L0043F825 L0043F81F: mov ecx,[ecx+3Ch] mov ecx,[ecx+04h] L0043F825: mov edx,[esp+04h] push esi test edx,edx jl L0043F85F mov esi,[esp+0Ch] test esi,esi jl L0043F85F xor eax,eax mov ax,[ecx] cmp edx,eax jge L0043F85F push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L0043F85F imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L0043F85F: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0043F870: push ecx push SSZ00501694_FileManager__startup__starting__ call SUB_L004C7F50 mov al,[L0090127D] add esp,00000004h test al,al jnz L0043FD40 push ebx push ebp push esi push edi mov edi,SSZ00501688_NOT_SET_ or ecx,FFFFFFFFh xor eax,eax xor ebx,ebx repne scasb not ecx sub edi,ecx push SSZ00501688_NOT_SET_ mov eax,ecx mov esi,edi mov edi,L00902280 push L00902280 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h mov byte ptr [L0090127D],00h rep movsb mov edi,L00501684 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [L00903284],ebx mov edx,ecx mov esi,edi mov edi,L00902280 mov [L00903288],ebx shr ecx,02h rep movsd mov ecx,edx mov [L0090328C],ebx and ecx,00000003h mov [L00903280],ebx rep movsb mov [L00903290],ebx mov byte ptr [L0090127C],01h call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0043F92A push SSZ0050164C_FileManager__setPathSeparator__p call SUB_L004C7E80 add esp,00000004h L0043F92A: call SUB_L004409E0 mov eax,[L00903284] cmp eax,ebx jz L0043F948 push eax push SSZ00501620_FileManager__setHDPath__set_HDPa call SUB_L004C7F50 add esp,00000008h jmp L0043F955 L0043F948: push SSZ005015F8_FileManager__setHDPath__HDPath_n call SUB_L004C7E80 add esp,00000004h L0043F955: mov eax,[L00903284] push 00000001h push 00000001h push eax call SUB_L0043FDE0 add esp,0000000Ch call SUB_L00440830 mov al,[L0090127C] test al,al jnz L0043F990 mov al,[L0090127D] test al,al jnz L0043F990 call SUB_L0043F870 push SSZ00501598_FileManager__getHDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L0043F990: cmp [L00903284],ebx jnz L0043F9A5 push SSZ0050153C_FileManager__getHDPath__HDPath_i call SUB_L004C7E80 add esp,00000004h L0043F9A5: mov al,[L0090127C] test al,al jnz L0043F9C9 mov al,[L0090127D] test al,al jnz L0043F9C9 call SUB_L0043F870 push SSZ005014DC_FileManager__getCDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L0043F9C9: cmp [L00903288],ebx jnz L0043F9DE push SSZ00501480_FileManager__getCDPath__CDPath_i call SUB_L004C7E80 add esp,00000004h L0043F9DE: mov edi,[L00903284] or ecx,FFFFFFFFh xor eax,eax repne scasb mov edi,[L00903288] not ecx dec ecx mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+40h] push eax call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov byte ptr [ebp+00h],00h mov al,[L0090127C] test al,al jnz L0043FA35 mov al,[L0090127D] test al,al jnz L0043FA35 call SUB_L0043F870 push SSZ00501598_FileManager__getHDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L0043FA35: cmp [L00903284],ebx jnz L0043FA4A push SSZ0050153C_FileManager__getHDPath__HDPath_i call SUB_L004C7E80 add esp,00000004h L0043FA4A: mov edi,[L00903284] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,ebp repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ00501474_tutorial or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebp 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,L00902280 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebp 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 or ecx,FFFFFFFFh repne scasb not ecx dec ecx cmp ecx,00000200h jc L0043FAE4 push SSZ005013D8_FileManager__addSearchPath__strl call SUB_L004C7E80 add esp,00000004h L0043FAE4: mov ebx,[L00903280] mov edi,ebp mov edx,ebx or ecx,FFFFFFFFh shl edx,08h add edx,ebx xor eax,eax shl edx,1 repne scasb not ecx lea esi,[edx+L008FFE68] sub edi,ecx mov eax,ecx mov [esp+10h],esi mov esi,edi mov edi,[esp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc ebx rep movsb mov byte ptr [edx+L00900068],01h cmp ebx,0000000Ah mov byte ptr [edx+L00900069],01h mov [L00903280],ebx jl L0043FB45 push SSZ0050134C_FileManager__addSearchPath__numS call SUB_L004C7E80 add esp,00000004h L0043FB45: push SSZ0050131C_FileManager__addSearchPath__sear call SUB_L004C7F50 mov eax,[L00903280] add esp,00000004h xor esi,esi test eax,eax jle L0043FB80 mov edi,L008FFE68 L0043FB62: push edi push SSZ00501314___s_ call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h inc esi add edi,00000202h cmp esi,eax jl L0043FB62 L0043FB80: mov byte ptr [ebp+00h],00h mov al,[L0090127C] test al,al jnz L0043FBA8 mov al,[L0090127D] test al,al jnz L0043FBA8 call SUB_L0043F870 push SSZ005014DC_FileManager__getCDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L0043FBA8: mov eax,[L00903288] test eax,eax jnz L0043FBBE push SSZ00501480_FileManager__getCDPath__CDPath_i call SUB_L004C7E80 add esp,00000004h L0043FBBE: mov edi,[L00903288] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,ebp repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ00501474_tutorial or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebp 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,L00902280 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebp 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 or ecx,FFFFFFFFh repne scasb not ecx dec ecx cmp ecx,00000200h jc L0043FC58 push SSZ005013D8_FileManager__addSearchPath__strl call SUB_L004C7E80 add esp,00000004h L0043FC58: mov ebx,[L00903280] mov edi,ebp mov edx,ebx or ecx,FFFFFFFFh shl edx,08h add edx,ebx xor eax,eax shl edx,1 repne scasb not ecx lea esi,[edx+L008FFE68] sub edi,ecx mov eax,ecx mov [esp+10h],esi mov esi,edi mov edi,[esp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc ebx rep movsb mov byte ptr [edx+L00900068],01h cmp ebx,0000000Ah mov byte ptr [edx+L00900069],01h mov [L00903280],ebx jl L0043FCB9 push SSZ0050134C_FileManager__addSearchPath__numS call SUB_L004C7E80 add esp,00000004h L0043FCB9: push SSZ0050131C_FileManager__addSearchPath__sear call SUB_L004C7F50 mov eax,[L00903280] add esp,00000004h xor esi,esi test eax,eax jle L0043FCF4 mov edi,L008FFE68 L0043FCD6: push edi push SSZ00501314___s_ call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h inc esi add edi,00000202h cmp esi,eax jl L0043FCD6 L0043FCF4: push ebp call SUB_L004D4F9E push SSZ005012E8_FileManager__startup__search_pat call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h xor esi,esi test eax,eax jle L0043FD35 mov edi,L008FFE68 L0043FD17: push edi push SSZ00501314___s_ call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h inc esi add edi,00000202h cmp esi,eax jl L0043FD17 L0043FD35: pop edi pop esi pop ebp mov byte ptr [L0090127D],01h pop ebx L0043FD40: pop ecx retn ;------------------------------------------------------------------------------ Align 16 L0043FD50: push ebx push SSZ005016DC_FileManager__shutdown__stopping_ call SUB_L004C7F50 mov al,[L0090127D] xor ebx,ebx add esp,00000004h cmp al,bl jz L0043FDDB call SUB_L00440790 mov eax,[L00903284] cmp eax,ebx jz L0043FD80 push eax call SUB_L004D4F9E add esp,00000004h L0043FD80: mov eax,[L00903288] cmp eax,ebx jz L0043FD92 push eax call SUB_L004D4F9E add esp,00000004h L0043FD92: mov eax,[L0090328C] cmp eax,ebx jz L0043FDA4 push eax call SUB_L004D4F9E add esp,00000004h L0043FDA4: push SSZ005016B8_FileManager__shutdown__stopped__ mov [L0090127C],bl mov [L00903284],ebx mov [L00903288],ebx mov [L0090328C],ebx mov [L00903280],ebx mov [L00903290],ebx mov [L0090127D],bl call SUB_L004C7F50 add esp,00000004h L0043FDDB: pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0043FDE0: push esi mov esi,[esp+08h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000200h jc L0043FE07 push SSZ005013D8_FileManager__addSearchPath__strl call SUB_L004C7E80 add esp,00000004h L0043FE07: push ebx mov ebx,[L00903280] mov edx,ebx mov edi,esi shl edx,08h add edx,ebx or ecx,FFFFFFFFh xor eax,eax push ebp shl edx,1 repne scasb not ecx sub edi,ecx lea ebp,[edx+L008FFE68] mov eax,ecx mov esi,edi mov edi,ebp pop ebp shr ecx,02h rep movsd mov ecx,eax mov al,[esp+18h] and ecx,00000003h inc ebx rep movsb mov cl,[esp+14h] mov [L00903280],ebx mov [edx+L00900068],cl cmp ebx,0000000Ah mov [edx+L00900069],al pop ebx jl L0043FE6C push SSZ0050134C_FileManager__addSearchPath__numS call SUB_L004C7E80 add esp,00000004h L0043FE6C: push SSZ0050131C_FileManager__addSearchPath__sear call SUB_L004C7F50 mov eax,[L00903280] add esp,00000004h xor esi,esi test eax,eax jle L0043FEA7 mov edi,L008FFE68 L0043FE89: push edi push SSZ00501314___s_ call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h inc esi add edi,00000202h cmp esi,eax jl L0043FE89 L0043FEA7: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0043FEB0: mov al,[L0090127C] test al,al jnz L0043FED4 mov al,[L0090127D] test al,al jnz L0043FED4 call SUB_L0043F870 push SSZ00501598_FileManager__getHDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L0043FED4: mov eax,[L00903284] test eax,eax jnz L0043FEEF push SSZ0050153C_FileManager__getHDPath__HDPath_i call SUB_L004C7E80 mov eax,[L00903284] add esp,00000004h L0043FEEF: retn ;------------------------------------------------------------------------------ SUB_L0043FEF0: sub esp,0000002Ch push ebx push ebp mov ebp,[esp+38h] push esi push edi push ebp push SSZ00501AEC_FileManager__open__begin__filena call SUB_L004C7F50 mov al,[L0090127C] add esp,00000008h test al,al jnz L0043FF2D mov al,[L0090127D] test al,al jnz L0043FF2D call SUB_L0043F870 push SSZ00501A90_FileManager__open__had_to_startu call SUB_L004C7EF0 add esp,00000004h L0043FF2D: mov eax,[L00903290] xor esi,esi test eax,eax mov [esp+10h],esi jle L0044008C mov edi,L00705508 L0043FF45: lea eax,[edi-00000400h] push eax push ebp call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0044006F mov al,[edi+0000040Ch] test al,al jz L0043FFFA push edi push SSZ00501A58_FileManager__open__file___s__cur call SUB_L004C7EF0 mov ebp,[edi+00000408h] add esp,00000008h xor bl,bl test ebp,ebp jz L0043FFF6 mov dword ptr [esp+14h],00000000h mov esi,L00705914 L0043FF92: mov eax,[esp+14h] mov ecx,[L00903290] cmp eax,ecx jge L0043FFE5 cmp byte ptr [esi],00h jz L0043FFD0 cmp ebp,[esi-04h] jnz L0043FFD0 lea ecx,[esi-0000040Ch] mov bl,01h push ecx push SSZ00501A30_FileManager__close__closing_file call SUB_L004C7F50 push ebp call SUB_L004D6027 mov byte ptr [esi],00h add esp,0000000Ch mov dword ptr [esi-04h],00000000h L0043FFD0: mov edx,[esp+14h] add esi,0000081Ch inc edx test bl,bl mov [esp+14h],edx jz L0043FF92 jmp L0043FFF6 L0043FFE5: test bl,bl jnz L0043FFF6 push SSZ005019F0_FileManager__close__trying_to_cl call SUB_L004C7EF0 add esp,00000004h L0043FFF6: mov ebp,[esp+40h] L0043FFFA: mov edx,[esp+44h] push edx push edi call SUB_L004D6014 mov esi,eax add esp,00000008h test esi,esi jnz L00440024 lea eax,[edi-00000400h] push eax push SSZ00501984_FileManager__open__file___s__was call SUB_L004C7E80 add esp,00000008h jmp L0044006F L00440024: lea eax,[esp+18h] mov [edi+00000408h],esi push eax push edi call SUB_L004D5CB8 mov ecx,[esp+34h] inc eax neg eax sbb eax,eax and eax,ecx mov [edi+00000414h],eax mov byte ptr [edi+0000040Ch],01h mov eax,[edi+00000410h] inc eax mov [edi+00000410h],eax push eax lea eax,[edi-00000400h] push eax push SSZ00501950_FileManager__open__file___s__now call SUB_L004C7F50 add esp,00000014h L0044006F: mov eax,[esp+10h] mov ecx,[L00903290] inc eax add edi,0000081Ch cmp eax,ecx mov [esp+10h],eax jl L0043FF45 L0044008C: push SSZ00501910_FileManager__open__finished_sear call SUB_L004C7F50 add esp,00000004h test esi,esi jnz L00440180 push SSZ005018C4_FileManager__open__looking_for_f call SUB_L004C7F50 add esp,00000004h mov [esp+10h],esi mov ebx,L008FFE68 L004400B7: mov ecx,[esp+10h] mov eax,[L00903280] cmp ecx,eax jge L00440197 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [L00901280],00h repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00901280 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 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00901280 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,[esp+44h] push edi push L00901280 push SSZ0050188C_FileManager__open__trying_to_ope call SUB_L004C7F50 push edi push L00901280 call SUB_L004D6014 mov esi,eax add esp,00000014h test esi,esi jz L00440169 push esi push edi push L00901280 push ebp call SUB_L00440B10 push edi push L00901280 push SSZ0050185C_FileManager__open__opened___s__w call SUB_L004C7F50 add esp,0000001Ch L00440169: mov edx,[esp+10h] add ebx,00000202h inc edx test esi,esi mov [esp+10h],edx jz L004400B7 L00440180: push SSZ0050182C_FileManager__open__seeking_to_st call SUB_L004C7F50 add esp,00000004h mov eax,esi pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L00440197: test esi,esi jnz L00440180 mov edi,[esp+44h] push edi push ebp push SSZ005017CC_FileManager__open__failed_to_ope call SUB_L004C7EF0 push ebp push SSZ00501774_FileManager__open___fuzzy_find__ call SUB_L004C7EF0 add esp,00000014h xor ebx,ebx L004401BB: cmp ebx,[L00903280] jge L004401FE push edi push L00901280 call SUB_L004D6014 mov esi,eax add esp,00000008h test esi,esi jz L004401F7 push esi push edi push L00901280 push ebp call SUB_L00440B10 push edi push L00901280 push SSZ0050185C_FileManager__open__opened___s__w call SUB_L004C7F50 add esp,0000001Ch L004401F7: inc ebx test esi,esi jz L004401BB jmp L00440180 L004401FE: test esi,esi jnz L00440180 push edi push ebp push SSZ00501700_FileManager__open__failed_to_ope call SUB_L004C7EF0 add esp,0000000Ch mov eax,esi pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00440220: sub esp,0000002Ch push ebx mov ebx,[esp+34h] push esi push edi push ebx push SSZ00501DD8_FileManager__openAbsolute__begin call SUB_L004C7F50 mov al,[L0090127C] add esp,00000008h test al,al jnz L0044025C mov al,[L0090127D] test al,al jnz L0044025C call SUB_L0043F870 push SSZ00501D74_FileManager__openAbsolute__had_t call SUB_L004C7EF0 add esp,00000004h L0044025C: mov eax,[L00903290] xor esi,esi test eax,eax mov [esp+10h],esi jle L004403BF push ebp mov edi,L00705508 L00440275: lea eax,[edi-00000400h] push eax push ebx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004403A1 mov al,[edi+0000040Ch] test al,al jz L00440326 push edi push SSZ00501D34_FileManager__openAbsolute__file_ call SUB_L004C7EF0 mov ebp,[edi+00000408h] add esp,00000008h xor bl,bl test ebp,ebp jz L00440326 mov dword ptr [esp+10h],00000000h mov esi,L00705914 L004402C2: mov eax,[esp+10h] mov ecx,[L00903290] cmp eax,ecx jge L00440315 cmp byte ptr [esi],00h jz L00440300 cmp ebp,[esi-04h] jnz L00440300 lea ecx,[esi-0000040Ch] mov bl,01h push ecx push SSZ00501A30_FileManager__close__closing_file call SUB_L004C7F50 push ebp call SUB_L004D6027 mov byte ptr [esi],00h add esp,0000000Ch mov dword ptr [esi-04h],00000000h L00440300: mov edx,[esp+10h] add esi,0000081Ch inc edx test bl,bl mov [esp+10h],edx jz L004402C2 jmp L00440326 L00440315: test bl,bl jnz L00440326 push SSZ005019F0_FileManager__close__trying_to_cl call SUB_L004C7EF0 add esp,00000004h L00440326: mov edx,[esp+44h] push edx push edi call SUB_L004D6014 mov esi,eax add esp,00000008h test esi,esi jnz L00440350 lea eax,[edi-00000400h] push eax push SSZ00501CC0_FileManager__openAbsolute__file_ call SUB_L004C7E80 add esp,00000008h jmp L0044039D L00440350: lea eax,[esp+18h] mov [edi+00000408h],esi push eax push edi call SUB_L004D5CB8 mov ecx,[esp+34h] inc eax neg eax sbb eax,eax and eax,ecx mov [edi+00000414h],eax mov byte ptr [edi+0000040Ch],01h mov ebp,[edi+00000410h] inc ebp mov eax,ebp mov [edi+00000410h],ebp push eax lea eax,[edi-00000400h] push eax push SSZ00501C84_FileManager__openAbsolute__file_ call SUB_L004C7F50 add esp,00000014h L0044039D: mov ebx,[esp+40h] L004403A1: mov eax,[esp+14h] mov ecx,[L00903290] inc eax add edi,0000081Ch cmp eax,ecx mov [esp+14h],eax jl L00440275 pop ebp L004403BF: push SSZ00501C3C_FileManager__openAbsolute__finis call SUB_L004C7F50 add esp,00000004h test esi,esi jnz L00440457 push SSZ00501BFC_FileManager__openAbsolute__looki call SUB_L004C7F50 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [L00901280],00h repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00901280 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,[esp+44h] push edi push L00901280 push SSZ00501BBC_FileManager__openAbsolute__tryin call SUB_L004C7F50 push edi push L00901280 call SUB_L004D6014 mov esi,eax add esp,00000018h test esi,esi jz L0044046D push esi push edi push L00901280 push ebx call SUB_L00440B10 push edi push L00901280 push SSZ00501B84_FileManager__openAbsolute__opene call SUB_L004C7F50 add esp,0000001Ch L00440457: push SSZ00501B4C_FileManager__openAbsolute__seeki call SUB_L004C7F50 add esp,00000004h mov eax,esi pop edi pop esi pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0044046D: push edi push ebx push SSZ00501B18_FileManager__openAbsolute__faile call SUB_L004C7EF0 add esp,0000000Ch mov eax,esi pop edi pop esi pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440490: push ebx push esi mov esi,[esp+0Ch] push edi mov edi,[L00903290] xor cl,cl xor edx,edx mov eax,L00705910 L004404A6: cmp edx,edi jge L004404C3 mov bl,[eax+04h] test bl,bl jz L004404B7 cmp esi,[eax] jnz L004404B7 mov cl,01h L004404B7: inc edx add eax,0000081Ch test cl,cl jz L004404A6 jmp L004404D4 L004404C3: test cl,cl jnz L004404D4 push SSZ00501E0C_FileManager__seek__trying_to_see call SUB_L004C7E80 add esp,00000004h L004404D4: mov eax,[esp+18h] mov ecx,[esp+14h] push eax push ecx push esi call SUB_L004D60A4 add esp,0000000Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004404F0: mov ecx,[L00903290] mov edx,[esp+10h] push esi push edi test ecx,ecx jle L00440514 mov eax,L00705920 L00440505: cmp edx,[eax-10h] jnz L0044050C inc [eax] L0044050C: add eax,0000081Ch dec ecx jnz L00440505 L00440514: mov edi,[esp+14h] mov eax,[esp+10h] mov ecx,[esp+0Ch] push edx push edi push eax push ecx call SUB_L004D615D mov esi,eax add esp,00000010h cmp esi,edi jz L00440541 push edi push esi push SSZ00501E50_FileManager__read__items_read__d call SUB_L004C7EF0 add esp,0000000Ch L00440541: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440550: mov eax,[esp+10h] mov ecx,[esp+0Ch] mov edx,[esp+08h] push eax mov eax,[esp+08h] push ecx push edx push eax call SUB_L004D6274 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00440570: push ebx push ebp push esi push edi mov edi,[esp+14h] xor bl,bl test edi,edi jz L004405DE xor ebp,ebp mov esi,L00705914 L00440585: cmp ebp,[L00903290] jge L004405CD cmp byte ptr [esi],00h jz L004405BD cmp edi,[esi-04h] jnz L004405BD lea eax,[esi-0000040Ch] mov bl,01h push eax push SSZ00501A30_FileManager__close__closing_file call SUB_L004C7F50 push edi call SUB_L004D6027 mov byte ptr [esi],00h add esp,0000000Ch mov dword ptr [esi-04h],00000000h L004405BD: inc ebp add esi,0000081Ch test bl,bl jz L00440585 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004405CD: test bl,bl jnz L004405DE push SSZ005019F0_FileManager__close__trying_to_cl call SUB_L004C7EF0 add esp,00000004h L004405DE: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004405F0: push ecx mov eax,[esp+08h] push ebx push ebp push esi push edi push L004FD2A8 push eax xor ebx,ebx call SUB_L0043FEF0 mov ebp,eax add esp,00000008h test ebp,ebp mov [esp+10h],ebp jz L00440760 mov edx,[L00903290] xor esi,esi xor cl,cl test edx,edx jle L00440641 mov eax,L0070591C mov edi,edx L0044062C: cmp ebp,[eax-0Ch] jnz L00440635 mov esi,[eax] mov cl,01h L00440635: add eax,0000081Ch dec edi jnz L0044062C test cl,cl jnz L00440654 L00440641: push SSZ00501F40_FileManager__getOpenFileSize__fi call SUB_L004C7E80 mov edx,[L00903290] add esp,00000004h L00440654: test esi,esi jg L0044066B push esi push SSZ00501F24_FileManager__load__len__d__ call SUB_L004C7EC0 add esp,00000008h jmp L00440760 L0044066B: mov edi,[esp+1Ch] cmp dword ptr [edi],00000000h jnz L00440695 mov ecx,[esp+18h] push esi push ecx push SSZ00501EE4_FileManager__load__file___s___al call SUB_L004C7F50 push esi call SUB_L004D4FA9 mov [edi],eax mov edx,[L00903290] add esp,00000010h L00440695: mov edi,[edi] test edx,edx jle L004406B1 mov eax,L00705920 mov ecx,edx L004406A2: cmp ebp,[eax-10h] jnz L004406A9 inc [eax] L004406A9: add eax,0000081Ch dec ecx jnz L004406A2 L004406B1: push ebp push esi push 00000001h push edi call SUB_L004D615D mov ebp,eax add esp,00000010h cmp ebp,esi jz L004406D3 push esi push ebp push SSZ00501E50_FileManager__read__items_read__d call SUB_L004C7EF0 add esp,0000000Ch L004406D3: cmp ebp,esi mov [esp+1Ch],ebp jz L004406EF mov edx,[esp+18h] push esi push ebp push edx push SSZ00501EAC_FileManager__load__file___s___lo call SUB_L004C7E80 add esp,00000010h L004406EF: xor bl,bl xor edi,edi mov esi,L00705914 L004406F8: cmp edi,[L00903290] jge L00440747 cmp byte ptr [esi],00h jz L0044073A mov eax,[esp+10h] mov ecx,[esi-04h] cmp eax,ecx jnz L0044073A lea ecx,[esi-0000040Ch] mov bl,01h push ecx push SSZ00501A30_FileManager__close__closing_file call SUB_L004C7F50 mov edx,[esp+18h] push edx call SUB_L004D6027 mov byte ptr [esi],00h add esp,0000000Ch mov dword ptr [esi-04h],00000000h L0044073A: inc edi add esi,0000081Ch test bl,bl jz L004406F8 jmp L00440758 L00440747: test bl,bl jnz L00440758 push SSZ005019F0_FileManager__close__trying_to_cl call SUB_L004C7EF0 add esp,00000004h L00440758: test ebp,ebp jnz L0044077A mov ebx,[esp+1Ch] L00440760: mov eax,[esp+18h] push eax push SSZ00501E80_FileManager__load__failed_to_loa call SUB_L004C7EF0 add esp,00000008h mov eax,ebx pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L0044077A: mov eax,[esp+1Ch] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440790: push edi push SSZ00501FFC_FileManager__reportOpenFiles__ call SUB_L004C7F50 push SSZ00501FB0__open_timesOpened_________size_n call SUB_L004C7F50 mov eax,[L00903290] add esp,00000008h xor edi,edi test eax,eax jle L00440821 push esi mov esi,L00705508 L004407B9: mov al,[esi+0000040Ch] push esi test al,al jz L004407E7 mov ecx,[esi+00000418h] mov edx,[esi+00000414h] lea eax,[esi-00000400h] push eax mov eax,[esi+00000410h] push ecx push edx push eax push SSZ00501F90___yes__11d__12d__8d__20s__s_ jmp L00440808 L004407E7: mov edx,[esi+00000418h] mov eax,[esi+00000414h] lea ecx,[esi-00000400h] push ecx mov ecx,[esi+00000410h] push edx push eax push ecx push SSZ00501F70____no__11d__12d__8d__20s__s_ L00440808: call SUB_L004C7F50 mov eax,[L00903290] add esp,00000018h inc edi add esi,0000081Ch cmp edi,eax jl L004407B9 pop esi L00440821: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440830: sub esp,00000008h push esi mov esi,00000400h push edi push esi call SUB_L004D4FA9 mov [L00903288],eax add esp,00000004h mov byte ptr [eax],00h lea eax,[esp+0Ch] push eax push 00000001h push 00000000h push SSZ005020BC_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jnz L004408DA mov ecx,[L00903288] lea edx,[esp+08h] push edx mov [ecx],al mov eax,[L00903288] mov ecx,[esp+10h] push eax push 00000000h push 00000000h push SSZ005020B0_InstCDPath push ecx mov [esp+20h],esi call [ADVAPI32.dll!RegQueryValueExA] test eax,eax jnz L004408DA cmp [esp+08h],esi jc L004408AC push SSZ00502078_FileManager__setCDPath__temp____ call SUB_L004C7E80 add esp,00000004h jmp L004408DA L004408AC: mov edi,SSZ00502070_client_ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[L00903288] 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 L004408DA: mov eax,[L00903288] test eax,eax jz L004409C5 cmp byte ptr [eax],00h jz L004409C5 push eax push SSZ00502044_FileManager__setCDPath__set_CDPa call SUB_L004C7F50 mov esi,[L00903288] or ecx,FFFFFFFFh mov edi,esi xor eax,eax add esp,00000008h repne scasb not ecx dec ecx cmp ecx,00000200h jc L00440925 push SSZ005013D8_FileManager__addSearchPath__strl call SUB_L004C7E80 add esp,00000004h L00440925: push ebx mov ebx,[L00903280] mov edx,ebx mov edi,esi shl edx,08h add edx,ebx or ecx,FFFFFFFFh xor eax,eax push ebp shl edx,1 repne scasb not ecx sub edi,ecx lea ebp,[edx+L008FFE68] mov eax,ecx mov esi,edi mov edi,ebp pop ebp shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc ebx rep movsb mov byte ptr [edx+L00900068],01h mov [L00903280],ebx cmp ebx,0000000Ah mov byte ptr [edx+L00900069],00h pop ebx jl L00440984 push SSZ0050134C_FileManager__addSearchPath__numS call SUB_L004C7E80 add esp,00000004h L00440984: push SSZ0050131C_FileManager__addSearchPath__sear call SUB_L004C7F50 mov eax,[L00903280] add esp,00000004h xor esi,esi test eax,eax jle L004409D2 mov edi,L008FFE68 L004409A1: push edi push SSZ00501314___s_ call SUB_L004C7F50 mov eax,[L00903280] add esp,00000008h inc esi add edi,00000202h cmp esi,eax jl L004409A1 pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004409C5: push SSZ0050201C_FileManager__setCDPath__CDPath_n call SUB_L004C7EC0 add esp,00000004h L004409D2: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004409E0: sub esp,00000008h lea eax,[esp+04h] push esi push eax push 00000001h push 00000000h push SSZ005020BC_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jz L00440A13 push SSZ00502190_Ultima_Online_does_not_appear_to call SUB_L004C7E80 add esp,00000004h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00440A13: mov edx,[esp+08h] mov esi,[ADVAPI32.dll!RegQueryValueExA] lea ecx,[esp+04h] mov dword ptr [esp+04h],00000000h push ecx push 00000000h push 00000000h push 00000000h push SSZ00502188_ExePath push edx call esi test eax,eax jz L00440A4E push SSZ005020EC_Ultima_Online_does_not_appear_to call SUB_L004C7E80 add esp,00000004h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00440A4E: mov eax,[esp+04h] inc eax push eax call SUB_L004D4FA9 mov edx,[esp+0Ch] add esp,00000004h lea ecx,[esp+04h] mov [L00903284],eax push ecx push eax push 00000000h push 00000000h push SSZ00502188_ExePath push edx call esi test eax,eax jz L00440A8D push SSZ005020EC_Ultima_Online_does_not_appear_to call SUB_L004C7E80 add esp,00000004h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00440A8D: mov esi,[L00903284] push 0000005Ch push esi call SUB_L004D63C0 add esp,00000008h test eax,eax jz L00440ABC L00440AA2: push 0000005Ch push esi call SUB_L004D63C0 inc eax push 0000005Ch mov esi,eax push esi call SUB_L004D63C0 add esp,00000010h test eax,eax jnz L00440AA2 L00440ABC: mov byte ptr [esi],00h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440AD0: mov al,[L0090127C] test al,al jnz L00440AF4 mov al,[L0090127D] test al,al jnz L00440AF4 call SUB_L0043F870 push SSZ005014DC_FileManager__getCDPath__had_to_s call SUB_L004C7EF0 add esp,00000004h L00440AF4: mov eax,[L00903288] test eax,eax jnz L00440B0F push SSZ00501480_FileManager__getCDPath__CDPath_i call SUB_L004C7E80 mov eax,[L00903288] add esp,00000004h L00440B0F: retn ;------------------------------------------------------------------------------ SUB_L00440B10: sub esp,00000024h or ecx,FFFFFFFFh xor eax,eax push ebx push ebp push esi mov esi,[esp+34h] push edi mov edi,esi repne scasb not ecx dec ecx cmp ecx,00000400h jbe L00440B3C push SSZ0050242C_FileManager__addFile__strlen_giv call SUB_L004C7E80 add esp,00000004h L00440B3C: mov ebx,[esp+3Ch] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000400h jbe L00440B61 push SSZ00502390_FileManager__addFile__strlen_act call SUB_L004C7E80 add esp,00000004h L00440B61: mov ebp,[esp+40h] or ecx,FFFFFFFFh mov edi,ebp xor eax,eax repne scasb not ecx dec ecx cmp ecx,00000008h jbe L00440B83 push SSZ005022F0_FileManager__addFile__strlen_acc call SUB_L004C7E80 add esp,00000004h L00440B83: mov eax,[L00903290] mov edi,esi mov edx,eax or ecx,FFFFFFFFh shl edx,06h add edx,eax shl edx,03h sub edx,eax shl edx,02h lea eax,[edx+L00705108] mov [esp+38h],eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+38h] 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 lea esi,[edx+L00705508] sub edi,ecx mov eax,ecx mov [esp+38h],esi mov esi,edi mov edi,[esp+38h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx lea esi,[edx+L00705908] sub edi,ecx mov eax,ecx mov [esp+38h],esi mov esi,edi mov edi,[esp+38h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+44h] mov [edx+L00705910],ecx lea edx,[esp+10h] push edx push ebx call SUB_L004D5CB8 mov edx,[L00903290] inc eax neg eax mov edi,[esp+2Ch] mov ecx,edx sbb eax,eax shl ecx,06h add ecx,edx and eax,edi shl ecx,03h sub ecx,edx shl ecx,02h mov [ecx+L0070591C],eax mov eax,00000001h mov [ecx+L00705914],al mov [ecx+L00705918],eax mov dword ptr [ecx+L00705920],00000000h mov eax,[ecx+L0070591C] push eax push ebx push SSZ005022B0_FileManager__addOpenFile__file__ call SUB_L004C7F50 mov eax,[L00903290] add esp,00000014h inc eax pop edi pop esi pop ebp cmp eax,000003E8h mov [L00903290],eax pop ebx jl L00440CA6 push SSZ0050222C_FileManager__addOpenFile__numOpe call SUB_L004C7E80 add esp,00000004h L00440CA6: add esp,00000024h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 add esp,0000000Ch mov [L00943306],ax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' push 000000AAh push 000000AAh push 00000000h call SUB_L00446A60 add esp,0000000Ch mov [L00943304],ax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push 000000AAh push 00000000h push 000000AAh call SUB_L00446A60 add esp,0000000Ch mov [L00943302],ax retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push 0000009Bh push 0000009Bh push 0000009Bh call SUB_L00446A60 add esp,0000000Ch mov [L00943300],ax retn ;------------------------------------------------------------------------------ Align 4 SUB_L00440D30: push edi push SSZ0050250C_FontManager__startup__starting__ call SUB_L004C7F50 mov ecx,00000019h xor eax,eax mov edi,L0094329C add esp,00000004h rep stosd mov ecx,00010000h mov edi,L0090329C rep stosd call SUB_L00440E60 xor eax,eax pop edi L00440D60: cmp eax,00000064h jg L00440D82 test eax,eax jl L00440D82 mov ecx,[eax+L0094329C] xor edx,edx test ecx,ecx setnz dl test edx,edx jz L00440D82 mov edx,[eax+L005024C8] mov [ecx],edx L00440D82: add eax,00000004h cmp eax,00000024h jl L00440D60 push SSZ005024EC_FontManager__startup__started__ call SUB_L004C7F50 pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00440DA0: push SSZ00502568_FontManager__shutdown__stopping_ call SUB_L004C7F50 add esp,00000004h call SUB_L004BCED0 test eax,eax jz L00440DC4 mov eax,[L00943308] test eax,eax jz L00440DC4 call SUB_L004BCED0 L00440DC4: push ebx push ebp push esi push edi mov ebp,L0094329C L00440DCD: mov ebx,[ebp+00h] test ebx,ebx jz L00440E14 push SSZ00502554_CFont___CFont___ call SUB_L004C7F50 add esp,00000004h lea esi,[ebx+04h] mov edi,000000E0h L00440DE9: mov eax,[esi] test eax,eax jz L00440DFE push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi],00000000h L00440DFE: add esi,00000004h dec edi jnz L00440DE9 push ebx call SUB_L004D4F9E add esp,00000004h mov dword ptr [ebp+00h],00000000h L00440E14: add ebp,00000004h cmp ebp,L00943300 jl L00440DCD mov esi,L0090329C L00440E24: mov eax,[esi] test eax,eax jz L00440E39 push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi],00000000h L00440E39: add esi,00000004h cmp esi,L0094329C jl L00440E24 push SSZ00502530_FontManager__shutdown__stopped__ call SUB_L004C7F50 add esp,00000004h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00440E60: mov eax,fs:[00000000h] push FFFFFFFFh push L004E23BB push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push L004FD2A8 push SSZ005025D0_fonts_mul call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jnz L00440EB5 push SSZ005025D0_fonts_mul push SSZ005025A4_FontManager__LoadFonts__cannot_o call SUB_L004C7E80 add esp,00000008h xor eax,eax pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00440EB5: push ebp push esi push edi mov ebp,L0094329C L00440EBD: push ebx push 00000001h lea eax,[esp+18h] push 00000001h push eax call SUB_L004404F0 mov al,[esp+20h] add esp,00000010h test al,al jz L00440FF7 push 00000704h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+1Ch],esi test esi,esi mov dword ptr [esp+28h],00000000h jz L00440F24 push SSZ0050258C_CFont__CFont____begin__ call SUB_L004C7F20 add esp,00000004h lea edi,[esi+04h] mov ecx,000000E0h xor eax,eax rep stosd lea edi,[esi+00000384h] mov ecx,000000E0h rep stosd mov [esi],eax jmp L00440F26 L00440F24: xor esi,esi L00440F26: mov [ebp+00h],esi mov dword ptr [esp+28h],FFFFFFFFh mov esi,00000004h L00440F36: push ebx push 00000001h lea ecx,[esp+20h] push 00000001h push ecx call SUB_L004404F0 push ebx push 00000001h lea edx,[esp+2Ch] push 00000001h push edx call SUB_L004404F0 push ebx push 00000001h lea eax,[esp+38h] push 00000001h push eax call SUB_L004404F0 mov ecx,[esp+40h] mov edx,[ebp+00h] and ecx,000000FFh mov [esi+edx+00000380h],ecx mov eax,[esp+44h] mov ecx,[esp+48h] and eax,000000FFh and ecx,000000FFh imul eax,ecx lea edx,[eax+eax+04h] push edx call SUB_L004D4FA9 mov ecx,[ebp+00h] push ebx push 00000002h mov [esi+ecx],eax mov eax,[ebp+00h] movzx dx,[esp+54h] mov ecx,[esi+eax] mov [ecx],dx mov eax,[ebp+00h] movzx dx,[esp+50h] mov ecx,[esi+eax] mov [ecx+02h],dx mov edx,[esp+50h] mov eax,[esp+54h] and edx,000000FFh and eax,000000FFh mov ecx,[ebp+00h] imul edx,eax push edx mov edx,[esi+ecx] add edx,00000004h push edx call SUB_L004404F0 add esi,00000004h add esp,00000044h cmp esi,00000384h jl L00440F36 L00440FF7: add ebp,00000004h cmp ebp,L00943300 jl L00440EBD push ebx call SUB_L00440570 mov ecx,[esp+24h] add esp,00000004h mov eax,00000001h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441030: mov eax,[esp+04h] cmp eax,00000019h jg L0044104E test eax,eax jl L0044104E mov edx,[L0094329C+eax*4] xor ecx,ecx test edx,edx setnz cl mov eax,ecx retn ;------------------------------------------------------------------------------ L0044104E: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441060: mov eax,[esp+04h] cmp eax,00000019h jg L004410A6 test eax,eax jl L004410A6 mov eax,[L0094329C+eax*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L004410A6 mov ecx,[esp+08h] cmp ecx,00000020h jl L004410A6 lea edx,[ecx-20h] cmp edx,000000E0h jge L004410A6 mov ecx,[eax+ecx*4-7Ch] xor eax,eax xor edx,edx mov ax,[ecx] test eax,eax setnz dl mov eax,edx retn ;------------------------------------------------------------------------------ L004410A6: xor eax,eax xor edx,edx test eax,eax setnz dl mov eax,edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004410C0: mov eax,[esp+0Ch] mov edx,[L0094329C+eax*4] test edx,edx mov [esp+0Ch],edx jnz L004410E9 push edx push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch xor eax,eax retn ;------------------------------------------------------------------------------ L004410E9: push ebx push ebp mov ebp,[esp+1Ch] push esi push edi mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb mov ebx,[esp+14h] xor esi,esi not ecx dec ecx test ecx,ecx mov [esp+14h],ecx jle L00441147 mov edi,[esp+30h] jmp L00441115 L00441111: mov edx,[esp+1Ch] L00441115: mov ecx,[esp+2Ch] mov eax,[esp+28h] push edi push ecx xor ecx,ecx push eax mov cl,[esi+ebp] mov eax,[esp+2Ch] push ecx mov ecx,[esp+28h] push eax push ecx push ebx mov ecx,edx call SUB_L00443010 test eax,eax jz L00441147 add ebx,eax mov eax,[esp+14h] inc esi cmp esi,eax jl L00441111 L00441147: pop edi pop esi pop ebp mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441160: sub esp,0000041Ch mov eax,[esp+00000428h] push ebx cmp eax,00000019h mov dword ptr [esp+04h],00000000h jg L00441193 test eax,eax jl L00441193 mov edx,[L0094329C+eax*4] xor ecx,ecx test edx,edx setnz cl mov eax,ecx test eax,eax jnz L0044119D L00441193: xor eax,eax pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L0044119D: mov ebx,[esp+00000434h] test ebx,ebx jnz L004411B2 xor eax,eax pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L004411B2: push ebp push esi push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov esi,ecx inc esi cmp esi,00000100h jl L004411DF push esi push SSZ005025F4_FontManager__DrawstringBuf___OVE call SUB_L004C7F20 add esp,00000008h mov esi,000000FFh L004411DF: push esi lea edx,[esp+30h] push ebx push edx call SUB_L004D52C0 add esp,0000000Ch mov byte ptr [esp+esi+2Ch],0Ah L004411F3: or ecx,FFFFFFFFh lea edi,[esp+2Ch] xor eax,eax xor ebp,ebp mov [esp+20h],ecx repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [esp+1Ch],ecx jle L0044152E L00441215: mov eax,[esp+00000438h] mov cl,[esp+edi+2Ch] xor ebx,ebx mov eax,[L0094329C+eax*4] test eax,eax setnz bl mov esi,ebx test esi,esi movsx edx,cl jz L00441252 cmp edx,00000020h jl L00441252 lea esi,[edx-20h] cmp esi,000000E0h jge L00441252 mov edx,[eax+edx*4-7Ch] xor eax,eax mov ax,[edx] jmp L00441254 L00441252: xor eax,eax L00441254: add ebp,eax cmp cl,20h jnz L00441267 cmp edi,00000001h jle L00441267 lea eax,[edi-01h] mov [esp+20h],eax L00441267: mov ebx,[esp+00000444h] cmp ebp,ebx jg L00441281 mov eax,[esp+1Ch] inc edi cmp edi,eax jge L00441535 jmp L00441215 L00441281: mov eax,[esp+20h] cmp eax,FFFFFFFFh jnz L00441296 lea eax,[edi-01h] cmp eax,FFFFFFFFh jz L00441535 L00441296: mov dl,[esp+eax+2Dh] xor ecx,ecx cmp dl,20h lea esi,[esp+2Ch] setz cl inc eax mov [esp+18h],ecx mov ecx,eax lea edi,[esp+0000022Ch] mov edx,ecx mov [esp+20h],eax shr ecx,02h rep movsd mov ecx,edx lea edx,[esp+24h] and ecx,00000003h rep movsb mov edi,[esp+00000438h] mov byte ptr [esp+eax+0000022Ch],00h lea eax,[esp+14h] lea ecx,[esp+28h] push eax push ecx lea eax,[esp+00000234h] push edx push eax push edi call SUB_L00441BC0 mov al,[esp+00000470h] add esp,00000014h test al,al jz L004413BD mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,ebx mov ebp,[L0094329C+edi*4] lea esi,[ecx+edx] mov ecx,[esp+24h] mov edx,[esp+00000434h] sub eax,ecx add esi,edx cdq sub eax,edx mov edx,[esp+00000430h] sar eax,1 add eax,edx test ebp,ebp jnz L00441351 push ebp push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch jmp L00441460 L00441351: mov ebx,eax lea edi,[esp+0000022Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [esp+1Ch],ecx jle L00441460 L00441372: mov eax,[esp+00000450h] mov ecx,[esp+0000044Ch] mov edx,[esp+00000448h] push eax xor eax,eax push ecx mov al,[esp+edi+00000234h] mov ecx,[esp+00000444h] push edx push eax push ecx push esi push ebx mov ecx,ebp call SUB_L00443010 test eax,eax jz L00441460 add ebx,eax mov eax,[esp+1Ch] inc edi cmp edi,eax jl L00441372 jmp L00441460 L004413BD: mov edx,[esp+14h] mov eax,[esp+10h] mov ecx,[esp+00000434h] lea ebx,[edx+eax] add ebx,ecx mov ecx,[esp+00000438h] mov edx,[L0094329C+ecx*4] test edx,edx mov [esp+1Ch],edx jnz L004413FC push edx push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch jmp L00441460 L004413FC: lea edi,[esp+0000022Ch] or ecx,FFFFFFFFh xor eax,eax mov ebp,[esp+00000430h] repne scasb not ecx dec ecx xor esi,esi mov edi,ecx test edi,edi jle L00441460 jmp L00441422 L0044141E: mov edx,[esp+1Ch] L00441422: mov eax,[esp+00000450h] mov ecx,[esp+0000044Ch] push eax mov eax,[esp+0000044Ch] push ecx xor ecx,ecx mov cl,[esp+esi+00000234h] push eax mov eax,[esp+00000448h] push ecx push eax push ebx push ebp mov ecx,edx call SUB_L00443010 test eax,eax jz L00441460 add ebp,eax inc esi cmp esi,edi jl L0044141E L00441460: mov eax,[esp+00000458h] test eax,eax jz L00441471 add [esp+10h],eax jmp L0044147F L00441471: mov ecx,[esp+28h] mov eax,[esp+10h] add eax,ecx mov [esp+10h],eax L0044147F: lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax mov esi,[esp+20h] repne scasb mov edx,[esp+18h] not ecx dec ecx sub ecx,esi sub ecx,edx test ecx,ecx jle L004414AF add esi,edx lea esi,[esp+esi+2Ch] L004414A3: mov dl,[esi+eax] mov [esp+eax+2Ch],dl inc eax cmp eax,ecx jl L004414A3 L004414AF: mov byte ptr [esp+eax+2Ch],00h mov eax,[esp+00000454h] test eax,eax jz L004411F3 lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax mov edx,[esp+00000454h] repne scasb not ecx dec ecx lea edi,[esp+2Ch] add ecx,edx mov [esp+ecx+2Ch],al or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[ecx+edx-01h] cmp eax,edx jl L00441503 L004414F2: mov ecx,eax sub ecx,edx dec eax cmp eax,edx mov cl,[esp+ecx+2Ch] mov [esp+eax+2Dh],cl jge L004414F2 L00441503: test edx,edx jle L004411F3 mov ecx,[esp+00000454h] mov eax,20202020h mov edx,ecx lea edi,[esp+2Ch] shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb jmp L004411F3 L0044152E: mov ebx,[esp+00000444h] L00441535: mov edi,[esp+00000438h] lea eax,[esp+14h] lea ecx,[esp+28h] push eax lea edx,[esp+28h] push ecx lea eax,[esp+34h] push edx push eax push edi call SUB_L00441BC0 mov al,[esp+00000470h] add esp,00000014h test al,al jz L0044161B mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,ebx mov ebp,[L0094329C+edi*4] lea esi,[ecx+edx] mov ecx,[esp+24h] mov edx,[esp+00000434h] sub eax,ecx add esi,edx cdq sub eax,edx mov edx,[esp+00000430h] sar eax,1 add eax,edx test ebp,ebp jnz L004415B5 push ebp push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch jmp L004416B8 L004415B5: mov ebx,eax lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [esp+18h],ecx jle L004416B8 L004415D3: mov eax,[esp+00000450h] mov ecx,[esp+0000044Ch] mov edx,[esp+00000448h] push eax xor eax,eax push ecx mov al,[esp+edi+34h] mov ecx,[esp+00000444h] push edx push eax push ecx push esi push ebx mov ecx,ebp call SUB_L00443010 test eax,eax jz L004416B8 add ebx,eax mov eax,[esp+18h] inc edi cmp edi,eax jl L004415D3 jmp L004416B8 L0044161B: mov edx,[esp+14h] mov eax,[esp+10h] mov ecx,[esp+00000434h] lea ebp,[edx+eax] add ebp,ecx mov ecx,[esp+00000438h] mov edx,[L0094329C+ecx*4] test edx,edx mov [esp+18h],edx jnz L0044165A push edx push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch jmp L004416B8 L0044165A: lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax mov ebx,[esp+00000430h] repne scasb not ecx dec ecx xor esi,esi mov edi,ecx test edi,edi jle L004416B8 jmp L0044167D L00441679: mov edx,[esp+18h] L0044167D: mov eax,[esp+00000450h] mov ecx,[esp+0000044Ch] push eax mov eax,[esp+0000044Ch] push ecx xor ecx,ecx mov cl,[esp+esi+34h] push eax mov eax,[esp+00000448h] push ecx push eax push ebp push ebx mov ecx,edx call SUB_L00443010 test eax,eax jz L004416B8 add ebx,eax inc esi cmp esi,edi jl L00441679 L004416B8: mov eax,[esp+00000458h] pop edi pop esi pop ebp test eax,eax jz L004416D4 mov ecx,[esp+04h] pop ebx add eax,ecx add esp,0000041Ch retn ;------------------------------------------------------------------------------ L004416D4: mov edx,[esp+1Ch] mov eax,[esp+04h] add eax,edx pop ebx add esp,0000041Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004416F0: sub esp,00000210h push ebp mov ebp,[esp+00000220h] xor ecx,ecx mov eax,[L0094329C+ebp*4] mov [esp+04h],ecx cmp eax,ecx mov [esp+0Ch],ecx mov [esp+10h],eax jnz L00441734 push ecx push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch xor eax,eax pop ebp add esp,00000210h retn ;------------------------------------------------------------------------------ L00441734: push ebx mov ebx,[esp+0000022Ch] push esi push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov esi,ecx inc esi cmp esi,00000100h jl L00441768 push esi push SSZ0050262C_FontManager__DrawStringBufEllips call SUB_L004C7F20 add esp,00000008h mov esi,000000FFh L00441768: push esi lea eax,[esp+24h] push ebx push eax call SUB_L004D52C0 lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax add esp,0000000Ch mov byte ptr [esp+esi+20h],0Ah xor esi,esi repne scasb not ecx dec ecx test ecx,ecx mov [esp+14h],ecx jle L004417E4 L00441794: movsx edx,[esp+esi+20h] cmp ebp,00000019h jg L004417CF test ebp,ebp jl L004417CF mov eax,[L0094329C+ebp*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L004417CF cmp edx,00000020h jl L004417CF lea ecx,[edx-20h] cmp ecx,000000E0h jge L004417CF mov edx,[eax+edx*4-7Ch] xor eax,eax mov ax,[edx] jmp L004417D1 L004417CF: xor eax,eax L004417D1: mov edx,[esp+10h] add edx,eax mov eax,[esp+14h] inc esi mov [esp+10h],edx cmp esi,eax jl L00441794 L004417E4: mov edx,[esp+00000240h] mov esi,[esp+10h] mov eax,[esp+00000224h] mov edi,[edx+08h] lea ecx,[esi+eax] cmp ecx,edi jle L004418B4 cmp ebp,00000019h mov dword ptr [esp+18h],00000001h jg L00441831 test ebp,ebp jl L00441831 mov eax,[L0094329C+ebp*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L00441831 mov ecx,[eax+3Ch] xor eax,eax mov ax,[ecx] jmp L00441833 L00441831: xor eax,eax L00441833: mov ebx,[esp+00000224h] lea eax,[eax+eax*2] lea ecx,[eax+esi] add ecx,ebx cmp ecx,edi jle L004418B4 mov ecx,ebx lea ebx,[eax+ecx] L0044184B: lea edi,[esp+20h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ebp,00000019h movsx edi,[esp+ecx+1Fh] jg L00441894 test ebp,ebp jl L00441894 mov eax,[L0094329C+ebp*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L00441894 cmp edi,00000020h jl L00441894 lea ecx,[edi-20h] cmp ecx,000000E0h jge L00441894 mov ecx,[eax+edi*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00441896 L00441894: xor eax,eax L00441896: sub esi,eax lea edi,[esp+20h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [esp+ecx+1Fh],al mov ecx,[edx+08h] lea eax,[ebx+esi] cmp eax,ecx jg L0044184B L004418B4: mov eax,[esp+14h] mov esi,[esp+00000224h] mov ebp,[esp+0000023Ch] mov ebx,[esp+00000238h] xor edi,edi test eax,eax jle L00441908 L004418D3: movsx ecx,[esp+edi+20h] mov eax,[esp+00000228h] push edx mov edx,[esp+00000234h] push ebp push ebx push ecx mov ecx,[esp+2Ch] push edx push eax push esi call SUB_L00443010 mov edx,[esp+00000240h] add esi,eax mov eax,[esp+14h] inc edi cmp edi,eax jl L004418D3 L00441908: mov eax,[esp+18h] test eax,eax jz L00441942 mov edi,00000003h jmp L0044191E L00441917: mov edx,[esp+00000240h] L0044191E: mov ecx,[esp+00000230h] push edx mov edx,[esp+0000022Ch] push ebp push ebx push 0000002Eh push ecx mov ecx,[esp+30h] push edx push esi call SUB_L00443010 add esi,eax dec edi jnz L00441917 L00441942: pop edi pop esi pop ebx mov eax,00000001h pop ebp add esp,00000210h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00441960: sub esp,00000414h push ebx push ebp mov ebp,[esp+00000428h] xor ebx,ebx mov [esp+14h],ebx mov eax,[L0094329C+ebp*4] cmp eax,ebx mov [esp+0Ch],eax jnz L004419A2 push ebx push SSZ005025EC_Error push SSZ005025DC_Missing_Font_ call SUB_L004D1020 add esp,0000000Ch xor eax,eax pop ebp pop ebx add esp,00000414h retn ;------------------------------------------------------------------------------ L004419A2: push esi push edi mov edi,[esp+00000438h] push edi call SUB_L004C4300 mov esi,eax add esp,00000004h cmp esi,00000100h jl L004419D4 mov esi,00000100h lea eax,[esp+24h] push esi push edi push eax call SUB_L004C4460 add esp,0000000Ch jmp L004419E2 L004419D4: lea ecx,[esp+24h] push edi push ecx call SUB_L004C4430 add esp,00000008h L004419E2: test esi,esi jle L00441A2F lea edi,[esp+24h] L004419EA: xor eax,eax cmp ebp,00000019h mov ax,[edi] jg L00441A25 test ebp,ebp jl L00441A25 mov ecx,[L0094329C+ebp*4] xor edx,edx test ecx,ecx setnz dl test edx,edx jz L00441A25 cmp eax,00000020h jl L00441A25 lea edx,[eax-20h] cmp edx,000000E0h jge L00441A25 mov ecx,[ecx+eax*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00441A27 L00441A25: xor eax,eax L00441A27: add ebx,eax add edi,00000002h dec esi jnz L004419EA L00441A2F: mov edx,[esp+00000444h] mov esi,[esp+00000428h] mov edx,[edx+08h] lea eax,[ebx+esi] cmp eax,edx jle L00441AFC cmp ebp,00000019h mov dword ptr [esp+1Ch],00000001h jg L00441A78 test ebp,ebp jl L00441A78 mov eax,[L0094329C+ebp*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L00441A78 mov ecx,[eax+3Ch] xor eax,eax mov ax,[ecx] jmp L00441A7A L00441A78: xor eax,eax L00441A7A: lea eax,[eax+eax*2] lea ecx,[eax+ebx] add ecx,esi cmp ecx,edx jle L00441AFC lea edi,[eax+esi] L00441A89: lea edx,[esp+24h] push edx call SUB_L004C4300 mov ecx,eax add esp,00000004h xor eax,eax cmp ebp,00000019h mov ax,[esp+ecx*2+22h] jg L00441AD5 test ebp,ebp jl L00441AD5 mov ecx,[L0094329C+ebp*4] xor edx,edx test ecx,ecx setnz dl test edx,edx jz L00441AD5 cmp eax,00000020h jl L00441AD5 lea edx,[eax-20h] cmp edx,000000E0h jge L00441AD5 mov ecx,[ecx+eax*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00441AD7 L00441AD5: xor eax,eax L00441AD7: lea edx,[esp+24h] sub ebx,eax push edx call SUB_L004C4300 mov ecx,[esp+00000448h] mov word ptr [esp+eax*2+26h],0000h lea eax,[edi+ebx] add esp,00000004h cmp eax,[ecx+08h] jg L00441A89 L00441AFC: lea edx,[esp+24h] push edx call SUB_L004C4300 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+10h],00000000h jle L00441BAF mov edi,[esp+00000440h] mov ebx,[esp+0000043Ch] mov ebp,[esp+00000434h] L00441B32: mov eax,[esp+00000444h] mov edx,[esp+10h] xor ecx,ecx push eax mov cx,[esp+edx*2+28h] mov eax,[esp+00000430h] push edi push ebx push ecx mov ecx,[esp+24h] push ebp push eax push esi call SUB_L00443010 add esi,eax mov eax,[esp+1Ch] test eax,eax jz L00441B9E mov eax,00000003h mov [esp+18h],eax mov [esp+10h],eax L00441B72: mov ecx,[esp+00000444h] mov edx,[esp+0000042Ch] push ecx mov ecx,[esp+18h] push edi push ebx push 0000002Eh push ebp push edx push esi call SUB_L00443010 add esi,eax mov eax,[esp+18h] dec eax mov [esp+18h],eax jnz L00441B72 L00441B9E: mov eax,[esp+10h] mov ecx,[esp+20h] inc eax cmp eax,ecx mov [esp+10h],eax jl L00441B32 L00441BAF: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000414h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00441BC0: sub esp,0000000Ch mov eax,[esp+10h] push ebx xor ebx,ebx push ebp cmp eax,00000019h push esi mov [esp+0Ch],ebx mov [esp+10h],ebx jg L00441BF1 cmp eax,ebx jl L00441BF1 mov esi,[L0094329C+eax*4] xor eax,eax cmp esi,ebx setnz al mov ebp,eax cmp ebp,ebx jnz L00441BFA L00441BF1: pop esi pop ebp xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L00441BFA: push edi mov edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor edi,edi cmp ecx,ebx mov [esp+18h],ecx jle L00441CA1 L00441C17: mov ecx,[esp+24h] mov al,[edi+ecx] cmp al,20h mov [esp+20h],al jc L00441C94 mov edx,[esp+20h] and edx,000000FFh test ebp,ebp jz L00441C4E cmp edx,00000020h jl L00441C4E lea eax,[edx-20h] cmp eax,000000E0h jge L00441C4E mov ecx,[esi+edx*4-7Ch] xor eax,eax mov ax,[ecx] jmp L00441C50 L00441C4E: xor eax,eax L00441C50: mov ecx,[esp+10h] add ecx,eax test ebp,ebp mov [esp+10h],ecx jz L00441C79 cmp edx,00000020h jl L00441C79 lea eax,[edx-20h] cmp eax,000000E0h jge L00441C79 mov ecx,[esi+edx*4-7Ch] xor eax,eax mov ax,[ecx+02h] jmp L00441C7B L00441C79: xor eax,eax L00441C7B: mov edx,[esi+edx*4+00000304h] sub eax,edx cmp eax,ebx jle L00441C8A mov ebx,eax L00441C8A: cmp edx,[esp+14h] jle L00441C94 mov [esp+14h],edx L00441C94: mov eax,[esp+18h] inc edi cmp edi,eax jl L00441C17 L00441CA1: mov edx,[esp+28h] mov eax,[esp+10h] mov ecx,[esp+14h] pop edi mov [edx],eax mov edx,[esp+28h] mov eax,[esp+2Ch] add ecx,ebx dec ebx mov [edx],ecx pop esi mov [eax],ebx pop ebp mov eax,00000001h pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00441CD0: sub esp,00000420h push ebx push esi mov esi,[esp+0000042Ch] xor ecx,ecx cmp esi,00000019h push edi mov [esp+0Ch],ecx mov [esp+1Ch],ecx mov [esp+10h],ecx jg L00441D09 cmp esi,ecx jl L00441D09 mov edi,[L0094329C+esi*4] xor eax,eax cmp edi,ecx setnz al cmp eax,ecx jnz L00441D15 L00441D09: pop edi pop esi xor eax,eax pop ebx add esp,00000420h retn ;------------------------------------------------------------------------------ L00441D15: mov ebx,[esp+00000434h] cmp ebx,ecx jnz L00441D2C pop edi pop esi xor eax,eax pop ebx add esp,00000420h retn ;------------------------------------------------------------------------------ L00441D2C: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,ecx inc edi cmp edi,00000100h jl L00441D56 push edi push SSZ0050266C_FontManager__CalcInfoWrap___OVER call SUB_L004C7F20 add esp,00000008h mov edi,000000FFh L00441D56: push ebp push edi lea eax,[esp+34h] push ebx push eax call SUB_L004D52C0 add esp,0000000Ch mov byte ptr [esp+edi+30h],0Ah L00441D6B: or ecx,FFFFFFFFh lea edi,[esp+30h] xor eax,eax xor ebp,ebp mov [esp+28h],ecx repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [esp+2Ch],ecx jle L00441F33 L00441D8D: mov eax,[L0094329C+esi*4] mov cl,[esp+edi+30h] xor ebx,ebx test eax,eax setnz bl mov esi,ebx test esi,esi movsx edx,cl jz L00441DC3 cmp edx,00000020h jl L00441DC3 lea esi,[edx-20h] cmp esi,000000E0h jge L00441DC3 mov edx,[eax+edx*4-7Ch] xor eax,eax mov ax,[edx] jmp L00441DC5 L00441DC3: xor eax,eax L00441DC5: add ebp,eax cmp cl,20h jnz L00441DD8 cmp edi,00000001h jle L00441DD8 lea eax,[edi-01h] mov [esp+28h],eax L00441DD8: cmp ebp,[esp+0000043Ch] jg L00441DF7 mov eax,[esp+2Ch] inc edi cmp edi,eax jge L00441F2C mov esi,[esp+00000434h] jmp L00441D8D L00441DF7: mov eax,[esp+28h] cmp eax,FFFFFFFFh jnz L00441E0C lea eax,[edi-01h] cmp eax,FFFFFFFFh jz L00441F2C L00441E0C: mov cl,[esp+eax+31h] xor ebx,ebx lea ebp,[eax+01h] cmp cl,20h mov ecx,ebp lea esi,[esp+30h] mov edx,ecx lea edi,[esp+00000230h] setz bl shr ecx,02h rep movsd mov ecx,edx lea eax,[esp+24h] and ecx,00000003h push eax rep movsb mov esi,[esp+00000438h] lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx lea eax,[esp+00000238h] push edx push eax push esi mov byte ptr [esp+ebp+00000244h],00h call SUB_L00441BC0 mov eax,[esp+30h] mov ecx,[esp+24h] add esp,00000014h cmp eax,ecx jle L00441E75 mov [esp+10h],eax L00441E75: mov ecx,[esp+18h] mov edx,[esp+20h] mov eax,[esp+14h] add edx,ecx test eax,eax mov [esp+20h],edx jnz L00441E93 mov edx,[esp+24h] mov [esp+14h],edx L00441E93: lea edi,[esp+30h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx sub ecx,ebp sub ecx,ebx test ecx,ecx jle L00441EBB add ebp,ebx lea edi,[esp+ebp+30h] L00441EAF: mov dl,[edi+eax] mov [esp+eax+30h],dl inc eax cmp eax,ecx jl L00441EAF L00441EBB: mov edx,[esp+0000044Ch] mov byte ptr [esp+eax+30h],00h test edx,edx jz L00441D6B lea edi,[esp+30h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea edi,[esp+30h] add ecx,edx mov [esp+ecx+30h],al or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[ecx+edx-01h] cmp eax,edx jl L00441F08 L00441EF7: mov ecx,eax sub ecx,edx dec eax cmp eax,edx mov cl,[esp+ecx+30h] mov [esp+eax+31h],cl jge L00441EF7 L00441F08: test edx,edx jle L00441D6B mov ecx,edx mov eax,20202020h lea edi,[esp+30h] shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb jmp L00441D6B L00441F2C: mov esi,[esp+00000434h] L00441F33: lea eax,[esp+24h] lea ecx,[esp+18h] push eax lea edx,[esp+20h] push ecx lea eax,[esp+38h] push edx push eax push esi call SUB_L00441BC0 mov eax,[esp+30h] mov ecx,[esp+24h] add esp,00000014h cmp eax,ecx pop ebp jle L00441F61 mov [esp+0Ch],eax L00441F61: mov eax,[esp+1Ch] mov edx,[esp+14h] mov ecx,[esp+10h] add eax,edx test ecx,ecx jnz L00441F7B mov ecx,[esp+20h] mov [esp+10h],ecx L00441F7B: mov edx,[esp+0000043Ch] mov ecx,[esp+0Ch] pop edi pop esi mov [edx],ecx mov edx,[esp+00000438h] mov ecx,[esp+08h] pop ebx mov [edx],eax mov eax,[esp+00000438h] mov [eax],ecx mov eax,00000001h add esp,00000420h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00441FB0: sub esp,00000010h mov edx,[esp+18h] push ebx push ebp push esi push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx xor esi,esi test ecx,ecx mov dword ptr [esp+10h],00000000h mov dword ptr [esp+14h],FFFFFFFFh mov [esp+1Ch],ecx mov [esp+28h],esi jle L00442083 mov ebp,[esp+24h] or eax,FFFFFFFFh sub eax,edx mov edi,edx mov [esp+18h],eax L00441FF8: mov cl,[edi] cmp ebp,00000019h movsx edx,cl jg L00442045 test ebp,ebp jl L00442045 mov eax,[L0094329C+ebp*4] xor ebx,ebx test eax,eax setnz bl mov esi,ebx test esi,esi jz L00442041 cmp edx,00000020h jl L00442039 lea esi,[edx-20h] cmp esi,000000E0h jge L00442039 mov edx,[eax+edx*4-7Ch] mov esi,[esp+28h] xor eax,eax mov ax,[edx] jmp L00442047 L00442039: mov esi,[esp+28h] xor eax,eax jmp L00442047 L00442041: mov esi,[esp+28h] L00442045: xor eax,eax L00442047: mov edx,[esp+10h] add edx,eax cmp cl,20h mov [esp+10h],edx jnz L00442065 cmp esi,00000001h jle L00442065 mov eax,[esp+18h] add eax,edi mov [esp+14h],eax L00442065: mov ecx,[esp+10h] mov eax,[esp+2Ch] cmp ecx,eax jg L0044208E mov eax,[esp+1Ch] inc esi inc edi cmp esi,eax mov [esp+28h],esi jl L00441FF8 L00442083: or eax,FFFFFFFFh L00442086: pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L0044208E: mov eax,[esp+14h] cmp eax,FFFFFFFFh jnz L00442086 lea eax,[esi-01h] pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004420B0: mov ecx,[esp+14h] push ebx and ecx,0000FFFFh mov ebx,[esp+1Ch] mov eax,ecx push esi shl eax,10h add eax,ecx mov ecx,[esp+10h] mov edx,ecx xor esi,esi mov si,[ebx] push edi mov edi,[esp+10h] sar edx,1 imul edx,esi mov esi,edi sar esi,1 add edx,esi lea esi,[ebx+edx*4+04h] mov edx,[esp+1Ch] sub edx,ecx lea ecx,[edx+01h] test ecx,ecx jle L00442125 mov edx,[esp+18h] push ebp sub edx,edi mov ebp,ecx inc edx sar edx,1 L004420FF: test edx,edx jle L0044210C mov ecx,edx mov edi,esi rep stosd lea esi,[esi+edx*4] L0044210C: xor ecx,ecx mov cx,[ebx] shr ecx,1 sub ecx,edx dec ebp lea esi,[esi+ecx*4] jnz L004420FF pop ebp pop edi pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L00442125: pop edi pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00442130: mov ecx,[esp+04h] sub esp,00000008h push ebx mov ebx,[esp+18h] push ebp mov ebp,[esp+28h] push esi cmp ecx,ebx mov si,[ebp+00h] push edi jnz L004421EC mov eax,[esp+20h] mov edx,[esp+28h] cmp eax,edx jge L004421A3 and esi,0000FFFFh mov edi,esi imul edi,eax add edi,ecx mov ecx,eax and eax,0000FFFFh cmp eax,edx lea ebp,[ebp+edi*2+04h] jg L004423C6 lea eax,[esi+esi] mov si,[esp+2Ch] L00442183: mov [ebp+00h],si add ebp,eax inc ecx mov edi,ecx and edi,0000FFFFh cmp edi,edx jle L00442183 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004421A3: and esi,0000FFFFh mov edi,esi imul edi,edx add edi,ecx mov ecx,edx and edx,0000FFFFh cmp edx,eax lea ebp,[ebp+edi*2+04h] jg L004423C6 lea edx,[esi+esi] mov si,[esp+2Ch] L004421CC: mov [ebp+00h],si add ebp,edx inc ecx mov edi,ecx and edi,0000FFFFh cmp edi,eax jle L004421CC pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004421EC: mov edi,[esp+20h] mov eax,[esp+28h] cmp edi,eax jnz L00442288 cmp ecx,ebx jge L00442244 and esi,0000FFFFh mov eax,ecx imul esi,edi add esi,ecx and ecx,0000FFFFh cmp ecx,ebx lea esi,[ebp+esi*2+04h] jg L004423C6 mov cx,[esp+2Ch] L00442224: mov [esi],cx add esi,00000002h inc eax mov edx,eax and edx,0000FFFFh cmp edx,ebx jle L00442224 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442244: and esi,0000FFFFh mov eax,ebx imul esi,edi add esi,ebx and ebx,0000FFFFh cmp ebx,ecx lea esi,[ebp+esi*2+04h] jg L004423C6 mov dx,[esp+2Ch] L00442268: mov [esi],dx add esi,00000002h inc eax mov edi,eax and edi,0000FFFFh cmp edi,ecx jle L00442268 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442288: mov eax,ebx sub eax,ecx mov [esp+10h],eax cdq xor eax,edx sub eax,edx mov [esp+1Ch],eax mov eax,[esp+28h] sub eax,edi mov [esp+24h],eax cdq xor eax,edx sub eax,edx mov edx,[esp+1Ch] cmp edx,eax mov [esp+14h],eax jle L00442344 xor eax,eax cmp ebx,ecx setle al dec eax and esi,0000FFFFh and eax,00000002h mov ebp,esi dec eax imul ebp,edi mov [esp+20h],eax mov eax,[esp+24h] shl eax,10h cdq idiv [esp+1Ch] mov edx,edi mov edi,[esp+30h] mov [esp+28h],ecx add ebp,ecx and ecx,0000FFFFh shl edx,10h cmp ecx,ebx mov [esp+1Ch],eax mov ax,[esp+2Ch] mov [edi+ebp*2+04h],ax jz L004423C6 L0044230A: mov ecx,[esp+28h] mov ebp,[esp+20h] add ecx,ebp mov ebp,[esp+1Ch] add edx,ebp mov [esp+28h],ecx mov ebp,edx and ecx,0000FFFFh sar ebp,10h imul ebp,esi add ebp,ecx cmp ecx,ebx mov [edi+ebp*2+04h],ax jnz L0044230A pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442344: mov eax,[esp+28h] xor edx,edx cmp eax,edi mov eax,[esp+10h] setle dl dec edx and esi,0000FFFFh and edx,00000002h mov ebx,edi dec edx shl eax,10h mov [esp+20h],edx cdq idiv [esp+14h] mov edx,ecx shl edx,10h mov [esp+1Ch],eax mov eax,esi imul eax,edi add eax,ecx mov cx,[esp+2Ch] and edi,0000FFFFh mov [ebp+eax*2+04h],cx mov eax,[esp+28h] cmp edi,eax jz L004423C6 L00442394: mov ecx,[esp+20h] mov eax,[esp+1Ch] add ebx,ecx add edx,eax mov ecx,ebx mov edi,edx and ecx,0000FFFFh mov eax,ecx imul eax,esi sar edi,10h add eax,edi mov di,[esp+2Ch] mov [ebp+eax*2+04h],di mov eax,[esp+28h] cmp ecx,eax jnz L00442394 L004423C6: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004423E0: mov ecx,[esp+04h] sub esp,00000008h push ebx mov ebx,[esp+18h] push ebp mov ebp,[esp+24h] push esi cmp ecx,ebx mov si,[ebp+00h] push edi jnz L004424C4 mov eax,[esp+20h] mov edx,[esp+28h] cmp eax,edx jge L00442467 and esi,0000FFFFh mov edi,esi imul edi,eax add edi,ecx mov ecx,eax and eax,0000FFFFh cmp eax,edx lea ebp,[ebp+edi*2+04h] jg L0044273F lea eax,[esi+esi] L0044242E: mov esi,[L0051217C] mov di,[ebp+00h] mov ebx,[L00512184] sar esi,1 shr di,1 and esi,edi add esi,ebx mov [ebp+00h],si add ebp,eax inc ecx mov esi,ecx and esi,0000FFFFh cmp esi,edx jle L0044242E pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442467: and esi,0000FFFFh mov edi,esi imul edi,edx add edi,ecx mov ecx,edx and edx,0000FFFFh cmp edx,eax lea ebp,[ebp+edi*2+04h] jg L0044273F lea edx,[esi+esi] L0044248B: mov esi,[L0051217C] mov di,[ebp+00h] mov ebx,[L00512184] sar esi,1 shr di,1 and esi,edi add esi,ebx mov [ebp+00h],si add ebp,edx inc ecx mov esi,ecx and esi,0000FFFFh cmp esi,eax jle L0044248B pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004424C4: mov edi,[esp+20h] mov eax,[esp+28h] cmp edi,eax jnz L00442586 cmp ecx,ebx jge L0044252F and esi,0000FFFFh mov eax,ecx imul esi,edi add esi,ecx and ecx,0000FFFFh cmp ecx,ebx lea esi,[ebp+esi*2+04h] jg L0044273F L004424F7: mov ecx,[L0051217C] mov dx,[esi] sar ecx,1 shr dx,1 and ecx,edx mov edx,[L00512184] add ecx,edx mov [esi],cx add esi,00000002h inc eax mov ecx,eax and ecx,0000FFFFh cmp ecx,ebx jle L004424F7 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0044252F: and esi,0000FFFFh mov eax,ebx imul esi,edi add esi,ebx and ebx,0000FFFFh cmp ebx,ecx lea esi,[ebp+esi*2+04h] jg L0044273F L0044254E: mov edx,[L0051217C] mov di,[esi] sar edx,1 shr di,1 and edx,edi mov edi,[L00512184] add edx,edi mov [esi],dx add esi,00000002h inc eax mov edx,eax and edx,0000FFFFh cmp edx,ecx jle L0044254E pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442586: mov eax,ebx sub eax,ecx mov [esp+10h],eax cdq xor eax,edx sub eax,edx mov [esp+20h],eax mov eax,[esp+28h] sub eax,edi mov [esp+24h],eax cdq xor eax,edx sub eax,edx mov edx,[esp+20h] cmp edx,eax mov [esp+14h],eax jle L00442680 xor eax,eax cmp ebx,ecx setle al dec eax and esi,0000FFFFh and eax,00000002h mov ebp,esi dec eax imul ebp,edi mov [esp+1Ch],eax mov eax,[esp+24h] shl eax,10h cdq idiv [esp+20h] mov edx,edi mov edi,[esp+2Ch] add ebp,ecx shl edx,10h lea edi,[edi+ebp*2+04h] mov ebp,[L0051217C] mov [esp+20h],edi mov di,[edi] sar ebp,1 shr di,1 and ebp,edi mov edi,[L00512184] add ebp,edi mov edi,[esp+20h] mov [edi],bp mov [esp+24h],eax mov eax,ecx and ecx,0000FFFFh cmp ecx,ebx jz L0044273F jmp L00442629 L00442625: mov eax,[esp+28h] L00442629: mov edi,[esp+1Ch] mov ecx,[esp+24h] add eax,edi add edx,ecx mov [esp+28h],eax mov ecx,eax mov eax,edx mov edi,[esp+2Ch] sar eax,10h imul eax,esi and ecx,0000FFFFh add eax,ecx mov bp,[edi+eax*2+04h] lea edi,[edi+eax*2+04h] mov eax,[L0051217C] sar eax,1 shr bp,1 and eax,ebp mov ebp,[L00512184] add eax,ebp cmp ecx,ebx mov [edi],ax jnz L00442625 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442680: mov eax,[esp+28h] xor edx,edx cmp eax,edi mov eax,[esp+10h] setle dl dec edx and esi,0000FFFFh and edx,00000002h mov ebx,esi dec edx imul ebx,edi shl eax,10h mov [esp+1Ch],edx add ebx,ecx cdq idiv [esp+14h] mov edx,ecx lea ecx,[ebp+ebx*2+04h] mov ebx,[L0051217C] mov [esp+20h],ecx mov cx,[ecx] sar ebx,1 shr cx,1 and ebx,ecx mov ecx,[L00512184] add ebx,ecx mov ecx,[esp+20h] shl edx,10h mov [ecx],bx mov ecx,[esp+28h] mov [esp+24h],eax mov eax,edi and edi,0000FFFFh cmp edi,ecx jz L0044273F jmp L004426F3 L004426EF: mov eax,[esp+2Ch] L004426F3: mov edi,[esp+1Ch] mov ecx,[esp+24h] add eax,edi add edx,ecx mov ecx,eax mov [esp+2Ch],eax and ecx,0000FFFFh mov edi,edx mov eax,ecx imul eax,esi sar edi,10h add eax,edi mov bx,[ebp+eax*2+04h] lea edi,[ebp+eax*2+04h] mov eax,[L0051217C] sar eax,1 shr bx,1 and eax,ebx mov ebx,[L00512184] add eax,ebx mov [edi],ax mov eax,[esp+28h] cmp ecx,eax jnz L004426EF L0044273F: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00442750: sub esp,00000008h mov ecx,[esp+0Ch] push ebx mov ebx,[esp+20h] push ebp push esi push edi mov edi,[esp+24h] mov bp,[ebx] cmp ecx,edi mov [esp+10h],ebp jnz L00442824 mov edx,[esp+20h] mov esi,[esp+28h] cmp edx,esi jge L004427D1 and ebp,0000FFFFh mov edi,edx mov eax,ebp imul eax,edx add eax,ecx and edx,0000FFFFh cmp edx,esi lea ebx,[ebx+eax*2+04h] jg L00442A2D mov eax,edx mov edx,[esp+30h] L004427A5: imul eax,ebp add eax,ecx mov ax,[edx+eax*2+04h] mov [ebx],ax lea eax,[ebp+ebp+00h] add ebx,eax inc edi mov eax,edi and eax,0000FFFFh cmp eax,esi jle L004427A5 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004427D1: and ebp,0000FFFFh mov edi,esi mov eax,ebp imul eax,esi add eax,ecx and esi,0000FFFFh cmp esi,edx lea ebx,[ebx+eax*2+04h] jg L00442A2D mov eax,esi mov esi,[esp+30h] L004427F8: imul eax,ebp add eax,ecx mov ax,[esi+eax*2+04h] mov [ebx],ax lea eax,[ebp+ebp+00h] add ebx,eax inc edi mov eax,edi and eax,0000FFFFh cmp eax,edx jle L004427F8 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442824: mov esi,[esp+20h] mov eax,[esp+28h] cmp esi,eax jnz L004428D2 cmp ecx,edi jge L00442885 and ebp,0000FFFFh imul ebp,esi lea edx,[ecx+ebp] lea ebx,[ebx+edx*2+04h] mov edx,ecx and ecx,0000FFFFh cmp ecx,edi jg L00442A2D mov eax,ecx mov ecx,[esp+30h] L0044285E: add eax,ebp add ebx,00000002h inc edx mov ax,[ecx+eax*2+04h] mov [ebx-02h],ax mov eax,edx and eax,0000FFFFh cmp eax,edi jle L0044285E pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L00442885: and ebp,0000FFFFh imul ebp,esi lea edx,[edi+ebp] lea ebx,[ebx+edx*2+04h] mov edx,edi and edi,0000FFFFh cmp edi,ecx jg L00442A2D mov esi,[esp+30h] mov eax,edi L004428AB: add eax,ebp add ebx,00000002h inc edx mov ax,[esi+eax*2+04h] mov [ebx-02h],ax mov eax,edx and eax,0000FFFFh cmp eax,ecx jle L004428AB pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004428D2: mov eax,edi sub eax,ecx mov [esp+24h],eax cdq xor eax,edx sub eax,edx mov [esp+2Ch],eax mov eax,[esp+28h] sub eax,esi mov [esp+1Ch],eax cdq xor eax,edx sub eax,edx mov edx,[esp+2Ch] cmp edx,eax mov [esp+14h],eax jle L0044299F xor edx,edx mov eax,[esp+1Ch] cmp edi,ecx mov ebp,[esp+10h] setle dl dec edx and ebp,0000FFFFh and edx,00000002h mov [esp+28h],ecx dec edx shl eax,10h mov [esp+20h],edx cdq idiv [esp+2Ch] mov edx,esi shl edx,10h mov [esp+2Ch],eax mov eax,ebp imul eax,esi mov esi,[esp+30h] add eax,ecx and ecx,0000FFFFh lea eax,[eax+eax+04h] cmp ecx,edi mov si,[eax+esi] mov [eax+ebx],si jz L00442A2D L0044295A: mov esi,[esp+2Ch] mov ecx,[esp+28h] mov eax,[esp+20h] add edx,esi add ecx,eax mov eax,edx sar eax,10h imul eax,ebp mov esi,[esp+30h] mov [esp+28h],ecx and ecx,0000FFFFh add eax,ecx cmp ecx,edi lea eax,[eax+eax+04h] mov si,[eax+esi] mov [eax+ebx],si jnz L0044295A pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0044299F: mov eax,[esp+28h] xor edx,edx cmp eax,esi mov eax,[esp+24h] setle dl dec edx and ebp,0000FFFFh and edx,00000002h mov edi,esi dec edx shl eax,10h mov [esp+20h],edx cdq idiv [esp+14h] mov edx,ecx shl edx,10h mov [esp+2Ch],eax mov eax,ebp imul eax,esi add eax,ecx mov ecx,[esp+30h] and esi,0000FFFFh lea eax,[eax+eax+04h] mov cx,[eax+ecx] mov [eax+ebx],cx mov eax,[esp+28h] cmp esi,eax jz L00442A2D L004429F5: mov ecx,[esp+20h] mov eax,[esp+2Ch] add edi,ecx add edx,eax mov ecx,edi mov esi,edx and ecx,0000FFFFh mov eax,ecx imul eax,ebp sar esi,10h add eax,esi lea esi,[eax+eax+04h] mov eax,[esp+30h] mov ax,[esi+eax] mov [esi+ebx],ax mov eax,[esp+28h] cmp ecx,eax jnz L004429F5 L00442A2D: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00442A40: mov eax,[esp+04h] cmp eax,00000019h jg L00442A7D test eax,eax jl L00442A7D mov eax,[L0094329C+eax*4] xor ecx,ecx test eax,eax setnz cl test ecx,ecx jz L00442A7D mov ecx,[esp+08h] cmp ecx,00000020h jl L00442A7D lea edx,[ecx-20h] cmp edx,000000E0h jge L00442A7D mov ecx,[eax+ecx*4-7Ch] xor eax,eax mov ax,[ecx] retn ;------------------------------------------------------------------------------ L00442A7D: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L00442A80: push ecx mov ecx,[esp+08h] xor edx,edx push ebx cmp ecx,00000019h push esi mov [esp+08h],edx jg L00442AAA cmp ecx,edx jl L00442AAA mov ebx,[L0094329C+ecx*4] xor eax,eax cmp ebx,edx setnz al mov esi,eax cmp esi,edx jnz L00442AB0 L00442AAA: pop esi xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00442AB0: push ebp mov ebp,[esp+18h] cmp ebp,edx jle L00442AF2 push edi mov edi,[esp+20h] L00442ABE: movsx ecx,[edx+edi] test esi,esi jz L00442AE0 cmp ecx,00000020h jl L00442AE0 lea eax,[ecx-20h] cmp eax,000000E0h jge L00442AE0 mov eax,[ebx+ecx*4-7Ch] xor ecx,ecx mov cx,[eax] jmp L00442AE2 L00442AE0: xor ecx,ecx L00442AE2: mov eax,[esp+10h] add eax,ecx inc edx cmp edx,ebp mov [esp+10h],eax jl L00442ABE pop edi L00442AF2: mov eax,[esp+0Ch] pop ebp pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00442B00: sub esp,00000420h mov eax,[esp+00000434h] mov edx,[esp+00000438h] xor ecx,ecx push ebx mov [eax],ecx mov eax,[esp+00000428h] push ebp push esi cmp eax,00000019h push edi mov [esp+20h],ecx mov [esp+14h],ecx mov [esp+10h],ecx mov [edx],ecx jg L00442E3E cmp eax,ecx jl L00442E3E mov esi,[L0094329C+eax*4] xor edx,edx cmp esi,ecx setnz dl mov eax,edx cmp eax,ecx jz L00442E3E mov ebx,[esp+0000043Ch] cmp ebx,ecx jz L00442E3E mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov esi,ecx inc esi cmp esi,00000100h jl L00442B93 push esi push SSZ005026D8_FontManager__GetStringWrapEndXY_ call SUB_L004C7F20 add esp,00000008h mov esi,000000FFh L00442B93: push esi lea eax,[esp+34h] push ebx push eax call SUB_L004D52C0 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esp+esi+3Ch],0Ah repne scasb not ecx push ecx push SSZ005026A4_FontManager__GetStringWrapEndXY_ call SUB_L004C7F20 add esp,00000014h L00442BBD: or ecx,FFFFFFFFh lea edi,[esp+30h] xor eax,eax xor ebp,ebp mov [esp+18h],ecx repne scasb not ecx dec ecx xor edi,edi test ecx,ecx mov [esp+1Ch],ecx jle L00442DC0 L00442BDF: mov eax,[esp+00000434h] mov cl,[esp+edi+30h] xor ebx,ebx mov eax,[L0094329C+eax*4] test eax,eax setnz bl mov esi,ebx test esi,esi movsx edx,cl jz L00442C1C cmp edx,00000020h jl L00442C1C lea esi,[edx-20h] cmp esi,000000E0h jge L00442C1C mov edx,[eax+edx*4-7Ch] xor eax,eax mov ax,[edx] jmp L00442C1E L00442C1C: xor eax,eax L00442C1E: add ebp,eax cmp cl,20h jnz L00442C31 cmp edi,00000001h jle L00442C31 lea eax,[edi-01h] mov [esp+18h],eax L00442C31: cmp ebp,[esp+00000440h] jg L00442C49 mov eax,[esp+1Ch] inc edi cmp edi,eax jge L00442DC0 jmp L00442BDF L00442C49: mov eax,[esp+18h] cmp eax,FFFFFFFFh jnz L00442C5E lea eax,[edi-01h] cmp eax,FFFFFFFFh jz L00442DC0 L00442C5E: mov cl,[esp+eax+31h] xor ebx,ebx lea ebp,[eax+01h] cmp cl,20h mov ecx,ebp lea esi,[esp+30h] mov edx,ecx lea edi,[esp+00000230h] setz bl shr ecx,02h rep movsd mov eax,[esp+00000438h] mov ecx,edx and ecx,00000003h mov [esp+18h],ebx rep movsb mov ecx,[esp+10h] mov byte ptr [esp+ebp+00000230h],00h cmp eax,ecx jl L00442D3C add ecx,ebp cmp eax,ecx jge L00442D3C mov edx,[esp+00000434h] xor edi,edi mov ecx,[L0094329C+edx*4] xor edx,edx test ecx,ecx setnz dl mov esi,edx mov [esp+1Ch],ecx test esi,esi jnz L00442CD6 xor eax,eax jmp L00442D26 L00442CD6: mov edx,eax mov eax,[esp+10h] sub edx,eax xor ecx,ecx test edx,edx jle L00442D24 L00442CE4: movsx eax,[esp+ecx+00000230h] test esi,esi jz L00442D1B cmp eax,00000020h jl L00442D13 lea ebx,[eax-20h] cmp ebx,000000E0h jge L00442D13 mov ebx,[esp+1Ch] mov ebx,[ebx+eax*4-7Ch] xor eax,eax mov ax,[ebx] mov ebx,[esp+18h] jmp L00442D1D L00442D13: mov ebx,[esp+18h] xor eax,eax jmp L00442D1D L00442D1B: xor eax,eax L00442D1D: add edi,eax inc ecx cmp ecx,edx jl L00442CE4 L00442D24: mov eax,edi L00442D26: mov ecx,[esp+00000444h] mov edx,[esp+00000448h] mov [ecx],eax mov eax,[esp+14h] mov [edx],eax L00442D3C: lea ecx,[esp+2Ch] lea edx,[esp+24h] push ecx lea eax,[esp+2Ch] push edx mov edx,[esp+0000043Ch] lea ecx,[esp+00000238h] push eax push ecx push edx call SUB_L00441BC0 mov eax,[esp+3Ch] mov ecx,[esp+34h] add esp,00000014h cmp eax,ecx jle L00442D73 mov [esp+20h],eax L00442D73: mov eax,[esp+24h] mov esi,[esp+14h] add esi,eax lea edi,[esp+30h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov [esp+14h],esi sub ecx,ebp sub ecx,ebx test ecx,ecx jle L00442DAA lea edx,[ebx+ebp] lea esi,[esp+edx+30h] L00442D9E: mov dl,[esi+eax] mov [esp+eax+30h],dl inc eax cmp eax,ecx jl L00442D9E L00442DAA: mov byte ptr [esp+eax+30h],00h mov eax,[esp+10h] add ebp,ebx add eax,ebp mov [esp+10h],eax jmp L00442BBD L00442DC0: mov edx,[esp+00000438h] mov ebp,[esp+10h] cmp edx,ebp jl L00442E3E mov eax,[esp+00000434h] xor edi,edi xor ecx,ecx mov ebx,[L0094329C+eax*4] test ebx,ebx setnz cl mov esi,ecx test esi,esi jnz L00442DF0 xor eax,eax jmp L00442E28 L00442DF0: sub edx,ebp xor ecx,ecx test edx,edx jle L00442E26 L00442DF8: movsx eax,[esp+ecx+30h] test esi,esi jz L00442E1D cmp eax,00000020h jl L00442E1D lea ebp,[eax-20h] cmp ebp,000000E0h jge L00442E1D mov ebp,[ebx+eax*4-7Ch] xor eax,eax mov ax,[ebp+00h] jmp L00442E1F L00442E1D: xor eax,eax L00442E1F: add edi,eax inc ecx cmp ecx,edx jl L00442DF8 L00442E26: mov eax,edi L00442E28: mov edx,[esp+00000444h] mov ecx,[esp+00000448h] mov [edx],eax mov eax,[esp+14h] mov [ecx],eax L00442E3E: pop edi pop esi pop ebp pop ebx add esp,00000420h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00442E50: push ecx mov edx,[esp+0Ch] push ebx push ebp push esi push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax xor ebp,ebp mov ebx,[esp+20h] repne scasb mov edi,[esp+18h] mov [esp+20h],ebx movsx eax,[edx] not ecx dec ecx cmp edi,00000019h mov [esp+10h],ecx jg L00442EC2 test edi,edi jl L00442EC2 mov edx,[L0094329C+edi*4] xor ecx,ecx test edx,edx setnz cl mov esi,ecx test esi,esi jz L00442EBE cmp eax,00000020h jl L00442EB6 lea ecx,[eax-20h] cmp ecx,000000E0h jge L00442EB6 mov edx,[edx+eax*4-7Ch] mov ecx,[esp+10h] xor eax,eax mov ax,[edx] jmp L00442EC4 L00442EB6: mov ecx,[esp+10h] xor eax,eax jmp L00442EC4 L00442EBE: mov ecx,[esp+10h] L00442EC2: xor eax,eax L00442EC4: cmp ebx,eax jle L00442F23 L00442EC8: cmp ebp,ecx jge L00442F23 mov ebx,[esp+20h] sub ebx,eax inc ebp cmp ebp,ecx mov [esp+20h],ebx jge L00442F1D mov eax,[esp+1Ch] cmp edi,00000019h movsx edx,[eax+ebp] jg L00442F1B test edi,edi jl L00442F1B mov eax,[L0094329C+edi*4] xor ebx,ebx test eax,eax setnz bl mov esi,ebx test esi,esi jz L00442F1B cmp edx,00000020h jl L00442F1B lea esi,[edx-20h] cmp esi,000000E0h jge L00442F1B mov edx,[eax+edx*4-7Ch] xor eax,eax mov ax,[edx] jmp L00442F1D L00442F1B: xor eax,eax L00442F1D: cmp [esp+20h],eax jg L00442EC8 L00442F23: pop edi mov eax,ebp pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00442F30: push ebx push ebp mov ebp,[esp+10h] push esi push edi mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb mov edi,[esp+1Ch] mov ebx,[esp+14h] not ecx dec ecx mov esi,ecx L00442F4E: lea eax,[esp+1Ch] lea ecx,[esp+18h] push eax push ecx push edi push ebp push esi push ebx call SUB_L00442B00 add esp,00000018h dec esi js L00442F7F mov edx,[esp+20h] mov eax,[esp+18h] cmp eax,edx jg L00442F4E mov eax,[esp+24h] mov ecx,[esp+1Ch] cmp ecx,eax jg L00442F4E L00442F7F: lea eax,[esi+01h] pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00442F90: push esi push edi mov esi,ecx push SSZ0050258C_CFont__CFont____begin__ call SUB_L004C7F20 lea edi,[esi+04h] mov ecx,000000E0h xor eax,eax add esp,00000004h rep stosd lea edi,[esi+00000384h] mov ecx,000000E0h rep stosd mov [esi],eax mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00442FD0: push esi push edi mov esi,ecx push SSZ00502554_CFont___CFont___ call SUB_L004C7F50 add esp,00000004h add esi,00000004h mov edi,000000E0h L00442FE9: mov eax,[esi] test eax,eax jz L00442FFE push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi],00000000h L00442FFE: add esi,00000004h dec edi jnz L00442FE9 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00443010: sub esp,0000000Ch mov eax,[esp+1Ch] push ebx push ebp mov edx,ecx push esi cmp eax,00000020h push edi mov [esp+18h],edx jl L00443492 lea ecx,[eax-20h] cmp ecx,000000E0h jge L00443046 mov esi,[edx+eax*4-7Ch] xor edi,edi mov di,[esi] xor esi,esi mov [esp+2Ch],edi jmp L0044304E L00443046: xor esi,esi mov [esp+2Ch],esi mov edi,esi L0044304E: cmp ecx,000000E0h jge L00443066 mov ebx,[edx+eax*4-7Ch] xor eax,eax mov ax,[ebx+02h] mov [esp+10h],eax jmp L0044306C L00443066: mov [esp+10h],esi mov eax,esi L0044306C: cmp edi,esi jz L00443492 mov ebx,[edx+ecx*4+00000384h] mov edx,[edx+ecx*4+04h] sub ebx,eax mov eax,[esp+24h] cmp edx,esi lea eax,[ebx+eax+01h] jz L00443492 mov ebx,eax mov ecx,[esp+20h] imul ebx,[esp+34h] mov ebp,[esp+30h] add ebx,ecx add edx,00000004h lea ebp,[ebp+ebx*2+00h] mov ebx,[esp+38h] mov [esp+24h],edx mov [esp+30h],ebp cmp ecx,[ebx] jl L00443492 lea ecx,[edi+ecx-01h] cmp ecx,[ebx+08h] jge L00443492 mov ecx,[ebx+04h] cmp eax,ecx jge L004430F4 sub ecx,eax mov esi,ecx imul ecx,edi lea edx,[edx+ecx*2] mov ecx,esi imul ecx,[esp+34h] mov [esp+38h],esi mov [esp+24h],edx lea ebp,[ebp+ecx*2+00h] mov [esp+30h],ebp jmp L004430F8 L004430F4: mov [esp+38h],esi L004430F8: mov ecx,[ebx+0Ch] mov ebx,[esp+10h] add ebx,eax cmp ebx,ecx jl L0044310E sub ecx,eax dec ecx mov [esp+20h],ecx jmp L00443117 L0044310E: mov eax,[esp+10h] dec eax mov [esp+20h],eax L00443117: mov al,[L00C8C491] test al,al jz L004432B7 mov ecx,[esp+20h] mov eax,esi cmp esi,ecx mov [esp+14h],eax jg L00443486 mov ebx,[esp+28h] jmp L00443144 L0044313C: mov esi,[esp+38h] mov edx,[esp+24h] L00443144: mov ecx,[esp+2Ch] mov edi,eax sub edi,esi mov eax,edx inc edi mov esi,ebp sar edi,1 sub eax,ebp mov [esp+28h],ecx mov [esp+10h],eax jmp L00443163 L0044315F: mov eax,[esp+10h] L00443163: xor edx,edx mov dx,[eax+esi] test edx,edx jz L0044322E mov eax,edx sar eax,0Ah and eax,0000001Fh sub eax,edi cmp eax,00000001h jge L00443185 mov eax,00000001h L00443185: mov ecx,edx sar ecx,05h and ecx,0000001Fh sub ecx,edi cmp ecx,00000001h jge L00443199 mov ecx,00000001h L00443199: and edx,0000001Fh sub edx,edi cmp edx,00000001h jge L004431A8 mov edx,00000001h L004431A8: test ebx,ebx jnz L004431BB shl eax,05h or eax,ecx shl eax,05h or eax,edx mov [esi],ax jmp L0044322E L004431BB: mov ebp,[esp+18h] cmp dword ptr [ebp+00h],00000000h jz L00443204 cmp eax,ecx jnz L004431F5 cmp eax,edx jnz L004431F5 shl eax,05h or eax,ecx mov ecx,[L00512174] shl eax,05h or eax,edx lea edx,[ebx+ebx*4] sar eax,cl lea ecx,[ebx+edx*2] lea edx,[eax+ecx*4] mov ax,[L00C42C90+edx*2] mov [esi],ax jmp L0044322A L004431F5: shl eax,05h or eax,ecx shl eax,05h or eax,edx mov [esi],ax jmp L0044322A L00443204: shl eax,05h or eax,ecx mov ecx,[L00512174] shl eax,05h or eax,edx sar eax,cl lea ecx,[ebx+ebx*4] lea edx,[ebx+ecx*2] lea eax,[eax+edx*4] mov cx,[L00C42C90+eax*2] mov [esi],cx L0044322A: mov ebp,[esp+30h] L0044322E: mov eax,[esp+28h] add esi,00000002h dec eax mov [esp+28h],eax jnz L0044315F mov al,[L00C8C4A4] mov edx,[esp+2Ch] test al,al jz L0044327B test edx,edx jle L0044327B mov ecx,ebp mov esi,edx L00443255: mov eax,[esp+10h] cmp word ptr [ecx+eax],0000h jz L00443275 mov ax,[ecx] mov edi,eax and eax,0000001Fh and edi,0000FFE0h shl edi,1 or edi,eax mov [ecx],di L00443275: add ecx,00000002h dec esi jnz L00443255 L0044327B: mov ecx,[esp+34h] mov eax,[esp+24h] lea ebp,[ebp+ecx*2+00h] lea ecx,[eax+edx*2] mov eax,[esp+14h] mov [esp+24h],ecx mov ecx,[esp+20h] inc eax cmp eax,ecx mov [esp+30h],ebp mov [esp+14h],eax jle L0044313C mov edi,[esp+2Ch] mov eax,edi pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ L004432B7: mov eax,[esp+28h] test eax,eax jnz L00443356 mov eax,[esp+20h] cmp esi,eax jg L00443486 sub eax,esi inc eax mov [esp+28h],eax jmp L004432E0 L004432D8: mov edx,[esp+24h] mov edi,[esp+2Ch] L004432E0: push edi push edx push ebp call SUB_L004B9B80 mov al,[L00C8C4A4] mov edi,[esp+38h] add esp,0000000Ch test al,al jz L00443328 test edi,edi jle L00443328 mov edx,[esp+24h] mov ecx,ebp sub edx,ebp mov esi,edi L00443306: cmp word ptr [ecx+edx],0000h jz L00443322 mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L00443322: add ecx,00000002h dec esi jnz L00443306 L00443328: mov eax,[esp+24h] mov edx,[esp+34h] lea ecx,[eax+edi*2] mov eax,[esp+28h] dec eax lea ebp,[ebp+edx*2+00h] mov [esp+24h],ecx mov [esp+28h],eax jnz L004432D8 mov edi,[esp+2Ch] mov eax,edi pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ L00443356: mov ecx,[esp+18h] cmp dword ptr [ecx],00000000h jz L004433FD mov ecx,[esp+20h] cmp esi,ecx jg L00443486 sub ecx,esi dec eax inc ecx mov [esp+20h],eax mov [esp+28h],ecx jmp L00443385 L0044337D: mov edx,[esp+24h] mov edi,[esp+2Ch] L00443385: mov eax,[esp+20h] mov ecx,ebp push eax push edi call SUB_L004CBE10 mov al,[L00C8C4A4] mov edi,[esp+2Ch] test al,al jz L004433CF test edi,edi jle L004433CF mov edx,[esp+24h] mov ecx,ebp sub edx,ebp mov esi,edi L004433AD: cmp word ptr [ecx+edx],0000h jz L004433C9 mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L004433C9: add ecx,00000002h dec esi jnz L004433AD L004433CF: mov edx,[esp+24h] mov ecx,[esp+34h] lea eax,[edx+edi*2] lea ebp,[ebp+ecx*2+00h] mov [esp+24h],eax mov eax,[esp+28h] dec eax mov [esp+28h],eax jnz L0044337D mov edi,[esp+2Ch] mov eax,edi pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ L004433FD: dec eax mov [L00CD8C24],eax mov eax,[esp+20h] cmp esi,eax jg L00443486 sub eax,esi inc eax mov [esp+28h],eax jmp L0044341C L00443414: mov edx,[esp+24h] mov edi,[esp+2Ch] L0044341C: push edi push edx push ebp call SUB_L004B9C60 mov al,[L00C8C4A4] mov edi,[esp+38h] add esp,0000000Ch test al,al jz L00443464 test edi,edi jle L00443464 mov edx,[esp+24h] mov ecx,ebp sub edx,ebp mov esi,edi L00443442: cmp word ptr [ecx+edx],0000h jz L0044345E mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L0044345E: add ecx,00000002h dec esi jnz L00443442 L00443464: mov edx,[esp+24h] mov ecx,[esp+34h] lea eax,[edx+edi*2] lea ebp,[ebp+ecx*2+00h] mov [esp+24h],eax mov eax,[esp+28h] dec eax mov [esp+28h],eax jnz L00443414 mov edi,[esp+2Ch] L00443486: mov eax,edi pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ L00443492: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004434A0: push ecx mov edx,[esp+08h] lea eax,[esp+08h] lea ecx,[esp+00h] push eax push ecx push edx push 0000000Ch push 0000000Bh call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004434DC mov eax,[esp+08h] mov edx,[esp+0Ch] mov ecx,eax sar ecx,10h mov [edx],ecx mov ecx,[esp+10h] and eax,0000FFFFh mov [ecx],eax pop ecx retn ;------------------------------------------------------------------------------ L004434DC: mov edx,[esp+0Ch] mov eax,[esp+10h] mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00443500: sub esp,00000824h mov edx,[esp+0000082Ch] push ebx push ebp push esi lea eax,[esp+2Ch] push edi lea ecx,[esp+2Ch] push eax push ecx push edx push 0000000Ch push 0000000Bh call SUB_L0045EF20 mov [esp+3Ch],eax mov eax,[esp+40h] xor ecx,ecx add esp,00000014h cmp eax,ecx jz L004436B0 mov eax,[esp+30h] mov edx,[esp+00000840h] mov ebp,eax and eax,0000FFFFh sar ebp,10h dec eax cmp edx,ecx mov [esp+1Ch],ebp mov [esp+10h],ecx mov [esp+14h],ebp jge L0044356E mov esi,edx neg esi add ebp,edx mov [esp+10h],esi mov [esp+14h],ebp L0044356E: mov edi,[esp+00000844h] cmp edi,ecx jge L0044357D mov ecx,edi neg ecx L0044357D: mov ebx,[esp+0000084Ch] lea esi,[edx+ebp] cmp esi,ebx jle L00443593 mov ebp,ebx sub ebp,edx mov [esp+14h],ebp L00443593: cmp ebp,00000001h jl L004436B0 mov esi,[esp+00000850h] lea ebx,[eax+edi] cmp ebx,esi jl L004435AF sub esi,edi dec esi mov eax,esi L004435AF: lea esi,[ecx+edi] mov ebx,[esp+10h] imul esi,[esp+0000084Ch] add esi,ebx add esi,edx mov edx,[esp+00000848h] cmp ecx,eax lea edi,[edx+esi*2] mov [esp+24h],edi jg L004436B0 mov edx,[esp+28h] sub eax,ecx inc eax lea edx,[edx+ecx*4] mov [esp+20h],eax mov [esp+18h],edx L004435EA: mov eax,[esp+18h] mov ecx,[esp+1Ch] xor ebx,ebx mov eax,[eax] test ecx,ecx jle L0044363E mov ecx,[esp+28h] lea esi,[ecx+eax*4] L00443601: mov eax,[esi] add esi,00000004h mov edx,eax and eax,0000FFFFh sar edx,10h test edx,edx jle L00443638 mov bp,ax mov ecx,edx shl ebp,10h mov bp,ax lea edi,[esp+ebx*2+34h] mov eax,ebp mov ebp,[esp+14h] shr ecx,1 rep stosd adc ecx,ecx add ebx,edx rep stosw mov edi,[esp+24h] L00443638: cmp ebx,[esp+1Ch] jl L00443601 L0044363E: mov edx,[esp+10h] push ebp lea esi,[esp+edx*2+38h] push esi push edi call [esp+00000844h] mov al,[L00C8C4A4] add esp,0000000Ch test al,al jz L00443688 test ebp,ebp jle L00443688 mov ecx,edi mov edx,ebp L00443664: cmp word ptr [esi],0000h jz L0044367F mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L0044367F: add esi,00000002h add ecx,00000002h dec edx jnz L00443664 L00443688: mov eax,[esp+0000084Ch] mov ecx,[esp+18h] add ecx,00000004h lea edi,[edi+eax*2] mov eax,[esp+20h] dec eax mov [esp+24h],edi mov [esp+18h],ecx mov [esp+20h],eax jnz L004435EA L004436B0: pop edi pop esi pop ebp pop ebx add esp,00000824h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004436C0: sub esp,00000824h mov edx,[esp+0000082Ch] push ebx push ebp push esi lea eax,[esp+2Ch] push edi lea ecx,[esp+28h] push eax push ecx push edx push 0000000Ch push 0000000Bh call SUB_L0045EF20 mov [esp+34h],eax mov eax,[esp+3Ch] add esp,00000014h test eax,eax jz L004438D2 mov eax,[esp+30h] mov esi,[esp+00000840h] mov edi,[esp+00000844h] mov ebx,eax and eax,0000FFFFh mov [esp+10h],eax mov eax,[esi+08h] sar ebx,10h cmp edi,eax mov [esp+24h],ebx jge L004438D2 mov ecx,[esi+0Ch] mov edx,[esp+00000848h] cmp edx,ecx mov [esp+14h],ecx jge L004438D2 mov ebp,[esi] lea ecx,[ebx+edi] cmp ecx,ebp jl L004438D2 mov ecx,[esp+10h] mov esi,[esi+04h] add ecx,edx cmp ecx,esi jl L004438D2 cmp ebp,edi jle L00443767 sub ebp,edi mov [esp+18h],ebp jmp L0044376F L00443767: mov dword ptr [esp+18h],00000000h L0044376F: lea ebp,[ebx+edi] cmp eax,ebp jge L0044377A sub eax,edi jmp L0044377C L0044377A: mov eax,ebx L0044377C: mov ebx,[esp+00000850h] lea ebp,[eax+edi] cmp ebp,ebx jl L0044378E mov eax,ebx sub eax,edi L0044378E: cmp [esp+18h],eax jge L004438D2 cmp esi,edx jle L004437A0 sub esi,edx jmp L004437A2 L004437A0: xor esi,esi L004437A2: mov ebx,[esp+14h] cmp ebx,ecx jge L004437B1 sub ebx,edx dec ebx mov ecx,ebx jmp L004437B6 L004437B1: mov ecx,[esp+10h] dec ecx L004437B6: lea ebp,[esi+edx] mov ebx,[esp+18h] imul ebp,[esp+00000850h] add ebp,ebx sub eax,ebx add ebp,edi mov edi,[esp+0000084Ch] lea ebx,[ecx+edx] lea edi,[edi+ebp*2] mov ebp,eax mov eax,[esp+00000854h] mov [esp+1Ch],edi cmp ebx,eax mov [esp+2Ch],ebp jl L004437F2 sub eax,edx dec eax mov ecx,eax L004437F2: cmp esi,ecx jg L004438D2 mov edx,[esp+20h] sub ecx,esi inc ecx lea eax,[edx+esi*4] mov [esp+14h],ecx mov [esp+10h],eax L0044380C: mov ecx,[esp+10h] xor ebx,ebx mov eax,[ecx] mov ecx,[esp+24h] test ecx,ecx jle L00443860 mov edx,[esp+20h] lea esi,[edx+eax*4] L00443823: mov eax,[esi] add esi,00000004h mov edx,eax and eax,0000FFFFh sar edx,10h test edx,edx jle L0044385A mov bp,ax mov ecx,edx shl ebp,10h mov bp,ax lea edi,[esp+ebx*2+34h] mov eax,ebp mov ebp,[esp+2Ch] shr ecx,1 rep stosd adc ecx,ecx add ebx,edx rep stosw mov edi,[esp+1Ch] L0044385A: cmp ebx,[esp+24h] jl L00443823 L00443860: mov eax,[esp+18h] push ebp lea esi,[esp+eax*2+38h] push esi push edi call [esp+00000844h] mov al,[L00C8C4A4] add esp,0000000Ch test al,al jz L004438AA test ebp,ebp jle L004438AA mov ecx,edi mov edx,ebp L00443886: cmp word ptr [esi],0000h jz L004438A1 mov ax,[ecx] mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx L004438A1: add esi,00000002h add ecx,00000002h dec edx jnz L00443886 L004438AA: mov ecx,[esp+00000850h] mov eax,[esp+14h] lea edi,[edi+ecx*2] mov ecx,[esp+10h] add ecx,00000004h dec eax mov [esp+1Ch],edi mov [esp+10h],ecx mov [esp+14h],eax jnz L0044380C L004438D2: pop edi pop esi pop ebp pop ebx add esp,00000824h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004438E0: mov edx,[esp+18h] mov eax,[esp+20h] imul edx,eax mov ecx,[esp+14h] push ebx push ebp push esi mov esi,[esp+28h] add edx,ecx push edi lea edi,[esi+edx*2] mov edx,[esp+1Ch] mov esi,[esp+18h] mov ebx,edx lea ebp,[edx+ecx] cmp ebp,eax jle L00443911 mov ebx,eax sub ebx,ecx L00443911: mov ecx,[esp+28h] mov ebp,[esp+20h] add ebp,ecx mov ecx,[esp+34h] cmp ebp,ecx jle L00443929 sub ecx,[esp+28h] jmp L0044392D L00443929: mov ecx,[esp+20h] L0044392D: test ecx,ecx jle L00443958 add edx,edx add eax,eax mov [esp+28h],edx mov [esp+20h],eax mov ebp,ecx L0044393F: push ebx push esi push edi call [esp+20h] mov edx,[esp+34h] mov ecx,[esp+2Ch] add esp,0000000Ch add esi,edx add edi,ecx dec ebp jnz L0044393F L00443958: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00443960: mov edx,[esp+0Ch] push ebx push ebp push esi mov ecx,[edx+08h] mov esi,[esp+24h] cmp esi,ecx push edi jge L00443A65 mov eax,[edx+0Ch] mov edi,[esp+2Ch] cmp edi,eax mov [esp+1Ch],eax jge L00443A65 mov eax,[esp+20h] mov ebp,[edx] lea ebx,[eax+esi] cmp ebx,ebp jl L00443A65 mov eax,[esp+24h] mov edx,[edx+04h] add eax,edi cmp eax,edx jl L00443A65 cmp ebp,esi jle L004439B4 sub ebp,esi jmp L004439B6 L004439B4: xor ebp,ebp L004439B6: cmp ecx,ebx jge L004439BE sub ecx,esi jmp L004439C2 L004439BE: mov ecx,[esp+20h] L004439C2: lea ebx,[ecx+esi] cmp ebx,[esp+34h] jl L004439D1 mov ecx,[esp+34h] sub ecx,esi L004439D1: cmp ebp,ecx jge L00443A65 cmp edx,edi jle L004439E1 sub edx,edi jmp L004439E3 L004439E1: xor edx,edx L004439E3: mov esi,[esp+1Ch] cmp esi,eax jge L004439F2 sub esi,edi dec esi mov eax,esi jmp L004439F7 L004439F2: mov eax,[esp+24h] dec eax L004439F7: lea esi,[edx+edi] mov ebx,[esp+28h] imul esi,[esp+34h] add esi,ebp sub ecx,ebp add esi,ebx mov ebx,[esp+30h] mov [esp+24h],ecx mov ecx,[esp+38h] lea esi,[ebx+esi*2] lea ebx,[eax+edi] cmp ebx,ecx jl L00443A24 sub ecx,edi dec ecx mov eax,ecx L00443A24: mov ecx,[esp+20h] mov edi,edx imul edi,ecx mov ebx,[esp+18h] add edi,ebp cmp edx,eax lea edi,[ebx+edi*2] jg L00443A65 lea ebp,[ecx+ecx] mov ecx,[esp+34h] sub eax,edx add ecx,ecx inc eax mov [esp+34h],ecx mov ebx,eax L00443A4C: mov edx,[esp+24h] push edx push edi push esi call [esp+20h] mov ecx,[esp+40h] add esp,0000000Ch add edi,ebp add esi,ecx dec ebx jnz L00443A4C L00443A65: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00443A70: push ecx mov edx,[esp+08h] push esi lea eax,[esp+04h] push edi lea ecx,[esp+10h] push eax push ecx push edx push 0000000Ch push 0000000Bh xor esi,esi call SUB_L0045EF20 mov ecx,[esp+24h] add esp,00000014h test ecx,ecx jz L00443AF8 mov ecx,[esp+08h] mov edi,[esp+18h] mov edx,ecx and edx,0000FFFFh cmp edi,edx jge L00443AF8 mov edx,[esp+14h] sar ecx,10h cmp edx,ecx jge L00443AF8 mov ecx,[eax+edi*4] lea eax,[eax+ecx*4] xor ecx,ecx test edx,edx jle L00443AD3 L00443AC3: mov esi,[eax] add eax,00000004h mov edi,esi sar edi,10h add ecx,edi cmp ecx,edx jl L00443AC3 L00443AD3: mov al,[L00C8C4A4] and esi,0000FFFFh test al,al jz L00443AF1 mov edx,esi and esi,0000001Fh and edx,00007FE0h shl edx,1 or esi,edx L00443AF1: mov ax,si pop edi pop esi pop ecx retn ;------------------------------------------------------------------------------ L00443AF8: pop edi xor ax,ax pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00443B00: 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_L00443B20: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov [esi+08h],eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00443B30: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov [esi+0Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00443B40: 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_L00443B60: mov edx,[ecx+10h] xor eax,eax test edx,edx setl al retn ;------------------------------------------------------------------------------ Align 8 SUB_L00443B70: push esi mov esi,[ecx+04h] push edi mov edi,[ecx+10h] mov eax,edi cdq idiv esi neg eax imul esi,eax add esi,edi pop edi mov [ecx+10h],esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00443B90: mov eax,[ecx+10h] mov dword ptr [ecx+10h],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00443BA0: push FFFFFFFFh mov eax,fs:[00000000h] push L004E23FF push eax mov eax,00001098h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push ebp push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 mov eax,[esp+000010C8h] mov ecx,[esp+000010CCh] mov edx,[esp+000010B8h] mov edi,[esp+000010C0h] mov [esi+000000B8h],eax mov eax,[esp+000010BCh] xor ebx,ebx mov ebp,00000001h mov [esi+0000009Ch],ebp mov [esi+000000A0h],ebx mov [esi+000000A4h],ebx mov [esi+000000A8h],ebx mov [esi+000000ACh],ebp mov [esi+000000B0h],ebp mov [esi+000000B4h],ebp mov [esi+000000BCh],ecx mov [esi+000000C0h],ebx mov [esi+000000C4h],ebx mov [esi+000000C8h],ebx mov dword ptr [esi],L004EB66C mov dword ptr [esi+08h],SSZ00502834_generic_gump mov [esi+30h],edx mov [esi+34h],eax mov al,[edi] cmp al,bl mov [esp+000010B0h],ebx mov [esp+20h],ebx mov [esp+1Ch],ebx jz L004446E6 L00443C6C: cmp al,7Bh jz L00443C78 mov al,[edi+01h] inc edi cmp al,bl jnz L00443C6C L00443C78: mov al,[edi] mov [esp+000010C0h],edi cmp al,bl jz L00443C8D inc edi mov [esp+000010C0h],edi L00443C8D: mov al,[edi] cmp al,bl jz L00443CB2 L00443C93: movsx ecx,al push ecx call SUB_L004D5904 add esp,00000004h test eax,eax jz L00443CAB mov al,[edi+01h] inc edi cmp al,bl jnz L00443C93 L00443CAB: mov [esp+000010C0h],edi L00443CB2: mov al,[edi] lea esi,[esp+000004A8h] cmp al,bl jz L00443CD5 L00443CBF: cmp al,7Dh jz L00443CCE mov [esi],al mov al,[edi+01h] inc esi inc edi cmp al,bl jnz L00443CBF L00443CCE: mov [esp+000010C0h],edi L00443CD5: cmp [edi],bl jz L00443CE1 inc edi mov [esp+000010C0h],edi L00443CE1: lea edx,[esp+000004A8h] cmp esi,edx jbe L00443D09 L00443CEC: movsx eax,[esi-01h] push eax call SUB_L004D5904 add esp,00000004h test eax,eax jz L00443D09 dec esi lea ecx,[esp+000004A8h] cmp esi,ecx ja L00443CEC L00443D09: lea edx,[esp+000000A8h] lea eax,[esp+000004A8h] push edx push eax mov [esi],bl call SUB_L0046BFD0 mov ebp,eax add esp,00000008h mov esi,SSZ0050282C_page lea eax,[esp+000000A8h] L00443D31: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443D55 cmp cl,bl jz L00443D51 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443D55 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443D31 L00443D51: xor eax,eax jmp L00443D5A L00443D55: sbb eax,eax sbb eax,FFFFFFFFh L00443D5A: cmp eax,ebx jnz L00443D70 push ebp call SUB_L004D59EB add esp,00000004h mov [esp+20h],eax jmp L004446CC L00443D70: mov esi,SSZ00502820_nodispose lea eax,[esp+000000A8h] L00443D7C: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443DA0 cmp cl,bl jz L00443D9C mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443DA0 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443D7C L00443D9C: xor eax,eax jmp L00443DA5 L00443DA0: sbb eax,eax sbb eax,FFFFFFFFh L00443DA5: cmp eax,ebx jnz L00443DB8 mov eax,[esp+18h] mov [eax+000000B0h],ebx jmp L004446CC L00443DB8: mov esi,SSZ00502818_nomove lea eax,[esp+000000A8h] L00443DC4: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443DE8 cmp cl,bl jz L00443DE4 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443DE8 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443DC4 L00443DE4: xor eax,eax jmp L00443DED L00443DE8: sbb eax,eax sbb eax,FFFFFFFFh L00443DED: cmp eax,ebx jnz L00443E00 mov eax,[esp+18h] mov [eax+000000ACh],ebx jmp L004446CC L00443E00: mov esi,SSZ00502810_noclose lea eax,[esp+000000A8h] L00443E0C: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443E30 cmp cl,bl jz L00443E2C mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443E30 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443E0C L00443E2C: xor eax,eax jmp L00443E35 L00443E30: sbb eax,eax sbb eax,FFFFFFFFh L00443E35: cmp eax,ebx jnz L00443E48 mov eax,[esp+18h] mov [eax+000000B4h],ebx jmp L004446CC L00443E48: mov esi,SSZ00502808_group lea eax,[esp+000000A8h] L00443E54: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443E78 cmp cl,bl jz L00443E74 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443E78 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443E54 L00443E74: xor eax,eax jmp L00443E7D L00443E78: sbb eax,eax sbb eax,FFFFFFFFh L00443E7D: cmp eax,ebx jnz L00443F72 mov edi,[esp+1Ch] push ebp call SUB_L004D59EB add esp,00000004h xor ebp,ebp cmp edi,ebx mov [esp+1Ch],eax jnz L00443EA8 mov eax,[esp+18h] lea esi,[eax+000000C0h] jmp L00443F0A L00443EA8: mov ecx,[esp+18h] mov ebp,[ecx+000000C0h] lea eax,[ecx+000000C0h] cmp ebp,ebx jz L004446CC L00443EC0: cmp [ebp+10h],edi jz L00443EFF mov esi,[ebp+2Ch] cmp esi,ebx jz L00443EF1 L00443ECC: cmp [esi+10h],edi jz L00443EEB cmp [esi+2Ch],ebx jz L00443EE2 push edi mov ecx,esi call SUB_L00445BE0 cmp eax,ebx jnz L00443EFD L00443EE2: mov esi,[esi+30h] cmp esi,ebx jnz L00443ECC jmp L00443EF1 L00443EEB: mov eax,esi cmp eax,ebx jnz L00443EFD L00443EF1: mov ebp,[ebp+30h] cmp ebp,ebx jnz L00443EC0 jmp L004446CC L00443EFD: mov ebp,eax L00443EFF: cmp ebp,ebx jz L004446CC lea esi,[ebp+2Ch] L00443F0A: mov eax,[esi] cmp eax,ebx jz L00443F1A L00443F10: lea esi,[eax+30h] mov eax,[eax+30h] cmp eax,ebx jnz L00443F10 L00443F1A: push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+00000084h],eax cmp eax,ebx mov byte ptr [esp+000010B0h],01h jz L00443F62 push ebx mov edx,[esp+20h] push ebx mov ecx,[esp+28h] push ebx push ebx push ebx push ebx push ebx push ebx push ebx push ebx push edx push ecx push ebx push ebp mov ecx,eax call SUB_L00445A90 mov [esp+000010B0h],bl mov [esi],eax jmp L004446CC L00443F62: xor eax,eax mov [esp+000010B0h],bl mov [esi],eax jmp L004446CC L00443F72: mov esi,SSZ00502800_gumppic lea eax,[esp+000000A8h] L00443F7E: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00443FA2 cmp cl,bl jz L00443F9E mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00443FA2 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443F7E L00443F9E: xor eax,eax jmp L00443FA7 L00443FA2: sbb eax,eax sbb eax,FFFFFFFFh L00443FA7: cmp eax,ebx jnz L00443FEF lea eax,[esp+24h] lea ecx,[esp+14h] push eax lea edx,[esp+14h] push ecx push edx push SSZ005027F4__d__d__d push ebp call SUB_L004D592C mov eax,[esp+30h] mov ecx,[esp+34h] mov edx,[esp+38h] add esp,00000014h push eax mov eax,[esp+18h] push ecx mov ecx,[esp+18h] push edx push eax push ecx mov ecx,[esp+2Ch] call SUB_L00444B40 jmp L004446CC L00443FEF: mov esi,SSZ005027EC_tilepic lea eax,[esp+000000A8h] L00443FFB: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0044401F cmp cl,bl jz L0044401B mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0044401F add eax,00000002h add esi,00000002h cmp cl,bl jnz L00443FFB L0044401B: xor eax,eax jmp L00444024 L0044401F: sbb eax,eax sbb eax,FFFFFFFFh L00444024: cmp eax,ebx jnz L0044406C lea eax,[esp+24h] lea ecx,[esp+14h] push eax lea edx,[esp+14h] push ecx push edx push SSZ005027F4__d__d__d push ebp call SUB_L004D592C mov eax,[esp+30h] mov ecx,[esp+34h] mov edx,[esp+38h] add esp,00000014h push eax mov eax,[esp+18h] push ecx mov ecx,[esp+18h] push edx push eax push ecx mov ecx,[esp+2Ch] call SUB_L00444E80 jmp L004446CC L0044406C: mov esi,SSZ005027E4_text lea eax,[esp+000000A8h] L00444078: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0044409C cmp cl,bl jz L00444098 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0044409C add eax,00000002h add esi,00000002h cmp cl,bl jnz L00444078 L00444098: xor eax,eax jmp L004440A1 L0044409C: sbb eax,eax sbb eax,FFFFFFFFh L004440A1: cmp eax,ebx jnz L00444100 lea eax,[esp+7Ch] lea ecx,[esp+3Ch] push eax lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx push eax push SSZ005027D8__d__d__d__d push ebp call SUB_L004D592C mov ecx,[esp+34h] mov edx,[esp+38h] mov eax,[esp+00000094h] add esp,00000018h push ecx mov ecx,[esp+000010C8h] push edx mov edx,[ecx+eax*4] mov eax,[esp+44h] mov ecx,[esp+1Ch] push edx mov edx,[esp+1Ch] push eax push ecx mov ecx,[esp+2Ch] push edx call SUB_L00444FC0 jmp L004446CC L00444100: mov esi,SSZ005027CC_croppedtext lea eax,[esp+000000A8h] L0044410C: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00444130 cmp cl,bl jz L0044412C mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00444130 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0044410C L0044412C: xor eax,eax jmp L00444135 L00444130: sbb eax,eax sbb eax,FFFFFFFFh L00444135: cmp eax,ebx jnz L004441A8 lea eax,[esp+6Ch] lea ecx,[esp+44h] push eax lea edx,[esp+2Ch] push ecx lea eax,[esp+34h] push edx lea ecx,[esp+20h] push eax lea edx,[esp+20h] push ecx push edx push SSZ005027B8__d__d__d__d__d__d push ebp call SUB_L004D592C mov eax,[esp+3Ch] mov ecx,[esp+40h] mov edx,[esp+0000008Ch] add esp,00000020h push eax mov eax,[esp+000010C8h] push ecx mov ecx,[eax+edx*4] mov edx,[esp+4Ch] mov eax,[esp+30h] push ecx mov ecx,[esp+38h] push edx mov edx,[esp+24h] push eax mov eax,[esp+24h] push ecx mov ecx,[esp+30h] push edx push eax call SUB_L004450F0 jmp L004446CC L004441A8: mov esi,SSZ005027AC_textentry lea eax,[esp+000000A8h] L004441B4: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L004441D8 cmp cl,bl jz L004441D4 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L004441D8 add eax,00000002h add esi,00000002h cmp cl,bl jnz L004441B4 L004441D4: xor eax,eax jmp L004441DD L004441D8: sbb eax,eax sbb eax,FFFFFFFFh L004441DD: cmp eax,ebx jnz L00444260 lea eax,[esp+4Ch] lea ecx,[esp+00000080h] push eax lea edx,[esp+78h] push ecx lea eax,[esp+30h] push edx lea ecx,[esp+38h] push eax lea edx,[esp+24h] push ecx lea eax,[esp+24h] push edx push eax push SSZ00502794__d__d__d__d__d__d__d push ebp call SUB_L004D592C mov ecx,[esp+40h] mov edx,[esp+44h] mov eax,[esp+000000A4h] add esp,00000024h push ecx mov ecx,[esp+50h] push edx mov edx,[esp+000010CCh] push eax mov eax,[edx+ecx*4] mov ecx,[esp+00000080h] mov edx,[esp+34h] push eax mov eax,[esp+3Ch] push ecx mov ecx,[esp+28h] push edx mov edx,[esp+28h] push eax push ecx mov ecx,[esp+38h] push edx call SUB_L00445200 jmp L004446CC L00444260: mov esi,SSZ0050278C_radio lea eax,[esp+000000A8h] L0044426C: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00444290 cmp cl,bl jz L0044428C mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00444290 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0044426C L0044428C: xor eax,eax jmp L00444295 L00444290: sbb eax,eax sbb eax,FFFFFFFFh L00444295: cmp eax,ebx jnz L004442FB lea eax,[esp+54h] lea ecx,[esp+34h] push eax lea edx,[esp+34h] push ecx lea eax,[esp+2Ch] push edx lea ecx,[esp+20h] push eax lea edx,[esp+20h] push ecx push edx push SSZ005027B8__d__d__d__d__d__d push ebp call SUB_L004D592C mov eax,[esp+3Ch] mov ecx,[esp+40h] mov edx,[esp+74h] add esp,00000020h push eax mov eax,[esp+38h] push ecx mov ecx,[esp+38h] push edx mov edx,[esp+30h] push eax mov eax,[esp+24h] push ecx mov ecx,[esp+24h] push edx push eax push ecx mov ecx,[esp+38h] call SUB_L004455B0 jmp L004446CC L004442FB: mov esi,SSZ00502784_button lea eax,[esp+000000A8h] L00444307: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0044432B cmp cl,bl jz L00444327 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0044432B add eax,00000002h add esi,00000002h cmp cl,bl jnz L00444307 L00444327: xor eax,eax jmp L00444330 L0044432B: sbb eax,eax sbb eax,FFFFFFFFh L00444330: cmp eax,ebx jnz L004443A3 lea eax,[esp+5Ch] lea ecx,[esp+70h] push eax lea edx,[esp+68h] push ecx lea eax,[esp+38h] push edx lea ecx,[esp+30h] push eax lea edx,[esp+24h] push ecx lea eax,[esp+24h] push edx push eax push SSZ00502794__d__d__d__d__d__d__d push ebp call SUB_L004D592C mov ecx,[esp+40h] mov edx,[esp+44h] mov eax,[esp+00000080h] add esp,00000024h push ecx mov ecx,[esp+74h] push edx mov edx,[esp+6Ch] push eax mov eax,[esp+3Ch] push ecx mov ecx,[esp+34h] push edx mov edx,[esp+28h] push eax mov eax,[esp+28h] push ecx mov ecx,[esp+34h] push edx push eax call SUB_L00445320 jmp L004446CC L004443A3: mov esi,SSZ00502778_checkbox lea eax,[esp+000000A8h] L004443AF: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L004443D3 cmp cl,bl jz L004443CF mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L004443D3 add eax,00000002h add esi,00000002h cmp cl,bl jnz L004443AF L004443CF: xor eax,eax jmp L004443D8 L004443D3: sbb eax,eax sbb eax,FFFFFFFFh L004443D8: cmp eax,ebx jnz L00444441 lea eax,[esp+78h] lea ecx,[esp+38h] push eax lea edx,[esp+34h] push ecx lea eax,[esp+2Ch] push edx lea ecx,[esp+20h] push eax lea edx,[esp+20h] push ecx push edx push SSZ005027B8__d__d__d__d__d__d push ebp call SUB_L004D592C mov eax,[esp+3Ch] mov ecx,[esp+40h] mov edx,[esp+00000098h] add esp,00000020h push eax mov eax,[esp+3Ch] push ecx mov ecx,[esp+38h] push edx mov edx,[esp+30h] push eax mov eax,[esp+24h] push ecx mov ecx,[esp+24h] push edx push eax push ecx mov ecx,[esp+38h] call SUB_L00445480 jmp L004446CC L00444441: mov esi,SSZ0050276C_resizepic lea eax,[esp+000000A8h] L0044444D: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00444471 cmp cl,bl jz L0044446D mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00444471 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0044444D L0044446D: xor eax,eax jmp L00444476 L00444471: sbb eax,eax sbb eax,FFFFFFFFh L00444476: cmp eax,ebx jnz L004444D2 lea eax,[esp+28h] lea ecx,[esp+2Ch] push eax lea edx,[esp+28h] push ecx lea eax,[esp+1Ch] push edx lea ecx,[esp+1Ch] push eax push ecx push SSZ0050275C__d__d__d__d__d push ebp call SUB_L004D592C mov edx,[esp+38h] mov eax,[esp+3Ch] mov ecx,[esp+44h] add esp,0000001Ch push edx mov edx,[esp+30h] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+20h] push eax push ecx mov ecx,[esp+30h] push edx call SUB_L00444C60 jmp L004446CC L004444D2: mov esi,SSZ00502750_htmlgump lea eax,[esp+000000A8h] L004444DE: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00444502 cmp cl,bl jz L004444FE mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00444502 add eax,00000002h add esi,00000002h cmp cl,bl jnz L004444DE L004444FE: xor eax,eax jmp L00444507 L00444502: sbb eax,eax sbb eax,FFFFFFFFh L00444507: cmp eax,ebx jnz L0044458F lea eax,[esp+40h] lea ecx,[esp+48h] push eax lea edx,[esp+54h] push ecx lea eax,[esp+30h] push edx lea ecx,[esp+38h] push eax lea edx,[esp+24h] push ecx lea eax,[esp+24h] push edx push eax push SSZ00502794__d__d__d__d__d__d__d push ebp call SUB_L004D592C mov eax,[esp+64h] mov edi,[esp+6Ch] add esp,00000024h cmp eax,ebx mov eax,[esp+1Ch] setnz cl cmp edi,ebx push ecx mov ecx,[esp+24h] setnz dl push edx mov edx,[esp+58h] push eax mov eax,[esp+000010D0h] push ecx mov ecx,[eax+edx*4] mov edx,[esp+38h] mov eax,[esp+3Ch] push ecx mov ecx,[esp+28h] push edx mov edx,[esp+28h] push eax push ecx mov ecx,[esp+38h] push edx call SUB_L00444D70 jmp L004446CC L0044458F: mov esi,SSZ00502744_xmfhtmlgump lea eax,[esp+000000A8h] L0044459B: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L004445BF cmp cl,bl jz L004445BB mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L004445BF add eax,00000002h add esi,00000002h cmp cl,bl jnz L0044459B L004445BB: xor eax,eax jmp L004445C4 L004445BF: sbb eax,eax sbb eax,FFFFFFFFh L004445C4: cmp eax,ebx jnz L004446CC lea ecx,[esp+00000088h] call SUB_L004C8060 lea eax,[esp+60h] lea ecx,[esp+68h] push eax lea edx,[esp+5Ch] push ecx lea eax,[esp+30h] push edx lea ecx,[esp+38h] push eax lea edx,[esp+24h] push ecx lea eax,[esp+24h] push edx push eax push SSZ00502794__d__d__d__d__d__d__d push ebp mov byte ptr [esp+000010D4h],02h call SUB_L004D592C mov ecx,[esp+7Ch] lea edx,[esp+000000BCh] push ecx push edx call SUB_L0046DEF0 add esp,0000002Ch push eax lea ecx,[esp+0000008Ch] mov byte ptr [esp+000010B4h],03h call SUB_L004C83F0 lea ecx,[esp+00000098h] mov byte ptr [esp+000010B0h],02h call SUB_L004C8100 push 00000400h lea ecx,[esp+0000008Ch] call SUB_L004C8360 push eax lea eax,[esp+000008B0h] push eax call SUB_L004D647C mov ecx,[esp+6Ch] mov ebp,[esp+74h] mov eax,[esp+28h] add esp,0000000Ch cmp ecx,ebx mov [esp+000010A6h],bx setnz cl cmp ebp,ebx push ecx mov ecx,[esp+24h] setnz dl push edx push eax mov eax,[esp+34h] lea edx,[esp+000008B4h] push ecx mov ecx,[esp+3Ch] push edx mov edx,[esp+28h] push eax mov eax,[esp+28h] push ecx mov ecx,[esp+34h] push edx push eax call SUB_L00444D70 lea ecx,[esp+00000088h] mov [esp+000010B0h],bl call SUB_L004C8100 L004446CC: mov edi,[esp+000010C0h] mov al,[edi] cmp al,bl jnz L00443C6C mov esi,[esp+18h] mov ebp,00000001h L004446E6: push SSZ00502728_framedata_for_GenericGump push 00000008h mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00502718_generic_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004456E0 push ebp push ebx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+000010A8h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,000010A4h retn 0018h ;------------------------------------------------------------------------------ Align 16 L004447B0: push esi mov esi,ecx call SUB_L004447D0 test byte ptr [esp+08h],01h jz L004447C8 push esi call SUB_L004D4F9E add esp,00000004h L004447C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004447D0: push FFFFFFFFh push L004E2418 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push edi mov edi,ecx mov [esp+04h],edi mov dword ptr [edi],L004EB66C mov ecx,[edi+000000C0h] mov dword ptr [esp+10h],00000000h test ecx,ecx jz L0044481A push esi L00444806: mov esi,[ecx+30h] test ecx,ecx jz L00444813 mov eax,[ecx] push 00000001h call [eax] L00444813: test esi,esi mov ecx,esi jnz L00444806 pop esi L0044481A: mov ecx,edi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00444840: mov eax,[esp+04h] push esi mov esi,ecx cmp eax,[esi+000000BCh] jnz L00444867 mov ecx,[esp+0Ch] push ecx mov ecx,esi call SUB_L00444870 test esi,esi jz L00444867 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00444867: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00444870: mov eax,00001E60h call SUB_L004D4B90 push ebp mov ebp,ecx mov [esp+08h],ebp mov eax,[ebp+000000B8h] test eax,eax jz L00444A89 mov eax,[L00C88300] test eax,eax jz L00444A89 push ebx push esi push edi lea eax,[esp+18h] push 000000B1h push eax call SUB_L0048BD40 mov ecx,[ebp+000000B8h] lea edx,[esp+20h] push ecx push edx call SUB_L0048BE20 mov eax,[ebp+000000BCh] lea ecx,[esp+28h] push eax push ecx call SUB_L0048BE20 mov edx,[esp+00001E8Ch] lea eax,[esp+30h] push edx push eax call SUB_L0048BE20 mov edi,[ebp+000000C0h] add esp,00000020h test edi,edi mov dword ptr [esp+10h],00000000h jz L00444936 L004448F7: mov esi,[edi+2Ch] xor ebx,ebx test esi,esi jz L00444910 L00444900: mov ecx,esi call SUB_L00446530 mov esi,[esi+30h] add ebx,eax test esi,esi jnz L00444900 L00444910: mov eax,[edi+34h] cmp eax,00000006h jz L0044491D cmp eax,00000007h jnz L00444925 L0044491D: mov eax,[edi+48h] test eax,eax jz L00444925 inc ebx L00444925: mov ecx,[esp+10h] mov edi,[edi+30h] add ecx,ebx test edi,edi mov [esp+10h],ecx jnz L004448F7 L00444936: mov ecx,[esp+10h] lea edx,[esp+18h] push ecx push edx call SUB_L0048BE20 mov edi,[ebp+000000C0h] add esp,00000008h test edi,edi jz L00444998 L00444952: mov esi,[edi+2Ch] test esi,esi jz L0044496C L00444959: lea eax,[esp+18h] mov ecx,esi push eax call SUB_L00446570 mov esi,[esi+30h] test esi,esi jnz L00444959 L0044496C: mov eax,[edi+34h] cmp eax,00000006h jz L00444979 cmp eax,00000007h jnz L00444991 L00444979: mov eax,[edi+48h] test eax,eax jz L00444991 mov ecx,[edi+40h] lea edx,[esp+18h] push ecx push edx call SUB_L0048BE20 add esp,00000008h L00444991: mov edi,[edi+30h] test edi,edi jnz L00444952 L00444998: mov eax,[esp+14h] xor ebp,ebp mov edi,[eax+000000C0h] test edi,edi jz L004449D1 L004449A8: mov esi,[edi+2Ch] xor ebx,ebx test esi,esi jz L004449C1 L004449B1: mov ecx,esi call SUB_L004465C0 mov esi,[esi+30h] add ebx,eax test esi,esi jnz L004449B1 L004449C1: cmp dword ptr [edi+34h],00000008h jnz L004449C8 inc ebx L004449C8: mov edi,[edi+30h] add ebp,ebx test edi,edi jnz L004449A8 L004449D1: lea ecx,[esp+18h] push ebp push ecx call SUB_L0048BE20 mov edx,[esp+1Ch] add esp,00000008h mov edi,[edx+000000C0h] test edi,edi jz L00444A76 L004449F1: mov esi,[edi+2Ch] test esi,esi jz L00444A0B L004449F8: lea eax,[esp+18h] mov ecx,esi push eax call SUB_L004465F0 mov esi,[esi+30h] test esi,esi jnz L004449F8 L00444A0B: cmp dword ptr [edi+34h],00000008h jnz L00444A6B mov cx,[edi+40h] lea edx,[esp+18h] push ecx push edx call SUB_L0048BDC0 mov eax,[edi+38h] push eax call SUB_L004C4300 add esp,0000000Ch cmp ax,00EFh mov ebx,000000EFh ja L00444A39 mov ebx,eax L00444A39: lea ecx,[esp+18h] push ebx push ecx call SUB_L0048BDC0 add esp,00000008h xor esi,esi and ebx,0000FFFFh jle L00444A6B L00444A51: mov edx,[edi+38h] lea ecx,[esp+18h] mov ax,[edx+esi*2] push eax push ecx call SUB_L0048BDC0 add esp,00000008h inc esi cmp esi,ebx jl L00444A51 L00444A6B: mov edi,[edi+30h] test edi,edi jnz L004449F1 L00444A76: mov ecx,[L00C88300] lea edx,[esp+18h] push edx call SUB_L004BC750 pop edi pop esi pop ebx L00444A89: pop ebp add esp,00001E60h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00444AA0: mov eax,ecx mov ecx,[eax+000000C8h] test ecx,ecx jz L00444AB7 push eax mov eax,[esp+08h] push eax call SUB_L00446450 L00444AB7: retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00444AC0: push esi mov esi,ecx mov eax,[esi+000000C8h] test eax,eax jz L00444AEB cmp dword ptr [eax+34h],00000008h jnz L00444AE1 mov ecx,esi mov dword ptr [eax+48h],00000000h call SUB_L004456E0 L00444AE1: mov dword ptr [esi+000000C8h],00000000h L00444AEB: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00444AF0: push ebx push ebp push esi push edi mov edi,ecx mov esi,[edi+000000C0h] test esi,esi jz L00444B2B mov ebx,[esp+18h] mov ebp,[esp+14h] L00444B08: mov eax,[esi+08h] test eax,eax jz L00444B17 cmp eax,[edi+0000009Ch] jnz L00444B24 L00444B17: mov eax,[esi] push ebx push ebp mov ecx,esi call [eax+08h] test eax,eax jnz L00444B34 L00444B24: mov esi,[esi+30h] test esi,esi jnz L00444B08 L00444B2B: pop edi pop esi pop ebp xor eax,eax pop ebx retn 0008h ;------------------------------------------------------------------------------ L00444B34: pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 0008h ;------------------------------------------------------------------------------ SUB_L00444B40: push FFFFFFFFh push L004E243B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp mov ebp,[esp+28h] push esi push edi xor edi,edi test ebp,ebp jnz L00444B6B lea esi,[ecx+000000C0h] jmp L00444BD0 L00444B6B: mov edi,[ecx+000000C0h] test edi,edi jz L00444C45 L00444B79: cmp [edi+10h],ebp jz L00444BC9 mov esi,[edi+2Ch] test esi,esi jz L00444BAC L00444B85: cmp [esi+10h],ebp jz L00444BA6 mov eax,[esi+2Ch] test eax,eax jz L00444B9D push ebp mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00444BC7 L00444B9D: mov esi,[esi+30h] test esi,esi jnz L00444B85 jmp L00444BAC L00444BA6: mov eax,esi test eax,eax jnz L00444BC7 L00444BAC: mov edi,[edi+30h] test edi,edi jnz L00444B79 pop edi pop esi pop ebp mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L00444BC7: mov edi,eax L00444BC9: test edi,edi jz L00444C45 lea esi,[edi+2Ch] L00444BD0: mov eax,[esi] test eax,eax jz L00444BE0 L00444BD6: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00444BD6 L00444BE0: lea eax,[esp+30h] push ebx mov ebx,[esp+2Ch] lea ecx,[esp+10h] push eax push ecx push ebx call SUB_L004434A0 push 0000004Ch call SUB_L004D4FA9 add esp,00000010h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L00444C40 mov edx,[esp+34h] mov ecx,[esp+10h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ebx push edx mov edx,[esp+44h] push ecx mov ecx,[esp+44h] push edx mov edx,[esp+54h] push ecx push ebp push edx push 00000001h push edi mov ecx,eax call SUB_L00445A90 jmp L00444C42 L00444C40: xor eax,eax L00444C42: mov [esi],eax pop ebx L00444C45: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00444C60: mov eax,fs:[00000000h] push FFFFFFFFh push L004E245B push eax mov fs:[00000000h],esp push ebx mov ebx,[esp+2Ch] push esi push edi xor edi,edi test ebx,ebx jnz L00444C8A lea esi,[ecx+000000C0h] jmp L00444CEF L00444C8A: mov edi,[ecx+000000C0h] test edi,edi jz L00444D52 L00444C98: cmp [edi+10h],ebx jz L00444CE8 mov esi,[edi+2Ch] test esi,esi jz L00444CCB L00444CA4: cmp [esi+10h],ebx jz L00444CC5 mov eax,[esi+2Ch] test eax,eax jz L00444CBC push ebx mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00444CE6 L00444CBC: mov esi,[esi+30h] test esi,esi jnz L00444CA4 jmp L00444CCB L00444CC5: mov eax,esi test eax,eax jnz L00444CE6 L00444CCB: mov edi,[edi+30h] test edi,edi jnz L00444C98 mov ecx,[esp+0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ L00444CE6: mov edi,eax L00444CE8: test edi,edi jz L00444D52 lea esi,[edi+2Ch] L00444CEF: mov eax,[esi] test eax,eax jz L00444CFF L00444CF5: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00444CF5 L00444CFF: push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00444D4E mov ecx,[esp+24h] mov edx,[esp+2Ch] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[esp+40h] push edx mov edx,[esp+3Ch] push ecx mov ecx,[esp+3Ch] push edx mov edx,[esp+54h] push ecx push ebx push edx push 00000003h push edi mov ecx,eax call SUB_L00445A90 jmp L00444D50 L00444D4E: xor eax,eax L00444D50: mov [esi],eax L00444D52: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 001Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00444D70: mov eax,fs:[00000000h] push FFFFFFFFh push L004E247B push eax mov fs:[00000000h],esp push ebx mov ebx,[esp+2Ch] push ebp push esi push edi xor edi,edi mov ebp,ecx test ebx,ebx jnz L00444D9D lea esi,[ebp+000000C0h] jmp L00444DF0 L00444D9D: mov edi,[ebp+000000C0h] test edi,edi jz L00444E61 L00444DAB: cmp [edi+10h],ebx jz L00444DE9 mov esi,[edi+2Ch] test esi,esi jz L00444DDE L00444DB7: cmp [esi+10h],ebx jz L00444DD8 mov eax,[esi+2Ch] test eax,eax jz L00444DCF push ebx mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00444DE7 L00444DCF: mov esi,[esi+30h] test esi,esi jnz L00444DB7 jmp L00444DDE L00444DD8: mov eax,esi test eax,eax jnz L00444DE7 L00444DDE: mov edi,[edi+30h] test edi,edi jnz L00444DAB jmp L00444E61 L00444DE7: mov edi,eax L00444DE9: test edi,edi jz L00444E61 lea esi,[edi+2Ch] L00444DF0: mov eax,[esi] test eax,eax jz L00444E00 L00444DF6: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00444DF6 L00444E00: push 00000098h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L00444E5D mov ecx,[esp+40h] mov edx,[esp+3Ch] push ecx mov ecx,[esp+34h] push edx mov edx,[esp+34h] push 00000000h push 00000000h push 00000000h push ecx mov ecx,[esp+40h] push 00000000h push 00000000h push edx mov edx,[esp+48h] push ecx mov ecx,[esp+48h] push edx mov edx,[esp+60h] push ecx push ebx push edx push 0000000Ah push edi push ebp mov ecx,eax call SUB_L00446670 jmp L00444E5F L00444E5D: xor eax,eax L00444E5F: mov [esi],eax L00444E61: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00444E80: push FFFFFFFFh push L004E249B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,[esp+30h] test edi,edi mov dword ptr [esp+0Ch],00000000h jnz L00444EB1 lea ebx,[ecx+000000C0h] jmp L00444F24 L00444EB1: mov ebx,[ecx+000000C0h] test ebx,ebx jz L00444FA8 L00444EBF: cmp [ebx+10h],edi jz L00444F0D mov esi,[ebx+2Ch] test esi,esi jz L00444EF2 L00444ECB: cmp [esi+10h],edi jz L00444EEC mov eax,[esi+2Ch] test eax,eax jz L00444EE3 push edi mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00444F13 L00444EE3: mov esi,[esi+30h] test esi,esi jnz L00444ECB jmp L00444EF2 L00444EEC: mov eax,esi test eax,eax jnz L00444F13 L00444EF2: mov ebx,[ebx+30h] test ebx,ebx jnz L00444EBF pop edi pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L00444F0D: mov [esp+0Ch],ebx jmp L00444F19 L00444F13: mov [esp+0Ch],eax mov ebx,eax L00444F19: test ebx,ebx jz L00444FA8 add ebx,0000002Ch L00444F24: mov eax,[ebx] test eax,eax jz L00444F34 L00444F2A: lea ebx,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00444F2A L00444F34: push ebp mov ebp,[esp+2Ch] xor esi,esi xor edi,edi lea eax,[ebp+00004000h] push eax call SUB_L004B9530 add esp,00000004h test eax,eax jz L00444F58 mov si,[eax+04h] mov di,[eax+06h] L00444F58: push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L00444FA3 mov ecx,[esp+28h] mov edx,[esp+24h] push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push ebp push edi push esi push ecx mov ecx,[esp+58h] push edx mov edx,[esp+58h] push ecx mov ecx,[esp+3Ch] push edx push 00000002h push ecx mov ecx,eax call SUB_L00445A90 jmp L00444FA5 L00444FA3: xor eax,eax L00444FA5: mov [ebx],eax pop ebp L00444FA8: mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00444FC0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E24BB push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp mov ebp,[esp+34h] push esi push edi xor ebx,ebx xor edi,edi cmp ebp,ebx jnz L00444FF0 lea esi,[ecx+000000C0h] jmp L00445048 L00444FF0: mov edi,[ecx+000000C0h] cmp edi,ebx jz L004450D5 L00444FFE: cmp [edi+10h],ebp jz L0044503D mov esi,[edi+2Ch] cmp esi,ebx jz L0044502F L0044500A: cmp [esi+10h],ebp jz L00445029 cmp [esi+2Ch],ebx jz L00445020 push ebp mov ecx,esi call SUB_L00445BE0 cmp eax,ebx jnz L0044503B L00445020: mov esi,[esi+30h] cmp esi,ebx jnz L0044500A jmp L0044502F L00445029: mov eax,esi cmp eax,ebx jnz L0044503B L0044502F: mov edi,[edi+30h] cmp edi,ebx jnz L00444FFE jmp L004450D5 L0044503B: mov edi,eax L0044503D: cmp edi,ebx jz L004450D5 lea esi,[edi+2Ch] L00445048: mov eax,[esi] cmp eax,ebx jz L00445058 L0044504E: lea esi,[eax+30h] mov eax,[eax+30h] cmp eax,ebx jnz L0044504E L00445058: lea eax,[esp+14h] lea ecx,[esp+3Ch] mov [esp+10h],ebx mov [esp+3Ch],ebx mov [esp+14h],ebx mov ebx,[esp+34h] push eax lea edx,[esp+14h] push ecx push edx push ebx call SUB_L004C6930 push 0000004Ch call SUB_L004D4FA9 add esp,00000014h mov [esp+34h],eax test eax,eax mov dword ptr [esp+20h],00000000h jz L004450D1 mov ecx,[esp+30h] mov edx,[esp+3Ch] push 00000000h push 00000000h push 00000000h push ebx push 00000000h push ecx mov ecx,[esp+28h] add edx,00000002h add ecx,00000002h push edx mov edx,[esp+48h] push ecx mov ecx,[esp+48h] push edx mov edx,[esp+5Ch] push ecx push ebp push edx push 00000004h push edi mov ecx,eax call SUB_L00445A90 jmp L004450D3 L004450D1: xor eax,eax L004450D3: mov [esi],eax L004450D5: mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L004450F0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E24DB push eax mov fs:[00000000h],esp push ebx mov ebx,[esp+30h] push esi push edi xor edi,edi test ebx,ebx jnz L0044511A lea esi,[ecx+000000C0h] jmp L0044517F L0044511A: mov edi,[ecx+000000C0h] test edi,edi jz L004451EB L00445128: cmp [edi+10h],ebx jz L00445178 mov esi,[edi+2Ch] test esi,esi jz L0044515B L00445134: cmp [esi+10h],ebx jz L00445155 mov eax,[esi+2Ch] test eax,eax jz L0044514C push ebx mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00445176 L0044514C: mov esi,[esi+30h] test esi,esi jnz L00445134 jmp L0044515B L00445155: mov eax,esi test eax,eax jnz L00445176 L0044515B: mov edi,[edi+30h] test edi,edi jnz L00445128 mov ecx,[esp+0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,0000000Ch retn 0020h ;------------------------------------------------------------------------------ L00445176: mov edi,eax L00445178: test edi,edi jz L004451EB lea esi,[edi+2Ch] L0044517F: mov eax,[esi] test eax,eax jz L0044518F L00445185: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00445185 L0044518F: push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L004451E7 mov ecx,[esp+30h] mov edx,[esp+2Ch] push 00000000h push 00000000h push 00000000h push ecx mov ecx,[esp+38h] push 00000000h push edx mov edx,[esp+3Ch] add ecx,00000002h add edx,00000002h push ecx mov ecx,[esp+3Ch] push edx mov edx,[esp+3Ch] push ecx mov ecx,[esp+58h] push edx push ebx push ecx push 00000009h push edi mov ecx,eax call SUB_L00445A90 jmp L004451E9 L004451E7: xor eax,eax L004451E9: mov [esi],eax L004451EB: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0020h ;------------------------------------------------------------------------------ Align 4 SUB_L00445200: mov eax,fs:[00000000h] push FFFFFFFFh push L004E24FB push eax mov fs:[00000000h],esp push ebx mov ebx,[esp+34h] push esi push edi xor edi,edi test ebx,ebx jnz L0044522A lea esi,[ecx+000000C0h] jmp L0044528F L0044522A: mov edi,[ecx+000000C0h] test edi,edi jz L004452FE L00445238: cmp [edi+10h],ebx jz L00445288 mov esi,[edi+2Ch] test esi,esi jz L0044526B L00445244: cmp [esi+10h],ebx jz L00445265 mov eax,[esi+2Ch] test eax,eax jz L0044525C push ebx mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00445286 L0044525C: mov esi,[esi+30h] test esi,esi jnz L00445244 jmp L0044526B L00445265: mov eax,esi test eax,eax jnz L00445286 L0044526B: mov edi,[edi+30h] test edi,edi jnz L00445238 mov ecx,[esp+0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,0000000Ch retn 0024h ;------------------------------------------------------------------------------ L00445286: mov edi,eax L00445288: test edi,edi jz L004452FE lea esi,[edi+2Ch] L0044528F: mov eax,[esi] test eax,eax jz L0044529F L00445295: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L00445295 L0044529F: push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L004452FA mov ecx,[esp+34h] mov edx,[esp+30h] push 00000000h push ecx mov ecx,[esp+34h] push 00000000h push edx mov edx,[esp+38h] push 00000000h push ecx mov ecx,[esp+3Ch] add edx,00000002h add ecx,00000002h push edx mov edx,[esp+3Ch] push ecx mov ecx,[esp+3Ch] push edx mov edx,[esp+5Ch] push ecx push ebx push edx push 00000008h push edi mov ecx,eax call SUB_L00445A90 jmp L004452FC L004452FA: xor eax,eax L004452FC: mov [esi],eax L004452FE: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00445320: push FFFFFFFFh push L004E251B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov edi,[esp+48h] test edi,edi mov dword ptr [esp+0Ch],00000000h jnz L00445353 lea esi,[ecx+000000C0h] jmp L004453C8 L00445353: mov ebx,[ecx+000000C0h] test ebx,ebx jz L00445465 L00445361: cmp [ebx+10h],edi jz L004453AF mov esi,[ebx+2Ch] test esi,esi jz L00445394 L0044536D: cmp [esi+10h],edi jz L0044538E mov eax,[esi+2Ch] test eax,eax jz L00445385 push edi mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L004453B7 L00445385: mov esi,[esi+30h] test esi,esi jnz L0044536D jmp L00445394 L0044538E: mov eax,esi test eax,eax jnz L004453B7 L00445394: mov ebx,[ebx+30h] test ebx,ebx jnz L00445361 pop edi pop esi pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn 0024h ;------------------------------------------------------------------------------ L004453AF: mov esi,ebx mov [esp+0Ch],esi jmp L004453BD L004453B7: mov [esp+0Ch],eax mov esi,eax L004453BD: test esi,esi jz L00445465 add esi,0000002Ch L004453C8: mov eax,[esi] test eax,eax jz L004453D8 L004453CE: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L004453CE L004453D8: mov edi,[esp+30h] lea eax,[esp+10h] push ebp lea ecx,[esp+18h] push eax push ecx push edi call SUB_L004434A0 mov ebx,[esp+48h] xor edx,edx test ebx,ebx mov ebx,[esp+4Ch] push 0000004Ch mov eax,ebx setnz dl neg eax sbb eax,eax and eax,00000002h or edx,eax mov ebp,edx call SUB_L004D4FA9 add esp,00000010h mov [esp+34h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L00445460 mov ecx,[esp+44h] mov edx,[esp+38h] push ebx push ecx mov ecx,[esp+1Ch] push ebp push 00000000h push edx mov edx,[esp+2Ch] push edi push ecx mov ecx,[esp+4Ch] push edx mov edx,[esp+4Ch] push ecx mov ecx,[esp+70h] push edx mov edx,[esp+70h] push ecx mov ecx,[esp+3Ch] push edx push 00000005h push ecx mov ecx,eax call SUB_L00445A90 jmp L00445462 L00445460: xor eax,eax L00445462: mov [esi],eax pop ebp L00445465: mov ecx,[esp+18h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0024h ;------------------------------------------------------------------------------ Align 8 SUB_L00445480: push FFFFFFFFh push L004E253B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp mov ebp,[esp+34h] push esi push edi xor edi,edi test ebp,ebp jnz L004454AB lea esi,[ecx+000000C0h] jmp L00445514 L004454AB: mov edi,[ecx+000000C0h] test edi,edi jz L00445592 L004454B9: cmp [edi+10h],ebp jz L00445509 mov esi,[edi+2Ch] test esi,esi jz L004454EC L004454C5: cmp [esi+10h],ebp jz L004454E6 mov eax,[esi+2Ch] test eax,eax jz L004454DD push ebp mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00445507 L004454DD: mov esi,[esi+30h] test esi,esi jnz L004454C5 jmp L004454EC L004454E6: mov eax,esi test eax,eax jnz L00445507 L004454EC: mov edi,[edi+30h] test edi,edi jnz L004454B9 pop edi pop esi pop ebp mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ L00445507: mov edi,eax L00445509: test edi,edi jz L00445592 lea esi,[edi+2Ch] L00445514: mov eax,[esi] test eax,eax jz L00445524 L0044551A: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L0044551A L00445524: lea eax,[esp+3Ch] push ebx mov ebx,[esp+2Ch] lea ecx,[esp+10h] push eax push ecx push ebx call SUB_L004434A0 push 0000004Ch call SUB_L004D4FA9 add esp,00000010h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L0044558D mov edx,[esp+34h] mov ecx,[esp+38h] push edx mov edx,[esp+34h] push ecx mov ecx,[esp+48h] push 00000000h push 00000000h push edx mov edx,[esp+24h] push ebx push ecx mov ecx,[esp+44h] push edx mov edx,[esp+44h] push ecx mov ecx,[esp+60h] push edx push ebp push ecx push 00000006h push edi mov ecx,eax call SUB_L00445A90 jmp L0044558F L0044558D: xor eax,eax L0044558F: mov [esi],eax pop ebx L00445592: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L004455B0: push FFFFFFFFh push L004E255B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp mov ebp,[esp+34h] push esi push edi xor edi,edi test ebp,ebp jnz L004455DB lea esi,[ecx+000000C0h] jmp L00445644 L004455DB: mov edi,[ecx+000000C0h] test edi,edi jz L004456C2 L004455E9: cmp [edi+10h],ebp jz L00445639 mov esi,[edi+2Ch] test esi,esi jz L0044561C L004455F5: cmp [esi+10h],ebp jz L00445616 mov eax,[esi+2Ch] test eax,eax jz L0044560D push ebp mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00445637 L0044560D: mov esi,[esi+30h] test esi,esi jnz L004455F5 jmp L0044561C L00445616: mov eax,esi test eax,eax jnz L00445637 L0044561C: mov edi,[edi+30h] test edi,edi jnz L004455E9 pop edi pop esi pop ebp mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ L00445637: mov edi,eax L00445639: test edi,edi jz L004456C2 lea esi,[edi+2Ch] L00445644: mov eax,[esi] test eax,eax jz L00445654 L0044564A: lea esi,[eax+30h] mov eax,[eax+30h] test eax,eax jnz L0044564A L00445654: lea eax,[esp+3Ch] push ebx mov ebx,[esp+2Ch] lea ecx,[esp+10h] push eax push ecx push ebx call SUB_L004434A0 push 0000004Ch call SUB_L004D4FA9 add esp,00000010h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L004456BD mov edx,[esp+34h] mov ecx,[esp+38h] push edx mov edx,[esp+34h] push ecx mov ecx,[esp+48h] push 00000000h push 00000000h push edx mov edx,[esp+24h] push ebx push ecx mov ecx,[esp+44h] push edx mov edx,[esp+44h] push ecx mov ecx,[esp+60h] push edx push ebp push ecx push 00000007h push edi mov ecx,eax call SUB_L00445A90 jmp L004456BF L004456BD: xor eax,eax L004456BF: mov [esi],eax pop ebx L004456C2: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L004456E0: push ebp push esi mov esi,ecx push edi push SSZ00502718_generic_frame mov eax,[esi+3Ch] mov ecx,[eax+04h] push ecx call SUB_L00476000 mov ebp,00000001h push SSZ00502718_generic_frame push 00000006h mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov edi,[esi+000000C0h] test edi,edi jz L004457AC L00445760: mov eax,[edi+08h] test eax,eax jz L00445788 cmp eax,[esi+0000009Ch] jz L00445788 cmp dword ptr [edi+34h],0000000Ah jnz L004457A5 mov eax,[edi+00000094h] test eax,eax jz L004457A5 mov dword ptr [eax+6Ch],00000000h jmp L004457A5 L00445788: cmp dword ptr [edi+34h],0000000Ah jnz L0044579D mov eax,[edi+00000094h] test eax,eax jz L004457A5 mov [eax+6Ch],ebp jmp L004457A5 L0044579D: mov eax,[edi] push esi mov ecx,edi call [eax+04h] L004457A5: mov edi,[edi+30h] test edi,edi jnz L00445760 L004457AC: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004457B0: push ecx push ebx push ebp mov ebp,[esp+10h] push esi mov esi,ecx push edi mov eax,[esi+20h] cmp ebp,eax jg L004457C4 mov ebp,eax L004457C4: mov eax,[esi+24h] mov ecx,[esp+1Ch] cmp ecx,eax mov [esp+10h],ebp mov [esp+18h],ecx jg L004457DB mov [esp+18h],eax L004457DB: mov edi,[esp+18h] push SSZ00502718_generic_frame imul edi,ebp lea eax,[edi+edi+04h] push eax call SUB_L00475FC0 lea ecx,[edi+edi] mov ebx,eax mov edx,ecx xor eax,eax lea edi,[ebx+04h] add esp,00000008h shr ecx,02h rep stosd mov ecx,edx mov dword ptr [esp+1Ch],00000000h and ecx,00000003h rep stosb mov ax,[esp+18h] mov [ebx],bp mov [ebx+02h],ax mov eax,[esi+24h] mov edi,00000002h test eax,eax mov edx,edi jle L00445873 L0044582E: mov eax,[esi+20h] xor ecx,ecx test eax,eax jle L0044585A lea eax,[ebx+edi*2] L0044583A: mov ebp,[esi+3Ch] inc edi add eax,00000002h inc edx mov ebp,[ebp+04h] inc ecx mov bp,[ebp+edx*2-02h] mov [eax-02h],bp mov ebp,[esi+20h] cmp ecx,ebp jl L0044583A mov ebp,[esp+10h] L0044585A: mov eax,[esi+20h] mov ecx,ebp sub ecx,eax mov eax,[esp+1Ch] add edi,ecx mov ecx,[esi+24h] inc eax cmp eax,ecx mov [esp+1Ch],eax jl L0044582E L00445873: mov edx,[esi+3Ch] push SSZ00502718_generic_frame mov eax,[edx+04h] push eax call SUB_L00476000 mov ecx,[esi+3Ch] mov edx,[esp+20h] add esp,00000008h mov [ecx+04h],ebx mov [esi+1Ch],ebp mov [esi+20h],ebp mov [esi+24h],edx pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004458B0: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov eax,[esi+000000B4h] add esp,00000004h test eax,eax jz L004458DC push 00000000h mov ecx,esi call SUB_L00444870 test esi,esi jz L004458DC mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004458DC: pop esi retn 0008h ;------------------------------------------------------------------------------ L004458E0: push ebx push ebp push esi push edi mov edi,ecx push 00000000h call SUB_L004584E0 mov esi,[edi+000000C0h] mov ebx,[esp+14h] mov ebp,[esp+18h] mov eax,[edi+0000009Ch] test esi,esi mov dword ptr [edi+000000A0h],00000001h mov [edi+000000A4h],ebx mov [edi+000000A8h],ebp mov [esp+14h],eax jz L0044594E L0044591F: mov eax,[esi+08h] test eax,eax jz L0044592C cmp eax,[esp+14h] jnz L00445947 L0044592C: mov edx,[esi] push ebp push ebx mov ecx,esi call [edx+08h] test eax,eax jz L00445947 mov edx,[eax] push edi push ebp push ebx mov ecx,eax call [edx+10h] test eax,eax jz L0044594E L00445947: mov esi,[esi+30h] test esi,esi jnz L0044591F L0044594E: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00445960: push ecx push esi push edi mov edi,ecx mov esi,[edi+000000C0h] mov eax,[edi+0000009Ch] test esi,esi mov dword ptr [edi+000000A0h],00000000h mov [esp+08h],eax jz L004459CA push ebx mov ebx,[esp+18h] push ebp mov ebp,[esp+18h] L0044598D: mov eax,[esi+08h] test eax,eax jz L0044599A cmp eax,[esp+10h] jnz L004459C1 L0044599A: mov eax,[edi+000000A8h] mov ecx,[edi+000000A4h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+08h] test eax,eax jz L004459C1 mov edx,[eax] push edi push ebx push ebp mov ecx,eax call [edx+14h] test eax,eax jz L004459C8 L004459C1: mov esi,[esi+30h] test esi,esi jnz L0044598D L004459C8: pop ebp pop ebx L004459CA: push 00000000h call SUB_L00476670 add esp,00000004h pop edi pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 L004459E0: push ebp mov ebp,[ecx+0000009Ch] push esi mov esi,[ecx+000000C0h] test esi,esi jz L00445A26 push ebx mov ebx,[esp+10h] push edi mov edi,[esp+18h] L004459FC: mov eax,[esi+08h] test eax,eax jz L00445A07 cmp eax,ebp jnz L00445A1D L00445A07: mov eax,[esi] push edi push ebx mov ecx,esi call [eax+08h] test eax,eax jz L00445A1D mov edx,[eax] push edi push ebx mov ecx,eax call [edx+0Ch] L00445A1D: mov esi,[esi+30h] test esi,esi jnz L004459FC pop edi pop ebx L00445A26: pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L00445A30: mov edx,[ecx+000000B0h] xor eax,eax test edx,edx setnz al retn ;------------------------------------------------------------------------------ Align 4 L00445A40: mov eax,[ecx+000000ACh] test eax,eax jz L00445A81 mov eax,[ecx+000000A0h] test eax,eax jz L00445A81 mov eax,[ecx+000000C4h] test eax,eax jnz L00445A81 mov eax,[esp+08h] mov edx,[ecx+000000A8h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+000000A4h] push edx call SUB_L00457800 L00445A81: retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00445A90: mov edx,[esp+10h] mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[esp+10h] push edi mov [esi+08h],ecx mov ecx,[esp+20h] mov [esi+10h],edx mov edx,[esp+24h] mov edi,[esp+34h] mov [esi+04h],eax mov eax,[esp+1Ch] mov [esi+18h],ecx mov ecx,[esp+2Ch] mov [esi+1Ch],edx mov edx,[esp+30h] mov [esi+14h],eax mov eax,[esp+28h] mov [esi+24h],ecx mov ecx,[esp+10h] mov [esi+28h],edx mov edx,[esp+38h] mov [esi+20h],eax xor eax,eax mov [esi+34h],ecx mov ecx,[esp+3Ch] mov [esi+3Ch],edx mov edx,[esp+40h] cmp edi,eax mov dword ptr [esi+0Ch],00000001h mov [esi+2Ch],eax mov [esi+30h],eax mov [esi+38h],eax mov [esi+40h],ecx mov [esi+44h],edx mov [esi+48h],eax mov dword ptr [esi],L004EB7E0 jz L00445B2F push edi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [esi+38h],eax call SUB_L004C4430 add esp,00000010h L00445B2F: mov eax,[esi+34h] cmp eax,00000006h jz L00445B3C cmp eax,00000007h jnz L00445B42 L00445B3C: mov ecx,[esi+44h] mov [esi+48h],ecx L00445B42: mov eax,esi pop edi pop esi retn 0038h ;------------------------------------------------------------------------------ Align 8 L00445B50: push edi mov edi,ecx mov ecx,[edi+2Ch] mov dword ptr [edi],L004EB7E0 test ecx,ecx jz L00445B75 push esi L00445B61: mov esi,[ecx+30h] test ecx,ecx jz L00445B6E mov eax,[ecx] push 00000001h call [eax] L00445B6E: test esi,esi mov ecx,esi jnz L00445B61 pop esi L00445B75: mov eax,[edi+38h] test eax,eax jz L00445B85 push eax call SUB_L004D4F9E add esp,00000004h L00445B85: test byte ptr [esp+08h],01h jz L00445B95 push edi call SUB_L004D4F9E add esp,00000004h L00445B95: mov eax,edi pop edi retn 0004h ;------------------------------------------------------------------------------ Align 8 L00445BA0: push edi mov edi,ecx mov ecx,[edi+2Ch] mov dword ptr [edi],L004EB7E0 test ecx,ecx jz L00445BC5 push esi L00445BB1: mov esi,[ecx+30h] test ecx,ecx jz L00445BBE mov eax,[ecx] push 00000001h call [eax] L00445BBE: test esi,esi mov ecx,esi jnz L00445BB1 pop esi L00445BC5: mov eax,[edi+38h] pop edi test eax,eax jz L00445BD4 push eax call SUB_L004D4F9E pop ecx L00445BD4: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00445BE0: push esi mov esi,[ecx+2Ch] test esi,esi push edi jz L00445C0C mov edi,[esp+0Ch] L00445BED: cmp [esi+10h],edi jz L00445C13 mov eax,[esi+2Ch] test eax,eax jz L00445C05 push edi mov ecx,esi call SUB_L00445BE0 test eax,eax jnz L00445C0E L00445C05: mov esi,[esi+30h] test esi,esi jnz L00445BED L00445C0C: xor eax,eax L00445C0E: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L00445C13: mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L00445C20: sub esp,00000814h push ebx push ebp push esi mov esi,ecx xor ebp,ebp push edi cmp [esi+34h],ebp jz L00446115 mov eax,[esi+14h] mov ecx,[esi+1Ch] mov ebx,[esp+00000828h] add eax,ecx cmp [ebx+20h],eax jl L00445C5A mov edx,[esi+20h] mov edi,[esi+18h] mov ecx,[ebx+24h] add edx,edi cmp ecx,edx jge L00445C6B L00445C5A: mov ecx,[esi+20h] mov edi,[esi+18h] add ecx,edi push ecx push eax mov ecx,ebx call SUB_L004457B0 L00445C6B: mov eax,[esi+34h] dec eax cmp eax,00000008h ja L0044611C jmp [CASE_PROCTABLE_00446180+eax*4] CASE_00446180_PROC0000: cmp [esi+48h],ebp jz L00445C89 mov eax,[esi+28h] jmp L00445C8C L00445C89: mov eax,[esi+24h] L00445C8C: mov edx,[ebx+24h] mov ecx,[ebx+20h] push edx mov edx,[ebx+3Ch] push ecx mov ecx,[edx+04h] mov edx,[esi+18h] add ecx,00000004h push ecx mov ecx,[esi+14h] push edx push ecx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L0044611C CASE_00446180_PROC0002: mov dx,[esi+1Ch] mov edi,L00943314 mov [L00943310],dx mov ax,[esi+20h] mov [L00943312],ax mov ecx,[esi+20h] imul ecx,[esi+1Ch] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx push 00000001h and ecx,00000003h push L00943310 rep stosb mov eax,[esi+24h] push eax call SUB_L0042BB70 mov ecx,[ebx+20h] mov edx,[esi+14h] imul ecx,[esi+18h] add ecx,edx mov edx,[ebx+3Ch] add esp,0000000Ch mov edi,L00943314 mov eax,[edx+04h] lea eax,[eax+ecx*2+04h] mov ecx,[esi+20h] test ecx,ecx jle L0044611C L00445D25: mov edx,[esi+1Ch] xor ecx,ecx test edx,edx jle L00445D47 L00445D2E: mov dx,[edi] test dx,dx jz L00445D39 mov [eax],dx L00445D39: mov edx,[esi+1Ch] add eax,00000002h add edi,00000002h inc ecx cmp ecx,edx jl L00445D2E L00445D47: mov ecx,[ebx+20h] mov edx,[esi+1Ch] sub ecx,edx inc ebp lea eax,[eax+ecx*2] mov ecx,[esi+20h] cmp ebp,ecx jl L00445D25 jmp L0044611C CASE_00446180_PROC0001: mov edx,[esi+24h] add edx,00004000h push edx call SUB_L004B9530 mov ebp,eax add esp,00000004h test ebp,ebp jz L0044611C mov eax,[esi+20h] imul eax,[esi+1Ch] shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[esi+20h] mov edi,eax imul ecx,[esi+1Ch] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h mov [esp+14h],edi rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+1Ch] mov edi,[esp+14h] push eax push edi call SUB_L004B9E80 push 00000000h push 00000000h push ebp push SUB_L004B95C0 call SUB_L004BA090 mov ecx,[ebx+20h] mov edx,[esi+14h] imul ecx,[esi+18h] add ecx,edx mov edx,[ebx+3Ch] add esp,0000001Ch mov eax,[edx+04h] mov edx,edi lea ecx,[eax+ecx*2+04h] mov al,[L00C8C4A4] test al,al jz L00445E54 mov eax,[esi+20h] xor ebp,ebp test eax,eax jle L00445E92 L00445DF7: mov eax,[esi+1Ch] xor edi,edi test eax,eax jle L00445E2F L00445E00: mov ax,[edx] test ax,ax jz L00445E21 mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx mov ebx,[esp+00000828h] L00445E21: mov eax,[esi+1Ch] add ecx,00000002h add edx,00000002h inc edi cmp edi,eax jl L00445E00 L00445E2F: mov eax,[ebx+20h] mov edi,[esi+1Ch] sub eax,edi inc ebp lea ecx,[ecx+eax*2] mov eax,[esi+20h] cmp ebp,eax jl L00445DF7 mov ecx,[esp+10h] push ecx call SUB_L004D4F9E add esp,00000004h jmp L0044611C L00445E54: mov eax,[esi+20h] xor ebp,ebp test eax,eax jle L00445E92 L00445E5D: mov edi,[esi+1Ch] xor eax,eax test edi,edi jle L00445E7F L00445E66: mov di,[edx] test di,di jz L00445E71 mov [ecx],di L00445E71: mov edi,[esi+1Ch] add ecx,00000002h add edx,00000002h inc eax cmp eax,edi jl L00445E66 L00445E7F: mov eax,[ebx+20h] mov edi,[esi+1Ch] sub eax,edi inc ebp lea ecx,[ecx+eax*2] mov eax,[esi+20h] cmp ebp,eax jl L00445E5D L00445E92: mov ecx,[esp+10h] push ecx call SUB_L004D4F9E add esp,00000004h jmp L0044611C CASE_00446180_PROC0003: mov eax,[esi+20h] mov ecx,[esi+1Ch] mov [esp+20h],eax imul eax,ecx shl eax,1 push eax mov [esp+1Ch],ebp mov [esp+18h],ebp mov [esp+20h],ecx call SUB_L004D4FA9 mov ecx,[esi+20h] mov ebx,eax imul ecx,[esi+1Ch] shl ecx,1 mov edx,ecx xor eax,eax mov edi,ebx add esp,00000004h shr ecx,02h rep stosd mov ecx,edx mov [esp+10h],ebx and ecx,00000003h rep stosb cmp dword ptr [esi+34h],00000009h jnz L00445FA9 mov eax,[esi+38h] push eax call SUB_L004C5FB0 mov ecx,[esi+1Ch] add esp,00000004h cmp eax,ecx jle L00445FA9 push L00502844 call SUB_L004C5FB0 mov ecx,[esi+38h] lea edx,[esp+28h] push ecx push edx mov ebp,eax xor edi,edi call SUB_L004C4430 lea eax,[esp+30h] push eax push edi call SUB_L004C6E30 mov ecx,[esi+1Ch] add eax,ebp add esp,00000014h cmp eax,ecx jge L00445F5F L00445F3D: mov ecx,[esi+38h] cmp word ptr [ecx+edi*2],0000h jz L00445F5F lea edx,[esp+24h] inc edi push edx push edi call SUB_L004C6E30 mov ecx,[esi+1Ch] add eax,ebp add esp,00000008h cmp eax,ecx jl L00445F3D L00445F5F: lea eax,[esp+24h] push L00502844 push eax mov word ptr [esp+edi*2+2Ah],0000h call SUB_L004C4550 mov eax,[esi+24h] lea ecx,[esp+1Ch] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea edx,[esp+30h] mov cx,[L00C42D24+eax*8] mov eax,[esi+1Ch] push ecx push 00000001h push 00000001h push edx push eax push ebx call SUB_L004C6100 add esp,00000024h jmp L00446032 L00445FA9: cmp dword ptr [esi+34h],00000008h jnz L00446004 mov eax,[esi+48h] test eax,eax jz L00446004 mov ecx,[esi+38h] lea edx,[esp+24h] push ecx push edx call SUB_L004C4430 lea eax,[esp+2Ch] push L005118FC push eax call SUB_L004C4550 mov eax,[esi+24h] lea ecx,[esp+24h] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea edx,[esp+38h] mov cx,[L00C42D24+eax*8] mov eax,[esi+1Ch] push ecx push 00000001h push 00000001h push edx push eax push ebx call SUB_L004C6100 add esp,0000002Ch jmp L00446032 L00446004: mov eax,[esi+24h] lea ecx,[esp+14h] push ecx xor ecx,ecx lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[esi+38h] mov cx,[L00C42D24+eax*8] mov eax,[esi+1Ch] push ecx push 00000001h push 00000001h push edx push eax push ebx call SUB_L004C6100 add esp,0000001Ch L00446032: mov ecx,[esi+20h] mov edx,[esi+1Ch] push 00000001h push ecx push edx push ebx call SUB_L004119B0 mov edi,[esp+00000838h] mov ecx,[esi+14h] add esp,00000010h mov eax,[edi+20h] imul eax,[esi+18h] add eax,ecx mov ecx,[edi+3Ch] mov edx,[ecx+04h] lea ecx,[edx+eax*2+04h] mov al,[L00C8C4A4] test al,al mov edx,ebx jz L004460CB mov eax,[esi+20h] xor ebp,ebp test eax,eax jle L0044610C L0044607A: mov eax,[esi+1Ch] xor edi,edi test eax,eax jle L004460AF L00446083: mov ax,[edx] test ax,ax jz L004460A1 mov ebx,eax and eax,0000001Fh and ebx,0000FFE0h shl ebx,1 or ebx,eax mov [ecx],bx mov ebx,[esp+10h] L004460A1: mov eax,[esi+1Ch] add ecx,00000002h add edx,00000002h inc edi cmp edi,eax jl L00446083 L004460AF: mov eax,[esp+00000828h] mov edi,[esi+1Ch] mov eax,[eax+20h] sub eax,edi inc ebp lea ecx,[ecx+eax*2] mov eax,[esi+20h] cmp ebp,eax jl L0044607A jmp L0044610C L004460CB: mov eax,[esi+20h] xor ebp,ebp test eax,eax jle L0044610C L004460D4: xor eax,eax cmp [esi+1Ch],eax jle L004460FB L004460DB: mov di,[edx] test di,di jz L004460E6 mov [ecx],di L004460E6: mov edi,[esi+1Ch] add ecx,00000002h add edx,00000002h inc eax cmp eax,edi jl L004460DB mov edi,[esp+00000828h] L004460FB: mov eax,[edi+20h] sub eax,[esi+1Ch] inc ebp lea ecx,[ecx+eax*2] mov eax,[esi+20h] cmp ebp,eax jl L004460D4 L0044610C: push ebx call SUB_L004D4F9E add esp,00000004h L00446115: mov ebx,[esp+00000828h] L0044611C: mov edi,[esi+2Ch] test edi,edi jz L00446173 mov ebp,0000000Ah L00446128: mov eax,[edi+08h] test eax,eax jz L0044614C cmp eax,[esi+0Ch] jz L0044614C cmp [edi+34h],ebp jnz L0044616C mov eax,[edi+00000094h] test eax,eax jz L0044616C mov dword ptr [eax+6Ch],00000000h jmp L0044616C L0044614C: cmp [edi+34h],ebp jnz L00446164 mov eax,[edi+00000094h] test eax,eax jz L0044616C mov dword ptr [eax+6Ch],00000001h jmp L0044616C L00446164: mov edx,[edi] push ebx mov ecx,edi call [edx+04h] L0044616C: mov edi,[edi+30h] test edi,edi jnz L00446128 L00446173: pop edi pop esi pop ebp pop ebx add esp,00000814h retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_00446180: dd CASE_00446180_PROC0000 dd CASE_00446180_PROC0001 dd CASE_00446180_PROC0002 dd CASE_00446180_PROC0003 dd CASE_00446180_PROC0000 dd CASE_00446180_PROC0000 dd CASE_00446180_PROC0000 dd CASE_00446180_PROC0003 dd CASE_00446180_PROC0003 Align 16 L004461B0: push ecx push ebx push ebp push esi mov ebp,[esp+18h] mov ebx,[esp+14h] push edi mov edi,ecx mov dword ptr [esp+10h],00000000h mov esi,[edi+2Ch] test esi,esi jz L004461FA L004461CE: mov eax,[esi+08h] test eax,eax jz L004461DA cmp eax,[edi+0Ch] jnz L004461EB L004461DA: mov eax,[esi] push ebp push ebx mov ecx,esi call [eax+08h] test eax,eax jz L004461EB mov [esp+10h],eax L004461EB: mov esi,[esi+30h] test esi,esi jnz L004461CE mov eax,[esp+10h] test eax,eax jnz L0044622D L004461FA: mov eax,[edi+34h] test eax,eax jz L0044622B mov ecx,[edi+14h] cmp ebx,ecx jl L0044622B mov eax,[edi+18h] cmp ebp,eax jl L0044622B mov edx,[edi+1Ch] add edx,ecx cmp ebx,edx jge L0044622B mov ecx,[edi+20h] add ecx,eax cmp ebp,ecx jge L0044622B mov eax,edi pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L0044622B: xor eax,eax L0044622D: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00446240: push esi mov esi,ecx mov eax,[esi+34h] cmp eax,00000005h jnz L0044626A mov ecx,[esp+10h] mov dword ptr [esi+48h],00000001h mov [ecx+000000C4h],esi call SUB_L004456E0 mov eax,00000001h pop esi retn 000Ch ;------------------------------------------------------------------------------ L0044626A: cmp eax,00000006h jz L004462AA cmp eax,00000007h jz L004462AA cmp eax,00000008h jnz L004462B4 push edi call SUB_L00456C40 mov edi,[esp+14h] push edi call SUB_L00456DC0 add esp,00000004h mov dword ptr [esi+48h],00000001h mov ecx,edi mov [edi+000000C8h],esi call SUB_L004456E0 pop edi mov eax,00000001h pop esi retn 000Ch ;------------------------------------------------------------------------------ L004462AA: mov eax,[esp+10h] mov [eax+000000C4h],esi L004462B4: mov eax,00000001h pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004462C0: push ebx push ebp push esi mov esi,[esp+18h] xor ebx,ebx push edi mov [esi+000000C4h],ebx mov eax,[ecx+34h] cmp eax,00000005h jnz L00446371 mov eax,[ecx+14h] mov edx,[esp+14h] cmp edx,eax jl L0044635B mov edi,[ecx+1Ch] add edi,eax cmp edx,edi jge L0044635B mov eax,[ecx+18h] mov edx,[esp+18h] cmp edx,eax jl L0044635B mov edi,[ecx+20h] add edi,eax cmp edx,edi jge L0044635B mov eax,[ecx+3Ch] test al,01h jz L0044632B mov eax,[ecx+40h] mov ecx,esi push eax call SUB_L00444870 cmp esi,ebx jz L00446322 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00446322: pop edi pop esi pop ebp xor eax,eax pop ebx retn 000Ch ;------------------------------------------------------------------------------ L0044632B: test al,02h jz L0044635B mov eax,[ecx+04h] cmp eax,ebx jz L00446352 mov edx,[ecx+44h] mov [eax+0Ch],edx mov [ecx+48h],ebx mov ecx,esi call SUB_L004456E0 pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 000Ch ;------------------------------------------------------------------------------ L00446352: mov eax,[ecx+44h] mov [esi+0000009Ch],eax L0044635B: mov [ecx+48h],ebx mov ecx,esi call SUB_L004456E0 pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 000Ch ;------------------------------------------------------------------------------ L00446371: cmp eax,00000006h jnz L004463CE mov eax,[ecx+14h] mov edx,[esp+14h] cmp edx,eax jl L00446437 mov edi,[ecx+1Ch] add edi,eax cmp edx,edi jge L00446437 mov eax,[ecx+18h] mov edx,[esp+18h] cmp edx,eax jl L00446437 mov edi,[ecx+20h] add edi,eax cmp edx,edi jge L00446437 mov eax,[ecx+48h] xor edx,edx cmp eax,ebx setz dl mov [ecx+48h],edx mov ecx,esi call SUB_L004456E0 pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 000Ch ;------------------------------------------------------------------------------ L004463CE: mov edi,00000007h cmp eax,edi jnz L00446437 mov eax,[ecx+14h] mov edx,[esp+14h] cmp edx,eax jl L00446437 mov ebp,[ecx+1Ch] add ebp,eax cmp edx,ebp jge L00446437 mov eax,[ecx+18h] mov edx,[esp+18h] cmp edx,eax jl L00446437 mov ebp,[ecx+20h] add ebp,eax cmp edx,ebp jge L00446437 cmp [ecx+48h],ebx jnz L00446430 mov eax,[ecx+04h] cmp eax,ebx jz L00446410 mov eax,[eax+2Ch] jmp L00446416 L00446410: mov eax,[esi+000000C0h] L00446416: cmp eax,ebx jz L00446429 L0044641A: cmp [eax+34h],edi jnz L00446422 mov [eax+48h],ebx L00446422: mov eax,[eax+30h] cmp eax,ebx jnz L0044641A L00446429: mov dword ptr [ecx+48h],00000001h L00446430: mov ecx,esi call SUB_L004456E0 L00446437: pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00446450: push ebx push ebp mov ebp,[esp+0Ch] push edi cmp ebp,0000001Bh mov edi,ecx jg L0044647E jz L00446473 mov eax,ebp sub eax,00000008h jz L0044649A dec eax jz L00446527 sub eax,00000004h jnz L004464C9 L00446473: call SUB_L00456C40 pop edi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L0044647E: cmp ebp,0000E023h jl L004464C9 cmp ebp,0000E028h jle L00446527 cmp ebp,0000E02Eh jnz L004464C9 L0044649A: mov eax,[edi+38h] cmp word ptr [eax],0000h jz L00446527 push eax call SUB_L004C4300 mov ecx,[edi+38h] add esp,00000004h mov word ptr [ecx+eax*2-02h],0000h mov ecx,[esp+14h] call SUB_L004456E0 pop edi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004464C9: push ebp call SUB_L004C5F00 add esp,00000004h test eax,eax jz L00446527 mov edx,[edi+38h] push edx call SUB_L004C4300 mov ebx,eax add esp,00000004h cmp ebx,000000EFh jge L00446527 lea eax,[ebx+ebx+04h] push esi push eax call SUB_L004D4FA9 mov ecx,[edi+38h] mov esi,eax push ecx push esi call SUB_L004C4430 mov [esi+ebx*2],bp mov word ptr [esi+ebx*2+02h],0000h mov edx,[edi+38h] push edx call SUB_L004D4F9E mov ecx,[esp+28h] add esp,00000010h mov [edi+38h],esi call SUB_L004456E0 pop esi L00446527: pop edi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00446530: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+2Ch] xor edi,edi test esi,esi jz L0044654E L0044653E: mov ecx,esi call SUB_L00446530 mov esi,[esi+30h] add edi,eax test esi,esi jnz L0044653E L0044654E: mov eax,[ebx+34h] cmp eax,00000006h jz L0044655B cmp eax,00000007h jnz L00446563 L0044655B: mov eax,[ebx+48h] test eax,eax jz L00446563 inc edi L00446563: mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00446570: push ebx push esi mov ebx,[esp+0Ch] push edi mov edi,ecx mov esi,[edi+2Ch] test esi,esi jz L0044658F L00446580: push ebx mov ecx,esi call SUB_L00446570 mov esi,[esi+30h] test esi,esi jnz L00446580 L0044658F: mov eax,[edi+34h] cmp eax,00000006h jz L0044659C cmp eax,00000007h jnz L004465B0 L0044659C: mov eax,[edi+48h] test eax,eax jz L004465B0 mov eax,[edi+40h] push eax push ebx call SUB_L0048BE20 add esp,00000008h L004465B0: pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004465C0: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+2Ch] xor edi,edi test esi,esi jz L004465DE L004465CE: mov ecx,esi call SUB_L004465C0 mov esi,[esi+30h] add edi,eax test esi,esi jnz L004465CE L004465DE: cmp dword ptr [ebx+34h],00000008h jnz L004465E5 inc edi L004465E5: mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004465F0: push ebx push ebp mov ebp,ecx push esi push edi mov edi,[esp+14h] mov esi,[ebp+2Ch] test esi,esi jz L00446610 L00446601: push edi mov ecx,esi call SUB_L004465F0 mov esi,[esi+30h] test esi,esi jnz L00446601 L00446610: cmp dword ptr [ebp+34h],00000008h jnz L00446664 mov ax,[ebp+40h] push eax push edi call SUB_L0048BDC0 mov ecx,[ebp+38h] push ecx call SUB_L004C4300 add esp,0000000Ch cmp ax,00EFh mov ebx,000000EFh ja L0044663A mov ebx,eax L0044663A: push ebx push edi call SUB_L0048BDC0 add esp,00000008h xor esi,esi and ebx,0000FFFFh jle L00446664 L0044664E: mov edx,[ebp+38h] mov ax,[edx+esi*2] push eax push edi call SUB_L0048BDC0 add esp,00000008h inc esi cmp esi,ebx jl L0044664E L00446664: pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00446670: push FFFFFFFFh push L004E2583 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[esp+44h] push ebx mov edx,[esp+40h] push ebp mov ebp,[esp+50h] push esi push edi mov edi,[esp+5Ch] mov esi,ecx push edi mov ecx,[esp+54h] push ebp push eax mov eax,[esp+54h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+54h] push eax mov eax,[esp+54h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+54h] push eax mov eax,[esp+54h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+54h] push eax push ecx push edx mov ecx,esi mov [esp+48h],esi call SUB_L00445A90 mov eax,[esp+28h] mov ecx,[esp+30h] mov edx,[esp+34h] mov [esi+4Ch],eax mov eax,[esp+38h] mov [esi+50h],ecx mov ecx,[esp+3Ch] mov [esi+5Ch],eax mov eax,[esp+44h] mov [esi+58h],edx mov edx,[esp+40h] mov [esi+68h],eax mov eax,[esp+2Ch] mov [esi+60h],ecx mov ecx,[esp+48h] mov [esi+7Ch],eax mov eax,[esp+50h] xor ebx,ebx mov [esi+64h],edx mov edx,[esp+4Ch] mov [esi+6Ch],ecx mov ecx,[esp+54h] cmp eax,ebx mov [esp+1Ch],ebx mov dword ptr [esi+54h],00000001h mov [esi+70h],edx mov [esi+74h],ebx mov [esi+78h],ebx mov [esi+00000080h],ebx mov [esi+00000084h],ecx mov [esi+00000088h],ebp mov [esi+0000008Ch],edi mov [esi+00000090h],ebx mov [esi+00000094h],ebx mov dword ptr [esi],L004EB7F8 jz L00446806 mov cl,[esp+64h] mov al,[esp+60h] cmp cl,bl jz L00446780 cmp al,bl jz L00446787 L00446780: mov ebp,00000001h jmp L0044678C L00446787: mov ebp,00007BDEh L0044678C: cmp al,bl mov edi,00002002h jnz L0044679A mov edi,00002082h L0044679A: cmp cl,bl jnz L004467A1 or edi,00000004h L004467A1: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+60h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L004467CE mov edx,[esp+24h] push 00000001h push ebx push edi push ebx push edx mov ecx,eax call SUB_L00463A90 jmp L004467D0 L004467CE: xor eax,eax L004467D0: mov ecx,[esp+50h] push ebp push ecx mov ecx,eax mov [esp+24h],bl mov [esi+00000094h],eax call SUB_L00463F60 mov edx,[esp+44h] mov eax,[esp+40h] mov ecx,[esp+3Ch] push edx mov edx,[esp+3Ch] push eax push ecx mov ecx,[esi+00000094h] push edx call SUB_L00463DF0 L00446806: mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0044h ;------------------------------------------------------------------------------ Align 4 L00446820: push esi mov esi,ecx call SUB_L00446840 test byte ptr [esp+08h],01h jz L00446838 push esi call SUB_L004D4F9E add esp,00000004h L00446838: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00446840: push FFFFFFFFh push L004E2598 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push edi mov edi,ecx mov [esp+08h],edi mov dword ptr [edi],L004EB7F8 mov ecx,[edi+74h] mov dword ptr [esp+14h],00000000h test ecx,ecx jz L00446886 L00446873: mov esi,[ecx+30h] test ecx,ecx jz L00446880 mov eax,[ecx] push 00000001h call [eax] L00446880: test esi,esi mov ecx,esi jnz L00446873 L00446886: mov eax,[edi+00000080h] test eax,eax jz L00446899 push eax call SUB_L004D4F9E add esp,00000004h L00446899: mov ecx,[edi+00000094h] test ecx,ecx jz L004468A9 mov edx,[ecx] push 00000001h call [edx] L004468A9: mov ecx,[edi+2Ch] mov dword ptr [esp+14h],FFFFFFFFh test ecx,ecx mov dword ptr [edi],L004EB7E0 jz L004468D1 L004468BE: mov esi,[ecx+30h] test ecx,ecx jz L004468CB mov eax,[ecx] push 00000001h call [eax] L004468CB: test esi,esi mov ecx,esi jnz L004468BE L004468D1: mov edi,[edi+38h] test edi,edi jz L004468E1 push edi call SUB_L004D4F9E add esp,00000004h L004468E1: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00446900: push ecx push ebx push ebp push esi push edi mov edi,ecx mov eax,[edi+00000094h] test eax,eax jz L00446985 mov esi,[edi+74h] mov ebp,[esp+1Ch] mov ebx,[esp+18h] mov dword ptr [esp+10h],00000000h test esi,esi jz L00446954 L00446928: mov eax,[esi+08h] test eax,eax jz L00446934 cmp eax,[edi+54h] jnz L00446945 L00446934: mov eax,[esi] push ebp push ebx mov ecx,esi call [eax+08h] test eax,eax jz L00446945 mov [esp+10h],eax L00446945: mov esi,[esi+30h] test esi,esi jnz L00446928 mov eax,[esp+10h] test eax,eax jnz L00446987 L00446954: mov eax,[edi+7Ch] test eax,eax jz L00446985 mov ecx,[edi+5Ch] cmp ebx,ecx jl L00446985 mov eax,[edi+60h] cmp ebp,eax jl L00446985 mov edx,[edi+64h] add edx,ecx cmp ebx,edx jge L00446985 mov ecx,[edi+68h] add ecx,eax cmp ebp,ecx jge L00446985 mov eax,edi pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L00446985: xor eax,eax L00446987: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00446990: mov ecx,[ecx+00000094h] test ecx,ecx jz L004469A9 mov edx,[esp+08h] mov eax,[ecx] push edx mov edx,[esp+08h] push edx call [eax+24h] L004469A9: retn 0008h ;------------------------------------------------------------------------------ Align 8 L004469B0: mov ecx,[ecx+00000094h] test ecx,ecx jz L004469C9 mov edx,[esp+08h] mov eax,[ecx] push edx mov edx,[esp+08h] push edx call [eax+14h] L004469C9: mov eax,00000001h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004469E0: mov ecx,[ecx+00000094h] test ecx,ecx jz L004469F9 mov edx,[esp+08h] mov eax,[ecx] push edx mov edx,[esp+08h] push edx call [eax+18h] L004469F9: mov eax,00000001h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00446A10: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] lea eax,[edx+esi] lea ecx,[eax+eax*4] lea ecx,[eax+ecx*2] mov eax,[L0051A75C] shl ecx,1 sub ecx,eax mov eax,[L00C83A54] sub eax,esi add ecx,00000014h add eax,edx pop esi lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A760] shl eax,1 sub eax,edx mov edx,[esp+0Ch] mov [edx],eax mov eax,[esp+10h] mov [eax],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00446A60: mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[L00512178] and eax,000000FFh shr eax,03h and edx,000000FFh shl eax,cl mov ecx,[L00512174] shr edx,03h shl edx,cl mov ecx,[esp+0Ch] and ecx,000000FFh shr ecx,03h or eax,edx or eax,ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00446AA0: push ecx push ebx push ebp push esi push edi push SSZ00502870_GraphicManager__startup__begin__ call SUB_L004C7F20 push L004FD2A8 push SSZ00502864_palette_mul call SUB_L0043FEF0 mov esi,eax xor ebx,ebx add esp,0000000Ch cmp esi,ebx jz L00446AE4 push esi push 00000001h push 00000300h push L00B186F0 call SUB_L004404F0 push esi call SUB_L00440570 add esp,00000014h L00446AE4: call [USER32.dll!GetDesktopWindow] mov edi,eax push edi call [USER32.dll!GetDC] mov ebp,[GDI32.dll!GetDeviceCaps] mov esi,eax push 0000000Eh push esi call ebp mov edx,eax push 0000000Ch push esi mov [esp+18h],edx call ebp mov ecx,[esp+10h] xor edx,edx imul ecx,eax cmp ecx,00000008h push esi setz dl push edi mov [L00B186EC],edx call [USER32.dll!ReleaseDC] mov eax,[L00B186EC] mov [L00B186E0],ebx cmp eax,ebx jz L00446BB5 push SSZ00502854_Logical_Palette push 00000404h call SUB_L00475FC0 mov [L00B186E4],eax mov word ptr [eax],0300h mov eax,[L00B186E4] add esp,00000008h mov ecx,L00B186F1 mov word ptr [eax+02h],0100h xor eax,eax L00446B65: mov esi,[L00B186E4] mov dl,[ecx-01h] add ecx,00000003h mov [eax+esi+04h],dl mov esi,[L00B186E4] mov dl,[ecx-03h] mov [eax+esi+05h],dl mov esi,[L00B186E4] mov dl,[ecx-02h] mov [eax+esi+06h],dl mov edx,[L00B186E4] mov [eax+edx+07h],bl add eax,00000004h cmp ecx,L00B189F1 jl L00446B65 mov eax,[L00B186E4] push eax call [GDI32.dll!CreatePalette] mov [L00B186E0],eax L00446BB5: mov ebp,[L00512174] mov [L00B18A00],bx mov esi,00000001h mov edi,L00B18A02 L00446BCC: mov ebx,[L00512178] mov eax,esi mov ecx,ebx add edi,00000002h sar eax,cl and eax,0000001Fh lea ecx,[eax+eax*2] lea edx,[eax+ecx*4] mov eax,esi mov ecx,ebp sar eax,cl mov ecx,eax shl ecx,05h add ecx,eax lea eax,[eax+ecx*2] 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,ebp shl ebx,cl or eax,ebx or eax,edx inc esi mov [edi-02h],ax cmp edi,L00B28A00 jl L00446BCC xor eax,eax mov [L00B189F8],eax mov [L00B186E8],eax call SUB_L00447120 pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 L00446C50: mov eax,[L00B186E0] test eax,eax jz L00446C6A push eax call [GDI32.dll!DeleteObject] mov dword ptr [L00B186E0],00000000h L00446C6A: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00446C70: push esi mov esi,[esp+0Ch] test esi,esi push edi jl L00446D38 cmp esi,00010000h jge L00446D38 mov eax,[L00D1AF44] mov edi,[esp+18h] add eax,esi push edi push eax call SUB_L00401E90 mov eax,[esp+1Ch] add esp,00000008h cmp eax,FFFFFFFFh jnz L00446CE0 push 00000000h push 00000000h push edi push esi push 00000004h push 00000003h call SUB_L0045EBB0 add esp,00000018h cmp esi,00004000h jge L00446CCE push esi call SUB_L004090E0 add esp,00000004h pop edi pop esi retn ;------------------------------------------------------------------------------ L00446CCE: add esi,FFFFC000h push esi call SUB_L00409190 add esp,00000004h pop edi pop esi retn ;------------------------------------------------------------------------------ L00446CE0: cmp esi,00004000h jge L00446D09 mov ecx,[esp+0Ch] push 00000800h push ecx push edi push esi push 00000004h push 00000003h call SUB_L0045EBB0 push esi call SUB_L004090E0 add esp,0000001Ch pop edi pop esi retn ;------------------------------------------------------------------------------ L00446D09: mov eax,[esp+0Ch] xor edx,edx mov dx,[eax+06h] mov ecx,[eax] lea edx,[ecx+edx*2+08h] push edx push eax push edi push esi push 00000004h push 00000003h call SUB_L0045EBB0 add esi,FFFFC000h push esi call SUB_L00409190 add esp,0000001Ch pop edi pop esi retn ;------------------------------------------------------------------------------ L00446D38: push 00000000h push SSZ005028CC_damn_art_bug push SSZ00502894_Tried_to_update_art_less_than_0_ call SUB_L004D1020 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00446D50: mov eax,[esp+04h] and eax,00007FFFh push eax call SUB_L004B9530 add esp,00000004h test eax,eax jnz L00446D6F push eax call SUB_L004B9530 add esp,00000004h L00446D6F: retn ;------------------------------------------------------------------------------ SUB_L00446D70: push FFFFFFFFh push L004E25C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L00446DAC mov ecx,eax call SUB_L00473430 jmp L00446DAE L00446DAC: xor eax,eax L00446DAE: mov [L00B189F8],eax mov dword ptr [esp+0Ch],FFFFFFFFh mov dword ptr [eax+6Ch],00000000h call SUB_L00455F00 push 000000A4h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000001h jz L00446DED mov ecx,eax call SUB_L00430440 jmp L00446DEF L00446DED: xor eax,eax L00446DEF: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+14h],FFFFFFFFh mov [L00B2949C],eax call SUB_L004587A0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00446E20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E25DB push eax mov eax,[L00C88300] mov fs:[00000000h],esp sub esp,00000014h test eax,eax jz L00446FBF mov eax,[L00B28A0C] test eax,eax jz L00446F88 mov eax,[L00502850] push ebx mov ebx,[L00D1B0D8] push ebp push esi mov esi,[L0054B290] push edi mov edi,[L005073D4] imul edi,[L005073D0] xor ebp,ebp test eax,eax jle L00446ECD L00446E7A: mov eax,[L0050284C] lea ecx,[eax+esi] cmp ecx,edi jle L00446EAA mov edx,edi lea eax,[ebx+esi*2] sub edx,esi push edx push eax call SUB_L00446FD0 mov ecx,[L0050284C] sub ecx,edi add ecx,esi push ecx push ebx call SUB_L00446FD0 add esp,00000010h jmp L00446EB7 L00446EAA: lea edx,[ebx+esi*2] push eax push edx call SUB_L00446FD0 add esp,00000008h L00446EB7: add esi,[L005073D0] cmp esi,edi jle L00446EC3 sub esi,edi L00446EC3: mov eax,[L00502850] inc ebp cmp ebp,eax jl L00446E7A L00446ECD: mov eax,[L00B28A0C] inc eax cmp eax,00000010h mov [L00B28A0C],eax jnz L00446F46 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax xor ecx,ecx cmp eax,ecx mov [esp+2Ch],ecx jz L00446F0C push ecx push ecx push 00000003h push ecx push SSZ005028DC_You_are_dead_ push ecx mov ecx,eax call SUB_L004110B0 mov ecx,eax L00446F0C: mov eax,[ecx+20h] mov dword ptr [esp+2Ch],FFFFFFFFh cdq sub eax,edx mov esi,eax mov eax,[L0050284C] cdq sub eax,edx sar esi,1 sar eax,1 sub eax,esi mov [ecx+30h],eax mov eax,[ecx+24h] cdq sub eax,edx mov esi,eax mov eax,[L00502850] cdq sub eax,edx sar esi,1 sar eax,1 sub eax,esi mov [ecx+34h],eax L00446F46: mov eax,[L00B28A0C] pop edi pop esi pop ebp cmp eax,00000020h pop ebx jl L00446F8D mov dword ptr [L00B28A0C],00000000h call SUB_L0040C940 lea eax,[esp+00h] push 00000002h push eax call SUB_L0049A650 mov ecx,[L00C88300] add esp,00000008h test ecx,ecx jz L00446F8D lea edx,[esp+00h] push edx call SUB_L004BC750 jmp L00446F8D L00446F88: call SUB_L0040C690 L00446F8D: mov ecx,[L005073D0] mov edx,[L005073D4] xor eax,eax push 00000001h mov [esp+08h],eax mov [esp+0Ch],eax lea eax,[esp+08h] mov [esp+10h],ecx push eax mov [esp+18h],edx call SUB_L00456380 add esp,00000008h call SUB_L0047C750 L00446FBF: mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00446FD0: mov al,[L00C8C4A4] push esi test al,al mov eax,[esp+0Ch] push edi jz L0044702C mov ecx,eax dec eax test ecx,ecx jz L00447075 mov esi,[esp+0Ch] lea edi,[eax+01h] L00446FF1: xor ecx,ecx mov cx,[esi] mov edx,ecx mov eax,ecx shr edx,06h shr eax,0Bh and edx,0000001Fh and ecx,0000001Fh test eax,eax jz L0044700B dec eax L0044700B: test edx,edx jz L00447010 dec edx L00447010: test ecx,ecx jz L00447015 dec ecx L00447015: shl eax,06h or eax,edx add esi,00000002h shl eax,05h or eax,ecx dec edi mov [esi-02h],ax jnz L00446FF1 pop edi pop esi retn ;------------------------------------------------------------------------------ L0044702C: mov edx,eax dec eax test edx,edx jz L00447075 mov esi,[esp+0Ch] lea edi,[eax+01h] L0044703A: xor ecx,ecx mov cx,[esi] mov eax,ecx mov edx,ecx shr eax,0Ah shr edx,05h and eax,0000001Fh and edx,0000001Fh and ecx,0000001Fh test eax,eax jz L00447057 dec eax L00447057: test edx,edx jz L0044705C dec edx L0044705C: test ecx,ecx jz L00447061 dec ecx L00447061: shl eax,05h or eax,edx add esi,00000002h shl eax,05h or eax,ecx dec edi mov [esi-02h],ax jnz L0044703A L00447075: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00447080: mov eax,[L0050284C] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00447090: mov eax,[L00502850] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004470A0: mov eax,[L0050284C] cdq sub eax,edx sar eax,1 retn ;------------------------------------------------------------------------------ Align 8 SUB_L004470B0: mov eax,[L00502850] cdq sub eax,edx sar eax,1 retn ;------------------------------------------------------------------------------ Align 8 SUB_L004470C0: mov eax,[esp+04h] cmp eax,00000280h jnz L004470E8 mov ecx,[esp+08h] mov eax,000001E0h cmp ecx,eax jnz L0044710C mov dword ptr [L0050284C],00000280h mov [L00502850],eax retn ;------------------------------------------------------------------------------ L004470E8: cmp eax,00000320h jnz L0044710C mov ecx,[esp+08h] mov eax,00000258h cmp ecx,eax jnz L0044710C mov dword ptr [L0050284C],00000320h mov [L00502850],eax retn ;------------------------------------------------------------------------------ L0044710C: push SSZ005028EC_GraphicManager__setGameplayWindo call SUB_L004C7E80 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00447120: push edi push L004FD2A8 push SSZ00502950_animinfo_mul call SUB_L0043FEF0 mov edi,eax add esp,00000008h test edi,edi jnz L00447152 mov eax,L00B17F11 mov cl,04h L00447140: mov [eax-01h],cl mov byte ptr [eax],02h add eax,00000002h cmp eax,L00B186E1 jl L00447140 pop edi retn ;------------------------------------------------------------------------------ L00447152: push esi mov esi,L00B17F11 L00447158: push edi push 00000001h lea eax,[esi-01h] push 00000001h push eax call SUB_L004404F0 push edi push 00000001h push 00000001h push esi call SUB_L004404F0 add esi,00000002h add esp,00000020h cmp esi,L00B186E1 jl L00447158 push edi call SUB_L00440570 add esp,00000004h pop esi pop edi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00447190: push FFFFFFFFh push L004E26BF mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000021Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00458F30 mov eax,[esp+0000024Ch] xor ebx,ebx mov ecx,[esp+00000250h] mov [esi+000002DCh],ebx mov [esi+000002E0h],ebx mov [esi+000002E4h],ebx mov [esi+000002E8h],ebx mov [esi+000002ECh],ebx mov dword ptr [esi],L004EB810 mov [L00B29478],esi mov [esi+000000D8h],eax lea eax,[esi+000000DCh] push 00000100h push ecx push eax mov [esp+00000240h],ebx call SUB_L004C4460 mov eax,[esp+0000024Ch] mov edx,[esp+00000248h] mov [esi+34h],eax mov [esi+64h],ebx mov eax,00000078h mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],edx mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h mov [L00B28A14],eax mov [esi+000000D4h],eax lea ebp,[esi+2Ch] lea eax,[esi+28h] push ebp push eax push 00000A52h call SUB_L004434A0 mov ecx,[esi+18h] mov eax,00000001h shl ecx,03h push SSZ00500050_ChatGump_framedata push ecx mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+28h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[ebp+00h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+0Ch] add edi,00000004h mov edx,ecx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[esi+28h] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push ebx push ebx push 00000A52h push SUB_L004B9B80 call SUB_L00443500 add esp,00000044h push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],01h jz L00447345 push esi mov ecx,eax call SUB_L00448320 jmp L00447347 L00447345: xor eax,eax L00447347: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000B8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],02h jz L0044737B push esi mov ecx,eax call SUB_L00448320 jmp L0044737D L0044737B: xor eax,eax L0044737D: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000BCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],03h jz L004473B1 push esi mov ecx,eax call SUB_L00448320 jmp L004473B3 L004473B1: xor eax,eax L004473B3: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000C0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],04h jz L004473E7 push esi mov ecx,eax call SUB_L00448320 jmp L004473E9 L004473E7: xor eax,eax L004473E9: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000C4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],05h jz L0044741D push esi mov ecx,eax call SUB_L00448320 jmp L0044741F L0044741D: xor eax,eax L0044741F: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000C8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],06h jz L00447453 push esi mov ecx,eax call SUB_L00448320 jmp L00447455 L00447453: xor eax,eax L00447455: push 0000009Ch mov [esp+00000238h],bl mov [esi+000000CCh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],07h jz L00447489 push esi mov ecx,eax call SUB_L00448320 jmp L0044748B L00447489: xor eax,eax L0044748B: push 000000ECh mov [esp+00000238h],bl mov [esi+000000D0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],08h jz L004474D3 push ebx push 00000A97h push 00000A96h push SUB_L0041E070 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L004474D5 L004474D3: xor eax,eax L004474D5: push 00000001h push esi mov ecx,eax mov [esp+0000023Ch],bl mov [esi+0000009Ch],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],09h jz L00447527 push ebx push 00000A95h push 00000A94h push L004C1AA0 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00447529 L00447527: xor eax,eax L00447529: push 00000001h push esi mov ecx,eax mov [esp+0000023Ch],bl mov [esi+000000A4h],eax call SUB_L004587A0 push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],0Ah jz L00447567 push esi mov ecx,eax call SUB_L00449700 jmp L00447569 L00447567: xor eax,eax L00447569: push 000000C8h mov [esp+00000238h],bl mov [esi+000000B4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],0Bh jz L004475A9 mov ecx,[L0050CE94] push ecx push ebx push 00000001h push ebx push ebx push esi mov ecx,eax call SUB_L00448660 jmp L004475AB L004475A9: xor eax,eax L004475AB: push 000000C8h mov [esp+00000238h],bl mov [esi+000000A8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],0Ch jz L004475F2 mov edx,[L00C8C4A8] mov ecx,[L00502960] push edx push 00000001h push ecx push ebx push 00000001h push esi mov ecx,eax call SUB_L00448660 jmp L004475F4 L004475F2: xor eax,eax L004475F4: push 000000C8h mov [esp+00000238h],bl mov [esi+000000B0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],0Dh jz L00447636 mov edx,[L00C8C4AC] mov ecx,eax push edx push 00000002h push 0000000Ch push ebx push 00000001h push esi call SUB_L00448660 jmp L00447638 L00447636: xor eax,eax L00447638: mov ecx,[esi+000000A8h] push ebx mov [esi+000000ACh],eax mov eax,[L0050CE90] push FFFFFFFFh push FFFFFFFFh push ebx push eax push SWC005029B4_ULTIMA_ONLINE_GM_CHAT mov [esp+0000024Ch],bl call SUB_L004488A0 mov ecx,[L0050CE90] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push ecx mov ecx,[esi+000000B0h] push SWC00502970_Welcome_to_Ultima_Online_GM_chat call SUB_L004488A0 mov edx,[L0050CE68] mov ecx,[esi+000000ACh] push ebx push FFFFFFFFh push FFFFFFFFh push ebx push edx push L00D1A680 call SUB_L004488A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+00000234h],0Eh jz L004476D6 push ebx push 00000A8Fh push 00000A8Fh push L00421420 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L004476D8 L004476D6: xor eax,eax L004476D8: push 00000001h push esi mov ecx,eax mov [esp+0000023Ch],bl mov [esi+000000A0h],eax call SUB_L004587A0 mov eax,[esp+00000244h] mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+00000248h] mov [esi+24h],eax call SUB_L00447950 mov ecx,esi call SUB_L00447AB0 push 00000001h push ebx mov ecx,esi call SUB_L004587A0 mov edx,[esi+000000D8h] lea ecx,[esp+18h] push 0000000Ah push ecx push edx call SUB_L004C4CC0 lea eax,[esp+24h] push L0050296C push eax call SUB_L004C4550 lea eax,[esi+000000DCh] lea ecx,[esp+2Ch] push eax push ecx call SUB_L004C4550 lea edx,[esp+34h] push edx push 0000000Ah call SUB_L0049DAD0 mov ecx,[esp+00000250h] add esp,00000024h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000228h retn 0018h ;------------------------------------------------------------------------------ Align 4 SUB_L00447780: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00447790: retn 0004h ;------------------------------------------------------------------------------ Align 16 L004477A0: push esi mov esi,ecx call SUB_L004477D0 test byte ptr [esp+08h],01h jz L004477B8 push esi call SUB_L004D4F9E add esp,00000004h L004477B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 L004477C0: jmp SUB_L00458FF0 Align 16 SUB_L004477D0: push FFFFFFFFh push L004E26DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000218h push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EB810 xor edi,edi lea eax,[esp+0Ch] mov [L00B29478],edi mov ecx,[esi+000000D8h] push 0000000Ah push eax push ecx mov [esp+00000234h],edi call SUB_L004C4CC0 lea edx,[esp+18h] push L0050296C push edx call SUB_L004C4550 lea eax,[esi+000000DCh] lea ecx,[esp+20h] push eax push ecx call SUB_L004C4550 lea edx,[esp+28h] push edx push 0000000Bh call SUB_L0049DAD0 mov ecx,[esi+48h] add esp,00000024h cmp ecx,edi jz L0044785E L00447851: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+48h] cmp ecx,edi jnz L00447851 L0044785E: mov ecx,[esi+3Ch] mov eax,[ecx+0Ch] cmp eax,edi jz L0044787C push SSZ00500040_ChatGump_frame1 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+0Ch],edi L0044787C: mov eax,[esi+3Ch] cmp eax,edi jz L00447894 push SSZ00500050_ChatGump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L00447894: mov ecx,esi mov dword ptr [esp+00000228h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+00000220h] pop edi pop esi mov fs:[00000000h],ecx add esp,00000224h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004478C0: mov eax,[esp+08h] dec eax cmp eax,00000004h ja L00447901 jmp [CASE_PROCTABLE_00447934+eax*4] CASE_00447934_PROC0004: mov eax,[L0050CE90] mov edx,eax jmp L0044790C CASE_00447934_PROC0003: mov eax,[L0050CE8C] mov edx,[L0050CE88] jmp L0044790C CASE_00447934_PROC0000: mov eax,[L0050CE84] mov edx,[L0050CE80] jmp L0044790C CASE_00447934_PROC0001: mov eax,[L0050CE7C] mov edx,[L0050CE78] jmp L0044790C L00447901: mov eax,[L0050CE74] mov edx,[L0050CE70] L0044790C: push esi mov esi,[esp+18h] push esi mov esi,[esp+18h] mov ecx,[ecx+000000B0h] push esi mov esi,[esp+18h] push esi push edx mov edx,[esp+18h] push eax push edx call SUB_L004488A0 pop esi retn 0014h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00447934: dd CASE_00447934_PROC0000 dd CASE_00447934_PROC0001 dd CASE_00447934_PROC0000 dd CASE_00447934_PROC0003 dd CASE_00447934_PROC0004 Align 16 SUB_L00447950: sub esp,00000018h lea eax,[esp+00h] push esi mov esi,ecx push edi lea ecx,[esp+14h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+24h] lea eax,[esp+18h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+34h] push ecx push edx push 000000FCh call SUB_L004434A0 mov eax,[esi+20h] mov ecx,[esi+000000B8h] add esp,00000024h push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+24h] mov eax,[esp+08h] mov ecx,[esi+20h] sub edx,eax push ecx mov ecx,[esi+000000BCh] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+0Ch] mov edx,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+08h] push edx mov edx,[esp+14h] add edx,ecx mov ecx,[esi+000000C0h] push edx push eax push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esi+24h] mov edx,[esi+000000D4h] sub eax,edx cmp eax,0000005Ah jg L00447A12 mov eax,0000005Ah L00447A12: mov ecx,[esp+0Ch] mov edi,[esi+20h] lea edx,[ecx+ecx] sub edi,edx push edi push eax push ecx mov ecx,[esi+000000C4h] push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000C8h] push edx push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+0Ch] push edx push eax mov eax,[esi+20h] sub eax,ecx mov ecx,[esi+000000CCh] push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov ecx,[esp+10h] mov edx,[esp+08h] mov eax,[esp+0Ch] push ecx mov ecx,[esi+000000D0h] push edx push eax push 00000100h push 00000001h call SUB_L004349D0 pop edi pop esi add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00447AB0: sub esp,00000018h lea eax,[esp+00h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+20h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+30h] lea eax,[esp+20h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+30h] lea edx,[esp+34h] push ecx push edx push 000000FCh call SUB_L004434A0 mov eax,[esi+000000A0h] mov ecx,[esi+20h] mov ebx,[esp+38h] sub ecx,[eax+20h] sub ecx,ebx mov [eax+30h],ecx mov eax,[esi+000000A0h] mov edx,[esi+24h] mov ecx,[esp+34h] sub edx,[eax+24h] sub edx,ecx mov [eax+34h],edx mov eax,[esi+000000A4h] mov ecx,[esi+20h] mov ebx,[esp+38h] sub ecx,[eax+20h] sub ecx,ebx mov [eax+30h],ecx mov edx,[esi+000000A4h] mov eax,[esp+34h] mov [edx+34h],eax mov ecx,[esi+000000A4h] mov eax,[esi+0000009Ch] mov edx,[esi+20h] mov edi,[ecx+20h] mov ebx,[esp+38h] mov ebp,[eax+20h] sub edx,edi sub edx,ebp sub edx,ebx mov [eax+30h],edx mov eax,[esi+0000009Ch] mov ecx,[esp+34h] mov [eax+34h],ecx mov eax,[esp+38h] mov edx,[esi+000000A4h] mov ecx,eax neg ecx mov edi,[edx+20h] mov edx,[esi+0000009Ch] shl ecx,1 mov ebx,ecx mov ecx,[edx+20h] mov ebp,[esp+3Ch] sub ebx,edi mov edi,[esi+20h] sub ebx,ecx mov ecx,[esp+34h] add ebx,edi mov edi,[esi+000000A8h] mov [edi+30h],eax mov eax,[edi+3Ch] mov [edi+34h],ecx mov ecx,[eax+04h] push ecx call SUB_L004D4F9E mov [edi+1Ch],ebx mov [edi+20h],ebx imul ebx,ebp push SSZ005000C4_ChatTextBox_frame0 mov [edi+24h],ebp lea edx,[ebx+ebx+04h] push edx call SUB_L00475FC0 mov ecx,[edi+3Ch] add esp,00000030h mov [ecx+04h],eax mov edx,[edi+3Ch] mov cx,[edi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[edi+3Ch] mov cx,[edi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,edi call SUB_L00448A60 mov ecx,edi call SUB_L00448CB0 mov eax,[esi+24h] mov edx,[esi+000000D4h] sub eax,edx cmp eax,0000005Ah jg L00447C19 mov eax,0000005Ah L00447C19: mov edx,[esp+10h] lea ecx,[edx+edx] mov edx,[esp+18h] sub eax,ecx add ecx,edx sub eax,edx push eax mov eax,[esp+18h] push ecx mov ecx,[esi+000000B4h] push eax call SUB_L004499D0 mov eax,[esi+24h] mov edx,[esi+000000D4h] sub eax,edx cmp eax,0000005Ah jg L00447C51 mov eax,0000005Ah L00447C51: mov ecx,[esp+10h] mov edx,[esp+18h] add ecx,ecx mov ebx,[esi+20h] sub eax,ecx add ecx,edx sub eax,edx mov edx,[esp+1Ch] mov ebp,eax mov eax,[esp+14h] lea edi,[eax+eax+02h] lea eax,[edx+eax+02h] sub ebx,edi mov edi,[esp+1Ch] sub ebx,edi mov edi,[esi+000000B0h] mov [edi+34h],ecx mov ecx,[edi+3Ch] mov [edi+30h],eax mov edx,[ecx+04h] push edx call SUB_L004D4F9E mov [edi+1Ch],ebx mov [edi+20h],ebx imul ebx,ebp push SSZ005000C4_ChatTextBox_frame0 mov [edi+24h],ebp lea eax,[ebx+ebx+04h] push eax call SUB_L00475FC0 mov ecx,[edi+3Ch] add esp,0000000Ch mov [ecx+04h],eax mov edx,[edi+3Ch] mov cx,[edi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[edi+3Ch] mov cx,[edi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov ecx,edi call SUB_L00448A60 mov ecx,edi call SUB_L00448CB0 mov eax,[esi+24h] mov edi,[esi+000000D4h] mov ecx,eax sub ecx,edi cmp ecx,0000005Ah mov edi,ecx jg L00447CFC mov edi,0000005Ah L00447CFC: cmp ecx,0000005Ah jg L00447D06 mov ecx,0000005Ah L00447D06: mov edx,[esp+10h] add ecx,edx lea ebx,[edx+edx] sub eax,ebx sub eax,edi mov ebx,eax mov eax,[esp+14h] lea edi,[eax+eax] mov ebp,edi mov edi,[esi+20h] mov esi,[esi+000000ACh] sub edi,ebp mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] push eax call SUB_L004D4F9E mov [esi+1Ch],edi mov [esi+20h],edi imul edi,ebx push SSZ005000C4_ChatTextBox_frame0 mov [esi+24h],ebx lea ecx,[edi+edi+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,0000000Ch mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L00448A60 mov ecx,esi call SUB_L00448CB0 pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ SUB_L00447D90: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00447DA0: mov eax,[L00B294BC] push esi mov esi,ecx cmp eax,esi jnz L00447DB0 push 00000001h jmp L00447DB2 L00447DB0: push 00000000h L00447DB2: mov ecx,esi call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov [esi+70h],eax mov eax,[esi+64h] test eax,eax mov dword ptr [esi+000002DCh],00000001h mov [esi+74h],ecx jz L00447E05 cmp dword ptr [esi+000002E0h],00000001h jnz L00447DEF mov dword ptr [esi+000002E0h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L00447DEF: mov dword ptr [esi+000002E0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000002E4h],eax L00447E05: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00447E10: push ebx push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+000002E8h] mov [esi+000002DCh],ebx cmp eax,ebx jz L00447E35 mov [esi+000002E8h],ebx mov [esi+000002E0h],ebx jmp L00447E7E L00447E35: cmp dword ptr [esi+000002E0h],00000002h jnz L00447E7E mov eax,[esi+64h] mov [esi+000002E0h],ebx cmp eax,ebx jz L00447E87 mov ecx,esi call SUB_L0041E0F0 mov eax,[esi+2Ch] mov edx,[esi+3Ch] mov ecx,[esi+28h] mov [esi+000002ECh],ebx push eax mov eax,[edx+0Ch] add eax,00000004h push ecx push eax push ebx push ebx push 00000A52h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L00447E7E: cmp [esi+64h],ebx jnz L00447F31 L00447E87: mov eax,[esi+000000A8h] mov edx,[esp+10h] mov ecx,[eax+30h] cmp edx,ecx jl L00447EBF mov edi,[eax+20h] add edi,ecx cmp edx,edi jge L00447EBF mov ecx,[eax+34h] mov edx,[esp+14h] cmp edx,ecx jl L00447EBF mov eax,[eax+24h] add eax,ecx cmp edx,eax jge L00447EBF mov edx,[esi] push ebx mov ecx,esi call [edx+74h] jmp L00447EEE L00447EBF: call SUB_L00456C40 push esi call SUB_L00456DC0 mov edi,[esi+000000ACh] mov eax,[edi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 add esp,00000008h mov ecx,edi mov [edi+000000B8h],eax call SUB_L00448CB0 L00447EEE: mov ecx,[esi+000000B0h] push ebx call SUB_L00449040 mov edi,eax cmp edi,ebx jz L00447F31 cmp [L00505E47],bl jz L00447F31 lea edx,[edi+20h] push edx call SUB_L00470260 add esp,00000004h test al,al jz L00447F31 mov eax,[esi+000000B0h] mov ecx,[edi] push ebx push eax push L004495F0 push ecx push ebx call SUB_L004702E0 add esp,00000014h L00447F31: push ebx call SUB_L00476670 add esp,00000004h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L00447F40: push esi mov esi,ecx cmp dword ptr [esi+000002E0h],00000001h jnz L00447F86 push ebx call [KERNEL32.dll!GetTickCount] mov edx,[esi+000002E4h] mov ebx,eax sub ebx,edx call [USER32.dll!GetDoubleClickTime] cmp ebx,eax pop ebx jbe L00447F86 mov eax,[esi+000002DCh] mov dword ptr [esi+000002E0h],00000000h test eax,eax jz L00447F86 mov dword ptr [esi+000002E8h],00000001h L00447F86: pop esi retn ;------------------------------------------------------------------------------ Align 16 L00447F90: dd L00AC898B db 00h; db 00h; db 8Bh; '<' db 01h; db FFh; 'ï' db A0h; 'ÿ' db 90h; '?' db 01h; db 00h; db 00h; db 90h; '?' db 90h; '?' L00447FA0: mov ecx,[ecx+000000ACh] mov edx,[esp+04h] push edx mov eax,[ecx] call [eax+44h] retn 0004h ;------------------------------------------------------------------------------ Align 16 L00447FC0: sub esp,00000010h lea eax,[esp+00h] lea ecx,[esp+04h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+14h] lea eax,[esp+18h] push edx push eax push 000000FCh call SUB_L004434A0 add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00448000: mov eax,0000FA00h call SUB_L004D4B90 push esi mov esi,ecx lea eax,[esp+04h] push 0000000Ah mov ecx,[esi+000000D8h] push eax push ecx call SUB_L004C4CC0 lea edx,[esp+10h] push L0050296C push edx call SUB_L004C4550 add esi,000000DCh lea eax,[esp+18h] push esi push eax call SUB_L004C4550 lea ecx,[esp+20h] push L0050296C push ecx call SUB_L004C4550 mov edx,[esp+0000FA2Ch] lea eax,[esp+28h] push edx push eax call SUB_L004C4550 lea ecx,[esp+30h] push ecx push 0000000Ch call SUB_L0049DAD0 add esp,00000034h mov eax,00000001h pop esi add esp,0000FA00h retn 0008h ;------------------------------------------------------------------------------ Align 4 L00448080: mov eax,[esp+04h] push esi mov esi,ecx push eax mov ecx,[esi+000000ACh] call SUB_L00449250 call SUB_L00456C40 push esi call SUB_L00456DC0 mov esi,[esi+000000ACh] mov ecx,[esi+000000C0h] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000008h mov ecx,esi mov [esi+000000B8h],eax call SUB_L00448CB0 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004480D0: mov eax,[ecx+000002DCh] test eax,eax jz L004480F7 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L004480F7: retn 0008h ;------------------------------------------------------------------------------ Align 8 L00448100: sub esp,00000018h push ebx push esi push edi mov edi,ecx mov eax,[edi+64h] test eax,eax jz L004481C5 lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[edi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebx,ebx mov esi,[eax+0Ch] mov bx,[esi] mov esi,[esp+28h] add ebx,ecx xor ecx,ecx mov [esp+1Ch],ebx mov eax,[eax+0Ch] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push esi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0044820B mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+10h] push ecx mov ecx,[esp+18h] push edx mov edx,[edi+2Ch] push eax mov eax,[edi+28h] push ecx mov ecx,[edi+3Ch] push edx push eax push esi mov edx,[ecx+0Ch] add edx,00000004h push edx push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ L004481C5: mov esi,[edi+50h] test esi,esi jz L0044820B mov ebx,[esp+28h] L004481D0: mov eax,[esi] mov ecx,esi call [eax+000000E4h] test eax,eax jz L004481F5 mov ecx,[esi+000000C8h] mov eax,[edi+64h] cmp ecx,eax jnz L004481F5 mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] jmp L00448204 L004481F5: mov eax,[edi+64h] test eax,eax jnz L00448204 mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] L00448204: mov esi,[esi+44h] test esi,esi jnz L004481D0 L0044820B: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00448220: mov eax,[esp+04h] push esi mov esi,ecx mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+0Ch] mov [esi+24h],eax call SUB_L00447950 mov ecx,esi call SUB_L00447AB0 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00448250: sub esp,00000008h push esi mov esi,ecx push edi mov eax,[esi+64h] test eax,eax jz L004482AB mov ecx,[esp+14h] test ecx,ecx jl L00448300 mov edx,[esp+18h] test edx,edx jl L00448300 mov eax,[esi+3Ch] xor edi,edi mov eax,[eax+0Ch] mov di,[eax] cmp ecx,edi jge L00448300 xor edi,edi mov di,[eax+02h] cmp edx,edi jge L00448300 mov esi,[esi+28h] pop edi imul esi,edx add esi,ecx xor ecx,ecx cmp [eax+esi*2+04h],cx pop esi setnz cl mov eax,ecx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L004482AB: lea edx,[esp+18h] lea eax,[esp+14h] push edx push eax mov ecx,esi call SUB_L00457C90 mov esi,[esi+48h] test esi,esi jz L00448300 L004482C3: mov ecx,[esp+14h] mov edx,[esp+18h] mov [esp+0Ch],ecx lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov [esp+10h],edx call SUB_L00457D20 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jnz L0044830A mov esi,[esi+40h] test esi,esi jnz L004482C3 L00448300: pop edi xor eax,eax pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0044830A: pop edi mov eax,00000001h pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00448320: push FFFFFFFFh push L004E26F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 xor eax,eax mov ebx,00000001h push SSZ00500078_ChatBorder_framedata push 00000008h mov [esp+20h],eax mov dword ptr [esi],L004EB9A4 mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+14h],eax mov [esi+18h],ebx mov [esi+24h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500064_ChatBorder_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h push ebx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov eax,[esp+24h] push eax mov [ecx+02h],dx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 4 L00448420: mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ Align 16 L00448430: push esi mov esi,ecx call SUB_L00448450 test byte ptr [esp+08h],01h jz L00448448 push esi call SUB_L004D4F9E add esp,00000004h L00448448: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00448450: push FFFFFFFFh push L004E2718 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EB9A4 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0044849D push SSZ00500064_ChatBorder_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0044849D: mov eax,[esi+3Ch] test eax,eax jz L004484B9 push SSZ00500078_ChatBorder_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004484B9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004484E0: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L0044851F lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+18h] L0044851F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00448530: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L0044856F lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+2Ch] L0044856F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00448580: mov ecx,[ecx+4Ch] test ecx,ecx jz L0044858C mov eax,[ecx] jmp [eax+30h] L0044858C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L00448590: sub esp,00000010h push ebx push ebp mov ecx,[esp+2Ch] push esi mov esi,[esp+20h] mov ebx,[esp+28h] xor eax,eax push edi mov ax,[esi] mov edi,[esp+30h] mov [esp+18h],eax xor eax,eax mov ax,[esi+02h] add ecx,edi cmp ecx,eax mov [esp+10h],ebx mov [esp+14h],edi mov [esp+30h],ecx mov [esp+1Ch],ecx jle L004485D0 mov [esp+1Ch],eax L004485D0: mov ebp,[esp+28h] lea edx,[esp+2Ch] lea eax,[esp+24h] push edx push eax push ebp call SUB_L004434A0 mov eax,[esp+3Ch] add esp,0000000Ch cmp edi,eax jge L00448655 mov eax,[esp+2Ch] L004485F3: lea ecx,[edi+eax] mov eax,[esp+34h] cmp ecx,eax jle L00448626 xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx lea ecx,[esi+04h] push eax push ecx push edi lea edx,[esp+20h] push ebx push edx push ebp push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h jmp L00448647 L00448626: xor eax,eax xor ecx,ecx mov ax,[esi+02h] mov cx,[esi] push eax lea edx,[esi+04h] push ecx push edx push edi push ebx push ebp push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L00448647: mov eax,[esp+2Ch] mov ecx,[esp+30h] add edi,eax cmp edi,ecx jl L004485F3 L00448655: pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 4 SUB_L00448660: push FFFFFFFFh push L004E2738 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov ecx,[esp+30h] mov edx,[esp+24h] mov [esi+0000009Ch],ecx mov ecx,[esp+28h] mov [esi+000000A0h],edx mov edx,[esp+2Ch] mov [esi+000000A4h],ecx mov ecx,[esp+34h] xor eax,eax mov ebx,00000001h push SSZ005000D8_ChatTextBox_framedata push 00000008h mov [esp+20h],eax mov [esi+000000A8h],edx mov [esi+000000ACh],eax mov [esi+000000B0h],eax mov [esi+000000B4h],eax mov dword ptr [esi+000000B8h],FFFFFFFFh mov [esi+000000BCh],ecx mov [esi+000000C0h],eax mov [esi+000000C4h],eax mov dword ptr [esi],L004EBB38 mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+14h],eax mov [esi+18h],ebx mov [esi+24h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ005000C4_ChatTextBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov ecx,[eax+04h] mov dx,[esi+24h] mov eax,[esp+20h] mov [ecx+02h],dx push ebx push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 8 L004487C0: push esi mov esi,ecx call SUB_L004487E0 test byte ptr [esp+08h],01h jz L004487D8 push esi call SUB_L004D4F9E add esp,00000004h L004487D8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004487E0: push FFFFFFFFh push L004E2758 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EBB38 mov eax,[esi+000000C4h] mov dword ptr [esp+10h],00000000h test eax,eax jz L0044883D L00448815: mov [esi+000000C0h],eax mov eax,[eax+18h] mov [esi+000000C4h],eax mov eax,[esi+000000C0h] push eax call SUB_L004D4F9E mov eax,[esi+000000C4h] add esp,00000004h test eax,eax jnz L00448815 L0044883D: mov ecx,[esi+3Ch] mov eax,[ecx+04h] test eax,eax jz L0044885F push SSZ005000C4_ChatTextBox_frame0 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L0044885F: mov eax,[esi+3Ch] test eax,eax jz L0044887B push SSZ005000D8_ChatTextBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0044887B: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004488A0: sub esp,0000000Ch push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov eax,[esi+000000ACh] mov ecx,[esi+000000A8h] cmp eax,ecx jnz L00448910 mov edi,[esi+000000C4h] mov eax,[edi+18h] cmp eax,ebx mov [esi+000000C4h],eax jz L004488D3 mov [eax+1Ch],ebx jmp L004488D9 L004488D3: mov [esi+000000C0h],ebx L004488D9: mov ecx,[edi] push ecx call SUB_L004D4F9E mov edx,[edi+14h] mov ebp,[esi+000000B0h] mov ecx,[esi+000000B4h] sub ebp,edx mov [esi+000000B0h],ebp mov eax,[edi+14h] add esp,00000004h sub ecx,eax mov [esi+000000B4h],ecx jns L00448929 mov [esi+000000B4h],ebx jmp L00448929 L00448910: push 00000024h call SUB_L004D4FA9 mov edi,eax mov eax,[esi+000000ACh] add esp,00000004h inc eax mov [esi+000000ACh],eax L00448929: mov eax,[esp+2Ch] mov ecx,[esp+24h] mov edx,[esp+28h] mov [edi+0Ch],eax mov eax,[esp+34h] mov [edi+04h],ecx mov ecx,[esp+30h] cmp eax,ebx mov [edi+08h],edx mov [edi+10h],ecx jz L00448961 push 00000003h lea edx,[edi+20h] push eax push edx call SUB_L004D52C0 add esp,0000000Ch mov [edi+23h],bl jmp L00448964 L00448961: mov [edi+20h],bl L00448964: mov ebp,[esp+20h] push ebp call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push ebp push eax mov [edi],eax call SUB_L004C4430 mov eax,[esi+000000A0h] add esp,00000010h cmp eax,ebx jz L004489B1 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx mov ecx,[esi+20h] lea eax,[esp+1Ch] push edx mov edx,[edi] sub ecx,00000004h push eax push ecx push edx call SUB_L004C6B20 add esp,00000014h jmp L004489CB L004489B1: lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov eax,[edi] lea edx,[esp+1Ch] push ecx push edx push eax call SUB_L004C6930 add esp,00000010h L004489CB: mov eax,[esp+10h] cmp eax,00000012h jge L004489D9 mov eax,00000012h L004489D9: mov [edi+14h],eax mov [edi+18h],ebx mov ecx,[esi+000000C0h] mov [edi+1Ch],ecx mov eax,[esi+000000C0h] cmp eax,ebx jz L004489F7 mov [eax+18h],edi jmp L004489FD L004489F7: mov [esi+000000C4h],edi L004489FD: mov ecx,[esi+000000B4h] mov eax,[esi+000000B0h] mov edx,[esp+10h] cmp ecx,eax mov [esi+000000C0h],edi jnz L00448A1F add ecx,edx mov [esi+000000B4h],ecx L00448A1F: mov edi,[esi+0000009Ch] mov ecx,[esi+4Ch] add eax,edx push edi mov [esi+000000B0h],eax mov edx,[ecx] push eax mov eax,[esi+000000B4h] push eax call [edx+00000178h] mov ecx,esi call SUB_L00448CB0 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00448A60: sub esp,00000010h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004C5630 mov ebx,eax call SUB_L004C4230 mov ebp,eax mov al,[L00D1A682] mov [esp+1Ch],al mov al,[L00C3E64E] test al,al jz L00448A9A mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h jmp L00448AC5 L00448A9A: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L00502968] push eax call SUB_L004C4240 mov edi,[L00B28A24] test edi,edi setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L00448AC5: mov edx,[esi+24h] mov edi,[esi+000000C0h] neg edx test edi,edi mov [esi+000000B0h],edx jz L00448B4B L00448ADA: mov eax,[esi+000000A0h] test eax,eax jz L00448B07 lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov eax,[esi+20h] lea edx,[esp+1Ch] push ecx mov ecx,[edi] sub eax,00000004h push edx push eax push ecx call SUB_L004C6B20 add esp,00000014h jmp L00448B21 L00448B07: lea edx,[esp+14h] lea eax,[esp+10h] push edx mov edx,[edi] lea ecx,[esp+1Ch] push eax push ecx push edx call SUB_L004C6930 add esp,00000010h L00448B21: mov eax,[esp+10h] cmp eax,00000012h jge L00448B2F mov eax,00000012h L00448B2F: mov [edi+14h],eax mov eax,[esp+10h] mov ecx,[esi+000000B0h] add ecx,eax mov [esi+000000B0h],ecx mov edi,[edi+1Ch] test edi,edi jnz L00448ADA L00448B4B: mov eax,[esi+000000B0h] mov ecx,[esi+4Ch] mov [esi+000000B4h],eax mov esi,[esi+0000009Ch] mov edx,[ecx] push esi push eax push eax call [edx+00000178h] push ebx call SUB_L004C5640 push ebp call SUB_L004C4240 mov eax,[esp+24h] push eax call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00448B90: sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov ebx,eax mov al,[L00D1A682] mov [esp+18h],al mov al,[L00C3E64E] test al,al jz L00448BC9 mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h jmp L00448BF3 L00448BC9: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L00502968] push eax call SUB_L004C4240 mov eax,[L00B28A24] test eax,eax setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L00448BF3: mov eax,[esi+000000C0h] mov ecx,[esi+000000B0h] mov edx,[eax+14h] sub ecx,edx lea edx,[esp+0Ch] mov [esi+000000B0h],ecx mov ecx,[esi+000000A0h] test ecx,ecx lea ecx,[esp+10h] push ecx lea ecx,[esp+18h] push edx push ecx jz L00448C37 mov edx,[esi+20h] mov eax,[eax] sub edx,00000004h push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L00448C42 L00448C37: mov edx,[eax] push edx call SUB_L004C6930 add esp,00000010h L00448C42: mov eax,[esp+0Ch] cmp eax,00000012h jge L00448C50 mov eax,00000012h L00448C50: mov ecx,[esi+000000C0h] mov [ecx+14h],eax mov edx,[esp+0Ch] mov eax,[esi+000000B0h] mov ecx,[esi+4Ch] add eax,edx mov [esi+000000B0h],eax mov [esi+000000B4h],eax mov esi,[esi+0000009Ch] mov edx,[ecx] push esi push eax push eax call [edx+00000178h] push edi call SUB_L004C5640 push ebx call SUB_L004C4240 mov eax,[esp+20h] push eax call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00448CB0: sub esp,00000024h push ebx push ebp push esi push edi mov esi,ecx call SUB_L004C5630 mov [esp+18h],eax call SUB_L004C4230 mov [esp+1Ch],eax mov al,[L00D1A682] mov [esp+20h],al mov al,[L00C3E64E] test al,al jz L00448CF0 mov ecx,[L00504620] push ecx call SUB_L004C5640 add esp,00000004h xor ebx,ebx jmp L00448D1D L00448CF0: mov edx,[L0050CF64] push edx call SUB_L004C5640 mov eax,[L00502968] push eax call SUB_L004C4240 mov edi,[L00B28A24] xor ebx,ebx cmp edi,ebx setnz cl push ecx call SUB_L004C4270 add esp,0000000Ch L00448D1D: mov eax,[esi+000000BCh] cmp eax,ebx jge L00448DB8 lea edx,[esp+14h] lea ecx,[esp+10h] push edx push ecx neg eax push eax call SUB_L004434A0 mov eax,[esp+1Ch] add esp,0000000Ch cmp eax,ebx jz L00448DB2 mov ecx,[esi+24h] mov eax,[esi+20h] xor ebp,ebp cmp ecx,ebx mov [esp+28h],ebx mov [esp+24h],ebx mov [esp+2Ch],eax mov [esp+30h],ecx jle L00448DB8 L00448D64: xor edi,edi cmp eax,ebx jle L00448DA3 L00448D6A: mov edx,[esi+24h] push edx push eax mov eax,[esi+3Ch] lea edx,[esp+2Ch] mov ecx,[eax+04h] mov eax,[esi+000000BCh] add ecx,00000004h push ecx push ebp push edi push edx neg eax push eax push SUB_L004B95C0 call SUB_L004436C0 mov edx,[esp+30h] mov eax,[esi+20h] add edi,edx add esp,00000020h cmp edi,eax jl L00448D6A L00448DA3: mov edx,[esp+14h] mov ecx,[esi+24h] add ebp,edx cmp ebp,ecx jl L00448D64 jmp L00448DB8 L00448DB2: mov [esi+000000BCh],ebx L00448DB8: mov eax,[esi+000000BCh] cmp eax,ebx jl L00448E07 mov cl,[L00C8C4A4] mov edx,eax test cl,cl jz L00448DDB and edx,00007FE0h and eax,0000001Fh shl edx,1 or edx,eax L00448DDB: mov ecx,[esi+24h] xor eax,eax imul ecx,[esi+20h] test ecx,ecx jle L00448E07 mov ecx,00000004h L00448DED: mov edi,[esi+3Ch] inc eax add ecx,00000002h mov edi,[edi+04h] mov [edi+ecx-02h],dx mov edi,[esi+24h] imul edi,[esi+20h] cmp eax,edi jl L00448DED L00448E07: mov edx,[esi+20h] mov ebp,[esi+24h] mov ecx,[esi+000000B0h] mov edi,[esi+000000C0h] sub edx,00000002h mov [esp+30h],ebp mov [esp+2Ch],edx mov edx,[esi+000000B4h] sub ebp,edx mov [esp+28h],ebx add ebp,ecx cmp edi,ebx mov dword ptr [esp+24h],00000002h jz L00448ECD L00448E42: mov ecx,[edi+14h] mov eax,[esi+24h] sub ebp,ecx cmp ebp,eax jge L00448EBE cmp [esi+000000A0h],ebx jz L00448E8D mov ecx,[edi+10h] mov edx,[edi+0Ch] mov eax,[esi+20h] push ecx mov ecx,[edi+08h] push edx push ecx mov ecx,[edi+04h] lea edx,[esp+30h] push edx mov edx,[edi] push ecx push ebp push 00000002h push edx push eax add eax,FFFFFFFCh push eax mov eax,[esi+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C7760 add esp,0000002Ch jmp L00448EBE L00448E8D: mov edx,[edi+10h] mov eax,[edi+0Ch] mov ecx,[edi+08h] push edx push eax mov eax,[edi+04h] lea edx,[esp+2Ch] push ecx mov ecx,[edi] push edx mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push ebp push 00000002h push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C6500 add esp,00000028h L00448EBE: cmp ebp,ebx jl L00448ECD mov edi,[edi+1Ch] cmp edi,ebx jnz L00448E42 L00448ECD: mov ecx,[esi+000000B8h] cmp ecx,FFFFFFFFh jz L00448F6B mov eax,[esi+000000C0h] cmp eax,ebx jz L00448F6B mov edx,[esi+000000B0h] mov ebp,[eax+14h] mov edi,[esi+000000B4h] sub edx,ebp sub edx,edi jns L00448F6B lea edx,[esp+14h] mov eax,[eax] push edx lea edx,[esp+14h] push edx mov edx,[esi+20h] sub edx,00000004h push edx push eax push ecx call SUB_L004C6FD0 mov edx,[esi+000000C0h] mov eax,[esi+24h] mov ebp,[esp+28h] lea ecx,[esp+38h] mov edi,[edx+14h] mov edx,[esi+000000B4h] sub eax,edi push ecx mov ecx,[esi+000000B0h] sub eax,edx add eax,ecx mov ecx,[esp+28h] mov edx,[esi+20h] add eax,ebp push 00007FFFh push eax mov eax,[esi+3Ch] add ecx,00000002h push ecx push L005000F0 mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C6100 add esp,00000030h L00448F6B: cmp [esi+000000A4h],ebx jz L00449014 lea edx,[esp+14h] mov ecx,esi push edx call SUB_L00449040 cmp eax,ebx jz L00449014 mov ecx,[esp+28h] mov edx,[esp+14h] cmp ecx,edx jge L00448F9D mov ecx,edx mov [esp+28h],ecx L00448F9D: mov eax,[eax+14h] mov ebp,[esp+30h] add eax,edx cmp ebp,eax jle L00448FB0 mov ebp,eax mov [esp+30h],ebp L00448FB0: mov edi,ecx mov edx,[esp+2Ch] imul edi,[esi+20h] mov eax,[esp+24h] mov ebx,ecx sub edx,eax add edi,eax mov eax,[esi+3Ch] mov eax,[eax+04h] lea edi,[eax+edi*2+04h] mov al,[L00C8C4A4] neg al sbb eax,eax and eax,00008000h add eax,00007FFFh cmp ecx,ebp mov [esp+10h],eax jge L00449014 L00448FE9: test edx,edx jle L00449009 mov eax,edi mov ecx,edx L00448FF1: mov bp,[eax] add eax,00000002h not bp and ebp,[esp+10h] dec ecx mov [eax-02h],bp jnz L00448FF1 mov ebp,[esp+30h] L00449009: mov ecx,[esi+20h] inc ebx cmp ebx,ebp lea edi,[edi+ecx*2] jl L00448FE9 L00449014: mov edx,[esp+18h] push edx call SUB_L004C5640 mov eax,[esp+20h] push eax call SUB_L004C4240 mov ecx,[esp+28h] push ecx call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00449040: sub esp,00000008h lea eax,[esp+00h] push esi mov esi,ecx push edi lea ecx,[esp+0Ch] push eax push ecx call SUB_L00476BC0 add esp,00000008h lea edx,[esp+08h] lea eax,[esp+0Ch] mov ecx,esi push edx push eax call SUB_L00457D20 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jz L004490BE mov ecx,[esi+000000B0h] mov edx,[esi+000000B4h] mov edi,[esi+24h] mov eax,[esi+000000C0h] sub ecx,edx add ecx,edi test eax,eax jz L004490BE mov esi,[esp+08h] L004490A0: mov edx,[eax+14h] sub ecx,edx cmp ecx,edi jge L004490B3 cmp esi,ecx jl L004490B3 add edx,ecx cmp esi,edx jl L004490C8 L004490B3: test ecx,ecx jl L004490BE mov eax,[eax+1Ch] test eax,eax jnz L004490A0 L004490BE: xor eax,eax L004490C0: pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L004490C8: mov edx,[esp+14h] test edx,edx jz L004490C0 pop edi mov [edx],ecx pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ Align 8 L004490E0: mov eax,[ecx+000000A4h] test eax,eax jz L004490EF call SUB_L00448CB0 L004490EF: retn 0008h ;------------------------------------------------------------------------------ Align 16 L00449100: push esi mov esi,ecx mov eax,[esi+000000A4h] test eax,eax jz L00449116 call SUB_L00448CB0 pop esi retn 0008h ;------------------------------------------------------------------------------ L00449116: mov eax,[esi+4Ch] test eax,eax jz L00449152 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+2Ch] L00449152: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00449160: mov eax,[ecx+000000A4h] test eax,eax jz L0044916F jmp SUB_L00448CB0 L0044916F: retn ;------------------------------------------------------------------------------ L00449170: dd L00B881C7 db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db E9h; '©' db 31h; '1' db FBh; 'ë' db FFh; 'ï' db FFh; 'ï' db 90h; '?' L00449180: push esi mov esi,ecx mov eax,[esi+000000A4h] test eax,eax jnz L004491C9 mov eax,[esi+4Ch] test eax,eax jz L004491C9 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+14h] L004491C9: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L004491D0: push esi mov esi,ecx mov eax,[esi+000000A4h] test eax,eax jz L0044920B push 00000000h call SUB_L00476670 add esp,00000004h mov ecx,esi push 00000000h call SUB_L00449040 test eax,eax jz L00449247 mov ecx,[esi+4Ch] test ecx,ecx jz L00449247 mov eax,[eax] mov edx,[ecx] push esi push eax call [edx+00000174h] pop esi retn 0008h ;------------------------------------------------------------------------------ L0044920B: mov eax,[esi+4Ch] test eax,eax jz L00449247 lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx push edx mov ecx,esi call SUB_L00457C90 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,[esi+4Ch] call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+4Ch] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+18h] L00449247: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00449250: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 mov ebx,[esp+14h] mov edi,eax push ebx call SUB_L004C4300 add edi,eax lea edx,[edi+edi+02h] push edx call SUB_L004D4FA9 mov edi,eax mov eax,[esi+000000C0h] mov ecx,[eax] push ecx push edi call SUB_L004C4430 push ebx push edi call SUB_L004C4550 mov edx,[esi+000000C0h] mov eax,[edx] push eax call SUB_L004D4F9E mov ecx,[esi+000000C0h] push ebx mov [ecx],edi call SUB_L004C4300 add esp,00000024h cmp word ptr [ebx+eax*2-02h],0024h jnz L004492E0 push edi call SUB_L004C4300 add esp,00000004h mov ecx,esi mov word ptr [edi+eax*2-02h],0000h call SUB_L00448B90 mov edx,[esi] push 0000000Dh mov ecx,esi call [edx+44h] pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L004492E0: mov ecx,esi call SUB_L00448B90 mov ecx,esi call SUB_L00448CB0 pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 L00449300: push ebp mov ebp,[esp+08h] push esi cmp ebp,0000E024h push edi mov esi,ecx jg L004494A9 jz CASE_004495C8_PROC0001 cmp ebp,0000000Dh jg L00449488 jz L0044943B mov eax,ebp sub eax,00000008h jz L00449418 dec eax jz L00449412 CASE_004495C8_PROC0004: push ebp call SUB_L004C5F00 add esp,00000004h test eax,eax jz L00449412 mov ecx,[esi+000000C0h] mov edx,[ecx] push edx call SUB_L004C4300 mov edi,eax add esp,00000004h cmp edi,000003FFh jge L00449412 lea eax,[edi+edi+04h] push ebx push eax call SUB_L004D4FA9 mov ecx,[esi+000000B8h] mov ebx,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004493A5 L00449388: mov ecx,[esi+000000C0h] inc eax mov edx,[ecx] mov cx,[edx+eax*2-02h] mov [ebx+eax*2-02h],cx mov ecx,[esi+000000B8h] cmp eax,ecx jl L00449388 L004493A5: mov edx,[esi+000000B8h] mov [ebx+edx*2],bp mov eax,[esi+000000B8h] cmp eax,edi jge L004493D6 lea ecx,[ebx+eax*2+02h] L004493BD: mov edx,[esi+000000C0h] inc eax add ecx,00000002h cmp eax,edi mov edx,[edx] mov dx,[edx+eax*2-02h] mov [ecx-02h],dx jl L004493BD L004493D6: mov word ptr [ebx+edi*2+02h],0000h mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004D4F9E mov edx,[esi+000000C0h] add esp,00000004h mov ecx,esi mov [edx],ebx mov eax,[esi+000000B8h] inc eax mov [esi+000000B8h],eax call SUB_L00448B90 mov ecx,esi call SUB_L00448CB0 pop ebx L00449412: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00449418: mov eax,[esi+000000B8h] test eax,eax jle L00449412 dec eax push 0000E02Eh mov [esi+000000B8h],eax mov eax,[esi] mov ecx,esi call [eax+44h] pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L0044943B: mov eax,[esi+000000C0h] mov ecx,[esi+4Ch] push esi mov eax,[eax] mov edx,[ecx] push eax call [edx+0000017Ch] test eax,eax jz L00449412 mov eax,[esi+000000C0h] mov dword ptr [esi+000000B8h],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 L007050D8 mov ecx,esi call SUB_L004488A0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L00449488: cmp ebp,0000001Bh jz L0044949E cmp ebp,0000E023h jz CASE_004495C8_PROC0003 jmp CASE_004495C8_PROC0004 L0044949E: call SUB_L00456C40 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ L004494A9: lea eax,[ebp-0000E025h] cmp eax,00000009h ja CASE_004495C8_PROC0004 jmp [CASE_PROCTABLE_004495C8+eax*4] CASE_004495C8_PROC0009: mov eax,[esi+000000C0h] mov ecx,[esi+000000B8h] mov eax,[eax] cmp word ptr [eax+ecx*2],0000h jz L00449412 lea ecx,[ecx+ecx-02h] L004494DC: mov dx,[ecx+eax+04h] add ecx,00000002h mov [ecx+eax],dx mov eax,[esi+000000C0h] mov eax,[eax] cmp word ptr [ecx+eax],0000h jnz L004494DC mov ecx,esi call SUB_L00448B90 mov ecx,esi call SUB_L00448CB0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004495C8_PROC0000: mov eax,[esi+000000B8h] test eax,eax jle L00449412 dec eax mov ecx,esi mov [esi+000000B8h],eax call SUB_L00448CB0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004495C8_PROC0002: mov ecx,[esi+000000C0h] mov edi,[esi+000000B8h] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000004h cmp edi,eax jz L00449412 inc edi mov ecx,esi mov [esi+000000B8h],edi call SUB_L00448CB0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004495C8_PROC0003: mov eax,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 mov ecx,[esi+000000B8h] add esp,00000004h cmp ecx,eax jz L00449412 mov edx,[esi+000000C0h] mov eax,[edx] push eax call SUB_L004C4300 add esp,00000004h mov ecx,esi mov [esi+000000B8h],eax call SUB_L00448CB0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_004495C8_PROC0001: mov eax,[esi+000000B8h] test eax,eax jz L00449412 mov ecx,esi mov dword ptr [esi+000000B8h],00000000h call SUB_L00448CB0 pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_004495C8: dd CASE_004495C8_PROC0000 dd CASE_004495C8_PROC0001 dd CASE_004495C8_PROC0002 dd CASE_004495C8_PROC0003 dd CASE_004495C8_PROC0004 dd CASE_004495C8_PROC0004 dd CASE_004495C8_PROC0004 dd CASE_004495C8_PROC0004 dd CASE_004495C8_PROC0004 dd CASE_004495C8_PROC0009 L004495F0: mov eax,[esp+04h] sub esp,00000008h test eax,eax push ebx push esi push edi jz L004496EB mov edi,[esp+20h] xor esi,esi test edi,edi jz L00449617 push edi call SUB_L004C4300 add esp,00000004h mov esi,eax L00449617: mov ebx,[esp+24h] test ebx,ebx jz L0044962A push ebx call SUB_L004C4300 add esp,00000004h add esi,eax L0044962A: test esi,esi jle L004496EB mov ecx,[L00B28A2C] lea eax,[esi+08h] cmp eax,ecx jle L00449668 mov [L00B28A2C],eax mov eax,[L00B28A28] push eax call SUB_L004D4F9E mov ecx,[L00B28A2C] lea edx,[ecx+ecx] push edx call SUB_L004D4FA9 add esp,00000008h mov [L00B28A28],eax jmp L0044966D L00449668: mov eax,[L00B28A28] L0044966D: test eax,eax jz L004496EB test edi,edi mov word ptr [eax],0000h jz L004496B6 mov eax,[L00B28A28] push edi push eax call SUB_L004C4550 mov edx,[L00B28A28] lea ecx,[esp+14h] push ecx push edx mov word ptr [esp+1Ch],003Ah mov word ptr [esp+1Eh],0020h mov word ptr [esp+20h],0000h mov word ptr [esp+22h],0000h call SUB_L004C4550 add esp,00000010h L004496B6: test ebx,ebx jz L004496C9 mov eax,[L00B28A28] push ebx push eax call SUB_L004C4550 add esp,00000008h L004496C9: mov ecx,[L0050CE74] mov edx,[L00B28A28] push L00C8367C push FFFFFFFFh push FFFFFFFFh push 00000000h push ecx mov ecx,[esp+2Ch] push edx call SUB_L004488A0 L004496EB: pop edi pop esi pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00449700: push FFFFFFFFh push L004E2799 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 xor ebx,ebx mov ebp,00000001h push SSZ005000A8_ChatScrollBar_framedata push 00000008h mov [esp+28h],ebx mov dword ptr [esi],L004EBCCC mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500090_ChatScrollBar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000ECh mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+000000A4h],ebx mov [esi+000000ACh],bl call SUB_L004D4FA9 add esp,00000014h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],01h jz L00449821 push ebx push 000000FBh push 000000FAh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00449823 L00449821: xor eax,eax L00449823: mov [esi+0000009Ch],eax mov [eax+000000A4h],ebx mov eax,[esi+0000009Ch] push ebp push esi mov [esp+28h],bl mov [eax+000000C0h],ebp mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],02h jz L00449885 push ebx push 000000FDh push 000000FCh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L00449887 L00449885: xor eax,eax L00449887: mov [esi+000000A0h],eax mov [eax+000000A4h],ebp mov ecx,[esi+000000A0h] push ebp push esi mov [esp+28h],bl mov [ecx+000000C0h],ebp mov ecx,[esi+000000A0h] call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L004498DD push 000000FEh push esi push ebx push ebp push ebx push ebx mov ecx,eax call SUB_L00422790 jmp L004498DF L004498DD: xor eax,eax L004498DF: push ebp push esi mov ecx,eax mov [esp+28h],bl mov [esi+000000A8h],eax call SUB_L004587A0 mov edx,[esp+28h] push ebp push edx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+18h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00449920: push esi mov esi,ecx call SUB_L00449940 test byte ptr [esp+08h],01h jz L00449938 push esi call SUB_L004D4F9E add esp,00000004h L00449938: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00449940: push FFFFFFFFh push L004E27B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EBCCC mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0044998D push SSZ00500090_ChatScrollBar_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0044998D: mov eax,[esi+3Ch] test eax,eax jz L004499A9 push SSZ005000A8_ChatScrollBar_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004499A9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004499D0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E27DB push eax mov eax,[esp+10h] mov fs:[00000000h],esp push ebx push esi mov esi,ecx push edi mov ecx,[esp+20h] mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] test eax,eax jz L00449A1A push SSZ00500090_ChatScrollBar_frame0 push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov dword ptr [eax+04h],00000000h L00449A1A: lea ecx,[esp+1Ch] lea ebx,[esi+20h] push ecx push ebx push 00000100h call SUB_L004434A0 mov edi,[ebx] mov ecx,[esp+30h] add edi,00000002h push SSZ00500090_ChatScrollBar_frame0 mov eax,edi mov [ebx],edi mov [esi+1Ch],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+24h],ecx push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000014h mov [ecx+04h],eax mov ecx,[ebx] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] mov ecx,[esi+3Ch] push eax push 00000000h push 00000000h mov edx,[ecx+04h] push 00000100h push edx mov ecx,esi call SUB_L00448590 mov eax,[esi+000000A0h] mov ecx,[esi+24h] sub ecx,[eax+24h] mov [eax+34h],ecx mov ecx,[esi+000000A8h] test ecx,ecx jz L00449AD0 mov edx,[ecx] push 00000001h call [edx] L00449AD0: push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00449B19 mov ecx,[esi+000000A0h] mov edx,[esi+24h] push 000000FEh push esi mov edi,[ecx+24h] mov ecx,[esi+0000009Ch] sub edx,edi push edx mov edx,[ecx+24h] push 00000001h push edx push 00000000h mov ecx,eax call SUB_L00422790 jmp L00449B1B L00449B19: xor eax,eax L00449B1B: push 00000001h push esi mov ecx,eax mov dword ptr [esp+1Ch],FFFFFFFFh mov [esi+000000A8h],eax call SUB_L004587A0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00449B50: push esi mov esi,ecx mov ecx,[esp+0Ch] mov eax,[esi+000000A8h] cmp ecx,[eax+34h] jge L00449B6A mov eax,[esi+0000009Ch] jmp L00449B70 L00449B6A: mov eax,[esi+000000A0h] L00449B70: mov [esi+000000A4h],eax lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax mov ecx,esi call SUB_L00457C90 lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx mov ecx,[esi+000000A4h] push edx call SUB_L00457D20 mov edx,[esp+0Ch] mov ecx,[esi+000000A4h] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+14h] mov byte ptr [esi+000000ACh],01h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L00449BC0: push esi mov esi,ecx push 00000000h mov byte ptr [esi+000000ACh],00h call SUB_L00476670 add esp,00000004h lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,[esi+000000A4h] call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[esi+000000A4h] push eax mov eax,[esp+0Ch] mov edx,[ecx] push eax call [edx+18h] pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00449C10: push esi mov esi,ecx call SUB_L00458F30 xor eax,eax lea ecx,[esi+000000D8h] mov [esi+00000F38h],eax mov [esi+00000F3Ch],eax mov [esi+00000F40h],eax mov [esi+00000F44h],eax mov [esi+00000F48h],eax mov dword ptr [esi],L004EBE60 mov [esi+64h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+14h],eax mov [esi+18h],eax mov edx,0000000Fh L00449C67: mov [ecx-3Ch],eax mov [ecx],eax add ecx,00000004h dec edx jnz L00449C67 mov [esi+00000114h],al mov [esi+00000115h],al mov [esi+00000116h],ax mov [esi+00000316h],ax mov [esi+0000051Ah],ax mov [esi+0000071Ah],ax mov [esi+0000091Ah],ax mov [esi+00000B1Ah],ax mov [esi+00000D1Ah],ax mov [esi+00000516h],al mov [esi+00000517h],al mov [esi+00000518h],al mov [esi+00000519h],al mov [esi+00000F1Ch],eax mov [esi+00000F20h],eax mov [esi+00000F24h],eax mov [esi+00000F28h],eax mov [esi+00000F2Ch],eax mov dword ptr [esi+00000F30h],00000140h mov dword ptr [esi+00000F34h],000000A0h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 L00449D00: db B0h; 'ø' db 01h; db C2h; '‚' db 0Ch; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L00449D10: push esi mov esi,ecx call SUB_L00449D30 test byte ptr [esp+08h],01h jz L00449D28 push esi call SUB_L004D4F9E add esp,00000004h L00449D28: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00449D30: push FFFFFFFFh push L004E27F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EBE60 mov ecx,[esi+48h] xor edi,edi cmp ecx,edi mov [esp+14h],edi jz L00449D6E L00449D61: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+48h] cmp ecx,edi jnz L00449D61 L00449D6E: mov ecx,[esi+3Ch] mov eax,[ecx+0Ch] cmp eax,edi jz L00449D8C push SSZ00500040_ChatGump_frame1 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+0Ch],edi L00449D8C: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L00449DAA push SSZ005029E8_HTMLGump_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L00449DAA: mov eax,[esi+3Ch] cmp eax,edi jz L00449DC2 push SSZ00500050_ChatGump_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L00449DC2: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00449DF0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E28B5 push eax mov fs:[00000000h],esp push ebx push ebp push esi push edi mov edi,[esp+20h] test edi,edi mov esi,ecx jl L0044A482 cmp edi,0000000Fh jge L0044A482 mov eax,[esi+edi*4+0000009Ch] test eax,eax jnz L0044A482 mov ebx,0000000Eh cmp edi,ebx ja L0044A482 mov ebp,00000001h jmp [L0044A498+edi*4] L00449E48: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L00449EFA push 00000000h push 00000A8Fh push 00000A8Fh push L004214D0 L00449E7A: push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 mov dword ptr [esp+18h],FFFFFFFFh mov [esi+edi*4+0000009Ch],eax jmp L0044A469 L00449E9E: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov [esp+18h],ebp jz L00449EFA push 00000000h push 00000A97h push 00000A96h push SUB_L0041E070 jmp L00449E7A L00449ECA: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+18h],00000002h jz L00449EFA push 00000000h push 00000A95h push 00000A94h push L004C1AA0 jmp L00449E7A L00449EFA: xor eax,eax mov dword ptr [esp+18h],FFFFFFFFh mov [esi+edi*4+0000009Ch],eax jmp L0044A469 L00449F10: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000003h test eax,eax mov [esp+18h],ebx jz L00449F51 push 00000000h push 00000FB9h push 00000FB7h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L00449F53 L00449F51: xor eax,eax L00449F53: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FB8h mov eax,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh jmp L0044A456 L00449F78: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000004h test eax,eax mov [esp+18h],ebx jz L00449FB9 push 00000000h push 00000FB6h push 00000FB4h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L00449FBB L00449FB9: xor eax,eax L00449FBB: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FB5h mov edx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [edx+000000C0h],ebp mov eax,[esi+edi*4+0000009Ch] mov [eax+000000A4h],ebx jmp L0044A469 L00449FF3: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000005h test eax,eax mov [esp+18h],ebx jz L0044A034 push 00000000h push 00000FB0h push 00000FAEh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A036 L0044A034: xor eax,eax L0044A036: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FAFh mov ecx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [ecx+000000C0h],ebp mov edx,[esi+edi*4+0000009Ch] mov [edx+000000A4h],ebx jmp L0044A469 L0044A06E: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000006h test eax,eax mov [esp+18h],ebx jz L0044A0AF push 00000000h push 00000FBFh push 00000FBDh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A0B1 L0044A0AF: xor eax,eax L0044A0B1: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FBEh mov eax,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh jmp L0044A456 L0044A0D6: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000007h test eax,eax mov [esp+18h],ebx jz L0044A117 push 00000000h push 00000FB0h push 00000FAEh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A119 L0044A117: xor eax,eax L0044A119: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FAFh mov edx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [edx+000000C0h],ebp mov eax,[esi+edi*4+0000009Ch] mov [eax+000000A4h],ebx jmp L0044A469 L0044A151: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000008h test eax,eax mov [esp+18h],ebx jz L0044A192 push 00000000h push 00000FB3h push 00000FB1h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A194 L0044A192: xor eax,eax L0044A194: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FB2h mov ecx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [ecx+000000C0h],ebp mov edx,[esi+edi*4+0000009Ch] mov [edx+000000A4h],ebx jmp L0044A469 L0044A1CC: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,00000009h test eax,eax mov [esp+18h],ebx jz L0044A20D push 00000000h push 00000FA4h push 00000FA2h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A20F L0044A20D: xor eax,eax L0044A20F: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FA3h mov eax,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh jmp L0044A456 L0044A234: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,0000000Ah test eax,eax mov [esp+18h],ebx jz L0044A275 push 00000000h push 00000FA7h push 00000FA5h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A277 L0044A275: xor eax,eax L0044A277: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FA6h mov edx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [edx+000000C0h],ebp mov eax,[esi+edi*4+0000009Ch] mov [eax+000000A4h],ebx jmp L0044A469 L0044A2AF: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,0000000Bh test eax,eax mov [esp+18h],ebx jz L0044A2F0 push 00000000h push 00000FBCh push 00000FBAh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A2F2 L0044A2F0: xor eax,eax L0044A2F2: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FBBh mov ecx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [ecx+000000C0h],ebp mov edx,[esi+edi*4+0000009Ch] mov [edx+000000A4h],ebx jmp L0044A469 L0044A32A: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,0000000Ch test eax,eax mov [esp+18h],ebx jz L0044A36B push 00000000h push 00000FADh push 00000FABh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A36D L0044A36B: xor eax,eax L0044A36D: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FACh mov eax,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh jmp L0044A456 L0044A392: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax mov ebx,0000000Dh test eax,eax mov [esp+18h],ebx jz L0044A3D3 push 00000000h push 00000FAAh push 00000FA8h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A3D5 L0044A3D3: xor eax,eax L0044A3D5: mov [esi+edi*4+0000009Ch],eax mov dword ptr [eax+000000ACh],00000FA9h mov edx,[esi+edi*4+0000009Ch] mov dword ptr [esp+18h],FFFFFFFFh mov [edx+000000C0h],ebp mov eax,[esi+edi*4+0000009Ch] mov [eax+000000A4h],ebx jmp L0044A469 L0044A40A: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov [esp+18h],ebx jz L0044A445 push 00000000h push 000000D2h push 000000D3h push SUB_L004216F0 push 00000000h push ebp push esi push 00000000h push 00000000h mov ecx,eax call SUB_L00421F40 jmp L0044A447 L0044A445: xor eax,eax L0044A447: mov dword ptr [esp+18h],FFFFFFFFh mov [esi+edi*4+0000009Ch],eax L0044A456: mov [eax+000000C0h],ebp mov ecx,[esi+edi*4+0000009Ch] mov [ecx+000000A4h],ebx L0044A469: mov ecx,[esi+edi*4+0000009Ch] push ebp push esi call SUB_L004587A0 mov edx,[esp+24h] mov [esi+edi*4+000000D8h],edx L0044A482: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 L0044A498: dd L00449E48 dd L00449E9E dd L00449ECA dd L00449F10 dd L00449F78 dd L00449FF3 dd L0044A06E dd L0044A0D6 dd L0044A151 dd L0044A1CC dd L0044A234 dd L0044A2AF dd L0044A32A dd L0044A392 dd L0044A40A Align 16 SUB_L0044A4E0: mov eax,[esp+04h] push esi test eax,eax mov esi,ecx jg L0044A4EE mov eax,[esi+20h] L0044A4EE: mov ecx,[esp+0Ch] test ecx,ecx jg L0044A4F9 mov ecx,[esi+24h] L0044A4F9: mov edx,[esi+00000F30h] cmp eax,edx jge L0044A505 mov eax,edx L0044A505: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044A511 mov ecx,edx L0044A511: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0044A530: sub esp,00000054h push ebx push ebp push esi mov esi,ecx xor ebp,ebp push edi mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,ebp jz L0044A559 push SSZ005029E8_HTMLGump_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],ebp L0044A559: mov edx,[esi+24h] push SSZ005029E8_HTMLGump_frame0 imul edx,[esi+20h] lea eax,[edx+edx+04h] push eax call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] mov ecx,[esi+24h] mov [esp+54h],eax lea edx,[esp+2Ch] lea eax,[esp+20h] push edx push eax push 00000A28h mov [esp+5Ch],ebp mov [esp+58h],ebp mov [esp+64h],ecx call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+30h] push ecx push edx push 00000A29h call SUB_L004434A0 lea eax,[esp+40h] lea ecx,[esp+30h] push eax push ecx push 00000A2Ah call SUB_L004434A0 mov eax,[esp+3Ch] mov ecx,[esi+24h] mov edx,[esp+4Ch] mov [esp+58h],eax mov eax,[esi+3Ch] push ecx mov [esp+60h],edx mov edx,[esi+20h] mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+78h] push ecx push ebp push ebp push edx push 00000A28h push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esi+20h] mov edx,[esp+5Ch] mov edi,[esp+60h] mov ecx,eax add esp,0000004Ch sub ecx,edx mov [esp+38h],ebp mov [esp+34h],ebp mov [esp+3Ch],ecx mov [esp+40h],edi mov edi,[esp+18h] cmp edi,ecx jge L0044A6A3 L0044A666: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] lea ecx,[esp+3Ch] add eax,00000004h push eax push ebp push edi push ecx push 00000A29h push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov edx,[esp+30h] add edi,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp edi,ecx jl L0044A666 L0044A6A3: mov ecx,[esi+24h] mov eax,[esi+20h] push ecx mov ecx,[esi+3Ch] push eax sub eax,edx mov ecx,[ecx+04h] lea edx,[esp+4Ch] add ecx,00000004h push ecx push ebp push eax push edx push 00000A2Ah push SUB_L004B95C0 call SUB_L004436C0 mov ebx,[esp+34h] mov edi,[esi+24h] lea ecx,[esp+38h] lea eax,[ebx+ebx] mov [esp+48h],eax sub edi,eax lea eax,[esp+44h] push eax push ecx push 00000A2Bh call SUB_L004434A0 lea edx,[esp+40h] lea eax,[esp+48h] push edx push eax push 00000A2Ch call SUB_L004434A0 lea ecx,[esp+58h] lea edx,[esp+48h] push ecx push edx push 00000A2Dh call SUB_L004434A0 mov ecx,[esp+68h] mov eax,[esp+58h] add esp,00000044h cmp ecx,eax jge L0044A72E mov eax,ecx mov [esp+14h],eax L0044A72E: mov ecx,[esp+20h] cmp ecx,eax jge L0044A73A mov [esp+14h],ecx L0044A73A: mov eax,[esi+20h] add edi,ebx mov [esp+34h],ebp cmp ebx,edi mov [esp+38h],ebx mov [esp+3Ch],eax mov [esp+28h],edi mov [esp+40h],edi mov ebp,ebx jge L0044A835 jmp L0044A763 L0044A75F: mov edi,[esp+28h] L0044A763: mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+3Ch] push ecx push ebp push 00000000h push edx push 00000A2Bh push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esi+20h] mov edx,[esp+30h] mov ecx,eax mov [esp+00000080h],edi mov edi,[esp+38h] sub ecx,edx add esp,00000020h cmp edi,ecx mov [esp+58h],ebx mov dword ptr [esp+54h],00000000h mov [esp+5Ch],ecx jge L0044A7F6 L0044A7B9: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] lea ecx,[esp+5Ch] add eax,00000004h push eax push ebp push edi push ecx push 00000A2Ch push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov edx,[esp+30h] add edi,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp edi,ecx jl L0044A7B9 L0044A7F6: mov ecx,[esi+24h] mov eax,[esi+20h] push ecx mov ecx,[esi+3Ch] push eax sub eax,edx mov ecx,[ecx+04h] lea edx,[esp+3Ch] add ecx,00000004h push ecx push ebp push eax push edx push 00000A2Dh push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+34h] mov eax,[esp+48h] add ebp,ecx add esp,00000020h cmp ebp,eax jl L0044A75F L0044A835: lea edi,[esi+00000116h] push edi call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044A8E7 mov ebp,[esp+2Ch] mov eax,[esi+20h] mov ebx,[esp+30h] sub eax,ebp mov [esp+3Ch],eax mov al,[esi+00000114h] test al,al mov dword ptr [esp+38h],00000000h mov [esp+34h],ebp mov [esp+40h],ebx push 00000014h jz L0044A8B7 call SUB_L004C5BC0 push edi call SUB_L004C5FB0 mov ecx,[esi+20h] mov edx,eax lea eax,[esp+3Ch] push eax mov eax,ecx sub eax,edx push 00000001h cdq sub eax,edx push 00000010h sar eax,1 push eax push edi push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,00000024h call SUB_L004C5C40 jmp L0044A8EF L0044A8B7: call SUB_L004C5BC0 mov edx,[esi+20h] lea eax,[esp+38h] push eax mov eax,[esi+3Ch] push 00000001h lea ecx,[ebp+02h] push 00000010h push ecx mov ecx,[eax+04h] push edi add ecx,00000004h push edx push ecx call SUB_L004C6100 add esp,00000020h call SUB_L004C5C40 jmp L0044A8EF L0044A8E7: mov ebp,[esp+2Ch] mov ebx,[esp+30h] L0044A8EF: lea eax,[esi+00000316h] push eax call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044A972 mov eax,ebp push 00000000h cdq sub eax,edx mov edx,[esi+20h] mov edi,eax mov eax,[esi+24h] sar edi,1 sub edx,edi sub eax,ebx mov dword ptr [esp+3Ch],00000000h mov [esp+38h],edi mov [esp+40h],edx mov [esp+44h],eax call SUB_L004C5BC0 mov eax,[esp+40h] mov edx,[esp+38h] sub eax,edx add esp,00000004h test eax,eax jle L0044A96D lea ecx,[esp+34h] push 00000000h push ecx lea edx,[ebx+02h] push 00000001h push edx mov edx,[esi+3Ch] lea ecx,[esi+00000316h] push edi push ecx mov ecx,[esi+20h] push ecx push eax mov eax,[edx+04h] add eax,00000004h push eax call SUB_L004C73A0 add esp,00000024h L0044A96D: call SUB_L004C5C40 L0044A972: mov ecx,[esi+20h] mov eax,ebp cdq sub eax,edx mov edx,[esi+24h] sar eax,1 mov [esp+34h],eax sub ecx,eax mov al,[esi+00000516h] lea edi,[ebx+05h] test al,al mov [esp+38h],ebx mov [esp+3Ch],ecx mov [esp+40h],edx jz L0044AA13 push 00000004h call SUB_L004C5BC0 push SWC00502A2C_TO__ call SUB_L004C5FB0 lea ecx,[esp+3Ch] mov edx,00000078h push ecx mov ecx,[esi+3Ch] push 00000001h sub edx,eax mov eax,[esi+20h] push edi push edx mov edx,[ecx+04h] push SWC00502A2C_TO__ add edx,00000004h push eax push edx call SUB_L004C6100 lea ebx,[esi+0000051Ah] push ebx call SUB_L004C4300 add esp,00000028h test eax,eax jz L0044AA0B mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+34h] push eax mov eax,[edx+04h] push 00000001h push edi push 00000078h push ebx add eax,00000004h push ecx push eax call SUB_L004C6100 add esp,0000001Ch L0044AA0B: call SUB_L004C5C40 add edi,00000017h L0044AA13: mov al,[esi+00000517h] test al,al jz L0044AA92 push 00000004h call SUB_L004C5BC0 push SWC00502A1C_FROM__ call SUB_L004C5FB0 lea ecx,[esp+3Ch] mov edx,00000078h push ecx mov ecx,[esi+3Ch] push 00000001h sub edx,eax mov eax,[esi+20h] push edi push edx mov edx,[ecx+04h] push SWC00502A1C_FROM__ add edx,00000004h push eax push edx call SUB_L004C6100 lea ebx,[esi+0000071Ah] push ebx call SUB_L004C4300 add esp,00000028h test eax,eax jz L0044AA8A mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+34h] push eax mov eax,[edx+04h] push 00000001h push edi push 00000078h push ebx add eax,00000004h push ecx push eax call SUB_L004C6100 add esp,0000001Ch L0044AA8A: call SUB_L004C5C40 add edi,00000017h L0044AA92: mov al,[esi+00000518h] test al,al jz L0044AB11 push 00000004h call SUB_L004C5BC0 push SWC00502A0C_DATE__ call SUB_L004C5FB0 lea ecx,[esp+3Ch] mov edx,00000078h push ecx mov ecx,[esi+3Ch] push 00000001h sub edx,eax mov eax,[esi+20h] push edi push edx mov edx,[ecx+04h] push SWC00502A0C_DATE__ add edx,00000004h push eax push edx call SUB_L004C6100 lea ebx,[esi+0000091Ah] push ebx call SUB_L004C4300 add esp,00000028h test eax,eax jz L0044AB09 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+34h] push eax mov eax,[edx+04h] push 00000001h push edi push 00000078h push ebx add eax,00000004h push ecx push eax call SUB_L004C6100 add esp,0000001Ch L0044AB09: call SUB_L004C5C40 add edi,00000017h L0044AB11: mov al,[esi+00000519h] test al,al jz L0044AB8D push 00000004h call SUB_L004C5BC0 push SWC005029F8_SUBJECT__ call SUB_L004C5FB0 lea ecx,[esp+3Ch] mov edx,00000078h push ecx mov ecx,[esi+3Ch] push 00000001h sub edx,eax mov eax,[esi+20h] push edi push edx mov edx,[ecx+04h] push SWC005029F8_SUBJECT__ add edx,00000004h push eax push edx call SUB_L004C6100 lea ebx,[esi+00000B1Ah] push ebx call SUB_L004C4300 add esp,00000028h test eax,eax jz L0044AB88 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+34h] push eax mov eax,[edx+04h] push 00000001h push edi push 00000078h push ebx add eax,00000004h push ecx push eax call SUB_L004C6100 add esp,0000001Ch L0044AB88: call SUB_L004C5C40 L0044AB8D: lea ecx,[esp+24h] lea edx,[esp+18h] push ecx push edx push 00000A2Eh call SUB_L004434A0 lea eax,[esp+20h] lea ecx,[esp+28h] push eax push ecx push 00000A2Fh call SUB_L004434A0 lea edx,[esp+38h] lea eax,[esp+28h] push edx push eax push 00000A30h call SUB_L004434A0 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] mov ebx,[esp+4Ch] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx push ebx lea edx,[esp+78h] push 00000000h push edx push 00000A2Eh push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esi+20h] mov edi,[esi+24h] mov edx,[esp+54h] mov ecx,eax mov [esp+00000084h],edi mov edi,[esp+5Ch] sub ecx,edx add esp,00000044h cmp edi,ecx mov [esp+38h],ebx mov dword ptr [esp+34h],00000000h mov [esp+3Ch],ecx jge L0044AC63 L0044AC26: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] lea ecx,[esp+3Ch] add eax,00000004h push eax push ebx push edi push ecx push 00000A2Fh push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov edx,[esp+30h] add edi,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp edi,ecx jl L0044AC26 L0044AC63: mov ecx,[esi+24h] mov eax,[esi+20h] push ecx mov ecx,[esi+3Ch] push eax sub eax,edx mov ecx,[ecx+04h] lea edx,[esp+4Ch] add ecx,00000004h push ecx push ebx push eax push edx push 00000A30h push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000054h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044ACA0: sub esp,00000020h lea eax,[esp+04h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+10h] push eax push ecx push 00000A2Ah call SUB_L004434A0 add esp,0000000Ch xor edx,edx xor edi,edi L0044ACC4: mov ecx,[esi+edi*4+0000009Ch] cmp ecx,edx jz L0044AF2F mov eax,[esi+edi*4+000000D8h] dec eax cmp eax,00000008h ja L0044AE5D jmp [CASE_PROCTABLE_0044B118+eax*4] CASE_0044B118_PROC0000: mov edx,[esp+10h] add edx,00000005h mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0001: mov eax,[esi+20h] mov ebp,[ecx+20h] sub eax,ebp cdq sub eax,edx sar eax,1 mov [ecx+30h],eax mov edx,[esi+24h] mov eax,[esp+14h] sub edx,eax mov eax,[esi+edi*4+0000009Ch] mov [eax+34h],edx jmp L0044AF0F CASE_0044B118_PROC0002: mov ebx,[ecx+20h] mov ebp,[esp+10h] lea edx,[ebp+ebx*2+05h] shl edx,1 mov eax,edx mov edx,[esi+20h] sub edx,eax mov eax,55555556h imul edx mov eax,edx shr eax,1Fh add edx,eax add edx,ebx lea edx,[edx+ebp+05h] mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0003: mov ebp,[ecx+20h] mov edx,[esp+10h] mov ebx,[esi+20h] lea eax,[edx+ebp*2+05h] mov edx,ebx shl eax,1 sub edx,eax mov eax,55555556h imul edx mov eax,edx shr eax,1Fh neg ebp add edx,eax shl ebp,1 sub ebp,edx mov edx,[esp+10h] sub ebp,edx lea edx,[ebx+ebp-05h] mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0004: mov edx,[esi+20h] mov eax,[ecx+20h] mov ebp,[esp+10h] sub edx,eax sub edx,ebp sub edx,00000005h mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0005: mov ebp,[ecx+20h] mov ebx,[esp+10h] lea edx,[ebx+ebp*2] lea eax,[edx+ebp+05h] mov edx,[esi+20h] shl eax,1 sub edx,eax jmp L0044AE09 CASE_0044B118_PROC0006: mov ebp,[ecx+20h] mov ebx,[esp+10h] lea edx,[ebx+ebp*2] lea eax,[edx+ebp+05h] mov edx,[esi+20h] shl eax,1 sub edx,eax mov eax,66666667h shl edx,1 imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax add ebx,edx lea edx,[ebx+ebp*2+05h] mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0007: mov eax,[ecx+20h] mov ebx,[esp+10h] lea ebp,[eax+eax*2] mov eax,[esi+20h] lea edx,[ebx+ebp+05h] shl edx,1 sub eax,edx lea edx,[eax+eax*2] L0044AE09: mov eax,66666667h imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax add edx,ebp lea edx,[edx+ebx+05h] mov [ecx+30h],edx jmp L0044AEFC CASE_0044B118_PROC0008: mov ebp,[ecx+20h] mov ebx,[esp+10h] lea edx,[ebx+ebp*2] lea eax,[edx+ebp+05h] mov edx,[esi+20h] shl eax,1 sub edx,eax mov eax,66666667h shl edx,02h imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax add ebx,edx lea edx,[ebx+ebp*4+05h] mov [ecx+30h],edx jmp L0044AEFC L0044AE5D: cmp edi,edx jnz L0044AE84 mov eax,[esi+0000009Ch] mov edx,[esi+20h] sub edx,[eax+20h] mov [eax+30h],edx mov eax,[esi+0000009Ch] mov ecx,[esi+24h] sub ecx,[eax+24h] mov [eax+34h],ecx jmp L0044AF0F L0044AE84: cmp edi,00000001h jnz L0044AEC3 mov eax,[esi+000000A0h] mov ecx,[esi+20h] mov ebx,[esp+10h] sub ecx,[eax+20h] sub ecx,ebx mov [eax+30h],ecx mov eax,[esi+000000A4h] cmp eax,edx jz L0044AEB4 mov ecx,[esi+000000A0h] mov edx,[eax+20h] sub [ecx+30h],edx L0044AEB4: mov eax,[esi+000000A0h] mov dword ptr [eax+34h],0000000Ch jmp L0044AF0F L0044AEC3: cmp edi,00000002h jnz L0044AEEC mov eax,[esi+000000A4h] mov ecx,[esi+20h] mov edx,[esp+10h] sub ecx,[eax+20h] sub ecx,edx mov [eax+30h],ecx mov edx,[esi+000000A4h] mov dword ptr [edx+34h],0000000Ch jmp L0044AF0F L0044AEEC: mov eax,[esi+20h] mov ebp,[ecx+20h] sub eax,ebp cdq sub eax,edx sar eax,1 mov [ecx+30h],eax L0044AEFC: mov eax,[esi+24h] mov ecx,[esp+14h] sub eax,ecx mov ecx,[esi+edi*4+0000009Ch] mov [ecx+34h],eax L0044AF0F: mov eax,[esi+edi*4+0000009Ch] xor edx,edx cmp [eax+30h],edx jge L0044AF20 mov [eax+30h],edx L0044AF20: mov eax,[esi+edi*4+0000009Ch] cmp [eax+34h],edx jge L0044AF2F mov [eax+34h],edx L0044AF2F: inc edi cmp edi,0000000Fh jl L0044ACC4 lea edx,[esp+18h] lea eax,[esp+1Ch] push edx push eax push 00000A8Ch call SUB_L004434A0 mov eax,[esp+1Ch] mov ecx,[esp+20h] mov ebx,[esi+20h] add esp,0000000Ch cdq sub eax,edx mov edx,[esp+18h] sar eax,1 lea edi,[ecx+05h] mov ecx,[esi+00000F24h] sub ebx,eax lea ebp,[edx+edx+12h] sub ebx,00000078h test ecx,ecx jz L0044AF8C test ebx,ebx jle L0044AF8C test ebp,ebp jle L0044AF8C push ebp push ebx push edi push 00000078h call SUB_L00463DF0 L0044AF8C: mov al,[esi+00000516h] test al,al jz L0044AF99 add edi,00000017h L0044AF99: mov al,[esi+00000517h] test al,al jz L0044AFA6 add edi,00000017h L0044AFA6: mov al,[esi+00000518h] test al,al jz L0044AFB3 add edi,00000017h L0044AFB3: mov ecx,[esi+00000F28h] test ecx,ecx jz L0044AFCF test ebx,ebx jle L0044AFCF test ebp,ebp jle L0044AFCF push ebp push ebx push edi push 00000078h call SUB_L00463DF0 L0044AFCF: mov al,[esi+00000519h] test al,al jz L0044AFDC add edi,00000017h L0044AFDC: mov ecx,[esp+10h] mov ebx,[esi+20h] mov eax,ecx mov ebp,[esp+14h] cdq sub eax,edx mov edx,[esi+24h] sub edx,edi sub ebx,ecx mov ecx,[esi+00000F1Ch] sub edx,ebp xor ebp,ebp sub edx,00000005h sar eax,1 cmp ecx,ebp jz L0044B02E cmp ebx,ebp jle L0044B02E cmp edx,ebp jle L0044B02E mov [esp+20h],eax add ebx,eax lea eax,[esp+20h] add edx,edi push eax mov [esp+2Ch],ebx mov [esp+28h],edi mov [esp+30h],edx call SUB_L00468650 jmp L0044B09C L0044B02E: mov ecx,[esi+00000F20h] cmp ecx,ebp jz L0044B066 cmp ebx,ebp jle L0044B066 cmp edx,ebp jle L0044B066 add edx,edi push FFFFFFFFh mov [esp+30h],edx push FFFFFFFFh lea edx,[esp+28h] add ebx,eax push FFFFFFFFh push edx mov [esp+30h],eax mov [esp+38h],ebx mov [esp+34h],edi call SUB_L00466A30 jmp L0044B09C L0044B066: mov ecx,[esi+00000F2Ch] cmp ecx,ebp jz L0044B09C cmp ebx,ebp jle L0044B09C cmp edx,ebp jle L0044B09C cmp byte ptr [esi+00000115h],00h jz L0044B090 mov edx,[esp+18h] add edi,0000001Fh lea edx,[edx+edx+12h] push edx push ebx jmp L0044B095 L0044B090: push edx push ebx add edi,00000004h L0044B095: push edi push eax call SUB_L00463DF0 L0044B09C: lea edi,[esi+00000D1Ah] push edi call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044B110 mov eax,[esi+20h] mov ecx,[esi+24h] push 00000004h mov [esp+28h],ebp mov [esp+24h],ebp mov [esp+2Ch],eax mov [esp+30h],ecx call SUB_L004C5BC0 mov eax,[esi+000000D4h] add esp,00000004h cmp eax,ebp jz L0044B10B mov ecx,[L0050CE68] lea edx,[esp+20h] push edx mov edx,[eax+34h] push ecx mov ecx,[eax+30h] push edx mov edx,[eax+20h] lea eax,[ecx+edx+05h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push edi add eax,00000004h push ecx push eax call SUB_L004C6100 add esp,0000001Ch L0044B10B: call SUB_L004C5C40 L0044B110: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0044B118: dd CASE_0044B118_PROC0000 dd CASE_0044B118_PROC0001 dd CASE_0044B118_PROC0002 dd CASE_0044B118_PROC0003 dd CASE_0044B118_PROC0004 dd CASE_0044B118_PROC0005 dd CASE_0044B118_PROC0006 dd CASE_0044B118_PROC0007 dd CASE_0044B118_PROC0008 Align 8 L0044B140: mov eax,[L00B294BC] push esi mov esi,ecx cmp eax,esi jnz L0044B150 push 00000001h jmp L0044B152 L0044B150: push 00000000h L0044B152: mov ecx,esi call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov [esi+70h],eax mov eax,[esi+64h] test eax,eax mov dword ptr [esi+00000F38h],00000001h mov [esi+74h],ecx jz L0044B1A3 cmp dword ptr [esi+00000F3Ch],00000001h jnz L0044B18D mov dword ptr [esi+00000F3Ch],00000002h jmp L0044B1A3 L0044B18D: mov dword ptr [esi+00000F3Ch],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+00000F40h],eax L0044B1A3: mov eax,[L00B29464] cmp eax,esi pop esi jnz L0044B1BE mov ecx,[L00B29468] test ecx,ecx jz L0044B1BE push 00000000h call SUB_L004584E0 L0044B1BE: retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044B1D0: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000F44h] mov [esi+00000F38h],edi cmp eax,edi jz L0044B200 push edi mov [esi+00000F44h],edi mov [esi+00000F3Ch],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0044B200: cmp dword ptr [esi+00000F3Ch],00000002h jnz L0044B255 mov eax,[esi+64h] mov [esi+00000F3Ch],edi cmp eax,edi jz L0044B255 mov ecx,esi call SUB_L0041E0F0 push edi push edi push edi push edi push edi push 00000051h call SUB_L004CD800 mov eax,[esi+2Ch] mov edx,[esi+3Ch] mov ecx,[esi+28h] mov [esi+00000F48h],edi push eax mov eax,[edx+0Ch] add eax,00000004h push ecx push eax push edi push edi push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 add esp,00000034h L0044B255: push edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044B270: push esi mov esi,ecx cmp dword ptr [esi+00000F3Ch],00000001h jnz L0044B2B6 push ebx call [KERNEL32.dll!GetTickCount] mov edx,[esi+00000F40h] mov ebx,eax sub ebx,edx call [USER32.dll!GetDoubleClickTime] cmp ebx,eax pop ebx jbe L0044B2B6 mov eax,[esi+00000F38h] mov dword ptr [esi+00000F3Ch],00000000h test eax,eax jz L0044B2B6 mov dword ptr [esi+00000F44h],00000001h L0044B2B6: pop esi retn ;------------------------------------------------------------------------------ Align 16 L0044B2C0: mov ecx,[ecx+00000F2Ch] mov edx,[esp+04h] push edx mov eax,[ecx] call [eax+44h] retn 0004h ;------------------------------------------------------------------------------ Align 16 L0044B2E0: mov eax,[ecx+00000F38h] test eax,eax jz L0044B311 mov eax,[ecx+0000009Ch] test eax,eax jz L0044B311 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L0044B311: retn 0008h ;------------------------------------------------------------------------------ Align 16 L0044B320: sub esp,00000018h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi] call [eax+00000198h] mov eax,[esi+64h] xor ebp,ebp cmp eax,ebp jz L0044B433 call SUB_L004682E0 test eax,eax jz L0044B362 mov ecx,[esi+2Ch] mov eax,[esi+3Ch] mov edx,[esi+28h] push ecx mov ecx,[eax+0Ch] push edx add ecx,00000004h push ecx push ebp push ebp push 00000FA0h jmp L0044B37B L0044B362: mov edx,[esi+2Ch] mov ecx,[esi+3Ch] mov eax,[esi+28h] push edx mov edx,[ecx+0Ch] push eax add edx,00000004h push edx push ebp push ebp push 00000FA1h L0044B37B: push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch lea eax,[esp+10h] lea ecx,[esp+14h] mov [esp+14h],ebp push eax push ecx mov ecx,esi mov [esp+18h],ebp call SUB_L00457C90 mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,[esi+3Ch] mov [esp+18h],ecx mov [esp+1Ch],edx xor ebx,ebx mov edi,[eax+0Ch] mov bx,[edi] mov edi,[esp+2Ch] add ebx,ecx xor ecx,ecx mov [esp+20h],ebx mov eax,[eax+0Ch] mov cx,[eax+02h] add ecx,edx lea edx,[esp+18h] push edx push edi mov [esp+2Ch],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0044B510 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+14h] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esi+2Ch] push eax mov eax,[esi+28h] push ecx mov ecx,[esi+3Ch] push edx push eax push edi mov edx,[ecx+0Ch] add edx,00000004h push edx push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ L0044B433: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov [esp+18h],ebp mov [esp+1Ch],ebp call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+14h] mov eax,[esi+3Ch] mov [esp+18h],ecx mov [esp+1Ch],edx xor ebx,ebx mov edi,[eax+04h] mov bx,[edi] add ebx,ecx xor ecx,ecx mov [esp+20h],ebx mov eax,[eax+04h] mov ebx,[esp+2Ch] mov cx,[eax+02h] add ecx,edx lea edx,[esp+18h] push edx push ebx mov [esp+2Ch],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0044B4D0 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+18h] push ecx mov ecx,[esp+18h] push edx mov edx,[esi+24h] push eax mov eax,[esi+20h] push ecx mov ecx,[esi+3Ch] push edx push eax push ebx mov edx,[ecx+04h] add edx,00000004h push edx push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L0044B4D0: mov edi,[esi+50h] cmp edi,ebp jz L0044B510 L0044B4D7: mov eax,[edi] mov ecx,edi call [eax+000000E4h] test eax,eax jz L0044B4FC mov ecx,[edi+000000C8h] mov eax,[esi+64h] cmp ecx,eax jnz L0044B4FC mov edx,[edi] push ebx mov ecx,edi call [edx+0Ch] jmp L0044B509 L0044B4FC: cmp [esi+64h],ebp jnz L0044B509 mov eax,[edi] push ebx mov ecx,edi call [eax+0Ch] L0044B509: mov edi,[edi+44h] cmp edi,ebp jnz L0044B4D7 L0044B510: pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 8 L0044B520: mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[esp+0Ch] test eax,eax jg L0044B532 mov eax,[esi+20h] L0044B532: test ecx,ecx jg L0044B539 mov ecx,[esi+24h] L0044B539: mov edx,[esi+00000F30h] cmp eax,edx jge L0044B545 mov eax,edx L0044B545: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044B551 mov ecx,edx L0044B551: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 8 L0044B570: sub esp,00000008h push ebx push ebp push esi push edi mov edi,ecx mov eax,[edi+64h] test eax,eax jz L0044B5D7 mov ecx,[esp+1Ch] test ecx,ecx jl L0044B68A mov edx,[esp+20h] test edx,edx jl L0044B68A mov eax,[edi+3Ch] xor esi,esi mov eax,[eax+0Ch] mov si,[eax] cmp ecx,esi jge L0044B68A xor esi,esi mov si,[eax+02h] cmp edx,esi jge L0044B68A mov esi,[edi+28h] pop edi imul esi,edx add esi,ecx xor ecx,ecx cmp [eax+esi*2+04h],cx pop esi pop ebp pop ebx setnz cl mov eax,ecx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0044B5D7: mov ebx,[esp+1Ch] mov ebp,[esp+20h] lea edx,[esp+20h] lea eax,[esp+1Ch] push edx push eax mov ecx,edi call SUB_L00457C90 mov esi,[edi+48h] test esi,esi jz L0044B634 L0044B5F7: mov ecx,[esp+1Ch] mov edx,[esp+20h] mov [esp+14h],ecx lea eax,[esp+10h] lea ecx,[esp+14h] push eax push ecx mov ecx,esi mov [esp+18h],edx call SUB_L00457D20 mov eax,[esp+10h] mov ecx,[esp+14h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jnz L0044B67B mov esi,[esi+40h] test esi,esi jnz L0044B5F7 L0044B634: test ebx,ebx mov [esp+1Ch],ebx mov [esp+20h],ebp jl L0044B68A test ebp,ebp jl L0044B68A mov edx,[edi+3Ch] xor ecx,ecx mov eax,[edx+04h] mov cx,[eax] cmp ebx,ecx jge L0044B68A xor edx,edx mov dx,[eax+02h] cmp ebp,edx jge L0044B68A mov ecx,[edi+20h] xor edx,edx imul ecx,ebp add ecx,ebx pop edi pop esi pop ebp cmp [eax+ecx*2+04h],dx pop ebx setnz dl mov eax,edx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0044B67B: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0044B68A: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0044B6A0: push FFFFFFFFh push L004E28D3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov ecx,[esp+24h] mov edx,[esp+28h] lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp xor eax,eax mov dword ptr [esi],L004EBFFC push ebx mov [L00B29474],esi push 00000FA1h mov [esp+28h],eax mov [esi+30h],ecx mov [esi+34h],edx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,00000001h push SSZ00500050_ChatGump_framedata mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esi+18h] shl eax,03h push eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 push 00000104h call SUB_L004D4FA9 add esp,0000003Ch mov [esp+24h],eax test eax,eax mov byte ptr [esp+1Ch],01h jz L0044B7E1 push 00000001h push 00000000h push 00000000h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044B7E3 L0044B7E1: xor eax,eax L0044B7E3: test eax,eax mov byte ptr [esp+1Ch],00h mov [esi+00000F2Ch],eax mov byte ptr [esi+00000114h],01h jz L0044B864 push 00000001h push SWC00502A78__TITLE_LOADING__TITLE__BODY_Load mov ecx,eax call SUB_L00463F60 mov ecx,[esi+00000F2Ch] mov eax,[ecx+000000FCh] test eax,eax jz L0044B82F add eax,0000002Ch push 00000100h lea edx,[esi+00000116h] push eax push edx call SUB_L004C4460 add esp,0000000Ch L0044B82F: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044B841 mov eax,edx L0044B841: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044B84D mov ecx,edx L0044B84D: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044B864: mov eax,[L00C42CC8] test eax,eax jnz L0044B89F push 00000200h call SUB_L004D4FA9 push SWC00502A38_http___207_71_15_69_default_htm push eax mov [L00C424F8],eax call SUB_L004C4430 mov eax,[L00C42CC8] add esp,0000000Ch inc eax mov dword ptr [L00504640],00000000h mov [L00C42CC8],eax L0044B89F: push 00000000h push 00000002h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000005h push 00000005h mov ecx,esi call SUB_L00449DF0 mov eax,[esp+2Ch] mov ecx,[esp+30h] test eax,eax mov dword ptr [esi+00000F30h],00000140h mov dword ptr [esi+00000F34h],000000A0h jg L0044B8E3 mov eax,[esi+20h] L0044B8E3: test ecx,ecx jg L0044B8EA mov ecx,[esi+24h] L0044B8EA: cmp eax,00000140h jge L0044B8F6 mov eax,00000140h L0044B8F6: cmp ecx,000000A0h jge L0044B903 mov ecx,000000A0h L0044B903: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 8 L0044B940: push esi mov esi,ecx call SUB_L0044B960 test byte ptr [esp+08h],01h jz L0044B958 push esi call SUB_L004D4F9E add esp,00000004h L0044B958: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044B960: push FFFFFFFFh push L004E28E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EBFFC mov ecx,[L00C83640] xor eax,eax cmp ecx,eax mov [esp+10h],eax mov [L00B29474],eax jz L0044B9A6 push SSZ00502AF8_leaving push eax call SUB_L0049DA60 add esp,00000008h L0044B9A6: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00449D30 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0044B9D0: push esi mov esi,ecx mov ecx,[esi+00000F2Ch] test ecx,ecx jz L0044BA46 mov eax,[esp+08h] push 00000001h push eax call SUB_L00463F60 mov ecx,[esi+00000F2Ch] mov eax,[ecx+000000FCh] test eax,eax jz L0044BA11 add eax,0000002Ch push 00000100h lea edx,[esi+00000116h] push eax push edx call SUB_L004C4460 add esp,0000000Ch L0044BA11: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044BA23 mov eax,edx L0044BA23: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044BA2F mov ecx,edx L0044BA2F: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044BA46: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L0044BA50: mov eax,[esp+04h] add eax,FFFFFFFDh cmp eax,0000002Fh ja CASE_0044BAB4_PROC0000 xor ecx,ecx mov cl,[eax+CASE_0044BAC0] jmp [CASE_PROCTABLE_0044BAB4+ecx*4] CASE_0044BAB4_PROC0001: mov eax,[L00504640] test eax,eax jl CASE_0044BAB4_PROC0000 cdq mov ecx,000001F4h idiv ecx mov edx,[L00C424F8+edx*4] push edx push 00000001h call SUB_L0049DAD0 mov eax,[L00C42CC8] mov ecx,[L00504640] add esp,00000008h dec eax cmp eax,ecx mov eax,ecx jnz L0044BAA9 dec eax mov [L00504640],eax retn 0004h ;------------------------------------------------------------------------------ L0044BAA9: inc eax mov [L00504640],eax CASE_0044BAB4_PROC0000: retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044BAB4: dd CASE_0044BAB4_PROC0000 dd CASE_0044BAB4_PROC0001 dd CASE_0044BAB4_PROC0000 CASE_0044BAC0: db 00h, 00h, 01h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 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, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 00h L0044BAF0: db 56h; 'V' db 8Dh; '?' db B1h; '+' db 9Ch; '?' db 00h; db 00h; db 00h; db BAh; 'ó' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 33h; '3' db C9h; '‰' db 8Bh; '<' db 06h; db 3Bh; ';' db C1h; '' db 74h; 't' db 26h; '&' db 83h; '?' db FAh; 'ê' db 0Ah; db 77h; 'w' db 21h; '!' db FFh; 'ï' db 24h; '$' db 95h; db 38h; '8' db BBh; '>' db 44h; 'D' db 00h; db 39h; '9' db 0Dh; db 40h; '@' db 46h; 'F' db 50h; 'P' db 00h; db 7Dh; '}' db 0Ch; db C7h; '‡' db 80h; '?' db C4h; '„' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db EBh; '«' db 06h; db 89h; '%' db 88h; '?' db C4h; '„' db 00h; db 00h; db 00h; db 83h; '?' db C6h; '†' db 04h; db 42h; 'B' db 8Dh; '?' db 42h; 'B' db 03h; db 83h; '?' db F8h; 'è' db 0Fh; db 7Ch; '|' db C8h; 'ˆ' db 5Eh; '^' db C3h; 'ƒ' db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 10h; db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 24h; '$' db BBh; '>' db 44h; 'D' db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L0044BB70: push FFFFFFFFh push L004E2913 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov ecx,[esp+24h] mov edx,[esp+28h] lea ebp,[esi+2Ch] lea ebx,[esi+28h] xor eax,eax push ebp mov dword ptr [esi],L004EC198 push ebx mov [L00B29470],esi mov [L00B2945D],al mov [L00B2945C],al mov dword ptr [L00B29458],FFFFFFFFh push 00000FA1h mov [esp+28h],eax mov [esi+30h],ecx mov [esi+34h],edx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,00000001h push SSZ00500050_ChatGump_framedata mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esi+18h] shl eax,03h push eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov ecx,[ebx] mov edx,[esi+3Ch] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 lea ecx,[esi+00000116h] push SWC00502B00_Messages push ecx call SUB_L004C4430 add esp,00000040h push 00001864h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+1Ch],01h jz L0044BCD3 push 00000000h push esi mov ecx,eax call SUB_L00466780 jmp L0044BCD5 L0044BCD3: xor eax,eax L0044BCD5: push 00000000h push 00000001h mov ecx,esi mov byte ptr [esp+24h],00h mov [esi+00000F20h],eax call SUB_L00449DF0 push 00000000h push 00000002h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000001h push 0000000Ch mov ecx,esi call SUB_L00449DF0 push 00000006h push 00000007h mov ecx,esi call SUB_L00449DF0 push 00000007h push 00000009h mov ecx,esi call SUB_L00449DF0 push 00000008h push 0000000Ah mov ecx,esi call SUB_L00449DF0 push 00000009h push 00000008h mov ecx,esi call SUB_L00449DF0 push 00000005h push 0000000Dh mov ecx,esi call SUB_L00449DF0 mov eax,[esp+2Ch] mov ecx,[esp+30h] test eax,eax mov dword ptr [esi+00000F30h],00000190h mov dword ptr [esi+00000F34h],0000012Ch jg L0044BD66 mov eax,[esi+20h] L0044BD66: test ecx,ecx jg L0044BD6D mov ecx,[esi+24h] L0044BD6D: cmp eax,00000190h jge L0044BD79 mov eax,00000190h L0044BD79: cmp ecx,0000012Ch jge L0044BD86 mov ecx,0000012Ch L0044BD86: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 push 00000000h push 00000000h push 00000000h push 00000000h push 00000000h push 00000051h call SUB_L004CD800 mov ecx,[esp+2Ch] add esp,00000018h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 L0044BDE0: push esi mov esi,ecx call SUB_L0044BE00 test byte ptr [esp+08h],01h jz L0044BDF8 push esi call SUB_L004D4F9E add esp,00000004h L0044BDF8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044BE00: push FFFFFFFFh push L004E2928 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004EC198 mov ecx,[L00B29464] xor ebx,ebx cmp ecx,ebx mov [esp+14h],ebx mov [L00B29470],ebx mov [L00B2945D],bl mov [L00B2945C],bl mov dword ptr [L00B29458],FFFFFFFFh jz L0044BE56 mov eax,[ecx] push 00000001h call [eax] L0044BE56: mov ecx,[L00B29460] cmp ecx,ebx jz L0044BE66 mov edx,[ecx] push 00000001h call [edx] L0044BE66: mov ecx,[L00B2946C] cmp ecx,ebx jz L0044BE76 mov eax,[ecx] push 00000001h call [eax] L0044BE76: mov ecx,[L00B29468] cmp ecx,ebx jz L0044BE86 mov edx,[ecx] push 00000001h call [edx] L0044BE86: push L007050D8 push 0000000Dh call SUB_L0049DAD0 add esp,00000008h mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00449D30 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0044BEC0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E29BE push eax mov fs:[00000000h],esp sub esp,000002CCh push esi mov esi,ecx mov ecx,[esp+000002E0h] lea eax,[ecx-03h] cmp eax,0000002Fh ja CASE_0044C394_PROC0000 xor edx,edx mov dl,[eax+CASE_0044C3B8] jmp [CASE_PROCTABLE_0044C394+edx*4] CASE_0044C394_PROC0001: mov eax,[esi+00000F20h] test eax,eax jz CASE_0044C394_PROC0000 mov eax,[eax+00001810h] test eax,eax jl CASE_0044C394_PROC0000 mov eax,[L00C405A0+eax*4] mov dl,[eax+00000C08h] test dl,dl jnz L0044BF7B mov byte ptr [L00B2945D],01h mov byte ptr [L00B2945C],00h mov [L00B29458],ecx mov edx,[esi+00000F20h] lea ecx,[esp+08h] push 0000000Ah mov eax,[edx+00001810h] push ecx mov ecx,[L00C405A0+eax*4] mov edx,[ecx+00000C04h] push edx call SUB_L004C4CC0 lea eax,[esp+14h] push eax push 00000006h call SUB_L0049DAD0 add esp,00000014h jmp CASE_0044C394_PROC0000 L0044BF7B: push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000000h jz CASE_0044C394_PROC0000 mov ecx,[esi+00000F20h] push FFFFFFFFh mov edx,[ecx+00001810h] push edx jmp L0044C243 CASE_0044C394_PROC0002: mov eax,[esi+00000F20h] test eax,eax jz L0044C001 mov ecx,[eax+00001810h] test ecx,ecx jl L0044C001 cmp ecx,[eax+00001814h] jz L0044C001 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000001h jz CASE_0044C394_PROC0000 push SWC00502CA0_Are_you_sure_you_want_to_delete_ push 0000002Fh jmp L0044C0AC L0044C001: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000002h jz CASE_0044C394_PROC0000 push SWC00502C44_Are_you_sure_you_want_to_delete_ push 00000008h jmp L0044C0AC CASE_0044C394_PROC0003: mov eax,[esi+00000F20h] test eax,eax jz L0044C0DB mov ecx,[eax+00001810h] test ecx,ecx jl L0044C0DB cmp ecx,[eax+00001814h] jz L0044C0DB lea eax,[esp+000000D0h] push SWC00502BD0_This_will_permanently_delete_all push eax call SUB_L004C4430 lea ecx,[esp+000000D8h] push SWC00502B88___Are_you_sure_you_want_to_do_th push ecx call SUB_L004C4550 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000014h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000003h jz CASE_0044C394_PROC0000 lea edx,[esp+000000D0h] push edx push 00000030h L0044C0AC: mov eax,[esi+24h] push 000000BEh cdq sub eax,edx push 00000104h sar eax,1 sub eax,0000005Fh push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044C394_PROC0000 L0044C0DB: lea eax,[esp+000000D0h] push SWC00502B14_This_will_permanently_delete_the push eax call SUB_L004C4430 mov ecx,[esi+00000F20h] add esp,00000008h mov eax,[ecx+00001810h] test eax,eax jl L0044C126 cmp eax,[L00C42CD0] jge L0044C126 mov edx,[L00C405A0+eax*4] lea eax,[esp+000000D0h] add edx,00000400h push edx push eax call SUB_L004C4550 add esp,00000008h L0044C126: lea ecx,[esp+000000D0h] push SWC00502B88___Are_you_sure_you_want_to_do_th push ecx call SUB_L004C4550 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,0000000Ch mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000004h jz CASE_0044C394_PROC0000 lea edx,[esp+000000D0h] push edx push 00000009h jmp L0044C0AC CASE_0044C394_PROC0004: mov eax,[esi+00000F20h] test eax,eax jz CASE_0044C394_PROC0000 mov eax,[eax+00001810h] test eax,eax jl CASE_0044C394_PROC0000 mov eax,[L00C405A0+eax*4] mov dl,[eax+00000C08h] test dl,dl jnz L0044C1E8 mov byte ptr [L00B2945D],01h mov byte ptr [L00B2945C],00h mov [L00B29458],ecx mov edx,[esi+00000F20h] lea ecx,[esp+08h] push 0000000Ah mov eax,[edx+00001810h] push ecx mov ecx,[L00C405A0+eax*4] mov edx,[ecx+00000C04h] push edx call SUB_L004C4CC0 lea eax,[esp+14h] push eax push 00000006h call SUB_L0049DAD0 add esp,00000014h jmp CASE_0044C394_PROC0000 L0044C1E8: push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000005h jz CASE_0044C394_PROC0000 mov ecx,[esi+00000F20h] mov edx,[ecx+00001810h] push edx jmp L0044C241 CASE_0044C394_PROC0005: push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000006h jz CASE_0044C394_PROC0000 push FFFFFFFFh L0044C241: push FFFFFFFFh L0044C243: mov ecx,[esi+24h] mov edx,[esi+20h] push FFFFFFFFh push ecx push edx push 00000005h push 00000005h push esi mov ecx,eax call SUB_L0044D820 jmp CASE_0044C394_PROC0000 CASE_0044C394_PROC0006: push 00000F4Ch call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000007h jz CASE_0044C394_PROC0000 push ebx push edi mov edi,[esi+24h] mov ebx,[esi+20h] mov eax,edi cdq sub eax,edx sar eax,1 push eax mov eax,ebx cdq sub eax,edx sar eax,1 push eax mov eax,edi cdq and edx,00000003h add eax,edx sar eax,02h push eax mov eax,ebx cdq and edx,00000003h add eax,edx sar eax,02h push eax push esi call SUB_L0044C930 pop edi pop ebx jmp CASE_0044C394_PROC0000 CASE_0044C394_PROC0007: mov eax,[esi+00000F20h] test eax,eax jz CASE_0044C394_PROC0000 mov eax,[eax+00001810h] test eax,eax jl CASE_0044C394_PROC0000 mov eax,[L00C405A0+eax*4] mov dl,[eax+00000C08h] test dl,dl jnz L0044C339 mov byte ptr [L00B2945D],01h mov byte ptr [L00B2945C],00h mov [L00B29458],ecx mov edx,[esi+00000F20h] lea ecx,[esp+6Ch] push 0000000Ah mov eax,[edx+00001810h] push ecx mov ecx,[L00C405A0+eax*4] mov edx,[ecx+00000C04h] push edx call SUB_L004C4CC0 lea eax,[esp+78h] push eax push 00000006h call SUB_L0049DAD0 add esp,00000014h jmp CASE_0044C394_PROC0000 L0044C339: push 00000F50h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000008h jz CASE_0044C394_PROC0000 mov ecx,[esi+00000F20h] mov edx,[ecx+00001810h] mov ecx,[esi+24h] push edx mov edx,[esi+20h] push ecx push edx push 00000000h push 00000000h push esi mov ecx,eax call SUB_L0044F500 CASE_0044C394_PROC0000: mov ecx,[esp+000002D0h] pop esi mov fs:[00000000h],ecx add esp,000002D8h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044C394: dd CASE_0044C394_PROC0000 dd CASE_0044C394_PROC0001 dd CASE_0044C394_PROC0002 dd CASE_0044C394_PROC0003 dd CASE_0044C394_PROC0004 dd CASE_0044C394_PROC0005 dd CASE_0044C394_PROC0006 dd CASE_0044C394_PROC0007 dd CASE_0044C394_PROC0000 CASE_0044C3B8: db 00h, 00h, 00h, 00h, 01h, 02h, 03h, 04h, 00h, 05h, 06h, 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, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 07h, 00h Align 16 L0044C3F0: mov eax,[esp+04h] sub esp,0000066Ch cmp eax,00000008h push ebx push ebp push esi push edi mov esi,ecx jnz L0044C475 mov ecx,[esi+00000F20h] lea eax,[esp+18h] push 0000000Ah push eax mov edx,[ecx+00001810h] mov eax,[L00C405A0+edx*4] mov ecx,[eax+00000C04h] push ecx call SUB_L004C4CC0 lea edx,[esp+24h] push edx push 00000008h call SUB_L0049DAD0 mov eax,[esi+00000F20h] add esp,00000014h test eax,eax jz L0044C45C mov eax,[eax+00001810h] test eax,eax jl L0044C45C push eax call SUB_L004681F0 add esp,00000004h call SUB_L00468370 L0044C45C: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044C65D jmp L0044C65B L0044C475: cmp eax,0000002Fh jnz L0044C4F6 mov eax,[esi+00000F20h] mov ecx,[eax+00001810h] mov eax,[eax+00001814h] mov edi,ecx cmp edi,eax jle L0044C49A mov edi,eax mov eax,ecx cmp edi,eax jg L0044C4DD L0044C49A: sub eax,edi inc eax mov ebx,eax L0044C49F: mov ecx,[L00C405A0+edi*4] lea eax,[esp+18h] push 0000000Ah push eax mov edx,[ecx+00000C04h] push edx call SUB_L004C4CC0 lea eax,[esp+24h] push eax push 00000008h call SUB_L0049DAD0 add esp,00000014h test edi,edi jl L0044C4DA push edi call SUB_L004681F0 add esp,00000004h call SUB_L00468370 L0044C4DA: dec ebx jnz L0044C49F L0044C4DD: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044C65D jmp L0044C65B L0044C4F6: cmp eax,00000009h jnz L0044C670 mov eax,[esi+00000F20h] test eax,eax jz L0044C64B mov ecx,[eax+00001810h] test ecx,ecx jl L0044C64B mov eax,[L00C42CDC] or ebp,FFFFFFFFh xor edi,edi test eax,eax jle L0044C56E mov ebx,L00C3E660 L0044C52E: mov ecx,[esi+00000F20h] mov edx,[ecx+00001810h] mov ecx,[ebx] mov eax,[L00C405A0+edx*4] add eax,00000600h push eax push ecx call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044C565 mov eax,[L00C42CDC] inc edi add ebx,00000004h cmp edi,eax jl L0044C52E jmp L0044C567 L0044C565: mov ebp,edi L0044C567: mov eax,[L00C42CDC] test eax,eax L0044C56E: jz L0044C625 test ebp,ebp jl L0044C625 lea edx,[esp+7Ch] push L00502D14 push edx call SUB_L004C4430 mov eax,[L00C3E660+ebp*4] lea ecx,[esp+00000084h] push eax push ecx call SUB_L004C4550 lea edx,[esp+0000008Ch] push L00502D0C push edx call SUB_L004C4550 mov eax,[L00C3E660+ebp*4] lea ecx,[esp+00000094h] add eax,00000200h push eax push ecx call SUB_L004C4550 lea edx,[esp+0000009Ch] push L00502D04 push edx call SUB_L004C4550 mov eax,[L00C3E660+ebp*4] lea ecx,[esp+000000A4h] add eax,00000400h push eax push ecx call SUB_L004C4550 lea edx,[esp+000000ACh] push L00502D00 push edx call SUB_L004C4550 lea eax,[esp+000000B4h] push eax push 00000005h call SUB_L0049DAD0 add esp,00000040h push ebp call SUB_L00469150 add esp,00000004h L0044C625: mov ecx,[esi+00000F20h] mov edx,[ecx+00001810h] push edx call SUB_L004681F0 call SUB_L00468370 push L007050D8 push 00000009h call SUB_L0049DAD0 add esp,0000000Ch L0044C64B: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044C65D L0044C65B: mov eax,edx L0044C65D: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044C802 jmp L0044C800 L0044C670: cmp eax,00000030h jnz L0044C819 mov eax,[esi+00000F20h] mov ecx,[eax+00001810h] mov eax,[eax+00001814h] mov edx,ecx cmp edx,eax mov [esp+10h],edx jle L0044C69B mov [esp+10h],eax mov eax,ecx L0044C69B: mov ecx,[esp+10h] cmp ecx,eax jg L0044C7D5 sub eax,ecx inc eax mov [esp+14h],eax L0044C6AE: mov eax,[L00C42CDC] or edi,FFFFFFFFh xor ebx,ebx test eax,eax jle L0044C6FB mov ebp,L00C3E660 L0044C6C1: mov eax,[esp+10h] mov edx,[ebp+00h] mov ecx,[L00C405A0+eax*4] add ecx,00000600h push ecx push edx call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044C6F2 mov eax,[L00C42CDC] inc ebx add ebp,00000004h cmp ebx,eax jl L0044C6C1 jmp L0044C6F4 L0044C6F2: mov edi,ebx L0044C6F4: mov eax,[L00C42CDC] test eax,eax L0044C6FB: jz L0044C7B4 test edi,edi jl L0044C7B4 lea eax,[esp+7Ch] push L00502D14 push eax call SUB_L004C4430 mov ecx,[L00C3E660+edi*4] lea edx,[esp+00000084h] push ecx push edx call SUB_L004C4550 lea eax,[esp+0000008Ch] push L00502D0C push eax call SUB_L004C4550 mov ecx,[L00C3E660+edi*4] lea edx,[esp+00000094h] add ecx,00000200h push ecx push edx call SUB_L004C4550 lea eax,[esp+0000009Ch] push L00502D04 push eax call SUB_L004C4550 mov ecx,[L00C3E660+edi*4] lea edx,[esp+000000A4h] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+000000ACh] push L00502D00 push eax call SUB_L004C4550 lea ecx,[esp+000000B4h] push ecx push 00000005h call SUB_L0049DAD0 add esp,00000040h push edi call SUB_L00469150 add esp,00000004h L0044C7B4: mov edx,[esp+10h] push edx call SUB_L004681F0 add esp,00000004h call SUB_L00468370 mov eax,[esp+14h] dec eax mov [esp+14h],eax jnz L0044C6AE L0044C7D5: push L007050D8 push 00000009h call SUB_L0049DAD0 mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] add esp,00000008h cmp eax,edx jge L0044C7F6 mov eax,edx L0044C7F6: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044C802 L0044C800: mov ecx,edx L0044C802: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044C819: pop edi pop esi pop ebp mov al,01h pop ebx add esp,0000066Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0044C830: push ebx push ebp push esi push edi mov edi,FFFFFFFDh lea ebp,[ecx+0000009Ch] xor esi,esi mov ebx,00000001h L0044C846: mov eax,[ebp+00h] cmp eax,esi jz L0044C8E1 cmp edi,0000000Ah ja L0044C8E1 jmp [CASE_PROCTABLE_0044C8F8+edi*4] CASE_0044C8F8_PROC0004: cmp [L00B29464],esi jz CASE_0044C8F8_PROC0006 mov [eax+000000C4h],ebx jmp L0044C8E1 CASE_0044C8F8_PROC0005: mov edx,[ecx+00000F20h] cmp edx,esi jz L0044C89E mov edx,[edx+00001810h] cmp edx,esi jl L0044C89E cmp [L00C405A0+edx*4],esi jnz CASE_0044C8F8_PROC0000 mov [eax+000000C4h],ebx jmp L0044C8E1 CASE_0044C8F8_PROC0007: cmp [L00B29464],esi jz CASE_0044C8F8_PROC0006 L0044C89E: mov [eax+000000C4h],ebx jmp L0044C8E1 CASE_0044C8F8_PROC0006: mov edx,[ecx+00000F20h] cmp edx,esi jz L0044C8C3 mov edx,[edx+00001810h] cmp edx,esi jl L0044C8C3 cmp [L00C405A0+edx*4],esi jnz CASE_0044C8F8_PROC0000 L0044C8C3: mov [eax+000000C4h],ebx jmp L0044C8E1 CASE_0044C8F8_PROC0009: cmp [L00B29464],esi jz CASE_0044C8F8_PROC0000 mov [eax+000000C4h],ebx jmp L0044C8E1 CASE_0044C8F8_PROC0000: mov [eax+000000C4h],esi L0044C8E1: add ebp,00000004h inc edi lea eax,[edi+03h] cmp eax,0000000Fh jl L0044C846 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044C8F8: dd CASE_0044C8F8_PROC0000 dd CASE_0044C8F8_PROC0000 dd CASE_0044C8F8_PROC0000 dd CASE_0044C8F8_PROC0000 dd CASE_0044C8F8_PROC0004 dd CASE_0044C8F8_PROC0005 dd CASE_0044C8F8_PROC0006 dd CASE_0044C8F8_PROC0007 dd CASE_0044C8F8_PROC0000 dd CASE_0044C8F8_PROC0009 dd CASE_0044C8F8_PROC0000 Align 16 SUB_L0044C930: push FFFFFFFFh push L004E29E3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov dword ptr [esi],L004EC334 mov ecx,[L00B2946C] xor ebx,ebx cmp ecx,ebx mov [esp+1Ch],ebx jz L0044C977 mov eax,[ecx] mov edi,00000001h push edi call [eax] jmp L0044C97C L0044C977: mov edi,00000001h L0044C97C: mov ecx,[esp+28h] mov edx,[esp+2Ch] mov [L00B2946C],esi mov [esi+14h],ebx lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000FA1h mov [esi+30h],ecx mov [esi+34h],edx mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,[esi+18h] push SSZ00500050_ChatGump_framedata shl eax,03h push eax mov [esi+24h],edi mov [esi+1Ch],edi mov [esi+20h],edi call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 lea ecx,[esi+00000116h] push SWC00502D18_Addresses push ecx call SUB_L004C4430 add esp,00000040h push 000008B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+1Ch],01h jz L0044CA97 push 00000000h push 00000000h push esi mov ecx,eax call SUB_L004683C0 jmp L0044CA99 L0044CA97: xor eax,eax L0044CA99: push 00000000h push 00000002h mov ecx,esi mov byte ptr [esp+24h],00h mov [esi+00000F1Ch],eax call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000001h push 00000006h mov ecx,esi call SUB_L00449DF0 push 00000002h push 00000009h mov ecx,esi call SUB_L00449DF0 push 00000005h push 0000000Bh mov ecx,esi call SUB_L00449DF0 mov eax,[esp+30h] mov ecx,[esp+34h] mov edx,00000190h test eax,eax mov [esi+00000F30h],edx mov [esi+00000F34h],edx jg L0044CAFB mov eax,[esi+20h] L0044CAFB: test ecx,ecx jg L0044CB02 mov ecx,[esi+24h] L0044CB02: cmp eax,edx jge L0044CB08 mov eax,edx L0044CB08: cmp ecx,edx jge L0044CB0E mov ecx,edx L0044CB0E: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 L0044CB50: push esi mov esi,ecx call SUB_L0044CB70 test byte ptr [esp+08h],01h jz L0044CB68 push esi call SUB_L004D4F9E add esp,00000004h L0044CB68: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044CB70: mov dword ptr [ecx],L004EC334 mov dword ptr [L00B2946C],00000000h jmp SUB_L00449D30 Align 16 L0044CB90: mov eax,fs:[00000000h] push FFFFFFFFh push L004E2A28 push eax mov eax,[esp+10h] mov fs:[00000000h],esp sub esp,00000204h add eax,FFFFFFFDh cmp eax,0000002Fh push esi mov esi,ecx ja CASE_0044CF58_PROC0000 xor ecx,ecx mov cl,[eax+CASE_0044CF70] jmp [CASE_PROCTABLE_0044CF58+ecx*4] CASE_0044CF58_PROC0001: mov eax,[esi+00000F1Ch] test eax,eax jz CASE_0044CF58_PROC0000 mov ecx,[eax+00000870h] test ecx,ecx jl CASE_0044CF58_PROC0000 push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+00000210h],00000000h jz CASE_0044CF58_PROC0000 mov edx,[esi+00000F1Ch] push FFFFFFFFh push FFFFFFFFh mov ecx,[edx+00000870h] mov edx,[esi+24h] push ecx mov ecx,[esi+20h] push edx push ecx push 00000005h push 00000005h push esi mov ecx,eax call SUB_L0044D820 jmp CASE_0044CF58_PROC0000 CASE_0044CF58_PROC0002: lea edx,[esp+08h] push SWC00502D34_This_will_permanently_delete_the push edx call SUB_L004C4430 mov eax,[esi+00000F1Ch] add esp,00000008h mov eax,[eax+00000870h] test eax,eax jl L0044CD08 cmp eax,[L00C42CDC] jge L0044CD08 mov ecx,[L00C3E660+eax*4] lea edx,[esp+08h] add ecx,00000200h push ecx push edx call SUB_L004C4550 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx call SUB_L004C4300 add esp,0000000Ch test eax,eax jz L0044CD08 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] mov edx,[L00C3E660+ecx*4] cmp word ptr [edx+00000400h],0005h jbe L0044CD08 lea eax,[esp+08h] push L00502D2C push eax call SUB_L004C4550 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] lea ecx,[esp+10h] mov eax,[L00C3E660+edx*4] add eax,00000400h push eax push ecx call SUB_L004C4550 lea edx,[esp+18h] push L00502D00 push edx call SUB_L004C4550 add esp,00000018h L0044CD08: lea eax,[esp+08h] push SWC00502B88___Are_you_sure_you_want_to_do_th push eax call SUB_L004C4550 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,0000000Ch mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+00000210h],00000001h jz CASE_0044CF58_PROC0000 mov eax,[esi+24h] lea edx,[esp+08h] push edx push 00000008h cdq sub eax,edx push 000000DCh sar eax,1 sub eax,0000005Fh push 00000104h push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044CF58_PROC0000 CASE_0044CF58_PROC0003: lea eax,[esp+08h] push SWC00502B14_This_will_permanently_delete_the push eax call SUB_L004C4430 mov ecx,[esi+00000F1Ch] add esp,00000008h mov eax,[ecx+00000870h] test eax,eax jl L0044CE44 cmp eax,[L00C42CDC] jge L0044CE44 mov edx,[L00C3E660+eax*4] lea eax,[esp+08h] add edx,00000200h push edx push eax call SUB_L004C4550 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] mov eax,[L00C3E660+edx*4] add eax,00000400h push eax call SUB_L004C4300 add esp,0000000Ch test eax,eax jz L0044CE44 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] mov eax,[L00C3E660+edx*4] cmp word ptr [eax+00000400h],0005h jbe L0044CE44 lea ecx,[esp+08h] push L00502D2C push ecx call SUB_L004C4550 mov edx,[esi+00000F1Ch] mov eax,[edx+00000870h] lea edx,[esp+10h] mov ecx,[L00C3E660+eax*4] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+18h] push L00502D00 push eax call SUB_L004C4550 add esp,00000018h L0044CE44: lea ecx,[esp+08h] push SWC00502B88___Are_you_sure_you_want_to_do_th push ecx call SUB_L004C4550 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,0000000Ch mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+00000210h],00000002h jz CASE_0044CF58_PROC0000 mov eax,[esi+24h] lea edx,[esp+08h] push edx push 00000009h cdq sub eax,edx push 000000BEh sar eax,1 sub eax,0000005Fh push 00000104h push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044CF58_PROC0000 CASE_0044CF58_PROC0004: mov eax,[esi+00000F1Ch] test eax,eax jz CASE_0044CF58_PROC0000 mov eax,[eax+00000870h] test eax,eax jl CASE_0044CF58_PROC0000 mov ecx,[L00C3E660+eax*4] test ecx,ecx jz CASE_0044CF58_PROC0000 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+00000210h],00000003h jz CASE_0044CF58_PROC0000 mov eax,[esi+00000F1Ch] mov edx,[eax+00000870h] mov eax,[L00C3E660+edx*4] lea edx,[eax+00000400h] add eax,00000200h push edx push eax mov eax,[esi+24h] push 0000000Bh cdq sub eax,edx push 00000096h sar eax,1 sub eax,0000004Bh push 000000FAh push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,0000007Dh push eax push esi call SUB_L004504C0 CASE_0044CF58_PROC0000: mov ecx,[esp+00000208h] pop esi mov fs:[00000000h],ecx add esp,00000210h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044CF58: dd CASE_0044CF58_PROC0000 dd CASE_0044CF58_PROC0001 dd CASE_0044CF58_PROC0002 dd CASE_0044CF58_PROC0003 dd CASE_0044CF58_PROC0004 dd CASE_0044CF58_PROC0000 CASE_0044CF70: db 00h, 00h, 00h, 01h, 00h, 02h, 03h, 00h, 04h, 00h, 00h, 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, 00h L0044CFA0: mov eax,[esp+04h] sub esp,00000800h cmp eax,00000008h push esi mov esi,ecx jnz L0044D0B1 mov eax,[esi+00000F1Ch] test eax,eax jz L0044D098 mov ecx,[eax+00000870h] test ecx,ecx jl L0044D098 lea eax,[esp+04h] push L00502D14 push eax call SUB_L004C4430 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] lea ecx,[esp+0Ch] mov eax,[L00C3E660+edx*4] push eax push ecx call SUB_L004C4550 lea edx,[esp+14h] push L00502D0C push edx call SUB_L004C4550 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] lea eax,[esp+1Ch] mov edx,[L00C3E660+ecx*4] add edx,00000200h push edx push eax call SUB_L004C4550 lea ecx,[esp+24h] push L00502D04 push ecx call SUB_L004C4550 mov edx,[esi+00000F1Ch] mov eax,[edx+00000870h] lea edx,[esp+2Ch] mov ecx,[L00C3E660+eax*4] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+34h] push L00502D00 push eax call SUB_L004C4550 lea ecx,[esp+3Ch] push ecx push 00000004h call SUB_L0049DAD0 mov edx,[esi+00000F1Ch] add esp,00000040h mov eax,[edx+00000870h] push eax call SUB_L00469150 add esp,00000004h L0044D098: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044D1B9 jmp L0044D1B7 L0044D0B1: cmp eax,00000009h jnz L0044D1D3 mov eax,[esi+00000F1Ch] test eax,eax jz L0044D1A7 mov ecx,[eax+00000870h] test ecx,ecx jl L0044D1A7 lea ecx,[esp+04h] push L00502D14 push ecx call SUB_L004C4430 mov edx,[esi+00000F1Ch] mov eax,[edx+00000870h] lea edx,[esp+0Ch] mov ecx,[L00C3E660+eax*4] push ecx push edx call SUB_L004C4550 lea eax,[esp+14h] push L00502D0C push eax call SUB_L004C4550 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] lea ecx,[esp+1Ch] mov eax,[L00C3E660+edx*4] add eax,00000200h push eax push ecx call SUB_L004C4550 lea edx,[esp+24h] push L00502D04 push edx call SUB_L004C4550 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] lea eax,[esp+2Ch] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx push eax call SUB_L004C4550 lea ecx,[esp+34h] push L00502D00 push ecx call SUB_L004C4550 lea edx,[esp+3Ch] push edx push 00000005h call SUB_L0049DAD0 mov eax,[esi+00000F1Ch] add esp,00000040h mov ecx,[eax+00000870h] push ecx call SUB_L00469150 push L007050D8 push 00000009h call SUB_L0049DAD0 add esp,0000000Ch L0044D1A7: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044D1B9 L0044D1B7: mov eax,edx L0044D1B9: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044D1C5 mov ecx,edx L0044D1C5: mov [esi+1Ch],eax mov [esi+20h],eax mov [esi+24h],ecx jmp L0044D3F6 L0044D1D3: cmp eax,0000000Bh jnz L0044D404 mov eax,[esi+00000F1Ch] test eax,eax jz L0044D404 mov eax,[eax+00000870h] test eax,eax jl L0044D404 mov ecx,[L00C3E660+eax*4] test ecx,ecx jz L0044D404 lea edx,[esp+04h] push L00502D14 push edx call SUB_L004C4430 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] lea eax,[esp+0Ch] mov edx,[L00C3E660+ecx*4] push edx push eax call SUB_L004C4550 lea ecx,[esp+14h] push L00502D0C push ecx call SUB_L004C4550 mov edx,[esi+00000F1Ch] mov eax,[edx+00000870h] lea edx,[esp+1Ch] mov ecx,[L00C3E660+eax*4] add ecx,00000200h push ecx push edx call SUB_L004C4550 lea eax,[esp+24h] push L00502D04 push eax call SUB_L004C4550 mov ecx,[esi+00000F1Ch] mov edx,[ecx+00000870h] lea ecx,[esp+2Ch] mov eax,[L00C3E660+edx*4] add eax,00000400h push eax push ecx call SUB_L004C4550 lea edx,[esp+34h] push L00502D00 push edx call SUB_L004C4550 lea eax,[esp+3Ch] push L00502D14 push eax call SUB_L004C4430 mov edx,[L005073C8] add esp,00000040h lea ecx,[esp+00000604h] push 0000000Ah push ecx push edx call SUB_L004C4CC0 lea eax,[esp+00000610h] lea ecx,[esp+10h] push eax push ecx call SUB_L004C4550 lea edx,[esp+18h] push SWC00502DB8__messenger_owo_com__ push edx call SUB_L004C4550 mov ecx,[esi+00000F1Ch] mov eax,[esp+00000828h] push 00000100h push eax mov edx,[ecx+00000870h] mov eax,[L00C3E660+edx*4] add eax,00000400h push eax call SUB_L004C4460 lea ecx,[esp+2Ch] push L00502D14 push ecx call SUB_L004C4550 mov edx,[esi+00000F1Ch] mov eax,[edx+00000870h] lea edx,[esp+34h] mov ecx,[L00C3E660+eax*4] push ecx push edx call SUB_L004C4550 push L00502D0C lea eax,[esp+40h] push eax call SUB_L004C4550 mov ecx,[esi+00000F1Ch] add esp,00000040h mov edx,[ecx+00000870h] lea ecx,[esp+04h] mov eax,[L00C3E660+edx*4] add eax,00000200h push eax push ecx call SUB_L004C4550 lea edx,[esp+0Ch] push L00502D04 push edx call SUB_L004C4550 mov eax,[esi+00000F1Ch] mov ecx,[eax+00000870h] lea eax,[esp+14h] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx push eax call SUB_L004C4550 lea ecx,[esp+1Ch] push L00502D00 push ecx call SUB_L004C4550 lea edx,[esp+24h] push edx push 00000003h call SUB_L0049DAD0 mov eax,[esi+20h] mov ecx,[esi+00000F30h] mov edx,[esi+24h] add esp,00000028h cmp eax,ecx jge L0044D3E1 mov eax,ecx L0044D3E1: mov ecx,[esi+00000F34h] cmp edx,ecx jge L0044D3ED mov edx,ecx L0044D3ED: mov [esi+1Ch],eax mov [esi+20h],eax mov [esi+24h],edx L0044D3F6: mov ecx,esi call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044D404: mov al,01h pop esi add esp,00000800h retn 000Ch ;------------------------------------------------------------------------------ L0044D410: push ebx push ebp push esi push edi mov esi,FFFFFFFDh lea edi,[ecx+0000009Ch] xor ebx,ebx mov ebp,00000001h L0044D426: mov eax,[edi] cmp eax,ebx jz L0044D4A2 cmp esi,0000000Ah ja L0044D4A2 jmp [CASE_PROCTABLE_0044D4B8+esi*4] CASE_0044D4B8_PROC0003: cmp [L00B29464],ebx jz L0044D448 mov [eax+000000C4h],ebp jmp L0044D4A2 L0044D448: mov edx,[ecx+00000F1Ch] cmp edx,ebx jz L0044D465 mov edx,[edx+00000870h] cmp edx,ebx jl L0044D465 cmp [L00C3E660+edx*4],ebx jnz CASE_0044D4B8_PROC0000 L0044D465: mov [eax+000000C4h],ebp jmp L0044D4A2 CASE_0044D4B8_PROC0005: mov edx,[ecx+00000F1Ch] cmp edx,ebx jz L0044D494 mov edx,[edx+00000870h] cmp edx,ebx jl L0044D494 mov edx,[L00C3E660+edx*4] cmp edx,ebx jz L0044D494 cmp [edx+00000600h],bl jz CASE_0044D4B8_PROC0000 L0044D494: mov [eax+000000C4h],ebp jmp L0044D4A2 CASE_0044D4B8_PROC0000: mov [eax+000000C4h],ebx L0044D4A2: add edi,00000004h inc esi lea eax,[esi+03h] cmp eax,0000000Fh jl L0044D426 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044D4B8: dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0003 dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0005 dd CASE_0044D4B8_PROC0005 dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0005 dd CASE_0044D4B8_PROC0000 dd CASE_0044D4B8_PROC0000 Align 16 SUB_L0044D4F0: push FFFFFFFFh push L004E2A53 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov dword ptr [esi],L004EC4D0 mov ecx,[L00B29468] xor ebx,ebx cmp ecx,ebx mov [esp+1Ch],ebx jz L0044D537 mov eax,[ecx] mov edi,00000001h push edi call [eax] jmp L0044D53C L0044D537: mov edi,00000001h L0044D53C: mov ecx,[esp+28h] mov edx,[esp+2Ch] mov [L00B29468],esi mov [esi+14h],ebx lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000FA1h mov [esi+30h],ecx mov [esi+34h],edx mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,[esi+18h] push SSZ00500050_ChatGump_framedata shl eax,03h push eax mov [esi+24h],edi mov [esi+1Ch],edi mov [esi+20h],edi call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 lea ecx,[esi+00000116h] push SWC00502D18_Addresses push ecx call SUB_L004C4430 add esp,00000040h push 000008B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+1Ch],01h jz L0044D657 push 00000000h push 00000000h push esi mov ecx,eax call SUB_L004683C0 jmp L0044D659 L0044D657: xor eax,eax L0044D659: push 00000000h push 00000002h mov ecx,esi mov byte ptr [esp+24h],00h mov [esi+00000F1Ch],eax call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000001h push 00000003h mov ecx,esi call SUB_L00449DF0 push 00000005h push 00000004h mov ecx,esi call SUB_L00449DF0 mov eax,[esp+30h] mov ecx,[esp+34h] test eax,eax mov dword ptr [esi+00000F30h],00000190h mov dword ptr [esi+00000F34h],000000C8h jg L0044D6B3 mov eax,[esi+20h] L0044D6B3: test ecx,ecx jg L0044D6BA mov ecx,[esi+24h] L0044D6BA: cmp eax,00000190h jge L0044D6C6 mov eax,00000190h L0044D6C6: cmp ecx,000000C8h jge L0044D6D3 mov ecx,000000C8h L0044D6D3: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov edx,[esp+24h] mov ecx,[esp+14h] mov [esi+00000F4Ch],edx mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 L0044D720: push esi mov esi,ecx call SUB_L0044D740 test byte ptr [esp+08h],01h jz L0044D738 push esi call SUB_L004D4F9E add esp,00000004h L0044D738: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044D740: mov dword ptr [ecx],L004EC4D0 mov dword ptr [L00B29468],00000000h jmp SUB_L00449D30 Align 16 L0044D760: mov eax,[esp+04h] push esi add eax,FFFFFFFDh mov esi,ecx cmp eax,0000002Fh ja CASE_0044D7D4_PROC0002 xor ecx,ecx mov cl,[eax+CASE_0044D7E4] jmp [CASE_PROCTABLE_0044D7D4+ecx*4] CASE_0044D7D4_PROC0000: mov ecx,[esi+00000F4Ch] test ecx,ecx jz L0044D7B4 mov eax,[esi+00000F1Ch] test eax,eax jz L0044D7B4 mov eax,[eax+00000870h] test eax,eax jl L0044D7B4 mov edx,[L00C3E660+eax*4] test edx,edx jz L0044D7B4 mov edx,[ecx] push eax push 00000000h push 00000032h call [edx+00000194h] L0044D7B4: test esi,esi jz CASE_0044D7D4_PROC0002 mov eax,[esi] push 00000001h mov ecx,esi call [eax] pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_0044D7D4_PROC0001: test esi,esi jz CASE_0044D7D4_PROC0002 mov edx,[esi] push 00000001h mov ecx,esi call [edx] CASE_0044D7D4_PROC0002: pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_0044D7D4: dd CASE_0044D7D4_PROC0000 dd CASE_0044D7D4_PROC0001 dd CASE_0044D7D4_PROC0002 dd CASE_0044D7D4_PROC0002 CASE_0044D7E4: db 00h, 01h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 02h Align 16 SUB_L0044D820: push FFFFFFFFh mov eax,fs:[00000000h] push L004E2AB1 push eax mov eax,0000FE18h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push ebp push esi mov esi,ecx push edi mov [esp+24h],esi call SUB_L00449C10 mov dword ptr [esi],L004EC66C mov ecx,[L00B29464] xor ebp,ebp cmp ecx,ebp mov [esp+0000FE30h],ebp jz L0044D86D mov eax,[ecx] push 00000001h call [eax] L0044D86D: mov edi,[L00B29470] mov [L00B29464],esi cmp edi,ebp jz L0044D8B2 mov eax,[edi+20h] mov edx,[edi+00000F30h] mov ecx,[edi+24h] cmp eax,edx jge L0044D88F mov eax,edx L0044D88F: mov edx,[edi+00000F34h] cmp ecx,edx jge L0044D89B mov ecx,edx L0044D89B: mov [edi+24h],ecx mov ecx,edi mov [edi+1Ch],eax mov [edi+20h],eax call SUB_L0044A530 mov ecx,edi call SUB_L0044ACA0 L0044D8B2: mov edi,[L00B29460] cmp edi,ebp jz L0044D8F1 mov eax,[edi+20h] mov edx,[edi+00000F30h] mov ecx,[edi+24h] cmp eax,edx jge L0044D8CE mov eax,edx L0044D8CE: mov edx,[edi+00000F34h] cmp ecx,edx jge L0044D8DA mov ecx,edx L0044D8DA: mov [edi+24h],ecx mov ecx,edi mov [edi+1Ch],eax mov [edi+20h],eax call SUB_L0044A530 mov ecx,edi call SUB_L0044ACA0 L0044D8F1: mov edi,[L00B2946C] cmp edi,ebp jz L0044D930 mov eax,[edi+20h] mov edx,[edi+00000F30h] mov ecx,[edi+24h] cmp eax,edx jge L0044D90D mov eax,edx L0044D90D: mov edx,[edi+00000F34h] cmp ecx,edx jge L0044D919 mov ecx,edx L0044D919: mov [edi+24h],ecx mov ecx,edi mov [edi+1Ch],eax mov [edi+20h],eax call SUB_L0044A530 mov ecx,edi call SUB_L0044ACA0 L0044D930: mov edi,[L00B29468] cmp edi,ebp jz L0044D96F mov eax,[edi+20h] mov edx,[edi+00000F30h] mov ecx,[edi+24h] cmp eax,edx jge L0044D94C mov eax,edx L0044D94C: mov edx,[edi+00000F34h] cmp ecx,edx jge L0044D958 mov ecx,edx L0044D958: mov [edi+24h],ecx mov ecx,edi mov [edi+1Ch],eax mov [edi+20h],eax call SUB_L0044A530 mov ecx,edi call SUB_L0044ACA0 L0044D96F: mov ebx,[esp+0000FE50h] cmp ebx,ebp jl L0044D9DC cmp [L00C42CDC],ebp jle L0044D9DC mov edi,L00C3E660 L0044D987: mov ecx,[L00C405A0+ebx*4] mov edx,[edi] add ecx,00000600h push ecx push edx call SUB_L004C4320 add esp,00000008h test eax,eax jnz L0044D9C6 mov eax,[L00C405A0+ebx*4] mov ecx,[edi] add eax,00000400h add ecx,00000200h push eax push ecx call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044D9D5 L0044D9C6: mov eax,[L00C42CDC] inc ebp add edi,00000004h cmp ebp,eax jl L0044D987 jmp L0044D9DC L0044D9D5: mov [esp+0000FE4Ch],ebp L0044D9DC: mov edx,[esp+0000FE4Ch] mov eax,[esp+0000FE3Ch] mov ecx,[esp+0000FE40h] lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000FA1h mov byte ptr [esi+00000F50h],00h mov [esi+00000F4Ch],edx mov [esi+30h],eax mov [esi+34h],ecx mov dword ptr [esi+14h],00000000h mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov edx,[esi+18h] mov eax,00000001h shl edx,03h push SSZ00500050_ChatGump_framedata push edx mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+0000FE88h] mov ebx,[esp+0000FE8Ch] add esp,00000038h test eax,eax jl L0044DAFB lea ecx,[esi+00000116h] push SWC00502F94_Reply_To_Message push ecx jmp L0044DB19 L0044DAFB: test ebx,ebx jl L0044DB0D lea edx,[esi+00000116h] push SWC00502F74_Forward_Message push edx jmp L0044DB19 L0044DB0D: lea eax,[esi+00000116h] push SWC00502F58_Send_Message push eax L0044DB19: call SUB_L004C4430 mov ebp,[esp+0000FE58h] add esp,00000008h test ebp,ebp mov byte ptr [esi+00000516h],01h jge L0044DB75 push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+0000FE30h],01h jz L0044DB65 push 00000001h push 00000000h push 00000337h push 00000032h push esi mov ecx,eax call SUB_L00463A90 jmp L0044DB67 L0044DB65: xor eax,eax L0044DB67: mov byte ptr [esp+0000FE30h],00h mov [esi+00000F24h],eax L0044DB75: mov eax,[esi+00000F4Ch] test eax,eax jl L0044DC2F mov eax,[L00C3E660+eax*4] test eax,eax jz L0044DC2F add eax,00000200h push 00000100h lea ecx,[esp+2Ch] push eax push ecx call SUB_L004C4460 mov edx,[esi+00000F4Ch] mov eax,[L00C3E660+edx*4] add eax,00000400h push eax call SUB_L004C4300 add esp,00000010h test eax,eax jz L0044DC1C mov ecx,[esi+00000F4Ch] mov edx,[L00C3E660+ecx*4] cmp word ptr [edx+00000400h],0005h jbe L0044DC1C lea eax,[esp+28h] push L00502D2C push eax call SUB_L004C4550 mov ecx,[esi+00000F4Ch] lea eax,[esp+30h] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx push eax call SUB_L004C4550 lea ecx,[esp+38h] push L00502D00 push ecx call SUB_L004C4550 add esp,00000018h L0044DC1C: test ebp,ebp jge L0044DC59 mov edx,[esi+00000F24h] mov byte ptr [edx+000000A5h],00h jmp L0044DC41 L0044DC2F: lea eax,[esp+28h] push SWC00502F14__Click_here_to_select_recipient_ push eax call SUB_L004C4430 add esp,00000008h L0044DC41: test ebp,ebp jge L0044DC59 lea ecx,[esp+28h] push 00000001h push ecx mov ecx,[esi+00000F24h] call SUB_L00463F60 jmp L0044DC6D L0044DC59: lea edx,[esp+28h] lea eax,[esi+0000051Ah] push edx push eax call SUB_L004C4430 add esp,00000008h L0044DC6D: mov eax,[esi+00000F4Ch] mov byte ptr [esi+00000517h],01h test eax,eax jl L0044DCA6 mov eax,[L00C3E660+eax*4] test eax,eax jz L0044DCA6 mov cl,[eax+00000600h] test cl,cl jz L0044DCA6 lea ecx,[esi+0000071Ah] push L00C85FF0 push ecx call SUB_L004C44F0 jmp L0044DD03 L0044DCA6: mov eax,[L00C8604C] lea edi,[esi+0000071Ah] lea eax,[eax+eax*2] lea eax,[eax+eax*4] mov cl,[L00C860FC+eax*2] lea eax,[L00C860FC+eax*2] test cl,cl jnz L0044DCD0 push L00C880F8 jmp L0044DCD1 L0044DCD0: push eax L0044DCD1: push edi call SUB_L004C44F0 add esp,00000008h push SSZ00502F0C__of_ push edi call SUB_L004C4590 mov al,[L00705058] add esp,00000008h test al,al jz L0044DCF8 push L00705058 jmp L0044DCFD L0044DCF8: push SSZ00502F04_Nowhere L0044DCFD: push edi call SUB_L004C4590 L0044DD03: add esp,00000008h mov byte ptr [esi+00000519h],01h push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+0000FE30h],02h jz L0044DD3F push 00000001h push 00000001h push 00000135h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044DD41 L0044DD3F: xor eax,eax L0044DD41: test ebp,ebp mov byte ptr [esp+0000FE30h],00h mov [esi+00000F28h],eax jl L0044DD96 mov eax,[L00C405A0+ebp*4] test eax,eax jz L0044DD96 lea edx,[esp+28h] push SWC00502EF8_Re__ push edx call SUB_L004C4430 mov eax,[L00C405A0+ebp*4] lea ecx,[esp+30h] add eax,00000800h push eax push ecx call SUB_L004C4550 mov edx,[esi+00000F28h] add esp,00000010h mov byte ptr [edx+000000A5h],00h jmp L0044DDF0 L0044DD96: test ebx,ebx jl L0044DDDE mov eax,[L00C405A0+ebx*4] test eax,eax jz L0044DDDE lea eax,[esp+28h] push SWC00502EEC_Fwd__ push eax call SUB_L004C4430 mov ecx,[L00C405A0+ebx*4] lea edx,[esp+30h] add ecx,00000800h push ecx push edx call SUB_L004C4550 mov eax,[esi+00000F28h] add esp,00000010h mov byte ptr [eax+000000A5h],00h jmp L0044DDF0 L0044DDDE: lea ecx,[esp+28h] push SWC00502EB0__Enter_message_subject_here__ push ecx call SUB_L004C4430 add esp,00000008h L0044DDF0: mov ecx,[esi+00000F28h] lea edx,[esp+28h] push 00000001h push edx call SUB_L00463F60 mov eax,[esp+0000FE38h] test eax,eax jz L0044DF35 test ebp,ebp jge L0044DE1F test ebx,ebx jl L0044DF35 jmp L0044DE33 L0044DE1F: mov eax,[L00C405A0+ebp*4] push eax call SUB_L004C4300 add esp,00000004h test eax,eax jnz L0044DE4B L0044DE33: test ebx,ebx jl L0044DE7A mov ecx,[L00C405A0+ebx*4] push ecx call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044DE7A L0044DE4B: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+0000FE30h],03h jz L0044DEA9 push 00000001h push 00000000h push 00000000h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044DEAB L0044DE7A: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+0000FE30h],04h jz L0044DEA9 push 00000001h push 00000000h push 00000040h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044DEAB L0044DEA9: xor eax,eax L0044DEAB: lea edx,[esp+00000428h] push SWC00502E74__Enter_message_body_here____ push edx mov byte ptr [esp+0000FE38h],00h mov [esi+00000F2Ch],eax call SUB_L004C4430 add esp,00000008h mov edi,ebp test ebp,ebp jge L0044DED6 mov edi,ebx L0044DED6: mov eax,[L00C405A0+edi*4] test eax,eax jz L0044DF23 lea eax,[esp+00000428h] push SWC00502E68__BQ_ push eax call SUB_L004C4550 mov ecx,[L00C405A0+edi*4] lea eax,[esp+00000430h] mov edx,[ecx+00000C0Ch] push edx push eax call SUB_L004C4550 lea ecx,[esp+00000438h] push SWC00502E58____BQ_ push ecx call SUB_L004C4550 add esp,00000018h L0044DF23: mov ecx,[esi+00000F2Ch] lea edx,[esp+00000428h] push 00000001h push edx jmp L0044DF7D L0044DF35: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+0000FE30h],05h jz L0044DF64 push 00000001h push 00000000h push 00000040h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044DF66 L0044DF64: xor eax,eax L0044DF66: push 00000001h mov byte ptr [esp+0000FE34h],00h mov [esi+00000F2Ch],eax push SWC00502E20__Enter_message_body_here___ mov ecx,eax L0044DF7D: call SUB_L00463F60 push 00000000h push 00000001h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000002h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 test ebp,ebp jge L0044DFAB test ebx,ebx jl L0044DFB2 L0044DFAB: mov byte ptr [esi+00000F50h],01h L0044DFB2: test ebp,ebp push 00000001h jl L0044DFE2 push 0000000Eh mov ecx,esi call SUB_L00449DF0 push 00000004h push 00000006h mov ecx,esi call SUB_L00449DF0 lea eax,[esi+00000D1Ah] push SWC00502DEC_Include_Original_Message push eax call SUB_L004C4430 add esp,00000008h jmp L0044DFEB L0044DFE2: push 00000006h mov ecx,esi call SUB_L00449DF0 L0044DFEB: push 00000005h push 00000004h mov ecx,esi call SUB_L00449DF0 test ebp,ebp mov dword ptr [esi+00000F30h],000001C2h mov dword ptr [esi+00000F34h],0000012Ch jl L0044E0F8 mov eax,[L00C405A0+ebp*4] test eax,eax jz L0044E0F8 mov dword ptr [eax+00000C10h],00000001h mov edx,[L00C405A0+ebp*4] lea ecx,[esp+00000228h] push 0000000Ah mov eax,[edx+00000C04h] push ecx push eax call SUB_L004C4CC0 lea ecx,[esp+00000234h] push L00502DE4 push ecx call SUB_L004C4550 lea edx,[esp+0000023Ch] push edx push 0000000Eh call SUB_L0049DAD0 mov edi,[L00B294DC] mov ecx,[L005073D0] mov edx,[L005073D4] xor eax,eax add esp,0000001Ch cmp edi,eax mov [esp+14h],eax mov [esp+18h],eax mov [esp+1Ch],ecx mov [esp+20h],edx jz L0044E157 L0044E098: mov eax,[edi] mov ecx,edi call [eax+00000090h] cmp edi,[L00B29470] jz L0044E0BA cmp edi,[L00B29460] jz L0044E0BA cmp edi,[L00B29464] jnz L0044E0EF L0044E0BA: mov eax,[edi+20h] mov edx,[edi+00000F30h] mov ecx,[edi+24h] cmp eax,edx jge L0044E0CC mov eax,edx L0044E0CC: mov edx,[edi+00000F34h] cmp ecx,edx jge L0044E0D8 mov ecx,edx L0044E0D8: mov [edi+24h],ecx mov ecx,edi mov [edi+1Ch],eax mov [edi+20h],eax call SUB_L0044A530 mov ecx,edi call SUB_L0044ACA0 L0044E0EF: mov edi,[edi+40h] test edi,edi jnz L0044E098 jmp L0044E157 L0044E0F8: test ebx,ebx jl L0044E157 mov eax,[L00C405A0+ebx*4] test eax,eax jz L0044E157 mov dword ptr [eax+00000C10h],00000001h mov edx,[L00C405A0+ebx*4] lea ecx,[esp+00000228h] push 0000000Ah mov eax,[edx+00000C04h] push ecx push eax call SUB_L004C4CC0 lea ecx,[esp+00000234h] push L00502DE4 push ecx call SUB_L004C4550 lea edx,[esp+0000023Ch] push edx push 0000000Eh call SUB_L0049DAD0 add esp,0000001Ch call SUB_L00468370 L0044E157: mov eax,[esp+0000FE44h] mov ecx,[esp+0000FE48h] test eax,eax jg L0044E16C mov eax,[esi+20h] L0044E16C: test ecx,ecx jg L0044E173 mov ecx,[esi+24h] L0044E173: mov edx,[esi+00000F30h] cmp eax,edx jge L0044E17F mov eax,edx L0044E17F: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044E18B mov ecx,edx L0044E18B: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+0000FE28h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000FE24h retn 0020h ;------------------------------------------------------------------------------ Align 8 L0044E1D0: push esi mov esi,ecx call SUB_L0044E1F0 test byte ptr [esp+08h],01h jz L0044E1E8 push esi call SUB_L004D4F9E add esp,00000004h L0044E1E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044E1F0: push FFFFFFFFh push L004E2AC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EC66C mov ecx,[L00B29468] xor eax,eax cmp ecx,eax mov [esp+10h],eax mov [L00B29464],eax jz L0044E22E mov eax,[ecx] push 00000001h call [eax] L0044E22E: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00449D30 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0044E250: mov ecx,[ecx+00000F2Ch] test ecx,ecx jz L0044E25F jmp L00464850 L0044E25F: retn ;------------------------------------------------------------------------------ L0044E260: mov eax,fs:[00000000h] push FFFFFFFFh push L004E2AFC push eax mov eax,0000FACCh mov fs:[00000000h],esp call SUB_L004D4B90 mov eax,[esp+0000FADCh] push ebx add eax,FFFFFFFDh push esi cmp eax,0000002Fh push edi mov esi,ecx ja CASE_0044E684_PROC0000 xor ecx,ecx mov cl,[eax+CASE_0044E69C] jmp [CASE_PROCTABLE_0044E684+ecx*4] CASE_0044E684_PROC0001: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+0Ch],ecx test ecx,ecx mov dword ptr [esp+0000FAE0h],00000000h jz CASE_0044E684_PROC0000 mov eax,[esi+24h] push SWC00503030_You_have_not_sent_this_message__ cdq sub eax,edx push 00000004h sar eax,1 push 000000BEh sub eax,0000005Fh push 00000104h push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044E684_PROC0000 CASE_0044E684_PROC0002: mov eax,[esi+00000F4Ch] test eax,eax jl CASE_0044E684_PROC0000 mov eax,[esi+00000F2Ch] test eax,eax jz CASE_0044E684_PROC0000 mov eax,[eax+000000FCh] test eax,eax jz CASE_0044E684_PROC0000 mov eax,[eax+0000022Ch] test eax,eax jz CASE_0044E684_PROC0000 mov edx,[eax] push SWC00502E20__Enter_message_body_here___ push edx call SUB_L004C4320 add esp,00000008h test eax,eax jz CASE_0044E684_PROC0000 lea eax,[esp+000000D8h] push SWC00503024_To___ push eax call SUB_L004C4430 mov ecx,[esi+00000F4Ch] lea eax,[esp+000000E0h] mov edx,[L00C3E660+ecx*4] push edx push eax call SUB_L004C4550 lea ecx,[esp+000000E8h] push L00502D0C push ecx call SUB_L004C4550 mov edx,[esi+00000F4Ch] lea ecx,[esp+000000F0h] mov eax,[L00C3E660+edx*4] add eax,00000200h push eax push ecx call SUB_L004C4550 lea edx,[esp+000000F8h] push L00502D04 push edx call SUB_L004C4550 mov eax,[esi+00000F4Ch] lea edx,[esp+00000100h] mov ecx,[L00C3E660+eax*4] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+00000108h] push SWC0050300C____From___ push eax call SUB_L004C4550 mov edx,[L005073C8] lea ecx,[esp+48h] push 0000000Ah push ecx push edx call SUB_L004C4CC0 add esp,00000044h lea eax,[esp+10h] lea ecx,[esp+000000D8h] push eax push ecx call SUB_L004C4550 lea edx,[esp+000000E0h] push SWC00502FE0__messenger_owo_com___ push edx call SUB_L004C4550 lea eax,[esi+0000071Ah] lea ecx,[esp+000000E8h] push eax push ecx call SUB_L004C4550 lea edx,[esp+000000F0h] push SWC00502FC4____Subject__ push edx call SUB_L004C4550 mov eax,[esi+00000F28h] add esp,00000020h test eax,eax jz L0044E4B0 mov eax,[eax+000000FCh] test eax,eax jz L0044E4B0 mov eax,[eax+0000022Ch] test eax,eax jz L0044E4B0 mov eax,[eax] push SWC00502EB0__Enter_message_subject_here__ push eax call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044E4B0 mov ecx,[esi+00000F28h] mov edx,[ecx+000000FCh] mov eax,[edx+0000022Ch] lea edx,[esp+000000D8h] mov ecx,[eax] push ecx push edx call SUB_L004C4550 add esp,00000008h L0044E4B0: lea eax,[esp+000000D8h] push SWC00502FB8_____ push eax call SUB_L004C4550 mov ecx,[esi+00000F2Ch] mov edx,[ecx+000000FCh] mov eax,[edx+0000022Ch] lea edx,[esp+000000E0h] mov ecx,[eax] push ecx push edx call SUB_L004C4550 mov al,[esi+00000F50h] add esp,00000010h test al,al jz L0044E567 mov eax,[esi+00000F2Ch] mov edi,00000001h mov ecx,[eax+000000FCh] cmp [ecx+20h],edi jle L0044E567 mov ebx,00000230h L0044E50C: lea edx,[esp+000000D8h] push SWC00502E68__BQ_ push edx call SUB_L004C4550 mov eax,[esi+00000F2Ch] mov ecx,[eax+000000FCh] mov edx,[ecx+ebx] lea ecx,[esp+000000E0h] mov eax,[edx] push eax push ecx call SUB_L004C4550 lea edx,[esp+000000E8h] push SWC00502E58____BQ_ push edx call SUB_L004C4550 mov eax,[esi+00000F2Ch] add esp,00000018h inc edi add ebx,00000004h mov ecx,[eax+000000FCh] cmp edi,[ecx+20h] jl L0044E50C L0044E567: lea edx,[esp+000000D8h] push edx push 00000007h call SUB_L0049DAD0 add esp,00000008h test esi,esi jz CASE_0044E684_PROC0000 mov eax,[esi] push 00000001h mov ecx,esi call [eax] jmp CASE_0044E684_PROC0000 CASE_0044E684_PROC0003: mov bl,[esi+00000F50h] mov eax,[esi+00000F2Ch] test bl,bl setz cl test eax,eax mov [esi+00000F50h],cl jz L0044E5DD mov edx,[eax+000000FCh] test edx,edx jz L0044E5C2 test cl,cl jnz L0044E5C2 mov eax,[edx+28h] or ah,04h mov [edx+28h],eax jmp L0044E5DD L0044E5C2: test eax,eax jz L0044E5DD mov eax,[eax+000000FCh] test eax,eax jz L0044E5DD test cl,cl jz L0044E5DD mov ecx,[eax+28h] and ch,FBh mov [eax+28h],ecx L0044E5DD: mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044E5EF mov eax,edx L0044E5EF: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044E5FB mov ecx,edx L0044E5FB: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 jmp CASE_0044E684_PROC0000 CASE_0044E684_PROC0004: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+0Ch],ecx test ecx,ecx mov dword ptr [esp+0000FAE0h],00000001h jz CASE_0044E684_PROC0000 mov edi,[esi+24h] mov ebx,[esi+20h] mov eax,edi cdq sub eax,edx sar eax,1 push eax mov eax,ebx cdq sub eax,edx sar eax,1 push eax mov eax,edi cdq and edx,00000003h add eax,edx sar eax,02h push eax mov eax,ebx cdq and edx,00000003h add eax,edx sar eax,02h push eax push esi call SUB_L0044D4F0 CASE_0044E684_PROC0000: mov ecx,[esp+0000FAD8h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000FAD8h retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_0044E684: dd CASE_0044E684_PROC0000 dd CASE_0044E684_PROC0001 dd CASE_0044E684_PROC0002 dd CASE_0044E684_PROC0003 dd CASE_0044E684_PROC0004 dd CASE_0044E684_PROC0000 CASE_0044E69C: db 00h, 01h, 00h, 02h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 03h, 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, 04h Align 8 L0044E6D0: mov eax,[esp+04h] sub esp,00000200h cmp eax,00000004h push esi mov esi,ecx jnz L0044E6F8 test esi,esi jz L0044E6EC mov eax,[esi] push 00000001h call [eax] L0044E6EC: xor al,al pop esi add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ L0044E6F8: cmp eax,00000032h jnz L0044E866 mov eax,[esp+00000210h] test eax,eax jl L0044E866 mov [esi+00000F4Ch],eax mov eax,[L00C3E660+eax*4] test eax,eax push edi jz L0044E73F mov cl,[eax+00000600h] test cl,cl jz L0044E73F lea ecx,[esi+0000071Ah] push L00C85FF0 push ecx call SUB_L004C44F0 jmp L0044E79C L0044E73F: mov eax,[L00C8604C] lea edi,[esi+0000071Ah] lea eax,[eax+eax*2] lea eax,[eax+eax*4] mov cl,[L00C860FC+eax*2] lea eax,[L00C860FC+eax*2] test cl,cl jnz L0044E769 push L00C880F8 jmp L0044E76A L0044E769: push eax L0044E76A: push edi call SUB_L004C44F0 add esp,00000008h push SSZ00502F0C__of_ push edi call SUB_L004C4590 mov al,[L00705058] add esp,00000008h test al,al jz L0044E791 push L00705058 jmp L0044E796 L0044E791: push SSZ00502F04_Nowhere L0044E796: push edi call SUB_L004C4590 L0044E79C: mov edx,[esi+00000F4Ch] add esp,00000008h mov eax,[L00C3E660+edx*4] pop edi test eax,eax jz L0044E842 add eax,00000200h push 00000100h push eax lea eax,[esp+0Ch] push eax call SUB_L004C4460 mov ecx,[esi+00000F4Ch] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx call SUB_L004C4300 add esp,00000010h test eax,eax jz L0044E854 mov eax,[esi+00000F4Ch] mov ecx,[L00C3E660+eax*4] cmp word ptr [ecx+00000400h],0005h jbe L0044E854 lea edx,[esp+04h] push L00502D2C push edx call SUB_L004C4550 mov eax,[esi+00000F4Ch] lea edx,[esp+0Ch] mov ecx,[L00C3E660+eax*4] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+14h] push L00502D00 push eax call SUB_L004C4550 add esp,00000018h jmp L0044E854 L0044E842: lea ecx,[esp+04h] push SWC00502F14__Click_here_to_select_recipient_ push ecx call SUB_L004C4430 add esp,00000008h L0044E854: mov ecx,[esi+00000F24h] lea edx,[esp+04h] push 00000001h push edx call SUB_L00463F60 L0044E866: mov al,01h pop esi add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0044E880: push ebx push ebp mov ebp,ecx push esi push edi mov ebx,FFFFFFFDh lea edi,[ebp+0000009Ch] xor esi,esi L0044E893: mov eax,[edi] cmp eax,esi jz L0044E8FD cmp ebx,0000000Ah ja L0044E8FD jmp [CASE_PROCTABLE_0044E910+ebx*4] CASE_0044E910_PROC0003: cmp [ebp+00000F4Ch],esi jl L0044E8E9 mov eax,[ebp+00000F2Ch] cmp eax,esi jz L0044E8E9 mov eax,[eax+000000FCh] cmp eax,esi jz L0044E8E9 mov eax,[eax+0000022Ch] cmp eax,esi jz L0044E8E9 mov eax,[eax] push SWC00502E20__Enter_message_body_here___ push eax call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044E8E9 mov ecx,[edi] mov [ecx+000000C4h],esi jmp L0044E8FD L0044E8E9: mov edx,[edi] mov dword ptr [edx+000000C4h],00000001h jmp L0044E8FD CASE_0044E910_PROC0000: mov [eax+000000C4h],esi L0044E8FD: add edi,00000004h inc ebx lea eax,[ebx+03h] cmp eax,0000000Fh jl L0044E893 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044E910: dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0003 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 dd CASE_0044E910_PROC0000 Align 8 SUB_L0044E940: push FFFFFFFFh push L004E2B61 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000208h push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00449C10 mov dword ptr [esi],L004EC808 mov ecx,[L00B29464] xor ebx,ebx cmp ecx,ebx mov [esp+00000220h],ebx jz L0044E98F mov eax,[ecx] mov edi,00000001h push edi call [eax] jmp L0044E994 L0044E98F: mov edi,00000001h L0044E994: lea eax,[esi+00000F4Ch] push L007050D8 mov [L00B29464],esi push eax mov byte ptr [esi+00001150h],00h call SUB_L004C4430 mov ecx,[esp+00000234h] mov edx,[esp+00000238h] mov [esi+14h],ebx lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000FA1h mov dword ptr [esi+0000114Ch],FFFFFFFFh mov [esi+30h],ecx mov [esi+34h],edx mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov eax,[esi+18h] push SSZ00500050_ChatGump_framedata shl eax,03h push eax mov [esi+24h],edi mov [esi+1Ch],edi mov [esi+20h],edi call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 add esp,00000040h mov edi,[esp+0000025Ch] push edi call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044EABC lea ecx,[esi+00000116h] push edi push ecx jmp L0044EAC8 L0044EABC: lea edx,[esi+00000116h] push SWC00502F58_Send_Message push edx L0044EAC8: call SUB_L004C4430 mov al,[esp+00000244h] add esp,00000008h test al,al mov byte ptr [esi+00000516h],01h jz L0044EB51 push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],01h jz L0044EB14 push 00000001h push 00000000h push 00000337h push 00000032h push esi mov ecx,eax call SUB_L00463A90 jmp L0044EB16 L0044EB14: xor eax,eax L0044EB16: mov [esi+00000F24h],eax mov byte ptr [eax+000000A5h],00h lea eax,[esp+18h] push SWC00502F14__Click_here_to_select_recipient_ push eax mov byte ptr [esp+00000228h],00h call SUB_L004C4430 add esp,00000008h lea ecx,[esp+18h] push 00000001h push ecx mov ecx,[esi+00000F24h] call SUB_L00463F60 jmp L0044EB7C L0044EB51: mov edx,[esp+00000244h] lea eax,[esi+0000051Ah] push edx push eax call SUB_L004C4430 mov ecx,[esp+00000248h] lea eax,[esi+00000F4Ch] push ecx push eax call SUB_L004C4430 add esp,00000010h L0044EB7C: mov al,[esp+00000248h] mov byte ptr [esi+00000517h],01h test al,al jz L0044EBA1 lea edx,[esi+0000071Ah] push L00C85FF0 push edx call SUB_L004C44F0 jmp L0044EBFE L0044EBA1: mov eax,[L00C8604C] lea edi,[esi+0000071Ah] lea eax,[eax+eax*2] lea eax,[eax+eax*4] mov cl,[L00C860FC+eax*2] lea eax,[L00C860FC+eax*2] test cl,cl jnz L0044EBCB push L00C880F8 jmp L0044EBCC L0044EBCB: push eax L0044EBCC: push edi call SUB_L004C44F0 add esp,00000008h push SSZ00502F0C__of_ push edi call SUB_L004C4590 mov al,[L00705058] add esp,00000008h test al,al jz L0044EBF3 push L00705058 jmp L0044EBF8 L0044EBF3: push SSZ00502F04_Nowhere L0044EBF8: push edi call SUB_L004C4590 L0044EBFE: mov al,[esp+00000254h] add esp,00000008h test al,al mov byte ptr [esi+00000519h],01h push 00000104h jz L0044EC45 call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],02h jz L0044EC72 push 00000001h push 00000001h push 00000135h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044EC74 L0044EC45: call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],03h jz L0044EC72 push 00000001h push 00000001h push 00000137h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044EC74 L0044EC72: xor eax,eax L0044EC74: mov edi,[esp+00000250h] mov byte ptr [esp+00000220h],00h push edi mov [esi+00000F28h],eax call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044ECB3 lea eax,[esp+18h] push edi push eax call SUB_L004C4430 mov ecx,[esi+00000F28h] add esp,00000008h mov byte ptr [ecx+000000A5h],00h jmp L0044ECC5 L0044ECB3: lea edx,[esp+18h] push SWC00502EB0__Enter_message_subject_here__ push edx call SUB_L004C4430 add esp,00000008h L0044ECC5: mov ecx,[esi+00000F28h] lea eax,[esp+18h] push 00000001h push eax call SUB_L00463F60 mov al,[esp+00000254h] push 00000104h test al,al jz L0044ED11 call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],04h jz L0044ED3B push 00000001h push 00000000h push 00000000h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044ED3D L0044ED11: call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],05h jz L0044ED3B push 00000001h push 00000000h push 00000002h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044ED3D L0044ED3B: xor eax,eax L0044ED3D: mov edi,[esp+00000258h] mov byte ptr [esp+00000220h],00h push edi mov [esi+00000F2Ch],eax call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044ED7C lea ecx,[esp+18h] push edi push ecx call SUB_L004C4430 mov edx,[esi+00000F2Ch] add esp,00000008h mov byte ptr [edx+000000A5h],00h jmp L0044ED8E L0044ED7C: lea eax,[esp+18h] push SWC005030BC__Enter_message_body_here__ push eax call SUB_L004C4430 add esp,00000008h L0044ED8E: lea ecx,[esp+18h] push 00000001h push ecx mov ecx,[esi+00000F2Ch] call SUB_L00463F60 push 00000000h push 00000001h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000002h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000001h push 00000006h mov ecx,esi call SUB_L00449DF0 push 00000005h push 00000004h mov ecx,esi call SUB_L00449DF0 mov eax,[esp+00000234h] mov ecx,[esp+00000238h] test eax,eax mov dword ptr [esi+00000F30h],000001C2h mov dword ptr [esi+00000F34h],0000012Ch jg L0044EE00 mov eax,[esi+20h] L0044EE00: test ecx,ecx jg L0044EE07 mov ecx,[esi+24h] L0044EE07: cmp eax,000001C2h jge L0044EE13 mov eax,000001C2h L0044EE13: cmp ecx,0000012Ch jge L0044EE20 mov ecx,0000012Ch L0044EE20: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+00000218h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000214h retn 0038h ;------------------------------------------------------------------------------ Align 4 L0044EE60: push esi mov esi,ecx call SUB_L0044EE80 test byte ptr [esp+08h],01h jz L0044EE78 push esi call SUB_L004D4F9E add esp,00000004h L0044EE78: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044EE80: push FFFFFFFFh push L004E2B78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EC808 mov ecx,[L00B29468] xor eax,eax cmp ecx,eax mov [esp+10h],eax mov [L00B29464],eax jz L0044EEBE mov eax,[ecx] push 00000001h call [eax] L0044EEBE: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00449D30 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0044EEE0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E2BAC push eax mov eax,0000FACCh mov fs:[00000000h],esp call SUB_L004D4B90 mov eax,[esp+0000FADCh] push esi add eax,FFFFFFFDh mov esi,ecx cmp eax,0000002Fh ja CASE_0044F24C_PROC0000 xor ecx,ecx mov cl,[eax+CASE_0044F260] jmp [CASE_PROCTABLE_0044F24C+ecx*4] CASE_0044F24C_PROC0001: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+0000FAD8h],00000000h jz CASE_0044F24C_PROC0000 mov eax,[esi+24h] push SWC00503030_You_have_not_sent_this_message__ cdq sub eax,edx push 00000004h sar eax,1 push 000000BEh sub eax,0000005Fh push 00000104h push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044F24C_PROC0000 CASE_0044F24C_PROC0002: mov eax,[esi+00000F24h] test eax,eax jz L0044EF98 mov eax,[esi+0000114Ch] test eax,eax jl CASE_0044F24C_PROC0000 L0044EF98: mov eax,[esi+00000F2Ch] test eax,eax jz CASE_0044F24C_PROC0000 mov eax,[eax+000000FCh] test eax,eax jz CASE_0044F24C_PROC0000 mov eax,[eax+0000022Ch] test eax,eax jz CASE_0044F24C_PROC0000 mov edx,[eax] push SWC00502E20__Enter_message_body_here___ push edx call SUB_L004C4320 add esp,00000008h test eax,eax jz CASE_0044F24C_PROC0000 lea eax,[esp+000000D0h] push SWC00503024_To___ push eax call SUB_L004C4430 mov eax,[esi+0000114Ch] add esp,00000008h test eax,eax jl L0044F00B mov ecx,[L00C3E660+eax*4] lea edx,[esp+000000D0h] push ecx push edx jmp L0044F01A L0044F00B: lea eax,[esi+00000F4Ch] lea ecx,[esp+000000D0h] push eax push ecx L0044F01A: call SUB_L004C4550 add esp,00000008h lea edx,[esp+000000D0h] push L00502D0C push edx call SUB_L004C4550 mov eax,[esi+0000114Ch] add esp,00000008h test eax,eax jl L0044F058 mov eax,[L00C3E660+eax*4] lea ecx,[esp+000000D0h] add eax,00000200h push eax push ecx jmp L0044F067 L0044F058: lea edx,[esi+0000051Ah] lea eax,[esp+000000D0h] push edx push eax L0044F067: call SUB_L004C4550 add esp,00000008h lea ecx,[esp+000000D0h] push L00502D04 push ecx call SUB_L004C4550 mov eax,[esi+0000114Ch] add esp,00000008h test eax,eax jl L0044F0A6 mov edx,[L00C3E660+eax*4] lea eax,[esp+000000D0h] add edx,00000400h push edx push eax jmp L0044F0B3 L0044F0A6: lea ecx,[esp+000000D0h] push SWC005030F4_dummy push ecx L0044F0B3: call SUB_L004C4550 add esp,00000008h lea edx,[esp+000000D0h] push SWC0050300C____From___ push edx call SUB_L004C4550 mov ecx,[L005073C8] lea eax,[esp+10h] push 0000000Ah push eax push ecx call SUB_L004C4CC0 lea edx,[esp+1Ch] lea eax,[esp+000000E4h] push edx push eax call SUB_L004C4550 lea ecx,[esp+000000ECh] push SWC00502FE0__messenger_owo_com___ push ecx call SUB_L004C4550 lea edx,[esi+0000071Ah] lea eax,[esp+000000F4h] push edx push eax call SUB_L004C4550 lea ecx,[esp+000000FCh] push SWC00502FC4____Subject__ push ecx call SUB_L004C4550 mov eax,[esi+00000F28h] add esp,00000034h test eax,eax jz L0044F184 mov eax,[eax+000000FCh] test eax,eax jz L0044F184 mov eax,[eax+0000022Ch] test eax,eax jz L0044F184 mov edx,[eax] push SWC00502EB0__Enter_message_subject_here__ push edx call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044F184 mov eax,[esi+00000F28h] mov ecx,[eax+000000FCh] mov edx,[ecx+0000022Ch] lea ecx,[esp+000000D0h] mov eax,[edx] push eax push ecx call SUB_L004C4550 add esp,00000008h L0044F184: lea edx,[esp+000000D0h] push SWC00502FB8_____ push edx call SUB_L004C4550 mov eax,[esi+00000F2Ch] mov ecx,[eax+000000FCh] mov edx,[ecx+0000022Ch] lea ecx,[esp+000000D8h] mov eax,[edx] push eax push ecx call SUB_L004C4550 lea edx,[esp+000000E0h] push edx push 00000007h call SUB_L0049DAD0 add esp,00000018h test esi,esi jz CASE_0044F24C_PROC0000 mov eax,[esi] push 00000001h mov ecx,esi call [eax] jmp CASE_0044F24C_PROC0000 CASE_0044F24C_PROC0003: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+0000FAD8h],00000001h jz CASE_0044F24C_PROC0000 push ebx push edi mov edi,[esi+24h] mov ebx,[esi+20h] mov eax,edi cdq sub eax,edx sar eax,1 push eax mov eax,ebx cdq sub eax,edx sar eax,1 push eax mov eax,edi cdq and edx,00000003h add eax,edx sar eax,02h push eax mov eax,ebx cdq and edx,00000003h add eax,edx sar eax,02h push eax push esi call SUB_L0044D4F0 pop edi pop ebx CASE_0044F24C_PROC0000: mov ecx,[esp+0000FAD0h] pop esi mov fs:[00000000h],ecx add esp,0000FAD8h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044F24C: dd CASE_0044F24C_PROC0000 dd CASE_0044F24C_PROC0001 dd CASE_0044F24C_PROC0002 dd CASE_0044F24C_PROC0003 dd CASE_0044F24C_PROC0000 CASE_0044F260: db 00h, 01h, 00h, 02h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 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, 03h L0044F290: mov eax,[esp+04h] sub esp,00000200h cmp eax,00000004h push esi mov esi,ecx jnz L0044F2B8 test esi,esi jz L0044F2AC mov eax,[esi] push 00000001h call [eax] L0044F2AC: xor al,al pop esi add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ L0044F2B8: cmp eax,00000032h jnz L0044F426 mov eax,[esp+00000210h] test eax,eax jl L0044F426 mov [esi+0000114Ch],eax mov eax,[L00C3E660+eax*4] test eax,eax push edi jz L0044F2FF mov cl,[eax+00000600h] test cl,cl jz L0044F2FF lea ecx,[esi+0000071Ah] push L00C85FF0 push ecx call SUB_L004C44F0 jmp L0044F35C L0044F2FF: mov eax,[L00C8604C] lea edi,[esi+0000071Ah] lea eax,[eax+eax*2] lea eax,[eax+eax*4] mov cl,[L00C860FC+eax*2] lea eax,[L00C860FC+eax*2] test cl,cl jnz L0044F329 push L00C880F8 jmp L0044F32A L0044F329: push eax L0044F32A: push edi call SUB_L004C44F0 add esp,00000008h push SSZ00502F0C__of_ push edi call SUB_L004C4590 mov al,[L00705058] add esp,00000008h test al,al jz L0044F351 push L00705058 jmp L0044F356 L0044F351: push SSZ00502F04_Nowhere L0044F356: push edi call SUB_L004C4590 L0044F35C: mov edx,[esi+0000114Ch] add esp,00000008h mov eax,[L00C3E660+edx*4] pop edi test eax,eax jz L0044F402 add eax,00000200h push 00000100h push eax lea eax,[esp+0Ch] push eax call SUB_L004C4460 mov ecx,[esi+0000114Ch] mov edx,[L00C3E660+ecx*4] add edx,00000400h push edx call SUB_L004C4300 add esp,00000010h test eax,eax jz L0044F414 mov eax,[esi+0000114Ch] mov ecx,[L00C3E660+eax*4] cmp word ptr [ecx+00000400h],0005h jbe L0044F414 lea edx,[esp+04h] push L00502D2C push edx call SUB_L004C4550 mov eax,[esi+0000114Ch] lea edx,[esp+0Ch] mov ecx,[L00C3E660+eax*4] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+14h] push L00502D00 push eax call SUB_L004C4550 add esp,00000018h jmp L0044F414 L0044F402: lea ecx,[esp+04h] push SWC00502F14__Click_here_to_select_recipient_ push ecx call SUB_L004C4430 add esp,00000008h L0044F414: mov ecx,[esi+00000F24h] lea edx,[esp+04h] push 00000001h push edx call SUB_L00463F60 L0044F426: mov al,01h pop esi add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0044F440: push ebx push ebp mov ebp,ecx push esi push edi mov ebx,FFFFFFFDh lea edi,[ebp+0000009Ch] xor esi,esi L0044F453: mov eax,[edi] cmp eax,esi jz L0044F4BD cmp ebx,0000000Ah ja L0044F4BD jmp [CASE_PROCTABLE_0044F4D0+ebx*4] CASE_0044F4D0_PROC0003: cmp [ebp+0000114Ch],esi jl L0044F4A9 mov eax,[ebp+00000F2Ch] cmp eax,esi jz L0044F4A9 mov eax,[eax+000000FCh] cmp eax,esi jz L0044F4A9 mov eax,[eax+0000022Ch] cmp eax,esi jz L0044F4A9 mov eax,[eax] push SWC00502E20__Enter_message_body_here___ push eax call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044F4A9 mov ecx,[edi] mov [ecx+000000C4h],esi jmp L0044F4BD L0044F4A9: mov edx,[edi] mov dword ptr [edx+000000C4h],00000001h jmp L0044F4BD CASE_0044F4D0_PROC0000: mov [eax+000000C4h],esi L0044F4BD: add edi,00000004h inc ebx lea eax,[ebx+03h] cmp eax,0000000Fh jl L0044F453 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044F4D0: dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0003 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 dd CASE_0044F4D0_PROC0000 Align 8 SUB_L0044F500: push FFFFFFFFh push L004E2BE7 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000208h push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00449C10 mov dword ptr [esi],L004EC9A4 mov ecx,[L00B29460] xor ebx,ebx cmp ecx,ebx mov [esp+00000220h],ebx jz L0044F54F mov eax,[ecx] mov edi,00000001h push edi call [eax] jmp L0044F554 L0044F54F: mov edi,00000001h L0044F554: mov ecx,[esp+0000023Ch] mov edx,[esp+0000022Ch] mov eax,[esp+00000230h] mov [L00B29460],esi mov byte ptr [L00B2945C],00h mov [esi+14h],ebx lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 00000FA1h mov [esi+00000F4Ch],ecx mov [esi+30h],edx mov [esi+34h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov ecx,[esi+18h] push SSZ00500050_ChatGump_framedata shl ecx,03h push ecx mov [esi+24h],edi mov [esi+1Ch],edi mov [esi+20h],edi call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 lea ecx,[esi+00000116h] push SWC00503100_Read_Message push ecx call SUB_L004C4430 mov eax,[esi+00000F4Ch] add esp,00000040h test eax,eax mov byte ptr [esi+00000516h],01h jl L0044F6AE mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F6AE push eax call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044F6AE mov edx,[esi+00000F4Ch] push 00000100h lea ecx,[esi+0000051Ah] mov eax,[L00C405A0+edx*4] push eax push ecx call SUB_L004C4460 add esp,0000000Ch jmp L0044F6C2 L0044F6AE: lea edx,[esi+0000051Ah] push L00C85FF0 push edx call SUB_L004C44F0 add esp,00000008h L0044F6C2: mov eax,[esi+00000F4Ch] mov byte ptr [esi+00000517h],01h test eax,eax jl L0044F6F8 mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F6F8 add eax,00000400h push 00000100h push eax lea eax,[esi+0000071Ah] push eax call SUB_L004C4460 add esp,0000000Ch L0044F6F8: mov eax,[esi+00000F4Ch] mov byte ptr [esi+00000518h],01h test eax,eax jl L0044F72E mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F72E add eax,00000A00h push 00000100h lea ecx,[esi+0000091Ah] push eax push ecx call SUB_L004C4460 add esp,0000000Ch L0044F72E: mov eax,[esi+00000F4Ch] mov byte ptr [esi+00000519h],01h test eax,eax jl L0044F764 mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F764 add eax,00000800h push 00000100h lea edx,[esi+00000B1Ah] push eax push edx call SUB_L004C4460 add esp,0000000Ch L0044F764: mov eax,[esi+00000F4Ch] test eax,eax jl L0044F7B1 mov eax,[L00C405A0+eax*4] push eax call SUB_L004C4300 add esp,00000004h test eax,eax jz L0044F7B1 push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],01h jz L0044F7E0 push 00000001h push 00000000h push 00000042h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044F7E2 L0044F7B1: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+00000220h],02h jz L0044F7E0 push 00000001h push 00000000h push 00000002h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0044F7E2 L0044F7E0: xor eax,eax L0044F7E2: mov [esi+00000F2Ch],eax mov eax,[esi+00000F4Ch] test eax,eax mov byte ptr [esp+00000220h],00h jl L0044F819 mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F819 mov ecx,[eax+00000C0Ch] push 00000001h push ecx mov ecx,[esi+00000F2Ch] call SUB_L00463F60 L0044F819: mov edx,[esi+00000F2Ch] push 00000000h push 00000001h mov ecx,esi mov byte ptr [edx+000000A5h],00h call SUB_L00449DF0 push 00000000h push 00000002h mov ecx,esi call SUB_L00449DF0 push 00000000h push 00000000h mov ecx,esi call SUB_L00449DF0 push 00000001h push 00000007h mov ecx,esi call SUB_L00449DF0 push 00000003h push 0000000Ah mov ecx,esi call SUB_L00449DF0 push 00000004h push 00000008h mov ecx,esi call SUB_L00449DF0 push 00000005h push 00000009h mov ecx,esi call SUB_L00449DF0 mov ecx,[esi+00000F2Ch] push 0000012Ch push 000001C2h push 00000000h push 00000000h mov dword ptr [esi+00000F30h],000001C2h mov dword ptr [esi+00000F34h],0000012Ch call SUB_L00463DF0 mov eax,[esi+00000F4Ch] test eax,eax jl L0044F902 mov eax,[L00C405A0+eax*4] test eax,eax jz L0044F902 mov dword ptr [eax+00000C10h],00000001h mov ecx,[esi+00000F4Ch] lea eax,[esp+18h] push 0000000Ah mov edx,[L00C405A0+ecx*4] push eax mov eax,[edx+00000C04h] push eax call SUB_L004C4CC0 lea ecx,[esp+24h] push L00502DE4 push ecx call SUB_L004C4550 lea edx,[esp+2Ch] push edx push 0000000Eh call SUB_L0049DAD0 add esp,0000001Ch call SUB_L00468370 L0044F902: mov eax,[esp+00000234h] mov ecx,[esp+00000238h] test eax,eax jg L0044F917 mov eax,[esi+20h] L0044F917: test ecx,ecx jg L0044F91E mov ecx,[esi+24h] L0044F91E: mov edx,[esi+00000F30h] cmp eax,edx jge L0044F92A mov eax,edx L0044F92A: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044F936 mov ecx,edx L0044F936: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+00000218h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000214h retn 0018h ;------------------------------------------------------------------------------ Align 16 L0044F980: push esi mov esi,ecx call SUB_L0044F9A0 test byte ptr [esp+08h],01h jz L0044F998 push esi call SUB_L004D4F9E add esp,00000004h L0044F998: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0044F9A0: xor eax,eax mov dword ptr [ecx],L004EC9A4 mov [L00B29460],eax mov [L00B2945C],al jmp SUB_L00449D30 Align 16 L0044F9C0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E2C38 push eax mov fs:[00000000h],esp sub esp,000002CCh push esi mov esi,ecx mov ecx,[esp+000002E0h] lea eax,[ecx-03h] cmp eax,0000002Fh ja CASE_0044FC48_PROC0000 xor edx,edx mov dl,[eax+CASE_0044FC60] jmp [CASE_PROCTABLE_0044FC48+edx*4] CASE_0044FC48_PROC0001: mov eax,[esi+00000F4Ch] test eax,eax jl CASE_0044FC48_PROC0000 mov eax,[L00C405A0+eax*4] mov dl,[eax+00000C08h] test dl,dl jnz L0044FA67 mov byte ptr [L00B2945D],00h mov byte ptr [L00B2945C],01h mov [L00B29458],ecx mov edx,[esi+00000F4Ch] lea ecx,[esp+08h] push 0000000Ah mov eax,[L00C405A0+edx*4] push ecx mov ecx,[eax+00000C04h] push ecx call SUB_L004C4CC0 lea edx,[esp+14h] push edx push 00000006h call SUB_L0049DAD0 add esp,00000014h jmp CASE_0044FC48_PROC0000 L0044FA67: push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000000h jz CASE_0044FC48_PROC0000 mov ecx,[esi+00000F4Ch] mov edx,[esi+24h] push FFFFFFFFh push ecx mov ecx,[esi+20h] push FFFFFFFFh push edx push ecx jmp L0044FC21 CASE_0044FC48_PROC0002: push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000001h jz CASE_0044FC48_PROC0000 push SWC00502C44_Are_you_sure_you_want_to_delete_ push 00000008h L0044FAD0: mov eax,[esi+24h] push 000000BEh cdq sub eax,edx push 00000104h sar eax,1 sub eax,0000005Fh push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,00000082h push eax push esi call SUB_L0044FF70 jmp CASE_0044FC48_PROC0000 CASE_0044FC48_PROC0003: lea edx,[esp+000000D0h] push SWC00502B14_This_will_permanently_delete_the push edx call SUB_L004C4430 mov eax,[esi+00000F4Ch] add esp,00000008h test eax,eax jl L0044FB43 cmp eax,[L00C42CD0] jge L0044FB43 mov eax,[L00C405A0+eax*4] lea ecx,[esp+000000D0h] add eax,00000400h push eax push ecx call SUB_L004C4550 add esp,00000008h L0044FB43: lea edx,[esp+000000D0h] push SWC00502B88___Are_you_sure_you_want_to_do_th push edx call SUB_L004C4550 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,0000000Ch mov [esp+04h],ecx test ecx,ecx mov dword ptr [esp+000002D8h],00000002h jz CASE_0044FC48_PROC0000 lea eax,[esp+000000D0h] push eax push 00000009h jmp L0044FAD0 CASE_0044FC48_PROC0004: mov eax,[esi+00000F4Ch] test eax,eax jl CASE_0044FC48_PROC0000 mov edx,[L00C405A0+eax*4] mov al,[edx+00000C08h] test al,al jnz L0044FBEE mov byte ptr [L00B2945D],00h mov byte ptr [L00B2945C],01h mov [L00B29458],ecx mov ecx,[esi+00000F4Ch] lea eax,[esp+6Ch] push 0000000Ah mov edx,[L00C405A0+ecx*4] push eax mov eax,[edx+00000C04h] push eax call SUB_L004C4CC0 lea ecx,[esp+78h] push ecx push 00000006h call SUB_L0049DAD0 add esp,00000014h jmp CASE_0044FC48_PROC0000 L0044FBEE: push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000002D8h],00000003h jz CASE_0044FC48_PROC0000 mov edx,[esi+00000F4Ch] mov ecx,[esi+24h] push edx mov edx,[esi+20h] push FFFFFFFFh push FFFFFFFFh push ecx push edx L0044FC21: push 00000005h push 00000005h push esi mov ecx,eax call SUB_L0044D820 CASE_0044FC48_PROC0000: mov ecx,[esp+000002D0h] pop esi mov fs:[00000000h],ecx add esp,000002D8h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0044FC48: dd CASE_0044FC48_PROC0000 dd CASE_0044FC48_PROC0001 dd CASE_0044FC48_PROC0002 dd CASE_0044FC48_PROC0003 dd CASE_0044FC48_PROC0004 dd CASE_0044FC48_PROC0000 CASE_0044FC60: db 00h, 00h, 00h, 00h, 01h, 02h, 03h, 04h, 00h, 00h, 00h, 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, 00h L0044FC90: mov eax,[esp+04h] sub esp,00000664h cmp eax,00000009h push ebp push esi mov ebp,ecx jnz L0044FE3A mov eax,[ebp+00000F4Ch] test eax,eax jl L0044FDDD mov eax,[L00C42CDC] push ebx or ebx,FFFFFFFFh xor esi,esi test eax,eax push edi jle L0044FD05 mov edi,L00C3E660 L0044FCCA: mov eax,[ebp+00000F4Ch] mov edx,[edi] mov ecx,[L00C405A0+eax*4] add ecx,00000600h push ecx push edx call SUB_L004C4320 add esp,00000008h test eax,eax jz L0044FCFC mov eax,[L00C42CDC] inc esi add edi,00000004h cmp esi,eax jl L0044FCCA jmp L0044FCFE L0044FCFC: mov ebx,esi L0044FCFE: mov eax,[L00C42CDC] test eax,eax L0044FD05: jz L0044FDBB test ebx,ebx jl L0044FDBB lea eax,[esp+74h] push L00502D14 push eax call SUB_L004C4430 mov ecx,[L00C3E660+ebx*4] lea edx,[esp+7Ch] push ecx push edx call SUB_L004C4550 lea eax,[esp+00000084h] push L00502D0C push eax call SUB_L004C4550 mov ecx,[L00C3E660+ebx*4] lea edx,[esp+0000008Ch] add ecx,00000200h push ecx push edx call SUB_L004C4550 lea eax,[esp+00000094h] push L00502D04 push eax call SUB_L004C4550 mov ecx,[L00C3E660+ebx*4] lea edx,[esp+0000009Ch] add ecx,00000400h push ecx push edx call SUB_L004C4550 lea eax,[esp+000000A4h] push L00502D00 push eax call SUB_L004C4550 lea ecx,[esp+000000ACh] push ecx push 00000005h call SUB_L0049DAD0 add esp,00000040h push ebx call SUB_L00469150 add esp,00000004h L0044FDBB: mov edx,[ebp+00000F4Ch] push edx call SUB_L004681F0 call SUB_L00468370 push L007050D8 push 00000009h call SUB_L0049DAD0 add esp,0000000Ch pop edi pop ebx L0044FDDD: mov esi,[L00B29470] test esi,esi jz L0044FE1C mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044FDF9 mov eax,edx L0044FDF9: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044FE05 mov ecx,edx L0044FE05: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044FE1C: test ebp,ebp jz L0044FED3 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] pop esi xor al,al pop ebp add esp,00000664h retn 000Ch ;------------------------------------------------------------------------------ L0044FE3A: cmp eax,00000008h jnz L0044FEE0 mov eax,[ebp+00000F4Ch] test eax,eax jl L0044FE87 mov edx,[L00C405A0+eax*4] lea ecx,[esp+08h] push 0000000Ah push ecx mov eax,[edx+00000C04h] push eax call SUB_L004C4CC0 lea ecx,[esp+14h] push ecx push 00000008h call SUB_L0049DAD0 mov edx,[ebp+00000F4Ch] push edx call SUB_L004681F0 add esp,00000018h call SUB_L00468370 L0044FE87: mov esi,[L00B29470] test esi,esi jz L0044FEC6 mov eax,[esi+20h] mov edx,[esi+00000F30h] mov ecx,[esi+24h] cmp eax,edx jge L0044FEA3 mov eax,edx L0044FEA3: mov edx,[esi+00000F34h] cmp ecx,edx jge L0044FEAF mov ecx,edx L0044FEAF: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 L0044FEC6: test ebp,ebp jz L0044FED3 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] L0044FED3: pop esi xor al,al pop ebp add esp,00000664h retn 000Ch ;------------------------------------------------------------------------------ L0044FEE0: pop esi mov al,01h pop ebp add esp,00000664h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L0044FEF0: db 56h; 'V' db 57h; 'W' db 8Dh; '?' db B1h; '+' db 9Ch; '?' db 00h; db 00h; db 00h; db BAh; 'ó' db FDh; 'í' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 33h; '3' db C9h; '‰' db BFh; 'õ' db 01h; db 00h; db 00h; db 00h; db 8Bh; '<' db 06h; db 3Bh; ';' db C1h; '' db 74h; 't' db 22h; '"' db 83h; '?' db FAh; 'ê' db 0Ah; db 77h; 'w' db 1Dh; db FFh; 'ï' db 24h; '$' db 95h; db 3Ch; '<' db FFh; 'ï' db 44h; 'D' db 00h; db 39h; '9' db 0Dh; db 64h; 'd' db 94h; '"' db B2h; 'I' db 00h; db 74h; 't' db 08h; db 89h; '%' db B8h; 'ñ' db C4h; '„' db 00h; db 00h; db 00h; db EBh; '«' db 06h; db 89h; '%' db 88h; '?' db C4h; '„' db 00h; db 00h; db 00h; db 83h; '?' db C6h; '†' db 04h; db 42h; 'B' db 8Dh; '?' db 42h; 'B' db 03h; db 83h; '?' db F8h; 'è' db 0Fh; db 7Ch; '|' db CCh; 'Œ' db 5Fh; '_' db 5Eh; '^' db C3h; 'ƒ' db 90h; '?' db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 16h; db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 16h; db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 26h; '&' db FFh; 'ï' db 44h; 'D' db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L0044FF70: push FFFFFFFFh push L004E2C58 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov ecx,[esp+38h] mov edx,[esp+28h] lea ebx,[esi+2Ch] lea ebp,[esi+28h] mov [esi+00000F4Ch],ecx mov ecx,[esp+2Ch] push ebx xor eax,eax push ebp push 00000FA1h mov [esp+28h],eax mov dword ptr [esi],L004ECB40 mov [esi+30h],edx mov [esi+34h],ecx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov edx,[esi+18h] mov eax,00000001h shl edx,03h push SSZ00500050_ChatGump_framedata push edx mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx] mov edx,[esi+3Ch] mov ecx,[ebp+00h] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+74h] push 00000100h lea edx,[esi+00000316h] push ecx push edx call SUB_L004C4460 add esp,00000044h mov ecx,esi push 00000001h push 00000003h call SUB_L00449DF0 push 00000005h push 00000004h mov ecx,esi call SUB_L00449DF0 mov eax,[esp+30h] mov ecx,[esp+34h] test eax,eax mov dword ptr [esi+00000F30h],00000096h mov dword ptr [esi+00000F34h],00000064h jg L004500DB mov eax,[esi+20h] L004500DB: test ecx,ecx jg L004500E2 mov ecx,[esi+24h] L004500E2: cmp eax,00000096h jge L004500EE mov eax,00000096h L004500EE: cmp ecx,00000064h jge L004500F8 mov ecx,00000064h L004500F8: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 mov eax,[esp+24h] push 00000001h push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 001Ch ;------------------------------------------------------------------------------ Align 16 L00450140: push esi mov esi,ecx call SUB_L00450160 test byte ptr [esp+08h],01h jz L00450158 push esi call SUB_L004D4F9E add esp,00000004h L00450158: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00450160: mov dword ptr [ecx],L004ECB40 jmp SUB_L00449D30 Align 8 L00450170: mov eax,[esp+04h] push esi add eax,FFFFFFFDh mov esi,ecx cmp eax,0000002Fh ja CASE_004501EC_PROC0002 xor ecx,ecx mov cl,[eax+CASE_004501FC] jmp [CASE_PROCTABLE_004501EC+ecx*4] CASE_004501EC_PROC0000: mov ecx,[esi+4Ch] test ecx,ecx jz L004501BC mov eax,[esi+00000F4Ch] mov edx,[ecx] push 00000000h push 00000000h push eax call [edx+00000194h] test al,al jz CASE_004501EC_PROC0002 test esi,esi jz CASE_004501EC_PROC0002 mov edx,[esi] push 00000001h mov ecx,esi call [edx] pop esi retn 0004h ;------------------------------------------------------------------------------ L004501BC: cmp dword ptr [esi+00000F4Ch],00000033h jnz L004501CA call SUB_L0045AE80 L004501CA: test esi,esi jz CASE_004501EC_PROC0002 mov eax,[esi] push 00000001h mov ecx,esi call [eax] pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_004501EC_PROC0001: test esi,esi jz CASE_004501EC_PROC0002 mov edx,[esi] push 00000001h mov ecx,esi call [edx] CASE_004501EC_PROC0002: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004501EC: dd CASE_004501EC_PROC0000 dd CASE_004501EC_PROC0001 dd CASE_004501EC_PROC0002 dd CASE_004501EC_PROC0002 CASE_004501FC: db 00h, 01h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 02h Align 8 SUB_L00450230: push FFFFFFFFh push L004E2C78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov ecx,[esp+38h] mov edx,[esp+28h] lea ebx,[esi+2Ch] lea ebp,[esi+28h] mov [esi+00000F4Ch],ecx mov ecx,[esp+2Ch] push ebx xor eax,eax push ebp push 00000FA1h mov [esp+28h],eax mov dword ptr [esi],L004ECCDC mov [esi+30h],edx mov [esi+34h],ecx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov edx,[esi+18h] mov eax,00000001h shl edx,03h push SSZ00500050_ChatGump_framedata push edx mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebx] mov edx,[esi+3Ch] mov ecx,[ebp+00h] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+74h] push 00000100h lea edx,[esi+00000316h] push ecx push edx call SUB_L004C4460 add esp,00000044h mov ecx,esi push 00000002h push 00000003h call SUB_L00449DF0 mov eax,[esp+30h] mov ecx,[esp+34h] test eax,eax mov dword ptr [esi+00000F30h],00000096h mov dword ptr [esi+00000F34h],00000064h jg L00450390 mov eax,[esi+20h] L00450390: test ecx,ecx jg L00450397 mov ecx,[esi+24h] L00450397: cmp eax,00000096h jge L004503A3 mov eax,00000096h L004503A3: cmp ecx,00000064h jge L004503AD mov ecx,00000064h L004503AD: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 mov eax,[esp+24h] push 00000001h push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 001Ch ;------------------------------------------------------------------------------ Align 8 L004503F0: push esi mov esi,ecx call SUB_L00450410 test byte ptr [esp+08h],01h jz L00450408 push esi call SUB_L004D4F9E add esp,00000004h L00450408: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00450410: mov dword ptr [ecx],L004ECCDC jmp SUB_L00449D30 Align 8 L00450420: mov eax,[esp+04h] push esi add eax,FFFFFFFDh mov esi,ecx cmp eax,0000002Fh ja CASE_0045047C_PROC0001 xor ecx,ecx mov cl,[eax+CASE_00450488] jmp [CASE_PROCTABLE_0045047C+ecx*4] CASE_0045047C_PROC0000: mov ecx,[esi+4Ch] test ecx,ecx jz L0045046C mov eax,[esi+00000F4Ch] mov edx,[ecx] push 00000000h push 00000000h push eax call [edx+00000194h] test al,al jz CASE_0045047C_PROC0001 test esi,esi jz CASE_0045047C_PROC0001 mov edx,[esi] push 00000001h mov ecx,esi call [edx] pop esi retn 0004h ;------------------------------------------------------------------------------ L0045046C: test esi,esi jz CASE_0045047C_PROC0001 mov eax,[esi] push 00000001h mov ecx,esi call [eax] CASE_0045047C_PROC0001: pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_0045047C: dd CASE_0045047C_PROC0000 dd CASE_0045047C_PROC0001 dd CASE_0045047C_PROC0001 CASE_00450488: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 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, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 01h Align 16 SUB_L004504C0: push FFFFFFFFh push L004E2CA3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00449C10 mov ecx,[esp+38h] mov edx,[esp+28h] lea ebp,[esi+2Ch] lea ebx,[esi+28h] mov [esi+00000F4Ch],ecx mov ecx,[esp+2Ch] push ebp xor eax,eax push ebx push 00000FA1h mov [esp+28h],eax mov dword ptr [esi],L004ECE78 mov [esi+30h],edx mov [esi+34h],ecx mov [esi+14h],eax mov dword ptr [esi+18h],00000002h call SUB_L004434A0 mov edx,[esi+18h] mov eax,00000001h shl edx,03h push SSZ00500050_ChatGump_framedata push edx mov [esi+24h],eax mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00500040_ChatGump_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+0Ch] add eax,00000004h push eax push 00000000h push 00000000h push 00000FA1h push SUB_L004B9B80 call SUB_L00443500 push 00000100h lea ecx,[esi+00000116h] push SWC0050311C_Edit_Description push ecx mov byte ptr [esi+00000114h],01h call SUB_L004C4460 mov edx,[esp+00000080h] add esp,00000044h lea eax,[esi+00000316h] push 00000100h push edx push eax call SUB_L004C4460 push 00000104h mov byte ptr [esi+00000115h],01h call SUB_L004D4FA9 add esp,00000010h mov [esp+38h],eax test eax,eax mov byte ptr [esp+1Ch],01h jz L00450648 push 00000001h push 00000000h push 00000135h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L0045064A L00450648: xor eax,eax L0045064A: mov ecx,[esp+40h] push 00000001h push ecx mov ecx,eax mov byte ptr [esp+24h],00h mov [esi+00000F2Ch],eax call SUB_L00463F60 mov edx,[esi+00000F2Ch] push 00000001h push 00000003h mov ecx,esi mov byte ptr [edx+000000A5h],00h call SUB_L00449DF0 push 00000005h push 00000004h mov ecx,esi call SUB_L00449DF0 mov eax,[esp+30h] mov ecx,[esp+34h] test eax,eax mov dword ptr [esi+00000F30h],00000096h mov dword ptr [esi+00000F34h],0000004Bh jg L004506A9 mov eax,[esi+20h] L004506A9: test ecx,ecx jg L004506B0 mov ecx,[esi+24h] L004506B0: cmp eax,00000096h jge L004506BC mov eax,00000096h L004506BC: cmp ecx,0000004Bh jge L004506C6 mov ecx,0000004Bh L004506C6: mov [esi+24h],ecx mov ecx,esi mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L0044A530 mov ecx,esi call SUB_L0044ACA0 mov eax,[esp+24h] push 00000001h push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 L00450710: push esi mov esi,ecx call SUB_L00450730 test byte ptr [esp+08h],01h jz L00450728 push esi call SUB_L004D4F9E add esp,00000004h L00450728: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00450730: mov dword ptr [ecx],L004ECE78 jmp SUB_L00449D30 Align 8 L00450740: mov eax,[esp+04h] push esi add eax,FFFFFFFDh mov esi,ecx cmp eax,0000002Fh ja CASE_004507B8_PROC0002 xor ecx,ecx mov cl,[eax+CASE_004507C8] jmp [CASE_PROCTABLE_004507B8+ecx*4] CASE_004507B8_PROC0000: mov ecx,[esi+4Ch] test ecx,ecx jz L00450797 mov eax,[esi+00000F2Ch] test eax,eax jz L00450797 mov eax,[eax+000000FCh] test eax,eax jz L00450797 mov eax,[eax+0000022Ch] test eax,eax jz L00450797 mov eax,[eax] mov edx,[ecx] push 00000000h push eax mov eax,[esi+00000F4Ch] push eax call [edx+00000194h] L00450797: test esi,esi jz CASE_004507B8_PROC0002 mov edx,[esi] push 00000001h mov ecx,esi call [edx] pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_004507B8_PROC0001: test esi,esi jz CASE_004507B8_PROC0002 mov eax,[esi] push 00000001h mov ecx,esi call [eax] CASE_004507B8_PROC0002: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004507B8: dd CASE_004507B8_PROC0000 dd CASE_004507B8_PROC0001 dd CASE_004507B8_PROC0002 dd CASE_004507B8_PROC0002 CASE_004507C8: db 00h, 01h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h db 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 03h, 02h Align 16 L00450800: db B0h; 'ø' db 01h; db C2h; '‚' db 0Ch; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 51h; 'Q' db 8Ah; '?' db 44h; 'D' db 24h; '$' db 03h; db 6Ah; 'j' db 0Ch; db A2h; '÷' db E8h; '¨' db 94h; '"' db BEh; '?' db 00h; db E8h; '¨' db 88h; '?' db 47h; 'G' db 08h; db 00h; db 89h; '%' db 00h; db 89h; '%' db 40h; '@' db 04h; db 68h; 'h' db 50h; 'P' db 08h; db 45h; 'E' db 00h; db A3h; '?' db ECh; '¬' db 94h; '"' db BEh; '?' db 00h; db C7h; '‡' db 05h; db F0h; 'à' db 94h; '"' db BEh; '?' db 00h; db 00h; db 00h; db 00h; db 00h; db E8h; '¨' db 6Eh; 'n' db 48h; 'H' db 08h; db 00h; db 83h; '?' db C4h; '„' db 0Ch; 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 56h; 'V' db 57h; 'W' db 8Bh; '<' db 3Dh; '=' db ECh; '¬' db 94h; '"' db BEh; '?' db 00h; db 8Bh; '<' db 37h; '7' db 3Bh; ';' db F7h; 'ç' db 74h; 't' db 2Dh; '-' db 8Bh; '<' db C6h; '†' db 8Bh; '<' db 36h; '6' db 50h; 'P' db 8Bh; '<' db 48h; 'H' db 04h; db 8Bh; '<' db 10h; db 89h; '%' db 11h; db 8Bh; '<' db 08h; db 8Bh; '<' db 50h; 'P' db 04h; db 89h; '%' db 51h; 'Q' db 04h; db E8h; '¨' db 27h; ''' db 47h; 'G' db 08h; db 00h; db 8Bh; '<' db 0Dh; db F0h; 'à' db 94h; '"' db BEh; '?' db 00h; db 83h; '?' db C4h; '„' db 04h; db 49h; 'I' db 3Bh; ';' db F7h; 'ç' db 89h; '%' db 0Dh; db F0h; 'à' db 94h; '"' db BEh; '?' db 00h; db 75h; 'u' db D3h; '“' db A1h; 'ö' db ECh; '¬' db 94h; '"' db BEh; '?' db 00h; db 50h; 'P' db E8h; '¨' db 08h; db 47h; 'G' db 08h; db 00h; db 83h; '?' db C4h; '„' db 04h; db 33h; '3' db C0h; '€' db A3h; '?' db ECh; '¬' db 94h; '"' db BEh; '?' db 00h; db A3h; '?' db F0h; 'à' db 94h; '"' db BEh; '?' db 00h; db 5Fh; '_' db 5Eh; '^' db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' 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; '?' SUB_L004508C0: push esi push edi mov edi,[esp+0Ch] mov ecx,[edi+00000080h] test ecx,ecx jz L0045090A mov eax,[ecx] call [eax+24h] test eax,eax jz L0045090A mov esi,[L00B294DC] test esi,esi jz L00450905 L004508E3: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L004508FE mov eax,[esi+38h] mov ecx,[edi+00000080h] cmp eax,ecx jz L0045094E L004508FE: mov esi,[esi+40h] test esi,esi jnz L004508E3 L00450905: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045090A: mov ecx,[edi+00000080h] test ecx,ecx jz L00450905 mov edx,[ecx] call [edx+30h] test eax,eax jz L00450905 mov esi,[L00B294DC] test esi,esi jz L00450905 L00450927: mov eax,[esi] mov ecx,esi call [eax+000000CCh] test eax,eax jz L00450942 mov ecx,[esi+38h] mov eax,[edi+00000080h] cmp ecx,eax jz L0045094E L00450942: mov esi,[esi+40h] test esi,esi jnz L00450927 pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045094E: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00450960: push ebx push SSZ00503158_CGumpManager__startup____begin__ call SUB_L004C7F20 push 00096000h call SUB_L004D4FA9 mov [L00BE94F8],eax mov eax,00000010h mov [L00B28A70],eax mov [L00B28A74],eax xor ebx,ebx mov eax,00000001h add esp,00000008h mov [L00B29050],eax mov [L00B2904C],ebx mov [L00B29048],ebx mov [L00B29044],eax mov [L00B294C0],ebx mov [L00B294B0],ebx mov [L00B294AC],ebx mov [L00B29064],ebx mov [L00B294C4],ebx mov [L00B294DC],ebx mov [L00B294D8],ebx mov [L00B294CC],ebx mov [L00B294C8],ebx mov [L00B28A68],ebx mov [L00B28A6C],ebx mov [L00B294B8],ebx mov [L00B294BC],ebx mov [L00B294A4],ebx mov [L00B29498],ebx mov [L00B29494],ebx mov [L00B29490],ebx mov [L00B2948C],ebx mov [L00B29478],ebx mov [L00B29474],ebx mov [L00B29470],ebx mov [L00B2946C],ebx mov [L00B29468],ebx mov [L00B29464],ebx mov [L00B29460],ebx mov [L00B2945D],bl mov [L00B2945C],bl mov dword ptr [L00B29458],FFFFFFFFh mov [L00B29454],ebx mov [L00B2906C],bx mov [L00B29060],ebx mov [L00B2905C],ebx mov [L00B29488],ebx mov [L00B29058],ebx mov [L00B29054],ebx mov [L00B29484],ebx call SUB_L004B5B70 mov [L00B28A78],ebx mov [L00B28AA6],bl mov [L00B28AA8],bx mov [L00B28AAA],bx mov [L00B28AAC],bx mov [L00B28AB2],bx mov [L00B28AB4],bx mov [L00B28AB6],bx mov [L00B28AB8],bx mov [L00B28ABC],ebx mov [L00B28AC0],bx mov [L00B28AC2],bx pop ebx retn ;------------------------------------------------------------------------------ Align 4 L00450AE0: push SSZ0050317C_CGumpManager__shutdown____begin_ call SUB_L004C7F20 mov ecx,[L00B294DC] add esp,00000004h test ecx,ecx jz L00450B07 L00450AF7: mov eax,[ecx] push 00000001h call [eax] mov ecx,[L00B294DC] test ecx,ecx jnz L00450AF7 L00450B07: mov ecx,[L00B294CC] mov dword ptr [L00B294D8],00000000h test ecx,ecx jz L00450B21 mov edx,[ecx] push 00000001h call [edx] L00450B21: mov eax,[L00BE9504] mov dword ptr [L00B294CC],00000000h test eax,eax mov dword ptr [L00B294C8],00000000h jz L00450B45 push eax call [GDI32.dll!DeleteDC] L00450B45: call SUB_L004CB840 mov eax,[L00BE94F8] test eax,eax jz L00450B5A push eax call SUB_L004D4F9E pop ecx L00450B5A: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00450B60: push FFFFFFFFh push L004E2D2D mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi push edi mov eax,[esp+30h] mov dword ptr [esp+28h],00000001h and eax,000000FFh cmp eax,00000003h ja L004514D7 jmp [CASE_PROCTABLE_004514EC+eax*4] CASE_004514EC_PROC0000: mov esi,[esp+34h] test esi,esi jnz L00450D4B mov esi,[esp+38h] mov eax,[L00C8C4D4] test esi,esi jnz L00450EBA test eax,eax jz L00450CB7 push 00000019h call SUB_L004D5A3E mov edx,[esp+44h] mov ebp,eax mov ax,[esp+40h] push 0000000Ch mov [ebp+00h],ax lea eax,[ebp+02h] mov ecx,eax add eax,00000006h mov [ecx],edx mov dx,[esp+4Ch] mov [ecx+04h],dx mov edx,[esp+50h] mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[esp+54h] inc eax mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-02h],cl mov cl,[esp+6Ch] mov [eax-01h],dl mov edx,[esp+70h] mov [eax],cl mov ecx,[esp+74h] inc eax mov [eax],edx mov [eax+04h],ecx mov edx,[L00C8C4CC] mov [esp+74h],edx call SUB_L004D4FA9 mov ebx,eax push 00000019h mov dword ptr [ebx],0000000Ch call SUB_L004D4FA9 mov ecx,00000006h mov esi,ebp mov edi,eax mov [ebx+04h],eax rep movsd mov ecx,[esp+78h] add esp,0000000Ch movsb mov dword ptr [ebx+08h],00000000h mov eax,[ecx+04h] test eax,eax jnz L00450C86 push ebp mov [ecx+04h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450C86: mov ecx,eax mov eax,[ecx+08h] test eax,eax jz L00450C98 L00450C8F: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00450C8F L00450C98: push ebp mov [ecx+08h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450CB7: mov esi,[esp+48h] mov di,[esp+4Ch] mov ebp,[esp+40h] mov bx,[esp+44h] mov [esp+10h],esi mov [esp+14h],di mov [esp+18h],ebp mov [esp+1Ch],bx push 00000118h mov byte ptr [esp+2Ch],03h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],04h jz L00450D3F mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+68h] push edx mov edx,[esp+68h] push ecx mov ecx,[esp+5Ch] push edx mov edx,[esp+4Ch] push ecx push edx sub esp,00000008h mov ecx,esp sub esp,00000008h mov edx,esp mov [ecx],esi mov [ecx+04h],di mov [edx],ebp mov ecx,eax mov [edx+04h],bx call SUB_L00451500 mov byte ptr [esp+28h],03h jmp L004514CC L00450D3F: xor eax,eax mov byte ptr [esp+28h],03h jmp L004514CC L00450D4B: mov edi,[esp+38h] mov eax,[L00C8C4D4] test edi,edi jnz L0045101E test eax,eax jz L00450E4A push 00000017h call SUB_L004D5A3E mov ebp,eax mov ax,[esp+40h] mov edx,[esp+4Ch] push 0000000Ch mov [ebp+00h],ax lea eax,[ebp+02h] mov [eax],esi add eax,00000004h mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[esp+54h] inc eax mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-02h],cl mov cl,[esp+6Ch] mov [eax-01h],dl mov edx,[esp+70h] mov [eax],cl mov ecx,[esp+74h] inc eax mov [eax],edx mov [eax+04h],ecx mov edx,[L00C8C4CC] mov [esp+74h],edx call SUB_L004D4FA9 mov ebx,eax push 00000017h mov dword ptr [ebx],0000000Eh call SUB_L004D4FA9 mov ecx,00000005h mov esi,ebp mov edi,eax mov [ebx+04h],eax rep movsd mov eax,[esp+78h] add esp,0000000Ch movsw movsb mov dword ptr [ebx+08h],00000000h mov ecx,[eax+04h] test ecx,ecx jnz L00450E1B push ebp mov [eax+04h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450E1B: mov eax,[ecx+08h] test eax,eax jz L00450E2B L00450E22: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00450E22 L00450E2B: push ebp mov [ecx+08h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450E4A: mov edi,[esp+48h] mov bp,[esp+4Ch] mov [esp+18h],edi mov [esp+1Ch],bp mov bl,05h push 00000118h mov [esp+2Ch],bl call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],06h jz L00451013 mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+68h] push edx mov edx,[esp+68h] push ecx mov ecx,[esp+5Ch] push edx mov edx,[esp+4Ch] push ecx push edx sub esp,00000008h mov ecx,esp push esi mov [ecx],edi mov [ecx+04h],bp mov ecx,eax call SUB_L00451D60 mov [esp+28h],bl jmp L004514CC L00450EBA: test eax,eax jz L00450FA7 push 00000017h call SUB_L004D5A3E mov dx,[esp+40h] mov ebp,eax push 0000000Ch lea eax,[ebp+02h] mov [ebp+00h],dx mov edx,[esp+48h] mov ecx,eax add eax,00000006h mov [ecx],edx mov dx,[esp+4Ch] add eax,00000004h mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-04h],esi mov [eax],cl mov cl,[esp+6Ch] inc eax mov [eax],dl mov edx,[esp+70h] inc eax mov [eax],cl mov ecx,[esp+74h] inc eax mov [eax],edx mov [eax+04h],ecx mov edx,[L00C8C4CC] mov [esp+74h],edx call SUB_L004D4FA9 mov ebx,eax push 00000017h mov dword ptr [ebx],0000000Dh call SUB_L004D4FA9 mov ecx,00000005h mov esi,ebp mov edi,eax mov [ebx+04h],eax rep movsd mov eax,[esp+78h] add esp,0000000Ch movsw movsb mov dword ptr [ebx+08h],00000000h mov ecx,[eax+04h] test ecx,ecx jnz L00450F78 push ebp mov [eax+04h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450F78: mov eax,[ecx+08h] test eax,eax jz L00450F88 L00450F7F: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00450F7F L00450F88: push ebp mov [ecx+08h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00450FA7: mov edi,[esp+40h] mov bp,[esp+44h] mov [esp+18h],edi mov [esp+1Ch],bp mov bl,07h push 00000118h mov [esp+2Ch],bl call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],08h jz L00451013 mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+68h] push edx mov edx,[esp+68h] push ecx mov ecx,[esp+5Ch] push edx mov edx,[esp+4Ch] push ecx push edx push esi sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bp mov ecx,eax call SUB_L00451910 mov [esp+28h],bl jmp L004514CC L00451013: xor eax,eax mov [esp+28h],bl jmp L004514CC L0045101E: test eax,eax jz L004510FB push 00000015h call SUB_L004D5A3E mov dx,[esp+40h] mov ebp,eax mov cl,[esp+54h] push 0000000Ch lea eax,[ebp+02h] mov [ebp+00h],dx mov dl,[esp+68h] mov [eax],esi add eax,00000004h mov [eax],edi add eax,00000004h mov [eax],cl mov cl,[esp+6Ch] inc eax mov [eax],dl mov edx,[esp+70h] inc eax mov [eax],cl mov ecx,[esp+74h] inc eax mov [eax],edx mov [eax+04h],ecx mov edx,[L00C8C4CC] mov [esp+74h],edx call SUB_L004D4FA9 mov ebx,eax push 00000015h mov dword ptr [ebx],0000000Fh call SUB_L004D4FA9 mov ecx,00000005h mov esi,ebp mov edi,eax mov [ebx+04h],eax rep movsd mov ecx,[esp+78h] add esp,0000000Ch movsb mov dword ptr [ebx+08h],00000000h mov eax,[ecx+04h] test eax,eax jnz L004510CA push ebp mov [ecx+04h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004510CA: mov ecx,eax mov eax,[ecx+08h] test eax,eax jz L004510DC L004510D3: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L004510D3 L004510DC: push ebp mov [ecx+08h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004510FB: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],09h jz L004514C5 mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+68h] push edx mov edx,[esp+68h] push ecx mov ecx,[esp+5Ch] push edx mov edx,[esp+4Ch] push ecx push edx push edi push esi mov ecx,eax call SUB_L00452160 jmp L004514C7 CASE_004514EC_PROC0001: mov eax,[L00C8C4D4] test eax,eax jz L004511F4 push 00000004h call SUB_L004D5A3E mov ecx,[esp+6Ch] mov edx,[esp+70h] mov esi,eax mov eax,[esp+38h] add esi,00000008h push 0000000Ch mov [esi],eax mov [esi+04h],ecx mov [esi+08h],edx mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov edi,eax push 00000004h mov dword ptr [edi],0000000Bh call SUB_L004D4FA9 mov [edi+04h],eax mov ecx,[esi] mov [eax],ecx mov dword ptr [edi+08h],00000000h mov ecx,[ebx+04h] add esp,0000000Ch test ecx,ecx jnz L004511C5 push esi mov [ebx+04h],edi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004511C5: mov eax,[ecx+08h] test eax,eax jz L004511D5 L004511CC: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L004511CC L004511D5: push esi mov [ecx+08h],edi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004511F4: mov esi,[esp+34h] test esi,esi jz L004514D7 push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax test eax,eax mov byte ptr [esp+28h],0Ah jz L004514C5 mov edx,[esp+6Ch] mov ecx,[esp+68h] push edx push ecx push esi mov ecx,eax call SUB_L004529C0 jmp L004514C7 CASE_004514EC_PROC0002: mov eax,[L00C8C4D4] test eax,eax jz L00451324 push 00000014h call SUB_L004D5A3E mov cx,[esp+48h] mov ebp,eax mov eax,[esp+44h] mov edx,ebp push 0000000Ch mov [edx],eax lea eax,[ebp+06h] add eax,00000002h mov [edx+04h],cx mov dx,[esp+44h] mov cl,[esp+58h] mov [eax-02h],dx mov dl,[esp+5Ch] mov [eax],cl mov cl,[esp+60h] inc eax mov [eax],dl mov dl,[esp+64h] inc eax mov [eax],cl mov ecx,[esp+70h] inc eax mov [eax],dl mov edx,[esp+74h] inc eax mov [eax],ecx mov [eax+04h],edx mov eax,[L00C8C4CC] mov [esp+74h],eax call SUB_L004D4FA9 mov ebx,eax push 00000014h mov dword ptr [ebx],00000009h call SUB_L004D4FA9 mov [ebx+04h],eax mov ecx,00000005h mov esi,ebp mov edi,eax mov eax,[esp+78h] add esp,0000000Ch rep movsd mov dword ptr [ebx+08h],00000000h mov ecx,[eax+04h] test ecx,ecx jnz L004512F5 push ebp mov [eax+04h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004512F5: mov eax,[ecx+08h] test eax,eax jz L00451305 L004512FC: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L004512FC L00451305: push ebp mov [ecx+08h],ebx call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00451324: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax test eax,eax mov byte ptr [esp+28h],0Bh jz L004514C5 mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+60h] push edx mov edx,[esp+60h] push ecx mov ecx,[esp+60h] push edx mov edx,[esp+60h] push ecx mov ecx,[esp+50h] push edx push ecx mov ecx,[esp+5Ch] sub esp,00000008h mov edx,esp mov [edx],ecx mov cx,[esp+68h] mov [edx+04h],cx mov ecx,eax call SUB_L004525B0 jmp L004514C7 CASE_004514EC_PROC0003: mov eax,[L00C8C4D4] test eax,eax jz L00451476 push 00000012h call SUB_L004D5A3E mov edx,[esp+38h] mov cx,[esp+40h] mov edi,eax push 0000000Ch lea eax,[edi+04h] mov [edi],edx mov dl,[esp+58h] mov [eax],cx mov cl,[esp+5Ch] add eax,00000002h mov [eax],dl mov dl,[esp+60h] inc eax mov [eax],cl mov cl,[esp+64h] inc eax mov [eax],dl mov edx,[esp+70h] inc eax mov [eax],cl mov ecx,[esp+74h] inc eax mov [eax],edx mov [eax+04h],ecx mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 00000012h mov dword ptr [esi],0000000Ah call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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 dx,[edx+10h] mov [eax+10h],dx mov dword ptr [esi+08h],00000000h mov ecx,[ebx+04h] test ecx,ecx jnz L00451447 push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00451447: mov eax,[ecx+08h] test eax,eax jz L00451457 L0045144E: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0045144E L00451457: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00451476: mov esi,[esp+34h] test esi,esi jz L004514D7 push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax test eax,eax mov byte ptr [esp+28h],0Ch jz L004514C5 mov ecx,[esp+6Ch] mov edx,[esp+68h] push ecx mov ecx,[esp+60h] push edx mov edx,[esp+60h] push ecx mov ecx,[esp+60h] push edx mov edx,[esp+60h] push ecx mov ecx,[esp+50h] push edx push ecx push esi mov ecx,eax call SUB_L00452820 jmp L004514C7 L004514C5: xor eax,eax L004514C7: mov byte ptr [esp+28h],01h L004514CC: push 00000001h push 00000000h mov ecx,eax call SUB_L004587A0 L004514D7: mov ecx,[esp+20h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004514EC: dd CASE_004514EC_PROC0000 dd CASE_004514EC_PROC0001 dd CASE_004514EC_PROC0002 dd CASE_004514EC_PROC0003 Align 8 SUB_L00451500: push FFFFFFFFh push L004E2D81 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push ebp push esi mov esi,ecx push edi mov [esp+24h],esi mov dword ptr [esp+38h],00000001h call SUB_L00458F30 mov eax,[esp+60h] mov ecx,[esp+64h] movsx edx,[esp+40h] mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax mov [esi+00000114h],ecx mov eax,edx movsx ecx,[esp+42h] mov dword ptr [esi+0000010Ch],00000000h mov ebx,[L00C83A54] sub eax,ecx mov ebp,[L0051A760] add eax,ebx mov [esp+10h],ecx mov [esp+64h],edx mov byte ptr [esp+38h],03h lea edi,[eax+eax*4] lea eax,[eax+edi*2] shl eax,1 movsx edi,[esp+44h] sub eax,ebp mov [esp+14h],edi mov [esi+30h],eax lea eax,[edx+ecx] movsx ebp,[esp+48h] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] lea eax,[00000000h+edi*4] movsx edi,[esp+4Ah] shl edx,1 sub edx,eax mov eax,[L0051A75C] sub edx,eax mov eax,ebp add edx,0000002Bh sub eax,edi mov [esi+34h],edx mov edx,[L00C83A54] add eax,edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[L0051A760] movsx ecx,[esp+4Ch] shl edx,1 sub edx,eax lea eax,[edi+ebp] mov [esi+000000ACh],edx mov [esp+20h],ecx lea edx,[eax+eax*4] shl ecx,02h lea eax,[eax+edx*2] shl eax,1 sub eax,ecx mov ecx,[L0051A75C] sub eax,ecx add eax,0000002Bh mov [esi+000000B0h],eax mov ecx,[esi+000000ACh] mov edx,[esi+30h] mov ebx,[esi+34h] sub ecx,edx sub eax,ebx mov edx,ecx mov [esp+18h],ecx imul edx,ecx mov ecx,eax imul ecx,eax add edx,ecx mov [esp+60h],edx fild dword ptr [esp+60h] fsqrt call SUB_L004D5008 mov ebx,[esp+54h] mov edx,ebx and edx,000000FFh lea ecx,[edx+edx+0Ah] cdq idiv ecx mov [esp+60h],eax fild dword ptr [esp+60h] fst qword ptr [esp+28h] fild dword ptr [esp+18h] fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] mov edx,[esi+000000B0h] mov ecx,[esi+34h] sub edx,ecx mov cl,[esp+58h] mov [esp+54h],edx fild dword ptr [esp+54h] test cl,cl fdiv ST,ST(1) fstp qword ptr [esi+000000C0h] fstp ST(0) fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L004516A2 mov byte ptr [esi+000000D8h],00h jmp L004516C8 L004516A2: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 add esp,00000004h add al,80h mov [esi+000000D8h],al mov eax,[esp+60h] L004516C8: mov ecx,[esp+48h] mov dx,[esp+4Ch] inc al add bl,03h mov [esi+000000D9h],al lea eax,[esi+0000009Ch] shl bl,1 mov [eax],ecx mov [esi+000000DCh],bl xor ebx,ebx mov byte ptr [esi+000000DBh],00h mov [eax+04h],dx mov edx,[esp+50h] mov ecx,edx mov byte ptr [esi+000000DAh],01h and ecx,0000FFFFh mov [esi+000000A4h],ebx lea eax,[ecx+ecx*8] shl eax,03h cmp [eax+L005E4A29],bl jz L00451757 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],dx mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edx mov [esi+000000E2h],ax jmp L0045178C L00451757: mov al,[esp+58h] mov [esi+00000100h],ebx test al,al mov [esi+000000DEh],dx mov [esi+000000E2h],dx jnz L00451785 mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L00451785: mov [esi+000000E0h],dx L0045178C: mov cl,[esp+5Ch] xor eax,eax test cl,cl setnz al mov [esi+000000E8h],eax mov al,[esp+58h] xor ecx,ecx push 00000070h test al,al setz cl mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000ECh],ecx mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov ebx,eax add esp,00000004h mov [esp+58h],ebx test ebx,ebx mov byte ptr [esp+38h],04h jz L00451875 mov edx,[esp+40h] mov ax,[esp+44h] mov [esp+18h],edx mov [esp+1Ch],ax mov ecx,ebx mov byte ptr [esp+38h],05h call SUB_L00402BF0 fild dword ptr [esp+64h] mov cx,[esp+40h] mov dx,[esp+42h] mov ax,[esp+44h] mov dword ptr [ebx],L004ED014 mov [ebx+24h],cx mov [ebx+26h],dx mov [ebx+28h],ax mov ecx,ebx fstp qword ptr [ebx+40h] fild dword ptr [esp+10h] mov byte ptr [esp+38h],06h mov [ebx+3Ch],esi fstp qword ptr [ebx+48h] fild dword ptr [esp+14h] fstp qword ptr [ebx+50h] call SUB_L00403910 jmp L00451877 L00451875: xor ebx,ebx L00451877: mov eax,[esp+64h] mov edx,[esp+10h] sub ebp,eax mov [esi+000000A8h],ebx mov [esp+58h],ebp sub edi,edx fild dword ptr [esp+58h] mov [esp+58h],edi mov eax,[esp+20h] pop edi fdiv qword ptr [esp+24h] fstp qword ptr [ebx+58h] fild dword ptr [esp+54h] mov ecx,[esi+000000A8h] fdiv qword ptr [esp+24h] fstp qword ptr [ecx+60h] mov ecx,[esp+10h] mov edx,[esi+000000A8h] sub eax,ecx mov ecx,[esp+2Ch] mov [esp+54h],eax mov eax,esi fild dword ptr [esp+54h] pop esi pop ebp pop ebx fdiv qword ptr [esp+18h] fstp qword ptr [edx+68h] mov fs:[00000000h],ecx add esp,0000002Ch retn 0028h ;------------------------------------------------------------------------------ Align 16 L004518F0: push esi mov esi,ecx call SUB_L00455510 test byte ptr [esp+08h],01h jz L00451908 push esi call SUB_L004D4F9E add esp,00000004h L00451908: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00451910: push ebp mov ebp,esp and esp,FFFFFFF8h push FFFFFFFFh push L004E2DC9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [esp+1Ch],esi xor ebx,ebx mov [esp+38h],ebx call SUB_L00458F30 mov eax,[ebp+24h] mov ecx,[ebp+28h] mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax mov [esi+00000114h],ecx mov ecx,[ebp+10h] mov [esi+0000010Ch],ebx mov [esi+000000A4h],ecx lea edx,[ecx+24h] lea eax,[esi+0000009Ch] mov byte ptr [esp+38h],02h mov edi,[edx] mov [eax],edi mov dx,[edx+04h] mov [eax+04h],dx mov edi,[L00C83A54] movsx eax,[ebp+08h] movsx edx,[ebp+0Ah] mov [esp+0Ch],eax sub eax,edx add eax,edi mov [esp+10h],edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[ebp+0Ch] mov [esi+30h],eax mov eax,[esp+0Ch] add eax,edx mov [esp+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,[L0051A75C] sub eax,edx add eax,0000002Bh mov [esi+34h],eax fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] mov eax,[ecx+10h] mov edx,[ecx+08h] add eax,edx sar eax,1 mov [esi+000000ACh],eax mov edx,[L0051A760] sub eax,edx mov [esi+000000ACh],eax mov eax,[ecx+14h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000B0h],eax mov ecx,[L0051A75C] sub eax,ecx mov [esi+000000B0h],eax mov eax,[esi+000000ACh] sub eax,[esi+30h] mov [esp+18h],eax fild dword ptr [esp+18h] fstp qword ptr [esi+000000B8h] mov ecx,[esi+000000B0h] mov edx,[esi+34h] sub ecx,edx mov dl,[ebp+1Ch] mov [esp+18h],ecx fild dword ptr [esp+18h] cmp dl,bl fst qword ptr [esi+000000C0h] jz L00451A6A fstp ST(0) mov [esi+000000D8h],bl jmp L00451A89 L00451A6A: fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 mov dl,[ebp+1Ch] add esp,00000004h add al,80h mov [esi+000000D8h],al L00451A89: mov al,[ebp+18h] mov edi,[ebp+14h] add al,03h mov ecx,edi shl al,1 and ecx,0000FFFFh mov [esi+000000DCh],al mov [esi+000000D9h],bl mov [esi+000000DBh],bl lea eax,[ecx+ecx*8] mov byte ptr [esi+000000DAh],01h shl eax,03h cmp [eax+L005E4A29],bl jz L00451AF9 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L00451B33 L00451AF9: cmp dl,bl mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di jz L00451B1A mov [esi+000000E0h],di jmp L00451B33 L00451B1A: mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L00451B33: mov al,[ebp+20h] xor ecx,ecx cmp al,bl push 00000070h setnz cl xor eax,eax cmp dl,bl setz al mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000E8h],ecx mov [esi+000000ECh],eax mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+18h],edi cmp edi,ebx mov byte ptr [esp+38h],03h jz L00451C0E mov ebx,[ebp+08h] mov cx,[ebp+0Ch] mov [esp+24h],ebx mov [esp+28h],cx mov ecx,edi mov byte ptr [esp+38h],04h call SUB_L00402BF0 fild dword ptr [esp+0Ch] mov dx,[ebp+0Ah] mov ax,[ebp+0Ch] mov dword ptr [edi],L004ED014 mov [edi+24h],bx mov [edi+26h],dx mov [edi+28h],ax fstp qword ptr [edi+40h] fild dword ptr [esp+10h] mov ecx,edi mov byte ptr [esp+38h],05h mov [edi+3Ch],esi fstp qword ptr [edi+48h] fild dword ptr [esp+14h] fstp qword ptr [edi+50h] call SUB_L00403910 jmp L00451C10 L00451C0E: xor edi,edi L00451C10: movsx ecx,[esi+0000009Ch] mov edx,[esp+0Ch] mov [esi+000000A8h],edi sub ecx,edx mov [esp+18h],ecx mov ecx,[esp+10h] fild dword ptr [esp+18h] fstp qword ptr [edi+58h] movsx edx,[esi+0000009Eh] mov eax,[esi+000000A8h] sub edx,ecx mov [esp+18h],edx fild dword ptr [esp+18h] fstp qword ptr [eax+60h] movsx ecx,[esi+000000A0h] mov eax,[esp+14h] mov edx,[esi+000000A8h] sub ecx,eax xor eax,eax mov [esp+18h],ecx fild dword ptr [esp+18h] fstp qword ptr [edx+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000C0h] fst qword ptr [esp+1Ch] fld ST(0) fmul ST,ST(1) fld ST(2) fmul ST,ST(3) faddp ST(1),ST fsqrt fstp qword ptr [esp+24h] fstp ST(0) fdiv qword ptr [esp+24h] fstp qword ptr [esi+000000B8h] fld qword ptr [esp+1Ch] fdiv qword ptr [esp+24h] fstp qword ptr [esi+000000C0h] mov al,[esi+000000DCh] mov [esp+18h],eax mov eax,[esi+000000A8h] fild dword ptr [esp+18h] fld ST(0) fmul qword ptr [esi+000000B8h] fstp qword ptr [esi+000000B8h] fmul qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C0h] mov ecx,[esi+000000ACh] mov ebx,[esi+30h] fld qword ptr [eax+58h] fmul qword ptr [esi+000000B8h] sub ecx,ebx mov [esp+18h],ecx fild dword ptr [esp+18h] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A8h] mov edx,[esi+000000ACh] mov edi,[esi+30h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B8h] sub edx,edi mov [esp+18h],edx fild dword ptr [esp+18h] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A8h] mov ecx,[esi+000000ACh] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B8h] mov edx,[esi+30h] pop edi sub ecx,edx mov [esp+14h],ecx mov ecx,[esp+2Ch] fild dword ptr [esp+14h] fdivp ST(1),ST fstp qword ptr [eax+68h] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0024h ;------------------------------------------------------------------------------ Align 8 SUB_L00451D60: push FFFFFFFFh push L004E2E21 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push ebp push esi mov esi,ecx push edi mov [esp+18h],esi xor ebx,ebx mov [esp+3Ch],ebx call SUB_L00458F30 mov dword ptr [esi],L004ED068 mov eax,[esp+60h] mov ecx,[esp+64h] mov [esi+00000110h],eax mov [esi+00000114h],ecx mov ecx,[esp+44h] mov [esi+0000010Ch],ebx mov byte ptr [esp+3Ch],03h lea eax,[ecx+24h] mov [esp+44h],eax mov edx,[eax] mov [esp+1Ch],edx mov edx,[ecx+08h] mov ax,[eax+04h] mov [esp+20h],ax mov eax,[ecx+10h] add eax,edx sar eax,1 mov [esi+30h],eax mov edi,[L0051A760] sub eax,edi mov [esi+30h],eax mov eax,[ecx+14h] mov edx,[ecx+0Ch] movsx ecx,[esp+48h] add eax,edx mov [esp+10h],ecx sar eax,1 mov [esi+34h],eax mov ebp,[L0051A75C] sub eax,ebp movsx ebp,[esp+4Ah] mov [esi+34h],eax mov edx,[L00C83A54] mov eax,ecx sub eax,ebp add eax,edx lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A760] shl eax,1 sub eax,edx movsx edx,[esp+4Ch] mov [esi+000000ACh],eax lea eax,[ecx+ebp] mov [esp+14h],edx lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] lea ecx,[00000000h+edx*4] shl eax,1 sub eax,ecx mov ecx,[L0051A75C] sub eax,ecx add eax,0000002Bh mov [esi+000000B0h],eax mov ecx,[esi+000000ACh] mov edx,[esi+30h] mov edi,[esi+34h] sub ecx,edx sub eax,edi mov edx,ecx mov [esp+64h],ecx imul edx,ecx mov ecx,eax imul ecx,eax add edx,ecx mov [esp+60h],edx fild dword ptr [esp+60h] fsqrt call SUB_L004D5008 mov ecx,[esp+54h] mov edx,ecx and edx,000000FFh lea edi,[edx+edx+0Ah] cdq idiv edi mov [esp+60h],eax fild dword ptr [esp+60h] fst qword ptr [esp+2Ch] fild dword ptr [esp+64h] fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] mov edx,[esi+000000B0h] mov edi,[esi+34h] sub edx,edi mov [esp+64h],edx mov dl,[esp+58h] fild dword ptr [esp+64h] cmp dl,bl fdiv ST,ST(1) fstp qword ptr [esi+000000C0h] fstp ST(0) fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L00451EF3 mov [esi+000000D8h],bl jmp L00451F21 L00451EF3: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 mov ecx,[esp+58h] mov dl,[esp+5Ch] add esp,00000004h add al,80h mov [esi+000000D8h],al mov eax,[esp+60h] L00451F21: add cl,03h inc al mov edi,[esp+50h] mov [esi+000000D9h],al shl cl,1 mov [esi+000000DCh],cl mov ecx,[esp+48h] lea eax,[esi+0000009Ch] mov [esi+000000DBh],bl mov byte ptr [esi+000000DAh],01h mov [esi+000000A4h],ebx mov [eax],ecx mov cx,[esp+4Ch] mov [eax+04h],cx mov ecx,edi and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp [eax+L005E4A29],bl jz L00451FAD mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L00451FE7 L00451FAD: cmp dl,bl mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di jz L00451FCE mov [esi+000000E0h],di jmp L00451FE7 L00451FCE: mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L00451FE7: mov al,[esp+5Ch] xor ecx,ecx cmp al,bl push 00000070h setnz cl xor eax,eax cmp dl,bl setz al mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000E8h],ecx mov [esi+000000ECh],eax mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+5Ch],edi cmp edi,ebx mov byte ptr [esp+3Ch],04h jz L004520DD mov eax,[esp+44h] mov ecx,[eax] mov bx,[eax+04h] mov [esp+24h],ecx mov [esp+28h],bx mov ecx,edi mov byte ptr [esp+3Ch],05h call SUB_L00402BF0 mov ax,[esp+24h] mov cx,[esp+26h] movsx edx,ax mov dword ptr [edi],L004ED014 mov [esp+58h],edx fild dword ptr [esp+58h] mov [edi+24h],ax mov [edi+26h],cx movsx eax,cx mov [edi+28h],bx mov [esp+58h],eax fstp qword ptr [edi+40h] fild dword ptr [esp+58h] movsx ecx,bx fstp qword ptr [edi+48h] mov [esp+58h],ecx mov ecx,edi fild dword ptr [esp+58h] mov byte ptr [esp+3Ch],06h mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 jmp L004520DF L004520DD: xor edi,edi L004520DF: movsx edx,[esp+1Ch] mov eax,[esp+10h] mov [esi+000000A8h],edi sub eax,edx mov [esp+58h],eax fild dword ptr [esp+58h] movsx eax,[esp+1Eh] fdiv qword ptr [esp+2Ch] sub ebp,eax mov eax,[esp+14h] mov [esp+58h],ebp movsx edx,[esp+20h] sub eax,edx fstp qword ptr [edi+58h] fild dword ptr [esp+58h] mov ecx,[esi+000000A8h] mov [esp+58h],eax pop edi fdiv qword ptr [esp+28h] fstp qword ptr [ecx+60h] fild dword ptr [esp+54h] mov eax,[esi+000000A8h] mov ecx,[esp+30h] fdiv qword ptr [esp+28h] fstp qword ptr [eax+68h] mov eax,esi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000030h retn 0024h ;------------------------------------------------------------------------------ Align 16 SUB_L00452160: push ebp mov ebp,esp and esp,FFFFFFF8h push FFFFFFFFh push L004E2E61 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[ebp+20h] mov ecx,[ebp+24h] mov ebx,[ebp+08h] mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax mov [esi+00000114h],ecx mov dword ptr [esi+0000010Ch],00000000h mov eax,[ebx+10h] mov edx,[ebx+08h] mov ecx,[ebp+0Ch] add eax,edx mov dword ptr [esp+30h],00000001h sar eax,1 mov [esi+30h],eax mov edi,[L0051A760] sub eax,edi mov [esi+30h],eax mov eax,[ebx+14h] mov edx,[ebx+0Ch] add eax,edx lea edx,[ecx+24h] sar eax,1 mov [esi+34h],eax mov edi,[L0051A75C] sub eax,edi mov [esi+34h],eax mov [esi+000000A4h],ecx mov edi,[edx] lea eax,[esi+0000009Ch] mov [esi+0000009Ch],edi mov dx,[edx+04h] mov [eax+04h],dx mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000ACh],eax mov edx,[L0051A760] sub eax,edx mov [esi+000000ACh],eax mov eax,[ecx+14h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000B0h],eax mov ecx,[L0051A75C] sub eax,ecx mov [esi+000000B0h],eax mov eax,[esi+000000ACh] sub eax,[esi+30h] mov [esp+0Ch],eax mov al,[ebp+18h] fild dword ptr [esp+0Ch] fstp qword ptr [esi+000000B8h] mov ecx,[esi+000000B0h] mov edx,[esi+34h] sub ecx,edx mov [esp+0Ch],ecx fild dword ptr [esp+0Ch] test al,al fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L00452295 mov byte ptr [esi+000000D8h],00h jmp L004522B7 L00452295: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 add esp,00000004h add al,80h mov [esi+000000D8h],al L004522B7: mov dl,[ebp+14h] mov byte ptr [esi+000000D9h],00h add dl,03h mov byte ptr [esi+000000DBh],00h shl dl,1 mov [esi+000000DCh],dl mov edx,[ebp+10h] mov ecx,edx mov byte ptr [esi+000000DAh],01h and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp byte ptr [eax+L005E4A29],00h jz L0045232D mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] xor edi,edi mov [esi+000000DAh],cl mov [esi+000000DEh],dx mov [esi+000000E0h],di movsx ax,[eax+L005E49E8] add eax,edx mov [esi+000000E2h],ax jmp L00452367 L0045232D: mov al,[ebp+18h] mov dword ptr [esi+00000100h],00000000h test al,al mov [esi+000000DEh],dx mov [esi+000000E2h],dx jnz L0045235E mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L0045235E: mov [esi+000000E0h],dx xor edi,edi L00452367: mov cl,[ebp+1Ch] xor eax,eax test cl,cl setnz al mov [esi+000000E8h],eax mov al,[ebp+18h] xor ecx,ecx push 00000070h test al,al setz cl mov [esi+00000104h],edi mov [esi+000000FCh],edi mov [esi+000000F8h],edi mov [esi+000000F4h],edi mov [esi+000000F0h],edi mov [esi+000000E4h],edi mov [esi+000000ECh],ecx mov [esi+00000108h],edi mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],edi mov [esi+54h],edi mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+14h],edi test edi,edi mov byte ptr [esp+30h],02h jz L00452464 lea edx,[ebx+24h] mov eax,[ebx+24h] mov [esp+1Ch],eax mov cx,[edx+04h] mov [esp+20h],cx mov ecx,edi mov byte ptr [esp+30h],03h call SUB_L00402BF0 mov cx,[esp+1Ch] mov dx,[esp+1Eh] mov dword ptr [edi],L004ED014 mov [edi+24h],cx mov ax,[esp+20h] mov [edi+26h],dx movsx ecx,cx mov [esp+0Ch],ecx mov [edi+28h],ax fild dword ptr [esp+0Ch] movsx edx,dx fstp qword ptr [edi+40h] mov [esp+0Ch],edx mov ecx,edi fild dword ptr [esp+0Ch] movsx eax,ax fstp qword ptr [edi+48h] mov [esp+0Ch],eax mov byte ptr [esp+30h],04h fild dword ptr [esp+0Ch] mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 jmp L00452466 L00452464: xor edi,edi L00452466: movsx edx,[esi+0000009Ch] mov [esi+000000A8h],edi movsx ecx,[ebx+24h] sub edx,ecx mov [esp+0Ch],edx fild dword ptr [esp+0Ch] fstp qword ptr [edi+58h] movsx eax,[ebx+26h] movsx ecx,[esi+0000009Eh] mov edx,[esi+000000A8h] sub ecx,eax mov [esp+0Ch],ecx fild dword ptr [esp+0Ch] fstp qword ptr [edx+60h] movsx eax,[ebx+28h] movsx ecx,[esi+000000A0h] mov edx,[esi+000000A8h] sub ecx,eax mov [esp+0Ch],ecx xor eax,eax fild dword ptr [esp+0Ch] fstp qword ptr [edx+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000C0h] fst qword ptr [esp+14h] fld ST(0) fmul ST,ST(1) fld ST(2) fmul ST,ST(3) faddp ST(1),ST fsqrt fstp qword ptr [esp+1Ch] fstp ST(0) fdiv qword ptr [esp+1Ch] fstp qword ptr [esi+000000B8h] fld qword ptr [esp+14h] fdiv qword ptr [esp+1Ch] fstp qword ptr [esi+000000C0h] mov al,[esi+000000DCh] mov [esp+0Ch],eax mov eax,[esi+000000A8h] fild dword ptr [esp+0Ch] fld ST(0) fmul qword ptr [esi+000000B8h] fstp qword ptr [esi+000000B8h] fmul qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C0h] mov ecx,[esi+000000ACh] mov ebx,[esi+30h] fld qword ptr [eax+58h] fmul qword ptr [esi+000000B8h] sub ecx,ebx mov [esp+0Ch],ecx fild dword ptr [esp+0Ch] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A8h] mov edx,[esi+000000ACh] mov edi,[esi+30h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B8h] sub edx,edi mov [esp+0Ch],edx fild dword ptr [esp+0Ch] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A8h] mov ecx,[esi+000000ACh] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B8h] mov edx,[esi+30h] pop edi sub ecx,edx mov [esp+08h],ecx mov ecx,[esp+24h] fild dword ptr [esp+08h] fdivp ST(1),ST fstp qword ptr [eax+68h] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0020h ;------------------------------------------------------------------------------ Align 4 SUB_L004525B0: push FFFFFFFFh push L004E2EA9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi xor ebx,ebx mov [esp+28h],ebx call SUB_L00458F30 mov ebp,[esp+30h] mov ecx,[esp+50h] mov eax,[esp+4Ch] mov dword ptr [esi],L004ED068 movsx edx,bp mov [esi+00000114h],ecx mov [esi+0000010Ch],ebx movsx ecx,[esp+32h] mov [esi+00000110h],eax mov edi,[L00C83A54] mov eax,edx mov [esp+50h],ecx sub eax,ecx mov [esp+4Ch],edx add eax,edi mov byte ptr [esp+28h],02h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[esp+34h] mov [esi+30h],eax lea eax,[edx+ecx] mov [esp+10h],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov cl,[esp+40h] shl edx,1 lea eax,[00000000h+edi*4] mov edi,[esp+38h] sub edx,eax mov eax,[L0051A75C] sub edx,eax mov [esi+000000D9h],cl mov cl,[esp+3Ch] add edx,0000002Bh mov [esi+34h],edx mov dl,0Bh sub dl,cl mov ecx,edi and ecx,0000FFFFh mov [esi+000000D8h],bl mov [esi+000000DAh],dl mov [esi+000000DBh],bl lea eax,[ecx+ecx*8] mov [esi+000000DCh],bl shl eax,03h mov edx,00000001h cmp [eax+L005E4A29],bl jz L004526DB mov [esi+00000100h],edx mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L00452708 L004526DB: mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L00452708: mov al,[esp+44h] xor ecx,ecx cmp al,bl mov [esi+00000104h],ebx setnz cl mov [esi+000000F4h],ecx mov cl,[esp+48h] xor eax,eax cmp cl,bl setnz al mov [esi+000000FCh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+000000F8h],eax mov [esi+000000F0h],edx mov [esi+0000009Ch],bx mov [esi+0000009Eh],bx mov [esi+000000A0h],bx push 00000070h mov [esi+000000A4h],ebx mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+40h],edi cmp edi,ebx mov byte ptr [esp+28h],03h jz L004527FE mov bx,[esp+34h] mov [esp+18h],ebp mov [esp+1Ch],bx mov ecx,edi mov byte ptr [esp+28h],04h call SUB_L00402BF0 fild dword ptr [esp+4Ch] mov cx,[esp+32h] mov dword ptr [edi],L004ED014 mov [edi+24h],bp mov [edi+26h],cx mov [edi+28h],bx mov ecx,edi fstp qword ptr [edi+40h] fild dword ptr [esp+50h] mov byte ptr [esp+28h],05h mov [edi+3Ch],esi fstp qword ptr [edi+48h] fild dword ptr [esp+10h] fstp qword ptr [edi+50h] call SUB_L00403910 mov [esi+000000A8h],edi jmp L00452804 L004527FE: mov [esi+000000A8h],ebx L00452804: mov ecx,[esp+20h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0024h ;------------------------------------------------------------------------------ Align 8 SUB_L00452820: push ebx push esi push edi mov esi,ecx call SUB_L00458F30 mov edx,[esp+2Ch] mov bl,[esp+18h] mov edi,[esp+14h] mov ecx,[esp+28h] mov [esi+00000114h],edx mov dl,0Bh sub dl,bl mov [esi+00000110h],ecx mov cl,[esp+1Ch] mov [esi+000000DAh],dl mov edx,edi mov [esi+000000D9h],cl and edx,0000FFFFh xor eax,eax mov dword ptr [esi],L004ED068 mov [esi+0000010Ch],eax lea ecx,[edx+edx*8] mov [esi+000000D8h],al shl ecx,03h mov [esi+000000DBh],al mov [esi+000000DCh],al cmp [ecx+L005E4A29],al jz L004528C7 mov dword ptr [esi+00000100h],00000001h mov dl,[ecx+L005E4A2B] mov [esi+000000DAh],dl mov [esi+000000DEh],di mov [esi+000000E0h],ax movsx cx,[ecx+L005E49E8] add ecx,edi mov [esi+000000E2h],cx jmp L004528F5 L004528C7: mov [esi+00000100h],eax mov [esi+000000DEh],di mov [esi+000000E2h],di mov ecx,[L00C88540] lea edx,[edx+edx*4] movzx dx,[ecx+edx*8+05h] lea ecx,[edx+edi-01h] mov [esi+000000E0h],cx L004528F5: mov cl,[esp+20h] mov bl,[esp+24h] xor edx,edx cmp cl,al setnz dl xor ecx,ecx cmp bl,al setnz cl mov [esi+000000F4h],edx mov edx,[esp+10h] mov [esi+00000104h],eax mov [esi+000000FCh],eax mov [esi+000000E8h],eax mov [esi+000000E4h],eax mov [esi+000000F8h],ecx mov dword ptr [esi+000000F0h],00000001h mov [esi+0000009Ch],ax mov [esi+0000009Eh],ax mov [esi+000000A0h],ax mov [esi+000000A4h],edx mov [esi+00000108h],eax mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],eax mov [esi+54h],eax mov [esi+64h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+000000A8h],eax mov ecx,[edx+000001C4h] cmp ecx,eax jnz L0045299B mov [edx+000001C4h],esi mov eax,esi pop edi pop esi pop ebx retn 0020h ;------------------------------------------------------------------------------ L0045299B: mov edx,[ecx+00000108h] cmp edx,eax jz L004529B1 L004529A5: mov ecx,edx mov edx,[ecx+00000108h] cmp edx,eax jnz L004529A5 L004529B1: mov [ecx+00000108h],esi mov eax,esi pop edi pop esi pop ebx retn 0020h ;------------------------------------------------------------------------------ Align 4 SUB_L004529C0: push FFFFFFFFh push L004E2EF1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+30h] mov ecx,[esp+34h] mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax xor ebx,ebx mov [esi+00000114h],ecx mov [esi+0000010Ch],ebx mov [esi+000000D8h],bl mov edi,00000001h mov byte ptr [esi+000000D9h],06h mov byte ptr [esi+000000DAh],01h push 0000000Ah mov [esp+28h],edi mov [esi+000000DBh],bl mov [esi+000000DCh],bl mov word ptr [esi+000000DEh],4E20h mov word ptr [esi+000000E0h],4E29h call SUB_L0047BBB0 add ax,[esi+000000DEh] mov edx,[esp+30h] lea ebp,[esi+0000009Ch] add edx,00000024h mov [esi+000000E2h],ax mov [esi+00000104h],edi mov [esi+000000ECh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000FCh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+00000100h],ebx mov [esi+000000F0h],edi mov [esi+000000A4h],ebx mov ecx,[edx] mov eax,ebp push 00000070h mov [eax],ecx mov dx,[edx+04h] mov [esi+00000108h],ebx mov [eax+04h],dx mov edi,[L00C83A54] movsx edx,[ebp+00h] movsx ecx,[esi+0000009Eh] mov eax,edx sub eax,ecx add eax,edi lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi mov [esi+30h],eax lea eax,[edx+ecx] mov edi,[L0051A75C] mov dword ptr [esi+08h],SSZ005031A0_missile_gump lea ecx,[eax+eax*4] mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx lea edx,[eax+ecx*2] mov [esi+50h],ebx movsx eax,[esi+000000A0h] shl edx,1 shl eax,02h sub edx,eax mov [esi+4Ch],ebx sub edx,edi mov [esi+48h],ebx mov [esi+34h],edx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000008h mov [esp+34h],edi cmp edi,ebx mov byte ptr [esp+24h],02h jz L00452BB3 mov ecx,[ebp+00h] mov bp,[ebp+04h] mov [esp+14h],ecx mov [esp+18h],bp mov ecx,edi mov byte ptr [esp+24h],03h call SUB_L00402BF0 mov ax,[esp+14h] mov cx,[esp+16h] movsx edx,ax mov dword ptr [edi],L004ED014 mov [esp+30h],edx fild dword ptr [esp+30h] mov [edi+24h],ax mov [edi+26h],cx movsx eax,cx mov [edi+28h],bp mov [esp+30h],eax fstp qword ptr [edi+40h] fild dword ptr [esp+30h] movsx ecx,bp fstp qword ptr [edi+48h] mov [esp+30h],ecx mov ecx,edi fild dword ptr [esp+30h] mov byte ptr [esp+24h],04h mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 mov [esi+000000A8h],edi jmp L00452BB9 L00452BB3: mov [esi+000000A8h],ebx L00452BB9: mov ecx,[esp+1Ch] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 000Ch ;------------------------------------------------------------------------------ SUB_L00452BD0: push FFFFFFFFh push L004E2F7D mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi push edi mov eax,[esp+30h] mov dword ptr [esp+28h],00000001h and eax,000000FFh cmp eax,00000003h ja L004534AE jmp [CASE_PROCTABLE_004534C4+eax*4] CASE_004534C4_PROC0000: mov esi,[esp+34h] test esi,esi jnz L00452DAB mov esi,[esp+38h] mov eax,[L00C8C4D4] test esi,esi jnz L00452F0A test eax,eax jz L00452D21 push 00000011h call SUB_L004D5A3E mov edx,[esp+44h] mov edi,eax mov ax,[esp+40h] push 0000000Ch mov [edi],ax lea eax,[edi+02h] mov ecx,eax add eax,00000006h mov [ecx],edx mov dx,[esp+4Ch] mov [ecx+04h],dx mov edx,[esp+50h] mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[esp+54h] mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-01h],cl mov cl,[esp+6Ch] mov [eax],dl mov [eax+01h],cl mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 00000011h mov dword ptr [esi],00000003h call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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 eax,[ebx+04h] test eax,eax jnz L00452CF0 push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452CF0: mov ecx,eax mov eax,[ecx+08h] test eax,eax jz L00452D02 L00452CF9: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00452CF9 L00452D02: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452D21: mov esi,[esp+48h] mov di,[esp+4Ch] mov ebp,[esp+40h] mov bx,[esp+44h] mov [esp+10h],esi mov [esp+14h],di mov [esp+18h],ebp mov [esp+1Ch],bx push 00000118h mov byte ptr [esp+2Ch],03h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],04h jz L00452D9F mov ecx,[esp+64h] mov edx,[esp+60h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+44h] push ecx push edx sub esp,00000008h mov ecx,esp sub esp,00000008h mov edx,esp mov [ecx],esi mov [ecx+04h],di mov [edx],ebp mov ecx,eax mov [edx+04h],bx call SUB_L00453E80 mov byte ptr [esp+28h],03h jmp L004534A3 L00452D9F: xor eax,eax mov byte ptr [esp+28h],03h jmp L004534A3 L00452DAB: mov ebp,[esp+38h] mov eax,[L00C8C4D4] test ebp,ebp jnz L00453061 test eax,eax jz L00452EA4 push 0000000Fh call SUB_L004D5A3E mov edi,eax mov ax,[esp+40h] mov edx,[esp+4Ch] push 0000000Ch mov [edi],ax lea eax,[edi+02h] mov [eax],esi add eax,00000004h mov ecx,eax add eax,00000006h inc eax mov [ecx],edx mov dx,[esp+54h] mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-01h],cl mov cl,[esp+6Ch] mov [eax],dl mov [eax+01h],cl mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 0000000Fh mov dword ptr [esi],00000005h call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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 L00452E75 push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452E75: mov eax,[ecx+08h] test eax,eax jz L00452E85 L00452E7C: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00452E7C L00452E85: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452EA4: mov edi,[esp+48h] mov bp,[esp+4Ch] mov [esp+18h],edi mov [esp+1Ch],bp mov bl,05h push 00000118h mov [esp+2Ch],bl call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],06h jz L00453056 mov ecx,[esp+64h] mov edx,[esp+60h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+44h] push ecx push edx sub esp,00000008h mov ecx,esp push esi mov [ecx],edi mov [ecx+04h],bp mov ecx,eax call SUB_L004546B0 mov [esp+28h],bl jmp L004534A3 L00452F0A: test eax,eax jz L00452FF4 push 0000000Fh call SUB_L004D5A3E mov dx,[esp+40h] mov edi,eax push 0000000Ch lea eax,[edi+02h] mov [edi],dx mov edx,[esp+48h] mov ecx,eax add eax,00000006h mov [ecx],edx mov dx,[esp+4Ch] add eax,00000004h mov [ecx+04h],dx mov cl,[esp+58h] mov dl,[esp+68h] mov [eax-04h],esi mov [eax],cl mov cl,[esp+6Ch] inc eax mov [eax],dl mov [eax+01h],cl mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 0000000Fh mov dword ptr [esi],00000004h call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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 eax,[ebx+04h] test eax,eax jnz L00452FC3 push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452FC3: mov ecx,eax mov eax,[ecx+08h] test eax,eax jz L00452FD5 L00452FCC: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00452FCC L00452FD5: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00452FF4: mov edi,[esp+40h] mov bp,[esp+44h] mov [esp+18h],edi mov [esp+1Ch],bp mov bl,07h push 00000118h mov [esp+2Ch],bl call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],08h jz L00453056 mov ecx,[esp+64h] mov edx,[esp+60h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+44h] push ecx push edx push esi sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bp mov ecx,eax call SUB_L00454260 mov [esp+28h],bl jmp L004534A3 L00453056: xor eax,eax mov [esp+28h],bl jmp L004534A3 L00453061: test eax,eax jz L00453133 push 0000000Dh call SUB_L004D5A3E mov dx,[esp+40h] mov edi,eax mov cl,[esp+54h] push 0000000Ch lea eax,[edi+02h] mov [edi],dx mov dl,[esp+68h] mov [eax],esi add eax,00000004h mov [eax],ebp add eax,00000004h mov [eax],cl mov cl,[esp+6Ch] inc eax mov [eax],dl mov [eax+01h],cl mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 0000000Dh mov dword ptr [esi],00000006h call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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 eax,[ebx+04h] test eax,eax jnz L00453102 push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453102: mov ecx,eax mov eax,[ecx+08h] test eax,eax jz L00453114 L0045310B: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0045310B L00453114: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453133: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+28h],09h jz L0045349C mov ecx,[esp+64h] mov edx,[esp+60h] push ecx mov ecx,[esp+54h] push edx mov edx,[esp+44h] push ecx push edx push ebp push esi mov ecx,eax call SUB_L00454AA0 jmp L0045349E CASE_004534C4_PROC0001: mov eax,[L00C8C4D4] test eax,eax jz L00453211 push 00000004h call SUB_L004D5A3E mov ebx,eax mov eax,[esp+38h] push 0000000Ch mov [ebx],eax mov edi,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 00000004h mov dword ptr [esi],00000002h call SUB_L004D4FA9 mov [esi+04h],eax mov ecx,[ebx] mov [eax],ecx mov dword ptr [esi+08h],00000000h mov ecx,[edi+04h] add esp,0000000Ch test ecx,ecx jnz L004531E2 push ebx mov [edi+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004531E2: mov eax,[ecx+08h] test eax,eax jz L004531F2 L004531E9: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L004531E9 L004531F2: push ebx mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453211: mov esi,[esp+34h] test esi,esi jz L004534AE push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax test eax,eax mov byte ptr [esp+28h],0Ah jz L0045349C push esi mov ecx,eax call SUB_L00455300 jmp L0045349E CASE_004534C4_PROC0002: mov eax,[L00C8C4D4] test eax,eax jz L00453329 push 0000000Ch call SUB_L004D5A3E mov cx,[esp+48h] mov edi,eax mov eax,[esp+44h] mov edx,edi push 0000000Ch mov [edx],eax lea eax,[edi+06h] add eax,00000002h mov [edx+04h],cx mov dx,[esp+44h] mov cl,[esp+58h] mov [eax-02h],dx mov dl,[esp+5Ch] mov [eax],cl mov cl,[esp+60h] inc eax mov [eax],dl mov dl,[esp+64h] inc eax mov [eax],cl mov [eax+01h],dl mov ebx,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 0000000Ch mov dword ptr [esi],00000000h call SUB_L004D4FA9 mov ecx,edi mov [esi+04h],eax add esp,0000000Ch 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 L004532FA push edi mov [ebx+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004532FA: mov eax,[ecx+08h] test eax,eax jz L0045330A L00453301: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L00453301 L0045330A: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453329: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax test eax,eax mov byte ptr [esp+28h],0Bh jz L0045349C mov edx,[esp+5Ch] mov ecx,[esp+58h] push edx mov edx,[esp+58h] push ecx mov ecx,[esp+58h] push edx mov edx,[esp+48h] push ecx push edx mov edx,[esp+54h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov dx,[esp+60h] mov [ecx+04h],dx mov ecx,eax call SUB_L00454EF0 jmp L0045349E CASE_004534C4_PROC0003: mov eax,[L00C8C4D4] test eax,eax jz L00453457 push 0000000Ah call SUB_L004D5A3E mov cx,[esp+40h] mov edi,eax mov eax,[esp+38h] mov dl,[esp+54h] mov [edi],eax lea eax,[edi+04h] push 0000000Ch mov [eax],cx mov cl,[esp+5Ch] add eax,00000002h mov [eax],dl mov dl,[esp+60h] inc eax mov [eax],cl mov cl,[esp+64h] inc eax mov [eax],dl mov [eax+01h],cl mov ebp,[L00C8C4CC] call SUB_L004D4FA9 mov esi,eax push 0000000Ah mov dword ptr [esi],00000001h call SUB_L004D4FA9 mov edx,edi mov [esi+04h],eax add esp,0000000Ch 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,[ebp+04h] test ecx,ecx jnz L00453428 push edi mov [ebp+04h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453428: mov eax,[ecx+08h] test eax,eax jz L00453438 L0045342F: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0045342F L00453438: push edi mov [ecx+08h],esi call SUB_L004D59F6 add esp,00000004h mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00453457: mov esi,[esp+34h] test esi,esi jz L004534AE push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax test eax,eax mov byte ptr [esp+28h],0Ch jz L0045349C mov ecx,[esp+5Ch] mov edx,[esp+58h] push ecx mov ecx,[esp+58h] push edx mov edx,[esp+58h] push ecx mov ecx,[esp+48h] push edx push ecx push esi mov ecx,eax call SUB_L00455160 jmp L0045349E L0045349C: xor eax,eax L0045349E: mov byte ptr [esp+28h],01h L004534A3: push 00000001h push 00000000h mov ecx,eax call SUB_L004587A0 L004534AE: mov ecx,[esp+20h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004534C4: dd CASE_004534C4_PROC0000 dd CASE_004534C4_PROC0001 dd CASE_004534C4_PROC0002 dd CASE_004534C4_PROC0003 Align 16 SUB_L004534E0: push FFFFFFFFh push L004E2FAB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000118h mov dword ptr [esp+14h],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov byte ptr [esp+10h],02h jz L00453560 mov ecx,[esp+34h] mov edx,[esp+30h] push ecx mov ecx,[esp+30h] push edx mov edx,[esp+20h] push ecx push edx mov edx,[esp+34h] sub esp,00000008h mov ecx,esp sub esp,00000008h mov [ecx],edx mov dx,[esp+48h] mov [ecx+04h],dx mov edx,[esp+3Ch] mov ecx,esp mov [ecx],edx mov dx,[esp+40h] mov [ecx+04h],dx mov ecx,eax call SUB_L00453E80 mov esi,eax jmp L00453562 L00453560: xor esi,esi L00453562: push 00000001h push 00000000h mov ecx,esi mov byte ptr [esp+18h],01h call SUB_L004587A0 mov ecx,[esp+08h] mov eax,esi mov fs:[00000000h],ecx pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00453590: push FFFFFFFFh push L004E2FD3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000118h mov dword ptr [esp+14h],00000000h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov byte ptr [esp+10h],01h jz L00453601 mov ecx,[esp+30h] mov edx,[esp+2Ch] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+20h] push ecx mov ecx,[esp+30h] push edx push ecx mov ecx,[esp+30h] sub esp,00000008h mov edx,esp mov [edx],ecx mov cx,[esp+3Ch] mov [edx+04h],cx mov ecx,eax call SUB_L00454260 mov esi,eax jmp L00453603 L00453601: xor esi,esi L00453603: push 00000001h push 00000000h mov ecx,esi mov byte ptr [esp+18h],00h call SUB_L004587A0 mov ecx,[esp+08h] mov eax,esi mov fs:[00000000h],ecx pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00453630: push FFFFFFFFh push L004E2FF3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000118h mov dword ptr [esp+14h],00000000h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov byte ptr [esp+10h],01h jz L004536A1 mov ecx,[esp+30h] mov edx,[esp+2Ch] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+20h] push ecx push edx mov edx,[esp+30h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov dx,[esp+3Ch] mov [ecx+04h],dx mov ecx,[esp+34h] push ecx mov ecx,eax call SUB_L004546B0 mov esi,eax jmp L004536A3 L004536A1: xor esi,esi L004536A3: push 00000001h push 00000000h mov ecx,esi mov byte ptr [esp+18h],00h call SUB_L004587A0 mov ecx,[esp+08h] mov eax,esi mov fs:[00000000h],ecx pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004536D0: push FFFFFFFFh push L004E300B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0045372D mov ecx,[esp+2Ch] mov edx,[esp+28h] push ecx mov ecx,[esp+28h] push edx mov edx,[esp+20h] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+2Ch] push ecx push edx mov ecx,eax call SUB_L00454AA0 mov esi,eax jmp L0045372F L0045372D: xor esi,esi L0045372F: push 00000001h push 00000000h mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00453760: push esi mov esi,ecx call SUB_L00453780 test byte ptr [esp+08h],01h jz L00453778 push esi call SUB_L004D4F9E add esp,00000004h L00453778: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00453780: push FFFFFFFFh push L004E3028 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004ED014 mov eax,[esi+20h] mov dword ptr [esp+10h],00000000h test eax,eax jz L004537B7 call SUB_L00402D40 L004537B7: mov eax,[esi+3Ch] test eax,eax jz L004537D0 cmp [eax+000000A8h],esi jnz L004537D0 mov dword ptr [eax+000000A8h],00000000h L004537D0: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00402CD0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004537F0: sub esp,00000008h push ebp push esi mov esi,ecx mov dword ptr [esp+08h],00000000h mov dword ptr [esp+0Ch],00000000h push edi mov eax,[esi+3Ch] mov ecx,[eax+00000104h] test ecx,ecx jz L004538BB lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx xor ecx,ecx mov cx,[eax+000000E2h] push edx push ecx call SUB_L004434A0 add esp,0000000Ch L00453835: mov edx,[esp+0Ch] mov edi,[esp+10h] L0045383D: mov eax,[esi+3Ch] mov ebp,edx sar ebp,1 mov ecx,[eax+30h] sub ecx,ebp lea ebp,[esi+08h] mov [ebp+00h],ecx add ecx,edx mov [esi+10h],ecx mov ecx,[eax+34h] sub ecx,edi mov [esi+0Ch],ecx add ecx,edi mov [esi+14h],ecx mov al,[eax+000000D8h] test al,al jz L0045387E test edx,edx jle L0045387E and eax,000000FFh push ebp push eax call SUB_L0040AF50 add esp,00000008h L0045387E: mov eax,[L0051A760] mov ecx,[ebp+00h] add ecx,eax mov edi,[esi+0Ch] mov [ebp+00h],ecx mov ecx,[L0051A760] mov ebp,[esi+10h] add ebp,ecx mov ecx,[esi+14h] mov [esi+10h],ebp mov edx,[L0051A75C] add edi,edx mov [esi+0Ch],edi mov eax,[L0051A75C] add ecx,eax pop edi mov [esi+14h],ecx pop esi pop ebp add esp,00000008h retn ;------------------------------------------------------------------------------ L004538BB: xor edx,edx mov dx,[eax+000000E2h] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h test eax,eax jz L00453835 xor edx,edx xor edi,edi mov dx,[eax+04h] mov [esp+0Ch],edx mov di,[eax+06h] mov [esp+10h],edi jmp L0045383D Align 16 SUB_L00453900: sub esp,00000010h push ebx push ebp push esi push edi mov edi,[esp+2Ch] mov eax,edi mov ecx,[eax] mov [esp+10h],ecx mov edx,[eax+04h] mov [esp+14h],edx mov ecx,[eax+08h] mov [esp+18h],ecx mov edx,[eax+0Ch] mov eax,[esp+24h] and eax,0000FFFFh mov [esp+1Ch],edx add eax,00004000h push eax call SUB_L004B9530 mov ebp,eax add esp,00000004h test ebp,ebp jz L00453B1A mov esi,[edi] mov edx,[L0051A760] xor eax,eax mov edi,[edi+04h] mov ax,[ebp+04h] mov ebx,[L0051A75C] sar eax,1 xor ecx,ecx sub esi,edx mov cx,[ebp+06h] sub eax,edx mov edx,[esp+10h] sub eax,esi add edx,eax sub edi,ebx sar ecx,1 mov [esp+10h],edx mov edx,[esp+18h] sub ecx,ebx mov ebx,[esp+14h] sub ecx,edi add edx,eax mov eax,[esp+34h] add ebx,ecx mov [esp+18h],edx mov edx,[esp+1Ch] mov [esp+14h],ebx mov ebx,[esp+28h] add edx,ecx test bl,bl mov [esp+1Ch],edx jz L00453A65 mov ecx,[esp+38h] test eax,eax push ecx jnz L00453A09 call SUB_L004B95F0 add esp,00000004h test al,al jz L004539E1 mov edx,[esp+30h] lea eax,[esp+10h] push edx push ebx push edi push esi push eax push ebp call SUB_L0040AD20 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004539E1: mov ecx,[esp+38h] push ecx call SUB_L004B9600 mov edx,[esp+34h] lea eax,[esp+14h] push edx push ebx push edi push esi push eax push ebp call SUB_L00409DD0 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453A09: call SUB_L004B95F0 add esp,00000004h test al,al jz L00453A38 mov edx,[esp+34h] mov eax,[esp+30h] push edx push eax push ebx push edi lea ecx,[esp+20h] push esi push ecx push ebp call SUB_L0040A890 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453A38: mov edx,[esp+38h] push edx call SUB_L004B9600 mov eax,[esp+38h] mov ecx,[esp+34h] push eax push ecx push ebx push edi lea edx,[esp+24h] push esi push edx push ebp call SUB_L0040A350 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453A65: test eax,eax jnz L00453ABA mov ebx,[esp+38h] push ebx call SUB_L004B95F0 add esp,00000004h test al,al jz L00453A97 mov eax,[esp+30h] push edi push esi push eax push ebp push SUB_L004B95C0 call SUB_L004B9EA0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453A97: push ebx call SUB_L004B9600 mov ecx,[esp+34h] push edi push esi push ecx push ebp push L004B97A0 call SUB_L004B9EA0 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453ABA: mov edx,[L005073D0] mov [L00CD8C24],eax mov eax,[L00B189FC] push edx push eax call SUB_L004B9E80 mov ebx,[esp+40h] push ebx call SUB_L004B95F0 add esp,0000000Ch test al,al jz L00453AFF mov ecx,[esp+30h] push edi push esi push ecx push ebp push L004B9690 call SUB_L004B9EA0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00453AFF: push ebx call SUB_L004B9600 mov edx,[esp+34h] push edi push esi push edx push ebp push L004B96E0 call SUB_L004B9EA0 add esp,00000018h L00453B1A: pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00453B30: sub esp,00000020h push ebx mov ebx,ecx push ebp push esi lea esi,[ebx+08h] push edi mov eax,esi mov [esp+14h],ebx mov ecx,[eax] mov [esp+20h],ecx mov edx,[eax+04h] mov [esp+24h],edx mov ecx,[eax+08h] mov [esp+28h],ecx mov edx,[eax+0Ch] mov eax,[ebx+3Ch] mov [esp+2Ch],edx mov ecx,[eax+00000104h] test ecx,ecx jz L00453BA0 lea ecx,[esp+1Ch] lea edx,[esp+18h] push ecx xor ecx,ecx mov cx,[eax+000000E2h] push edx push ecx mov dword ptr [esp+1Ch],00000000h call SUB_L004434A0 mov eax,[esp+24h] add esp,0000000Ch test eax,eax jz L00453E5D mov edx,[esp+1Ch] jmp L00453BDA L00453BA0: xor edx,edx mov dx,[eax+000000E2h] add edx,00004000h push edx call SUB_L004B9530 mov ecx,eax add esp,00000004h test ecx,ecx mov [esp+10h],ecx jz L00453E5D xor eax,eax xor edx,edx mov ax,[ecx+04h] mov [esp+18h],eax mov dx,[ecx+06h] mov [esp+1Ch],edx L00453BDA: mov edi,[ebx+0Ch] mov ecx,[L0051A75C] mov esi,[esi] mov ebp,[L0051A760] sub edi,ecx mov ecx,[ebx+3Ch] sar eax,1 mov ebx,eax sub esi,ebp sub ebx,ebp mov ebp,[ecx+30h] sub ebx,ebp mov ebp,[esp+20h] add ebp,ebx mov ebx,[L0051A760] mov [esp+20h],ebp mov ebp,[ecx+30h] sub eax,ebx mov ebx,[esp+28h] sub eax,ebp add ebx,eax mov eax,[L0051A75C] mov [esp+28h],ebx mov ebp,[ecx+34h] mov ebx,edx sub edx,eax sub ebx,eax sub ebx,ebp mov ebp,[esp+24h] add ebp,ebx mov ebx,[esp+2Ch] mov [esp+24h],ebp mov ebp,[ecx+34h] sub edx,ebp add ebx,edx mov [esp+2Ch],ebx mov eax,[ecx+00000104h] test eax,eax jz L00453C8C mov eax,[L005073D4] mov edx,[L005073D0] push eax mov eax,[L00B189FC] push edx mov edx,[esp+3Ch] push eax xor eax,eax mov ax,[ecx+000000E2h] push edi push esi push edx push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453C8C: mov al,[ecx+000000D8h] mov ebp,[ecx+00000110h] mov ebx,[ecx+00000114h] test al,al jz L00453D95 test ebp,ebp push ebx jnz L00453D1F call SUB_L004B95F0 add esp,00000004h test al,al jz L00453CE8 mov edx,[esp+14h] mov ecx,[esp+34h] push ecx mov eax,[edx+3Ch] lea edx,[esp+24h] mov cl,[eax+000000D8h] mov eax,[esp+14h] push ecx push edi push esi push edx push eax call SUB_L0040AD20 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453CE8: push ebx call SUB_L004B9600 mov edx,[esp+18h] mov ecx,[esp+38h] push ecx mov eax,[edx+3Ch] lea edx,[esp+28h] mov cl,[eax+000000D8h] mov eax,[esp+18h] push ecx push edi push esi push edx push eax call SUB_L00409DD0 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453D1F: call SUB_L004B95F0 add esp,00000004h test al,al jz L00453D5D mov edx,[esp+14h] mov ecx,[esp+34h] push ebp push ecx mov eax,[edx+3Ch] lea edx,[esp+28h] mov cl,[eax+000000D8h] mov eax,[esp+18h] push ecx push edi push esi push edx push eax call SUB_L0040A890 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453D5D: push ebx call SUB_L004B9600 mov edx,[esp+18h] mov ecx,[esp+38h] push ebp push ecx mov eax,[edx+3Ch] lea edx,[esp+2Ch] mov cl,[eax+000000D8h] mov eax,[esp+1Ch] push ecx push edi push esi push edx push eax call SUB_L0040A350 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453D95: mov ecx,[L005073D0] mov edx,[L00B189FC] push ecx push edx call SUB_L004B9E80 add esp,00000008h test ebp,ebp jnz L00453E08 push ebx call SUB_L004B95F0 add esp,00000004h test al,al jz L00453DDF mov eax,[esp+34h] mov ecx,[esp+10h] push edi push esi push eax push ecx push SUB_L004B95C0 call SUB_L004B9EA0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453DDF: push ebx call SUB_L004B9600 mov edx,[esp+38h] mov eax,[esp+14h] push edi push esi push edx push eax push L004B97A0 call SUB_L004B9EA0 add esp,00000018h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453E08: push ebx mov [L00CD8C24],ebp call SUB_L004B95F0 add esp,00000004h test al,al jz L00453E3E mov ecx,[esp+34h] mov edx,[esp+10h] push edi push esi push ecx push edx push L004B9690 call SUB_L004B9EA0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L00453E3E: push ebx call SUB_L004B9600 mov eax,[esp+38h] mov ecx,[esp+14h] push edi push esi push eax push ecx push L004B96E0 call SUB_L004B9EA0 add esp,00000018h L00453E5D: pop edi pop esi pop ebp pop ebx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00453E70: mov eax,00000004h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00453E80: push FFFFFFFFh push L004E3081 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp push esi mov esi,ecx push edi mov [esp+2Ch],esi mov dword ptr [esp+40h],00000001h call SUB_L00458F30 movsx edx,[esp+48h] movsx ecx,[esp+4Ah] xor ebx,ebx mov dword ptr [esi],L004ED068 mov [esi+00000110h],ebx mov [esi+00000114h],ebx mov eax,edx mov [esi+0000010Ch],ebx mov edi,[L00C83A54] sub eax,ecx add eax,edi mov [esp+18h],ecx mov [esp+14h],edx mov byte ptr [esp+40h],03h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[esp+4Ch] mov [esi+30h],eax lea eax,[edx+ecx] mov ebp,[L0051A75C] mov [esp+1Ch],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] lea eax,[00000000h+edi*4] movsx edi,[esp+52h] shl edx,1 sub edx,eax sub edx,ebp movsx ebp,[esp+50h] add edx,0000002Bh mov eax,ebp mov [esi+34h],edx mov edx,[L00C83A54] sub eax,edi add eax,edx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[L0051A760] movsx ecx,[esp+54h] shl edx,1 sub edx,eax lea eax,[edi+ebp] mov [esi+000000ACh],edx mov [esp+28h],ecx lea edx,[eax+eax*4] shl ecx,02h lea eax,[eax+edx*2] mov edx,[L0051A75C] shl eax,1 sub eax,ecx sub eax,edx add eax,0000002Bh mov [esi+000000B0h],eax mov ecx,[esi+34h] mov edx,[esi+30h] sub eax,ecx mov ecx,[esi+000000ACh] sub ecx,edx mov edx,ecx mov [esp+20h],ecx imul edx,ecx mov ecx,eax imul ecx,eax add edx,ecx mov [esp+10h],edx fild dword ptr [esp+10h] fsqrt call SUB_L004D5008 mov edx,[esp+5Ch] and edx,000000FFh lea ecx,[edx+edx+0Ah] cdq idiv ecx mov [esp+10h],eax fild dword ptr [esp+10h] fst qword ptr [esp+30h] fild dword ptr [esp+20h] fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] mov edx,[esi+000000B0h] mov ecx,[esi+34h] sub edx,ecx mov cl,[esp+60h] mov [esp+20h],edx cmp cl,bl fild dword ptr [esp+20h] fdiv ST,ST(1) fstp qword ptr [esi+000000C0h] fstp ST(0) fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L0045401A mov cl,[esp+5Ch] mov [esi+000000D8h],bl jmp L00454044 L0045401A: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 mov cl,[esp+60h] add esp,00000004h add al,80h mov [esi+000000D8h],al mov eax,[esp+10h] L00454044: add cl,03h mov dx,[esp+54h] inc al mov [esi+000000DBh],bl shl cl,1 mov [esi+000000D9h],al mov [esi+000000DCh],cl mov ecx,[esp+50h] lea eax,[esi+0000009Ch] mov byte ptr [esi+000000DAh],01h mov [esi+000000A4h],ebx mov [eax],ecx mov [eax+04h],dx mov edx,[esp+58h] mov ecx,edx and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp [eax+L005E4A29],bl jz L004540D0 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],dx mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edx mov [esi+000000E2h],ax jmp L00454105 L004540D0: mov al,[esp+60h] mov [esi+00000100h],ebx cmp al,bl mov [esi+000000DEh],dx mov [esi+000000E2h],dx jnz L004540FE mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L004540FE: mov [esi+000000E0h],dx L00454105: mov cl,[esp+64h] mov dl,[esp+60h] xor eax,eax cmp cl,bl setnz al xor ecx,ecx cmp dl,bl setz cl push 00000070h mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000E8h],eax mov [esi+000000ECh],ecx mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+60h],eax cmp eax,ebx mov byte ptr [esp+40h],04h jz L004541EE mov edx,[esp+48h] mov cx,[esp+4Ch] mov [esp+20h],edx mov [esp+24h],cx mov ecx,eax mov byte ptr [esp+40h],05h call SUB_L00402BF0 mov ebx,[esp+60h] mov dx,[esp+48h] fild dword ptr [esp+14h] mov ax,[esp+4Ah] mov cx,[esp+4Ch] mov dword ptr [ebx],L004ED014 mov [ebx+24h],dx mov [ebx+26h],ax mov [ebx+28h],cx fstp qword ptr [ebx+40h] fild dword ptr [esp+18h] mov ecx,ebx mov byte ptr [esp+40h],06h mov [ebx+3Ch],esi fstp qword ptr [ebx+48h] fild dword ptr [esp+1Ch] fstp qword ptr [ebx+50h] call SUB_L00403910 L004541EE: mov eax,[esp+14h] mov edx,[esp+18h] sub ebp,eax mov [esi+000000A8h],ebx mov [esp+60h],ebp sub edi,edx fild dword ptr [esp+60h] mov [esp+60h],edi mov eax,[esp+28h] mov ecx,[esp+1Ch] pop edi fdiv qword ptr [esp+2Ch] sub eax,ecx mov ecx,[esp+34h] fstp qword ptr [ebx+58h] fild dword ptr [esp+5Ch] mov edx,[esi+000000A8h] mov [esp+5Ch],eax fdiv qword ptr [esp+2Ch] fstp qword ptr [edx+60h] fild dword ptr [esp+5Ch] mov eax,[esi+000000A8h] fdiv qword ptr [esp+2Ch] fstp qword ptr [eax+68h] mov eax,esi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn 0020h ;------------------------------------------------------------------------------ Align 8 SUB_L00454260: push ebp mov ebp,esp and esp,FFFFFFF8h push FFFFFFFFh push L004E30C9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push esi mov esi,ecx push edi mov [esp+1Ch],esi xor ebx,ebx mov [esp+38h],ebx call SUB_L00458F30 mov ecx,[ebp+10h] mov dword ptr [esi],L004ED068 mov [esi+00000110h],ebx mov [esi+00000114h],ebx lea edx,[ecx+24h] mov [esi+0000010Ch],ebx mov [esi+000000A4h],ecx lea eax,[esi+0000009Ch] mov edi,[edx] mov byte ptr [esp+38h],02h mov [eax],edi mov dx,[edx+04h] mov [eax+04h],dx mov edi,[L00C83A54] movsx eax,[ebp+08h] movsx edx,[ebp+0Ah] mov [esp+0Ch],eax sub eax,edx add eax,edi mov [esp+10h],edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[ebp+0Ch] mov [esi+30h],eax mov eax,[esp+0Ch] add eax,edx mov [esp+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,[L0051A75C] sub eax,edx add eax,0000002Bh mov [esi+34h],eax fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] mov eax,[ecx+10h] mov edx,[ecx+08h] add eax,edx sar eax,1 mov [esi+000000ACh],eax mov edx,[L0051A760] sub eax,edx mov [esi+000000ACh],eax mov eax,[ecx+14h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000B0h],eax mov ecx,[L0051A75C] sub eax,ecx mov [esi+000000B0h],eax mov eax,[esi+000000ACh] sub eax,[esi+30h] mov [esp+18h],eax fild dword ptr [esp+18h] fstp qword ptr [esi+000000B8h] mov ecx,[esi+000000B0h] mov edx,[esi+34h] sub ecx,edx mov [esp+18h],ecx fild dword ptr [esp+18h] mov dl,[ebp+1Ch] fst qword ptr [esi+000000C0h] cmp dl,bl jz L004543B4 fstp ST(0) mov [esi+000000D8h],bl jmp L004543D3 L004543B4: fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 mov dl,[ebp+1Ch] add esp,00000004h add al,80h mov [esi+000000D8h],al L004543D3: mov al,[ebp+18h] mov edi,[ebp+14h] add al,03h mov ecx,edi shl al,1 and ecx,0000FFFFh mov [esi+000000DCh],al mov [esi+000000D9h],bl mov [esi+000000DBh],bl lea eax,[ecx+ecx*8] mov byte ptr [esi+000000DAh],01h shl eax,03h cmp [eax+L005E4A29],bl jz L00454443 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L0045447D L00454443: cmp dl,bl mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di jz L00454464 mov [esi+000000E0h],di jmp L0045447D L00454464: mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L0045447D: mov al,[ebp+20h] xor ecx,ecx cmp al,bl push 00000070h setnz cl xor eax,eax cmp dl,bl setz al mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000E8h],ecx mov [esi+000000ECh],eax mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+18h],edi cmp edi,ebx mov byte ptr [esp+38h],03h jz L00454558 mov ebx,[ebp+08h] mov cx,[ebp+0Ch] mov [esp+24h],ebx mov [esp+28h],cx mov ecx,edi mov byte ptr [esp+38h],04h call SUB_L00402BF0 fild dword ptr [esp+0Ch] mov dx,[ebp+0Ah] mov ax,[ebp+0Ch] mov dword ptr [edi],L004ED014 mov [edi+24h],bx mov [edi+26h],dx mov [edi+28h],ax fstp qword ptr [edi+40h] fild dword ptr [esp+10h] mov ecx,edi mov byte ptr [esp+38h],05h mov [edi+3Ch],esi fstp qword ptr [edi+48h] fild dword ptr [esp+14h] fstp qword ptr [edi+50h] call SUB_L00403910 jmp L0045455A L00454558: xor edi,edi L0045455A: movsx ecx,[esi+0000009Ch] mov edx,[esp+0Ch] mov [esi+000000A8h],edi sub ecx,edx mov [esp+18h],ecx mov ecx,[esp+10h] fild dword ptr [esp+18h] fstp qword ptr [edi+58h] movsx edx,[esi+0000009Eh] mov eax,[esi+000000A8h] sub edx,ecx mov [esp+18h],edx fild dword ptr [esp+18h] fstp qword ptr [eax+60h] movsx ecx,[esi+000000A0h] mov eax,[esp+14h] mov edx,[esi+000000A8h] sub ecx,eax xor eax,eax mov [esp+18h],ecx fild dword ptr [esp+18h] fstp qword ptr [edx+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000C0h] fst qword ptr [esp+1Ch] fld ST(0) fmul ST,ST(1) fld ST(2) fmul ST,ST(3) faddp ST(1),ST fsqrt fstp qword ptr [esp+24h] fstp ST(0) fdiv qword ptr [esp+24h] fstp qword ptr [esi+000000B8h] fld qword ptr [esp+1Ch] fdiv qword ptr [esp+24h] fstp qword ptr [esi+000000C0h] mov al,[esi+000000DCh] mov [esp+18h],eax mov eax,[esi+000000A8h] fild dword ptr [esp+18h] fld ST(0) fmul qword ptr [esi+000000B8h] fstp qword ptr [esi+000000B8h] fmul qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C0h] mov ecx,[esi+000000ACh] mov ebx,[esi+30h] fld qword ptr [eax+58h] fmul qword ptr [esi+000000B8h] sub ecx,ebx mov [esp+18h],ecx fild dword ptr [esp+18h] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A8h] mov edx,[esi+000000ACh] mov edi,[esi+30h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B8h] sub edx,edi mov [esp+18h],edx fild dword ptr [esp+18h] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A8h] mov ecx,[esi+000000ACh] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B8h] mov edx,[esi+30h] pop edi sub ecx,edx mov [esp+14h],ecx mov ecx,[esp+2Ch] fild dword ptr [esp+14h] fdivp ST(1),ST fstp qword ptr [eax+68h] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 001Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004546B0: push FFFFFFFFh push L004E3121 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000028h push ebx push ebp push esi mov esi,ecx push edi mov [esp+24h],esi xor ebx,ebx mov [esp+40h],ebx call SUB_L00458F30 mov dword ptr [esi],L004ED068 mov [esi+00000110h],ebx mov [esi+00000114h],ebx mov ecx,[esp+48h] mov [esi+0000010Ch],ebx mov byte ptr [esp+40h],03h lea eax,[ecx+24h] mov [esp+14h],eax mov edx,[eax] mov [esp+28h],edx mov edx,[ecx+08h] mov ax,[eax+04h] mov [esp+2Ch],ax mov eax,[ecx+10h] add eax,edx sar eax,1 mov [esi+30h],eax mov edi,[L0051A760] sub eax,edi mov [esi+30h],eax mov eax,[ecx+14h] mov edx,[ecx+0Ch] movsx ecx,[esp+4Ch] add eax,edx mov [esp+1Ch],ecx sar eax,1 mov [esi+34h],eax mov ebp,[L0051A75C] sub eax,ebp movsx ebp,[esp+4Eh] mov [esi+34h],eax mov edx,[L00C83A54] mov eax,ecx sub eax,ebp add eax,edx lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L0051A760] shl eax,1 sub eax,edx movsx edx,[esp+50h] mov [esi+000000ACh],eax lea eax,[ecx+ebp] mov [esp+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,[L0051A75C] sub eax,ecx add eax,0000002Bh mov [esi+000000B0h],eax mov ecx,[esi+000000ACh] mov edx,[esi+30h] mov edi,[esi+34h] sub ecx,edx sub eax,edi mov edx,ecx mov [esp+10h],ecx imul edx,ecx mov ecx,eax imul ecx,eax add edx,ecx mov [esp+48h],edx fild dword ptr [esp+48h] fsqrt call SUB_L004D5008 mov ecx,[esp+58h] mov edx,ecx and edx,000000FFh lea edi,[edx+edx+0Ah] cdq idiv edi mov [esp+48h],eax fild dword ptr [esp+48h] fst qword ptr [esp+30h] fild dword ptr [esp+10h] fdiv ST,ST(1) fstp qword ptr [esi+000000B8h] mov edx,[esi+000000B0h] mov edi,[esi+34h] sub edx,edi mov [esp+10h],edx mov dl,[esp+5Ch] fild dword ptr [esp+10h] cmp dl,bl fdiv ST,ST(1) fstp qword ptr [esi+000000C0h] fstp ST(0) fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L0045483B mov [esi+000000D8h],bl jmp L00454869 L0045483B: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 mov ecx,[esp+5Ch] mov dl,[esp+60h] add esp,00000004h add al,80h mov [esi+000000D8h],al mov eax,[esp+48h] L00454869: add cl,03h inc al mov edi,[esp+54h] mov [esi+000000D9h],al shl cl,1 mov [esi+000000DCh],cl mov ecx,[esp+4Ch] lea eax,[esi+0000009Ch] mov [esi+000000DBh],bl mov byte ptr [esi+000000DAh],01h mov [esi+000000A4h],ebx mov [eax],ecx mov cx,[esp+50h] mov [eax+04h],cx mov ecx,edi and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp [eax+L005E4A29],bl jz L004548F5 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L0045492F L004548F5: cmp dl,bl mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di jz L00454916 mov [esi+000000E0h],di jmp L0045492F L00454916: mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L0045492F: mov al,[esp+60h] xor ecx,ecx cmp al,bl push 00000070h setnz cl xor eax,eax cmp dl,bl setz al mov [esi+00000104h],ebx mov [esi+000000FCh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000F0h],ebx mov [esi+000000E4h],ebx mov [esi+000000E8h],ecx mov [esi+000000ECh],eax mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+60h],edi cmp edi,ebx mov byte ptr [esp+40h],04h jz L00454A25 mov eax,[esp+14h] mov ecx,[eax] mov bx,[eax+04h] mov [esp+14h],ecx mov [esp+18h],bx mov ecx,edi mov byte ptr [esp+40h],05h call SUB_L00402BF0 mov ax,[esp+14h] mov cx,[esp+16h] movsx edx,ax mov dword ptr [edi],L004ED014 mov [esp+5Ch],edx fild dword ptr [esp+5Ch] mov [edi+24h],ax mov [edi+26h],cx movsx eax,cx mov [edi+28h],bx mov [esp+5Ch],eax fstp qword ptr [edi+40h] fild dword ptr [esp+5Ch] movsx ecx,bx fstp qword ptr [edi+48h] mov [esp+5Ch],ecx mov ecx,edi fild dword ptr [esp+5Ch] mov byte ptr [esp+40h],06h mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 jmp L00454A27 L00454A25: xor edi,edi L00454A27: movsx edx,[esp+28h] mov eax,[esp+1Ch] mov [esi+000000A8h],edi sub eax,edx mov [esp+5Ch],eax fild dword ptr [esp+5Ch] movsx eax,[esp+2Ah] fdiv qword ptr [esp+30h] sub ebp,eax mov eax,[esp+20h] mov [esp+5Ch],ebp movsx edx,[esp+2Ch] sub eax,edx fstp qword ptr [edi+58h] fild dword ptr [esp+5Ch] mov ecx,[esi+000000A8h] mov [esp+5Ch],eax pop edi fdiv qword ptr [esp+2Ch] fstp qword ptr [ecx+60h] fild dword ptr [esp+58h] mov eax,[esi+000000A8h] mov ecx,[esp+34h] fdiv qword ptr [esp+2Ch] fstp qword ptr [eax+68h] mov eax,esi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000034h retn 001Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00454AA0: push ebp mov ebp,esp and esp,FFFFFFF8h push FFFFFFFFh push L004E3161 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov ebx,[ebp+08h] xor eax,eax mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax mov [esi+00000114h],eax mov [esi+0000010Ch],eax mov eax,[ebx+10h] mov edx,[ebx+08h] add eax,edx mov ecx,[ebp+0Ch] sar eax,1 mov [esi+30h],eax mov edi,[L0051A760] sub eax,edi mov dword ptr [esp+30h],00000001h mov [esi+30h],eax mov eax,[ebx+14h] mov edx,[ebx+0Ch] add eax,edx lea edx,[ecx+24h] sar eax,1 mov [esi+34h],eax mov edi,[L0051A75C] sub eax,edi mov [esi+34h],eax mov [esi+000000A4h],ecx mov edi,[edx] lea eax,[esi+0000009Ch] mov [esi+0000009Ch],edi mov dx,[edx+04h] mov [eax+04h],dx mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000ACh],eax mov edx,[L0051A760] sub eax,edx mov [esi+000000ACh],eax mov eax,[ecx+14h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000B0h],eax mov ecx,[L0051A75C] sub eax,ecx mov [esi+000000B0h],eax mov eax,[esi+000000ACh] sub eax,[esi+30h] mov [esp+0Ch],eax mov al,[ebp+18h] fild dword ptr [esp+0Ch] fstp qword ptr [esi+000000B8h] mov ecx,[esi+000000B0h] mov edx,[esi+34h] sub ecx,edx mov [esp+0Ch],ecx fild dword ptr [esp+0Ch] test al,al fstp qword ptr [esi+000000C0h] fild dword ptr [esi+30h] fstp qword ptr [esi+000000C8h] fild dword ptr [esi+34h] fstp qword ptr [esi+000000D0h] jz L00454BCD mov byte ptr [esi+000000D8h],00h jmp L00454BEF L00454BCD: fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 add esp,00000004h add al,80h mov [esi+000000D8h],al L00454BEF: mov dl,[ebp+14h] mov byte ptr [esi+000000D9h],00h add dl,03h mov byte ptr [esi+000000DBh],00h shl dl,1 mov [esi+000000DCh],dl mov edx,[ebp+10h] mov ecx,edx mov byte ptr [esi+000000DAh],01h and ecx,0000FFFFh lea eax,[ecx+ecx*8] shl eax,03h cmp byte ptr [eax+L005E4A29],00h jz L00454C65 mov dword ptr [esi+00000100h],00000001h mov cl,[eax+L005E4A2B] xor edi,edi mov [esi+000000DAh],cl mov [esi+000000DEh],dx mov [esi+000000E0h],di movsx ax,[eax+L005E49E8] add eax,edx mov [esi+000000E2h],ax jmp L00454C9F L00454C65: mov al,[ebp+18h] mov dword ptr [esi+00000100h],00000000h test al,al mov [esi+000000DEh],dx mov [esi+000000E2h],dx jnz L00454C96 mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea edx,[ecx+edx-01h] L00454C96: mov [esi+000000E0h],dx xor edi,edi L00454C9F: mov cl,[ebp+1Ch] xor eax,eax test cl,cl setnz al mov [esi+000000E8h],eax mov al,[ebp+18h] xor ecx,ecx push 00000070h test al,al setz cl mov [esi+00000104h],edi mov [esi+000000FCh],edi mov [esi+000000F8h],edi mov [esi+000000F4h],edi mov [esi+000000F0h],edi mov [esi+000000E4h],edi mov [esi+000000ECh],ecx mov [esi+00000108h],edi mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],edi mov [esi+54h],edi mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+14h],edi test edi,edi mov byte ptr [esp+30h],02h jz L00454D9C lea edx,[ebx+24h] mov eax,[ebx+24h] mov [esp+1Ch],eax mov cx,[edx+04h] mov [esp+20h],cx mov ecx,edi mov byte ptr [esp+30h],03h call SUB_L00402BF0 mov cx,[esp+1Ch] mov dx,[esp+1Eh] mov dword ptr [edi],L004ED014 mov [edi+24h],cx mov ax,[esp+20h] mov [edi+26h],dx movsx ecx,cx mov [esp+0Ch],ecx mov [edi+28h],ax fild dword ptr [esp+0Ch] movsx edx,dx fstp qword ptr [edi+40h] mov [esp+0Ch],edx mov ecx,edi fild dword ptr [esp+0Ch] movsx eax,ax fstp qword ptr [edi+48h] mov [esp+0Ch],eax mov byte ptr [esp+30h],04h fild dword ptr [esp+0Ch] mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 jmp L00454D9E L00454D9C: xor edi,edi L00454D9E: movsx edx,[esi+0000009Ch] mov [esi+000000A8h],edi movsx ecx,[ebx+24h] sub edx,ecx mov [esp+0Ch],edx fild dword ptr [esp+0Ch] fstp qword ptr [edi+58h] movsx eax,[esi+0000009Eh] movsx ecx,[ebx+26h] mov edx,[esi+000000A8h] sub eax,ecx mov [esp+0Ch],eax fild dword ptr [esp+0Ch] fstp qword ptr [edx+60h] movsx eax,[esi+000000A0h] movsx ecx,[ebx+28h] mov edx,[esi+000000A8h] sub eax,ecx mov [esp+0Ch],eax xor eax,eax fild dword ptr [esp+0Ch] fstp qword ptr [edx+68h] fld qword ptr [esi+000000B8h] fld qword ptr [esi+000000C0h] fst qword ptr [esp+14h] fld ST(0) fmul ST,ST(1) fld ST(2) fmul ST,ST(3) faddp ST(1),ST fsqrt fstp qword ptr [esp+1Ch] fstp ST(0) fdiv qword ptr [esp+1Ch] fstp qword ptr [esi+000000B8h] fld qword ptr [esp+14h] fdiv qword ptr [esp+1Ch] fstp qword ptr [esi+000000C0h] mov al,[esi+000000DCh] mov [esp+0Ch],eax mov eax,[esi+000000A8h] fild dword ptr [esp+0Ch] fld ST(0) fmul qword ptr [esi+000000B8h] fstp qword ptr [esi+000000B8h] fmul qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C0h] mov ecx,[esi+000000ACh] mov ebx,[esi+30h] fld qword ptr [eax+58h] fmul qword ptr [esi+000000B8h] sub ecx,ebx mov [esp+0Ch],ecx fild dword ptr [esp+0Ch] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A8h] mov edx,[esi+000000ACh] mov edi,[esi+30h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B8h] sub edx,edi mov [esp+0Ch],edx fild dword ptr [esp+0Ch] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A8h] mov ecx,[esi+000000ACh] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B8h] mov edx,[esi+30h] pop edi sub ecx,edx mov [esp+08h],ecx mov ecx,[esp+24h] fild dword ptr [esp+08h] fdivp ST(1),ST fstp qword ptr [eax+68h] mov eax,esi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00454EF0: push FFFFFFFFh push L004E31A9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push ebp push esi mov esi,ecx push edi mov [esp+1Ch],esi xor ebx,ebx mov [esp+30h],ebx call SUB_L00458F30 mov ebp,[esp+38h] mov dword ptr [esi],L004ED068 movsx ecx,[esp+3Ah] movsx edx,bp mov [esi+00000110h],ebx mov eax,edx mov [esi+00000114h],ebx mov [esi+0000010Ch],ebx mov edi,[L00C83A54] sub eax,ecx add eax,edi mov [esp+14h],ecx mov [esp+10h],edx mov byte ptr [esp+30h],02h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[esp+3Ch] mov [esi+30h],eax lea eax,[edx+ecx] mov [esp+18h],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov cl,[esp+48h] shl edx,1 lea eax,[00000000h+edi*4] mov edi,[esp+40h] sub edx,eax mov eax,[L0051A75C] sub edx,eax mov [esi+000000D9h],cl mov cl,[esp+44h] add edx,0000002Bh mov [esi+34h],edx mov dl,0Bh sub dl,cl mov ecx,edi and ecx,0000FFFFh mov [esi+000000D8h],bl mov [esi+000000DAh],dl mov [esi+000000DBh],bl lea eax,[ecx+ecx*8] mov [esi+000000DCh],bl shl eax,03h mov edx,00000001h cmp [eax+L005E4A29],bl jz L00455013 mov [esi+00000100h],edx mov cl,[eax+L005E4A2B] mov [esi+000000DAh],cl mov [esi+000000DEh],di mov [esi+000000E0h],bx movsx ax,[eax+L005E49E8] add eax,edi mov [esi+000000E2h],ax jmp L00455040 L00455013: mov [esi+00000100h],ebx mov [esi+000000DEh],di mov [esi+000000E2h],di mov eax,[L00C88540] lea ecx,[ecx+ecx*4] movzx cx,[eax+ecx*8+05h] lea eax,[ecx+edi-01h] mov [esi+000000E0h],ax L00455040: mov al,[esp+4Ch] xor ecx,ecx cmp al,bl mov [esi+00000104h],ebx setnz cl mov [esi+000000F4h],ecx mov cl,[esp+50h] xor eax,eax cmp cl,bl setnz al mov [esi+000000FCh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+000000F8h],eax mov [esi+000000F0h],edx mov [esi+0000009Ch],bx mov [esi+0000009Eh],bx mov [esi+000000A0h],bx push 00000070h mov [esi+000000A4h],ebx mov [esi+00000108h],ebx mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+48h],edi cmp edi,ebx mov byte ptr [esp+30h],03h jz L00455136 mov bx,[esp+3Ch] mov [esp+20h],ebp mov [esp+24h],bx mov ecx,edi mov byte ptr [esp+30h],04h call SUB_L00402BF0 fild dword ptr [esp+10h] mov cx,[esp+3Ah] mov dword ptr [edi],L004ED014 mov [edi+24h],bp mov [edi+26h],cx mov [edi+28h],bx mov ecx,edi fstp qword ptr [edi+40h] fild dword ptr [esp+14h] mov byte ptr [esp+30h],05h mov [edi+3Ch],esi fstp qword ptr [edi+48h] fild dword ptr [esp+18h] fstp qword ptr [edi+50h] call SUB_L00403910 mov [esi+000000A8h],edi jmp L0045513C L00455136: mov [esi+000000A8h],ebx L0045513C: mov ecx,[esp+28h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000024h retn 001Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00455160: push ebx push esi push edi mov esi,ecx call SUB_L00458F30 mov bl,[esp+18h] mov edi,[esp+14h] mov cl,[esp+1Ch] mov dl,0Bh sub dl,bl mov [esi+000000D9h],cl mov [esi+000000DAh],dl mov edx,edi and edx,0000FFFFh xor eax,eax mov dword ptr [esi],L004ED068 mov [esi+00000110h],eax lea ecx,[edx+edx*8] mov [esi+00000114h],eax shl ecx,03h mov [esi+0000010Ch],eax mov [esi+000000D8h],al mov [esi+000000DBh],al mov [esi+000000DCh],al cmp [ecx+L005E4A29],al jz L004551FF mov dword ptr [esi+00000100h],00000001h mov dl,[ecx+L005E4A2B] mov [esi+000000DAh],dl mov [esi+000000DEh],di mov [esi+000000E0h],ax movsx cx,[ecx+L005E49E8] add ecx,edi mov [esi+000000E2h],cx jmp L0045522D L004551FF: mov [esi+00000100h],eax mov [esi+000000DEh],di mov [esi+000000E2h],di mov ecx,[L00C88540] lea edx,[edx+edx*4] movzx dx,[ecx+edx*8+05h] lea ecx,[edx+edi-01h] mov [esi+000000E0h],cx L0045522D: mov cl,[esp+20h] mov bl,[esp+24h] xor edx,edx cmp cl,al setnz dl xor ecx,ecx cmp bl,al setnz cl mov [esi+000000F4h],edx mov edx,[esp+10h] mov [esi+00000104h],eax mov [esi+000000FCh],eax mov [esi+000000E8h],eax mov [esi+000000E4h],eax mov [esi+000000F8h],ecx mov dword ptr [esi+000000F0h],00000001h mov [esi+0000009Ch],ax mov [esi+0000009Eh],ax mov [esi+000000A0h],ax mov [esi+000000A4h],edx mov [esi+00000108h],eax mov dword ptr [esi+08h],SSZ005031A0_missile_gump mov [esi+60h],eax mov [esi+54h],eax mov [esi+64h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+48h],eax mov [esi+44h],eax mov [esi+40h],eax mov [esi+000000A8h],eax mov ecx,[edx+000001C4h] cmp ecx,eax jnz L004552D3 mov [edx+000001C4h],esi mov eax,esi pop edi pop esi pop ebx retn 0018h ;------------------------------------------------------------------------------ L004552D3: mov edx,[ecx+00000108h] cmp edx,eax jz L004552E9 L004552DD: mov ecx,edx mov edx,[ecx+00000108h] cmp edx,eax jnz L004552DD L004552E9: mov [ecx+00000108h],esi mov eax,esi pop edi pop esi pop ebx retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00455300: push FFFFFFFFh push L004E31F1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 xor ebx,ebx mov dword ptr [esi],L004ED068 mov [esi+00000110h],ebx mov [esi+00000114h],ebx mov [esi+0000010Ch],ebx mov [esi+000000D8h],bl mov edi,00000001h mov byte ptr [esi+000000D9h],06h mov byte ptr [esi+000000DAh],01h push 0000000Ah mov [esp+2Ch],edi mov [esi+000000DBh],bl mov [esi+000000DCh],bl mov word ptr [esi+000000DEh],4E20h mov word ptr [esi+000000E0h],4E29h call SUB_L0047BBB0 add ax,[esi+000000DEh] lea ebp,[esi+0000009Ch] mov [esi+00000104h],edi mov [esi+000000ECh],ebx mov [esi+000000E2h],ax mov eax,[esp+34h] add eax,00000024h mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000FCh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+00000100h],ebx mov [esi+000000F0h],edi mov [esi+000000A4h],ebx mov edx,[eax] mov ecx,ebp push 00000070h mov [ecx],edx mov ax,[eax+04h] mov [esi+00000108h],ebx mov [ecx+04h],ax mov edi,[L00C83A54] movsx edx,[ebp+00h] movsx ecx,[esi+0000009Eh] mov eax,edx sub eax,ecx add eax,edi lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi mov [esi+30h],eax lea eax,[edx+ecx] mov edi,[L0051A75C] mov dword ptr [esi+08h],SSZ005031A0_missile_gump lea ecx,[eax+eax*4] mov [esi+60h],ebx mov [esi+54h],ebx mov [esi+64h],ebx lea edx,[eax+ecx*2] mov [esi+50h],ebx movsx eax,[esi+000000A0h] shl edx,1 shl eax,02h sub edx,eax mov [esi+4Ch],ebx sub edx,edi mov [esi+48h],ebx mov [esi+34h],edx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 add esp,00000008h mov edi,eax mov [esp+14h],edi cmp edi,ebx mov byte ptr [esp+28h],02h jz L004554EB mov ecx,[ebp+00h] mov bp,[ebp+04h] mov [esp+18h],ecx mov [esp+1Ch],bp mov ecx,edi mov byte ptr [esp+28h],03h call SUB_L00402BF0 mov ax,[esp+18h] mov cx,[esp+1Ah] movsx edx,ax mov dword ptr [edi],L004ED014 mov [esp+30h],edx fild dword ptr [esp+30h] mov [edi+24h],ax mov [edi+26h],cx movsx eax,cx mov [edi+28h],bp mov [esp+30h],eax fstp qword ptr [edi+40h] fild dword ptr [esp+30h] movsx ecx,bp fstp qword ptr [edi+48h] mov [esp+30h],ecx mov ecx,edi fild dword ptr [esp+30h] mov byte ptr [esp+28h],04h mov [edi+3Ch],esi fstp qword ptr [edi+50h] call SUB_L00403910 mov [esi+000000A8h],edi jmp L004554F1 L004554EB: mov [esi+000000A8h],ebx L004554F1: mov ecx,[esp+20h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00455510: push FFFFFFFFh push L004E3216 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004ED068 mov ecx,[esi+000000A8h] mov dword ptr [esp+10h],00000001h test ecx,ecx jz L00455555 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi+000000A8h],00000000h L00455555: mov eax,[esi+000000F0h] test eax,eax jz L004555BF mov ecx,[esi+000000A4h] test ecx,ecx jz L004555BF mov eax,[ecx+000001C4h] cmp eax,esi jnz L00455581 mov edx,[eax+00000108h] mov [ecx+000001C4h],edx jmp L004555A9 L00455581: mov ecx,[eax+00000108h] cmp ecx,esi jz L00455597 L0045558B: mov eax,ecx mov ecx,[eax+00000108h] cmp ecx,esi jnz L0045558B L00455597: mov ecx,[eax+00000108h] mov edx,[ecx+00000108h] mov [eax+00000108h],edx L004555A9: mov ecx,[esi+000000A4h] mov eax,[ecx] call [eax+14h] mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+10h] L004555BF: mov ecx,[esi+0000010Ch] test ecx,ecx jz L00455600 mov eax,[ecx+08h] mov eax,[eax+08h] test eax,eax jz L004555DE push eax mov [ecx+08h],eax call SUB_L0045C520 jmp L00455600 L004555DE: mov al,[ecx+0Ch] dec al mov [ecx+0Ch],al jz L004555F6 mov eax,[ecx+04h] push eax mov [ecx+08h],eax call SUB_L0045C520 jmp L00455600 L004555F6: test ecx,ecx jz L00455600 mov edx,[ecx] push 00000001h call [edx] L00455600: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L00455620: push ebp mov ebp,esp and esp,FFFFFFF8h push FFFFFFFFh push L004E323E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi mov edx,[esi+000000A8h] mov ax,[esi+000000E2h] cmp edx,ebx mov [esp+1Ch],ax jnz L00455679 cmp [esi+000000A4h],ebx jz L00455B0B cmp [esi+000000F0h],ebx jnz L004559B5 jmp L00455B0B L00455679: cmp [esi+000000F0h],ebx jnz L004559B5 mov ecx,[esi+000000A4h] cmp ecx,ebx jz L00455A49 mov ax,[esi+0000009Ch] lea edi,[esi+0000009Ch] cmp ax,[ecx+24h] jnz L004556C4 mov ax,[esi+0000009Eh] cmp ax,[ecx+26h] jnz L004556C4 mov ax,[esi+000000A0h] cmp ax,[ecx+28h] jz L00455884 L004556C4: mov ebp,[ecx+24h] mov eax,edi mov [eax],ebp mov bp,[ecx+28h] mov [eax+04h],bp mov eax,[ecx+10h] add eax,[ecx+08h] sar eax,1 mov [esi+000000ACh],eax mov ebp,[L0051A760] sub eax,ebp mov [esi+000000ACh],eax mov eax,[ecx+14h] add eax,[ecx+0Ch] sar eax,1 mov [esi+000000B0h],eax mov ecx,[L0051A75C] sub eax,ecx movsx ecx,[edi] mov [esp+14h],ecx mov [esi+000000B0h],eax fild dword ptr [esp+14h] fsub qword ptr [edx+40h] fstp qword ptr [edx+58h] movsx edx,[esi+0000009Eh] mov eax,[esi+000000A8h] mov [esp+14h],edx fild dword ptr [esp+14h] fsub qword ptr [eax+48h] fstp qword ptr [eax+60h] movsx ecx,[esi+000000A0h] mov eax,[esi+000000A8h] mov [esp+14h],ecx fild dword ptr [esp+14h] fsub qword ptr [eax+50h] fstp qword ptr [eax+68h] fild dword ptr [esi+000000ACh] fsub qword ptr [esi+000000C8h] fstp qword ptr [esi+000000B8h] fild dword ptr [esi+000000B0h] fsub qword ptr [esi+000000D0h] fstp qword ptr [esi+000000C0h] mov edx,[esi+000000C0h] mov eax,[esi+000000C4h] fld qword ptr [esi+000000B8h] mov [esp+14h],edx mov [esp+18h],eax fld qword ptr [esp+14h] fmul qword ptr [esp+14h] fld ST(1) fmul ST,ST(2) xor eax,eax faddp ST(1),ST fsqrt fstp qword ptr [esp+24h] fdiv qword ptr [esp+24h] fld qword ptr [esp+14h] fdiv qword ptr [esp+24h] fstp qword ptr [esp+14h] mov ecx,[esp+14h] mov edx,[esp+18h] fstp qword ptr [esi+000000B8h] mov [esi+000000C0h],ecx mov [esi+000000C4h],edx mov al,[esi+000000DCh] mov [esp+14h],eax mov eax,[esi+000000A8h] fild dword ptr [esp+14h] fld ST(0) fmul qword ptr [esi+000000B8h] fst qword ptr [esp+24h] fstp qword ptr [esi+000000B8h] fmul qword ptr [esi+000000C0h] fstp qword ptr [esi+000000C0h] fld qword ptr [esp+24h] fmul qword ptr [eax+58h] fild dword ptr [esi+000000ACh] fsub qword ptr [esi+000000C8h] fdivp ST(1),ST fstp qword ptr [eax+58h] mov eax,[esi+000000A8h] fld qword ptr [eax+60h] fmul qword ptr [esi+000000B8h] fild dword ptr [esi+000000ACh] fsub qword ptr [esi+000000C8h] fdivp ST(1),ST fstp qword ptr [eax+60h] mov eax,[esi+000000A8h] fld qword ptr [eax+68h] fmul qword ptr [esi+000000B8h] fild dword ptr [esi+000000ACh] fsub qword ptr [esi+000000C8h] fdivp ST(1),ST fstp qword ptr [eax+68h] cmp [esi+000000ECh],ebx jz L00455884 fld qword ptr [esi+000000C0h] fld qword ptr [esi+000000B8h] fpatan push ecx fstp dword ptr [esp] call SUB_L004096A0 add esp,00000004h add al,80h mov [esi+000000D8h],al L00455884: mov eax,[esi+000000ACh] mov edx,[esi+30h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000018h jg L00455979 mov eax,[esi+000000B0h] mov edx,[esi+34h] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000018h jg L00455979 cmp [esi+000000E8h],ebx jz L00455956 mov dx,[edi+04h] mov ecx,[edi] mov [esp+20h],dx mov edx,[esp+20h] mov [esp+1Ch],ecx mov ax,cx mov cx,[esp+1Eh] lea edi,[edx+01h] push 00000118h mov [esp+3Ch],ebx mov [esp+18h],ax mov [esp+1Ah],cx mov [esp+1Ch],di call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov byte ptr [esp+38h],01h jz L0045593E mov ecx,[esi+00000114h] mov edx,[esi+00000110h] push ecx push edx push ebx push ebx mov edx,[esp+24h] push 00000009h push 0000000Ah push 000036CBh sub esp,00000008h mov ecx,esp mov [ecx],edx mov [ecx+04h],di mov ecx,eax call SUB_L004525B0 jmp L00455940 L0045593E: xor eax,eax L00455940: push 00000001h push ebx mov ecx,eax mov [esp+40h],bl call SUB_L004587A0 mov dword ptr [esp+38h],FFFFFFFFh L00455956: cmp esi,ebx jz L00455CE3 mov eax,[esi] push 00000001h mov ecx,esi call [eax] mov ecx,[esp+30h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00455979: fld qword ptr [esi+000000B8h] fadd qword ptr [esi+000000C8h] fst qword ptr [esi+000000C8h] fld qword ptr [esi+000000C0h] fadd qword ptr [esi+000000D0h] fst qword ptr [esp+14h] fstp qword ptr [esi+000000D0h] call SUB_L004D5008 fld qword ptr [esp+14h] mov [esi+30h],eax call SUB_L004D5008 mov [esi+34h],eax L004559B5: mov dl,[esi+000000DBh] mov cl,[esi+000000DAh] inc dl mov al,dl mov [esi+000000DBh],dl cmp al,cl jc L00455BF5 mov eax,[esi+00000100h] mov [esi+000000DBh],bl cmp eax,ebx jz L00455B2E mov cx,[esi+000000DEh] mov eax,ecx and eax,0000FFFFh lea eax,[eax+eax*8] shl eax,03h mov dl,[eax+L005E4A2A] inc word ptr [esi+000000E0h] mov [esi+000000DAh],dl mov dx,[esi+000000E0h] movzx di,[eax+L005E4A29] cmp dx,di jc L00455A29 mov [esi+000000E0h],bx L00455A29: xor edx,edx mov dx,[esi+000000E0h] movsx ax,[edx+eax+L005E49E8] add eax,ecx mov [esi+000000E2h],ax jmp L00455BF5 L00455A49: fld qword ptr [esi+000000B8h] fadd qword ptr [esi+000000C8h] fst qword ptr [esi+000000C8h] fld qword ptr [esi+000000C0h] fadd qword ptr [esi+000000D0h] fst qword ptr [esp+14h] fstp qword ptr [esi+000000D0h] call SUB_L004D5008 fld qword ptr [esp+14h] mov [esi+30h],eax call SUB_L004D5008 mov [esi+34h],eax mov al,[esi+000000D9h] dec al mov [esi+000000D9h],al jnz L004559B5 cmp [esi+000000E8h],ebx jz L00455B0B push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov dword ptr [esp+38h],00000002h jz L00455AF7 mov ecx,[esi+00000114h] mov edx,[esi+00000110h] push ecx push edx push ebx push ebx push 0000000Dh push 0000000Ah push 000036B1h lea ecx,[esi+0000009Ch] 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_L004525B0 jmp L00455AF9 L00455AF7: xor eax,eax L00455AF9: push 00000001h push ebx mov ecx,eax mov dword ptr [esp+40h],FFFFFFFFh call SUB_L004587A0 L00455B0B: cmp esi,ebx jz L00455CE3 mov edx,[esi] push 00000001h mov ecx,esi call [edx] mov ecx,[esp+30h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L00455B2E: cmp [esi+00000104h],ebx jz L00455B67 xor ecx,ecx xor edx,edx mov cx,[esi+000000E0h] mov dx,[esi+000000DEh] sub ecx,edx inc ecx push ecx call SUB_L0047BBB0 add esp,00000004h add ax,[esi+000000DEh] mov [esi+000000E2h],ax jmp L00455BF5 L00455B67: cmp [esi+000000F4h],ebx jz L00455BB1 dec word ptr [esi+000000E2h] mov cx,[esi+000000E2h] mov ax,[esi+000000DEh] cmp cx,ax jnc L00455BF5 cmp [esi+000000F8h],ebx jz L00455BA1 inc eax mov [esi+000000F4h],ebx mov [esi+000000E2h],ax jmp L00455BF5 L00455BA1: mov ax,[esi+000000E0h] mov [esi+000000E2h],ax jmp L00455BF5 L00455BB1: inc word ptr [esi+000000E2h] mov cx,[esi+000000E2h] mov ax,[esi+000000E0h] cmp cx,ax jbe L00455BF5 cmp [esi+000000F8h],ebx jz L00455BE7 dec eax mov dword ptr [esi+000000F4h],00000001h mov [esi+000000E2h],ax jmp L00455BF5 L00455BE7: mov cx,[esi+000000DEh] mov [esi+000000E2h],cx L00455BF5: cmp [esi+000000E4h],ebx jz L00455C04 add byte ptr [esi+000000D8h],14h L00455C04: cmp [esi+000000F0h],ebx jnz L00455C70 mov eax,[esi+000000A8h] fld qword ptr [eax+58h] fadd qword ptr [eax+40h] fstp qword ptr [eax+40h] mov eax,[esi+000000A8h] fld qword ptr [eax+60h] fadd qword ptr [eax+48h] fstp qword ptr [eax+48h] mov eax,[esi+000000A8h] fld qword ptr [eax+68h] fadd qword ptr [eax+50h] fstp qword ptr [eax+50h] mov esi,[esi+000000A8h] mov ecx,esi mov edx,[esi] call [edx+14h] fld qword ptr [esi+40h] call SUB_L004D5008 fld qword ptr [esi+48h] mov [esi+24h],ax call SUB_L004D5008 fld qword ptr [esi+50h] mov [esi+26h],ax call SUB_L004D5008 mov [esi+28h],ax mov eax,[esi] mov ecx,esi jmp L00455CE0 L00455C70: mov al,[esi+000000D9h] dec al mov [esi+000000D9h],al jz L00455B0B mov ax,[esp+1Ch] cmp ax,[esi+000000E2h] jz L00455CE3 mov edi,[esi+000000A8h] cmp edi,ebx jz L00455CCD mov edx,[edi] mov ecx,edi call [edx+14h] fld qword ptr [edi+40h] call SUB_L004D5008 fld qword ptr [edi+48h] mov [edi+24h],ax call SUB_L004D5008 fld qword ptr [edi+50h] mov [edi+26h],ax call SUB_L004D5008 mov [edi+28h],ax mov eax,[edi] mov ecx,edi jmp L00455CE0 L00455CCD: mov ecx,[esi+000000A4h] mov edx,[ecx] call [edx+14h] mov ecx,[esi+000000A4h] mov eax,[ecx] L00455CE0: call [eax+10h] L00455CE3: mov ecx,[esp+30h] pop edi mov fs:[00000000h],ecx pop esi pop ebp pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455D00: push esi mov esi,[L00B294DC] test esi,esi jz L00455D78 push ebx mov ebx,[esp+0Ch] push edi mov edi,[esp+14h] L00455D15: mov eax,[esi] mov ecx,esi call [eax+00000138h] test eax,eax jz L00455D6F fild dword ptr [esp+10h] mov eax,[esi+30h] mov edx,[esi+34h] mov ecx,[esi+000000ACh] add eax,ebx fadd qword ptr [esi+000000C8h] mov [esi+30h],eax mov eax,[esi+000000B0h] add edx,edi add ecx,ebx add eax,edi mov [esi+34h],edx fstp qword ptr [esi+000000C8h] fild dword ptr [esp+14h] mov [esi+000000ACh],ecx mov [esi+000000B0h],eax fadd qword ptr [esi+000000D0h] fstp qword ptr [esi+000000D0h] L00455D6F: mov esi,[esi+40h] test esi,esi jnz L00455D15 pop edi pop ebx L00455D78: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00455D80: push esi mov esi,[L00B294DC] push edi mov edi,[L00B28A78] test esi,esi jz L00455DBE L00455D92: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+00000138h] test eax,eax jz L00455DB4 test esi,esi jz L00455DB4 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00455DB4: mov esi,[L00B28A78] test esi,esi jnz L00455D92 L00455DBE: mov [L00B28A78],edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455DD0: push FFFFFFFFh push L004E325B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L00455E2E mov ecx,[esp+28h] mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push edx mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push 00000000h push edx push ecx push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 mov esi,eax jmp L00455E30 L00455E2E: xor esi,esi L00455E30: push 00000001h push 00000000h mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh mov [L00B294B8],esi call SUB_L004587A0 mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00455E60: push esi mov esi,[L00B294DC] push edi mov edi,[L00B28A78] test esi,esi jz L00455EA6 L00455E72: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+0000009Ch] test eax,eax jz L00455E9C cmp esi,[L00B29068] jz L00455E9C test esi,esi jz L00455E9C mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00455E9C: mov esi,[L00B28A78] test esi,esi jnz L00455E72 L00455EA6: mov [L00B28A78],edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00455EB0: push esi mov esi,[L00B294DC] push edi mov edi,[L00B28A78] test esi,esi jz L00455EEE L00455EC2: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+0000009Ch] test eax,eax jz L00455EE4 test esi,esi jz L00455EE4 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00455EE4: mov esi,[L00B28A78] test esi,esi jnz L00455EC2 L00455EEE: mov [L00B28A78],edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455F00: mov eax,[L00B29050] test eax,eax jnz L00455F0E call SUB_L004CB840 L00455F0E: call SUB_L004CB760 mov eax,[L00D1B864] push eax call [USER32.dll!GetDC] push eax call [GDI32.dll!CreateCompatibleDC] mov ecx,[L00B186EC] mov [L00BE9504],eax test ecx,ecx jz L00455F4A mov ecx,[L00B186E0] push 00000000h push ecx push eax call [GDI32.dll!SelectPalette] mov eax,[L00BE9504] L00455F4A: mov edx,[L00B28A68] push edx push eax call [GDI32.dll!SelectObject] mov dword ptr [L00B29050],00000000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00455F70: push ebx push ebp push esi push edi mov edi,[esp+14h] test edi,edi jz L0045608C mov esi,[esp+20h] test esi,esi jz L0045608C mov ebx,[esp+1Ch] mov ebp,[esp+18h] L00455F94: cmp edi,[esi+38h] jnz L00455FC2 mov eax,[esi] mov ecx,esi call [eax+000000F4h] test eax,eax jnz L00456093 cmp edi,[esi+38h] jnz L00455FC2 mov edx,[esi] mov ecx,esi call [edx+000000D8h] test eax,eax jnz L00456093 L00455FC2: mov eax,[edi] mov ecx,edi call [eax+30h] test eax,eax jz L00455FF2 mov eax,[esi+38h] cmp edi,eax jnz L00455FF2 test eax,eax jz L00455FF2 test ebp,ebp jnz L00455FF2 test ebx,ebx jnz L00455FF2 mov edx,[esi] mov ecx,esi call [edx+000000CCh] test eax,eax jnz L00456093 L00455FF2: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L00456014 cmp edi,[esi+38h] jnz L00456014 test ebp,ebp jz L00456014 mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jnz L00456093 L00456014: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L00456036 cmp edi,[esi+38h] jnz L00456036 test ebx,ebx jz L00456036 mov edx,[esi] mov ecx,esi call [edx+000000DCh] test eax,eax jnz L00456093 L00456036: mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0045606A cmp edi,[esi+38h] jnz L0045606A test ebp,ebp jnz L0045606A test ebx,ebx jnz L0045606A mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jnz L0045606A mov eax,[esi] mov ecx,esi call [eax+000000DCh] test eax,eax jz L00456093 L0045606A: mov eax,[esi+48h] test eax,eax jz L00456081 push eax push ebx push ebp push edi call SUB_L00455F70 add esp,00000010h test eax,eax jnz L0045608E L00456081: mov esi,[esi+40h] test esi,esi jnz L00455F94 L0045608C: xor eax,eax L0045608E: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L00456093: mov eax,esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004560A0: push esi mov esi,[esp+08h] mov ecx,[esi+000000C4h] test ecx,ecx jz L004560D2 mov eax,[ecx] call [eax+24h] test eax,eax jz L004560BF mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004560BF: mov ecx,[esi+000000C4h] mov edx,[ecx] call [edx+54h] neg eax sbb eax,eax pop esi neg eax retn ;------------------------------------------------------------------------------ L004560D2: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004560E0: push ecx mov ecx,[L00B294B8] push ebx push ebp push esi test ecx,ecx push edi jz L00456187 mov edi,[esp+18h] mov ebx,[esp+1Ch] mov esi,ecx xor ebp,ebp test esi,esi jz L00456160 L00456103: mov eax,[esi+04h] push 00000D4Dh push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L0045613A mov eax,[esi] mov ecx,esi call [eax+7Ch] mov edx,[esi+30h] mov ecx,[esi+34h] mov esi,[esi+4Ch] or ebp,eax sub edi,edx sub ebx,ecx test esi,esi jnz L00456103 jmp L00456147 L0045613A: push SSZ00503228_CGump__ScreenToGumpCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00456147: test ebp,ebp jz L0045615A mov ecx,[L00C88348] mov eax,[L00C8834C] sub edi,ecx sub ebx,eax L0045615A: mov ecx,[L00B294B8] L00456160: mov edx,[ecx] push ebx push edi call [edx+10h] test eax,eax jz L004562A1 mov ecx,[L00B294B8] mov edx,[esp+20h] push edx push ebx mov eax,[ecx] push edi call [eax+04h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00456187: mov edi,[L00B294DC] test edi,edi jz L004562A1 L00456195: mov eax,[edi+04h] push 00000981h push SSZ005032A8_C__publish004_client_src_shared_ push eax push edi call SUB_L00476020 add esp,00000010h test al,al jz L00456294 mov ebx,[esp+18h] mov ebp,[esp+1Ch] mov esi,edi mov dword ptr [esp+10h],00000000h test esi,esi jz L004561CF L004561CA: mov eax,[esi+04h] jmp L004561D4 L004561CF: mov eax,FEEDBEEFh L004561D4: push 00000D4Dh push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00456210 mov edx,[esi] mov ecx,esi call [edx+7Ch] mov ecx,[esp+10h] mov edx,[esi+30h] or ecx,eax sub ebx,edx mov [esp+10h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] sub ebp,ecx test esi,esi jnz L004561CA jmp L0045621D L00456210: push SSZ00503228_CGump__ScreenToGumpCoords__eithe call SUB_L004C7EC0 add esp,00000004h L0045621D: mov eax,[esp+10h] test eax,eax jz L00456234 mov ecx,[L00C88348] mov eax,[L00C8834C] sub ebx,ecx sub ebp,eax L00456234: mov esi,[esp+20h] cmp edi,esi jz L00456288 mov eax,[edi+6Ch] test eax,eax jz L00456288 mov eax,[edi] push ebp push ebx mov ecx,edi call [eax+10h] test eax,eax jz L00456288 mov edx,[edi] mov ecx,edi call [edx+000000A0h] test eax,eax jz L004562B9 mov eax,[esp+24h] test eax,eax jz L004562B9 mov ecx,[edi+000000C4h] test ecx,ecx jz L00456288 mov eax,[ecx] call [eax+24h] test eax,eax jnz L004562A9 mov ecx,[edi+000000C4h] mov edx,[ecx] call [edx+54h] test eax,eax jnz L004562A9 L00456288: mov edi,[edi+40h] test edi,edi jz L004562A1 jmp L00456195 L00456294: push SSZ005031B0_CGumpManager__GetGumpAt__either_ call SUB_L004C7EC0 add esp,00000004h L004562A1: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004562A9: mov edx,[edi] push esi push ebp push ebx mov ecx,edi call [edx+04h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004562B9: mov eax,[edi] push esi push ebp push ebx mov ecx,edi call [eax+04h] pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004562D0: mov eax,[L00B29050] test eax,eax jnz L00456375 mov edx,[esp+04h] push esi mov ecx,[edx] mov [L00B28A58],ecx mov eax,[edx+04h] mov [L00B28A5C],eax mov esi,[edx+08h] mov [L00B28A60],esi mov edx,[edx+0Ch] test eax,eax mov [L00B28A64],edx jge L00456312 mov dword ptr [L00B28A5C],00000000h L00456312: test ecx,ecx jge L00456320 mov dword ptr [L00B28A58],00000000h L00456320: mov eax,[L005073D4] cmp edx,eax jle L0045632E mov [L00B28A64],eax L0045632E: mov eax,[L005073D0] cmp esi,eax jle L0045633C mov [L00B28A60],eax L0045633C: call SUB_L00409630 mov esi,[L00B294DC] test esi,esi jz L0045636F L0045634B: mov eax,[esi] mov ecx,esi call [eax+000000E8h] test eax,eax jz L00456368 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L004A5350 L00456368: mov esi,[esi+40h] test esi,esi jnz L0045634B L0045636F: call SUB_L004D1050 pop esi L00456375: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00456380: push FFFFFFFFh push L004E327B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h mov eax,[esp+34h] push ebx push ebp push esi mov ebp,[eax+0Ch] push edi mov edi,[eax+04h] cmp ebp,edi mov [esp+14h],edi jle L00456872 mov ecx,[eax+08h] mov ebx,[eax] cmp ecx,ebx mov [esp+18h],ecx jle L00456872 mov esi,[L005073D0] mov edx,[L0054B290] mov eax,esi imul eax,[L00C8834C] sub edx,eax mov eax,[L00C88348] sub edx,eax mov eax,[L005073D4] jns L004563F3 mov edi,eax imul edi,esi add edx,edi mov edi,[esp+14h] L004563F3: imul edi,esi imul eax,esi add edi,ebx dec ebp imul ebp,esi lea ebp,[ecx+ebp-01h] mov ecx,eax sub ecx,edx cmp edi,ecx jge L004564C3 cmp ebp,ecx jl L004564CB L00456417: mov eax,ecx cdq idiv esi mov eax,ecx mov edi,edx cdq idiv esi cmp edi,ebx mov esi,eax mov eax,[esp+18h] jle L0045681C cmp edi,eax jge L00456820 mov edx,[esp+14h] mov [esp+24h],ebx lea eax,[esp+24h] lea ebx,[esi+01h] push 00000000h push eax mov [esp+30h],edx mov [esp+34h],edi mov [esp+38h],ebx call SUB_L00456380 mov ebp,[esp+4Ch] lea edx,[esp+2Ch] push 00000000h push edx mov ecx,[ebp+08h] mov [esp+34h],edi mov [esp+3Ch],ecx mov [esp+40h],esi call SUB_L00456380 mov eax,[ebp+0Ch] lea ecx,[esp+34h] push 00000000h push ecx mov [esp+40h],esi mov [esp+48h],eax call SUB_L00456380 mov edx,[ebp+00h] lea eax,[esp+3Ch] push 00000001h push eax mov [esp+44h],edx mov [esp+4Ch],edi mov [esp+48h],ebx call SUB_L00456380 add esp,00000020h pop edi pop esi pop ebp pop ebx mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ L004564C3: cmp ebp,ecx jl L00456417 L004564CB: mov ebp,[L00B189FC] cmp edi,ecx jl L004564D7 sub edx,eax L004564D7: mov ecx,[L00B189FC] lea eax,[edx+edx] add ecx,eax xor ebx,ebx mov [L00B189FC],ecx mov ecx,[L00BE94F8] add eax,ecx mov [L00BE94E0],eax mov al,[L0050CC2F] cmp al,bl jz L00456690 lea edx,[esp+14h] lea eax,[esp+10h] push edx push eax mov [esp+20h],ebx mov [esp+24h],ebx call SUB_L00476BC0 lea ecx,[esp+24h] lea edx,[esp+20h] push ecx push edx call SUB_L00476C60 mov eax,[esp+24h] mov ecx,[esp+20h] push ebx push ebx push eax push ecx call SUB_L004560E0 mov edi,eax add esp,00000020h cmp edi,ebx jz L00456690 mov eax,[edi+08h] mov esi,SSZ004FFFE8_tutorial_gump L00456550: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00456574 cmp cl,bl jz L00456570 mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00456574 add eax,00000002h add esi,00000002h cmp cl,bl jnz L00456550 L00456570: xor eax,eax jmp L00456579 L00456574: sbb eax,eax sbb eax,FFFFFFFFh L00456579: cmp eax,ebx jz L00456690 mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,[edi] push ecx push edx mov ecx,edi call [eax+70h] mov esi,eax mov eax,[L00BE9508] cmp eax,edi jz L004565B3 mov [L00BE9508],edi call [KERNEL32.dll!GetTickCount] mov [L00BE950C],eax jmp L00456690 L004565B3: cmp esi,FFFFFFFFh jz L00456690 call [KERNEL32.dll!GetTickCount] mov edx,[L00BE950C] mov ecx,[L0050CF1C] sub eax,edx cmp eax,ecx jbe L00456690 push esi call SUB_L00456920 mov esi,eax add esp,00000004h cmp esi,ebx jz L00456690 mov ecx,esi call SUB_L004C8360 cmp [eax],bx jz L00456690 push 000000B4h call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+20h],edi cmp edi,ebx mov [esp+3Ch],ebx jz L00456629 mov ecx,esi call SUB_L004C8360 push eax push ebx push ebx mov ecx,edi call SUB_L004C1330 jmp L0045662B L00456629: xor eax,eax L0045662B: mov ecx,[esp+10h] mov dword ptr [esp+3Ch],FFFFFFFFh cmp ecx,00000140h mov [L00B294CC],eax jle L00456649 sub ecx,[eax+20h] jmp L00456657 L00456649: mov edx,[esp+18h] cmp edx,000000FAh jg L00456657 add ecx,edx L00456657: mov edx,[esp+14h] cmp edx,000000F0h jle L00456666 sub edx,[eax+24h] L00456666: cmp ecx,[L005073D0] jge L0045667E cmp edx,[L005073D4] jge L0045667E mov [eax+30h],ecx mov [eax+34h],edx jmp L00456690 L0045667E: cmp eax,ebx jz L0045668A mov edx,[eax] push 00000001h mov ecx,eax call [edx] L0045668A: mov [L00B294CC],ebx L00456690: mov esi,[L00B294C4] mov edi,[esp+44h] cmp esi,ebx jz L004566FB cmp esi,ebx jz L004566A7 L004566A2: mov eax,[esi+04h] jmp L004566AC L004566A7: mov eax,FEEDBEEFh L004566AC: push 00000AC7h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004566D5 mov eax,[esi] push edi mov ecx,esi call [eax+08h] mov esi,[esi+44h] cmp esi,ebx jnz L004566A2 jmp L004566FB L004566D5: push SSZ0050339C_CGumpManager__DrawAllGumps__eith call SUB_L004C7EC0 add esp,00000004h cmp esi,ebx jz L004566EE mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004566EE: push SSZ00503370_CGumpManager__DrawAllGumps__dele call SUB_L004C7EC0 add esp,00000004h L004566FB: mov esi,[L00B294C4] cmp esi,ebx jz L00456757 L00456705: mov eax,[esi+04h] push 00000AD5h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00456731 mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] cmp esi,ebx jnz L00456705 jmp L00456757 L00456731: push SSZ005032D8_CGumpManager__DrawAllGumps__eith call SUB_L004C7EC0 add esp,00000004h cmp esi,ebx jz L0045674A mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0045674A: push SSZ00503370_CGumpManager__DrawAllGumps__dele call SUB_L004C7EC0 add esp,00000004h L00456757: mov ecx,[L00B294CC] cmp ecx,ebx jz L00456767 mov eax,[ecx] push 00000001h call [eax] L00456767: mov eax,[esp+48h] mov [L00B294CC],ebx cmp eax,ebx mov [L00B189FC],ebp jz L0045690B push edi call SUB_L004562D0 mov ecx,[L00BE9500] add esp,00000004h dec ecx cmp ecx,ebx mov [esp+48h],ecx jl L00456803 mov eax,ecx shl eax,04h add eax,L00B694EC L004567A1: mov edx,[eax-08h] mov edi,[eax] mov esi,[L00B294E0+ecx*4] mov ebp,[L00B494E0+ecx*4] cmp edx,edi mov [esp+44h],esi jge L004567F7 L004567BC: mov ecx,[eax-04h] mov ebx,[eax-0Ch] sub ecx,ebx mov edi,ebp shl ecx,1 mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[L005073D0] mov esi,[esp+44h] add ecx,ecx add ebp,ecx add esi,ecx mov ecx,[eax] inc edx cmp edx,ecx mov [esp+44h],esi jl L004567BC mov ecx,[esp+48h] xor ebx,ebx L004567F7: dec ecx sub eax,00000010h cmp ecx,ebx mov [esp+48h],ecx jge L004567A1 L00456803: pop edi pop esi mov [L00BE9500],ebx pop ebp pop ebx mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ L0045681C: cmp edi,eax jl L00456821 L00456820: inc esi L00456821: mov ecx,[esp+14h] lea edx,[esp+24h] push 00000000h push edx mov [esp+30h],ecx mov [esp+2Ch],ebx mov [esp+34h],eax mov [esp+38h],esi call SUB_L00456380 mov eax,[esp+4Ch] lea edx,[esp+2Ch] push 00000001h push edx mov ecx,[eax+0Ch] mov [esp+38h],esi mov [esp+40h],ecx call SUB_L00456380 add esp,00000010h pop edi pop esi pop ebp pop ebx mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ L00456872: mov ecx,[esp+48h] test ecx,ecx jz L0045690B push eax call SUB_L004562D0 mov eax,[L00BE9500] add esp,00000004h lea ecx,[eax-01h] test ecx,ecx mov [esp+48h],ecx jl L00456901 mov eax,ecx shl eax,04h add eax,L00B694EC L004568A1: mov edx,[eax-08h] mov edi,[eax] mov esi,[L00B294E0+ecx*4] mov ebp,[L00B494E0+ecx*4] cmp edx,edi mov [esp+44h],esi jge L004568F5 L004568BC: mov ecx,[eax-04h] mov ebx,[eax-0Ch] sub ecx,ebx mov edi,ebp shl ecx,1 mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[L005073D0] mov esi,[esp+44h] add ecx,ecx add ebp,ecx add esi,ecx mov ecx,[eax] inc edx cmp edx,ecx mov [esp+44h],esi jl L004568BC mov ecx,[esp+48h] L004568F5: dec ecx sub eax,00000010h test ecx,ecx mov [esp+48h],ecx jge L004568A1 L00456901: mov dword ptr [L00BE9500],00000000h L0045690B: mov ecx,[esp+34h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00456920: push esi mov esi,[esp+08h] test esi,esi push edi jl L00456C31 mov al,[L00BE9534] test al,al jnz L00456A7D push 00000000h push 00000000h push 00000000h push SSZ0050347C_gt_5400 call SUB_L0046E410 push eax push SSZ0050347C_gt_5400 call SUB_L0046EA70 add esp,00000018h mov [L00BE9510],eax push 00000000h push 00000000h push 00000000h push SSZ00503474_gt_5000 call SUB_L0046E410 push eax push SSZ00503474_gt_5000 call SUB_L0046EA70 add esp,00000018h mov [L00BE9514],eax push 00000000h push 00000000h push 00000000h push SSZ0050346C_gt_4000 call SUB_L0046E410 push eax push SSZ0050346C_gt_4000 call SUB_L0046EA70 add esp,00000018h mov [L00BE9518],eax push 00000000h push 00000000h push 00000000h push SSZ00503464_gt_2400 call SUB_L0046E410 push eax push SSZ00503464_gt_2400 call SUB_L0046EA70 add esp,00000018h mov [L00BE951C],eax push 00000000h push 00000000h push 00000000h push SSZ0050345C_gt_2310 call SUB_L0046E410 push eax push SSZ0050345C_gt_2310 call SUB_L0046EA70 add esp,00000018h mov [L00BE9520],eax push 00000000h push 00000000h push 00000000h push SSZ00503454_gt_2000 call SUB_L0046E410 push eax push SSZ00503454_gt_2000 call SUB_L0046EA70 add esp,00000018h mov [L00BE9524],eax push 00000000h push 00000000h push 00000000h push SSZ0050344C_gt_1010 call SUB_L0046E410 push eax push SSZ0050344C_gt_1010 call SUB_L0046EA70 add esp,00000018h mov [L00BE9528],eax push 00000000h push 00000000h push 00000000h push SSZ00503444_gt_0000 call SUB_L0046E410 push eax push SSZ00503444_gt_0000 call SUB_L0046EA70 add esp,00000018h mov [L00BE952C],eax push 00000000h push 00000000h push 00000000h push SSZ00503438_tooltips call SUB_L0046E410 push eax push SSZ00503438_tooltips call SUB_L0046EA70 add esp,00000018h mov [L00BE9530],eax mov byte ptr [L00BE9534],01h L00456A7D: mov ecx,[L00BE9510] test ecx,ecx jz L00456AAF cmp esi,00001518h jl L00456AAF lea edi,[esi-00001518h] call SUB_L0046FD30 cmp edi,eax jge L00456AAF mov ecx,[L00BE9510] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456AAF: mov ecx,[L00BE9514] test ecx,ecx jz L00456AE1 cmp esi,00001388h jl L00456AE1 lea edi,[esi-00001388h] call SUB_L0046FD30 cmp edi,eax jge L00456AE1 mov ecx,[L00BE9514] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456AE1: mov ecx,[L00BE9518] test ecx,ecx jz L00456B13 cmp esi,00000FA0h jl L00456B13 lea edi,[esi-00000FA0h] call SUB_L0046FD30 cmp edi,eax jge L00456B13 mov ecx,[L00BE9518] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456B13: mov ecx,[L00BE951C] test ecx,ecx jz L00456B45 cmp esi,00000960h jl L00456B45 lea edi,[esi-00000960h] call SUB_L0046FD30 cmp edi,eax jge L00456B45 mov ecx,[L00BE951C] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456B45: mov ecx,[L00BE9520] test ecx,ecx jz L00456B77 cmp esi,00000906h jl L00456B77 lea edi,[esi-00000906h] call SUB_L0046FD30 cmp edi,eax jge L00456B77 mov ecx,[L00BE9520] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456B77: mov ecx,[L00BE9524] test ecx,ecx jz L00456BA9 cmp esi,000007D0h jl L00456BA9 lea edi,[esi-000007D0h] call SUB_L0046FD30 cmp edi,eax jge L00456BA9 mov ecx,[L00BE9524] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456BA9: mov ecx,[L00BE9528] test ecx,ecx jz L00456BDB cmp esi,000003F2h jl L00456BDB lea edi,[esi-000003F2h] call SUB_L0046FD30 cmp edi,eax jge L00456BDB mov ecx,[L00BE9528] push 00000000h push edi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456BDB: mov ecx,[L00BE952C] test ecx,ecx jz L00456BFF call SUB_L0046FD30 cmp esi,eax jge L00456BFF mov ecx,[L00BE952C] push 00000000h push esi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456BFF: mov ecx,[L00BE9530] test ecx,ecx jz L00456C31 cmp esi,000186A0h jl L00456C31 add esi,FFFE7960h call SUB_L0046FD30 cmp esi,eax jge L00456C31 mov ecx,[L00BE9530] push 00000000h push esi call SUB_L0046FD40 pop edi pop esi retn ;------------------------------------------------------------------------------ L00456C31: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00456C40: push esi mov esi,[L00B294BC] test esi,esi jz L00456DAF mov eax,[L00C88338] mov dword ptr [L00B294BC],00000000h test eax,eax jnz L00456DAF mov eax,[esi] mov ecx,esi call [eax+00000080h] test eax,eax jz L00456C80 mov ecx,esi call SUB_L00444AC0 jmp L00456D9B L00456C80: mov edx,[esi] mov ecx,esi call [edx+000000C8h] test eax,eax jz L00456C9D mov eax,[esi] mov ecx,esi call [eax+00000190h] jmp L00456D9B L00456C9D: mov edx,[esi] mov ecx,esi call [edx+00000164h] test eax,eax jz L00456CB7 mov ecx,esi call SUB_L004AC250 jmp L00456D9B L00456CB7: mov eax,[esi] mov ecx,esi call [eax+000000D8h] test eax,eax jz L00456CD3 push 00000000h mov ecx,esi call SUB_L004A6530 jmp L00456D9B L00456CD3: mov edx,[esi] mov ecx,esi call [edx+0000010Ch] test eax,eax jz L00456D00 cmp dword ptr [esi+54h],0000098Ch jnz L00456CF1 mov dword ptr [esi+54h],0000098Bh L00456CF1: mov eax,[esi] mov ecx,esi call [eax+00000174h] jmp L00456D9B L00456D00: mov edx,[esi] mov ecx,esi call [edx+00000110h] test eax,eax jz L00456D27 cmp dword ptr [esi+54h],0000098Ch jnz L00456D1E mov dword ptr [esi+54h],0000098Bh L00456D1E: mov ecx,esi call SUB_L004C2E70 jmp L00456D9B L00456D27: mov eax,[esi] mov ecx,esi call [eax+00000114h] test eax,eax jz L00456D41 mov edx,[esi] mov ecx,esi call [edx+00000174h] jmp L00456D9B L00456D41: mov eax,[esi] mov ecx,esi call [eax+0000012Ch] test eax,eax jz L00456D58 mov ecx,esi call SUB_L004163F0 jmp L00456D9B L00456D58: mov edx,[esi] mov ecx,esi call [edx+000000F0h] test eax,eax jz L00456D6F mov ecx,esi call SUB_L004B8B00 jmp L00456D9B L00456D6F: mov eax,[esi] mov ecx,esi call [eax+00000148h] test eax,eax jz L00456D86 mov ecx,esi call SUB_L00423BA0 jmp L00456D9B L00456D86: mov edx,[esi] mov ecx,esi call [edx+0000014Ch] test eax,eax jz L00456D9B mov ecx,esi call SUB_L004C2780 L00456D9B: mov eax,[L00C83640] test eax,eax jz L00456DAF mov ecx,[L00C87EA4] call SUB_L0046D040 L00456DAF: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00456DC0: mov eax,[L00B294BC] push esi mov esi,[esp+08h] cmp eax,esi jz L00456DE8 call SUB_L00456C40 mov ecx,[L00C87EA4] mov [L00B294BC],esi test ecx,ecx jz L00456DE8 call SUB_L0046D040 L00456DE8: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00456DF0: sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi] call [eax+000000A4h] test eax,eax jz L00456E9E mov edx,[esi] mov ecx,esi call [edx+000000A8h] test eax,eax jz L00456E29 movsx eax,[L00C88523] xor ecx,ecx mov cx,[L00C88520] jmp L00456E36 L00456E29: mov esi,[esi+38h] xor ecx,ecx movsx eax,[esi+3Eh] mov cx,[esi+3Ch] L00456E36: lea edx,[eax+ecx+00004000h] push edx call SUB_L004B9530 mov esi,[esp+20h] xor ecx,ecx mov cx,[eax+04h] xor edx,edx mov [esp+14h],ecx mov dx,[eax+06h] add esp,00000004h mov [esp+14h],edx test esi,esi jl L00456F5F mov edi,[esp+20h] test edi,edi jl L00456F5F cmp esi,ecx jge L00456F5F cmp edi,edx jge L00456F5F push edi push esi push eax call SUB_L004B9550 add esp,0000000Ch neg ax pop edi pop esi sbb eax,eax pop ebp neg eax pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L00456E9E: mov eax,[esi+54h] test eax,eax jl L00456EFF lea ecx,[esp+14h] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+28h] add esp,0000000Ch test ecx,ecx jl L00456F5F mov eax,[esp+20h] test eax,eax jl L00456F5F cmp ecx,[esp+10h] jge L00456F5F cmp eax,[esp+14h] jge L00456F5F push eax mov eax,[esi+54h] push ecx push eax call SUB_L00443A70 add esp,0000000Ch neg ax pop edi pop esi sbb eax,eax pop ebp neg eax pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L00456EFF: mov ecx,[esi+14h] mov edx,[esi+3Ch] mov ebx,[esp+1Ch] mov eax,[esi+20h] mov edi,[edx+ecx*8+04h] mov ecx,[esi+24h] add edi,00000004h mov [esp+10h],eax test ebx,ebx mov [esp+14h],ecx jl L00456F5F mov ebp,[esp+20h] test ebp,ebp jl L00456F5F cmp ebx,eax jge L00456F5F cmp ebp,ecx jge L00456F5F mov eax,[esi] mov ecx,esi call [eax+00000098h] test eax,eax jz L00456F50 mov ecx,[esp+10h] imul ecx,ebp add ecx,ebx cmp word ptr [edi+ecx*2],0000h jz L00456F5F L00456F50: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L00456F5F: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00456F70: mov ecx,[esp+08h] push esi test ecx,ecx jz L00456FE3 mov eax,[esp+08h] test eax,eax jz L00456FE3 mov esi,[eax+04h] test esi,esi jnz L00456FB3 cmp dword ptr [eax],00000000h jnz L00456FB3 mov edx,[eax+08h] test edx,edx jnz L00456FB3 mov edx,[eax+0Ch] test edx,edx jnz L00456FB3 mov edx,[ecx] pop esi 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 retn ;------------------------------------------------------------------------------ L00456FB3: mov edx,[ecx] push edi mov edi,[eax] cmp edx,edi pop edi jge L00456FBF mov [eax],edx L00456FBF: mov edx,[ecx+04h] cmp edx,esi jge L00456FC9 mov [eax+04h],edx L00456FC9: mov edx,[ecx+08h] mov esi,[eax+08h] cmp edx,esi jle L00456FD6 mov [eax+08h],edx L00456FD6: mov ecx,[ecx+0Ch] mov edx,[eax+0Ch] cmp ecx,edx jle L00456FE3 mov [eax+0Ch],ecx L00456FE3: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00456FF0: push ebx push esi push edi call [KERNEL32.dll!GetTickCount] mov esi,[L00B294DC] mov ebx,eax test esi,esi jz L00457071 L00457005: test esi,esi jz L0045700E mov eax,[esi+04h] jmp L00457013 L0045700E: mov eax,FEEDBEEFh L00457013: push 00000BE9h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00457064 mov eax,[esi] mov edi,[esi+40h] mov ecx,esi call [eax+000000A0h] test eax,eax jz L0045705C mov edx,[esi+0000009Ch] mov eax,[esi+000000A0h] mov ecx,ebx sub ecx,edx cmp ecx,eax jbe L0045705C test esi,esi jz L0045705C mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0045705C: test edi,edi mov esi,edi jnz L00457005 jmp L00457071 L00457064: push SSZ00503500_CGumpManager__UpdateBarks__eithe call SUB_L004C7EC0 add esp,00000004h L00457071: mov ecx,[L00B294AC] test ecx,ecx jz L0045708B call SUB_L004AD770 mov ecx,[L00B294AC] call SUB_L004AD580 L0045708B: mov esi,[L00B294DC] test esi,esi jz L004570DA L00457095: mov eax,[esi+04h] push 00000BD5h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004570CD mov eax,[esi+40h] mov ecx,esi mov [L00BE9538],eax mov edx,[esi] call [edx+64h] mov esi,[L00BE9538] test esi,esi jnz L00457095 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004570CD: push SSZ00503484_CGumpManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h L004570DA: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004570E0: push esi mov esi,[L00B294DC] test esi,esi jz L00457134 push edi L004570EC: mov eax,[esi] mov ecx,esi call [eax+000000A0h] test eax,eax jz L0045712C mov eax,[esi+000000BCh] test eax,eax jnz L0045712C test esi,esi mov edi,esi jz L0045711B L0045710A: mov ecx,edi call SUB_L00412060 mov edi,[edi+000000B8h] test edi,edi jnz L0045710A L0045711B: mov eax,[esi+000000C4h] test eax,eax jz L0045712C mov ecx,esi call SUB_L00412180 L0045712C: mov esi,[esi+40h] test esi,esi jnz L004570EC pop edi L00457134: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00457140: mov eax,[esp+04h] and eax,0000FFFFh cmp eax,00000E76h jg L00457205 jz L004571FF cmp eax,00000A3Bh jg L00457193 cmp eax,00000A38h jge CASE_004572DC_PROC0007 add eax,FFFFF670h cmp eax,000000A7h ja CASE_00457440_PROC000A xor ecx,ecx mov cl,[eax+CASE_00457300] jmp [CASE_PROCTABLE_004572DC+ecx*4] CASE_004572DC_PROC0000: mov eax,00000041h retn ;------------------------------------------------------------------------------ CASE_004572DC_PROC0007: mov eax,00000048h retn ;------------------------------------------------------------------------------ L00457193: cmp eax,00000A9Eh jg L004571D6 cmp eax,00000A97h jge L004571D0 add eax,FFFFF5C4h cmp eax,00000017h ja CASE_00457440_PROC000A xor edx,edx mov dl,[eax+CASE_004573B4] jmp [CASE_PROCTABLE_004573A8+edx*4] CASE_004573A8_PROC0000: mov eax,00000051h retn ;------------------------------------------------------------------------------ CASE_004573A8_PROC0001: mov eax,0000004Eh retn ;------------------------------------------------------------------------------ CASE_004573A8_PROC0002: mov eax,0000004Fh retn ;------------------------------------------------------------------------------ L004571D0: mov eax,0000004Dh retn ;------------------------------------------------------------------------------ L004571D6: add eax,FFFFF1E4h cmp eax,00000059h ja CASE_00457440_PROC000A xor ecx,ecx mov cl,[eax+CASE_004573E4] jmp [CASE_PROCTABLE_004573CC+ecx*4] CASE_004573CC_PROC0002: mov eax,00000042h retn ;------------------------------------------------------------------------------ CASE_004573CC_PROC0003: mov eax,00000049h retn ;------------------------------------------------------------------------------ L004571FF: mov eax,0000003Dh retn ;------------------------------------------------------------------------------ L00457205: cmp eax,00000FA6h jg L0045724D jz L00457247 add eax,FFFFF189h cmp eax,0000000Ch ja CASE_00457440_PROC000A jmp [CASE_PROCTABLE_00457440+eax*4] CASE_00457440_PROC0002: mov eax,0000003Ch retn ;------------------------------------------------------------------------------ CASE_00457440_PROC0003: mov eax,0000003Fh retn ;------------------------------------------------------------------------------ CASE_00457440_PROC0006: mov eax,00000043h retn ;------------------------------------------------------------------------------ CASE_00457440_PROC0009: mov eax,0000004Bh retn ;------------------------------------------------------------------------------ CASE_00457440_PROC0007: mov eax,00000044h retn ;------------------------------------------------------------------------------ CASE_00457440_PROC0005: mov eax,0000004Ah retn ;------------------------------------------------------------------------------ L00457247: mov eax,0000091Ah retn ;------------------------------------------------------------------------------ L0045724D: cmp eax,00001AD7h jg L00457293 cmp eax,00001AD6h jge CASE_00457440_PROC0000 cmp eax,00001008h jg L0045727F jz CASE_00457440_PROC0000 sub eax,00000FABh jz CASE_00457440_PROC0000 sub eax,00000002h jz CASE_004573CC_PROC0000 dec eax jz CASE_00457440_PROC0000 mov eax,00000009h retn ;------------------------------------------------------------------------------ CASE_004573CC_PROC0000: mov eax,0000092Eh retn ;------------------------------------------------------------------------------ L0045727F: cmp eax,0000154Dh jz CASE_00457440_PROC0000 cmp eax,00001940h jnz CASE_00457440_PROC000A CASE_00457440_PROC0000: mov eax,0000003Eh retn ;------------------------------------------------------------------------------ L00457293: cmp eax,00003E93h jg L004572C3 jz L004572D5 cmp eax,00001E5Eh jz L004572BD cmp eax,00002AF8h jz L004572B7 cmp eax,00003E65h jz L004572D5 mov eax,00000009h retn ;------------------------------------------------------------------------------ L004572B7: mov eax,00000047h retn ;------------------------------------------------------------------------------ L004572BD: mov eax,00000052h retn ;------------------------------------------------------------------------------ L004572C3: sub eax,00003EAEh jz L004572D5 sub eax,0000000Bh jz L004572D5 CASE_00457440_PROC000A: mov eax,00000009h retn ;------------------------------------------------------------------------------ L004572D5: mov eax,0000004Ch retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004572DC: dd CASE_004572DC_PROC0000 dd CASE_00457440_PROC0009 dd CASE_00457440_PROC0007 dd CASE_00457440_PROC0006 dd CASE_00457440_PROC0005 dd CASE_00457440_PROC0002 dd CASE_004573A8_PROC0000 dd CASE_004572DC_PROC0007 dd CASE_00457440_PROC000A CASE_00457300: 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, 01h, 02h, 03h, 04h, 00h, 08h, 08h, 08h db 05h, 00h, 05h, 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, 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, 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, 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, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h db 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 08h, 06h, 06h, 06h, 06h db 07h, 07h, 07h, 07h, 06h, 06h, 06h, 06h CASE_PROCTABLE_004573A8: dd CASE_004573A8_PROC0000 dd CASE_004573A8_PROC0001 dd CASE_004573A8_PROC0002 CASE_004573B4: db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 01h, 01h, 02h, 02h, 01h, 01h, 02h, 02h CASE_PROCTABLE_004573CC: dd CASE_004573CC_PROC0000 dd CASE_00457440_PROC0007 dd CASE_004573CC_PROC0002 dd CASE_004573CC_PROC0003 dd CASE_00457440_PROC0002 dd CASE_00457440_PROC000A CASE_004573E4: db 00h, 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 01h, 01h, 01h, 01h, 02h, 02h, 03h, 03h, 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, 04h Align 4 CASE_PROCTABLE_00457440: dd CASE_00457440_PROC0000 dd CASE_00457440_PROC0000 dd CASE_00457440_PROC0002 dd CASE_00457440_PROC0003 dd CASE_00457440_PROC0000 dd CASE_00457440_PROC0005 dd CASE_00457440_PROC0006 dd CASE_00457440_PROC0007 dd CASE_00457440_PROC0000 dd CASE_00457440_PROC0009 dd CASE_00457440_PROC000A dd CASE_00457440_PROC000A dd CASE_00457440_PROC0000 Align 16 SUB_L00457480: mov eax,[esp+04h] cmp eax,00000047h jg L004575EE jz L004575CE add eax,FFFFFFF9h cmp eax,0000003Dh ja CASE_004577C8_PROC0008 xor ecx,ecx mov cl,[eax+CASE_00457788] jmp [CASE_PROCTABLE_00457758+ecx*4] CASE_00457758_PROC0000: mov eax,[esp+08h] mov dword ptr [eax],0000001Eh mov dword ptr [eax+04h],0000001Eh mov dword ptr [eax+08h],0000010Eh mov dword ptr [eax+0Ch],000000AAh retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0001: mov eax,[esp+08h] mov dword ptr [eax],00000014h mov dword ptr [eax+04h],00000055h mov dword ptr [eax+08h],0000007Ch mov dword ptr [eax+0Ch],000000C4h retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0002: mov eax,[esp+08h] mov dword ptr [eax],0000002Ch mov dword ptr [eax+04h],00000041h mov dword ptr [eax+08h],000000BAh mov dword ptr [eax+0Ch],0000009Fh retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0003: mov eax,[esp+08h] mov dword ptr [eax],0000001Dh mov dword ptr [eax+04h],00000022h mov dword ptr [eax+08h],00000089h mov dword ptr [eax+0Ch],00000080h retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0004: mov eax,[esp+08h] mov dword ptr [eax],00000021h mov dword ptr [eax+04h],00000024h mov dword ptr [eax+08h],0000008Eh mov dword ptr [eax+0Ch],00000094h retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0005: mov eax,[esp+08h] mov dword ptr [eax],00000013h mov dword ptr [eax+04h],0000002Fh mov dword ptr [eax+08h],000000B6h mov dword ptr [eax+0Ch],0000007Bh retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0006: mov eax,[esp+08h] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],00000026h mov dword ptr [eax+08h],00000098h mov dword ptr [eax+0Ch],0000007Dh retn ;------------------------------------------------------------------------------ CASE_00457758_PROC0007: mov eax,[esp+08h] mov dword ptr [eax],00000023h mov dword ptr [eax+04h],00000026h mov dword ptr [eax+08h],00000091h mov dword ptr [eax+0Ch],00000074h retn ;------------------------------------------------------------------------------ CASE_00457758_PROC000A: mov eax,[esp+08h] mov dword ptr [eax],00000014h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],000000AAh mov dword ptr [eax+0Ch],00000064h retn ;------------------------------------------------------------------------------ L004575CE: mov eax,[esp+08h] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],00000094h mov dword ptr [eax+0Ch],0000008Ah retn ;------------------------------------------------------------------------------ L004575EE: cmp eax,0000091Ah jg L00457712 jz L004576F2 add eax,FFFFFFB8h cmp eax,0000000Ah ja CASE_004577C8_PROC0008 jmp [CASE_PROCTABLE_004577C8+eax*4] CASE_004577C8_PROC0000: mov eax,[esp+08h] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],0000000Ah mov dword ptr [eax+08h],0000009Ah mov dword ptr [eax+0Ch],0000005Eh retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC0001: mov eax,[esp+08h] mov dword ptr [eax],00000012h mov dword ptr [eax+04h],00000069h mov dword ptr [eax+08h],000000A2h mov dword ptr [eax+0Ch],000000B2h retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC0003: mov eax,[esp+08h] mov dword ptr [eax],00000010h mov dword ptr [eax+04h],00000033h mov dword ptr [eax+08h],000000B8h mov dword ptr [eax+0Ch],0000007Ch retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC0004: mov eax,[esp+08h] mov dword ptr [eax],0000002Eh mov dword ptr [eax+04h],0000004Ah mov dword ptr [eax+08h],000000C4h mov dword ptr [eax+0Ch],000000B8h retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC0005: mov eax,[esp+08h] mov dword ptr [eax],0000004Ch mov dword ptr [eax+04h],0000000Ch mov dword ptr [eax+08h],0000008Ch mov dword ptr [eax+0Ch],00000044h retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC0006: mov eax,[esp+08h] mov dword ptr [eax],00000018h mov dword ptr [eax+04h],00000060h mov dword ptr [eax+08h],000000C4h mov dword ptr [eax+0Ch],00000098h retn ;------------------------------------------------------------------------------ CASE_004577C8_PROC000A: mov eax,[esp+08h] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000006Eh mov dword ptr [eax+0Ch],0000003Eh retn ;------------------------------------------------------------------------------ L004576F2: mov eax,[esp+08h] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000011Ah mov dword ptr [eax+0Ch],000000E6h retn ;------------------------------------------------------------------------------ L00457712: cmp eax,0000092Eh jz L00457736 CASE_004577C8_PROC0008: mov eax,[esp+08h] mov ecx,000000C8h mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov [eax+08h],ecx mov [eax+0Ch],ecx retn ;------------------------------------------------------------------------------ L00457736: mov eax,[esp+08h] mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h mov dword ptr [eax+08h],0000011Ah mov dword ptr [eax+0Ch],000000D2h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00457758: dd CASE_00457758_PROC0000 dd CASE_00457758_PROC0001 dd CASE_00457758_PROC0002 dd CASE_00457758_PROC0003 dd CASE_00457758_PROC0004 dd CASE_00457758_PROC0005 dd CASE_00457758_PROC0006 dd CASE_00457758_PROC0007 dd CASE_004577C8_PROC0001 dd CASE_004577C8_PROC0003 dd CASE_00457758_PROC000A dd CASE_004577C8_PROC0008 CASE_00457788: db 00h, 0Bh, 01h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 02h, 03h, 04h, 05h, 06h, 07h, 08h, 09h, 0Ah Align 4 CASE_PROCTABLE_004577C8: dd CASE_004577C8_PROC0000 dd CASE_004577C8_PROC0001 dd CASE_004577C8_PROC0001 dd CASE_004577C8_PROC0003 dd CASE_004577C8_PROC0004 dd CASE_004577C8_PROC0005 dd CASE_004577C8_PROC0006 dd CASE_004577C8_PROC0006 dd CASE_004577C8_PROC0008 dd CASE_004577C8_PROC0000 dd CASE_004577C8_PROC000A Align 16 SUB_L00457800: sub esp,00000044h push ebx push ebp push esi mov esi,ecx xor edx,edx push edi mov eax,[esi+64h] mov [esp+20h],edx cmp eax,edx mov [esp+24h],edx mov [esp+1Ch],edx mov [esp+2Ch],edx mov [esp+28h],edx jnz L00457832 mov eax,[esi+20h] mov ecx,[esi+24h] mov [esp+10h],eax jmp L0045783C L00457832: mov eax,[esi+28h] mov ecx,[esi+2Ch] mov [esp+10h],eax L0045783C: xor ebx,ebx xor ebp,ebp cmp esi,edx mov [esp+14h],ecx mov [esp+18h],edx mov edi,esi jz L004578C2 jmp L00457852 L00457850: xor edx,edx L00457852: cmp edi,edx jz L0045785B mov eax,[edi+04h] jmp L00457860 L0045785B: mov eax,FEEDBEEFh L00457860: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push edi call SUB_L00476020 add esp,00000010h test al,al jz L0045789C mov edx,[edi] mov ecx,edi call [edx+7Ch] mov ecx,[esp+18h] mov edx,[edi+30h] or ecx,eax add ebx,edx mov [esp+18h],ecx mov ecx,[edi+34h] mov edi,[edi+4Ch] add ebp,ecx test edi,edi jnz L00457850 jmp L004578A9 L0045789C: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L004578A9: mov eax,[esp+18h] test eax,eax jz L004578C0 mov ecx,[L00C88348] mov eax,[L00C8834C] add ebx,ecx add ebp,eax L004578C0: xor edx,edx L004578C2: mov edi,[esp+10h] mov eax,ebx add ebx,edi mov edi,[esp+14h] mov ecx,ebp add edi,ebp mov ebp,[esi+30h] mov [esp+34h],eax mov [esp+18h],ebp mov ebp,[esi+34h] mov [esp+30h],ebp mov ebp,[esp+60h] cmp ebp,edx mov [esp+38h],ecx mov [esp+3Ch],ebx mov [esp+40h],edi jz L00457AA5 mov [esp+44h],eax mov eax,[esi] mov [esp+48h],ecx mov ecx,esi mov [esp+4Ch],ebx mov [esp+50h],edi lea ebp,[esp+44h] call [eax+000000E8h] test eax,eax jz L0045795E mov eax,[esi+0000014Ch] test eax,eax jz L0045795E mov ecx,[eax+00000168h] mov [esp+20h],esi mov edx,[ecx+30h] mov ecx,[eax+0000016Ch] mov [esp+24h],edx mov edx,[ecx+30h] mov ecx,[eax+00000170h] mov eax,[eax+00000174h] mov ecx,[ecx+34h] mov [esp+2Ch],ecx mov ecx,[eax+34h] mov [esp+28h],ecx jmp L00457962 L0045795E: mov edx,[esp+1Ch] L00457962: mov eax,[esp+58h] mov ebx,[esi+30h] mov edi,[esi+34h] mov ecx,[esp+68h] add ebx,eax mov [esi+30h],ebx mov eax,ebx mov ebx,[esp+5Ch] add edi,ebx test ecx,ecx mov [esi+34h],edi jz L00457ABB mov ecx,[esp+20h] test ecx,ecx jz L00457A3D mov ebx,[L005073D4] mov ecx,[L005073D0] add ebx,FFFFFFCDh add ecx,FFFFFFCDh mov [esp+60h],ebx mov ebx,[esp+58h] add ebx,edx cmp ebx,ecx jle L004579C3 sub eax,edx mov edx,[esp+58h] sub eax,edx add eax,ecx mov [esi+30h],eax jmp L004579C7 L004579C3: mov edx,[esp+58h] L004579C7: mov eax,[esp+24h] mov ebx,00000032h sub ebx,[esp+10h] lea ecx,[eax+edx] cmp ecx,ebx jge L004579F2 mov ebx,[esp+10h] mov ecx,00000032h sub ecx,ebx sub ecx,eax mov eax,[esi+30h] sub ecx,edx add eax,ecx mov [esi+30h],eax L004579F2: mov ecx,[esp+28h] mov ebx,[esp+5Ch] mov eax,[esp+60h] lea edx,[ecx+ebx] cmp edx,eax jle L00457A0E sub edi,ecx sub edi,ebx add edi,eax mov [esi+34h],edi L00457A0E: mov eax,[esp+2Ch] mov ecx,[esp+14h] mov edi,00000032h lea edx,[eax+ebx] sub edi,ecx cmp edx,edi jge L00457ABB mov edx,00000032h sub edx,ecx sub edx,eax mov eax,[esi+34h] sub edx,ebx add eax,edx mov [esi+34h],eax jmp L00457ABB L00457A3D: mov edx,[esp+10h] cmp edx,00000032h jle L00457A4B mov edx,00000032h L00457A4B: mov ecx,[esp+14h] mov dword ptr [esp+5Ch],00000032h cmp ecx,00000032h jg L00457A60 mov [esp+5Ch],ecx L00457A60: mov ecx,[L005073D0] sub ecx,edx cmp eax,ecx jle L00457A6F mov [esi+30h],ecx L00457A6F: mov ecx,[esi+30h] mov eax,edx sub eax,[esp+10h] cmp ecx,eax jge L00457A7F mov [esi+30h],eax L00457A7F: mov eax,[L005073D4] mov ecx,[esp+5Ch] sub eax,ecx cmp edi,eax jle L00457A91 mov [esi+34h],eax L00457A91: mov edx,[esp+14h] mov eax,ecx mov ecx,[esi+34h] sub eax,edx cmp ecx,eax jge L00457ABB mov [esi+34h],eax jmp L00457ABB L00457AA5: mov ebp,[esp+64h] lea eax,[esp+34h] push eax push ebp call SUB_L00456F70 mov ebx,[esp+64h] add esp,00000008h L00457ABB: mov edi,[esi+48h] test edi,edi jz L00457ADE L00457AC2: mov ecx,[esp+68h] mov edx,[esp+58h] push ecx push ebp push 00000000h push ebx push edx mov ecx,edi call SUB_L00457800 mov edi,[edi+40h] test edi,edi jnz L00457AC2 L00457ADE: mov edi,[L00B294DC] test edi,edi jz L00457BA8 L00457AEC: mov eax,[edi] mov ecx,edi call [eax+000000A0h] test eax,eax jz L00457B9D cmp [edi+000000C0h],esi jnz L00457B9D mov ecx,[edi+30h] mov [esp+34h],ecx mov edx,[edi+34h] mov [esp+38h],edx mov eax,[edi+20h] mov ecx,[edi+30h] lea edx,[esp+34h] add eax,ecx push edx mov [esp+40h],eax mov ecx,[edi+24h] mov eax,[edi+34h] push ebp add ecx,eax mov [esp+48h],ecx call SUB_L00456F70 mov eax,[esi+30h] mov ecx,[esp+20h] mov edx,[edi+30h] mov ebx,[edi+34h] sub eax,ecx add edx,eax mov [edi+30h],edx mov eax,[esi+34h] mov edx,[esp+38h] sub eax,edx add ebx,eax mov [edi+34h],ebx mov eax,[esi+30h] mov ebx,[esp+3Ch] sub eax,ecx mov ecx,[esp+44h] add ebx,eax add ecx,eax mov eax,[esi+34h] mov [esp+44h],ecx mov ecx,[esp+40h] sub eax,edx mov [esp+3Ch],ebx mov ebx,[esp+48h] add ecx,eax mov [esp+40h],ecx lea ecx,[esp+3Ch] add ebx,eax push ecx push ebp mov [esp+50h],ebx call SUB_L00456F70 add esp,00000010h L00457B9D: mov edi,[edi+40h] test edi,edi jnz L00457AEC L00457BA8: xor edi,edi xor ebx,ebx test esi,esi mov [esp+58h],ebx jz L00457C17 L00457BB4: mov eax,[esi+04h] push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00457BF3 mov edx,[esi] mov ecx,esi call [edx+7Ch] mov ecx,[esp+58h] mov edx,[esi+30h] or ecx,eax add edi,edx mov [esp+58h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add ebx,ecx test esi,esi jnz L00457BB4 jmp L00457C00 L00457BF3: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00457C00: mov eax,[esp+58h] test eax,eax jz L00457C17 mov ecx,[L00C88348] mov eax,[L00C8834C] add edi,ecx add ebx,eax L00457C17: mov eax,[esp+10h] mov ecx,[esp+14h] lea edx,[esp+34h] mov [esp+34h],edi mov [esp+38h],ebx add edi,eax add ebx,ecx push edx push ebp mov [esp+44h],edi mov [esp+48h],ebx call SUB_L00456F70 add esp,00000008h test ebp,ebp jz L00457C7E cmp dword ptr [ebp+00h],00000000h jge L00457C52 mov dword ptr [ebp+00h],00000000h L00457C52: mov eax,[ebp+04h] test eax,eax jge L00457C60 mov dword ptr [ebp+04h],00000000h L00457C60: mov ecx,[ebp+08h] mov eax,0000027Fh cmp ecx,eax jle L00457C6F mov [ebp+08h],eax L00457C6F: mov ecx,[ebp+0Ch] mov eax,000001DFh cmp ecx,eax jle L00457C7E mov [ebp+0Ch],eax L00457C7E: pop edi pop esi pop ebp pop ebx add esp,00000044h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00457C90: push ebx push ebp xor ebp,ebp push esi test ecx,ecx push edi mov esi,ecx jz L00457D12 mov edi,[esp+18h] mov ebx,[esp+14h] test esi,esi jz L00457CAD L00457CA8: mov eax,[esi+04h] jmp L00457CB2 L00457CAD: mov eax,FEEDBEEFh L00457CB2: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00457CEE mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esi+30h] mov edx,[ebx] add edx,ecx or ebp,eax mov [ebx],edx mov edx,[esi+34h] mov ecx,[edi] add ecx,edx mov [edi],ecx mov esi,[esi+4Ch] test esi,esi jnz L00457CA8 jmp L00457CFB L00457CEE: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00457CFB: test ebp,ebp jz L00457D12 mov eax,[L00C88348] mov ecx,[ebx] add ecx,eax mov [ebx],ecx mov ecx,[L00C8834C] add [edi],ecx L00457D12: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00457D20: push ebx push ebp xor ebp,ebp push esi test ecx,ecx push edi mov esi,ecx jz L00457DA2 mov edi,[esp+18h] mov ebx,[esp+14h] test esi,esi jz L00457D3D L00457D38: mov eax,[esi+04h] jmp L00457D42 L00457D3D: mov eax,FEEDBEEFh L00457D42: push 00000D4Dh push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00457D7E mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esi+30h] mov edx,[ebx] sub edx,ecx or ebp,eax mov [ebx],edx mov edx,[esi+34h] mov ecx,[edi] sub ecx,edx mov [edi],ecx mov esi,[esi+4Ch] test esi,esi jnz L00457D38 jmp L00457D8B L00457D7E: push SSZ00503228_CGump__ScreenToGumpCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00457D8B: test ebp,ebp jz L00457DA2 mov eax,[L00C88348] mov ecx,[ebx] sub ecx,eax mov [ebx],ecx mov ecx,[L00C8834C] sub [edi],ecx L00457DA2: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L00457DB0: mov eax,[esp+04h] mov ecx,[esp+08h] push esi mov edx,[eax+08h] mov esi,[ecx] cmp edx,esi jle L00457DE6 mov edx,[eax] mov esi,[ecx+08h] cmp edx,esi jge L00457DE6 mov edx,[eax+0Ch] mov esi,[ecx+04h] cmp edx,esi jle L00457DE6 mov eax,[eax+04h] mov edx,[ecx+0Ch] cmp eax,edx jge L00457DE6 mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L00457DE6: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00457DF0: mov eax,[esp+08h] push esi push edi mov edi,[esp+0Ch] mov edx,[eax] mov ecx,[edi] cmp ecx,edx jl L00457E07 cmp ecx,[eax+08h] jl L00457E09 L00457E07: mov ecx,edx L00457E09: mov edx,[esp+14h] mov [edx],ecx mov ecx,[edi+08h] cmp ecx,[eax] jle L00457E1B cmp ecx,[eax+08h] jle L00457E1E L00457E1B: mov ecx,[eax+08h] L00457E1E: mov [edx+08h],ecx mov ecx,[edi+04h] mov esi,[eax+04h] cmp ecx,esi jl L00457E34 push ebx mov ebx,[eax+0Ch] cmp ecx,ebx pop ebx jl L00457E36 L00457E34: mov ecx,esi L00457E36: mov [edx+04h],ecx mov ecx,[edi+0Ch] cmp ecx,[eax+04h] jle L00457E4C cmp ecx,[eax+0Ch] jg L00457E4C pop edi mov [edx+0Ch],ecx pop esi retn ;------------------------------------------------------------------------------ L00457E4C: mov eax,[eax+0Ch] pop edi mov [edx+0Ch],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 L00457E60: sub esp,00000024h push ebx push ebp mov ebp,ecx push esi push edi xor ebx,ebx mov eax,[ebp+6Ch] xor edi,edi cmp eax,ebx jz L00458026 cmp ebp,ebx mov [esp+10h],ebx mov esi,ebp jz L00457EF0 test esi,esi jz L00457E8B L00457E86: mov eax,[esi+04h] jmp L00457E90 L00457E8B: mov eax,FEEDBEEFh L00457E90: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00457ECC mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+10h] mov edx,[esi+30h] or ecx,eax add edi,edx mov [esp+10h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add ebx,ecx test esi,esi jnz L00457E86 jmp L00457ED9 L00457ECC: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00457ED9: mov eax,[esp+10h] test eax,eax jz L00457EF0 mov ecx,[L00C88348] mov eax,[L00C8834C] add edi,ecx add ebx,eax L00457EF0: mov eax,[ebp+20h] mov ecx,[ebp+24h] add eax,edi add ecx,ebx test edi,edi mov [esp+14h],edi mov [esp+18h],ebx mov [esp+1Ch],eax mov [esp+20h],ecx jge L00457F14 xor edi,edi mov [esp+14h],edi L00457F14: test ebx,ebx jge L00457F1E xor ebx,ebx mov [esp+18h],ebx L00457F1E: mov edx,[L005073D0] cmp eax,edx jle L00457F2E mov eax,edx mov [esp+1Ch],eax L00457F2E: mov edx,[L005073D4] cmp ecx,edx jle L00457F3E mov ecx,edx mov [esp+20h],ecx L00457F3E: mov edx,[esp+38h] cmp [edx+08h],edi jle L00458026 cmp [edx],eax jge L00458026 cmp [edx+0Ch],ebx jle L00458026 cmp [edx+04h],ecx jge L00458026 lea ecx,[esp+24h] lea eax,[esp+14h] push ecx push eax push edx call SUB_L00457DF0 mov ebx,[esp+34h] mov dword ptr [ebp+60h],00000001h mov edx,[L005073D0] mov esi,[esp+30h] imul edx,ebx mov ecx,[L00B189FC] add edx,esi add esp,0000000Ch lea eax,[ecx+edx*2] mov edx,eax sub edx,ecx mov ecx,[L00BE94E0] sar edx,1 lea edx,[ecx+edx*2] mov ecx,[L00BE9500] cmp ecx,00008000h jge L00457FEB mov edi,ecx mov ebp,[esp+2Ch] shl edi,04h add edi,L00B694E0 mov [L00B494E0+ecx*4],eax mov [L00B294E0+ecx*4],edx inc ecx mov [edi],esi mov [L00BE9500],ecx mov [edi+04h],ebx mov [edi+08h],ebp mov ebp,[esp+30h] mov [edi+0Ch],ebp L00457FEB: cmp ebx,[esp+30h] jge L00458026 jmp L00457FF7 L00457FF3: mov esi,[esp+24h] L00457FF7: mov ecx,[esp+2Ch] mov edi,edx sub ecx,esi mov esi,eax shl ecx,1 mov ebp,ecx shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[L005073D0] add ecx,ecx add edx,ecx add eax,ecx mov ecx,[esp+30h] inc ebx cmp ebx,ecx jl L00457FF3 L00458026: pop edi pop esi pop ebp pop ebx add esp,00000024h retn 0004h ;------------------------------------------------------------------------------ SUB_L00458030: push ebx mov ebx,[esp+08h] test ebx,ebx jle L00458073 mov ecx,[esp+1Ch] mov eax,[esp+18h] push ebp push esi mov esi,[esp+18h] lea edx,[ecx+ecx] push edi mov edi,[esp+20h] lea ebp,[eax+eax] mov [esp+14h],edx L00458056: mov eax,[esp+18h] push eax push edi push esi call SUB_L004B9B80 mov ecx,[esp+20h] add esp,0000000Ch add esi,ebp add edi,ecx dec ebx jnz L00458056 pop edi pop esi pop ebp L00458073: pop ebx retn ;------------------------------------------------------------------------------ Align 16 L00458080: sub esp,0000002Ch push ebx push ebp push esi push edi mov ebx,ecx xor edi,edi xor ebp,ebp cmp ebx,edi mov [esp+10h],edi mov esi,ebx jz L00458105 test esi,esi jz L004580A0 L0045809B: mov eax,[esi+04h] jmp L004580A5 L004580A0: mov eax,FEEDBEEFh L004580A5: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004580E1 mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+10h] mov edx,[esi+30h] or ecx,eax add ebp,edx mov [esp+10h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add edi,ecx test esi,esi jnz L0045809B jmp L004580EE L004580E1: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L004580EE: mov eax,[esp+10h] test eax,eax jz L00458105 mov ecx,[L00C88348] mov eax,[L00C8834C] add ebp,ecx add edi,eax L00458105: mov eax,[ebx+6Ch] test eax,eax jz L004582D0 mov ecx,[ebx+20h] mov edx,[ebx+24h] mov eax,[L005073D0] add ecx,ebp mov [esp+34h],ecx mov ecx,[L00B189FC] add edx,edi push eax push ecx mov [esp+34h],ebp mov [esp+38h],edi mov [esp+40h],edx call SUB_L004B9E80 mov esi,[esp+48h] mov eax,[esp+34h] add esp,00000008h mov edx,[esi+08h] cmp edx,eax jle L004582BA mov eax,[esi] mov ecx,[esp+34h] cmp eax,ecx jge L004582BA mov ecx,[esi+0Ch] mov eax,[esp+30h] cmp ecx,eax jle L004582BA mov edx,[esi+04h] mov eax,[esp+38h] cmp edx,eax jge L004582BA lea eax,[esp+1Ch] lea ecx,[esp+2Ch] push eax push ecx push esi call SUB_L00457DF0 mov edx,[esp+38h] mov eax,[esp+28h] add esp,0000000Ch xor ecx,ecx cmp edx,eax mov [esp+10h],ecx mov [esp+14h],ecx jz L004581AD sub eax,edx mov [esp+10h],eax L004581AD: mov edx,[esp+30h] mov eax,[esp+20h] cmp edx,eax jz L004581C1 sub eax,edx mov ecx,eax mov [esp+14h],ecx L004581C1: mov edx,[ebx+14h] mov esi,[ebx+3Ch] mov [esp+18h],edx mov edx,[ebx+1Ch] imul edx,ecx mov ecx,[esp+18h] mov eax,[esp+10h] add edx,eax mov ecx,[esi+ecx*8+04h] lea esi,[ecx+edx*2+04h] mov edx,[esp+14h] add edx,edi mov ecx,ebx imul edx,[L005073D0] add edx,eax mov eax,[L00B189FC] add edx,ebp mov [esp+10h],esi lea ebp,[eax+edx*2] mov edx,[ebx] call [edx+00000098h] test eax,eax jz L00458267 mov eax,[esp+1Ch] mov edi,esi mov esi,[esp+24h] mov ecx,[ebx+1Ch] mov edx,[L005073D0] sub esi,eax mov eax,[esp+28h] sub eax,[esp+20h] test eax,eax jle L004582B6 add edx,edx add ecx,ecx mov [esp+18h],edx mov [esp+10h],ecx mov [esp+14h],eax L00458243: push esi push edi push ebp call SUB_L004B9B80 mov edx,[esp+24h] mov ecx,[esp+1Ch] mov eax,[esp+20h] add esp,0000000Ch add ebp,edx add edi,ecx dec eax mov [esp+14h],eax jnz L00458243 jmp L004582B6 L00458267: mov eax,[esp+20h] mov ecx,[esp+28h] cmp eax,ecx jge L004582B6 jmp L00458279 L00458275: mov esi,[esp+10h] L00458279: mov ecx,[esp+24h] mov edx,[esp+1Ch] sub ecx,edx mov edi,ebp shl ecx,1 mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h inc eax rep movsb mov ecx,[L005073D0] mov edx,[ebx+1Ch] lea ebp,[ebp+ecx*2+00h] mov ecx,[esp+10h] lea edx,[ecx+edx*2] mov ecx,[esp+28h] cmp eax,ecx mov [esp+10h],edx jl L00458275 L004582B6: mov esi,[esp+40h] L004582BA: mov ebx,[ebx+50h] test ebx,ebx jz L004582D0 L004582C1: mov eax,[ebx] push esi mov ecx,ebx call [eax+0Ch] mov ebx,[ebx+44h] test ebx,ebx jnz L004582C1 L004582D0: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn 0004h ;------------------------------------------------------------------------------ Align 8 L004582E0: sub esp,00000008h push ebx mov ebx,[esp+10h] push ebp mov ebp,[esp+18h] push esi mov esi,ecx push edi push ebp mov eax,[esi] push ebx mov [esp+18h],esi call [eax+10h] test eax,eax jnz L0045830A pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L0045830A: mov eax,[esp+10h] xor edi,edi test eax,eax jz L0045838E test esi,esi jz L0045831D L00458318: mov eax,[esi+04h] jmp L00458322 L0045831D: mov eax,FEEDBEEFh L00458322: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L0045835E mov edx,[esi] mov ecx,esi call [edx+7Ch] mov edx,[esi+30h] mov ecx,[esi+34h] mov esi,[esi+4Ch] or edi,eax add ebx,edx add ebp,ecx test esi,esi jnz L00458318 mov [esp+20h],ebp mov [esp+1Ch],ebx jmp L00458373 L0045835E: push SSZ00503580_CGump__GumpToScreenCoords__eithe mov [esp+24h],ebp mov [esp+20h],ebx call SUB_L004C7EC0 add esp,00000004h L00458373: test edi,edi jz L0045838E mov ecx,[L00C88348] mov eax,[L00C8834C] add ebx,ecx add ebp,eax mov [esp+1Ch],ebx mov [esp+20h],ebp L0045838E: mov eax,[esp+10h] mov edi,[eax+48h] test edi,edi jz L0045849E L0045839D: mov eax,[edi+04h] push 00000DF5h push SSZ005032A8_C__publish004_client_src_shared_ push eax push edi call SUB_L00476020 add esp,00000010h test al,al jz L004584AC mov edx,[edi] mov ecx,edi call [edx+000000E4h] mov ecx,[edi+6Ch] test ecx,ecx jz L00458493 test eax,eax jz L004583E8 mov ecx,[esp+10h] mov eax,[edi+000000C8h] cmp eax,[ecx+64h] jnz L00458493 L004583E8: mov al,[edi+58h] test al,al jz L004583FC mov edx,[esp+10h] cmp al,[edx+58h] jnz L00458493 L004583FC: test edi,edi mov dword ptr [esp+14h],00000000h mov esi,edi jz L00458478 test esi,esi jz L00458413 L0045840E: mov eax,[esi+04h] jmp L00458418 L00458413: mov eax,FEEDBEEFh L00458418: push 00000D4Dh push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00458454 mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+14h] mov edx,[esi+30h] or ecx,eax sub ebx,edx mov [esp+14h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] sub ebp,ecx test esi,esi jnz L0045840E jmp L00458461 L00458454: push SSZ00503228_CGump__ScreenToGumpCoords__eithe call SUB_L004C7EC0 add esp,00000004h L00458461: mov eax,[esp+14h] test eax,eax jz L00458478 mov ecx,[L00C88348] mov eax,[L00C8834C] sub ebx,ecx sub ebp,eax L00458478: cmp edi,[esp+24h] jz L0045848B mov edx,[edi] push ebp push ebx mov ecx,edi call [edx+10h] test eax,eax jnz L004584C5 L0045848B: mov ebp,[esp+20h] mov ebx,[esp+1Ch] L00458493: mov edi,[edi+40h] test edi,edi jnz L0045839D L0045849E: mov eax,[esp+10h] pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004584AC: push SSZ00503600_CGump__GetGumpAt__either_pointer call SUB_L004C7EC0 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004584C5: mov eax,[edi] push 00000000h push ebp push ebx mov ecx,edi call [eax+04h] pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004584E0: sub esp,00000020h push edi mov edi,ecx mov eax,[edi] call [eax+000000F8h] test eax,eax jnz L00458790 mov edx,[edi] mov ecx,edi call [edx+0000013Ch] test eax,eax jnz L00458790 mov eax,[esp+28h] push ebx xor ebx,ebx push ebp cmp eax,ebx push esi jnz L00458528 mov eax,[L00B294BC] cmp eax,ebx jz L00458528 cmp [eax+4Ch],edi jz L00458528 call SUB_L00456C40 L00458528: mov ecx,[edi+44h] cmp ecx,ebx jz L00458772 mov eax,[edi+40h] cmp eax,ebx jz L0045853D mov [eax+44h],ecx L0045853D: mov eax,[edi+44h] mov ecx,[edi+40h] mov [eax+40h],ecx mov eax,[edi+4Ch] cmp eax,ebx jz L0045856F cmp [eax+50h],edi jnz L00458558 mov edx,[edi+44h] mov [eax+50h],edx L00458558: mov eax,[edi+4Ch] mov ecx,[eax+48h] mov [ecx+44h],edi mov eax,[edi+4Ch] mov edx,[eax+48h] mov [edi+40h],edx mov [eax+48h],edi jmp L00458597 L0045856F: cmp [L00B294C4],edi jnz L0045857F mov eax,[edi+44h] mov [L00B294C4],eax L0045857F: mov ecx,[L00B294DC] mov [ecx+44h],edi mov edx,[L00B294DC] mov [edi+40h],edx mov [L00B294DC],edi L00458597: xor ebp,ebp mov [edi+44h],ebx test edi,edi mov [esp+34h],ebx mov esi,edi jz L00458614 test esi,esi jz L004585AF L004585AA: mov eax,[esi+04h] jmp L004585B4 L004585AF: mov eax,FEEDBEEFh L004585B4: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004585F0 mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+34h] mov edx,[esi+30h] or ecx,eax add ebx,edx mov [esp+34h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add ebp,ecx test esi,esi jnz L004585AA jmp L004585FD L004585F0: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L004585FD: mov eax,[esp+34h] test eax,eax jz L00458614 mov ecx,[L00C88348] mov eax,[L00C8834C] add ebx,ecx add ebp,eax L00458614: mov edx,[edi] mov ecx,edi call [edx+000000A0h] test eax,eax mov [esp+10h],ebx mov [esp+14h],ebp jnz L0045872F mov eax,[edi+64h] xor edx,edx cmp eax,edx jnz L00458645 mov eax,[edi+20h] mov ecx,[edi+24h] add eax,ebx mov [esp+18h],eax jmp L00458651 L00458645: mov eax,[edi+28h] mov ecx,[edi+2Ch] add eax,ebx mov [esp+18h],eax L00458651: add ecx,ebp cmp ebx,edx mov [esp+1Ch],ecx jge L0045865F mov [esp+10h],edx L0045865F: cmp ebp,edx jge L00458667 mov [esp+14h],edx L00458667: cmp eax,0000027Fh jle L00458676 mov dword ptr [esp+10h],0000027Fh L00458676: cmp ecx,000001DFh jle L00458686 mov dword ptr [esp+14h],000001DFh L00458686: mov esi,[L00B294C4] cmp esi,edx jz L00458772 L00458694: cmp esi,edi jz L00458772 mov eax,[esi] mov ebp,[esi+44h] mov ecx,esi call [eax+000000A0h] test eax,eax jz L00458723 cmp [esi+000000C0h],edi jnz L00458723 push 00000000h mov ecx,esi call SUB_L004584E0 mov edx,[esi+30h] mov [esp+20h],edx mov ebx,[esi+34h] mov [esp+24h],ebx mov eax,[esi+20h] add eax,[esi+30h] mov [esp+28h],eax mov ecx,[esi+24h] add ecx,[esi+34h] xor esi,esi cmp edx,esi mov [esp+2Ch],ecx jge L004586EA mov [esp+20h],esi L004586EA: cmp ebx,esi jge L004586F2 mov [esp+24h],esi L004586F2: cmp eax,0000027Fh jle L00458701 mov dword ptr [esp+20h],0000027Fh L00458701: cmp ecx,000001DFh jle L00458711 mov dword ptr [esp+24h],000001DFh L00458711: lea ecx,[esp+20h] lea edx,[esp+10h] push ecx push edx call SUB_L00456F70 add esp,00000008h L00458723: test ebp,ebp mov esi,ebp jnz L00458694 jmp L00458772 L0045872F: mov eax,[edi+20h] mov ecx,[edi+24h] xor edx,edx add eax,ebx add ecx,ebp cmp ebx,edx mov [esp+18h],eax mov [esp+1Ch],ecx jge L0045874B mov [esp+10h],edx L0045874B: cmp ebp,edx jge L00458753 mov [esp+14h],edx L00458753: cmp eax,0000027Fh jle L00458762 mov dword ptr [esp+10h],0000027Fh L00458762: cmp ecx,000001DFh jle L00458772 mov dword ptr [esp+14h],000001DFh L00458772: mov eax,[edi] mov ecx,edi call [eax+000000DCh] pop esi pop ebp test eax,eax pop ebx jz L00458790 mov ecx,[edi+000000E0h] push 00000000h call SUB_L004584E0 L00458790: pop edi add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004587A0: mov eax,[esp+04h] mov dword ptr [ecx+44h],00000000h test eax,eax mov [ecx+4Ch],eax jnz L004587E9 mov edx,[L00B294DC] mov eax,edx test eax,eax jz L004587C5 L004587BE: mov eax,[eax+40h] test eax,eax jnz L004587BE L004587C5: mov eax,edx mov [ecx+40h],edx test eax,eax jz L004587D1 mov [eax+44h],ecx L004587D1: mov eax,[L00B294C4] mov [L00B294DC],ecx test eax,eax jnz L00458803 mov [L00B294C4],ecx retn 0008h ;------------------------------------------------------------------------------ L004587E9: mov edx,[eax+48h] test edx,edx mov [ecx+40h],edx jz L004587F6 mov [edx+44h],ecx L004587F6: mov edx,[eax+50h] mov [eax+48h],ecx test edx,edx jnz L00458803 mov [eax+50h],ecx L00458803: retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00458810: mov eax,fs:[00000000h] push FFFFFFFFh push L004E32FE push eax mov fs:[00000000h],esp sub esp,00000014h xor eax,eax push ebx push ebp push esi push edi mov edi,[esp+38h] mov ebp,[esp+34h] cmp edi,0000000Ah setz al xor ecx,ecx cmp edi,00000030h setz cl test ebp,ebp jz L0045888C mov edx,[L00B294DC] push edx push ecx push eax push ebp call SUB_L00455F70 mov esi,eax add esp,00000010h test esi,esi jz L0045888C L00458860: push 00000000h mov ecx,esi call SUB_L004584E0 mov eax,[esi+64h] test eax,eax jz L00458877 mov ecx,esi call SUB_L0041E0F0 L00458877: mov eax,esi pop edi pop esi pop ebp pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L0045888C: cmp edi,00001388h jnz L004588D8 mov ecx,[L00B294B0] test ecx,ecx jz L0045899E push 00000000h call SUB_L004584E0 mov eax,[L00B294B0] mov ecx,[eax+64h] test ecx,ecx jz L00458D91 mov ecx,eax call SUB_L0041E0F0 mov eax,[L00B294B0] pop edi pop esi pop ebp pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L004588D8: cmp edi,00001392h jz L004588E8 cmp edi,00001393h jnz L0045892D L004588E8: mov ecx,[L00B294AC] test ecx,ecx jz L0045892D mov eax,[ecx] push 00000001h call [eax] push 00000000h push 00000000h push 00001393h push 00000000h mov dword ptr [L00B294AC],00000000h call SUB_L00458810 mov eax,[L00B294AC] add esp,00000010h pop edi pop esi pop ebp pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L0045892D: cmp edi,00000007h jnz L00458957 mov esi,[L00B294DC] test esi,esi jz L0045899E L0045893C: mov edx,[esi] mov ecx,esi call [edx+000000D0h] test eax,eax jnz L00458860 mov esi,[esi+40h] test esi,esi jnz L0045893C jmp L0045899E L00458957: cmp edi,00000030h jnz L0045899E mov esi,[L00B294DC] mov ebx,[L00B28A78] test esi,esi jz L00458998 L0045896C: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+000000DCh] test eax,eax jz L0045898E test esi,esi jz L0045898E mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0045898E: mov esi,[L00B28A78] test esi,esi jnz L0045896C L00458998: mov [L00B28A78],ebx L0045899E: lea ecx,[esp+38h] lea edx,[esp+34h] push ecx push edx push edi call SUB_L004434A0 mov esi,[L005073D0] mov ebx,[esp+48h] add esp,0000000Ch cmp edi,00000031h jg L00458B5C cmp edi,00000031h jz L00458B0F lea eax,[edi-07h] cmp eax,00000029h ja CASE_00458DA4_PROC0004 xor ecx,ecx mov cl,[eax+CASE_00458DB8] jmp [CASE_PROCTABLE_00458DA4+ecx*4] CASE_00458DA4_PROC0003: test ebp,ebp jnz L00458A10 push SSZ0050368C_CGumpManager__OpenGump__case__48 call SUB_L004C7EF0 add esp,00000004h xor esi,esi mov eax,esi pop edi pop esi pop ebp pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L00458A10: push 000000FCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000002h jz L00458A41 push ebp push 00000005h push 00000096h mov ecx,eax call SUB_L004AED00 jmp L00458D56 L00458A41: xor eax,eax jmp L00458D56 CASE_00458DA4_PROC0002: push 00000110h call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000004h jz L00458A41 mov edx,[esp+38h] push 00000000h push L007049FC push edx mov edx,[esp+40h] mov ecx,eax push edx push 00000001h push ebp push ebx sub esi,edx push 00000000h push esi call SUB_L004A2590 jmp L00458D56 CASE_00458DA4_PROC0001: push 00000184h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+3Ch],esi test esi,esi mov dword ptr [esp+2Ch],00000005h jz L00458A41 cmp ebp,[L00C884DC] jz L00458ACE call SUB_L004BCED0 test eax,eax jnz L00458ACE mov eax,00000001h mov ecx,esi push eax push ebp call SUB_L004A3E60 jmp L00458D56 L00458ACE: xor eax,eax mov ecx,esi push eax push ebp call SUB_L004A3E60 jmp L00458D56 CASE_00458DA4_PROC0000: push 000000DCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000006h jz L00458A41 push 00000000h push 00000000h mov ecx,eax call SUB_L004BDFC0 jmp L00458D56 L00458B0F: lea eax,[esp+3Ch] lea ecx,[esp+40h] push eax push ecx call SUB_L00476BC0 push 000000B8h call SUB_L004D4FA9 add esp,0000000Ch mov [esp+18h],eax test eax,eax mov dword ptr [esp+2Ch],00000003h jz L00458A41 mov edx,[esp+3Ch] mov ecx,[esp+40h] add edx,FFFFFFDBh push ebp add ecx,FFFFFFCEh push edx push ecx mov ecx,eax call SUB_L004A60A0 jmp L00458D56 L00458B5C: mov eax,edi sub eax,00001388h jz L00458D16 sub eax,0000000Ah jz L00458CE3 dec eax jz L00458CB0 CASE_00458DA4_PROC0004: mov eax,[esp+40h] test eax,eax jz L00458C70 mov al,[L0050CC29] test al,al jz L00458C2C mov edx,[L00B28A70] mov eax,[L00B28A74] mov ecx,00000010h add esi,FFFFFFF0h add edx,ecx add eax,ecx mov [L00B28A70],edx mov edx,[esp+34h] mov [L00B28A74],eax add eax,edx cmp eax,esi jl L00458BC4 mov [L00B28A74],ecx L00458BC4: mov eax,[esp+38h] mov edx,[L00B28A70] add edx,eax mov eax,[L005073D4] add eax,FFFFFFF0h cmp edx,eax jl L00458BE2 mov [L00B28A70],ecx L00458BE2: push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000007h jz L00458A41 mov ecx,[esp+38h] mov edx,[esp+34h] push edi push ecx mov ecx,[L00B28A70] push edx mov edx,[L00B28A74] push 00000001h push ebp push ebx push ecx push edx mov ecx,eax call SUB_L004398E0 jmp L00458D56 L00458C2C: push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000008h jz L00458A41 mov ecx,[esp+38h] mov edx,[esp+34h] push edi push ecx push edx push 00000001h sub esi,edx push ebp push ebx sub esi,0000000Ah push 0000000Ah push esi mov ecx,eax call SUB_L004398E0 jmp L00458D56 L00458C70: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000009h jz L00458A41 mov edx,[esp+38h] mov ecx,eax push edx mov edx,[esp+38h] push edx push 00000001h push ebp push ebx sub esi,edx push 00000000h push esi call SUB_L00458DF0 jmp L00458D56 L00458CB0: push 000200CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000001h jz L00458A41 push 00001393h push 00000000h push 00000000h mov ecx,eax call SUB_L004AC630 jmp L00458D56 L00458CE3: push 000200CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+2Ch],00000000h jz L00458A41 push 00001392h push 00000000h push 00000000h mov ecx,eax call SUB_L004AC630 jmp L00458D56 L00458D16: lea eax,[esp+1Ch] lea ecx,[esp+10h] push eax push ecx push 00001388h call SUB_L004434A0 lea edx,[esp+2Ch] lea eax,[esp+20h] push edx push eax push 00001389h call SUB_L004434A0 mov eax,[esp+28h] add esp,00000018h test eax,eax jz L00458D7B mov eax,[esp+14h] test eax,eax jz L00458D7B call SUB_L004894D0 L00458D56: mov esi,eax test esi,esi jz L00458D66 push 00000001h push ebx mov ecx,esi call SUB_L004587A0 L00458D66: mov eax,esi pop edi pop esi pop ebp pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L00458D7B: push 00000000h push SSZ005025EC_Error push SSZ00503670_Missing_ClientCfg_GUMP_art_ call SUB_L004D1020 add esp,0000000Ch xor eax,eax L00458D91: mov ecx,[esp+24h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00458DA4: dd CASE_00458DA4_PROC0000 dd CASE_00458DA4_PROC0001 dd CASE_00458DA4_PROC0002 dd CASE_00458DA4_PROC0003 dd CASE_00458DA4_PROC0004 CASE_00458DB8: db 00h, 01h, 04h, 02h, 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, 03h Align 16 SUB_L00458DF0: mov eax,[esp+14h] push ebx mov edx,[esp+1Ch] push ebp push esi mov esi,ecx mov ecx,[esp+28h] xor ebx,ebx mov [esi+0Ch],ebx mov [esi+10h],ebx mov [esi+14h],ebx mov [esi+18h],eax mov [esi+20h],edx mov eax,[esp+10h] mov ebp,[esp+1Ch] add edx,00000007h mov [esi+24h],ecx mov ecx,[esp+14h] and edx,FFFFFFF8h mov [esi+28h],ebx mov [esi+2Ch],ebx mov [esi+1Ch],edx mov edx,[esi+18h] push edi shl edx,03h push SSZ00503734_framedata_in_CGump__CGump__ push edx mov [esi+30h],eax mov [esi+34h],ecx mov [esi+38h],ebp mov [esi+40h],ebx mov [esi+44h],ebx mov [esi+48h],ebx mov [esi+4Ch],ebx mov [esi+50h],ebx mov [esi+58h],bl mov [esi+5Ch],ebx mov [esi+60h],ebx mov [esi+64h],ebx mov [esi+68h],ebx mov dword ptr [esi+6Ch],00000001h mov [esi+70h],ebx mov [esi+74h],ebx mov [esi+78h],ebx mov [esi+7Ch],ebx mov [esi+00000080h],eax mov [esi+00000084h],ecx mov [esi+00000088h],eax mov [esi+0000008Ch],ecx mov [esi+00000090h],ebx mov [esi+00000094h],ebx mov dword ptr [esi+00000098h],FFFFFF85h mov dword ptr [esi],L004ED1DC mov dword ptr [esi+08h],SSZ00503728_normal_gump call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx and ecx,00000003h cmp ebp,ebx rep stosb mov dword ptr [esi+54h],FFFFFFFFh jz L00458EEF mov eax,[ebp+00h] mov ecx,ebp call [eax+28h] test eax,eax jz L00458EEF mov [esi+54h],ebx L00458EEF: mov dword ptr [esi+04h],FEEDBEEFh mov ecx,[L00D1BADC] cmp ecx,ebx jz L00458F06 push esi call SUB_L004712D0 L00458F06: mov eax,esi pop edi pop esi pop ebp pop ebx retn 001Ch ;------------------------------------------------------------------------------ Align 4 L00458F10: push esi mov esi,ecx call SUB_L00458FF0 test byte ptr [esp+08h],01h jz L00458F28 push esi call SUB_L004D4F9E add esp,00000004h L00458F28: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00458F30: push esi mov esi,ecx xor eax,eax mov [esi+0Ch],eax mov [esi+10h],eax mov [esi+14h],eax mov [esi+18h],eax mov [esi+1Ch],eax mov [esi+20h],eax mov [esi+24h],eax mov [esi+28h],eax mov [esi+2Ch],eax mov [esi+30h],eax mov [esi+34h],eax mov [esi+38h],eax mov [esi+3Ch],eax mov [esi+40h],eax mov [esi+44h],eax mov [esi+48h],eax mov [esi+4Ch],eax mov [esi+50h],eax mov dword ptr [esi+54h],FFFFFFFFh mov [esi+58h],al mov [esi+5Ch],eax mov [esi+60h],eax mov [esi+64h],eax mov [esi+68h],eax mov dword ptr [esi+6Ch],00000001h mov [esi+70h],eax mov [esi+74h],eax mov [esi+78h],eax mov [esi+7Ch],eax mov [esi+00000080h],eax mov [esi+00000084h],eax mov [esi+00000088h],eax mov [esi+0000008Ch],eax mov [esi+00000090h],eax mov [esi+00000094h],eax mov dword ptr [esi+00000098h],FFFFFF85h mov dword ptr [esi],L004ED1DC mov dword ptr [esi+08h],SSZ00503728_normal_gump mov dword ptr [esi+04h],FEEDBEEFh mov ecx,[L00D1BADC] cmp ecx,eax jz L00458FE6 push esi call SUB_L004712D0 L00458FE6: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00458FF0: push ebp push esi mov esi,ecx xor ebp,ebp push edi mov eax,[esi+00000090h] mov dword ptr [esi],L004ED1DC cmp eax,ebp jz L00459017 mov ecx,[esi+00000094h] push ecx push eax call SUB_L0041DFF0 add esp,00000008h L00459017: cmp [L00BE9538],esi jnz L00459028 mov edx,[esi+40h] mov [L00BE9538],edx L00459028: cmp [L00B28A78],esi jnz L00459038 mov eax,[esi+40h] mov [L00B28A78],eax L00459038: push esi call SUB_L00476CA0 mov eax,[L00B294B4] add esp,00000004h cmp eax,esi jnz L00459050 mov [L00B294B4],ebp L00459050: cmp [L00B294BC],esi jnz L0045905D call SUB_L00456C40 L0045905D: mov edi,[L00B294DC] cmp edi,ebp jz L0045908A L00459067: mov edx,[edi] mov ecx,edi call [edx+00000154h] test eax,eax jz L00459083 cmp [edi+000002A8h],esi jnz L00459083 mov [edi+000002A8h],ebp L00459083: mov edi,[edi+40h] cmp edi,ebp jnz L00459067 L0045908A: mov eax,[esi+38h] cmp eax,ebp jz L004590BC cmp [eax+0000008Ch],esi jnz L0045909F mov [eax+0000008Ch],ebp L0045909F: mov ecx,[esi+38h] mov eax,[ecx] call [eax+30h] test eax,eax jz L004590BC mov eax,[esi+38h] cmp [eax+000000B0h],esi jnz L004590BC mov [eax+000000B0h],ebp L004590BC: mov edi,[L00C88338] mov dword ptr [L00C88338],00000001h mov ecx,[esi+48h] push ebx mov ebx,[L00B28A78] cmp ecx,ebp jz L004590F7 L004590DA: mov edx,[ecx+40h] cmp ecx,ebp mov [L00B28A78],edx jz L004590ED mov eax,[ecx] push 00000001h call [eax] L004590ED: mov ecx,[L00B28A78] cmp ecx,ebp jnz L004590DA L004590F7: mov [L00B28A78],ebx mov [L00C88338],edi mov eax,[esi+4Ch] pop ebx cmp eax,ebp jz L00459126 cmp [eax+48h],esi jnz L00459116 mov ecx,[esi+40h] mov [eax+48h],ecx L00459116: mov eax,[esi+4Ch] cmp [eax+50h],esi jnz L00459147 mov edx,[esi+44h] mov [eax+50h],edx jmp L00459147 L00459126: cmp [L00B294DC],esi jnz L00459136 mov eax,[esi+40h] mov [L00B294DC],eax L00459136: cmp [L00B294C4],esi jnz L00459147 mov ecx,[esi+44h] mov [L00B294C4],ecx L00459147: mov eax,[esi+40h] cmp eax,ebp jz L00459154 mov edx,[esi+44h] mov [eax+44h],edx L00459154: mov eax,[esi+44h] cmp eax,ebp jz L00459161 mov ecx,[esi+40h] mov [eax+40h],ecx L00459161: cmp [esi+3Ch],ebp jz L004591AB mov eax,[esi+18h] xor edi,edi cmp eax,ebp jle L00459197 L0045916F: mov edx,[esi+3Ch] mov eax,[edx+edi*8+04h] cmp eax,ebp jz L0045918F push SSZ0050375C_frame_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+edi*8+04h],ebp L0045918F: mov eax,[esi+18h] inc edi cmp edi,eax jl L0045916F L00459197: mov ecx,[esi+3Ch] push SSZ00503750_framedata push ecx call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebp L004591AB: mov [esi+04h],ebp mov ecx,[L00D1BADC] cmp ecx,ebp jz L004591BE push esi call SUB_L004712D0 L004591BE: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 L004591D0: push 00000000h call SUB_L004766D0 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004591E0: push esi mov esi,[L00B294DC] push edi mov edi,[L00B28A78] test esi,esi jz L00459248 L004591F2: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+00000084h] test eax,eax jnz L0045923E mov eax,[esi] mov ecx,esi call [eax+0000008Ch] test eax,eax jnz L0045923E mov edx,[esi] mov ecx,esi call [edx+00000088h] test eax,eax jnz L0045923E mov eax,[esi] mov ecx,esi call [eax+00000168h] test eax,eax jnz L0045923E test esi,esi jz L0045923E mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0045923E: mov esi,[L00B28A78] test esi,esi jnz L004591F2 L00459248: mov [L00B28A78],edi call SUB_L0040C840 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00459260: push esi mov esi,[L00B294DC] test esi,esi jz L00459299 push ebx mov ebx,[esp+10h] push ebp mov ebp,[esp+10h] push edi L00459276: mov eax,[esi] mov edi,[esi+40h] mov ecx,esi call [eax+00000080h] test eax,eax jz L00459290 push ebx push ebp mov ecx,esi call SUB_L00444840 L00459290: test edi,edi mov esi,edi jnz L00459276 pop edi pop ebp pop ebx L00459299: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004592A0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3348 push eax mov eax,[L00C8836C] mov fs:[00000000h],esp sub esp,00000290h mov [L00BE94F4],eax mov byte ptr [L00503140],01h call SUB_L00471EC0 call SUB_L004B5B70 call SUB_L004253C0 call SUB_L0047C450 mov al,[L007050E4] test al,al jz L00459313 push L004FF410 push 0000001Dh call SUB_L00436F10 push L007049FC push 00000024h call SUB_L00436F10 push L004FFDFC push 00000087h call SUB_L00436F10 add esp,00000018h L00459313: mov cl,[L0050CC25] push ecx call SUB_L004CCC60 mov dl,[L0050CC24] push edx call SUB_L004CD1C0 mov al,[L0050CC24] add esp,00000008h test al,al jz L00459345 mov al,[L0050CF0C] push eax call SUB_L004CD130 add esp,00000004h L00459345: push ebx push esi push edi mov esi,L007049FC mov eax,L00705058 L00459352: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0045937A test cl,cl jz L00459376 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0045937A add eax,00000002h add esi,00000002h test cl,cl jnz L00459352 L00459376: xor eax,eax jmp L0045937F L0045937A: sbb eax,eax sbb eax,FFFFFFFFh L0045937F: test eax,eax jz L0045942F mov esi,L007049FC mov eax,L00C880F8 L00459391: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L004593B9 test cl,cl jz L004593B5 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L004593B9 add eax,00000002h add esi,00000002h test cl,cl jnz L00459391 L004593B5: xor eax,eax jmp L004593BE L004593B9: sbb eax,eax sbb eax,FFFFFFFFh L004593BE: test eax,eax jz L0045942F mov eax,[L00503144] lea ecx,[esp+00000094h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+000000ACh] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+000001B0h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+000001B4h] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000020h test esi,esi jnz L00459490 L0045942F: mov eax,[L00C8604C] cmp eax,00000004h ja L0045A250 jmp [CASE_PROCTABLE_0045A268+eax*4] CASE_0045A268_PROC0000: push L004FD2A8 push SSZ005038E0_desktop_uo1 jmp L0045947E CASE_0045A268_PROC0001: push L004FD2A8 push SSZ005038D4_desktop_uo2 jmp L0045947E CASE_0045A268_PROC0002: push L004FD2A8 push SSZ005038C8_desktop_uo3 jmp L0045947E CASE_0045A268_PROC0003: push L004FD2A8 push SSZ005038BC_desktop_uo4 jmp L0045947E CASE_0045A268_PROC0004: push L004FD2A8 push SSZ005038B0_desktop_uo5 L0045947E: call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jz L0045A250 L00459490: push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx call SUB_L004404F0 mov ecx,[L00C884DC] mov eax,[esp+38h] add esp,00000010h cmp eax,[ecx+7Ch] jz L004594BF push esi call SUB_L00440570 add esp,00000004h jmp L0045A250 L004594BF: push esi push 00000001h lea edx,[esp+18h] push 00000001h push edx mov dword ptr [L00B29048],00000001h mov dword ptr [L00B29040],00000000h call SUB_L004404F0 add esp,00000010h test eax,eax jle L0045A234 push ebp L004594EE: mov ecx,[esp+14h] mov eax,ecx and eax,000000FFh cmp eax,00000010h ja L0045A219 jmp [CASE_PROCTABLE_0045A27C+eax*4] CASE_0045A27C_PROC0000: mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000098h] test eax,eax jz L00459550 push esi push 00000001h lea ecx,[esp+30h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+40h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+3Ch] push 00000001h push eax call SUB_L004404F0 add esp,00000030h jmp L0045A219 L00459550: mov eax,[L00B29040] mov dl,[esp+14h] push esi push 00000001h lea ecx,[00000000h+eax*8] push 00000004h sub ecx,eax lea eax,[esp+34h] push eax mov [L00B28AC8+ecx*4],dl call SUB_L004404F0 mov eax,[L00B29040] mov edx,[esp+38h] push esi push 00000001h lea ecx,[00000000h+eax*8] push 00000004h sub ecx,eax lea eax,[esp+44h] push eax mov [L00B28ADC+ecx*4],edx call SUB_L004404F0 mov eax,[L00B29040] mov edx,[esp+48h] push esi push 00000001h lea ecx,[00000000h+eax*8] push 00000001h sub ecx,eax lea eax,[esp+40h] push eax mov [L00B28AE0+ecx*4],edx call SUB_L004404F0 mov bl,[esp+44h] mov eax,[L00B29040] xor ecx,ecx cmp bl,01h lea edx,[00000000h+eax*8] setz cl sub edx,eax inc eax mov [L00B29040],eax mov eax,[L00C884DC] mov [L00B28AD0+edx*4],ecx lea edx,[esp+00000080h] mov ecx,[eax+7Ch] or ecx,80000000h push ecx push edx call SUB_L00499850 mov ecx,[L00C88300] add esp,00000038h lea eax,[esp+50h] push eax call SUB_L004BC750 jmp L0045A219 CASE_0045A27C_PROC0001: push esi push 00000001h lea ecx,[esp+18h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+3Ch] push 00000001h push eax call SUB_L004404F0 mov al,[esp+44h] xor ecx,ecx cmp al,01h push 00000184h setz cl mov edi,ecx call SUB_L004D4FA9 add esp,00000034h mov [esp+30h],eax test eax,eax mov dword ptr [esp+000002A8h],00000000h jz L0045968E mov edx,[L00C884DC] push edi push edx mov ecx,eax call SUB_L004A3E60 jmp L00459690 L0045968E: xor eax,eax L00459690: mov ecx,[esp+10h] push 00000001h mov [eax+30h],ecx mov edx,[esp+1Ch] push 00000000h mov ecx,eax mov dword ptr [esp+000002B0h],FFFFFFFFh mov [eax+34h],edx call SUB_L004587A0 mov eax,[L00C884DC] lea edx,[esp+40h] mov ecx,[eax+7Ch] push ecx push 00000004h push edx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+40h] push eax call SUB_L004BC750 jmp L0045A219 CASE_0045A27C_PROC0004: mov eax,[L00B29040] push esi push 00000001h push 00000004h lea edx,[00000000h+eax*8] sub edx,eax lea eax,[esp+34h] push eax mov [L00B28AC8+edx*4],cl call SUB_L004404F0 mov eax,[L00B29040] mov edx,[esp+38h] push esi push 00000001h lea ecx,[00000000h+eax*8] push 00000004h sub ecx,eax lea eax,[esp+44h] push eax mov [L00B28ADC+ecx*4],edx call SUB_L004404F0 mov eax,[L00B29040] mov edx,[esp+48h] push esi push 00000001h lea ecx,[00000000h+eax*8] push 00000001h sub ecx,eax lea eax,[esp+40h] push eax mov [L00B28AE0+ecx*4],edx call SUB_L004404F0 mov bl,[esp+44h] mov eax,[L00B29040] xor ecx,ecx cmp bl,01h lea edx,[00000000h+eax*8] push esi setz cl sub edx,eax push 00000001h lea eax,[esp+54h] push 00000002h push eax mov [L00B28AD0+edx*4],ecx call SUB_L004404F0 mov eax,[L00B29040] mov dx,[esp+5Ch] add esp,00000040h lea ecx,[00000000h+eax*8] sub ecx,eax push esi push 00000001h lea eax,[esp+24h] push 00000002h push eax mov [L00B28AD6+ecx*4],dx call SUB_L004404F0 mov eax,[L00B29040] mov dx,[esp+2Ch] lea ecx,[00000000h+eax*8] sub ecx,eax inc eax mov [L00B29040],eax mov eax,[L00C884DC] mov [L00B28AD8+ecx*4],dx lea edx,[esp+50h] mov ecx,[eax+7Ch] push ecx push 00000005h push edx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+40h] push eax call SUB_L004BC750 push 00000001h call SUB_L004B91A0 add esp,00000004h jmp L0045A219 CASE_0045A27C_PROC0002: push esi push 00000001h lea ecx,[esp+18h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+3Ch] push 00000001h push eax call SUB_L004404F0 mov dl,[esp+44h] xor ecx,ecx cmp dl,01h push esi push 00000001h lea edx,[esp+54h] setz cl push 00000002h push edx mov [esp+70h],ecx call SUB_L004404F0 mov ebp,[esp+5Ch] add esp,00000040h lea eax,[esp+1Ch] push esi push 00000001h push 00000002h push eax call SUB_L004404F0 mov ebx,[esp+2Ch] push 00000000h push 00000000h push 00000007h push 00000000h call SUB_L00458810 mov edi,eax add esp,00000020h test edi,edi jnz L00459898 push SSZ00503810_CGumpManager__LoadDesktop__case_ call SUB_L004C7EF0 add esp,00000004h jmp L0045A219 L00459898: mov edx,[edi] and ebx,0000FFFFh push 00000000h and ebp,0000FFFFh push ebx push ebp mov ecx,edi call [edx+3Ch] mov eax,[esp+30h] test eax,eax jz L004598BE mov ecx,edi call SUB_L0041E070 L004598BE: mov eax,[esp+10h] mov [edi+30h],eax mov ecx,[esp+18h] mov [edi+34h],ecx jmp L0045A219 CASE_0045A27C_PROC0008: push esi push 00000001h lea edx,[esp+18h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+30h] push 00000004h push eax call SUB_L004404F0 push esi push 00000001h lea ecx,[esp+3Ch] push 00000001h push ecx call SUB_L004404F0 push 000000BCh call SUB_L004D4FA9 add esp,00000034h mov [esp+30h],eax test eax,eax mov dword ptr [esp+000002A8h],00000001h jz L0045993C mov edx,[esp+14h] mov ecx,[esp+18h] and edx,000000FFh push edx mov edx,[esp+14h] push ecx push edx mov ecx,eax call SUB_L0041C660 jmp L0045993E L0045993C: xor eax,eax L0045993E: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+000002B0h],FFFFFFFFh call SUB_L004587A0 jmp L0045A219 CASE_0045A27C_PROC000F: push esi push 00000001h lea eax,[esp+18h] push 00000004h push eax call SUB_L004404F0 push esi push 00000001h lea ecx,[esp+30h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+3Ch] push 00000001h push edx call SUB_L004404F0 mov al,[esp+44h] add esp,00000030h cmp al,01h push 00000000h push 00000000h jnz L0045999C push 00001392h jmp L004599A1 L0045999C: push 00001393h L004599A1: push 00000000h call SUB_L00458810 mov ecx,[esp+20h] add esp,00000010h mov [eax+30h],ecx mov edx,[esp+18h] mov [eax+34h],edx jmp L0045A219 CASE_0045A27C_PROC0003: push esi push 00000001h lea eax,[esp+18h] push 00000004h push eax call SUB_L004D615D push esi push 00000001h lea ecx,[esp+30h] push 00000004h push ecx call SUB_L004D615D push esi push 00000001h lea edx,[esp+5Ch] push 00000004h push edx call SUB_L004D615D mov eax,[esp+64h] push esi push 00000001h lea ecx,[esp+4Ch] push 00000001h push ecx mov [esp+6Ch],eax call SUB_L004D615D mov bl,[esp+54h] mov eax,[L00B29040] add esp,00000040h xor edx,edx cmp bl,01h lea ecx,[00000000h+eax*8] setz dl sub ecx,eax mov [L00B28AD0+ecx*4],edx mov edx,[esp+2Ch] push edx call SUB_L004843F0 mov ecx,[L00B29040] mov dl,[esp+18h] add esp,00000004h lea eax,[00000000h+ecx*8] sub eax,ecx shl eax,02h inc ecx mov [eax+L00B28AC8],dl mov edx,[esp+10h] mov [eax+L00B28ADC],edx mov edx,[esp+18h] mov [eax+L00B28AE0],edx mov edx,[esp+2Ch] mov [L00B29040],ecx mov ecx,[L00C884DC] mov [eax+L00B28ACC],edx mov ebp,edx mov eax,[ecx] call [eax+00000098h] test eax,eax jnz L0045A219 mov edi,[L00BE94EC] push 0000000Ch mov ebx,[edi+04h] call SUB_L004D4FA9 add esp,00000004h mov ecx,edi test edi,edi jnz L00459AA7 mov ecx,eax L00459AA7: mov [eax],ecx mov ecx,ebx test ebx,ebx jnz L00459BF8 jmp L00459BF6 CASE_0045A27C_PROC0005: mov eax,[L00B29040] push esi push 00000001h push 00000004h lea edx,[00000000h+eax*8] sub edx,eax lea eax,[esp+28h] push eax mov [L00B28AC8+edx*4],cl call SUB_L004D615D mov eax,[L00B29040] mov ecx,[esp+2Ch] push esi push 00000001h lea edx,[00000000h+eax*8] and ecx,0000FFFFh sub edx,eax lea eax,[esp+34h] push 00000004h push eax mov [L00B28ADC+edx*4],ecx call SUB_L004D615D mov eax,[L00B29040] mov ecx,[esp+3Ch] push esi push 00000001h lea edx,[00000000h+eax*8] and ecx,0000FFFFh sub edx,eax lea eax,[esp+3Ch] push 00000001h push eax mov [L00B28AE0+edx*4],ecx call SUB_L004D615D mov bl,[esp+44h] mov eax,[L00B29040] xor ecx,ecx cmp bl,01h lea edx,[00000000h+eax*8] push esi setz cl sub edx,eax push 00000001h lea eax,[esp+4Ch] push 00000001h push eax mov [L00B28AD0+edx*4],ecx call SUB_L004D615D mov eax,[L00B29040] mov dl,[esp+54h] add esp,00000040h lea ecx,[00000000h+eax*8] sub ecx,eax push esi push 00000001h lea eax,[esp+3Ch] push 00000004h push eax mov [L00B28AD4+ecx*4],dl call SUB_L004D615D mov ecx,[L00B29040] mov eax,[esp+44h] add esp,00000010h mov [esp+2Ch],eax lea edx,[00000000h+ecx*8] mov ebp,eax sub edx,ecx inc ecx mov [L00B29040],ecx mov ecx,[L00C884DC] mov [L00B28ACC+edx*4],eax mov eax,[ecx] call [eax+00000098h] test eax,eax jnz L0045A219 mov edi,[L00BE94EC] push 0000000Ch mov ebx,[edi+04h] call SUB_L004D4FA9 add esp,00000004h mov ecx,edi test edi,edi jnz L00459BEE mov ecx,eax L00459BEE: mov [eax],ecx mov ecx,ebx test ebx,ebx jnz L00459BF8 L00459BF6: mov ecx,eax L00459BF8: mov [eax+04h],ecx mov [edi+04h],eax mov ecx,[eax+04h] mov [ecx],eax add eax,00000008h test eax,eax jz L00459C0C mov [eax],ebp L00459C0C: mov eax,[L00BE94F0] mov byte ptr [L00503141],00h inc eax mov byte ptr [L00BE94FC],00h mov [L00BE94F0],eax jmp L0045A219 CASE_0045A27C_PROC0006: push esi push 00000001h lea edx,[esp+18h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+30h] push 00000004h push eax call SUB_L004404F0 push esi push 00000001h lea ecx,[esp+3Ch] push 00000001h push ecx call SUB_L004404F0 mov cl,[esp+44h] push 00000000h xor ebx,ebx push 00000000h cmp cl,01h push 00001388h push 00000000h setz bl call SUB_L00458810 mov edi,eax add esp,00000040h test edi,edi jnz L00459C8E push SSZ00503768_CGumpManager__LoadDesktop__case_ call SUB_L004C7EF0 add esp,00000004h jmp L0045A219 L00459C8E: test ebx,ebx jz L00459C99 mov ecx,edi call SUB_L0041E070 L00459C99: mov edx,[esp+10h] mov [edi+30h],edx mov eax,[esp+18h] mov [edi+34h],eax jmp L0045A219 CASE_0045A27C_PROC0007: push esi push 00000001h lea ecx,[esp+18h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+3Ch] push 00000001h push eax call SUB_L004404F0 mov dl,[esp+44h] add esp,00000030h xor eax,eax cmp dl,01h setz al test eax,eax push 000000C4h jz L00459D60 call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov dword ptr [esp+000002A8h],00000002h jz L00459D19 push 00000000h push 00000000h mov ecx,eax call SUB_L0043EFA0 jmp L00459D1B L00459D19: xor eax,eax L00459D1B: mov ecx,eax mov dword ptr [esp+000002A8h],FFFFFFFFh mov [L00B29490],eax call SUB_L0041E070 mov ecx,[L00B29490] mov edx,[esp+10h] push 00000001h push 00000000h mov [ecx+30h],edx mov ecx,[L00B29490] mov eax,[esp+20h] mov [ecx+34h],eax mov ecx,[L00B29490] call SUB_L004587A0 jmp L0045A219 L00459D60: call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov dword ptr [esp+000002A8h],00000003h jz L00459D8E mov edx,[esp+18h] mov ecx,[esp+10h] push edx push ecx mov ecx,eax call SUB_L0043EFA0 jmp L00459D90 L00459D8E: xor eax,eax L00459D90: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+000002B0h],FFFFFFFFh mov [L00B29490],eax call SUB_L004587A0 jmp L0045A219 CASE_0045A27C_PROC000B: push esi push 00000001h lea edx,[esp+40h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+54h] push 00000004h push eax call SUB_L004404F0 push esi push 00000001h lea ecx,[esp+38h] push 00000004h push ecx call SUB_L004404F0 push esi push 00000001h lea edx,[esp+50h] push 00000004h push edx call SUB_L004404F0 add esp,00000040h lea eax,[esp+20h] push esi push 00000001h push 00000004h push eax call SUB_L004404F0 push esi push 00000001h lea ecx,[esp+3Ch] push 00000004h push ecx call SUB_L004404F0 mov eax,[esp+44h] mov edx,[esp+40h] mov [L005073D4],eax mov eax,[L00D1B0F4] xor edi,edi add esp,00000020h cmp eax,edi mov [L005073D0],edx jnz L00459E44 mov ecx,[esp+38h] mov edx,[esp+3Ch] mov [L00C88348],ecx mov [L00C8834C],edx jmp L00459E50 L00459E44: mov [L00C88348],edi mov [L00C8834C],edi L00459E50: cmp byte ptr [esp+14h],10h jnz L00459E69 push esi push 00000001h lea eax,[esp+1Ch] push 00000001h push eax call SUB_L004404F0 add esp,00000010h L00459E69: cmp [L00D1B0F4],edi jnz L0045A219 mov ecx,[esp+24h] mov edx,[esp+20h] mov eax,[esp+18h] push ecx mov ecx,[esp+14h] push edx push eax push ecx call SUB_L004D1490 mov al,[esp+24h] add esp,00000010h cmp al,01h jnz L00459EA8 mov edx,[L00D1B864] push 00000003h push edx call [USER32.dll!ShowWindow] L00459EA8: mov byte ptr [L00503140],00h jmp L0045A219 CASE_0045A27C_PROC000C: push esi push 00000001h lea eax,[esp+18h] push 00000004h push eax call SUB_L004404F0 mov ecx,[esp+20h] push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx mov [L00502964],ecx call SUB_L004404F0 mov eax,[esp+38h] push esi push 00000001h lea ecx,[esp+48h] push 00000004h push ecx mov [L00B28A20],eax call SUB_L004404F0 mov edx,[esp+50h] push esi push 00000001h lea eax,[esp+5Ch] push 00000004h push eax mov [L00B28A1C],edx call SUB_L004404F0 mov ecx,[esp+64h] add esp,00000040h lea edx,[esp+10h] mov [L00B28A18],ecx push esi push 00000001h push 00000004h push edx call SUB_L004404F0 mov eax,[esp+20h] push esi push 00000001h lea ecx,[esp+28h] push 00000004h push ecx mov [L00B28A10],eax call SUB_L004404F0 add esp,00000020h jmp L0045A219 CASE_0045A27C_PROC000D: push esi push 00000001h lea edx,[esp+18h] push 00000004h push edx call SUB_L004404F0 mov eax,[esp+20h] push esi push 00000001h lea ecx,[esp+30h] push 00000004h push ecx mov [L005029E0],eax call SUB_L004404F0 mov edx,[esp+38h] push esi push 00000001h lea eax,[esp+48h] push 00000004h push eax mov [L00B28A54],edx call SUB_L004404F0 mov ecx,[esp+50h] push esi push 00000001h lea edx,[esp+5Ch] push 00000004h push edx mov [L00B28A50],ecx call SUB_L004404F0 mov eax,[esp+64h] add esp,00000040h lea ecx,[esp+10h] mov [L00B28A4C],eax push esi push 00000001h push 00000004h push ecx call SUB_L004404F0 mov edx,[esp+20h] push esi push 00000001h lea eax,[esp+28h] push 00000004h push eax mov [L00B28A44],edx call SUB_L004404F0 mov eax,[esp+30h] add esp,00000020h test eax,eax jz L0045A219 mov eax,[L00B29474] test eax,eax jnz L0045A219 mov eax,[L00C882BC] test eax,eax jz L0045A219 cmp dword ptr [eax+04h],FFFFFFFFh jz L0045A219 call SUB_L0045B0F0 jmp L0045A219 CASE_0045A27C_PROC000E: push esi push 00000001h lea ecx,[esp+18h] push 00000004h push ecx call SUB_L004404F0 mov edx,[esp+20h] push esi push 00000001h lea eax,[esp+30h] push 00000004h push eax mov [L005029E4],edx call SUB_L004404F0 mov ecx,[esp+38h] push esi push 00000001h lea edx,[esp+48h] push 00000004h push edx mov [L00B28A40],ecx call SUB_L004404F0 mov eax,[esp+50h] push esi push 00000001h lea ecx,[esp+5Ch] push 00000004h push ecx mov [L00B28A3C],eax call SUB_L004404F0 mov edx,[esp+64h] add esp,00000040h lea eax,[esp+10h] mov [L00B28A38],edx push esi push 00000001h push 00000004h push eax call SUB_L004404F0 mov ecx,[esp+20h] push esi push 00000001h lea edx,[esp+28h] push 00000004h push edx mov [L00B28A30],ecx call SUB_L004404F0 mov eax,[esp+30h] add esp,00000020h test eax,eax jz L0045A219 mov eax,[L00B29470] test eax,eax jnz L0045A219 mov eax,[L00C882BC] test eax,eax jz L0045A219 cmp dword ptr [eax+04h],FFFFFFFFh jz L0045A219 call SUB_L0045B1F0 jmp L0045A219 CASE_0045A27C_PROC000A: push esi push 00000001h lea eax,[esp+18h] push 00000004h push eax call SUB_L004404F0 mov ecx,[esp+20h] push esi push 00000001h lea edx,[esp+30h] push 00000004h push edx mov [L00500034],ecx call SUB_L004404F0 mov eax,[esp+38h] push esi push 00000001h lea ecx,[esp+48h] push 00000004h push ecx mov [L007050C8],eax call SUB_L004404F0 mov edx,[esp+50h] push esi push 00000001h lea eax,[esp+5Ch] push 00000004h push eax mov [L007050C4],edx call SUB_L004404F0 mov ecx,[esp+64h] add esp,00000040h lea edx,[esp+10h] mov [L007050C0],ecx push esi push 00000001h push 00000004h push edx call SUB_L004404F0 mov eax,[esp+20h] push esi push 00000001h lea ecx,[esp+30h] push 00000004h push ecx mov [L007050BC],eax call SUB_L004404F0 mov edx,[esp+38h] push esi push 00000001h lea eax,[esp+38h] push 00000004h push eax mov [L007050B8],edx call SUB_L004404F0 mov ecx,[esp+40h] push esi push 00000001h lea edx,[esp+48h] push 00000004h push edx mov [L007050B4],ecx call SUB_L004404F0 mov eax,[esp+50h] add esp,00000040h test eax,eax jz L0045A219 mov eax,[L00B2948C] test eax,eax jnz L0045A219 mov eax,[L00C88300] test eax,eax jz L0045A219 cmp dword ptr [eax+04h],FFFFFFFFh jz L0045A219 lea eax,[esp+58h] push L00D1A680 push eax call SUB_L00432140 add esp,00000008h lea ecx,[esp+58h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 jmp L0045A219 CASE_0045A27C_PROC0009: push esi push 00000001h lea edx,[esp+18h] push 00000004h push edx call SUB_L004404F0 push esi push 00000001h lea eax,[esp+30h] push 00000004h push eax call SUB_L004404F0 mov ecx,[esp+30h] mov edx,[esp+38h] add esp,00000020h mov [L00C3E650],ecx mov [L00C3E654],edx L0045A219: push esi push 00000001h lea eax,[esp+1Ch] push 00000001h push eax call SUB_L004404F0 add esp,00000010h test eax,eax jg L004594EE pop ebp L0045A234: push esi call SUB_L00440570 mov eax,[L00B29040] add esp,00000004h test eax,eax jnz L0045A250 mov dword ptr [L00B29048],00000000h L0045A250: mov ecx,[esp+0000029Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000029Ch retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0045A268: dd CASE_0045A268_PROC0000 dd CASE_0045A268_PROC0001 dd CASE_0045A268_PROC0002 dd CASE_0045A268_PROC0003 dd CASE_0045A268_PROC0004 CASE_PROCTABLE_0045A27C: dd CASE_0045A27C_PROC0000 dd CASE_0045A27C_PROC0001 dd CASE_0045A27C_PROC0002 dd CASE_0045A27C_PROC0003 dd CASE_0045A27C_PROC0004 dd CASE_0045A27C_PROC0005 dd CASE_0045A27C_PROC0006 dd CASE_0045A27C_PROC0007 dd CASE_0045A27C_PROC0008 dd CASE_0045A27C_PROC0009 dd CASE_0045A27C_PROC000A dd CASE_0045A27C_PROC000B dd CASE_0045A27C_PROC000C dd CASE_0045A27C_PROC000D dd CASE_0045A27C_PROC000E dd CASE_0045A27C_PROC000F dd CASE_0045A27C_PROC000B SUB_L0045A2C0: mov eax,[L00C88340] sub esp,00000330h test eax,eax jz L0045AE5F push ebx push ebp push esi push edi mov dword ptr [esp+28h],00000000h mov esi,L007049FC mov eax,L00705058 L0045A2E9: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0045A311 test cl,cl jz L0045A30D mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0045A311 add eax,00000002h add esi,00000002h test cl,cl jnz L0045A2E9 L0045A30D: xor eax,eax jmp L0045A316 L0045A311: sbb eax,eax sbb eax,FFFFFFFFh L0045A316: test eax,eax jz L0045A50D mov esi,L007049FC mov eax,L00C880F8 L0045A328: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0045A350 test cl,cl jz L0045A34C mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0045A350 add eax,00000002h add esi,00000002h test cl,cl jnz L0045A328 L0045A34C: xor eax,eax jmp L0045A355 L0045A350: sbb eax,eax sbb eax,FFFFFFFFh L0045A355: test eax,eax jz L0045A50D mov eax,[L00503144] lea ecx,[esp+0000023Ch] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F push L00C880F8 push L00705058 push L00C85FF0 lea edx,[esp+58h] push SSZ00503960_Desktop__s__s__s push edx call SUB_L004D512F lea edi,[esp+00000268h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000164h] repne scasb not ecx sub edi,ecx push L00500FAC mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+00000168h] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000034h test esi,esi jnz L0045A564 lea edx,[esp+34h] push SSZ00503958_Desktop push edx call SUB_L004D512F lea eax,[esp+3Ch] push eax call SUB_L0047C110 push eax call SUB_L004D64B9 push L00C85FF0 lea ecx,[esp+48h] push SSZ0050394C_Desktop__s push ecx call SUB_L004D512F lea edx,[esp+50h] push edx call SUB_L0047C110 push eax call SUB_L004D64B9 push L00705058 push L00C85FF0 lea eax,[esp+60h] push SSZ0050393C_Desktop__s__s push eax call SUB_L004D512F lea ecx,[esp+68h] push ecx call SUB_L0047C110 push eax call SUB_L004D64B9 push L00C880F8 push L00705058 push L00C85FF0 lea edx,[esp+7Ch] push SSZ00503960_Desktop__s__s__s push edx call SUB_L004D512F add esp,00000050h lea eax,[esp+34h] push eax call SUB_L0047C110 push eax call SUB_L004D64B9 add esp,00000008h test eax,eax jnz L0045A4F5 lea edi,[esp+0000023Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[esp+00000138h] mov eax,ecx mov esi,edi mov edi,edx push L00503938 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+0000013Ch] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jnz L0045A564 lea edx,[esp+0000023Ch] push edx call SUB_L0047C110 push eax push SSZ00503910_Could_not_open_file_for_writing_ call SUB_L004C7E80 add esp,0000000Ch jmp L0045A50F L0045A4F5: lea eax,[esp+34h] push eax call SUB_L0047C110 push eax push SSZ005038EC_Could_not_create_directory___s__ call SUB_L004C7E80 add esp,0000000Ch L0045A50D: xor esi,esi L0045A50F: mov eax,[L00C8604C] cmp eax,00000004h ja L0045A564 jmp [CASE_PROCTABLE_0045AE68+eax*4] CASE_0045AE68_PROC0000: push L00500FAC push SSZ005038E0_desktop_uo1 jmp L0045A55A CASE_0045AE68_PROC0001: push L00500FAC push SSZ005038D4_desktop_uo2 jmp L0045A55A CASE_0045AE68_PROC0002: push L00500FAC push SSZ005038C8_desktop_uo3 jmp L0045A55A CASE_0045AE68_PROC0003: push L00500FAC push SSZ005038BC_desktop_uo4 jmp L0045A55A CASE_0045AE68_PROC0004: push L00500FAC push SSZ005038B0_desktop_uo5 L0045A55A: call SUB_L0043FEF0 add esp,00000008h mov esi,eax L0045A564: call SUB_L00472430 call SUB_L004B5E70 call SUB_L0048A8C0 mov ecx,[L00C884DC] mov ebp,00000001h push esi push ebp add ecx,0000007Ch push 00000004h push ecx call SUB_L00440550 mov edi,[L00B294DC] add esp,00000010h test edi,edi jz L0045AAE1 mov bl,0Eh L0045A59E: mov edx,[edi] mov ecx,edi call [edx+00000090h] test eax,eax jz L0045A5C3 mov eax,[edi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0045A5C3 mov byte ptr [esp+13h],00h jmp L0045A7C2 L0045A5C3: mov edx,[edi] mov ecx,edi call [edx+000000E8h] test eax,eax jz L0045A5E8 mov eax,[edi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0045A5E8 mov byte ptr [esp+13h],01h jmp L0045A7C2 L0045A5E8: mov edx,[edi] mov ecx,edi call [edx+000000D0h] test eax,eax jz L0045A681 push esi push ebp lea eax,[esp+1Bh] push ebp push eax mov byte ptr [esp+23h],02h call SUB_L00440550 mov ecx,[edi+30h] push esi push ebp lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L00440550 mov eax,[edi+34h] push esi push ebp lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L00440550 mov dl,[edi+64h] push esi push ebp lea eax,[esp+4Bh] push ebp push eax mov [esp+53h],dl call SUB_L00440550 mov cx,[edi+20h] add esp,00000040h lea edx,[esp+18h] mov [esp+18h],ecx push esi push ebp push 00000002h push edx call SUB_L00440550 mov ax,[edi+24h] push esi push ebp lea ecx,[esp+30h] push 00000002h push ecx mov [esp+38h],eax call SUB_L00440550 add esp,00000020h jmp L0045AAD6 L0045A681: mov edx,[edi] mov ecx,edi call [edx+00000150h] test eax,eax jz L0045A6D6 push esi push ebp lea eax,[esp+1Bh] push ebp push eax mov byte ptr [esp+23h],08h call SUB_L00440550 mov ecx,[edi+30h] push esi push ebp lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L00440550 mov eax,[edi+34h] push esi push ebp lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L00440550 mov dl,[edi+000000B4h] jmp L0045AAC2 L0045A6D6: cmp edi,[L00B29494] jnz L0045A769 push esi push ebp lea ecx,[esp+1Bh] push ebp push ecx mov byte ptr [esp+23h],04h call SUB_L00440550 mov edx,[edi+30h] push esi push ebp lea eax,[esp+2Ch] push 00000004h push eax mov [esp+34h],edx call SUB_L00440550 mov ecx,[edi+34h] push esi push ebp lea edx,[esp+3Ch] push 00000004h push edx mov [esp+44h],ecx call SUB_L00440550 mov al,[edi+64h] push esi push ebp lea ecx,[esp+4Bh] push ebp push ecx mov [esp+53h],al call SUB_L00440550 mov dx,[edi+20h] add esp,00000040h lea eax,[esp+18h] mov [esp+18h],edx push esi push ebp push 00000002h push eax call SUB_L00440550 mov cx,[edi+24h] push esi push ebp lea edx,[esp+30h] push 00000002h push edx mov [esp+38h],ecx call SUB_L00440550 add esp,00000020h jmp L0045AAD6 L0045A769: cmp edi,[L00B294B0] jnz L0045A7B5 push esi push ebp lea eax,[esp+1Bh] push ebp push eax mov byte ptr [esp+23h],06h call SUB_L00440550 mov ecx,[edi+30h] push esi push ebp lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L00440550 mov eax,[edi+34h] push esi push ebp lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L00440550 mov dl,[edi+64h] jmp L0045AAC2 L0045A7B5: cmp edi,[L00B29490] jnz L0045A80D mov byte ptr [esp+13h],07h L0045A7C2: push esi push ebp lea ecx,[esp+1Bh] push ebp push ecx call SUB_L00440550 mov edx,[edi+30h] push esi push ebp lea eax,[esp+2Ch] push 00000004h push eax mov [esp+34h],edx call SUB_L00440550 mov ecx,[edi+34h] push esi push ebp lea edx,[esp+3Ch] push 00000004h push edx mov [esp+44h],ecx call SUB_L00440550 mov al,[edi+64h] push esi push ebp lea ecx,[esp+4Bh] push ebp mov [esp+4Fh],al push ecx jmp L0045AACE L0045A80D: mov edx,[edi] mov ecx,edi call [edx+000000B0h] test eax,eax jz L0045A8BF mov eax,[edi+30h] push esi mov [L00502964],eax mov ecx,[edi+34h] mov [L00B28A20],ecx mov edx,[edi+20h] mov [L00B28A1C],edx mov eax,[edi+24h] mov [L00B28A18],eax mov ecx,[edi+64h] push ebp lea edx,[esp+1Bh] push ebp push edx mov [L00B28A10],ecx mov [esp+2Ch],ebp mov byte ptr [esp+23h],0Ch call SUB_L00440550 push esi push ebp push 00000004h push L00502964 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A20 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A1C call SUB_L00440550 add esp,00000040h push esi push ebp push 00000004h push L00B28A18 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A10 call SUB_L00440550 push esi push ebp lea eax,[esp+44h] push 00000004h push eax call SUB_L00440550 add esp,00000030h jmp L0045AAD6 L0045A8BF: cmp edi,[L00B29474] jnz L0045A96C mov ecx,[edi+30h] push esi mov [L005029E0],ecx mov edx,[edi+34h] mov [L00B28A54],edx mov eax,[edi+20h] mov [L00B28A50],eax mov ecx,[edi+24h] mov [L00B28A4C],ecx mov edx,[edi+64h] push ebp lea eax,[esp+1Bh] push ebp push eax mov [L00B28A44],edx mov [esp+2Ch],ebp mov byte ptr [esp+23h],0Dh call SUB_L00440550 push esi push ebp push 00000004h push L005029E0 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A54 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A50 call SUB_L00440550 add esp,00000040h push esi push ebp push 00000004h push L00B28A4C call SUB_L00440550 push esi push ebp push 00000004h push L00B28A44 call SUB_L00440550 push esi push ebp lea ecx,[esp+44h] push 00000004h push ecx call SUB_L00440550 add esp,00000030h jmp L0045AAD6 L0045A96C: cmp edi,[L00B29470] jnz L0045AA17 mov edx,[edi+30h] push esi mov [L005029E4],edx mov eax,[edi+34h] mov [L00B28A40],eax mov ecx,[edi+20h] mov [L00B28A3C],ecx mov edx,[edi+24h] mov [L00B28A38],edx mov eax,[edi+64h] push ebp lea ecx,[esp+1Bh] push ebp push ecx mov [L00B28A30],eax mov [esp+2Ch],ebp mov [esp+23h],bl call SUB_L00440550 push esi push ebp push 00000004h push L005029E4 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A40 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A3C call SUB_L00440550 add esp,00000040h push esi push ebp push 00000004h push L00B28A38 call SUB_L00440550 push esi push ebp push 00000004h push L00B28A30 call SUB_L00440550 push esi push ebp lea edx,[esp+44h] push 00000004h push edx call SUB_L00440550 add esp,00000030h jmp L0045AAD6 L0045AA17: mov eax,[edi] mov ecx,edi call [eax+000000ACh] test eax,eax jz L0045AA6E mov ecx,[edi+30h] mov [L00500034],ecx mov edx,[edi+34h] mov [L007050C8],edx mov eax,[edi+20h] mov [L007050C4],eax mov ecx,[edi+24h] mov [L007050C0],ecx mov edx,[edi+00000100h] mov [L007050BC],edx mov eax,[edi+000000FCh] mov [L007050B8],eax mov ecx,[edi+64h] mov [L007050B4],ecx mov [esp+28h],ebp jmp L0045AAD6 L0045AA6E: mov edx,[edi] mov ecx,edi call [edx+00000158h] test eax,eax jz L0045AAD6 push esi push ebp lea eax,[esp+1Bh] push ebp push eax mov byte ptr [esp+23h],0Fh call SUB_L00440550 mov ecx,[edi+30h] push esi push ebp lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L00440550 mov eax,[edi+34h] push esi push ebp lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L00440550 cmp dword ptr [edi+54h],00001392h setz dl L0045AAC2: push esi push ebp lea eax,[esp+4Bh] push ebp mov [esp+4Fh],dl push eax L0045AACE: call SUB_L00440550 add esp,00000040h L0045AAD6: mov edi,[edi+40h] test edi,edi jnz L0045A59E L0045AAE1: push esi push ebp lea ecx,[esp+1Bh] push ebp push ecx mov byte ptr [esp+23h],0Ah call SUB_L00440550 push esi push ebp push 00000004h push L00500034 call SUB_L00440550 push esi push ebp push 00000004h push L007050C8 call SUB_L00440550 push esi push ebp push 00000004h push L007050C4 call SUB_L00440550 add esp,00000040h push esi push ebp push 00000004h push L007050C0 call SUB_L00440550 push esi push ebp push 00000004h push L007050BC call SUB_L00440550 push esi push ebp push 00000004h push L007050B8 call SUB_L00440550 push esi push ebp push 00000004h push L007050B4 call SUB_L00440550 add esp,00000040h lea edx,[esp+28h] push esi push ebp push 00000004h push edx call SUB_L00440550 push esi push ebp lea eax,[esp+2Bh] push ebp push eax mov byte ptr [esp+33h],10h call SUB_L00440550 mov ecx,[L00C88348] push esi push ebp lea edx,[esp+3Ch] push 00000004h push edx mov [esp+44h],ecx call SUB_L00440550 mov eax,[L00C8834C] push esi push ebp lea ecx,[esp+4Ch] push 00000004h push ecx mov [esp+54h],eax call SUB_L00440550 add esp,00000040h lea edx,[esp+30h] lea eax,[esp+2Ch] push edx push eax call SUB_L004D14E0 mov ecx,[esp+34h] mov [esp+1Ch],ecx push esi push ebp lea edx,[esp+24h] push 00000004h push edx call SUB_L00440550 mov eax,[esp+48h] push esi push ebp lea ecx,[esp+34h] push 00000004h push ecx mov [esp+3Ch],eax call SUB_L00440550 mov edx,[L005073D0] push esi push ebp lea eax,[esp+44h] push 00000004h push eax mov [esp+4Ch],edx call SUB_L00440550 mov ecx,[L005073D4] push esi push ebp lea edx,[esp+54h] push 00000004h push edx mov [esp+5Ch],ecx call SUB_L00440550 mov eax,[L00D1B864] add esp,00000048h push eax call [USER32.dll!IsZoomed] test eax,eax push esi push ebp lea edx,[esp+1Bh] push ebp setnz cl push edx mov [esp+23h],cl call SUB_L00440550 add esp,00000010h L0045AC40: mov edi,[L00B294DC] xor bl,bl test edi,edi jz L0045ADFA L0045AC50: mov eax,[edi] mov ecx,edi call [eax+000000CCh] test eax,eax jz L0045AD17 mov ecx,[L00C884DC] push ecx mov ecx,[edi+38h] call SUB_L004802A0 test eax,eax jz L0045AD17 mov edx,[edi+38h] xor ecx,ecx mov eax,[edx+00000080h] test eax,eax jz L0045AC93 L0045AC88: mov eax,[eax+00000080h] inc ecx test eax,eax jnz L0045AC88 L0045AC93: cmp ecx,ebp jnz L0045ADEF push esi push 00000001h lea eax,[esp+1Bh] push 00000001h push eax mov byte ptr [esp+23h],03h call SUB_L004D6274 mov ecx,[edi+30h] push esi push 00000001h lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L004D6274 mov eax,[edi+34h] push esi push 00000001h lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L004D6274 mov edx,[edi+38h] push esi push 00000001h lea ecx,[esp+5Ch] mov eax,[edx+7Ch] push 00000004h push ecx mov [esp+64h],eax call SUB_L004D6274 mov dl,[edi+64h] add esp,00000040h lea eax,[esp+13h] mov [esp+13h],dl push esi push 00000001h push 00000001h push eax call SUB_L004D6274 add esp,00000010h mov bl,01h jmp L0045ADEF L0045AD17: mov edx,[edi] mov ecx,edi call [edx+00000118h] test eax,eax jz L0045ADEF mov eax,[L00C884DC] mov ecx,[edi+38h] push eax call SUB_L004802A0 test eax,eax jz L0045ADEF mov edx,[edi+38h] xor ecx,ecx mov eax,[edx+00000080h] test eax,eax jz L0045AD59 L0045AD4E: mov eax,[eax+00000080h] inc ecx test eax,eax jnz L0045AD4E L0045AD59: cmp ecx,ebp jnz L0045ADEF push esi push 00000001h lea eax,[esp+1Bh] push 00000001h push eax mov byte ptr [esp+23h],05h call SUB_L004D6274 mov ecx,[edi+30h] push esi push 00000001h lea edx,[esp+2Ch] push 00000004h push edx mov [esp+34h],ecx call SUB_L004D6274 mov eax,[edi+34h] push esi push 00000001h lea ecx,[esp+3Ch] push 00000004h push ecx mov [esp+44h],eax call SUB_L004D6274 mov dl,[edi+64h] push esi push 00000001h lea eax,[esp+4Bh] push 00000001h push eax mov [esp+53h],dl call SUB_L004D6274 mov cl,[edi+000000B4h] add esp,00000040h lea edx,[esp+13h] mov [esp+13h],cl push esi push 00000001h push 00000001h push edx call SUB_L004D6274 mov eax,[edi+38h] push esi push 00000001h lea edx,[esp+3Ch] mov ecx,[eax+7Ch] push 00000004h push edx mov [esp+44h],ecx call SUB_L004D6274 add esp,00000020h L0045ADEF: mov edi,[edi+40h] test edi,edi jnz L0045AC50 L0045ADFA: inc ebp test bl,bl jnz L0045AC40 push esi push 00000001h lea eax,[esp+1Bh] push 00000001h push eax mov byte ptr [esp+23h],09h call SUB_L00440550 mov ecx,[L00C3E650] push esi push 00000001h lea edx,[esp+38h] push 00000004h push edx mov [esp+40h],ecx call SUB_L00440550 mov eax,[L00C3E654] push esi push 00000001h lea ecx,[esp+48h] push 00000004h push ecx mov [esp+50h],eax call SUB_L00440550 push esi call SUB_L00440570 add esp,00000034h call SUB_L00469220 call SUB_L00468330 pop edi pop esi pop ebp pop ebx L0045AE5F: add esp,00000330h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0045AE68: dd CASE_0045AE68_PROC0000 dd CASE_0045AE68_PROC0001 dd CASE_0045AE68_PROC0002 dd CASE_0045AE68_PROC0003 dd CASE_0045AE68_PROC0004 Align 8 SUB_L0045AE80: mov eax,fs:[00000000h] mov ecx,[L00B29478] push FFFFFFFFh push L004E337C push eax mov fs:[00000000h],esp sub esp,000003ECh test ecx,ecx push esi jz L0045AEC3 push 00000000h call SUB_L004584E0 pop esi mov ecx,[esp+000003ECh] mov fs:[00000000h],ecx add esp,000003F8h retn ;------------------------------------------------------------------------------ L0045AEC3: mov eax,[L00C882BC] test eax,eax jz L0045AFD7 mov ecx,[eax+04h] or esi,FFFFFFFFh cmp ecx,esi jz L0045AFD7 mov eax,[L00502964] push 000002F0h cmp eax,esi jnz L0045AF31 call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000003F8h],00000000h jz L0045AF28 mov ecx,[L00B29454] push L00B2906C push ecx push 000001E0h push 00000280h push 00000000h push 00000000h mov ecx,eax call SUB_L00447190 L0045AF28: mov [esp+000003F8h],esi jmp L0045AF97 L0045AF31: call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+000003F8h],00000001h jz L0045AF7D mov edx,[L00B29454] mov ecx,[L00B28A18] push L00B2906C push edx mov edx,[L00B28A1C] push ecx mov ecx,[L00B28A20] push edx mov edx,[L00502964] push ecx push edx mov ecx,eax call SUB_L00447190 jmp L0045AF7F L0045AF7D: xor eax,eax L0045AF7F: mov ecx,[L00B28A10] mov [esp+000003F8h],esi test ecx,ecx jz L0045AF97 mov ecx,eax call SUB_L0041E070 L0045AF97: mov ecx,[L00B29454] lea eax,[esp+08h] push 0000000Ah push eax push ecx call SUB_L004C4CC0 lea edx,[esp+14h] push L0050296C push edx call SUB_L004C4550 lea eax,[esp+1Ch] push L00B2906C push eax call SUB_L004C4550 lea ecx,[esp+24h] push ecx push 0000000Ah call SUB_L0049DAD0 add esp,00000024h L0045AFD7: mov ecx,[esp+000003F0h] pop esi mov fs:[00000000h],ecx add esp,000003F8h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045AFF0: push FFFFFFFFh push L004E339B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00B29064] test eax,eax jnz L0045B097 push esi push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax mov esi,[esp+20h] mov dword ptr [esp+10h],00000000h test eax,eax jz L0045B049 mov ecx,[esp+1Ch] mov edx,[esp+18h] push esi push ecx push edx mov ecx,eax call SUB_L004A2090 jmp L0045B04B L0045B049: xor eax,eax L0045B04B: push 00000001h push 00000000h mov ecx,eax mov [L00B29064],eax call SUB_L004587A0 test esi,esi pop esi jz L0045B07B mov eax,[L00B29064] mov dword ptr [eax+6Ch],00000001h mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B07B: mov ecx,[L00B29064] mov dword ptr [ecx+6Ch],00000000h mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B097: mov ecx,[esp+1Ch] test ecx,ecx jnz L0045B0B5 mov dword ptr [eax+6Ch],00000000h mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B0B5: mov edx,[esp+14h] mov ecx,[esp+18h] mov [eax+0000009Ch],edx mov eax,[L00B29064] mov [eax+000000A0h],ecx mov edx,[L00B29064] mov ecx,[esp+04h] mov dword ptr [edx+6Ch],00000001h mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045B0F0: push FFFFFFFFh push L004E33C6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00B29474] test ecx,ecx jz L0045B126 push 00000000h call SUB_L004584E0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B126: mov eax,[L005029E0] push 00000F4Ch cmp eax,FFFFFFFFh jnz L0045B16C call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0045B162 push 000001E0h push 00000280h push 00000000h push 00000000h mov ecx,eax call SUB_L0044B6A0 L0045B162: mov dword ptr [esp+0Ch],FFFFFFFFh jmp L0045B1C4 L0045B16C: call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000001h jz L0045B1A9 mov ecx,[L00B28A4C] mov edx,[L00B28A50] push ecx mov ecx,[L00B28A54] push edx mov edx,[L005029E0] push ecx push edx mov ecx,eax call SUB_L0044B6A0 jmp L0045B1AB L0045B1A9: xor eax,eax L0045B1AB: mov ecx,[L00B28A44] mov dword ptr [esp+0Ch],FFFFFFFFh test ecx,ecx jz L0045B1C4 mov ecx,eax call SUB_L0041E070 L0045B1C4: push SSZ00503984_http___207_71_15_69_default_htm push 00000001h call SUB_L0049DA60 mov ecx,[esp+0Ch] add esp,00000008h mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045B1F0: push FFFFFFFFh push L004E33E6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push L007050D8 push 00000009h call SUB_L0049DAD0 mov ecx,[L00B29470] add esp,00000008h test ecx,ecx jz L0045B247 mov eax,[ecx+64h] test eax,eax jz L0045B231 call SUB_L0041E0F0 mov ecx,[L00B29470] L0045B231: push 00000000h call SUB_L004584E0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B247: mov eax,[L005029E4] push 00000F4Ch cmp eax,FFFFFFFFh jnz L0045B292 call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0045B2EA push 00000190h push 00000190h push 0000005Ah push 00000078h mov ecx,eax call SUB_L0044BB70 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0045B292: call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000001h jz L0045B2CF mov ecx,[L00B28A38] mov edx,[L00B28A3C] push ecx mov ecx,[L00B28A40] push edx mov edx,[L005029E4] push ecx push edx mov ecx,eax call SUB_L0044BB70 jmp L0045B2D1 L0045B2CF: xor eax,eax L0045B2D1: mov ecx,[L00B28A30] mov dword ptr [esp+0Ch],FFFFFFFFh test ecx,ecx jz L0045B2EA mov ecx,eax call SUB_L0041E070 L0045B2EA: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045B300: push FFFFFFFFh push L004E33F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebx,ecx push edi mov [esp+10h],ebx call SUB_L00458F30 mov eax,[esp+38h] mov ecx,[esp+24h] mov edx,[esp+28h] mov esi,[esp+30h] mov [ebx+000000A4h],eax mov eax,[esp+34h] xor ebp,ebp push SSZ004FFBCC_framedata_for_CDumbGump push 00000008h mov [esp+24h],ebp mov dword ptr [ebx],L004ED350 mov [ebx+0000009Ch],ebp mov [ebx+000000A0h],ebp mov [ebx+30h],ecx mov [ebx+34h],edx mov dword ptr [ebx+08h],SSZ005039A4_dumb_gump mov [ebx+60h],ebp mov [ebx+54h],ebp mov [ebx+64h],ebp mov [ebx+50h],ebp mov [ebx+4Ch],ebp mov [ebx+48h],ebp mov [ebx+44h],ebp mov [ebx+40h],ebp mov [ebx+20h],esi mov [ebx+24h],eax mov [ebx+14h],ebp mov dword ptr [ebx+18h],00000001h call SUB_L00475FC0 mov ecx,[ebx+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebx+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx+24h] imul eax,[ebx+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebx+3Ch] add esp,00000010h mov [edx+04h],eax mov eax,[ebx+3Ch] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+3Ch] mov dx,[ebx+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebx+24h] imul ecx,[ebx+20h] mov edx,[ebx+3Ch] 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,[esp+3Ch] cmp eax,ebp jz L0045B439 mov ecx,esi mov esi,eax imul ecx,[esp+34h] mov eax,[ebx+3Ch] 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 L0045B439: mov ecx,[esp+40h] cmp ecx,FFFFFFFFh jz L0045B46A mov eax,[ebx+3Ch] 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 push eax push ebp push ebp push ecx push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L0045B46A: mov ecx,[esp+14h] pop edi pop esi mov eax,ebx pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 L0045B490: push esi mov esi,ecx call SUB_L0045B4B0 test byte ptr [esp+08h],01h jz L0045B4A8 push esi call SUB_L004D4F9E add esp,00000004h L0045B4A8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0045B4B0: push FFFFFFFFh push L004E3418 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004ED350 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0045B4FD push SSZ005039C0_dumb_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0045B4FD: mov eax,[esi+3Ch] test eax,eax jz L0045B519 push SSZ005039B0_dumb_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0045B519: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0045B540: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 16 L0045B550: sub esp,00000008h push ebx push ebp mov ebp,ecx xor ebx,ebx push esi push edi mov eax,[ebp+6Ch] mov [esp+14h],ebp cmp eax,ebx jz L0045B6C0 xor edi,edi cmp ebp,ebx mov [esp+10h],ebx mov esi,ebp jz L0045B5E4 test esi,esi jz L0045B57F L0045B57A: mov eax,[esi+04h] jmp L0045B584 L0045B57F: mov eax,FEEDBEEFh L0045B584: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L0045B5C0 mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+10h] mov edx,[esi+30h] or ecx,eax add edi,edx mov [esp+10h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add ebx,ecx test esi,esi jnz L0045B57A jmp L0045B5CD L0045B5C0: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L0045B5CD: mov eax,[esp+10h] test eax,eax jz L0045B5E4 mov ecx,[L00C88348] mov eax,[L00C8834C] add edi,ecx add ebx,eax L0045B5E4: mov ecx,[ebp+3Ch] mov esi,[esp+1Ch] xor eax,eax mov edx,[ecx+04h] xor ecx,ecx cmp [esi+08h],edi mov ax,[edx] mov cx,[edx+02h] lea ebp,[eax+edi] jle L0045B6C0 cmp [esi],ebp jge L0045B6C0 cmp [esi+0Ch],ebx jle L0045B6C0 lea ebp,[ecx+ebx] cmp [esi+04h],ebp jge L0045B6C0 mov ebp,[esp+14h] cmp dword ptr [ebp+0000009Ch],00000000h jz L0045B671 mov edx,[ebp+000000A4h] push edx call SUB_L004B9530 mov ebp,eax add esp,00000004h test ebp,ebp jz L0045B6C0 mov eax,[L005073D0] mov ecx,[L00B189FC] push eax push ecx call SUB_L004B9E80 push ebx push edi push esi push ebp push SUB_L004B95C0 call SUB_L004B9EA0 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L0045B671: cmp dword ptr [ebp+000000A0h],00000000h mov ebp,[L005073D4] push ebp mov ebp,[L005073D0] push ebp mov ebp,[L00B189FC] push ebp push ebx push edi push ecx push eax push esi jnz L0045B6AF add edx,00000004h push edx push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L0045B6AF: add edx,00000004h push edx push L004B9BB0 call SUB_L00443960 add esp,00000028h L0045B6C0: pop edi pop esi pop ebp pop ebx add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ Align 8 L0045B6D0: push esi mov esi,ecx call SUB_L0045B890 test byte ptr [esp+08h],01h jz L0045B6E8 push esi call SUB_L004D4F9E add esp,00000004h L0045B6E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0045B6F0: push FFFFFFFFh push L004E3438 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00458F30 mov ecx,[esp+3Ch] mov edx,[esp+4Ch] mov eax,[esp+38h] mov [esi+34h],ecx mov [esi+38h],edx lea ecx,[esp+10h] mov [esi+30h],eax mov eax,[esp+40h] lea edx,[esp+0Ch] push ecx xor ebx,ebx push edx push eax mov [esp+3Ch],ebx mov dword ptr [esi],L004ED4C4 mov dword ptr [esi+08h],SSZ005039D4_sign_gump mov [esi+60h],ebx mov [esi+54h],eax mov [esi+64h],ebx call SUB_L004434A0 mov eax,[esp+18h] mov ecx,[esp+1Ch] push SSZ004FFBCC_framedata_for_CDumbGump push 00000008h mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+20h],eax mov [esi+24h],ecx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] 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+54h] push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+54h] lea ecx,[esp+50h] push ecx push edx call SUB_L00457480 mov edx,[esi+3Ch] add esp,00000040h mov ecx,[esi+20h] lea eax,[esp+18h] push ebx push ebx push ebx push eax mov eax,[edx+04h] mov edx,[esp+58h] add eax,00000004h push ecx mov ecx,[esp+34h] push eax mov eax,[esp+30h] sub ecx,eax inc ecx push ecx mov ecx,[esp+38h] push edx push 00000386h push 00000001h push ecx push eax call SUB_L00441160 mov ecx,[esp+58h] add esp,00000030h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,00000028h retn 0018h ;------------------------------------------------------------------------------ Align 8 SUB_L0045B890: push FFFFFFFFh push L004E3458 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004ED4C4 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0045B8DD push SSZ005039F0_sign_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0045B8DD: mov eax,[esi+3Ch] test eax,eax jz L0045B8F9 push SSZ005039E0_sign_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0045B8F9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0045B920: push ecx mov eax,[ecx+6Ch] push ebx push ebp push esi test eax,eax push edi mov [esp+10h],ecx jz L0045B9FF xor edi,edi xor ebx,ebx xor ebp,ebp mov esi,ecx test ecx,ecx jz L0045B9A6 test esi,esi jz L0045B949 L0045B944: mov eax,[esi+04h] jmp L0045B94E L0045B949: mov eax,FEEDBEEFh L0045B94E: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L0045B982 mov eax,[esi] mov ecx,esi call [eax+7Ch] mov edx,[esi+30h] mov ecx,[esi+34h] mov esi,[esi+4Ch] or ebp,eax add edi,edx add ebx,ecx test esi,esi jnz L0045B944 jmp L0045B98F L0045B982: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L0045B98F: test ebp,ebp jz L0045B9A2 mov ecx,[L00C88348] mov eax,[L00C8834C] add edi,ecx add ebx,eax L0045B9A2: mov ecx,[esp+10h] L0045B9A6: mov ecx,[ecx+3Ch] mov esi,[esp+18h] xor eax,eax mov edx,[ecx+04h] xor ecx,ecx cmp [esi+08h],edi mov ax,[edx] mov cx,[edx+02h] lea ebp,[eax+edi] jle L0045B9FF cmp [esi],ebp jge L0045B9FF cmp [esi+0Ch],ebx jle L0045B9FF lea ebp,[ecx+ebx] cmp [esi+04h],ebp jge L0045B9FF mov ebp,[L005073D4] add edx,00000004h push ebp mov ebp,[L005073D0] push ebp mov ebp,[L00B189FC] push ebp push ebx push edi push ecx push eax push esi push edx push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L0045B9FF: pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 16 L0045BA10: push esi mov esi,ecx push 00000000h call SUB_L004584E0 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov dword ptr [esi+0000009Ch],00000001h mov [esi+70h],eax mov [esi+74h],ecx pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0045BA40: mov eax,[ecx+0000009Ch] test eax,eax jz L0045BA67 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L0045BA67: retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0045BA70: push FFFFFFFFh push L004E34A4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+20h],ebp call SUB_L00458F30 mov eax,[esp+34h] mov ecx,[esp+38h] mov edx,[esp+4Ch] mov [ebp+30h],eax mov eax,[esp+48h] xor ebx,ebx cmp eax,ebx mov [esp+2Ch],ebx mov dword ptr [ebp+00h],L004ED63C mov [ebp+34h],ecx mov dword ptr [ebp+08h],SSZ00503A04_waiting_gump mov [ebp+60h],ebx mov [ebp+64h],ebx mov [ebp+000000A0h],eax mov [ebp+000000A4h],edx jz L0045BAE9 mov dword ptr [esp+34h],0000010Ch mov dword ptr [esp+38h],0000007Ch jmp L0045BAF9 L0045BAE9: mov dword ptr [esp+34h],00000073h mov dword ptr [esp+38h],00000021h L0045BAF9: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push 00000A28h mov dword ptr [ebp+54h],00000A28h call SUB_L004434A0 mov al,[esp+5Ch] add esp,0000000Ch cmp al,bl mov [ebp+000002B4h],al jz L0045BB3B mov edx,[esp+3Ch] lea eax,[ebp+000000A8h] push edx push eax call SUB_L004C4430 add esp,00000008h jmp L0045BB62 L0045BB3B: mov edi,[esp+3Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp+000000A8h] 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 L0045BB62: mov ecx,[esp+40h] mov [ebp+000002A8h],ecx mov edx,[L00B294BC] mov [ebp+000002ACh],edx mov eax,[L00B294BC] cmp eax,ebp jz L0045BB9B call SUB_L00456C40 mov ecx,[L00C87EA4] mov [L00B294BC],ebp cmp ecx,ebx jz L0045BB9B call SUB_L0046D040 L0045BB9B: mov eax,[esp+10h] mov ecx,[esp+34h] mov edx,[esp+14h] mov [ebp+50h],ebx lea eax,[ecx+eax*2] mov ecx,[esp+38h] mov [ebp+4Ch],ebx mov [ebp+48h],ebx lea ecx,[ecx+edx*2] mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+20h],eax mov [ebp+24h],ecx mov edx,[L00C83640] cmp edx,ebx jz L0045BBF5 call SUB_L004470A0 mov ecx,eax mov eax,[ebp+20h] cdq sub eax,edx sar eax,1 sub ecx,eax mov [ebp+30h],ecx call SUB_L004470B0 mov ecx,eax mov eax,[ebp+24h] cdq sub eax,edx sar eax,1 jmp L0045BC10 L0045BBF5: cdq sub eax,edx mov edx,00000140h sar eax,1 sub edx,eax mov eax,ecx mov [ebp+30h],edx mov ecx,000000F0h cdq sub eax,edx sar eax,1 L0045BC10: sub ecx,eax push SSZ004FFBCC_framedata_for_CDumbGump push 00000010h mov [ebp+34h],ecx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000002h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ004FFBC0_dumb_frame0 mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push ebx mov [edx+0Ch],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+3Ch] mov edx,[ebp+54h] mov ecx,[eax+0Ch] push ecx push edx call SUB_L0042BB70 add esp,00000024h mov ecx,ebp call SUB_L0045C010 lea eax,[esp+1Ch] lea ecx,[esp+18h] push eax push ecx push 0000047Eh mov [ebp+000002B0h],ebx call SUB_L004434A0 mov eax,[ebp+20h] mov edi,[esp+24h] sub eax,edi mov edi,[ebp+24h] cdq sub eax,edx mov edx,[esp+28h] mov esi,eax add esp,0000000Ch lea eax,[edx+edx] sub edi,eax mov eax,[ebp+000000A0h] sar esi,1 cmp eax,ebx mov eax,[esp+44h] jz L0045BE09 cmp eax,ebx jz L0045BDF1 mov dword ptr [ebp+000002B0h],00000001h call SUB_L00476750 mov ecx,[L00C83640] push 00000011h mov [esp+54h],ecx mov dword ptr [L00C83640],00000001h call SUB_L004766D0 mov edx,[esp+54h] push 000000ECh mov [L00C83640],edx call SUB_L004D4FA9 add esp,00000008h mov [esp+50h],eax mov byte ptr [esp+2Ch],01h L0045BDB0: cmp eax,ebx jz L0045BDE1 push ebx push 00000480h push 0000047Eh push SUB_L00420BD0 push ebx push ebx push ebp push edi push esi mov ecx,eax call SUB_L00421F40 mov ecx,eax mov dword ptr [eax+000000ACh],0000047Fh jmp L0045BE66 L0045BDE1: xor eax,eax mov ecx,eax mov dword ptr [eax+000000ACh],0000047Fh jmp L0045BE66 L0045BDF1: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax mov byte ptr [esp+2Ch],02h jmp L0045BE36 L0045BE09: cmp eax,ebx push 000000ECh jz L0045BE25 call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax mov byte ptr [esp+2Ch],03h jmp L0045BDB0 L0045BE25: call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax mov byte ptr [esp+2Ch],04h L0045BE36: cmp eax,ebx jz L0045BE58 push ebx push 00000483h push 00000481h push SUB_L00420BD0 push ebx push ebx push ebp push edi push esi mov ecx,eax call SUB_L00421F40 jmp L0045BE5A L0045BE58: xor eax,eax L0045BE5A: mov ecx,eax mov dword ptr [eax+000000ACh],00000482h L0045BE66: push 00000001h push ebp call SUB_L004587A0 mov ecx,[esp+24h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0020h ;------------------------------------------------------------------------------ Align 16 L0045BE90: push esi mov esi,ecx call SUB_L0045BEB0 test byte ptr [esp+08h],01h jz L0045BEA8 push esi call SUB_L004D4F9E add esp,00000004h L0045BEA8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0045BEB0: push FFFFFFFFh push L004E34B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi mov dword ptr [esi],L004ED63C mov eax,[esi+000002B0h] xor ebx,ebx cmp eax,ebx mov [esp+18h],ebx jz L0045BF0A call SUB_L00476760 mov edi,[L00C83640] push 00000011h mov dword ptr [L00C83640],00000001h call SUB_L004766D0 add esp,00000004h mov [L00C83640],edi L0045BF0A: cmp [L00B294B8],esi jnz L0045BF18 mov [L00B294B8],ebx L0045BF18: cmp [L00B29058],esi jnz L0045BF26 mov [L00B29058],ebx L0045BF26: mov edi,[esi+000002ACh] cmp edi,ebx jz L0045BF8D cmp [L00B294BC],edi jz L0045BF52 call SUB_L00456C40 mov ecx,[L00C87EA4] mov [L00B294BC],edi cmp ecx,ebx jz L0045BF52 call SUB_L0046D040 L0045BF52: mov ecx,[esi+000002ACh] mov eax,[ecx] call [eax+0000010Ch] mov ecx,[esi+000002ACh] test eax,eax jz L0045BF74 mov edx,[ecx] call [edx+00000174h] jmp L0045BF92 L0045BF74: mov eax,[ecx] call [eax+00000110h] test eax,eax jz L0045BF92 mov ecx,[esi+000002ACh] call SUB_L004C2E70 jmp L0045BF92 L0045BF8D: call SUB_L00456C40 L0045BF92: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,ebx jz L0045BFB0 push SSZ00503A3C_waiting_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],ebx L0045BFB0: mov eax,[esi+3Ch] mov eax,[eax+0Ch] cmp eax,ebx jz L0045BFCE push SSZ00503A28_waiting_frame1_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+0Ch],ebx L0045BFCE: mov eax,[esi+3Ch] cmp eax,ebx jz L0045BFE6 push SSZ00503A14_waiting_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L0045BFE6: mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045C010: sub esp,00000020h push ebx mov ebx,ecx push ebp push esi mov ecx,[ebx+24h] mov eax,[ebx+3Ch] imul ecx,[ebx+20h] mov esi,[eax+0Ch] push edi mov edi,[eax+04h] add esi,00000004h shl ecx,1 mov eax,ecx add edi,00000004h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[ebx+000002B4h] test al,al jz L0045C07B call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov cl,[L00D1A682] push 00000000h mov ebp,eax mov [esp+14h],cl call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 add esp,0000000Ch jmp L0045C083 L0045C07B: mov edi,[esp+10h] mov ebp,[esp+10h] L0045C083: mov eax,[ebx+000000A0h] test eax,eax mov eax,0000002Ch mov [esp+20h],eax jz L0045C160 mov cl,[ebx+000002B4h] mov dword ptr [esp+28h],00000138h test cl,cl mov [esp+24h],eax mov dword ptr [esp+2Ch],000000A8h jz L0045C0EA mov ecx,[ebx+20h] lea edx,[esp+20h] push 00000001h push edx push 00000001h push eax push eax lea eax,[ebx+000000A8h] push eax push ecx push 0000010Ch L0045C0D3: mov edx,[ebx+3Ch] mov eax,[edx+04h] add eax,00000004h push eax call SUB_L004C73A0 add esp,00000024h jmp L0045C1CC L0045C0EA: lea ecx,[esp+14h] push 00000000h lea edx,[esp+1Ch] push ecx mov ecx,[L00503148] lea eax,[esp+24h] push edx lea esi,[ebx+000000A8h] push eax push 0000010Ch and ecx,0000FFFFh push esi push ecx call SUB_L00441CD0 mov ecx,[ebx+3Ch] mov eax,[ebx+20h] push 00000001h push 00000000h lea edx,[esp+44h] push 00000000h push edx mov edx,[ecx+04h] mov ecx,[esp+54h] push eax mov eax,[esp+50h] add edx,00000004h push edx mov edx,[L00503148] sub ecx,eax and edx,0000FFFFh push ecx mov ecx,[esp+5Ch] push esi push 00000386h push edx push ecx push eax call SUB_L00441160 add esp,0000004Ch jmp L0045C1CC L0045C160: mov cl,[ebx+000002B4h] mov dword ptr [esp+28h],0000009Fh test cl,cl mov [esp+24h],eax mov dword ptr [esp+2Ch],0000004Dh push 00000001h jz L0045C19B mov ecx,[ebx+20h] lea edx,[esp+24h] push edx push 00000001h push eax push eax lea eax,[ebx+000000A8h] push eax push ecx push 00000073h jmp L0045C0D3 L0045C19B: mov edx,[ebx+20h] push 00000000h lea ecx,[esp+28h] push 00000000h push ecx mov ecx,[ebx+3Ch] push edx mov edx,[ecx+04h] lea ecx,[ebx+000000A8h] add edx,00000004h push edx push 00000073h push ecx push 00000386h push 00000001h push eax push eax call SUB_L00441160 add esp,00000030h L0045C1CC: mov al,[ebx+000002B4h] test al,al jz L0045C1EF push edi call SUB_L004C5640 push ebp call SUB_L004C4240 mov edx,[esp+18h] push edx call SUB_L004C4270 add esp,0000000Ch L0045C1EF: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 L0045C200: sub esp,00000024h push ebx push ebp mov ebp,ecx xor ebx,ebx push esi push edi cmp [ebp+6Ch],ebx jz L0045C32D xor edi,edi cmp ebp,ebx mov [esp+10h],ebx mov esi,ebp jz L0045C28E test esi,esi jz L0045C229 L0045C224: mov eax,[esi+04h] jmp L0045C22E L0045C229: mov eax,FEEDBEEFh L0045C22E: push 00000D36h push SSZ005032A8_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L0045C26A mov eax,[esi] mov ecx,esi call [eax+7Ch] mov ecx,[esp+10h] mov edx,[esi+30h] or ecx,eax add edi,edx mov [esp+10h],ecx mov ecx,[esi+34h] mov esi,[esi+4Ch] add ebx,ecx test esi,esi jnz L0045C224 jmp L0045C277 L0045C26A: push SSZ00503580_CGump__GumpToScreenCoords__eithe call SUB_L004C7EC0 add esp,00000004h L0045C277: mov eax,[esp+10h] test eax,eax jz L0045C28E mov ecx,[L00C88348] mov eax,[L00C8834C] add edi,ecx add ebx,eax L0045C28E: mov ecx,[ebp+3Ch] mov edx,[esp+38h] xor eax,eax mov esi,[ecx+04h] mov [esp+14h],edi mov [esp+18h],ebx xor ecx,ecx mov ax,[esi] add eax,edi mov [esp+1Ch],eax mov cx,[esi+02h] add ecx,ebx cmp [edx+08h],edi mov [esp+20h],ecx jle L0045C32D cmp [edx],eax jge L0045C32D cmp [edx+0Ch],ebx jle L0045C32D cmp [edx+04h],ecx jge L0045C32D lea eax,[esp+24h] lea ecx,[esp+14h] push eax push ecx push edx call SUB_L00457DF0 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx push eax xor edx,edx mov dx,[esi+02h] push ecx xor eax,eax push ebx mov ax,[esi] push edi push edx lea ecx,[esp+48h] push eax add esi,00000004h push ecx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[ebp+50h] add esp,00000034h test esi,esi jz L0045C32D L0045C31A: mov edx,[esi] lea eax,[esp+24h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+44h] test esi,esi jnz L0045C31A L0045C32D: pop edi pop esi pop ebp pop ebx add esp,00000024h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0045C340: mov eax,[ecx+000000A0h] push esi test eax,eax jz L0045C354 mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L0045C354: mov eax,[ecx+3Ch] mov edx,[esp+08h] mov ecx,[eax+04h] xor eax,eax test edx,edx mov ax,[ecx] jl L0045C394 mov esi,[esp+0Ch] test esi,esi jl L0045C394 cmp edx,eax jge L0045C394 push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L0045C394 imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2+04h],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L0045C394: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L0045C3A0: mov eax,[L00B294B8] push esi mov esi,ecx cmp eax,esi jz L0045C3B3 push 00000000h call SUB_L004584E0 L0045C3B3: mov eax,[esp+08h] mov ecx,[esp+0Ch] mov dword ptr [esi+0000009Ch],00000001h mov [esi+70h],eax mov [esi+74h],ecx pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L0045C3D0: mov eax,[ecx+0000009Ch] test eax,eax jz L0045C401 mov eax,[ecx+000000A0h] test eax,eax jnz L0045C401 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L0045C401: retn 0008h ;------------------------------------------------------------------------------ Align 16 L0045C410: cmp dword ptr [esp+04h],0000000Dh jnz L0045C41C call SUB_L00420BD0 L0045C41C: retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0045C420: push esi mov esi,ecx push SSZ00503A50_CSequence__CSequence____begin__ mov dword ptr [esi],L004ED7B0 call SUB_L004C7F20 xor eax,eax add esp,00000004h mov [esi+08h],eax mov [esi+04h],eax mov [esi+0Ch],al mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 L0045C450: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004ED7B0 test eax,eax jz L0045C48D push edi L0045C461: mov eax,[esi+04h] mov ecx,eax mov edi,[eax+08h] mov eax,[ecx+04h] test eax,eax jz L0045C479 push eax call SUB_L004D4F9E add esp,00000004h L0045C479: mov edx,[esi+04h] push edx call SUB_L004D4F9E add esp,00000004h mov [esi+04h],edi test edi,edi jnz L0045C461 pop edi L0045C48D: test byte ptr [esp+08h],01h jz L0045C49D push esi call SUB_L004D4F9E add esp,00000004h L0045C49D: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0045C4B0: push ebx push ebp push esi push edi mov ebp,ecx push 0000000Ch call SUB_L004D4FA9 mov esi,[esp+20h] mov ebx,eax mov eax,[esp+18h] push esi mov [ebx],eax call SUB_L004D4FA9 mov ecx,esi mov esi,[esp+20h] mov edx,ecx mov edi,eax shr ecx,02h mov [ebx+04h],eax add esp,00000008h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov dword ptr [ebx+08h],00000000h mov ecx,[ebp+04h] test ecx,ecx jnz L0045C503 pop edi mov [ebp+04h],ebx pop esi pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ L0045C503: mov eax,[ecx+08h] test eax,eax jz L0045C513 L0045C50A: mov ecx,eax mov eax,[ecx+08h] test eax,eax jnz L0045C50A L0045C513: pop edi pop esi mov [ecx+08h],ebx pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0045C520: push FFFFFFFFh push L004E35C2 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000040h push ebx push ebp push esi push edi mov esi,ecx mov ecx,[esp+60h] mov dword ptr [esp+58h],00000002h mov eax,[ecx+04h] mov ecx,[ecx] cmp ecx,00000010h ja L0045D094 jmp [CASE_PROCTABLE_0045D0AC+ecx*4] CASE_0045D0AC_PROC0009: mov bp,[eax+06h] mov ecx,eax add eax,00000006h push 00000118h mov edi,[ecx] add eax,00000002h mov [esp+2Ch],edi mov dl,[eax] mov bx,[ecx+04h] mov cl,[eax+01h] inc eax inc eax mov [esp+18h],dl mov [esp+14h],cl mov [esp+30h],bx mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+64h],dl inc eax mov [esp+20h],cl mov edx,[eax] mov eax,[eax+04h] mov [esp+24h],edx mov [esp+1Ch],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],03h jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+20h] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+68h] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+24h] push ecx push edx push ebp sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L004525B0 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC000A: mov edi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+14h],dl inc eax mov [esp+10h],cl mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+60h],dl inc eax mov [esp+1Ch],cl mov ebp,[eax] mov edx,[eax+04h] add eax,00000004h mov [esp+18h],edx mov eax,[L00C88514] test eax,eax jz L0045C648 L0045C63A: cmp eax,edi jz L0045C662 mov eax,[eax+000000C0h] test eax,eax jnz L0045C63A L0045C648: mov edx,[esi+08h] mov eax,[edx+08h] test eax,eax jz L0045C6AA push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045C662: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],04h jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+1Ch] push ecx mov ecx,[esp+64h] push ebp push edx mov edx,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx push ecx push ebx push edi mov ecx,eax call SUB_L00452820 mov edi,eax jmp L0045CFED L0045C6AA: mov al,[esi+0Ch] dec al mov [esi+0Ch],al jz L0045C6C7 mov eax,[esi+04h] mov ecx,esi push eax mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045C6C7: test esi,esi jz L0045D094 mov eax,[esi] push 00000001h mov ecx,esi call [eax] jmp L0045D094 CASE_0045D0AC_PROC000C: mov cx,[eax] add eax,00000002h mov edx,eax add eax,00000006h mov [esp+1Ch],cx mov ecx,eax mov edi,[edx] add eax,00000006h inc eax mov ebp,[ecx] mov bx,[edx+04h] mov dl,[eax-01h] mov [esp+14h],dl mov dl,[eax] mov cx,[ecx+04h] inc eax mov [esp+10h],dl mov [esp+28h],edi mov dl,[eax] inc eax mov [esp+60h],dl mov [esp+2Ch],bx mov edx,[eax] mov eax,[eax+04h] mov [esp+30h],ebp mov [esp+34h],cx mov [esp+20h],edx mov [esp+18h],eax mov [esp+40h],ebp mov [esp+44h],cx mov [esp+48h],edi mov [esp+4Ch],bx push 00000118h mov byte ptr [esp+5Ch],06h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],07h jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+20h] push ecx mov ecx,[esp+64h] push edx mov edx,[esp+18h] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+2Ch] push ecx push edx mov dx,[esp+4Ch] sub esp,00000008h mov ecx,esp sub esp,00000008h mov [ecx],ebp mov [ecx+04h],dx mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L00451500 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC000D: mov dx,[eax] add eax,00000002h mov ecx,eax add eax,00000006h mov [esp+1Ch],dx mov ebp,[eax] mov edi,[ecx] mov dl,[eax+04h] add eax,00000004h mov bx,[ecx+04h] inc eax mov [esp+14h],dl mov [esp+28h],edi mov cl,[eax] mov dl,[eax+01h] inc eax mov [esp+10h],cl inc eax mov [esp+60h],dl mov [esp+2Ch],bx mov ecx,[eax] mov edx,[eax+04h] add eax,00000004h mov [esp+20h],ecx mov eax,[L00C88514] mov [esp+18h],edx test eax,eax jz L0045C810 L0045C802: cmp eax,ebp jz L0045C82E mov eax,[eax+000000C0h] test eax,eax jnz L0045C802 L0045C810: mov edx,[esi+08h] mov eax,[edx+08h] test eax,eax jz L0045CED5 push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045C82E: mov [esp+48h],edi mov [esp+4Ch],bx push 00000118h mov byte ptr [esp+5Ch],08h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],09h jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+20h] push ecx mov ecx,[esp+64h] push edx mov edx,[esp+18h] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+2Ch] push ecx push edx push ebp sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L00451910 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC000E: mov cx,[eax] mov edi,[eax+02h] add eax,00000002h mov [esp+1Ch],cx add eax,00000004h mov edx,eax add eax,00000006h mov ebx,[edx] mov cl,[eax] inc eax mov [esp+14h],cl mov bp,[edx+04h] mov [esp+28h],ebx mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+10h],dl inc eax mov [esp+2Ch],bp mov [esp+60h],cl mov edx,[eax] add eax,00000004h mov [esp+20h],edx mov eax,[eax] mov [esp+18h],eax mov eax,[L00C88514] test eax,eax jz L0045C810 L0045C8E9: cmp eax,edi jz L0045C8FC mov eax,[eax+000000C0h] test eax,eax jnz L0045C8E9 jmp L0045C810 L0045C8FC: mov [esp+48h],ebx mov [esp+4Ch],bp push 00000118h mov byte ptr [esp+5Ch],0Ah call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],0Bh jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+20h] push ecx mov ecx,[esp+64h] push edx mov edx,[esp+18h] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+2Ch] push ecx push edx sub esp,00000008h mov ecx,esp push edi mov [ecx],ebx mov [ecx+04h],bp mov ecx,eax call SUB_L00451D60 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC000F: mov bp,[eax] mov edi,[eax+02h] add eax,00000002h add eax,00000004h mov ebx,[eax] mov cl,[eax+04h] add eax,00000004h mov [esp+14h],cl inc eax mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+10h],dl inc eax mov [esp+60h],cl mov ecx,[L00C88514] mov edx,[eax] add eax,00000004h mov [esp+20h],edx mov eax,[eax] mov [esp+18h],eax mov eax,ecx test eax,eax jz L0045C810 L0045C9A7: cmp eax,edi jz L0045C9BA mov eax,[eax+000000C0h] test eax,eax jnz L0045C9A7 jmp L0045C810 L0045C9BA: mov eax,ecx test eax,eax jz L0045C810 L0045C9C4: cmp eax,ebx jz L0045C9D7 mov eax,[eax+000000C0h] test eax,eax jnz L0045C9C4 jmp L0045C810 L0045C9D7: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],0Ch jz L0045CFEB mov ecx,[esp+18h] mov edx,[esp+20h] push ecx mov ecx,[esp+64h] push edx mov edx,[esp+18h] push ecx mov ecx,[esp+20h] push edx push ecx push ebp push ebx push edi mov ecx,eax call SUB_L00452160 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0010: mov edi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov bp,[eax] mov cx,[eax+02h] mov eax,[L00C88514] mov [esp+60h],cx test eax,eax jz L0045CA52 L0045CA40: cmp eax,edi jz L0045CF43 mov eax,[eax+000000C0h] test eax,eax jnz L0045CA40 L0045CA52: mov ecx,[esi+08h] mov eax,[ecx+08h] test eax,eax jz L0045CA6C push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045CA6C: mov al,[esi+0Ch] dec al mov [esi+0Ch],al jz L0045D01D mov eax,[esi+04h] mov ecx,esi push eax mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 CASE_0045D0AC_PROC000B: mov edi,[eax] mov ebx,[eax+04h] add eax,00000004h add eax,00000004h mov ebp,[eax] mov eax,[L00C88514] test eax,eax jz L0045CAB1 L0045CAA3: cmp eax,edi jz L0045CACB mov eax,[eax+000000C0h] test eax,eax jnz L0045CAA3 L0045CAB1: mov eax,[esi+08h] mov eax,[eax+08h] test eax,eax jz L0045CA6C push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045CACB: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+60h],eax test eax,eax mov byte ptr [esp+58h],0Dh jz L0045CFEB push ebp push ebx push edi mov ecx,eax call SUB_L004529C0 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0000: mov bp,[eax+06h] mov ecx,eax add eax,00000006h push 00000118h mov edi,[ecx] add eax,00000002h mov [esp+2Ch],edi mov dl,[eax] mov bx,[ecx+04h] mov cl,[eax+01h] inc eax inc eax mov [esp+18h],dl mov [esp+30h],bx mov [esp+14h],cl mov dl,[eax] mov al,[eax+01h] mov [esp+64h],dl mov [esp+20h],al call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],0Eh jz L0045CFEB mov ecx,[esp+1Ch] mov edx,[esp+60h] push ecx mov ecx,[esp+14h] push edx mov edx,[esp+1Ch] push ecx push edx push ebp sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L00454EF0 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0001: mov edi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov dl,[eax] mov cl,[eax+01h] inc eax mov [esp+14h],dl inc eax mov [esp+10h],cl mov dl,[eax] mov al,[eax+01h] mov [esp+1Ch],al mov eax,[L00C88514] test eax,eax mov [esp+60h],dl jz L0045CAB1 L0045CBB2: cmp eax,edi jz L0045CBC5 mov eax,[eax+000000C0h] test eax,eax jnz L0045CBB2 jmp L0045CAB1 L0045CBC5: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],0Fh jz L0045CFEB mov ecx,[esp+1Ch] mov edx,[esp+60h] push ecx mov ecx,[esp+14h] push edx mov edx,[esp+1Ch] push ecx push edx push ebx push edi mov ecx,eax call SUB_L00455160 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0003: mov cx,[eax] add eax,00000002h mov edx,eax add eax,00000006h mov [esp+1Ch],cx mov ecx,eax mov edi,[edx] add eax,00000006h mov ebp,[ecx] inc eax mov bx,[edx+04h] mov dl,[eax-01h] mov cx,[ecx+04h] mov [esp+14h],dl mov dl,[eax] mov al,[eax+01h] mov [esp+28h],edi mov [esp+2Ch],bx mov [esp+30h],ebp mov [esp+34h],cx mov [esp+10h],dl mov [esp+60h],al mov [esp+48h],ebp mov [esp+4Ch],cx mov [esp+40h],edi mov [esp+44h],bx push 00000118h mov byte ptr [esp+5Ch],11h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],12h jz L0045CFEB mov ecx,[esp+60h] mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx mov edx,[esp+24h] push ecx push edx mov dx,[esp+44h] sub esp,00000008h mov ecx,esp sub esp,00000008h mov [ecx],ebp mov [ecx+04h],dx mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L00453E80 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0004: mov dx,[eax] add eax,00000002h mov ecx,eax add eax,00000006h mov [esp+1Ch],dx mov ebp,[eax] mov edi,[ecx] mov dl,[eax+04h] add eax,00000004h mov bx,[ecx+04h] inc eax mov [esp+14h],dl mov [esp+28h],edi mov cl,[eax] mov dl,[eax+01h] mov eax,[L00C88514] mov [esp+2Ch],bx test eax,eax mov [esp+10h],cl mov [esp+60h],dl jz L0045C810 L0045CD07: cmp eax,ebp jz L0045CD1A mov eax,[eax+000000C0h] test eax,eax jnz L0045CD07 jmp L0045C810 L0045CD1A: mov [esp+48h],edi mov [esp+4Ch],bx push 00000118h mov byte ptr [esp+5Ch],13h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],14h jz L0045CFEB mov ecx,[esp+60h] mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx mov edx,[esp+24h] push ecx push edx push ebp sub esp,00000008h mov ecx,esp mov [ecx],edi mov [ecx+04h],bx mov ecx,eax call SUB_L00454260 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0005: mov cx,[eax] mov edi,[eax+02h] add eax,00000002h mov [esp+1Ch],cx add eax,00000004h mov edx,eax add eax,00000006h mov ebx,[edx] mov cl,[eax] inc eax mov [esp+28h],ebx mov bp,[edx+04h] mov [esp+14h],cl mov dl,[eax] mov al,[eax+01h] mov [esp+60h],al mov eax,[L00C88514] test eax,eax mov [esp+2Ch],bp mov [esp+10h],dl jz L0045C810 L0045CDBA: cmp eax,edi jz L0045CDCD mov eax,[eax+000000C0h] test eax,eax jnz L0045CDBA jmp L0045C810 L0045CDCD: mov [esp+48h],ebx mov [esp+4Ch],bp push 00000118h mov byte ptr [esp+5Ch],15h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],16h jz L0045CFEB mov ecx,[esp+60h] mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx mov edx,[esp+24h] push ecx push edx sub esp,00000008h mov ecx,esp push edi mov [ecx],ebx mov [ecx+04h],bp mov ecx,eax call SUB_L004546B0 mov edi,eax jmp L0045CFED CASE_0045D0AC_PROC0006: mov bp,[eax] mov edi,[eax+02h] add eax,00000002h add eax,00000004h mov ebx,[eax] mov cl,[eax+04h] add eax,00000004h mov [esp+14h],cl mov ecx,[L00C88514] inc eax mov dl,[eax] mov al,[eax+01h] mov [esp+60h],al mov eax,ecx test eax,eax mov [esp+10h],dl jz L0045CE67 L0045CE59: cmp eax,edi jz L0045CE81 mov eax,[eax+000000C0h] test eax,eax jnz L0045CE59 L0045CE67: mov edx,[esi+08h] mov eax,[edx+08h] test eax,eax jz L0045CED5 push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045CE81: mov eax,ecx test eax,eax jz L0045CE67 L0045CE87: cmp eax,ebx jz L0045CE97 mov eax,[eax+000000C0h] test eax,eax jnz L0045CE87 jmp L0045CE67 L0045CE97: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+58h],17h jz L0045CFEB mov ecx,[esp+60h] mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx push ecx push ebp push ebx push edi mov ecx,eax call SUB_L00454AA0 mov edi,eax jmp L0045CFED L0045CED5: mov al,[esi+0Ch] dec al mov [esi+0Ch],al jz L0045C6C7 mov eax,[esi+04h] mov ecx,esi push eax mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 CASE_0045D0AC_PROC0007: mov edi,[eax] mov bx,[eax+04h] add eax,00000004h add eax,00000002h mov bp,[eax] mov cx,[eax+02h] mov eax,[L00C88514] mov [esp+60h],cx test eax,eax jz L0045CF25 L0045CF17: cmp eax,edi jz L0045CF43 mov eax,[eax+000000C0h] test eax,eax jnz L0045CF17 L0045CF25: mov ecx,[esi+08h] mov eax,[ecx+08h] test eax,eax jz L0045CA6C push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045CF43: mov edx,[edi] mov ecx,edi call [edx+14h] xor eax,eax mov dword ptr [edi+000001A8h],00000001h mov [edi+000001B2h],ax mov [edi+000001ACh],ax mov ax,[esp+60h] mov [edi+000001B0h],bx mov [edi+000001AEh],bp mov [edi+000001B4h],ax push edi mov [edi+000001C8h],esi call SUB_L00409350 add esp,00000004h jmp L0045D094 CASE_0045D0AC_PROC0002: mov edi,[eax] mov eax,[L00C88514] test eax,eax jz L0045CFAB L0045CF9D: cmp eax,edi jz L0045CFC5 mov eax,[eax+000000C0h] test eax,eax jnz L0045CF9D L0045CFAB: mov eax,[esi+08h] mov eax,[eax+08h] test eax,eax jz L0045D003 push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045CFC5: push 00000118h call SUB_L004D4FA9 add esp,00000004h mov [esp+60h],eax test eax,eax mov byte ptr [esp+58h],18h jz L0045CFEB push edi mov ecx,eax call SUB_L00455300 mov edi,eax jmp L0045CFED L0045CFEB: xor edi,edi L0045CFED: push 00000001h push 00000000h mov ecx,edi call SUB_L004587A0 mov [edi+0000010Ch],esi jmp L0045D094 L0045D003: mov al,[esi+0Ch] dec al mov [esi+0Ch],al jz L0045D01D mov eax,[esi+04h] mov ecx,esi push eax mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045D01D: test esi,esi jz L0045D094 jmp L0045D08C CASE_0045D0AC_PROC0008: mov cx,[eax] add eax,00000002h push 00000000h push 00000000h mov edx,[eax] push 00000000h mov [esp+44h],edx lea edx,[esp+44h] mov ax,[eax+04h] push 3F800000h and ecx,0000FFFFh push edx push ecx mov [esp+54h],ax call SUB_L004CD720 mov eax,[esi+08h] add esp,00000018h mov eax,[eax+08h] test eax,eax jz L0045D06E push eax mov ecx,esi mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045D06E: mov al,[esi+0Ch] dec al mov [esi+0Ch],al jz L0045D088 mov eax,[esi+04h] mov ecx,esi push eax mov [esi+08h],eax call SUB_L0045C520 jmp L0045D094 L0045D088: test esi,esi jz L0045D094 L0045D08C: mov edx,[esi] push 00000001h mov ecx,esi call [edx] L0045D094: mov ecx,[esp+50h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000004Ch retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0045D0AC: dd CASE_0045D0AC_PROC0000 dd CASE_0045D0AC_PROC0001 dd CASE_0045D0AC_PROC0002 dd CASE_0045D0AC_PROC0003 dd CASE_0045D0AC_PROC0004 dd CASE_0045D0AC_PROC0005 dd CASE_0045D0AC_PROC0006 dd CASE_0045D0AC_PROC0007 dd CASE_0045D0AC_PROC0008 dd CASE_0045D0AC_PROC0009 dd CASE_0045D0AC_PROC000A dd CASE_0045D0AC_PROC000B dd CASE_0045D0AC_PROC000C dd CASE_0045D0AC_PROC000D dd CASE_0045D0AC_PROC000E dd CASE_0045D0AC_PROC000F dd CASE_0045D0AC_PROC0010 SUB_L0045D0F0: mov eax,[ecx+08h] mov eax,[eax+08h] test eax,eax jz L0045D104 push eax mov [ecx+08h],eax call SUB_L0045C520 retn ;------------------------------------------------------------------------------ L0045D104: mov al,[ecx+0Ch] dec al mov [ecx+0Ch],al jz L0045D11B mov eax,[ecx+04h] push eax mov [ecx+08h],eax call SUB_L0045C520 retn ;------------------------------------------------------------------------------ L0045D11B: test ecx,ecx jz L0045D125 mov edx,[ecx] push 00000001h call [edx] L0045D125: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D130: push esi mov esi,ecx call SUB_L00458F30 mov dword ptr [esi],L004E9798 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D150: push esi push edi mov edi,[L00BE94EC] mov esi,[edi] cmp esi,edi jz L0045D18B L0045D15E: mov eax,esi mov esi,[esi] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov ecx,[L00BE94F0] add esp,00000004h dec ecx cmp esi,edi mov [L00BE94F0],ecx jnz L0045D15E L0045D18B: pop edi mov byte ptr [L00503141],01h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D1A0: mov eax,[L00C8836C] sub esp,00000008h mov ecx,eax push esi mov esi,[L00BE94F4] sub ecx,esi cmp ecx,00000002h jle L0045D2C7 mov [L00BE94F4],eax mov eax,[L00C83640] test eax,eax jnz L0045D1EE mov eax,[L00BE94EC] lea edx,[esp+04h] push eax mov ecx,[eax] push ecx push edx mov ecx,L00BE94E8 call SUB_L0045D5B0 mov byte ptr [L00503141],01h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045D1EE: mov ecx,[L00BE94EC] mov eax,[ecx] cmp eax,ecx mov [L00BE94E4],eax jz L0045D2C7 L0045D203: mov eax,[eax+08h] push eax call SUB_L004843F0 mov edx,[L00BE94E4] mov esi,eax mov eax,[L00C884DC] add esp,00000004h mov edx,[edx+08h] mov ecx,[eax+0000011Ch] cmp edx,[ecx+7Ch] jz L0045D249 mov cl,[L00BE94FC] test cl,cl jz L0045D249 test esi,esi jz L0045D274 push eax mov ecx,esi call SUB_L004802A0 test eax,eax jz L0045D274 mov eax,[L00C884DC] L0045D249: test esi,esi jz L0045D259 push eax mov ecx,esi call SUB_L004802A0 test eax,eax jnz L0045D2A1 L0045D259: mov eax,[L00BE94E4] mov ecx,[L00BE94EC] mov eax,[eax] cmp eax,ecx mov [L00BE94E4],eax jnz L0045D203 pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045D274: mov eax,[L00BE94E4] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov eax,[L00BE94F0] add esp,00000004h dec eax mov [L00BE94F0],eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045D2A1: mov eax,[L00BE94E4] lea edx,[esp+04h] mov ecx,[eax+08h] push ecx push edx call SUB_L00499850 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+04h] push eax call SUB_L004BC750 L0045D2C7: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045D2D0: mov ecx,[L00BE94EC] push esi mov esi,[esp+08h] push edi mov eax,[ecx] cmp eax,ecx jz L0045D2ED L0045D2E2: cmp [eax+08h],esi jz L0045D2ED mov eax,[eax] cmp eax,ecx jnz L0045D2E2 L0045D2ED: mov edx,[L00C884DC] mov edx,[edx+0000011Ch] cmp esi,[edx+7Ch] jnz L0045D305 mov byte ptr [L00BE94FC],01h L0045D305: cmp eax,ecx jz L0045D330 mov ecx,[eax+04h] mov edx,[eax] push eax mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov eax,[L00BE94F0] add esp,00000004h dec eax mov [L00BE94F0],eax mov al,01h jmp L0045D332 L0045D330: xor al,al L0045D332: mov ecx,[L00BE94F0] test ecx,ecx jnz L0045D343 mov byte ptr [L00503141],01h L0045D343: test al,al jz L0045D3B2 mov edx,[esp+14h] test edx,edx jz L0045D384 mov ecx,L00B28ADC L0045D354: cmp esi,[ecx-10h] jnz L0045D376 mov edi,[ecx] mov [edx+30h],edi mov edi,[ecx+04h] mov [edx+34h],edi movzx di,[ecx-08h] mov [edx+000000B4h],di mov edi,[ecx-0Ch] mov [edx+64h],edi L0045D376: add ecx,0000001Ch cmp ecx,L00B29054 jl L0045D354 pop edi pop esi retn ;------------------------------------------------------------------------------ L0045D384: mov edx,[esp+10h] test edx,edx jz L0045D3B2 mov ecx,L00B28ADC L0045D391: cmp esi,[ecx-10h] jnz L0045D3A7 mov edi,[ecx] mov [edx+30h],edi mov edi,[ecx+04h] mov [edx+34h],edi mov edi,[ecx-0Ch] mov [edx+64h],edi L0045D3A7: add ecx,0000001Ch cmp ecx,L00B29054 jl L0045D391 L0045D3B2: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045D3C0: push FFFFFFFFh push L004E3609 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+1Ch],esi xor ebx,ebx mov [esp+34h],ebx call SUB_L00458F30 mov dword ptr [esi],L004ED068 mov [esi+00000110h],ebx mov [esi+00000114h],ebx push 0000000Ah mov byte ptr [esp+38h],02h mov [esi+0000010Ch],ebx mov [esi+000000D8h],bl mov byte ptr [esi+000000D9h],06h mov byte ptr [esi+000000DAh],01h mov [esi+000000DBh],bl mov [esi+000000DCh],bl mov word ptr [esi+000000DEh],4E20h mov word ptr [esi+000000E0h],4E29h call SUB_L0047BBB0 add ax,[esi+000000DEh] mov ebp,[esp+40h] movsx ecx,[esp+42h] mov [esi+000000E2h],ax mov eax,00000001h movsx edx,bp mov [esi+00000104h],eax mov [esi+000000F0h],eax mov eax,edx mov [esi+000000ECh],ebx mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000FCh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+00000100h],ebx mov [esi+000000A4h],ebx mov [esi+00000108h],ebx mov edi,[L00C83A54] sub eax,ecx add eax,edi mov [esp+18h],ecx mov [esp+14h],edx push 00000070h lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L0051A760] shl eax,1 sub eax,edi movsx edi,[esp+48h] mov [esi+30h],eax lea eax,[edx+ecx] mov [esp+20h],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] lea eax,[00000000h+edi*4] mov edi,[L0051A75C] mov dword ptr [esi+08h],SSZ005031A0_missile_gump shl edx,1 sub edx,eax mov [esi+60h],ebx sub edx,edi mov [esi+54h],ebx mov [esi+34h],edx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004D4FA9 mov edi,eax add esp,00000008h mov [esp+20h],edi cmp edi,ebx mov byte ptr [esp+34h],03h jz L0045D588 mov bx,[esp+40h] mov [esp+24h],ebp mov [esp+28h],bx mov ecx,edi mov byte ptr [esp+34h],04h call SUB_L00402BF0 fild dword ptr [esp+10h] mov cx,[esp+3Eh] mov dword ptr [edi],L004ED014 mov [edi+24h],bp mov [edi+26h],cx mov [edi+28h],bx mov ecx,edi fstp qword ptr [edi+40h] fild dword ptr [esp+14h] mov byte ptr [esp+34h],05h mov [edi+3Ch],esi fstp qword ptr [edi+48h] fild dword ptr [esp+18h] fstp qword ptr [edi+50h] call SUB_L00403910 mov [esi+000000A8h],edi jmp L0045D58E L0045D588: mov [esi+000000A8h],ebx L0045D58E: mov ecx,[esp+2Ch] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000028h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0045D5B0: push ebx mov ebx,[esp+10h] push esi mov esi,[esp+10h] push edi cmp esi,ebx mov edi,ecx jz L0045D5E8 L0045D5C1: mov eax,esi mov esi,[esi] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov ecx,[edi+08h] add esp,00000004h dec ecx cmp esi,ebx mov [edi+08h],ecx jnz L0045D5C1 L0045D5E8: mov eax,[esp+10h] pop edi mov [eax],esi pop esi pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0045D600: sub esp,00000224h lea eax,[esp+30h] push ebx push eax call [KERNEL32.dll!GetSystemInfo] mov eax,[esp+4Ch] sub eax,00000182h jz L0045D647 sub eax,00000064h jz L0045D63A mov ebx,[esp+0000022Ch] sub eax,00000064h jz L0045D634 mov byte ptr [ebx+01h],04h jmp L0045D652 L0045D634: mov byte ptr [ebx+01h],03h jmp L0045D652 L0045D63A: mov ebx,[esp+0000022Ch] mov byte ptr [ebx+01h],02h jmp L0045D652 L0045D647: mov ebx,[esp+0000022Ch] mov byte ptr [ebx+01h],01h L0045D652: push FFFFFFFFh call SUB_L004BCE10 add esp,00000004h cmp ax,02EEh mov [ebx+02h],ax jbe L0045D66C mov word ptr [ebx+02h],0000h L0045D66C: mov cl,[esp+48h] lea edx,[esp+0000017Ch] push edx mov [ebx+04h],cl call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jnz L0045D690 xor eax,eax pop ebx add esp,00000224h retn ;------------------------------------------------------------------------------ L0045D690: mov ecx,[esp+0000017Ch] mov eax,88888889h imul ecx add edx,ecx push ebp mov [ebx+0000008Ch],ecx push esi mov esi,[ADVAPI32.dll!RegOpenKeyExA] lea ecx,[esp+1Ch] sar edx,05h push edi mov eax,edx push ecx push 00000001h shr eax,1Fh push 00000000h add edx,eax push SSZ00503B0C_System_CurrentControlSet_Service push 80000002h mov [L00BE953C],edx call esi test eax,eax jnz L0045D828 lea edx,[esp+18h] lea edi,[ebx+45h] push edx push 00000001h mov [edi],al mov [ebx+65h],al push eax mov eax,[esp+2Ch] push SSZ00503B04_Modem push eax call esi mov ebp,[ADVAPI32.dll!RegQueryValueExA] test eax,eax jnz L0045D796 mov dword ptr [esp+10h],00000000h L0045D70E: mov ecx,[esp+10h] lea edx,[esp+24h] push ecx push SSZ00503AFC__04d push edx call SUB_L004D512F mov edx,[esp+24h] add esp,0000000Ch lea eax,[esp+14h] lea ecx,[esp+24h] push eax push 00000001h push 00000000h push ecx push edx call esi test eax,eax jnz L0045D796 mov ecx,[esp+14h] lea eax,[esp+1Ch] push eax push edi push 00000000h push 00000000h push SSZ00503AEC_Manufacturer push ecx mov dword ptr [esp+34h],00000020h call ebp test eax,eax jnz L0045D796 lea edx,[esp+1Ch] lea eax,[ebx+65h] push edx push eax mov eax,[esp+1Ch] push 00000000h push 00000000h push SSZ00503AE4_Model push eax mov dword ptr [esp+34h],00000020h call ebp test eax,eax jnz L0045D796 mov eax,[esp+10h] inc eax test eax,eax mov [esp+10h],eax jle L0045D70E L0045D796: mov edx,[esp+20h] lea ecx,[esp+18h] push ecx push 00000001h lea edi,[ebx+05h] push 00000000h push SSZ00503ADC_Display push edx mov byte ptr [edi],00h mov byte ptr [ebx+25h],00h call esi test eax,eax jnz L0045D828 mov ecx,[esp+18h] lea eax,[esp+10h] push eax push 00000001h push 00000000h push SSZ00503AD4_0000 push ecx call esi test eax,eax jnz L0045D7EE lea edx,[esp+14h] mov dword ptr [esp+14h],00000020h push edx push edi push eax push eax mov eax,[esp+20h] push SSZ00503AC8_DriverDesc push eax call ebp L0045D7EE: mov edx,[esp+18h] lea ecx,[esp+10h] push ecx push 00000001h push 00000000h push SSZ00503AC0_0001 push edx call esi test eax,eax jnz L0045D828 mov ecx,[esp+10h] lea eax,[esp+14h] push eax lea eax,[ebx+25h] push eax push 00000000h push 00000000h push SSZ00503AC8_DriverDesc push ecx mov dword ptr [esp+2Ch],00000020h call ebp L0045D828: lea edx,[esp+64h] push edx call [KERNEL32.dll!GlobalMemoryStatus] mov eax,[esp+6Ch] 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_L004D4FA9 add esp,00000004h mov ebp,eax mov [esp+14h],ebp push ebp push esi call edi mov edx,ebp cmp byte ptr [edx],00h jz L0045D95C L0045D879: push ebp call [KERNEL32.dll!GetDriveTypeA] cmp eax,00000003h jnz L0045D947 mov al,[ebp+00h] mov edi,L00503ABC mov [esp+00000084h],al or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000084h] repne scasb not ecx sub edi,ecx mov byte ptr [esp+00000085h],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,[esp+18h] and ecx,00000003h push eax rep movsb lea ecx,[esp+40h] lea edx,[esp+14h] push ecx lea eax,[esp+24h] push edx lea ecx,[esp+00000090h] push eax push ecx call [KERNEL32.dll!GetDiskFreeSpaceA] test eax,eax jz L0045D933 mov edx,[esp+10h] mov ecx,[esp+1Ch] xor eax,eax mov [esp+2Ch],edx mov [esp+30h],eax mov edx,[esp+18h] fild qword ptr [esp+2Ch] mov [esp+34h],ecx mov [esp+38h],eax mov [esp+24h],edx mov [esp+28h],eax fmul dword ptr [L004ED7B4] fild qword ptr [esp+34h] fmulp ST(1),ST fild qword ptr [esp+24h] fmulp ST(1),ST call SUB_L004D5008 L0045D933: xor ecx,ecx mov cx,[ebx+00000088h] cmp eax,ecx jc L0045D947 mov [ebx+00000088h],ax L0045D947: cmp byte ptr [ebp+00h],00h jz L0045D950 inc ebp jmp L0045D947 L0045D950: mov al,[ebp+01h] inc ebp test al,al jnz L0045D879 L0045D95C: mov edx,[esp+14h] push edx call SUB_L004D4F9E add esp,00000004h mov eax,00000001h pop edi pop esi pop ebp pop ebx add esp,00000224h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045D980: sub esp,0000000Ch lea eax,[esp+04h] push ebx push esi push edi mov ebx,00000001h push eax push ebx push 00000000h push SSZ00503BE8_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jz L0045D9B0 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045D9B0: mov esi,[esp+1Ch] mov edi,[ADVAPI32.dll!RegQueryValueExA] lea ecx,[esp+0Ch] lea eax,[esp+14h] lea edx,[esi+01h] push ecx mov ecx,[esp+14h] push edx push eax push 00000000h push SSZ00503BD8_processorType push ecx mov [esp+24h],ebx call edi test eax,eax jz L0045D9E7 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045D9E7: lea edx,[esp+0Ch] lea eax,[esi+02h] push edx mov edx,[esp+14h] lea ecx,[esp+18h] push eax push ecx push 00000000h push SSZ00503BC8_processorClock push edx mov dword ptr [esp+24h],00000002h call edi test eax,eax jz L0045DA18 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DA18: lea eax,[esp+0Ch] lea ecx,[esi+04h] push eax mov eax,[esp+14h] lea edx,[esp+18h] push ecx push edx push 00000000h push SSZ00503BBC_nProcessors push eax mov [esp+24h],ebx call edi test eax,eax jz L0045DA45 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DA45: lea ecx,[esp+0Ch] lea edx,[esi+05h] push ecx mov ecx,[esp+14h] lea eax,[esp+18h] push edx push eax push 00000000h mov ebx,00000020h push SSZ00503BA8_szVideoCardDescrip1 push ecx mov [esp+24h],ebx call edi test eax,eax jz L0045DA77 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DA77: lea edx,[esp+0Ch] lea eax,[esi+25h] push edx mov edx,[esp+14h] lea ecx,[esp+18h] push eax push ecx push 00000000h push SSZ00503B94_szVideoCardDescrip2 push edx mov [esp+24h],ebx call edi test eax,eax jz L0045DAA4 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DAA4: lea eax,[esp+0Ch] lea ecx,[esi+45h] push eax mov eax,[esp+14h] lea edx,[esp+18h] push ecx push edx push 00000000h push SSZ00503B80_szModemManufacturer push eax mov [esp+24h],ebx call edi test eax,eax jz L0045DAD1 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DAD1: lea ecx,[esp+0Ch] lea edx,[esi+65h] push ecx mov ecx,[esp+14h] lea eax,[esp+18h] push edx push eax push 00000000h push SSZ00503B70_szModemDescrip push ecx mov [esp+24h],ebx call edi test eax,eax jz L0045DAFE pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DAFE: lea edx,[esp+0Ch] lea eax,[esi+00000086h] push edx mov edx,[esp+14h] lea ecx,[esp+18h] push eax push ecx push 00000000h push SSZ00503B60_totalRAMInMB push edx mov dword ptr [esp+24h],00000002h call edi test eax,eax jz L0045DB32 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DB32: lea eax,[esp+0Ch] lea ecx,[esi+00000088h] push eax mov eax,[esp+14h] lea edx,[esp+18h] push ecx push edx push 00000000h push SSZ00503B48_largestPartitionInMB push eax mov dword ptr [esp+24h],00000002h call edi test eax,eax jz L0045DB66 pop edi pop esi xor eax,eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045DB66: mov eax,[esp+10h] lea ecx,[esp+0Ch] add esi,0000008Ch push ecx lea edx,[esp+18h] push esi push edx push 00000000h push SSZ00503B38_timeZoneBias push eax mov dword ptr [esp+24h],00000004h call edi neg eax sbb eax,eax pop edi pop esi inc eax pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045DBA0: sub esp,00000008h lea eax,[esp+04h] lea ecx,[esp+00h] push esi push edi push eax push ecx push 00000000h push 000F003Fh push 00000000h push L007049FC push 00000000h push SSZ00503BE8_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h call [ADVAPI32.dll!RegCreateKeyExA] test eax,eax jz L0045DBDB pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DBDB: mov esi,[esp+14h] mov eax,[esp+08h] mov edi,[ADVAPI32.dll!RegSetValueExA] push 00000001h lea edx,[esi+01h] push edx push 00000003h push 00000000h push SSZ00503BD8_processorType push eax call edi test eax,eax jz L0045DC07 pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DC07: mov edx,[esp+08h] lea ecx,[esi+02h] push 00000002h push ecx push 00000003h push 00000000h push SSZ00503BC8_processorClock push edx call edi test eax,eax jz L0045DC29 pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DC29: mov ecx,[esp+08h] lea eax,[esi+04h] push 00000001h push eax push 00000003h push 00000000h push SSZ00503BBC_nProcessors push ecx call edi test eax,eax jz L0045DC4B pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DC4B: mov eax,[esp+08h] lea edx,[esi+05h] push 00000020h push edx push 00000001h push 00000000h push SSZ00503BA8_szVideoCardDescrip1 push eax call edi test eax,eax jz L0045DC6D pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DC6D: mov edx,[esp+08h] lea ecx,[esi+25h] push 00000020h push ecx push 00000001h push 00000000h push SSZ00503B94_szVideoCardDescrip2 push edx call edi test eax,eax jz L0045DC8F pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DC8F: mov ecx,[esp+08h] lea eax,[esi+45h] push 00000020h push eax push 00000001h push 00000000h push SSZ00503B80_szModemManufacturer push ecx call edi test eax,eax jz L0045DCB1 pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DCB1: mov eax,[esp+08h] lea edx,[esi+65h] push 00000020h push edx push 00000001h push 00000000h push SSZ00503B70_szModemDescrip push eax call edi test eax,eax jz L0045DCD3 pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DCD3: mov edx,[esp+08h] lea ecx,[esi+00000086h] push 00000002h push ecx push 00000003h push 00000000h push SSZ00503B60_totalRAMInMB push edx call edi test eax,eax jz L0045DCF8 pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DCF8: mov ecx,[esp+08h] lea eax,[esi+00000088h] push 00000002h push eax push 00000003h push 00000000h push SSZ00503B48_largestPartitionInMB push ecx call edi test eax,eax jz L0045DD1D pop edi xor eax,eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L0045DD1D: mov edx,[esp+08h] add esi,0000008Ch push 00000004h push esi push 00000003h push 00000000h push SSZ00503B38_timeZoneBias push edx call edi neg eax sbb eax,eax pop edi inc eax pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045DD50: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3636 push eax mov fs:[00000000h],esp sub esp,00000018h push esi push edi push SSZ00503D28_LoadVersionFile____begin__ call SUB_L004C7F50 mov eax,[L00511410] xor edi,edi add esp,00000004h cmp eax,edi jz L0045E1BB push L004FD2A8 push SSZ00503D1C_verdata_mul call SUB_L0043FEF0 add esp,00000008h cmp eax,edi jz L0045E1BB push eax call SUB_L00440570 push SSZ00503D1C_verdata_mul push SSZ00503CF4_LoadVersionFile____mapping_file_ call SUB_L004C7F50 push 00000014h call SUB_L004D4FA9 mov esi,eax add esp,00000010h mov [esp+1Ch],esi cmp esi,edi mov [esp+28h],edi jz L0045DDE4 push SSZ00503D1C_verdata_mul call SUB_L0047C110 add esp,00000004h mov ecx,esi push eax call SUB_L004CBF10 jmp L0045DDE6 L0045DDE4: xor eax,eax L0045DDE6: mov ecx,eax mov dword ptr [esp+28h],FFFFFFFFh mov [L00BFA5D0],eax call SUB_L004CC050 mov ecx,eax cmp ecx,edi mov [L00BFA5CC],ecx jz L0045E1BB mov edx,[ecx] lea eax,[ecx+04h] cmp edx,edi mov [L00BFA5C8],edx mov [esp+14h],edi jle L0045E1BB push ebx push ebp jmp L0045DE2B L0045DE25: mov ecx,[L00BFA5CC] L0045DE2B: mov esi,[eax] mov ebp,[eax+04h] add eax,00000004h add eax,00000004h mov edi,[eax] mov ebx,[eax+04h] add eax,00000004h add eax,00000004h mov edx,[eax] add eax,00000004h cmp esi,00000011h mov [esp+20h],edx mov [esp+10h],eax jle L0045E166 add esi,FFFFFFE2h cmp esi,00000003h ja L0045E1A2 jmp [CASE_PROCTABLE_0045E1CC+esi*4] CASE_0045E1CC_PROC0000: cmp ebp,00000200h lea esi,[ecx+edi+04h] jge L0045DEC9 lea edi,[00000000h+ebp*8] sub edi,ebp mov ebp,00000020h shl edi,07h L0045DE87: mov ecx,[L00C88544] mov eax,[esi] add esi,00000004h push 00000014h mov [edi+ecx],eax mov eax,[L00C88544] mov dx,[esi] add esi,00000002h mov [edi+eax+04h],dx mov ecx,[L00C88544] push esi lea edx,[edi+ecx+06h] push edx call SUB_L004D52C0 add esp,0000000Ch add esi,00000014h add edi,0000001Ch dec ebp jnz L0045DE87 jmp L0045E19E L0045DEC9: sub ebp,00000200h lea edi,[ebp+ebp*4+00h] mov ebp,00000020h shl edi,08h L0045DEDB: mov ecx,[L00C88540] mov eax,[esi] add esi,00000004h push 00000014h mov [edi+ecx],eax mov eax,[L00C88540] mov dl,[esi] inc esi mov [edi+eax+04h],dl mov edx,[L00C88540] mov cl,[esi] inc esi mov [edi+edx+05h],cl mov ecx,[L00C88540] mov eax,[esi] add esi,00000004h mov [edi+ecx+08h],eax mov eax,[L00C88540] mov dx,[esi] add esi,00000002h mov [edi+eax+0Ch],dx mov edx,[L00C88540] mov cx,[esi] add esi,00000002h mov [edi+edx+0Eh],cx mov ecx,[L00C88540] mov ax,[esi] add esi,00000002h mov [edi+ecx+10h],ax mov eax,[L00C88540] mov dl,[esi] inc esi mov [edi+eax+12h],dl mov ecx,[L00C88540] push esi lea edx,[edi+ecx+13h] push edx call SUB_L004D52C0 add esp,0000000Ch add esi,00000014h add edi,00000028h dec ebp jnz L0045DEDB jmp L0045E19E CASE_0045E1CC_PROC0001: lea esi,[00000000h+ebp*8] lea ebp,[00000008h+ebp*8] cmp esi,ebp lea ecx,[ecx+edi+04h] jge L0045E1A2 lea edx,[esi+esi*8] sub ebp,esi lea edx,[L005E4A29+edx*8] L0045DF9D: lea esi,[edx-41h] mov edi,00000040h L0045DFA5: mov bl,[ecx] inc ecx mov [esi],bl inc esi dec edi jnz L0045DFA5 mov bl,[ecx] inc ecx mov [edx-01h],bl mov bl,[ecx] inc ecx cmp bl,40h mov [edx],bl jbe L0045DFC1 mov byte ptr [edx],40h L0045DFC1: mov bl,[ecx] inc ecx mov [edx+01h],bl add edx,00000048h mov bl,[ecx] inc ecx mov [edx-46h],bl dec ebp jnz L0045DF9D jmp L0045E1A2 CASE_0045E1CC_PROC0002: lea edx,[ecx+edi+04h] lea ecx,[00000000h+ebp*8] lea esi,[00000008h+ebp*8] cmp ecx,esi jge L0045E1A2 lea edi,[ecx+ecx*4] sub esi,ecx mov ebx,esi lea edi,[ecx+edi*2] lea ebp,[L00C42D28+edi*8] L0045E003: lea ecx,[ebp-40h] mov esi,00000040h L0045E00B: mov di,[edx] add edx,00000002h mov [ecx],di add ecx,00000002h dec esi jnz L0045E00B mov cx,[edx] add edx,00000002h mov [ebp+00h],cx lea edi,[ebp+04h] mov cx,[edx] add edx,00000002h mov [ebp+02h],cx mov ecx,00000005h mov esi,edx add edx,00000014h rep movsd mov byte ptr [ebp+17h],00h add ebp,00000058h dec ebx jnz L0045E003 jmp L0045E1A2 CASE_0045E1CC_PROC0003: lea esi,[ecx+edi] mov edi,[L0094329C+ebp*4] test edi,edi jz L0045E06A mov ecx,edi call SUB_L00442FD0 push edi call SUB_L004D4F9E add esp,00000004h L0045E06A: push 00000704h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+30h],00000001h jz L0045E090 mov ecx,eax call SUB_L00442F90 jmp L0045E092 L0045E090: xor eax,eax L0045E092: mov dword ptr [esp+30h],FFFFFFFFh mov [L0094329C+ebp*4],eax mov ebx,00000004h jmp L0045E0AC L0045E0A8: mov esi,[esp+20h] L0045E0AC: mov dl,[esi] mov al,[esi+01h] inc esi mov [esp+14h],dl inc esi mov [esp+18h],al mov edi,[esp+18h] mov eax,[L0094329C+ebp*4] mov cl,[esi] and edi,000000FFh mov [esp+24h],cl mov ecx,[esp+14h] and ecx,000000FFh mov edx,[esp+24h] imul edi,ecx and edx,000000FFh inc esi mov [eax+ebx+00000380h],edx lea edx,[edi+edi+04h] push edx mov [esp+24h],esi call SUB_L004D4FA9 mov ecx,[L0094329C+ebp*4] add ebx,00000004h movzx dx,[esp+18h] mov [ecx+ebx-04h],eax mov eax,[L0094329C+ebp*4] add esp,00000004h mov ecx,[eax+ebx-04h] mov [ecx],dx mov eax,[L0094329C+ebp*4] movzx dx,[esp+18h] mov ecx,[eax+ebx-04h] mov [ecx+02h],dx mov edx,[L0094329C+ebp*4] lea ecx,[edi+edi] mov edi,[edx+ebx-04h] mov eax,ecx add edi,00000004h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h cmp ebx,00000384h rep movsb jl L0045E0A8 jmp L0045E19E L0045E166: push 00000014h call SUB_L004D4FA9 mov ecx,[esp+24h] mov [eax],ebp and ebp,000003FFh add esp,00000004h shl esi,0Ah add ebp,esi mov [eax+04h],edi mov [eax+08h],ebx mov [eax+0Ch],ecx mov edx,[L00BE95C8+ebp*4] lea ebp,[L00BE95C8+ebp*4] mov [eax+10h],edx mov [ebp+00h],eax L0045E19E: mov eax,[esp+10h] L0045E1A2: mov ecx,[esp+1Ch] mov edx,[L00BFA5C8] inc ecx cmp ecx,edx mov [esp+1Ch],ecx jl L0045DE25 pop ebp pop ebx L0045E1BB: mov ecx,[esp+20h] pop edi pop esi mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0045E1CC: dd CASE_0045E1CC_PROC0000 dd CASE_0045E1CC_PROC0001 dd CASE_0045E1CC_PROC0002 dd CASE_0045E1CC_PROC0003 Align 8 SUB_L0045E1E0: push ebx push esi push edi push SSZ00503DA4_CDHDCache__startup____begin__ call SUB_L004C7F20 mov ecx,00011000h xor eax,eax mov edi,L00BFA5D4 xor ebx,ebx rep stosd mov ecx,00000011h mov edi,L00BE9584 rep stosd mov eax,[L00511410] add esp,00000004h cmp eax,ebx mov [L00C3E624],ebx mov [L00C3E640],ebx jz L0045E241 mov ecx,00004400h xor eax,eax mov edi,L00BE95C8 mov [L00BFA5D0],ebx rep stosd mov [L00BFA5CC],ebx mov [L00BFA5C8],ebx L0045E241: call SUB_L0043FEB0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[L00C3E620] not ecx dec ecx mov esi,ecx add esi,00000029h cmp eax,ebx jz L0045E269 push eax call SUB_L004D4F9E add esp,00000004h L0045E269: push esi call SUB_L004D4FA9 add esp,00000004h mov [L00C3E620],eax mov [eax],bl call SUB_L0043FEB0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[L00C3E620] 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_L004C7E10 test eax,eax jnz L0045E2E4 mov edi,SSZ00503D98_cache0_uo L0045E2B7: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[L00C3E620] 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 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0045E2E4: call SUB_L004C7E10 cmp eax,00000001h jnz L0045E2F5 mov edi,SSZ00503D8C_cache1_uo jmp L0045E2B7 L0045E2F5: push SSZ00503D44_CDHDCache__startup__currently_no call SUB_L004C7E80 add esp,00000004h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L0045E310: push SSZ00503E14_CDHDCache__shutdown__shutting_do call SUB_L004C7F50 mov eax,[L00C3E5D8] add esp,00000004h test eax,eax jz L0045E32F push eax call SUB_L004D4F9E add esp,00000004h L0045E32F: push esi mov esi,[L00C3E624] test esi,esi push edi jz L0045E34B mov ecx,esi call SUB_L004CC2A0 push esi call SUB_L004D4F9E add esp,00000004h L0045E34B: mov edi,L00BE9584 L0045E350: mov esi,[edi] test esi,esi jz L0045E366 mov ecx,esi call SUB_L004CBFB0 push esi call SUB_L004D4F9E add esp,00000004h L0045E366: add edi,00000004h cmp edi,L00BE95C8 jl L0045E350 mov eax,[L00511410] test eax,eax jz L0045E3C6 mov esi,L00BE95C8 L0045E37F: mov edi,00000400h L0045E384: mov eax,[esi] test eax,eax jz L0045E39E L0045E38A: mov ecx,[eax+10h] push eax mov [esi],ecx call SUB_L004D4F9E mov eax,[esi] add esp,00000004h test eax,eax jnz L0045E38A L0045E39E: add esi,00000004h dec edi jnz L0045E384 cmp esi,L00BFA5C8 jl L0045E37F mov esi,[L00BFA5D0] test esi,esi jz L0045E3C6 mov ecx,esi call SUB_L004CBFB0 push esi call SUB_L004D4F9E add esp,00000004h L0045E3C6: mov edx,[L00C3E620] push edx push SSZ00503DE4_CDHDCache__shutdown__removing_ca call SUB_L004C7F50 mov eax,[L00C3E620] push eax call SUB_L004D64E5 mov ecx,[L00C3E620] push ecx call SUB_L004D4F9E push SSZ00503DC4_CDHDCache__shutdown__shut_down_ call SUB_L004C7F50 add esp,00000014h pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045E400: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3678 push eax mov eax,00010004h mov fs:[00000000h],esp call SUB_L004D4B90 mov al,[L00C3E648] push ebp push esi push edi test al,al jnz L0045EA81 push SSZ00504248_CDHDCache__Init____begin__ mov byte ptr [L00C3E648],01h call SUB_L004C7F50 mov eax,[L00C87E70] add esp,00000004h cmp eax,00000001h jnz L0045E531 push SSZ00504218_CDHDCache__Init____CApp__hdConfi call SUB_L004C7F50 add esp,00000004h mov esi,L004ED7C4 L0045E463: mov eax,[esi] push L004FD2A8 push eax call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h test eax,eax jz L0045E48B push eax call SUB_L004D6027 add esp,00000004h jmp L0045E4AE L0045E48B: mov ecx,[esi] push ecx call SUB_L0047C110 push eax push SSZ005041EC_CDHDCache__Init____cannot_open_f call SUB_L004C7EC0 mov edx,[esi] push edx push SSZ00504110_Failed_to_open___s__from_HD_usin call SUB_L004C7E80 add esp,00000014h L0045E4AE: add esi,00000010h cmp esi,L004ED8D4 jl L0045E463 mov edi,L004ED7C4 xor esi,esi L0045E4C0: push 00000014h call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov [esp+0Ch],ebp test ebp,ebp mov dword ptr [esp+00010018h],00000000h jz L0045E4F4 mov eax,[edi] push eax call SUB_L0047C110 add esp,00000004h mov ecx,ebp push eax call SUB_L004CBF10 jmp L0045E4F6 L0045E4F4: xor eax,eax L0045E4F6: mov ecx,eax mov dword ptr [esp+00010018h],FFFFFFFFh mov [esi+L00BE9584],eax call SUB_L004CC050 mov [esi+L00BE9540],eax mov dword ptr [esi+L00C3E5DC],00000001h add edi,00000010h add esi,00000004h cmp edi,L004ED8D4 jl L0045E4C0 jmp L0045EA81 L0045E531: mov ecx,[L005073C4] push ebx mov dword ptr [L00C3E628],00000018h lea eax,[ecx+ecx*4] lea ecx,[ecx+ecx*4] lea eax,[eax+eax*4] lea ecx,[ecx+ecx*4] lea eax,[eax+eax*4] lea ecx,[ecx+ecx*4] shl ecx,05h lea eax,[eax+eax*4] mov [L00C3E634],ecx lea ecx,[ecx+ecx*2] lea eax,[eax+eax*4] shl ecx,03h lea eax,[eax+eax*4] push ecx shl eax,06h lea edx,[ecx+18h] mov [L00C3E638],eax sub eax,edx mov [L00C3E62C],edx mov [L00C3E630],eax call SUB_L004D4FA9 mov ecx,[L00C3E634] add esp,00000004h xor ebx,ebx xor edx,edx lea esi,[ecx-01h] mov [L00C3E5D8],eax test esi,esi mov [L00C3E5D4],eax jle L0045E5C8 xor esi,esi L0045E5AA: lea ecx,[esi+eax+18h] inc edx mov [esi+eax+10h],ecx mov ecx,[L00C3E634] add esi,00000018h lea eax,[ecx-01h] cmp edx,eax mov eax,[L00C3E5D8] jl L0045E5AA L0045E5C8: lea ecx,[ecx+ecx*2] mov [eax+ecx*8-08h],ebx mov edx,[L00C3E638] push edx push SSZ005040D8_CDHDCache__Init____making_a_cach call SUB_L004C7F50 mov eax,[L00C3E620] push L00500FAC push eax call SUB_L004D6014 mov esi,eax mov ecx,00004000h xor eax,eax lea edi,[esp+24h] rep stosd mov edi,[L00C3E638] add esp,00000010h cmp edi,00010000h jle L0045E637 lea ebp,[edi-01h] shr ebp,10h mov ecx,ebp neg ecx shl ecx,10h add edi,ecx L0045E61F: push esi push 00000001h lea edx,[esp+1Ch] push 00010000h push edx call SUB_L004D6274 add esp,00000010h dec ebp jnz L0045E61F L0045E637: mov ebp,00000001h push esi push ebp lea eax,[esp+1Ch] push edi push eax call SUB_L004D6274 push esi call SUB_L004D6027 push SSZ005040B0_CDHDCache__Init____creating_cach call SUB_L004C7F50 push 00000014h call SUB_L004D4FA9 add esp,0000001Ch mov [esp+10h],eax cmp eax,ebx mov [esp+0001001Ch],ebp jz L0045E689 mov ecx,[L00C3E638] mov edx,[L00C3E620] push ecx push edx mov ecx,eax call SUB_L004CC200 jmp L0045E68B L0045E689: xor eax,eax L0045E68B: or edi,FFFFFFFFh push SSZ00504088_CDHDCache__Init____opening_cache mov [esp+00010020h],edi mov [L00C3E624],eax call SUB_L004C7F50 mov ecx,[L00C3E624] add esp,00000004h call SUB_L004CC300 push SSZ00504054_CDHDCache__Init____re_interpreti mov [L00C3E640],eax call SUB_L004C7F50 mov eax,[L00C3E640] mov ecx,[L00C3E628] mov [L00C3E63C],eax add eax,ecx push SSZ0050401C_CDHDCache__Init____copying_data_ mov [L00C3E644],eax call SUB_L004C7F50 mov edx,[L00C3E63C] push L00504018 mov [edx],edi call SUB_L004C7F50 mov eax,[L00C3E63C] push L00504014 mov [eax+04h],edi call SUB_L004C7F50 mov ecx,[L00C3E63C] push L00504010 mov [ecx+08h],ebx call SUB_L004C7F50 mov edx,[L00C3E63C] push L0050400C mov [edx+0Ch],ebx call SUB_L004C7F50 mov eax,[L00C3E63C] push L00504008 mov [eax+10h],ebp call SUB_L004C7F50 mov ecx,[L00C3E634] mov edx,[L00C3E63C] dec ecx push L00504004 mov [edx+14h],ecx call SUB_L004C7F50 mov eax,[L00C3E644] mov ecx,[L00C3E630] push L00504000 mov [eax],ecx call SUB_L004C7F50 mov edx,[L00C3E644] mov eax,[L00C3E62C] push L00503FFC mov [edx+08h],eax call SUB_L004C7F50 mov ecx,[L00C3E644] push L00503FF8 mov [ecx+0Ch],edi call SUB_L004C7F50 mov edx,[L00C3E644] push SSZ00503FF0_10__ mov [edx+10h],edi call SUB_L004C7F50 mov eax,[L00C3E644] push SSZ00503FE8_11__ mov dword ptr [eax+24h],00000002h call SUB_L004C7F50 mov ecx,[L00C3E644] mov [ecx+28h],edi mov edx,[L00C3E634] push edx push SSZ00503FD0_12__numBlockHeaders__d_ call SUB_L004C7F50 mov eax,[L00C3E634] add esp,0000003Ch dec eax cmp eax,00000002h jle L0045E81B mov ecx,00000030h mov eax,ebp L0045E7F2: mov esi,[L00C3E644] lea edx,[eax+02h] mov [ecx+esi+0Ch],edx mov edx,[L00C3E644] mov [ecx+edx+10h],eax mov esi,[L00C3E634] inc eax add ecx,00000018h dec esi lea edx,[eax+01h] cmp edx,esi jl L0045E7F2 L0045E81B: push SSZ00503FC8_13__ call SUB_L004C7F50 mov eax,[L00C3E634] mov ecx,[L00C3E644] push SSZ00503FC0_14__ lea eax,[eax+eax*2] mov [ecx+eax*8-0Ch],edi call SUB_L004C7F50 mov eax,[L00C3E634] mov ecx,[L00C3E644] push SSZ00503FB8_15__ lea edx,[eax-02h] lea eax,[eax+eax*2] mov [ecx+eax*8-08h],edx call SUB_L004C7F50 push SSZ00503F84_CDHDCache__Init____building_cach call SUB_L004C7F50 mov edx,[L00C3E63C] add esp,00000010h mov edx,[edx] cmp edx,edi jz L0045E8EB L0045E879: mov eax,[L00C3E5D4] mov ecx,[eax+10h] mov [L00C3E5D4],ecx lea ecx,[edx+edx*2] mov [eax+0Ch],ebx mov esi,[L00C3E644] shl ecx,03h mov esi,[ecx+esi+04h] mov [eax],esi mov esi,[L00C3E644] mov esi,[ecx+esi+14h] mov [eax+08h],edx mov [eax+04h],esi mov edx,esi mov esi,[eax] and edx,00000FFFh shl esi,0Ch add esi,edx mov esi,[L00BFA5D4+esi*4] mov [eax+14h],ebx cmp esi,ebx mov [eax+10h],esi jz L0045E8CF mov [esi+14h],eax L0045E8CF: mov esi,[eax] shl esi,0Ch add esi,edx mov edx,[L00C3E644] mov [L00BFA5D4+esi*4],eax mov edx,[ecx+edx+0Ch] cmp edx,edi jnz L0045E879 L0045E8EB: push SSZ00503F54_CDHDCache__Init____memory_mappin call SUB_L004C7F50 add esp,00000004h xor edi,edi mov esi,L004ED7C4 jmp L0045E906 L0045E901: mov ebp,00000001h L0045E906: mov eax,[esi] push eax call SUB_L0047C110 push eax push SSZ00503F1C_CDHDCache__Init____trying_to_ope call SUB_L004C7F50 mov ecx,[esi] add esp,0000000Ch push L004FD2A8 push ecx call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L0045E9A8 push eax call SUB_L004D6027 push 00000014h mov [L00C3E5DC+edi*4],ebp call SUB_L004D4FA9 mov ebp,eax add esp,00000008h mov [esp+10h],ebp cmp ebp,ebx mov dword ptr [esp+0001001Ch],00000002h jz L0045E98F mov edx,[esi] push edx call SUB_L0047C110 add esp,00000004h mov ecx,ebp push eax call SUB_L004CBF10 mov dword ptr [esp+0001001Ch],FFFFFFFFh mov [L00BE9584+edi*4],eax jmp L0045EA5D L0045E98F: xor eax,eax mov dword ptr [esp+0001001Ch],FFFFFFFFh mov [L00BE9584+edi*4],eax jmp L0045EA5D L0045E9A8: mov eax,[esi] push eax call SUB_L0047C240 push eax push SSZ00503F1C_CDHDCache__Init____trying_to_ope call SUB_L004C7F50 mov ecx,[esi] add esp,0000000Ch push L004FD2A8 push ecx call SUB_L0047C240 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L0045EA2E push eax call SUB_L004D6027 push 00000014h mov [L00C3E5DC+edi*4],ebx call SUB_L004D4FA9 mov ebp,eax add esp,00000008h mov [esp+10h],ebp cmp ebp,ebx mov dword ptr [esp+0001001Ch],00000003h jz L0045E98F mov edx,[esi] push edx call SUB_L0047C240 add esp,00000004h mov ecx,ebp push eax call SUB_L004CBF10 mov dword ptr [esp+0001001Ch],FFFFFFFFh mov [L00BE9584+edi*4],eax jmp L0045EA5D L0045EA2E: cmp esi,L004ED7C4 jle L0045EA4D mov ebp,L00BE9584 mov ebx,edi L0045EA3D: mov ecx,[ebp+00h] call SUB_L004CC010 add ebp,00000004h dec ebx jnz L0045EA3D xor ebx,ebx L0045EA4D: mov eax,[esi] push eax push SSZ00503E3C_CDHDCache__Init____cannot_open_f call SUB_L004C7E80 add esp,00000008h L0045EA5D: mov ecx,[L00BE9584+edi*4] call SUB_L004CC050 mov [L00BE9540+edi*4],eax add esi,00000010h inc edi cmp esi,L004ED8D4 jl L0045E901 pop ebx L0045EA81: mov ecx,[esp+00010010h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00010010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0045EAA0: mov ecx,[esp+04h] push esi push edi mov eax,[L00C3E5DC+ecx*4] test eax,eax jnz L0045EBAC mov esi,[esp+10h] mov edi,ecx mov eax,esi shl edi,04h cdq idiv [edi+L004ED7BC] shl ecx,0Ch sub esi,edx mov eax,esi and eax,00000FFFh add eax,ecx mov eax,[L00BFA5D4+eax*4] test eax,eax jz L0045EBAC L0045EAE4: cmp [eax+04h],esi jz L0045EAF3 mov eax,[eax+10h] test eax,eax jnz L0045EAE4 pop edi pop esi retn ;------------------------------------------------------------------------------ L0045EAF3: test eax,eax jz L0045EBAC mov edi,[eax+08h] mov esi,[L00C3E644] lea ecx,[edi+edi*2] shl ecx,03h mov edx,[ecx+esi+10h] cmp edx,FFFFFFFFh jz L0045EB22 push ebx mov ebx,[ecx+esi+0Ch] lea edx,[edx+edx*2] mov [esi+edx*8+0Ch],ebx pop ebx jmp L0045EB2E L0045EB22: mov edx,[ecx+esi+0Ch] mov esi,[L00C3E63C] mov [esi],edx L0045EB2E: mov esi,[L00C3E644] mov edx,[ecx+esi+0Ch] cmp edx,FFFFFFFFh jz L0045EB4A mov ecx,[ecx+esi+10h] lea edx,[edx+edx*2] mov [esi+edx*8+10h],ecx jmp L0045EB57 L0045EB4A: mov edx,[ecx+esi+10h] mov ecx,[L00C3E63C] mov [ecx+04h],edx L0045EB57: mov edx,[eax+04h] mov ecx,[eax+10h] and edx,00000FFFh test ecx,ecx mov [eax+04h],edx jz L0045EB72 mov edx,ecx mov ecx,[eax+14h] mov [edx+14h],ecx L0045EB72: mov ecx,[eax+14h] test ecx,ecx jz L0045EB81 mov edx,[eax+10h] mov [ecx+10h],edx jmp L0045EB95 L0045EB81: mov ecx,[eax] mov edx,[eax+04h] shl ecx,0Ch add ecx,edx mov edx,[eax+10h] mov [L00BFA5D4+ecx*4],edx L0045EB95: mov ecx,[L00C3E5D4] push edi mov [eax+10h],ecx mov [L00C3E5D4],eax call SUB_L0045F700 add esp,00000004h L0045EBAC: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045EBB0: push ebx mov ebx,[esp+0Ch] push ebp mov ebp,[esp+14h] push edi push ebp push ebx call SUB_L0045EAA0 mov edi,[esp+18h] add esp,00000008h mov eax,[L00C3E5DC+edi*4] test eax,eax jz L0045EDFA mov eax,[L00C3E5DC+ebx*4] test eax,eax jz L0045EDFA push esi push ebp push edi call SUB_L0045EAA0 mov ecx,[L00BE9584+edi*4] add esp,00000008h call SUB_L004CC010 shl edi,04h push L00504264 mov eax,[edi+L004ED7C4] push eax call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 mov esi,eax add esp,00000008h test esi,esi jnz L0045EC38 mov ecx,[edi+L004ED7C4] push ecx push SSZ00504268_CDHDCache__AddVersionedItem__fai call SUB_L004C7E80 add esp,00000008h L0045EC38: mov edx,[edi+L004ED7C0] push 00000000h imul edx,ebp push edx push esi call SUB_L004D60A4 push esi push 00000001h lea eax,[esp+30h] push 00000004h push eax call SUB_L004D615D push esi push 00000001h lea ecx,[esp+3Ch] push 00000004h push ecx call SUB_L004D615D mov eax,[esp+44h] xor ebp,ebp add esp,0000002Ch cmp eax,ebp jge L0045EC79 mov [esp+18h],ebp L0045EC79: push 00000001h push FFFFFFF8h push esi call SUB_L004D60A4 mov eax,[esp+34h] mov ecx,[esp+24h] add esp,0000000Ch cmp ecx,eax jl L0045ED3B cmp eax,ebp jg L0045ECA6 mov dword ptr [esp+1Ch],FFFFFFFFh mov [esp+28h],ebp L0045ECA6: push esi push 00000001h lea edx,[esp+24h] push 00000004h push edx call SUB_L004D6274 push esi push 00000001h lea eax,[esp+40h] push 00000004h push eax call SUB_L004D6274 push esi push 00000001h lea ecx,[esp+48h] push 00000004h push ecx call SUB_L004D6274 mov eax,[esp+58h] add esp,00000030h cmp eax,ebp jz L0045EDD9 mov ecx,[L00BE9584+ebx*4] call SUB_L004CC010 mov edx,ebx push L00504264 shl edx,04h mov eax,[edx+L004ED7C4] push eax call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 mov ecx,[esp+24h] mov edi,eax push ebp push ecx push edi call SUB_L004D60A4 mov edx,[esp+3Ch] mov eax,[esp+38h] push edi push 00000001h push edx push eax call SUB_L004D6274 push edi call SUB_L004D6027 add esp,00000028h jmp L0045EDC6 L0045ED3B: mov ecx,[L00BE9584+ebx*4] call SUB_L004CC010 mov ecx,ebx push L00504264 shl ecx,04h mov edx,[ecx+L004ED7C4] push edx call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 mov edi,eax push 00000002h push ebp push edi call SUB_L004D60A4 push edi call SUB_L004D5759 mov [esp+34h],eax push esi push 00000001h lea eax,[esp+3Ch] push 00000004h push eax call SUB_L004D6274 push esi push 00000001h lea ecx,[esp+58h] push 00000004h push ecx call SUB_L004D6274 push esi push 00000001h lea edx,[esp+60h] push 00000004h push edx call SUB_L004D6274 mov eax,[esp+70h] mov ecx,[esp+6Ch] add esp,00000048h push edi push 00000001h push eax push ecx call SUB_L004D6274 push edi call SUB_L004D6027 add esp,00000014h L0045EDC6: mov ecx,[L00BE9584+ebx*4] call SUB_L004CC050 mov [L00BE9540+ebx*4],eax L0045EDD9: push esi call SUB_L004D6027 mov esi,[esp+18h] add esp,00000004h mov ecx,[L00BE9584+esi*4] call SUB_L004CC050 mov [L00BE9540+esi*4],eax pop esi L0045EDFA: pop edi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045EE00: mov eax,[L00511410] mov ecx,[esp+04h] push esi push edi mov edi,[esp+10h] test eax,eax jz L0045EE38 mov eax,ecx mov edx,edi shl eax,0Ah and edx,000003FFh add eax,edx mov eax,[L00BE95C8+eax*4] test eax,eax jz L0045EE38 L0045EE2D: cmp [eax],edi jz L0045EE5D mov eax,[eax+10h] test eax,eax jnz L0045EE2D L0045EE38: mov eax,[L00C3E5DC+ecx*4] test eax,eax jz L0045EE77 mov eax,ecx mov edx,[L00BE9540+ecx*4] shl eax,04h mov eax,[eax+L004ED7C0] imul eax,edi pop edi add eax,edx pop esi retn ;------------------------------------------------------------------------------ L0045EE5D: mov ecx,[eax+08h] test ecx,ecx jz L0045EE72 mov eax,[eax+04h] mov ecx,[L00BFA5CC] pop edi add eax,ecx pop esi retn ;------------------------------------------------------------------------------ L0045EE72: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0045EE77: mov esi,ecx mov eax,edi shl esi,04h cdq idiv [esi+L004ED7BC] mov eax,edi mov esi,ecx shl esi,0Ch sub eax,edx mov edx,eax and edx,00000FFFh add edx,esi mov esi,[L00BFA5D4+edx*4] test esi,esi jz L0045EEAF L0045EEA3: cmp [esi+04h],eax jz L0045EEBC mov esi,[esi+10h] test esi,esi jnz L0045EEA3 L0045EEAF: push edi push ecx call SUB_L0045F1D0 add esp,00000008h pop edi pop esi retn ;------------------------------------------------------------------------------ L0045EEBC: mov eax,[esi+0Ch] test eax,eax jnz L0045EECF mov eax,[esi+08h] push eax call SUB_L0045F9A0 add esp,00000004h L0045EECF: mov eax,[esi+04h] cmp eax,edi jnz L0045EEF1 mov esi,[esi+08h] mov edx,[L00C3E644] pop edi lea ecx,[esi+esi*2] pop esi mov eax,[edx+ecx*8+08h] mov ecx,[L00C3E640] add eax,ecx retn ;------------------------------------------------------------------------------ L0045EEF1: mov ecx,[esi] mov esi,[esi+08h] shl ecx,04h sub edi,eax lea edx,[esi+esi*2] mov eax,[ecx+L004ED7C0] mov ecx,[L00C3E644] imul eax,edi mov esi,[ecx+edx*8+08h] mov ecx,[L00C3E640] add eax,esi pop edi add eax,ecx pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045EF20: mov al,[L00C88306] push ebx push esi push edi test al,al jz L0045EF49 push SSZ00504488_CDHDCache__GetCacheItem___shutdo call SUB_L004C7EC0 mov eax,[esp+20h] add esp,00000004h pop edi mov dword ptr [eax],00000000h pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L0045EF49: mov eax,[L00511410] mov edi,[esp+18h] mov ebx,[esp+14h] test eax,eax jz L0045EF7F mov ecx,ebx mov edx,edi shl ecx,0Ah and edx,000003FFh add ecx,edx mov eax,[L00BE95C8+ecx*4] test eax,eax jz L0045EF7F L0045EF74: cmp [eax],edi jz L0045EFCD mov eax,[eax+10h] test eax,eax jnz L0045EF74 L0045EF7F: mov ecx,[esp+10h] mov eax,[L00C3E5DC+ecx*4] test eax,eax jz L0045F02A mov eax,[L00C3E5DC+ebx*4] test eax,eax jz L0045F02A mov eax,ecx mov edx,[L00BE9540+ecx*4] shl eax,04h mov eax,[eax+L004ED7C0] imul eax,edi add eax,edx jnz L0045EFF9 push SSZ0050443C_CDHDCache__GetCacheItem_1___code call SUB_L004C7EF0 add esp,00000004h xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0045EFCD: mov edx,[esp+1Ch] mov ecx,[eax+08h] mov [edx],ecx mov edx,[esp+20h] mov ecx,[eax+0Ch] mov [edx],ecx mov ecx,[eax+08h] test ecx,ecx jz L0045F06D mov eax,[eax+04h] mov ecx,[L00BFA5CC] pop edi pop esi add eax,ecx pop ebx retn ;------------------------------------------------------------------------------ L0045EFF9: mov edx,[esp+1Ch] mov esi,[eax+04h] mov ecx,[eax] mov [edx],esi mov esi,[esp+20h] mov eax,[eax+08h] test ecx,ecx mov [esi],eax jge L0045F01D pop edi pop esi mov dword ptr [edx],00000000h xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L0045F01D: mov eax,[L00BE9540+ebx*4] pop edi pop esi add eax,ecx pop ebx retn ;------------------------------------------------------------------------------ L0045F02A: push edi push ecx call SUB_L0045EE00 add esp,00000008h test eax,eax jnz L0045F04B push SSZ005043F0_CDHDCache__GetCacheItem_2___code call SUB_L004C7EF0 add esp,00000004h xor eax,eax pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0045F04B: mov ecx,[esp+1Ch] mov esi,[eax+04h] mov edx,[eax] mov [ecx],esi mov esi,[esp+20h] mov eax,[eax+08h] mov [esp+18h],edx test edx,edx mov [esi],eax jge L0045F073 mov dword ptr [ecx],00000000h L0045F06D: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L0045F073: mov eax,[L00C3E5DC+ebx*4] mov ecx,[ecx] test eax,eax mov [esp+1Ch],ecx jz L0045F091 mov eax,[L00BE9540+ebx*4] pop edi pop esi add eax,edx pop ebx retn ;------------------------------------------------------------------------------ L0045F091: mov edx,ebx mov eax,edi shl edx,0Ch and eax,00000FFFh add edx,eax mov esi,[L00BFA5D4+edx*4] test esi,esi jz L0045F0BA L0045F0AA: cmp [esi+04h],edi jz L0045F15E mov esi,[esi+10h] test esi,esi jnz L0045F0AA L0045F0BA: push ebp push ecx push edi push ebx call SUB_L0045F390 mov edx,[L00C3E644] mov ebp,eax mov eax,[L00C3E640] mov ecx,[esp+28h] lea esi,[ebp+ebp*2+00h] add esp,0000000Ch shl esi,03h mov edi,[esi+edx+08h] add edi,eax mov eax,[esp+20h] push edi push eax push ecx mov ecx,[L00BE9584+ebx*4] call SUB_L004CC1D0 mov eax,[L00C3E5D4] xor ebx,ebx mov edx,[eax+10h] mov [L00C3E5D4],edx mov [eax+0Ch],ebx mov ecx,[L00C3E644] mov edx,[esi+ecx+04h] mov [eax],edx mov ecx,[L00C3E644] mov edx,[esi+ecx+14h] mov [eax+08h],ebp mov [eax+04h],edx mov ecx,edx mov edx,[eax] and ecx,00000FFFh shl edx,0Ch add edx,ecx pop ebp mov edx,[L00BFA5D4+edx*4] mov [eax+14h],ebx cmp edx,ebx mov [eax+10h],edx jz L0045F14A mov [edx+14h],eax L0045F14A: mov edx,[eax] shl edx,0Ch add edx,ecx mov [L00BFA5D4+edx*4],eax mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L0045F15E: mov eax,[esi+0Ch] test eax,eax jnz L0045F171 mov ecx,[esi+08h] push ecx call SUB_L0045F9A0 add esp,00000004h L0045F171: mov eax,[esi+04h] cmp eax,edi jnz L0045F193 mov esi,[esi+08h] mov eax,[L00C3E644] mov ecx,[L00C3E640] pop edi lea edx,[esi+esi*2] pop esi pop ebx mov eax,[eax+edx*8+08h] add eax,ecx retn ;------------------------------------------------------------------------------ L0045F193: mov ecx,[esi] mov esi,[esi+08h] shl ecx,04h sub edi,eax lea edx,[esi+esi*2] mov eax,[ecx+L004ED7C0] mov ecx,[L00C3E644] imul eax,edi mov esi,[ecx+edx*8+08h] mov ecx,[L00C3E640] add eax,esi pop edi pop esi add eax,ecx pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045F1D0: mov eax,[L00C3E640] sub esp,00000008h test eax,eax push ebx push ebp push esi push edi jnz L0045F1F7 push SSZ0050450C_CDHDCache__CacheIn__code_would_h call SUB_L004C7EF0 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0045F1F7: mov edi,[esp+1Ch] mov esi,[esp+20h] mov eax,edi shl eax,04h mov ecx,[eax+L004ED7BC] mov ebx,[eax+L004ED7C0] cmp ecx,00000001h jle L0045F21F mov eax,esi cdq idiv ecx sub esi,edx cmp ecx,00000001h L0045F21F: jnz L0045F2CE push ebx push esi push edi call SUB_L0045F390 imul esi,ebx lea ebp,[eax+eax*2] mov [esp+1Ch],eax mov eax,[L00C3E644] mov ecx,[esp+28h] shl ebp,03h mov ecx,[L00BE9584+ecx*4] add esp,0000000Ch mov edi,[eax+ebp+08h] mov eax,[L00C3E640] add edi,eax push edi push ebx push esi call SUB_L004CC1D0 mov eax,[L00C3E5D4] xor esi,esi mov edx,[eax+10h] mov [L00C3E5D4],edx mov [eax+0Ch],esi mov ecx,[L00C3E644] mov edx,[ecx+ebp+04h] mov [eax],edx mov ecx,[L00C3E644] mov edx,[ecx+ebp+14h] mov ecx,[esp+10h] 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,[L00BFA5D4+edx*4] mov [eax+14h],esi cmp edx,esi mov [eax+10h],edx jz L0045F2B6 mov [edx+14h],eax L0045F2B6: mov edx,[eax] shl edx,0Ch add edx,ecx mov [L00BFA5D4+edx*4],eax mov eax,edi pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0045F2CE: mov ebp,ebx imul ebp,ecx push ebp push esi push edi call SUB_L0045F390 mov edx,[L00C3E640] mov ecx,esi lea edi,[eax+eax*2] imul ecx,ebx mov [esp+1Ch],eax mov eax,[L00C3E644] shl edi,03h add esp,0000000Ch mov eax,[edi+eax+08h] add eax,edx mov edx,[esp+1Ch] push eax push ebp push ecx mov ecx,[L00BE9584+edx*4] mov [esp+20h],eax call SUB_L004CC1D0 mov eax,[L00C3E5D4] xor ebp,ebp mov ecx,[eax+10h] mov [L00C3E5D4],ecx mov [eax+0Ch],ebp mov edx,[L00C3E644] mov ecx,[edi+edx+04h] mov [eax],ecx mov edx,[L00C3E644] mov ecx,[edi+edx+14h] mov edx,[esp+10h] mov [eax+08h],edx mov edx,[eax] mov [eax+04h],ecx and ecx,00000FFFh shl edx,0Ch add edx,ecx mov edx,[L00BFA5D4+edx*4] mov [eax+14h],ebp cmp edx,ebp mov [eax+10h],edx jz L0045F369 mov [edx+14h],eax L0045F369: mov edx,[eax] pop edi shl edx,0Ch add edx,ecx mov ecx,[esp+10h] mov [L00BFA5D4+edx*4],eax mov eax,[esp+1Ch] sub eax,esi pop esi imul eax,ebx pop ebp add eax,ecx pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045F390: push edi mov edi,[L00C3E63C] test edi,edi jnz L0045F3AC push SSZ005045C8_CDHDCache__GetCacheSpace__code_w call SUB_L004C7EF0 add esp,00000004h xor eax,eax pop edi retn ;------------------------------------------------------------------------------ L0045F3AC: mov eax,[edi+08h] mov ecx,[L00C3E644] push ebx mov ebx,[esp+14h] push ebp or ebp,FFFFFFFFh cmp eax,ebp push esi jz L0045F3E1 L0045F3C3: lea edx,[eax+eax*2] mov esi,[ecx+edx*8] lea edx,[ecx+edx*8] cmp esi,ebx jge L0045F3D9 mov eax,[edx+0Ch] cmp eax,ebp jnz L0045F3C3 jmp L0045F3E1 L0045F3D9: cmp eax,ebp jnz L0045F4E4 L0045F3E1: cmp [edi+04h],ebp jnz L0045F406 push 00000001h push SSZ005045B8_Caching_Error push SSZ00504550_Cache_is_entirely_filled_with_ve call SUB_L004D1020 mov edi,[L00C3E63C] mov ecx,[L00C3E644] add esp,0000000Ch L0045F406: mov ebx,[edi+04h] lea edx,[ebx+ebx*2] shl edx,03h mov esi,[edx+ecx+14h] mov eax,[edx+ecx+04h] mov ebp,esi shl eax,0Ch and ebp,00000FFFh add eax,ebp mov eax,[L00BFA5D4+eax*4] test eax,eax jz L0045F493 L0045F42F: cmp [eax+04h],esi jz L0045F43D mov eax,[eax+10h] test eax,eax jnz L0045F42F jmp L0045F493 L0045F43D: mov esi,[eax+04h] mov ecx,[eax+10h] and esi,00000FFFh test ecx,ecx mov [eax+04h],esi jz L0045F456 mov esi,[eax+14h] mov [ecx+14h],esi L0045F456: mov ecx,[eax+14h] test ecx,ecx jz L0045F465 mov esi,[eax+10h] mov [ecx+10h],esi jmp L0045F479 L0045F465: mov ecx,[eax] mov esi,[eax+04h] shl ecx,0Ch add ecx,esi mov esi,[eax+10h] mov [L00BFA5D4+ecx*4],esi L0045F479: mov ecx,[L00C3E5D4] mov [eax+10h],ecx mov edi,[L00C3E63C] mov ecx,[L00C3E644] mov [L00C3E5D4],eax L0045F493: mov eax,[edx+ecx+10h] or ebp,FFFFFFFFh cmp eax,ebp jz L0045F4AB mov esi,[edx+ecx+0Ch] lea eax,[eax+eax*2] mov [ecx+eax*8+0Ch],esi jmp L0045F4AD L0045F4AB: mov [edi],ebp L0045F4AD: mov ecx,[L00C3E644] mov eax,[L00C3E63C] push ebx mov edx,[edx+ecx+10h] mov [eax+04h],edx call SUB_L0045F700 mov ecx,[L00C3E644] mov ebx,[esp+20h] mov edi,[L00C3E63C] lea edx,[eax+eax*2] add esp,00000004h cmp [ecx+edx*8],ebx jl L0045F3E1 L0045F4E4: cmp [edi+10h],ebp jnz L0045F5E4 cmp [edi+04h],ebp jnz L0045F512 push 00000001h push SSZ005045B8_Caching_Error push SSZ00504550_Cache_is_entirely_filled_with_ve call SUB_L004D1020 mov edi,[L00C3E63C] mov ecx,[L00C3E644] add esp,0000000Ch L0045F512: mov ebx,[edi+04h] lea edx,[ebx+ebx*2] shl edx,03h mov esi,[edx+ecx+14h] mov eax,[edx+ecx+04h] mov ebp,esi shl eax,0Ch and ebp,00000FFFh add eax,ebp mov eax,[L00BFA5D4+eax*4] test eax,eax jz L0045F59F L0045F53B: cmp [eax+04h],esi jz L0045F549 mov eax,[eax+10h] test eax,eax jnz L0045F53B jmp L0045F59F L0045F549: mov esi,[eax+04h] mov ecx,[eax+10h] and esi,00000FFFh test ecx,ecx mov [eax+04h],esi jz L0045F562 mov esi,[eax+14h] mov [ecx+14h],esi L0045F562: mov ecx,[eax+14h] test ecx,ecx jz L0045F571 mov esi,[eax+10h] mov [ecx+10h],esi jmp L0045F585 L0045F571: mov ecx,[eax] mov esi,[eax+04h] shl ecx,0Ch add ecx,esi mov esi,[eax+10h] mov [L00BFA5D4+ecx*4],esi L0045F585: mov ecx,[L00C3E5D4] mov [eax+10h],ecx mov edi,[L00C3E63C] mov ecx,[L00C3E644] mov [L00C3E5D4],eax L0045F59F: mov eax,[edx+ecx+10h] or ebp,FFFFFFFFh cmp eax,ebp jz L0045F5B7 mov esi,[edx+ecx+0Ch] lea eax,[eax+eax*2] mov [ecx+eax*8+0Ch],esi jmp L0045F5B9 L0045F5B7: mov [edi],ebp L0045F5B9: mov ecx,[L00C3E644] mov eax,[L00C3E63C] push ebx mov edx,[edx+ecx+10h] mov [eax+04h],edx call SUB_L0045F700 mov edi,[L00C3E63C] mov ecx,[L00C3E644] mov ebx,[esp+20h] add esp,00000004h L0045F5E4: lea edx,[eax+eax*2] shl edx,03h cmp [edx+ecx],ebx jnz L0045F635 mov esi,[edx+ecx+0Ch] cmp esi,ebp jz L0045F604 mov edi,[edx+ecx+10h] lea esi,[esi+esi*2] mov [ecx+esi*8+10h],edi jmp L0045F60B L0045F604: mov ecx,[edx+ecx+10h] mov [edi+0Ch],ecx L0045F60B: mov esi,[L00C3E644] mov ecx,[edx+esi+10h] cmp ecx,ebp jz L0045F626 mov edx,[edx+esi+0Ch] lea ecx,[ecx+ecx*2] mov [esi+ecx*8+0Ch],edx jmp L0045F689 L0045F626: mov ecx,[edx+esi+0Ch] mov edx,[L00C3E63C] mov [edx+08h],ecx jmp L0045F689 L0045F635: mov eax,[edi+10h] lea esi,[eax+eax*2] shl esi,03h mov ecx,[esi+ecx+0Ch] mov [edi+10h],ecx mov edi,[L00C3E63C] mov ecx,[edi+10h] cmp ecx,ebp jz L0045F661 mov edi,[L00C3E644] lea ecx,[ecx+ecx*2] mov [edi+ecx*8+10h],ebp jmp L0045F664 L0045F661: mov [edi+14h],ebp L0045F664: mov ecx,[L00C3E644] mov [esi+ecx],ebx mov ecx,[L00C3E644] mov edi,[edx+ecx+08h] sub edi,ebx add edi,[edx+ecx] mov [esi+ecx+08h],edi mov ecx,[L00C3E644] sub [edx+ecx],ebx L0045F689: mov edx,[L00C3E644] lea ecx,[eax+eax*2] shl ecx,03h mov [ecx+edx+10h],ebp mov edx,[L00C3E63C] mov esi,[L00C3E644] mov edx,[edx] mov [ecx+esi+0Ch],edx mov esi,[L00C3E63C] mov edx,[esi] cmp edx,ebp jz L0045F6C6 mov esi,[L00C3E644] lea edx,[edx+edx*2] mov [esi+edx*8+10h],eax jmp L0045F6C9 L0045F6C6: mov [esi+04h],eax L0045F6C9: mov edx,[L00C3E63C] mov esi,[esp+14h] mov [edx],eax mov edx,[L00C3E644] mov [ecx+edx+04h],esi mov esi,[L00C3E644] mov edx,[esp+18h] mov [ecx+esi+14h],edx pop esi pop ebp pop ebx pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045F700: sub esp,0000000Ch mov edx,[esp+10h] mov ecx,[L00C3E644] push ebx mov ebx,[L00C3E63C] push ebp push esi mov esi,[ebx+08h] push edi cmp esi,FFFFFFFFh jz L0045F746 lea eax,[edx+edx*2] mov edi,[ecx+eax*8+08h] L0045F726: lea eax,[esi+esi*2] mov ebp,[ecx+eax*8+08h] lea eax,[ecx+eax*8] cmp ebp,edi jg L0045F741 mov esi,[eax+0Ch] cmp esi,FFFFFFFFh jnz L0045F726 mov ebx,[ebx+0Ch] jmp L0045F752 L0045F741: cmp esi,FFFFFFFFh jnz L0045F74B L0045F746: mov ebx,[ebx+0Ch] jmp L0045F752 L0045F74B: lea eax,[esi+esi*2] mov ebx,[ecx+eax*8+10h] L0045F752: cmp esi,FFFFFFFFh mov [esp+20h],edx jnz L0045F7B6 cmp ebx,esi jz L0045F932 lea eax,[ebx+ebx*2] mov edi,[ecx+eax*8] lea ebp,[ecx+eax*8] mov [esp+10h],ebp lea eax,[edx+edx*2] mov ebp,[ebp+08h] shl eax,03h add ebp,edi cmp ebp,[eax+ecx+08h] jnz L0045F932 mov ebp,[eax+ecx] mov ecx,[esp+10h] add edi,ebp mov [esp+20h],ebx mov [ecx],edi mov ecx,[L00C3E63C] mov esi,[L00C3E644] mov ecx,[ecx+10h] mov [eax+esi+0Ch],ecx mov esi,[L00C3E644] or ecx,FFFFFFFFh mov [eax+esi+10h],ecx jmp L0045F814 L0045F7B6: cmp ebx,FFFFFFFFh jnz L0045F839 lea edi,[edx+edx*2] lea eax,[esi+esi*2] shl edi,03h shl eax,03h mov ebp,[edi+ecx+08h] add ebp,[edi+ecx] cmp ebp,[eax+ecx+08h] jnz L0045F932 mov ebx,[edi+ecx+08h] mov [esp+20h],esi mov [eax+ecx+08h],ebx mov ecx,[L00C3E644] mov ebx,[edi+ecx] mov ebp,[eax+ecx] add ebp,ebx mov [eax+ecx],ebp mov ecx,[L00C3E63C] mov eax,[ecx+10h] mov ecx,[L00C3E644] mov [edi+ecx+0Ch],eax mov eax,[L00C3E644] or ecx,FFFFFFFFh mov [edi+eax+10h],ecx L0045F814: mov eax,[L00C3E63C] mov [eax+10h],edx mov eax,[L00C3E63C] cmp [eax+14h],ecx jnz L0045F988 pop edi pop esi mov [eax+14h],edx mov eax,[esp+18h] pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045F839: lea edi,[ebx+ebx*2] lea eax,[edx+edx*2] shl edi,03h shl eax,03h mov ebp,[edi+ecx] mov [esp+10h],eax mov eax,[edi+ecx+08h] mov [esp+18h],ebp add eax,ebp mov ebp,eax mov eax,[esp+10h] cmp ebp,[eax+ecx+08h] jnz L0045F932 mov ebp,[esp+18h] mov [esp+20h],ebx add ebp,[eax+ecx] mov [edi+ecx],ebp mov ecx,[L00C3E63C] mov ebp,[L00C3E644] mov ecx,[ecx+10h] mov [eax+ebp+0Ch],ecx mov ebp,[L00C3E644] or ecx,FFFFFFFFh mov [eax+ebp+10h],ecx mov eax,[L00C3E63C] mov [eax+10h],edx mov eax,[L00C3E63C] cmp [eax+14h],ecx jnz L0045F8A9 mov [eax+14h],edx L0045F8A9: mov edx,[L00C3E644] lea eax,[esi+esi*2] shl eax,03h mov ecx,[edi+edx] mov ebp,[edi+edx+08h] add ebp,ecx cmp ebp,[eax+edx+08h] jnz L0045F988 add ecx,[eax+edx] mov [edi+edx],ecx mov ecx,[L00C3E644] mov edx,[eax+ecx+0Ch] mov [edi+ecx+0Ch],edx mov edx,[L00C3E644] or edi,FFFFFFFFh mov ecx,[eax+edx+0Ch] cmp ecx,edi jz L0045F8FA lea ecx,[ecx+ecx*2] mov [edx+ecx*8+10h],ebx mov edx,[L00C3E644] L0045F8FA: mov ecx,[L00C3E63C] mov ecx,[ecx+10h] mov [eax+edx+0Ch],ecx mov edx,[L00C3E644] mov [eax+edx+10h],edi mov eax,[L00C3E63C] mov [eax+10h],esi mov eax,[L00C3E63C] cmp [eax+14h],edi jnz L0045F988 mov [eax+14h],esi mov eax,[esp+20h] pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045F932: lea eax,[edx+edx*2] shl eax,03h cmp ebx,FFFFFFFFh mov [eax+ecx+10h],ebx mov ecx,[L00C3E644] mov [eax+ecx+0Ch],esi jz L0045F95A mov ecx,[L00C3E644] lea eax,[ebx+ebx*2] mov [ecx+eax*8+0Ch],edx jmp L0045F962 L0045F95A: mov eax,[L00C3E63C] mov [eax+08h],edx L0045F962: cmp esi,FFFFFFFFh jz L0045F97F mov eax,[L00C3E644] lea ecx,[esi+esi*2] pop edi pop esi mov [eax+ecx*8+10h],edx mov eax,[esp+18h] pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0045F97F: mov ecx,[L00C3E63C] mov [ecx+0Ch],edx L0045F988: mov eax,[esp+20h] pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045F9A0: push esi mov esi,[esp+08h] push edi mov edi,[L00C3E63C] cmp [edi],esi jz L0045FA42 mov edx,[L00C3E644] lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+edx+0Ch] cmp ecx,FFFFFFFFh jz L0045F9D6 mov edi,[eax+edx+10h] lea ecx,[ecx+ecx*2] mov [edx+ecx*8+10h],edi jmp L0045F9DD L0045F9D6: mov edx,[eax+edx+10h] mov [edi+04h],edx L0045F9DD: mov ecx,[L00C3E644] mov edx,[eax+ecx+10h] mov edi,[eax+ecx+0Ch] lea edx,[edx+edx*2] mov [ecx+edx*8+0Ch],edi mov ecx,[L00C3E63C] mov edx,[ecx] mov ecx,[L00C3E644] mov [eax+ecx+0Ch],edx mov edx,[L00C3E644] mov dword ptr [eax+edx+10h],FFFFFFFFh mov ecx,[L00C3E63C] mov eax,[ecx] cmp eax,FFFFFFFFh jz L0045FA37 mov ecx,[L00C3E644] lea eax,[eax+eax*2] pop edi mov [ecx+eax*8+10h],esi mov edx,[L00C3E63C] mov [edx],esi pop esi retn ;------------------------------------------------------------------------------ L0045FA37: mov [ecx+04h],esi mov edx,[L00C3E63C] mov [edx],esi L0045FA42: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0045FA50: mov al,[L00C3E64C] test al,al jnz L0045FA85 call SUB_L0046DCE0 push SSZ00504628_english call SUB_L0046E3C0 push eax call SUB_L004D7A00 add esp,00000008h test eax,eax mov al,[L00C3E64D] jnz L0045FA8D test al,al jnz L0045FA85 mov byte ptr [L00504614],00h L0045FA85: mov byte ptr [L00C3E64C],01h retn ;------------------------------------------------------------------------------ L0045FA8D: test al,al jnz L0045FA85 mov al,01h mov [L00504614],al mov [L00C3E64C],al retn ;------------------------------------------------------------------------------ Align 4 SUB_L0045FAA0: push FFFFFFFFh push L004E36DA mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 mov eax,[esp+40h] mov ecx,[esp+38h] mov edx,[esp+3Ch] mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+44h] xor ebx,ebx push 000000C8h mov [esp+34h],ebx mov dword ptr [esi],L004ED8C8 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],bl mov [esi+24h],eax mov [esi+30h],ecx mov [esi+34h],edx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],01h jz L0045FB58 mov ecx,[L00C3E658] push ecx push ebx push 00000001h push ebx push 00000001h push esi mov ecx,eax call SUB_L004356E0 jmp L0045FB5A L0045FB58: xor eax,eax L0045FB5A: push 000000B0h mov [esp+34h],bl mov [esi+0000009Ch],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],02h jz L0045FB88 push esi mov ecx,eax call SUB_L00435210 jmp L0045FB8A L0045FB88: xor eax,eax L0045FB8A: push 0000009Ch mov [esp+34h],bl mov [esi+000000A0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],03h jz L0045FBB8 push esi mov ecx,eax call SUB_L00434820 jmp L0045FBBA L0045FBB8: xor eax,eax L0045FBBA: push 0000009Ch mov [esp+34h],bl mov [esi+000000A4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],04h jz L0045FBE8 push esi mov ecx,eax call SUB_L00434820 jmp L0045FBEA L0045FBE8: xor eax,eax L0045FBEA: push 0000009Ch mov [esp+34h],bl mov [esi+000000A8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],05h jz L0045FC18 push esi mov ecx,eax call SUB_L00434820 jmp L0045FC1A L0045FC18: xor eax,eax L0045FC1A: push 0000009Ch mov [esp+34h],bl mov [esi+000000ACh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],06h jz L0045FC48 push esi mov ecx,eax call SUB_L00434820 jmp L0045FC4A L0045FC48: xor eax,eax L0045FC4A: push ebx mov [esi+000000B0h],eax mov edx,[L0050461C] mov eax,[esp+4Ch] push FFFFFFFFh push FFFFFFFFh push ebx mov byte ptr [L00C3E64E],01h mov ecx,[esi+0000009Ch] push edx push eax mov [esp+48h],bl call SUB_L004359B0 lea ecx,[esp+0Ch] lea edx,[esp+1Ch] push ecx push edx push 00000A8Ch call SUB_L004434A0 lea eax,[esp+2Ch] lea ecx,[esp+1Ch] push eax push ecx push 00000A8Dh call SUB_L004434A0 lea edx,[esp+3Ch] lea eax,[esp+2Ch] push edx push eax push 000000FCh call SUB_L004434A0 mov ecx,[esi+20h] add esp,00000024h push ecx mov ecx,[esi+000000A4h] push ebx push ebx push 00000A8Ch push ebx call SUB_L004349D0 mov eax,[esi+24h] mov ecx,[esp+0Ch] mov edx,[esi+20h] sub eax,ecx mov ecx,[esi+000000A8h] push edx push eax push ebx push 00000A8Ch push ebx call SUB_L004349D0 mov eax,[esp+0Ch] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000ACh] push edx push eax push ebx push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+0Ch] mov edx,[esi+24h] mov edi,[esp+10h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000B0h] push edx push eax mov eax,[esi+20h] sub eax,edi push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+0Ch] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx push edx mov ecx,[esi+000000A0h] push eax mov eax,[esp+18h] push eax call SUB_L00435500 mov eax,[esp+0Ch] mov edx,[esi+24h] mov edi,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+10h] push edx lea edx,[ecx+ecx] sub edi,edx mov edx,[esp+18h] sub edi,edx add edx,ecx mov ecx,[esi+0000009Ch] push edi push eax push edx call SUB_L00435920 mov ecx,[esi+0000009Ch] push ebx call SUB_L00435D70 push 00000001h push ebx mov ecx,esi call SUB_L004587A0 mov [esi+000000B4h],bl mov al,[L00C3E64F] cmp al,bl mov [L00C3E64E],bl jz L0045FDC2 mov eax,[L00C3E650] mov [esi+30h],eax mov ecx,[L00C3E654] mov [esi+34h],ecx L0045FDC2: mov ecx,[esp+28h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000028h retn 0014h ;------------------------------------------------------------------------------ Align 16 L0045FDE0: push esi mov esi,ecx call SUB_L0045FE00 test byte ptr [esp+08h],01h jz L0045FDF8 push esi call SUB_L004D4F9E add esp,00000004h L0045FDF8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0045FE00: push FFFFFFFFh push L004E36F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004ED8C8 mov ecx,[esi+0000009Ch] xor ebx,ebx cmp ecx,ebx mov [esp+14h],ebx jz L0045FE3A mov eax,[ecx] push 00000001h call [eax] L0045FE3A: mov ecx,[esi+000000A0h] cmp ecx,ebx jz L0045FE4A mov edx,[ecx] push 00000001h call [edx] L0045FE4A: mov ecx,[esi+000000A4h] cmp ecx,ebx jz L0045FE5A mov eax,[ecx] push 00000001h call [eax] L0045FE5A: mov ecx,[esi+000000A8h] cmp ecx,ebx jz L0045FE6A mov edx,[ecx] push 00000001h call [edx] L0045FE6A: mov ecx,[esi+000000ACh] cmp ecx,ebx jz L0045FE7A mov eax,[ecx] push 00000001h call [eax] L0045FE7A: mov ecx,[esi+000000B0h] cmp ecx,ebx jz L0045FE8A mov edx,[ecx] push 00000001h call [edx] L0045FE8A: 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],bl mov [esi+000000B8h],ebx mov [esi+000000BCh],ebx mov eax,[L00B294C8] cmp esi,eax jnz L0045FECF mov [L00B294C8],ebx L0045FECF: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0045FEF0: mov eax,[esp+04h] mov edx,[esp+08h] mov byte ptr [ecx+000000B4h],01h mov [ecx+000000B8h],eax mov [ecx+000000BCh],edx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0045FF10: dd L00B481C6 db 00h; db 00h; db 00h; db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L0045FF20: sub esp,00000008h lea eax,[esp+10h] push esi mov esi,ecx lea ecx,[esp+10h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov esi,[esi+48h] test esi,esi jz L0045FF7B L0045FF3E: mov edx,[esp+10h] mov eax,[esp+14h] mov [esp+08h],edx lea ecx,[esp+04h] lea edx,[esp+08h] push ecx push edx mov ecx,esi mov [esp+0Ch],eax call SUB_L00457D20 mov ecx,[esp+04h] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L0045FF84 mov esi,[esi+40h] test esi,esi jnz L0045FF3E L0045FF7B: xor eax,eax pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0045FF84: mov eax,00000001h pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0045FF90: mov eax,[esp+08h] mov edx,[esp+04h] mov byte ptr [L00C3E64E],01h mov ecx,[ecx+0000009Ch] push eax push edx call SUB_L00435DB0 mov byte ptr [L00C3E64E],00h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0045FFC0: mov eax,[esp+04h] mov byte ptr [L00C3E64E],01h mov ecx,[ecx+0000009Ch] push eax call SUB_L00435DE0 mov byte ptr [L00C3E64E],00h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0045FFF0: push esi mov esi,ecx mov al,[esi+000000B4h] test al,al jz L00460039 mov eax,[esp+0Ch] mov edx,[esi+000000BCh] mov ecx,[esp+08h] sub eax,edx mov edx,[esi+000000B8h] push 00000001h push 00000000h push 00000001h sub ecx,edx push eax push ecx mov ecx,esi call SUB_L00457800 mov edx,[esi+30h] mov [L00C3E650],edx mov eax,[esi+34h] mov [L00C3E654],eax pop esi retn 0008h ;------------------------------------------------------------------------------ L00460039: mov ecx,[esi+30h] mov [L00C3E650],ecx mov edx,[esi+34h] mov [L00C3E654],edx pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00460050: sub esp,00000010h push ebx push ebp mov ebp,[esp+1Ch] push esi test ebp,ebp push edi jz L00460411 mov esi,[esp+28h] test esi,esi jz L00460411 mov al,[esi] test al,al jz L0046008D L00460075: movsx eax,al push eax call SUB_L004D5904 add esp,00000004h test eax,eax jz L0046008D mov al,[esi+01h] inc esi test al,al jnz L00460075 L0046008D: cmp byte ptr [esi],00h jz L00460411 lea edi,[esp+18h] lea ebx,[ebp+14h] push edi lea eax,[ebp+04h] push ebx lea ecx,[ebp+08h] push ebp lea edx,[ebp+0Ch] push eax push ecx push edx lea ecx,[esp+3Ch] lea edx,[esp+28h] push ecx push edx push SSZ00504648__4c__3c__d__d__d__d__d__s push esi call SUB_L004D592C add esp,00000028h cmp eax,00000007h jge L004600D6 pop edi pop esi pop ebp mov eax,FFFFFFFEh pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004600D6: jnz L004600FE mov edi,L00504644 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+18h] 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 L004600FE: movsx ecx,[esp+24h] push ecx call SUB_L004D6E39 add eax,FFFFFFBFh add esp,00000004h cmp eax,00000012h ja CASE_0046041C_PROC0008 xor edx,edx mov dl,[eax+CASE_00460440] jmp [CASE_PROCTABLE_0046041C+edx*4] CASE_0046041C_PROC0003: movsx eax,[esp+25h] push eax call SUB_L004D6E39 add esp,00000004h cmp eax,00000041h jnz L00460146 mov dword ptr [ebp+10h],00000000h jmp L004601E0 L00460146: movsx ecx,[esp+26h] push ecx call SUB_L004D6E39 add esp,00000004h cmp eax,0000004Eh jnz L00460162 mov dword ptr [ebp+10h],00000005h jmp L004601E0 L00460162: mov dword ptr [ebp+10h],00000006h jmp L004601E0 CASE_0046041C_PROC0004: movsx edx,[esp+26h] push edx call SUB_L004D6E39 add esp,00000004h cmp eax,00000052h jnz L00460187 mov dword ptr [ebp+10h],00000002h jmp L004601E0 L00460187: mov dword ptr [ebp+10h],00000004h jmp L004601E0 CASE_0046041C_PROC0000: movsx eax,[esp+25h] push eax call SUB_L004D6E39 add esp,00000004h cmp eax,00000050h jnz L004601AC mov dword ptr [ebp+10h],00000003h jmp L004601E0 L004601AC: mov dword ptr [ebp+10h],00000007h jmp L004601E0 CASE_0046041C_PROC0002: mov dword ptr [ebp+10h],00000001h jmp L004601E0 CASE_0046041C_PROC0007: mov dword ptr [ebp+10h],00000008h jmp L004601E0 CASE_0046041C_PROC0006: mov dword ptr [ebp+10h],00000009h jmp L004601E0 CASE_0046041C_PROC0005: mov dword ptr [ebp+10h],0000000Ah jmp L004601E0 CASE_0046041C_PROC0001: mov dword ptr [ebp+10h],0000000Bh L004601E0: lea edi,[esp+18h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx lea eax,[ecx-02h] cmp eax,00000004h ja CASE_0046041C_PROC0008 jmp [CASE_PROCTABLE_00460454+eax*4] CASE_00460454_PROC0004: movsx ecx,[esp+19h] push ecx call SUB_L004D58DC add esp,00000004h test eax,eax jz CASE_0046041C_PROC0008 movsx edx,[esp+1Ah] push edx call SUB_L004D58DC add esp,00000004h test eax,eax jnz CASE_0046041C_PROC0008 movsx eax,[esp+1Bh] push eax call SUB_L004D58DC add esp,00000004h test eax,eax jnz CASE_0046041C_PROC0008 movsx ecx,[esp+1Ch] push ecx call SUB_L004D58DC add esp,00000004h test eax,eax jnz CASE_0046041C_PROC0008 movsx eax,[esp+19h] lea edx,[eax+eax*4] movsx eax,[esp+1Ah] lea eax,[eax+edx*2] movsx edx,[esp+1Bh] lea ecx,[eax+eax*2] lea eax,[edx+ecx*2] movsx ecx,[esp+1Ch] lea eax,[eax+eax*4] lea esi,[ecx+eax*2-00007DD0h] mov al,[esp+18h] cmp al,2Dh jnz L0046037A neg esi jmp L0046037A CASE_00460454_PROC0000: movsx edx,[esp+18h] push edx call SUB_L004D6E39 add esp,00000004h cmp al,41h mov [esp+18h],al jl L004602A7 cmp al,49h jle CASE_00460454_PROC0001 L004602A7: cmp al,4Bh jl L004602AF cmp al,4Dh jle CASE_00460454_PROC0001 L004602AF: cmp al,4Eh jl L004602B7 cmp al,59h jle CASE_00460454_PROC0001 L004602B7: cmp al,5Ah jz CASE_00460454_PROC0001 CASE_0046041C_PROC0008: pop edi pop esi pop ebp mov eax,FFFFFFFEh pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ CASE_00460454_PROC0002: movsx eax,[esp+18h] push eax call SUB_L004D6E39 add eax,FFFFFFBDh add esp,00000004h cmp eax,0000000Dh ja CASE_0046041C_PROC0008 xor ecx,ecx mov cl,[eax+CASE_00460480] jmp [CASE_PROCTABLE_00460468+ecx*4] CASE_00460454_PROC0001: xor esi,esi jmp L0046037A CASE_00460468_PROC0001: movsx edx,[esp+19h] push edx call SUB_L004D6E39 mov esi,eax add esp,00000004h sub esi,00000053h neg esi sbb esi,esi and esi,0000003Ch add esi,FFFFFED4h jmp L0046037A CASE_00460468_PROC0000: movsx eax,[esp+19h] push eax call SUB_L004D6E39 mov esi,eax add esp,00000004h sub esi,00000053h neg esi sbb esi,esi and esi,0000003Ch add esi,FFFFFE98h jmp L0046037A CASE_00460468_PROC0003: movsx ecx,[esp+19h] push ecx call SUB_L004D6E39 mov esi,eax add esp,00000004h sub esi,00000053h neg esi sbb esi,esi and esi,0000003Ch add esi,FFFFFE5Ch jmp L0046037A CASE_00460468_PROC0004: movsx edx,[esp+19h] push edx call SUB_L004D6E39 mov esi,eax add esp,00000004h sub esi,00000053h neg esi sbb esi,esi and esi,0000003Ch add esi,FFFFFE20h L0046037A: mov eax,[ebx] push ebp add eax,FFFFF894h mov dword ptr [ebp+20h],00000000h mov [ebx],eax call SUB_L004D6C47 add esp,00000004h cmp eax,FFFFFFFFh jnz L004603A5 pop edi pop esi pop ebp mov eax,FFFFFFFDh pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004603A5: mov ecx,esi shl ecx,04h sub ecx,esi neg ecx lea edx,[eax+ecx*4] lea eax,[esp+28h] push eax mov [esp+2Ch],edx call SUB_L004D6AE7 add esp,00000004h test eax,eax jnz L004603D3 pop edi pop esi pop ebp mov eax,FFFFFFFCh pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004603D3: mov ecx,[eax] pop edi mov [ebp+00h],ecx mov edx,[eax+04h] mov [ebp+04h],edx mov ecx,[eax+08h] mov [ebp+08h],ecx mov edx,[eax+0Ch] mov [ebp+0Ch],edx mov ecx,[eax+10h] mov [ebp+10h],ecx mov edx,[eax+14h] mov [ebx],edx mov ecx,[eax+18h] mov [ebp+18h],ecx mov edx,[eax+1Ch] mov [ebp+1Ch],edx mov eax,[eax+20h] mov [ebp+20h],eax pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00460411: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0046041C: dd CASE_0046041C_PROC0000 dd CASE_0046041C_PROC0001 dd CASE_0046041C_PROC0002 dd CASE_0046041C_PROC0003 dd CASE_0046041C_PROC0004 dd CASE_0046041C_PROC0005 dd CASE_0046041C_PROC0006 dd CASE_0046041C_PROC0007 dd CASE_0046041C_PROC0008 CASE_00460440: db 00h, 08h, 08h, 01h, 08h, 02h, 08h, 08h, 08h, 03h, 08h, 08h, 04h, 05h, 06h, 08h db 08h, 08h, 07h Align 4 CASE_PROCTABLE_00460454: dd CASE_00460454_PROC0000 dd CASE_00460454_PROC0001 dd CASE_00460454_PROC0002 dd CASE_0046041C_PROC0008 dd CASE_00460454_PROC0004 CASE_PROCTABLE_00460468: dd CASE_00460468_PROC0000 dd CASE_00460468_PROC0001 dd CASE_00460454_PROC0001 dd CASE_00460468_PROC0003 dd CASE_00460468_PROC0004 dd CASE_0046041C_PROC0008 CASE_00460480: db 00h, 05h, 01h, 05h, 02h, 05h, 05h, 05h, 05h, 05h, 03h, 05h, 05h, 04h Align 4 SUB_L00460490: mov ecx,[esp+08h] mov edx,[esp+0Ch] mov ax,[ecx] test ax,ax jz L004604BD L004604A0: cmp ax,dx jz L004604BD cmp ax,000Ah jz L004604BD cmp ax,000Dh jz L004604BD mov ax,[ecx+02h] add ecx,00000002h test ax,ax jnz L004604A0 L004604BD: cmp [ecx],dx jz L004604CC mov eax,[esp+04h] mov word ptr [eax],0000h retn ;------------------------------------------------------------------------------ L004604CC: push ebx push ebp push esi push edi cmp dx,0028h mov edi,edx jnz L004604DF mov edi,00000029h jmp L00460504 L004604DF: cmp dx,003Ch jnz L004604EC mov edi,0000003Eh jmp L00460504 L004604EC: cmp dx,007Bh jnz L004604F9 mov edi,0000007Dh jmp L00460504 L004604F9: cmp dx,005Bh jnz L00460504 mov edi,0000005Dh L00460504: mov ax,[ecx+02h] add ecx,00000002h xor esi,esi test ax,ax jz L0046054C mov ebx,[esp+20h] mov edx,[esp+14h] L0046051A: cmp ax,di jz L00460550 cmp ax,000Ah jz L00460550 cmp ax,000Dh jz L00460550 lea ebp,[ebx-01h] cmp esi,ebp jge L00460550 add ecx,00000002h mov [edx],ax add edx,00000002h inc esi mov ax,[ecx] test ax,ax jnz L0046051A pop edi pop esi pop ebp mov [edx],ax pop ebx retn ;------------------------------------------------------------------------------ L0046054C: mov edx,[esp+14h] L00460550: pop edi pop esi pop ebp mov word ptr [edx],0000h pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00460560: push ebx push ebp push esi mov esi,ecx mov ecx,[esp+18h] push edi lea ebx,[esi+10h] lea ebp,[esi+14h] xor eax,eax lea edi,[esi+0000022Ch] mov [ebx],ecx mov ecx,000007D0h mov edx,[esp+18h] mov [esi],eax mov [esi+04h],eax mov [esi+08h],eax mov [esi+0Ch],eax mov [ebp+00h],eax mov dword ptr [esi+18h],0000001Fh mov dword ptr [esi+1Ch],00007C00h mov [esi+20h],eax mov [esi+24h],eax mov [esi+2Ch],ax rep stosd lea edi,[esi+0000216Ch] mov ecx,000001F4h rep stosd mov eax,[esp+14h] mov [esi+28h],edx push eax call SUB_L004C4300 lea ecx,[eax+eax+02h] push ecx call SUB_L004D4FA9 mov edx,[esp+1Ch] mov edi,eax push edx push edi call SUB_L004C4430 add esp,00000010h lea eax,[esi+1Ch] mov ecx,esi push eax lea eax,[esi+18h] push eax push ebp push ebx push esi push edi call SUB_L004608F0 push L007050D8 push 00000000h push FFFFFFFFh push FFFFFFFFh push 00000000h push edi mov ecx,esi call SUB_L00460DD0 push edi call SUB_L004D4F9E add esp,00000004h mov eax,esi pop edi pop esi pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00460620: sub esp,00000008h push ebx push ebp push esi push edi mov edi,ecx xor ebx,ebx mov dword ptr [esp+10h],000007D0h mov [edi],ebx mov [edi+04h],ebx mov [edi+08h],ebx mov [edi+0Ch],ebx mov [edi+10h],ebx mov [edi+14h],ebx mov [edi+18h],ebx mov [edi+1Ch],ebx mov [edi+20h],ebx mov [edi+24h],ebx mov [edi+28h],ebx mov [edi+2Ch],bx lea ebp,[edi+0000022Ch] L0046065D: mov esi,[ebp+00h] cmp esi,ebx jz L0046068D mov eax,[esi] cmp eax,ebx jz L00460673 push eax call SUB_L004D4F9E add esp,00000004h L00460673: or eax,FFFFFFFFh push esi mov [esi],ebx mov [esi+04h],eax mov [esi+08h],ebx mov [esi+0Ch],eax mov [esi+10h],ebx call SUB_L004D4F9E add esp,00000004h L0046068D: mov eax,[esp+10h] mov [ebp+00h],ebx add ebp,00000004h dec eax mov [esp+10h],eax jnz L0046065D add edi,0000216Ch mov dword ptr [esp+14h],000001F4h mov [esp+10h],edi L004606B0: mov esi,[edi] cmp esi,ebx jz L0046070E mov eax,[esi] cmp eax,ebx jz L004606C5 push eax call SUB_L004D4F9E add esp,00000004h L004606C5: mov eax,[esi+04h] cmp eax,ebx jz L004606D5 push eax call SUB_L004D4F9E add esp,00000004h L004606D5: mov [esi+09h],bl mov [esi+08h],bl mov dword ptr [esi+0Ch],FFFFFFFFh lea edi,[esi+10h] mov ebp,00000032h L004606EA: mov eax,[edi] cmp eax,ebx jz L004606F9 push eax call SUB_L004D4F9E add esp,00000004h L004606F9: mov [edi],ebx add edi,00000004h dec ebp jnz L004606EA push esi call SUB_L004D4F9E mov edi,[esp+14h] add esp,00000004h L0046070E: mov eax,[esp+14h] mov [edi],ebx add edi,00000004h dec eax mov [esp+10h],edi mov [esp+14h],eax jnz L004606B0 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00460730: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3731 push eax mov fs:[00000000h],esp push ebx push ebp push esi mov esi,[esp+1Ch] push edi test esi,esi mov ebp,ecx jz L004608CD mov ebx,[esp+24h] test ebx,ebx jz L004608CD cmp esi,ebx ja L004608CD cmp dword ptr [ebp+20h],000007D0h jge L004608CD push esi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 mov edi,eax add esp,00000008h xor eax,eax cmp esi,ebx jnc L004607AC mov eax,ebx mov ecx,edi sub eax,esi inc eax shr eax,1 L0046079C: mov dx,[esi] add esi,00000002h mov [ecx],dx add ecx,00000002h cmp esi,ebx jc L0046079C L004607AC: mov word ptr [edi+eax*2],0000h mov eax,[ebp+28h] test ah,08h jz L00460806 push 00000014h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi test esi,esi mov dword ptr [esp+18h],00000000h jz L004608AB push edi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [esi],eax call SUB_L004C4430 mov ecx,[esp+3Ch] mov edx,[esp+38h] add esp,00000010h mov [esi+04h],ecx or edx,00000010h jmp L00460855 L00460806: test ah,10h push 00000014h jz L00460868 call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi test esi,esi mov dword ptr [esp+18h],00000001h jz L004608AB push edi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [esi],eax call SUB_L004C4430 mov ecx,[esp+3Ch] mov edx,[esp+38h] add esp,00000010h mov [esi+04h],ecx or edx,00000008h L00460855: mov eax,[esp+30h] mov ecx,[esp+34h] mov [esi+08h],edx mov [esi+0Ch],eax mov [esi+10h],ecx jmp L004608AD L00460868: call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi test esi,esi mov dword ptr [esp+18h],00000002h jz L004608AB push edi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push edi push eax mov [esi],eax call SUB_L004C4430 mov ecx,[esp+3Ch] mov edx,[esp+38h] add esp,00000010h mov [esi+04h],ecx jmp L00460855 L004608AB: xor esi,esi L004608AD: mov edx,[ebp+20h] mov [ebp+edx*4+0000022Ch],esi mov eax,[ebp+20h] mov ecx,[ebp+eax*4+0000022Ch] test ecx,ecx jz L004608CD inc eax mov [ebp+20h],eax mov al,01h jmp L004608CF L004608CD: xor al,al L004608CF: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L004608F0: sub esp,00000018h push ebx mov eax,ecx push ebp push esi mov esi,[esp+28h] mov [esp+1Ch],eax push edi add eax,0000002Ch xor ebp,ebp xor bl,bl push SWC0050472C_ULTIMA_ONLINE push eax mov [esp+24h],ebp mov edi,esi mov [esp+2Ch],ebp mov byte ptr [esp+21h],00h mov byte ptr [esp+22h],00h mov byte ptr [esp+23h],00h mov byte ptr [esp+1Ah],00h mov byte ptr [esp+1Bh],00h mov byte ptr [esp+1Ch],00h mov [esp+20h],bl mov [esp+1Dh],bl mov [esp+1Eh],bl mov [esp+1Fh],bl call SUB_L004C4430 mov eax,[esp+28h] add esp,00000008h test byte ptr [eax+28h],60h jz L00460964 pop edi pop esi pop ebp mov al,01h pop ebx add esp,00000018h retn 0018h ;------------------------------------------------------------------------------ L00460964: mov ecx,[esp+2Ch] cmp word ptr [ecx],0000h jz L00460DB4 L00460972: mov al,[esp+19h] test al,al jz L00460991 mov byte ptr [esp+19h],00h L0046097F: add esi,00000002h L00460982: cmp word ptr [esi],0000h jnz L00460972 mov esi,[esp+24h] jmp L00460D8F L00460991: mov ax,[esi] cmp ax,005Ch jnz L004609A1 mov byte ptr [esp+19h],01h jmp L0046097F L004609A1: cmp ax,0022h jnz L004609B6 mov al,[esp+1Ah] test al,al setz dl mov [esp+1Ah],dl jmp L0046097F L004609B6: mov cl,[esp+1Ah] test cl,cl jnz L0046097F cmp ax,003Ch jnz L0046097F add esi,00000002h push 00000005h push SWC00504720_TITLE push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460A09 mov ax,[esi] test ax,ax jz L004609F5 L004609E3: cmp ax,003Eh jz L004609F5 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L004609E3 L004609F5: cmp word ptr [esi],0000h jz L004609FE add esi,00000002h L004609FE: mov ebp,esi mov [esp+1Ch],ebp jmp L00460982 L00460A09: push 00000006h push SWC00504710__TITLE push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460A64 test ebp,ebp jz L00460A64 lea edx,[esi-02h] cmp ebp,edx jnc L00460A50 mov ecx,[esp+20h] add ecx,0000002Ch L00460A2F: cmp eax,00000100h jge L00460A50 mov bp,[ebp+00h] mov [ecx],bp mov ebp,[esp+1Ch] add ebp,00000002h inc eax add ecx,00000002h cmp ebp,edx mov [esp+1Ch],ebp jc L00460A2F L00460A50: mov edx,[esp+20h] xor ebp,ebp mov [esp+1Ch],ebp mov [edx+eax*2+2Ch],bp jmp L00460982 L00460A64: push 00000004h push SWC00504704_BODY push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460D73 mov ax,[esi+08h] add esi,00000008h test ax,ax jz L00460D6B L00460A8C: cmp ax,003Eh jz L00460D6B test bl,bl jnz L00460B18 mov al,[esp+14h] test al,al jnz L00460B18 mov al,[esp+13h] test al,al jnz L00460B18 mov al,[esp+12h] test al,al jnz L00460B18 mov al,[esp+17h] test al,al jnz L00460AD6 mov al,[esp+16h] test al,al jnz L00460AD6 mov al,[esp+15h] test al,al jnz L00460AD6 mov al,[esp+18h] test al,al jz L00460B8E L00460AD6: push esi call SUB_L004C5B20 add esp,00000004h test eax,eax jl L00460B8E mov cl,[esp+17h] test cl,cl mov ecx,[esp+30h] jz L00460AF5 mov [ecx],eax L00460AF5: mov dl,[esp+16h] test dl,dl jz L00460B00 mov [ecx+08h],eax L00460B00: mov dl,[esp+15h] test dl,dl jz L00460B0B mov [ecx+0Ch],eax L00460B0B: mov dl,[esp+18h] test dl,dl jz L00460B6D mov [ecx+04h],eax jmp L00460B6D L00460B18: push esi call SUB_L004C5680 add esp,00000004h test eax,eax jge L00460B32 push esi call SUB_L004C5B20 add esp,00000004h test eax,eax jl L00460B8E L00460B32: cmp eax,00007FFFh jg L00460B8E test bl,bl jz L00460B43 mov ecx,[esp+34h] mov [ecx],eax L00460B43: mov cl,[esp+14h] test cl,cl jz L00460B51 mov edx,[esp+38h] mov [edx],eax L00460B51: mov cl,[esp+13h] test cl,cl jz L00460B5F mov ecx,[esp+3Ch] mov [ecx],eax L00460B5F: mov cl,[esp+12h] test cl,cl jz L00460B6D mov edx,[esp+40h] mov [edx],eax L00460B6D: xor bl,bl mov byte ptr [esp+12h],00h mov byte ptr [esp+13h],00h mov byte ptr [esp+14h],00h mov [esp+18h],bl mov [esp+15h],bl mov [esp+16h],bl mov [esp+17h],bl L00460B8E: push 00000004h push SWC005046F8_TEXT push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460BC8 mov [esp+12h],al mov [esp+13h],al mov [esp+14h],al mov [esp+18h],al mov [esp+15h],al mov [esp+16h],al mov [esp+17h],al mov bl,01h add esi,00000008h jmp L00460D5F L00460BC8: push 00000007h push SWC005046E8_BGCOLOR push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460C03 xor bl,bl mov [esp+12h],al mov [esp+13h],al mov [esp+18h],bl mov [esp+15h],bl mov [esp+16h],bl mov [esp+17h],bl mov byte ptr [esp+14h],01h add esi,0000000Eh jmp L00460D5F L00460C03: push 00000004h push SWC005046DC_LINK push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460C3E xor bl,bl mov [esp+12h],al mov [esp+14h],al mov [esp+18h],bl mov [esp+15h],bl mov [esp+16h],bl mov [esp+17h],bl mov byte ptr [esp+13h],01h add esi,00000008h jmp L00460D5F L00460C3E: push 00000005h push SWC005046D0_VLINK push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460C79 xor bl,bl mov [esp+13h],al mov [esp+14h],al mov [esp+18h],bl mov [esp+15h],bl mov [esp+16h],bl mov [esp+17h],bl mov byte ptr [esp+12h],01h add esi,0000000Ah jmp L00460D5F L00460C79: push 00000009h push SWC005046BC_TOPMARGIN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460CB4 xor bl,bl mov [esp+12h],al mov [esp+13h],al mov [esp+14h],al mov [esp+18h],bl mov [esp+15h],bl mov [esp+16h],bl mov byte ptr [esp+17h],01h add esi,00000012h jmp L00460D5F L00460CB4: push 0000000Ch push SWC005046A0_BOTTOMMARGIN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460CEC xor bl,bl mov [esp+12h],al mov [esp+13h],al mov [esp+14h],al mov [esp+18h],bl mov [esp+15h],bl mov [esp+17h],bl mov byte ptr [esp+16h],01h add esi,00000018h jmp L00460D5F L00460CEC: push 0000000Ah push SWC00504688_LEFTMARGIN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460D24 xor bl,bl mov [esp+12h],al mov [esp+13h],al mov [esp+14h],al mov [esp+18h],bl mov [esp+16h],bl mov [esp+17h],bl mov byte ptr [esp+15h],01h add esi,00000014h jmp L00460D5F L00460D24: push 0000000Bh push SWC00504670_RIGHTMARGIN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460D5C xor bl,bl mov [esp+12h],al mov [esp+13h],al mov [esp+14h],al mov [esp+15h],bl mov [esp+16h],bl mov [esp+17h],bl mov byte ptr [esp+18h],01h add esi,00000016h jmp L00460D5F L00460D5C: add esi,00000002h L00460D5F: mov ax,[esi] test ax,ax jnz L00460A8C L00460D6B: lea edi,[esi+02h] jmp L00460982 L00460D73: push 00000005h push SWC00504664__BODY push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00460D8C jmp L00460982 L00460D8C: add esi,FFFFFFFEh L00460D8F: mov eax,[esp+2Ch] cmp edi,eax jz L00460DA6 push edi push eax call SUB_L004C4430 add esp,00000008h mov byte ptr [esp+1Bh],01h L00460DA6: test esi,esi jz L00460DB4 mov word ptr [esi],0000h mov byte ptr [esp+1Bh],01h L00460DB4: mov al,[esp+1Bh] pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00460DD0: push FFFFFFFFh push L004E374E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000040Ch push ebx push ebp push esi mov esi,[esp+00000428h] test esi,esi push edi mov [esp+14h],ecx jnz L00460E05 xor eax,eax jmp L00461A69 L00460E05: mov ax,[esi] xor cl,cl test ax,ax mov edi,esi mov byte ptr [esp+11h],00h mov [esp+13h],cl jz L00461A3C L00460E1E: mov edx,[esp+14h] test byte ptr [edx+28h],20h jz L00460E30 add esi,00000002h jmp L00461A30 L00460E30: mov dl,[esp+11h] test dl,dl jz L00460E42 mov byte ptr [esp+11h],00h jmp L00461A23 L00460E42: cmp ax,005Ch jnz L00460E52 mov byte ptr [esp+11h],01h jmp L00461A23 L00460E52: cmp ax,0022h jnz L00460E66 test cl,cl setz al mov [esp+13h],al jmp L00461A23 L00460E66: test cl,cl jnz L00461A23 cmp ax,003Ch jnz L00461A23 push 00000008h push SWC00504868___CENTER push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00460EF7 push 00000005h push SWC0050485C___DIV push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00460EF7 push 00000003h push L00504854 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00460EF7 push 00000004h push SWC00504848___BQ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00460EF7 mov ecx,[esp+0000043Ch] mov ebx,[esp+00000438h] mov edx,[esp+00000434h] mov eax,[esp+00000430h] mov ebp,[esp+14h] push ecx push ebx push edx push eax push esi push edi mov ecx,ebp call SUB_L00460730 jmp L00460F2F L00460EF7: mov ecx,[esp+0000043Ch] mov ebx,[esp+00000438h] mov edx,[esp+00000434h] mov eax,[esp+00000430h] mov ebp,[esp+14h] push ecx mov word ptr [esi],000Ah push ebx add esi,00000002h push edx push eax push esi push edi mov ecx,ebp call SUB_L00460730 sub esi,00000002h L00460F2F: add esi,00000002h xor edi,edi cmp [esi],di jz L00461A67 push 00000008h push SWC00504834_BASEFONT push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00461B27 push 00000006h push SWC00504824_STRONG push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00460FC0 mov ax,[esi] cmp ax,di jz L00460F83 L00460F71: cmp ax,003Eh jz L00460F83 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00460F71 L00460F83: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push SWC00504824_STRONG and al,BFh push ecx push ebx or al,80h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00460FC0: push 00000006h push SWC00504814_CENTER push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046102F mov ax,[esi] cmp ax,di jz L00460FEE L00460FDC: cmp ax,003Eh jz L00460FEE mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00460FDC L00460FEE: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push SWC00504814_CENTER and ah,BFh push ecx push ebx or ah,80h push edx push eax push esi mov ecx,ebp mov word ptr [esi],000Ah call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046102F: push 00000005h push SWC00504808_SMALL push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046109A mov ax,[esi] cmp ax,di jz L0046105D L0046104B: cmp ax,003Eh jz L0046105D mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L0046104B L0046105D: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push SWC00504808_SMALL and al,FBh push ecx push ebx or al,02h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046109A: push 00000003h push L00504800 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461105 mov ax,[esi] cmp ax,di jz L004610C8 L004610B6: cmp ax,003Eh jz L004610C8 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004610B6 L004610C8: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L00504800 and al,FDh push ecx push ebx or al,04h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461105: push 00000003h push L005047F8 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004611D8 mov ax,[esi] xor bl,bl cmp ax,di mov [esp+12h],bl mov [esp+10h],bl jz L00461191 L0046112F: cmp ax,003Eh jz L00461191 push 00000005h push SWC005047EC_ALIGN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046114D mov bl,01h jmp L00461185 L0046114D: test bl,bl jz L00461185 push 00000005h push SWC00504814_CENTER push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046116C mov byte ptr [esp+12h],01h jmp L00461185 L0046116C: push 00000005h push SWC005047E0_RIGHT push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461185 mov byte ptr [esp+10h],01h L00461185: mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L0046112F L00461191: cmp word ptr [esi],0000h jz L00461A67 mov eax,[esp+00000430h] mov word ptr [esi],000Ah test bl,bl jz L004611CE mov cl,[esp+12h] and ah,3Fh test cl,cl jz L004611C3 or ah,80h push L005047F8 jmp L00461753 L004611C3: mov cl,[esp+10h] test cl,cl jz L004611CE or ah,40h L004611CE: push L005047F8 jmp L00461753 L004611D8: push 00000002h push L005047D8 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461241 mov ax,[esi] cmp ax,di jz L00461206 L004611F4: cmp ax,003Eh jz L00461206 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004611F4 L00461206: cmp [esi],di jz L00461A67 mov edx,[esp+0000043Ch] mov eax,[esp+00000430h] add edx,00000014h push L005047D8 push edx push ebx push 000001E0h push eax push esi mov ecx,ebp mov word ptr [esi],000Ah call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461241: push 00000002h push L005047D0 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00461AD1 push 00000002h push L005047C8 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004612C4 mov ax,[esi] cmp ax,di jz L00461287 L00461275: cmp ax,003Eh jz L00461287 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461275 L00461287: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047C8 and al,7Fh push ecx push ebx or al,40h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L004612C4: push 00000002h push L005047C0 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461331 mov ax,[esi] cmp ax,di jz L004612F2 L004612E0: cmp ax,003Eh jz L004612F2 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004612E0 L004612F2: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047C0 and ah,C1h push ecx push ebx or ah,01h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461331: push 00000002h push L005047B8 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046139E mov ax,[esi] cmp ax,di jz L0046135F L0046134D: cmp ax,003Eh jz L0046135F mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L0046134D L0046135F: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047B8 and ah,C2h push ecx push ebx or ah,02h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046139E: push 00000002h push L005047B0 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046140B mov ax,[esi] cmp ax,di jz L004613CC L004613BA: cmp ax,003Eh jz L004613CC mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004613BA L004613CC: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047B0 and ah,C4h push ecx push ebx or ah,04h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046140B: push 00000002h push L005047A8 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461478 mov ax,[esi] cmp ax,di jz L00461439 L00461427: cmp ax,003Eh jz L00461439 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461427 L00461439: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047A8 and ah,C8h push ecx push ebx or ah,08h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461478: push 00000002h push L005047A0 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004614E5 mov ax,[esi] cmp ax,di jz L004614A6 L00461494: cmp ax,003Eh jz L004614A6 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461494 L004614A6: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L005047A0 and ah,D0h push ecx push ebx or ah,10h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L004614E5: push 00000002h push L00504798 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461552 mov ax,[esi] cmp ax,di jz L00461513 L00461501: cmp ax,003Eh jz L00461513 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461501 L00461513: cmp [esi],di jz L00461A67 mov eax,[esp+00000430h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push L00504798 and ah,E0h push ecx push ebx or ah,20h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461552: push 00000001h push L00504794 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004615BB mov ax,[esi] cmp ax,di jz L00461580 L0046156E: cmp ax,003Eh jz L00461580 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L0046156E L00461580: cmp [esi],di jz L00461A67 mov ecx,[esp+0000043Ch] mov eax,[esp+00000430h] mov edx,[esp+00000434h] push L00504794 push ecx push ebx or al,10h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L004615BB: push 00000001h push L00504790 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461624 mov ax,[esi] cmp ax,di jz L004615E9 L004615D7: cmp ax,003Eh jz L004615E9 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004615D7 L004615E9: cmp [esi],di jz L00461A67 mov ecx,[esp+0000043Ch] mov eax,[esp+00000430h] mov edx,[esp+00000434h] push L00504790 push ecx push ebx or al,08h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L00461624: push 00000001h push L0050478C push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046168D mov ax,[esi] cmp ax,di jz L00461652 L00461640: cmp ax,003Eh jz L00461652 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461640 L00461652: cmp [esi],di jz L00461A67 mov ecx,[esp+0000043Ch] mov eax,[esp+00000430h] mov edx,[esp+00000434h] push L0050478C push ecx push ebx or al,20h push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046168D: push 00000001h push L00504788 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046177D mov ax,[esi] xor bl,bl cmp ax,di mov [esp+10h],bl mov [esp+12h],bl jz L00461719 L004616B7: cmp ax,003Eh jz L00461719 push 00000005h push SWC005047EC_ALIGN push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004616D5 mov bl,01h jmp L0046170D L004616D5: test bl,bl jz L0046170D push 00000005h push SWC00504814_CENTER push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004616F4 mov byte ptr [esp+10h],01h jmp L0046170D L004616F4: push 00000005h push SWC005047E0_RIGHT push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046170D mov byte ptr [esp+12h],01h L0046170D: mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L004616B7 L00461719: cmp word ptr [esi],0000h jz L00461A67 mov eax,[esp+00000430h] mov word ptr [esi],000Ah test bl,bl jz L0046174E mov cl,[esp+10h] and ah,3Fh test cl,cl jz L00461743 or ah,80h jmp L0046174E L00461743: mov cl,[esp+12h] test cl,cl jz L0046174E or ah,40h L0046174E: push L00504788 L00461753: mov ecx,[esp+00000440h] mov edx,[esp+0000043Ch] push ecx mov ecx,[esp+0000043Ch] push edx push ecx mov ecx,[esp+24h] push eax push esi call SUB_L00460DD0 mov esi,eax jmp L00461A20 L0046177D: test byte ptr [ebp+28h],40h jnz L00461C7D cmp ebx,edi jge L00461C7D push 00000001h push L00504784 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461C7D cmp dword ptr [ebp+24h],000001F4h jge L00461A84 mov [esp+0000021Ch],di mov [esp+1Ch],di mov ax,[esi] mov byte ptr [esp+10h],00h cmp ax,di jz L00461911 L004617D2: cmp ax,003Eh jz L00461911 push 00000003h push L0050477C push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004617FA mov byte ptr [esp+10h],01h jmp L004618F8 L004617FA: push 00000004h push SWC00504770_NAME push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0046187D mov ax,[esi] xor edx,edx cmp ax,di jz L0046182A L00461818: cmp ax,0022h jz L0046182A mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461818 L0046182A: cmp [esi],di jz L00461832 add esi,00000002h L00461832: mov ax,[esi] cmp ax,di jz L00461873 lea ecx,[esp+0000021Ch] L00461841: cmp ax,0022h jz L00461873 cmp ax,005Ch jnz L00461850 add esi,00000002h L00461850: mov ax,[esi] cmp ax,di jz L00461867 cmp edx,00000100h jge L00461867 mov [ecx],ax inc edx add ecx,00000002h L00461867: mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461841 L00461873: mov [esp+edx*2+0000021Ch],di jmp L004618F8 L0046187D: push 00000004h push SWC00504764_HREF push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004618F8 mov ax,[esi] xor edx,edx cmp ax,di jz L004618AD L0046189B: cmp ax,0022h jz L004618AD mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L0046189B L004618AD: cmp [esi],di jz L004618B5 add esi,00000002h L004618B5: mov ax,[esi] cmp ax,di jz L004618F3 lea ecx,[esp+1Ch] L004618C1: cmp ax,0022h jz L004618F3 cmp ax,005Ch jnz L004618D0 add esi,00000002h L004618D0: mov ax,[esi] cmp ax,di jz L004618E7 cmp edx,00000100h jge L004618E7 mov [ecx],ax inc edx add ecx,00000002h L004618E7: mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004618C1 L004618F3: mov [esp+edx*2+1Ch],di L004618F8: cmp [esi],di jz L00461A67 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L004617D2 L00461911: cmp [esi],di jz L00461A67 mov ebx,[esp+00000430h] push 000000D8h call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov [esp+18h],ebp test ebp,ebp mov dword ptr [esp+00000424h],00000000h jz L004619AD lea edx,[esp+0000021Ch] push edx call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 lea ecx,[esp+00000224h] mov [ebp+00h],eax push ecx push eax call SUB_L004C4430 lea edx,[esp+2Ch] push edx call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 lea ecx,[esp+34h] mov [ebp+04h],eax push ecx push eax call SUB_L004C4430 add esp,00000020h lea edi,[ebp+10h] mov ecx,00000032h xor eax,eax mov byte ptr [ebp+09h],00h mov byte ptr [ebp+08h],00h mov dword ptr [ebp+0Ch],00000000h rep stosd jmp L004619AF L004619AD: xor ebp,ebp L004619AF: mov eax,[esp+14h] mov dword ptr [esp+00000424h],FFFFFFFFh mov edx,[eax+24h] mov [eax+edx*4+0000216Ch],ebp mov ecx,[eax+24h] mov edx,[eax+ecx*4+0000216Ch] mov al,[esp+10h] mov [edx+08h],al cmp word ptr [esp+1Ch],0000h jz L004619EE mov ebx,[esp+00000430h] or ebx,00010000h L004619EE: mov edi,[esp+14h] mov ecx,[esp+0000043Ch] mov eax,[esp+00000434h] push L00504784 mov edx,[edi+24h] push ecx push edx push eax add esi,00000002h push ebx push esi mov ecx,edi call SUB_L00460DD0 mov esi,eax mov eax,[edi+24h] inc eax mov [edi+24h],eax L00461A20: lea edi,[esi+02h] L00461A23: cmp word ptr [esi],0000h jz L00461A3C mov cl,[esp+13h] add esi,00000002h L00461A30: mov ax,[esi] test ax,ax jnz L00460E1E L00461A3C: mov ecx,[esp+0000043Ch] mov edx,[esp+00000438h] mov eax,[esp+00000434h] push ecx mov ecx,[esp+00000434h] push edx push eax push ecx mov ecx,[esp+24h] push esi push edi call SUB_L00460730 L00461A67: mov eax,esi L00461A69: mov ecx,[esp+0000041Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000418h retn 0018h ;------------------------------------------------------------------------------ L00461A84: mov ax,[esi] cmp ax,di jz L00461A9E L00461A8C: cmp ax,003Eh jz L00461A9E mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461A8C L00461A9E: cmp [esi],di jz L00461A67 mov ecx,[esp+00000440h] mov edx,[esp+0000043Ch] mov eax,[esp+00000434h] push ecx mov ecx,[esp+00000434h] push edx push ebx push eax add esi,00000002h push ecx push esi mov ecx,ebp call SUB_L00460DD0 jmp L00461A69 L00461AD1: mov ax,[esi] cmp ax,di jz L00461AEB L00461AD9: cmp ax,003Eh jz L00461AEB mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461AD9 L00461AEB: cmp [esi],di jz L00461A67 mov edx,[esp+00000440h] mov eax,[esp+0000043Ch] mov ecx,[esp+00000434h] push edx mov edx,[esp+00000434h] push eax push ebx push ecx push edx push esi mov ecx,ebp mov word ptr [esi],000Ah call SUB_L00460DD0 jmp L00461A69 L00461B27: mov ax,[esi] mov ebp,[esp+00000434h] xor bl,bl xor edi,edi test ax,ax mov [esp+11h],bl jz L00461C2D L00461B42: cmp ax,003Eh jz L00461C2D push 00000004h push SWC00504758_SIZE push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461B70 mov bl,01h mov [esp+11h],al mov edi,00000004h jmp L00461C1D L00461B70: push 00000005h push SWC0050474C_COLOR push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461B90 xor bl,bl mov byte ptr [esp+11h],01h jmp L00461C1D L00461B90: test bl,bl jz L00461BED push 00000003h push L00504800 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461BB1 xor bl,bl mov edi,00000007h jmp L00461C1D L00461BB1: push 00000005h push SWC00504808_SMALL push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461BCE xor bl,bl mov edi,00000001h jmp L00461C1D L00461BCE: mov ax,[esi] push eax call SUB_L004C4B00 add esp,00000004h test eax,eax jz L00461BED push esi xor bl,bl call SUB_L004C5B20 add esp,00000004h mov edi,eax jmp L00461C1D L00461BED: mov al,[esp+11h] test al,al jz L00461C1D push esi call SUB_L004C5680 add esp,00000004h test eax,eax jge L00461C0F push esi call SUB_L004C5B20 add esp,00000004h test eax,eax jl L00461C1D L00461C0F: cmp eax,00007FFFh jg L00461C1D mov byte ptr [esp+11h],00h mov ebp,eax L00461C1D: mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00461B42 L00461C2D: cmp word ptr [esi],0000h jz L00461A67 mov eax,[esp+00000430h] test edi,edi jle L00461C54 and al,F9h cmp edi,00000005h jl L00461C4D or al,04h jmp L00461C54 L00461C4D: cmp edi,00000003h jg L00461C54 or al,02h L00461C54: mov ecx,[esp+0000043Ch] mov edx,[esp+00000438h] push SWC00504834_BASEFONT push ecx mov ecx,[esp+1Ch] push edx push ebp add esi,00000002h push eax push esi call SUB_L00460DD0 jmp L00461A69 L00461C7D: push 00000001h push L00504748 push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00461D2F add esi,00000002h cmp [esi],di jz L00461A67 mov edi,[esp+00000440h] push edi call SUB_L004C4300 push eax push edi push esi call SUB_L004C43C0 add esp,00000010h test eax,eax mov ax,[esi] jnz L00461CE4 test ax,ax jz L00461A67 L00461CC9: cmp ax,003Eh jz L00461A67 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00461CC9 jmp L00461A67 L00461CE4: test ax,ax jz L00461CFB L00461CE9: cmp ax,003Eh jz L00461CFB mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00461CE9 L00461CFB: cmp word ptr [esi],0000h jz L00461A67 mov eax,[esp+0000043Ch] mov ecx,[esp+00000434h] mov edx,[esp+00000430h] push edi push eax push ebx push ecx add esi,00000002h push edx push esi mov ecx,ebp call SUB_L00460DD0 jmp L00461A69 L00461D2F: mov ax,[esi] cmp ax,di jz L00461D49 L00461D37: cmp ax,003Eh jz L00461D49 mov ax,[esi+02h] add esi,00000002h cmp ax,di jnz L00461D37 L00461D49: cmp [esi],di jz L00461A67 mov eax,[esp+00000440h] mov ecx,[esp+0000043Ch] mov edx,[esp+00000434h] push eax mov eax,[esp+00000434h] push ecx push ebx push edx add esi,00000002h push eax push esi mov ecx,ebp call SUB_L00460DD0 jmp L00461A69 Align 16 SUB_L00461D90: sub esp,00000088h mov eax,[esp+0000008Ch] push ebx push ebp push esi test eax,eax push edi mov [esp+14h],ecx jz L00462E58 mov edx,[esp+000000A0h] mov eax,00000001h cmp edx,eax jl L00462E58 cmp [esp+000000A4h],eax jl L00462E58 xor ebp,ebp lea ebx,[ecx+0000216Ch] L00461DD6: mov esi,[ebx] test esi,esi jz L00461E14 add esi,00000010h mov edi,00000032h L00461DE4: mov eax,[esi] test eax,eax jz L00461DF3 push eax call SUB_L004D4F9E add esp,00000004h L00461DF3: mov dword ptr [esi],00000000h add esi,00000004h dec edi jnz L00461DE4 mov eax,[ebx] inc ebp add ebx,00000004h cmp ebp,000001F4h mov dword ptr [eax+0Ch],FFFFFFFFh jl L00461DD6 L00461E14: mov eax,[esp+000000A8h] test eax,eax jnz L00461E45 mov ecx,[esp+000000A4h] mov edx,[esp+000000A0h] mov [esp+24h],ecx mov ebx,ecx mov [esp+1Ch],eax mov [esp+18h],eax mov [esp+20h],edx mov ecx,edx mov ebp,eax jmp L00461EC2 L00461E45: mov ecx,[eax+04h] mov edx,[eax+0Ch] mov esi,[eax] mov eax,[eax+08h] mov ebp,ecx mov ebx,edx test ecx,ecx mov [esp+1Ch],ebp mov [esp+24h],ebx mov [esp+18h],esi mov [esp+20h],eax jge L00461E6E xor ebp,ebp mov [esp+1Ch],ebp L00461E6E: mov edi,[esp+000000A4h] cmp ecx,edi jle L00461E7F mov ebp,edi mov [esp+1Ch],ebp L00461E7F: test edx,edx jge L00461E89 xor ebx,ebx mov [esp+24h],ebx L00461E89: cmp edx,edi jle L00461E93 mov ebx,edi mov [esp+24h],ebx L00461E93: test esi,esi jge L00461E9F mov dword ptr [esp+18h],00000000h L00461E9F: mov ecx,[esp+000000A0h] cmp esi,ecx jle L00461EAE mov [esp+18h],ecx L00461EAE: test eax,eax jge L00461EBA mov dword ptr [esp+20h],00000000h L00461EBA: cmp eax,ecx jle L00461EC2 mov [esp+20h],ecx L00461EC2: mov eax,[esp+000000ACh] test eax,eax jge L00461ED8 mov dword ptr [esp+000000ACh],00000000h L00461ED8: mov eax,[esp+000000B8h] test eax,eax jz L0046200C cmp ebp,ebx jge L0046200C mov eax,ebp lea edi,[ecx+ecx] imul eax,ecx mov ecx,[esp+18h] mov edx,ebx mov ebx,[esp+14h] add eax,ecx mov ecx,[esp+0000009Ch] sub edx,ebp lea esi,[ecx+eax*2] L00461F0F: mov ecx,[esp+20h] mov ebp,[esp+18h] cmp ebp,ecx mov eax,esi jge L00461F2C sub ecx,ebp L00461F1F: mov bp,[ebx+14h] mov [eax],bp add eax,00000002h dec ecx jnz L00461F1F L00461F2C: add esi,edi dec edx jnz L00461F0F mov ebp,[esp+1Ch] L00461F35: call SUB_L004C5670 test eax,eax jnz L00461F50 call SUB_L004C5CE0 call SUB_L004C5670 test eax,eax jz L00462E58 L00461F50: mov eax,[ebx+20h] test eax,eax jz L00462E58 mov dl,[L00C8C4A4] mov esi,[ebx+04h] neg dl sbb edx,edx mov ecx,[ebx+0Ch] and edx,00008000h mov edi,[esp+18h] add edx,00007FFFh add ecx,edi mov [esp+4Ch],edx mov edx,[esp+20h] sub edx,esi mov esi,[ebx] mov [esp+48h],edx mov edx,[esp+000000ACh] sub esi,edx mov [esp+50h],ecx add esi,ebp mov ebp,ecx xor ecx,ecx mov [esp+0000008Ch],esi cmp eax,ecx mov [esp+10h],esi mov [esp+38h],ebp mov [esp+5Ch],ecx mov [esp+40h],ecx mov [esp+30h],ecx jle L00462E35 L00461FC3: mov ecx,[ebx+28h] mov eax,[esp+30h] test ch,04h jz L00461FD7 test eax,eax jg L00462E35 L00461FD7: mov eax,[ebx+eax*4+0000022Ch] test dword ptr [eax+08h],00010000h jz L00462063 mov eax,[eax+0Ch] mov ecx,[ebx+18h] test eax,eax mov [esp+44h],ecx jl L0046206A mov edx,[ebx+eax*4+0000216Ch] mov al,[edx+09h] test al,al jz L00462015 mov eax,[ebx+1Ch] mov [esp+44h],eax jmp L0046206A L0046200C: mov ebx,[esp+14h] jmp L00461F35 L00462015: xor edi,edi mov esi,L00C424F8 L0046201C: cmp edi,[L00C42CC8] jge L0046206A mov ecx,[esp+30h] mov edx,[ebx+ecx*4+0000022Ch] mov eax,[edx+0Ch] mov ecx,[ebx+eax*4+0000216Ch] mov eax,[esi] mov edx,[ecx+04h] push edx push eax call SUB_L004C4360 add esp,00000008h test eax,eax jz L0046205A add esi,00000004h inc edi cmp esi,L00C42CC8 jl L0046201C jmp L0046206A L0046205A: mov ecx,[ebx+1Ch] mov [esp+44h],ecx jmp L0046206A L00462063: mov edx,[eax+04h] mov [esp+44h],edx L0046206A: mov eax,[esp+44h] test eax,eax jge L00462079 mov eax,[ebx+10h] mov [esp+44h],eax L00462079: mov esi,[esp+30h] sar eax,1 and eax,00003DEFh test esi,esi mov [esp+00000094h],eax jz L00462094 call SUB_L004C5C40 L00462094: mov eax,[ebx+esi*4+0000022Ch] mov ecx,[eax+08h] push ecx call SUB_L004C5BC0 mov eax,[ebx+28h] add esp,00000004h test ah,01h jz L0046212B mov ebx,[esp+30h] mov edx,[esp+14h] mov eax,[edx+ebx*4+0000022Ch] mov esi,[eax+08h] call SUB_L004C5C40 mov edi,[esp+48h] mov eax,[esp+50h] mov ecx,[esp+14h] sub edi,eax push edi push esi push ebx call SUB_L00462E70 push esi mov bl,al call SUB_L004C5BC0 add esp,00000004h test bl,bl jnz L0046212B mov ebx,[esp+30h] mov ecx,[esp+14h] mov edx,[ecx+ebx*4+0000022Ch] test byte ptr [edx+08h],04h jz L0046211A call SUB_L004C5C40 mov ecx,[esp+14h] and esi,FFFFFFFBh push edi push esi push ebx call SUB_L00462E70 test al,al jnz L00462122 jmp L0046211F L0046211A: call SUB_L004C5C40 L0046211F: or esi,00000002h L00462122: push esi call SUB_L004C5BC0 add esp,00000004h L0046212B: mov esi,[esp+14h] mov eax,[esp+30h] mov ecx,[esp+10h] mov dword ptr [esp+2Ch],00000000h mov eax,[esi+eax*4+0000022Ch] mov [esp+64h],ecx lea edx,[ecx+12h] mov [esp+60h],ebp mov edi,[eax] mov eax,[eax+0Ch] test eax,eax mov [esp+7Ch],edi mov [esp+6Ch],edx jl L0046217C mov eax,[esi+eax*4+0000216Ch] mov edx,[eax+0Ch] test edx,edx jge L0046217C mov edx,[esp+000000ACh] add ecx,edx mov [eax+0Ch],ecx L0046217C: cmp word ptr [edi],0000h jz L00462D17 mov ebx,[esp+4Ch] mov edx,[esp+000000B4h] mov ecx,[esp+000000B0h] mov eax,[esp+40h] jmp L004621B8 L0046219E: mov edi,[esp+7Ch] mov eax,[esp+40h] mov edx,[esp+000000B4h] mov esi,[esp+14h] mov ecx,[esp+000000B0h] L004621B8: inc eax cmp ecx,edx mov [esp+40h],eax jge L004621CB cmp eax,ecx jle L004621C9 cmp eax,edx jle L004621D5 L004621C9: cmp ecx,edx L004621CB: jle L004621DC cmp eax,ecx jg L004621DC cmp eax,edx jle L004621DC L004621D5: mov byte ptr [esp+2Bh],01h jmp L004621E1 L004621DC: mov byte ptr [esp+2Bh],00h L004621E1: mov eax,[esp+2Ch] cmp word ptr [edi+eax*2],000Ah mov al,[esi+28h] jnz L004623FE test al,01h jnz L00462D04 mov ecx,[esp+14h] mov edx,[esp+30h] mov eax,[ecx+edx*4+0000022Ch] mov eax,[eax+0Ch] test eax,eax jl L00462264 cmp ebp,[esp+60h] jle L00462264 mov edi,[ecx+eax*4+0000216Ch] xor esi,esi lea eax,[edi+10h] L00462223: cmp dword ptr [eax],00000000h jz L00462233 inc esi add eax,00000004h cmp esi,00000032h jl L00462223 jmp L00462264 L00462233: push 00000010h call SUB_L004D4FA9 mov ecx,[esp+68h] mov [edi+esi*4+10h],eax mov [eax+04h],ecx mov edx,[edi+esi*4+10h] mov eax,[esp+70h] add esp,00000004h mov [edx+0Ch],eax mov ecx,[edi+esi*4+10h] mov eax,[esp+60h] mov [ecx+08h],ebp mov edx,[edi+esi*4+10h] mov [edx],eax L00462264: mov al,[esp+2Bh] test al,al jz L00462312 mov ecx,[esp+24h] mov eax,[esp+10h] cmp eax,ecx jge L00462387 cmp ebp,[esp+20h] jge L00462387 mov edx,[esp+10h] mov eax,[esp+1Ch] lea ebp,[edx+12h] cmp ebp,eax jl L00462387 mov edi,edx cmp edi,ebp jge L00462387 mov edx,[esp+38h] mov esi,edi imul esi,[esp+000000A0h] lea ebx,[edx+08h] L004622B8: cmp edx,ebx jge L00462302 L004622BC: cmp edi,[esp+1Ch] jl L004622F9 cmp edi,[esp+24h] jge L004622F9 cmp edx,[esp+18h] jl L004622F9 cmp edx,[esp+20h] jge L004622F9 mov ecx,[esp+0000009Ch] lea eax,[esi+edx] lea ecx,[ecx+eax*2] mov ax,[ecx] test ax,ax jz L004622F4 not eax and eax,[esp+4Ch] mov [ecx],ax jmp L004622F9 L004622F4: mov word ptr [ecx],0001h L004622F9: inc edx cmp edx,ebx jl L004622BC mov edx,[esp+38h] L00462302: mov ecx,[esp+000000A0h] inc edi add esi,ecx cmp edi,ebp jl L004622B8 jmp L00462387 L00462312: mov edx,[esp+40h] mov eax,[esp+000000B0h] dec edx cmp eax,edx jnz L00462387 mov eax,[esp+10h] mov ecx,[esp+24h] cmp eax,ecx jge L00462387 cmp ebp,[esp+20h] jge L00462387 mov ecx,[esp+1Ch] lea esi,[eax+12h] cmp esi,ecx jl L00462387 cmp eax,esi jge L00462387 mov ecx,[esp+000000A0h] mov edi,[esp+0000009Ch] lea edx,[ecx+ecx] mov ecx,eax imul ecx,[esp+000000A0h] add ecx,ebp lea ecx,[edi+ecx*2] L00462363: cmp eax,[esp+1Ch] jl L00462380 cmp eax,[esp+24h] jge L00462380 cmp ebp,[esp+18h] jl L00462380 mov di,[ecx] not di and edi,ebx mov [ecx],di L00462380: inc eax add ecx,edx cmp eax,esi jl L00462363 L00462387: mov ecx,[esp+2Ch] mov eax,[esp+40h] inc ecx cmp eax,00000001h mov [esp+2Ch],ecx jz L0046239E add dword ptr [esp+10h],00000012h L0046239E: mov ebp,[esp+14h] mov edi,[esp+30h] mov edx,[ebp+edi*4+0000022Ch] mov esi,[edx+08h] call SUB_L004C5C40 mov eax,[esp+48h] mov ebx,[esp+50h] mov ecx,[esp+2Ch] sub eax,ebx push eax push ecx push edi mov ecx,ebp call SUB_L004631E0 mov ebp,eax push esi add ebp,ebx mov [esp+3Ch],ebp call SUB_L004C5BC0 mov eax,[esp+14h] add esp,00000004h mov [esp+64h],eax add eax,00000012h mov [esp+6Ch],eax mov [esp+60h],ebp mov dword ptr [esp+5Ch],00000000h jmp L00462D00 L004623FE: test al,10h mov eax,[esp+5Ch] jz L00462462 test eax,eax jz L0046241D inc eax cmp eax,00000003h mov [esp+5Ch],eax jle L00462462 inc [esp+2Ch] jmp L00462D04 L0046241D: mov edi,[esp+30h] mov edx,[esp+14h] mov eax,[edx+edi*4+0000022Ch] mov esi,[eax+08h] call SUB_L004C5C40 mov ecx,[esp+2Ch] push ecx mov ecx,[esp+18h] push edi call SUB_L00462FF0 push esi mov edi,eax call SUB_L004C5BC0 mov eax,[esp+4Ch] add edi,ebp add esp,00000004h cmp edi,eax jl L00462487 mov dword ptr [esp+5Ch],00000001h jmp L00462466 L00462462: test eax,eax jz L00462487 L00462466: lea edx,[esp+00000088h] lea eax,[esp+34h] push edx lea ecx,[esp+00000094h] push eax lea edx,[esp+00000080h] push ecx push edx push 0000002Eh jmp L004624B4 L00462487: lea eax,[esp+00000088h] lea ecx,[esp+34h] push eax lea edx,[esp+00000094h] push ecx mov ecx,[esp+00000084h] push edx mov edx,[esp+38h] lea eax,[esp+00000084h] push eax mov ax,[ecx+edx*2] push eax L004624B4: call SUB_L004C5E00 mov [esp+4Ch],eax mov eax,[esp+40h] add esp,00000014h test eax,eax jz L00462587 mov ecx,[esp+38h] test ecx,ecx jz L00462593 mov ecx,[esp+7Ch] mov dx,[ecx+eax*2] mov ax,[ecx+eax*2-02h] push edx push eax call SUB_L004C45E0 add esp,00000008h test al,al jz L00462587 mov ecx,[esp+14h] test byte ptr [ecx+28h],19h jnz L00462587 mov edi,[esp+30h] mov edx,ecx mov eax,[edx+edi*4+0000022Ch] mov esi,[eax+08h] call SUB_L004C5C40 mov ecx,[esp+2Ch] push ecx mov ecx,[esp+18h] push edi call SUB_L004630D0 push esi mov edi,eax call SUB_L004C5BC0 mov eax,[esp+4Ch] add edi,ebp add esp,00000004h cmp edi,eax jl L00462587 mov ebp,[esp+30h] mov edx,[esp+14h] mov ecx,[esp+10h] mov eax,[edx+ebp*4+0000022Ch] add ecx,00000012h mov [esp+10h],ecx mov esi,[eax+08h] call SUB_L004C5C40 mov ecx,[esp+48h] mov edi,[esp+50h] mov edx,[esp+2Ch] sub ecx,edi push ecx mov ecx,[esp+18h] push edx push ebp call SUB_L004631E0 mov ebp,eax push esi add ebp,edi call SUB_L004C5BC0 add esp,00000004h L00462587: mov eax,[esp+38h] test eax,eax jnz L004629B1 L00462593: mov eax,[esp+34h] test eax,eax jz L00462999 mov eax,[esp+14h] test byte ptr [eax+28h],19h jnz L004627FC mov esi,[esp+30h] mov ecx,eax mov edx,[ecx+esi*4+0000022Ch] mov edi,[edx+08h] call SUB_L004C5C40 mov eax,[esp+2Ch] mov ecx,[esp+14h] inc eax push eax push esi mov [esp+7Ch],eax call SUB_L004630D0 mov esi,eax mov eax,[esp+34h] push edi add esi,eax call SUB_L004C5BC0 mov eax,[esp+4Ch] add esi,ebp add esp,00000004h cmp esi,eax jl L004627FC mov ecx,[esp+14h] mov edx,[esp+30h] mov eax,[ecx+edx*4+0000022Ch] mov eax,[eax+0Ch] test eax,eax jl L0046265E cmp ebp,[esp+60h] jle L0046265E mov edi,[ecx+eax*4+0000216Ch] xor esi,esi lea eax,[edi+10h] L0046261D: cmp dword ptr [eax],00000000h jz L0046262D inc esi add eax,00000004h cmp esi,00000032h jl L0046261D jmp L0046265E L0046262D: push 00000010h call SUB_L004D4FA9 mov ecx,[esp+68h] mov [edi+esi*4+10h],eax mov [eax+04h],ecx mov edx,[edi+esi*4+10h] mov eax,[esp+70h] add esp,00000004h mov [edx+0Ch],eax mov ecx,[edi+esi*4+10h] mov eax,[esp+60h] mov [ecx+08h],ebp mov edx,[edi+esi*4+10h] mov [edx],eax L0046265E: mov al,[esp+2Bh] test al,al jz L00462714 mov ecx,[esp+24h] mov eax,[esp+10h] cmp eax,ecx jge L0046278F cmp ebp,[esp+20h] jge L0046278F mov edx,[esp+10h] mov ecx,[esp+1Ch] lea eax,[edx+12h] cmp eax,ecx jl L0046278F mov edi,edx cmp edi,eax jge L0046278F mov esi,edx imul esi,[esp+000000A0h] L004626AB: mov eax,[esp+34h] mov edx,ebp add eax,ebp cmp ebp,eax jge L004626FD L004626B7: cmp edi,[esp+1Ch] jl L004626F2 cmp edi,[esp+24h] jge L004626F2 cmp edx,[esp+18h] jl L004626F2 cmp edx,[esp+20h] jge L004626F2 mov eax,[esp+0000009Ch] lea ecx,[edx+esi] lea ecx,[eax+ecx*2] mov ax,[ecx] test ax,ax jz L004626ED not eax and eax,ebx mov [ecx],ax jmp L004626F2 L004626ED: mov word ptr [ecx],0001h L004626F2: mov ecx,[esp+34h] inc edx add ecx,ebp cmp edx,ecx jl L004626B7 L004626FD: mov edx,[esp+000000A0h] inc edi add esi,edx mov edx,[esp+10h] lea eax,[edx+12h] cmp edi,eax jl L004626AB jmp L0046278F L00462714: mov eax,[esp+40h] mov ecx,[esp+000000B0h] dec eax cmp ecx,eax jnz L0046278F mov ecx,[esp+24h] mov eax,[esp+10h] cmp eax,ecx jge L0046278F cmp ebp,[esp+20h] jge L0046278F mov edx,[esp+10h] mov eax,[esp+1Ch] lea esi,[edx+12h] cmp esi,eax jl L0046278F mov eax,edx cmp eax,esi jge L0046278F mov ecx,[esp+000000A0h] mov edi,[esp+0000009Ch] lea edx,[ecx+ecx] mov ecx,eax imul ecx,[esp+000000A0h] add ecx,ebp lea ecx,[edi+ecx*2] L0046276B: cmp eax,[esp+1Ch] jl L00462788 cmp eax,[esp+24h] jge L00462788 cmp ebp,[esp+18h] jl L00462788 mov di,[ecx] not di and edi,ebx mov [ecx],di L00462788: inc eax add ecx,edx cmp eax,esi jl L0046276B L0046278F: mov ebp,[esp+30h] mov eax,[esp+14h] mov edi,[esp+10h] mov edx,[esp+74h] mov ecx,[eax+ebp*4+0000022Ch] add edi,00000012h mov [esp+2Ch],edx mov [esp+10h],edi mov esi,[ecx+08h] call SUB_L004C5C40 mov edx,[esp+48h] mov ecx,[esp+50h] mov eax,[esp+2Ch] sub edx,ecx mov ecx,[esp+14h] push edx push eax push ebp call SUB_L004631E0 mov edx,[esp+50h] mov ebp,eax add ebp,edx push esi mov [esp+3Ch],ebp call SUB_L004C5BC0 add esp,00000004h mov [esp+64h],edi add edi,00000012h mov [esp+60h],ebp mov [esp+6Ch],edi jmp L00462D04 L004627FC: call SUB_L004C5CD0 mov edx,[esp+10h] test al,al jz L00462871 cmp edx,[esp+24h] jge L00462871 cmp ebp,[esp+20h] jge L00462871 mov eax,[esp+1Ch] lea ecx,[edx+12h] cmp ecx,eax jl L00462871 mov esi,[esp+34h] lea ecx,[edx+0Eh] add esi,ebp mov eax,ebp cmp ebp,esi jge L00462871 mov edx,[esp+44h] mov esi,[esp+0000009Ch] L0046283A: cmp ecx,[esp+1Ch] jl L00462862 cmp ecx,[esp+24h] jge L00462862 cmp eax,[esp+18h] jl L00462862 cmp eax,[esp+20h] jge L00462862 mov edi,ecx imul edi,[esp+000000A0h] add edi,eax mov [esi+edi*2],dx L00462862: mov edi,[esp+34h] inc eax add edi,ebp cmp eax,edi jl L0046283A mov edx,[esp+10h] L00462871: mov al,[esp+2Bh] test al,al jz L00462921 cmp edx,[esp+24h] jge L00462999 cmp ebp,[esp+20h] jge L00462999 mov edx,[esp+10h] mov ecx,[esp+1Ch] lea eax,[edx+12h] cmp eax,ecx jl L00462999 mov edi,edx cmp edi,eax jge L00462999 mov esi,edx imul esi,[esp+000000A0h] L004628B8: mov eax,[esp+34h] mov edx,ebp add eax,ebp cmp ebp,eax jge L0046290A L004628C4: cmp edi,[esp+1Ch] jl L004628FF cmp edi,[esp+24h] jge L004628FF cmp edx,[esp+18h] jl L004628FF cmp edx,[esp+20h] jge L004628FF mov eax,[esp+0000009Ch] lea ecx,[esi+edx] lea ecx,[eax+ecx*2] mov ax,[ecx] test ax,ax jz L004628FA not eax and eax,ebx mov [ecx],ax jmp L004628FF L004628FA: mov word ptr [ecx],0001h L004628FF: mov ecx,[esp+34h] inc edx add ecx,ebp cmp edx,ecx jl L004628C4 L0046290A: mov edx,[esp+000000A0h] inc edi add esi,edx mov edx,[esp+10h] lea eax,[edx+12h] cmp edi,eax jl L004628B8 jmp L00462999 L00462921: mov eax,[esp+40h] mov ecx,[esp+000000B0h] dec eax cmp ecx,eax jnz L00462999 mov ecx,[esp+24h] mov eax,[esp+10h] cmp eax,ecx jge L00462999 cmp ebp,[esp+20h] jge L00462999 mov ecx,[esp+10h] mov eax,[esp+1Ch] lea esi,[ecx+12h] cmp esi,eax jl L00462999 cmp ecx,esi jge L00462999 mov eax,ecx mov edx,[esp+000000A0h] imul eax,[esp+000000A0h] mov edi,[esp+0000009Ch] add edx,edx add eax,ebp lea eax,[edi+eax*2] L00462975: cmp ecx,[esp+1Ch] jl L00462992 cmp ecx,[esp+24h] jge L00462992 cmp ebp,[esp+18h] jl L00462992 mov di,[eax] not di and edi,ebx mov [eax],di L00462992: inc ecx add eax,edx cmp ecx,esi jl L00462975 L00462999: mov ecx,[esp+34h] mov eax,[esp+2Ch] add ebp,ecx inc eax mov [esp+38h],ebp mov [esp+2Ch],eax jmp L00462D04 L004629B1: mov eax,[esp+78h] mov edx,[esp+34h] mov ecx,[esp+00000090h] mov ebx,[esp+10h] lea edi,[eax+ebp] add ecx,ebx lea esi,[eax+edx+01h] mov [esp+58h],ecx mov [esp+74h],edi mov [esp+54h],esi call SUB_L004C5660 test al,al jz L004629E7 dec esi mov [esp+54h],esi L004629E7: call SUB_L004C5CC0 test al,al jz L004629F5 inc esi mov [esp+54h],esi L004629F5: call SUB_L004C5CB0 test al,al jz L00462A03 inc esi mov [esp+54h],esi L00462A03: call SUB_L004C5CD0 test al,al jz L00462A61 mov eax,[esp+78h] lea ecx,[esi+eax] add ecx,ebp cmp edi,ecx jge L00462A5D mov edx,[esp+44h] lea ecx,[esi+ebp] mov esi,[esp+0000009Ch] lea eax,[ebx+0Eh] L00462A2A: cmp eax,[esp+1Ch] jl L00462A52 cmp eax,[esp+24h] jge L00462A52 cmp edi,[esp+18h] jl L00462A52 cmp edi,[esp+20h] jge L00462A52 mov ebx,eax imul ebx,[esp+000000A0h] add ebx,edi mov [esi+ebx*2],dx L00462A52: mov ebx,[esp+78h] inc edi add ebx,ecx cmp edi,ebx jl L00462A2A L00462A5D: mov edi,[esp+74h] L00462A61: mov eax,[esp+00000088h] test eax,eax mov [esp+70h],eax jle L00462BC1 mov eax,[esp+58h] imul eax,[esp+000000A0h] mov [esp+00000084h],eax L00462A87: call SUB_L004C5CB0 test al,al jz L00462A9E mov edx,[esp+70h] lea eax,[edx-01h] cdq sub eax,edx sar eax,1 add edi,eax L00462A9E: call SUB_L004C5660 mov [esp+3Fh],al mov eax,[esp+34h] xor ebx,ebx test eax,eax jle L00462B8C lea eax,[edi+01h] mov [esp+00000080h],eax L00462ABF: mov eax,ebx and eax,00000007h jnz L00462ADD mov ecx,[esp+70h] mov edx,[esp+00000088h] cmp ecx,edx jnz L00462AD9 test ebx,ebx jz L00462ADD L00462AD9: inc [esp+38h] L00462ADD: mov ecx,00000007h mov edx,00000001h sub ecx,eax mov eax,[esp+38h] shl edx,cl mov cl,[eax] test cl,dl jz L00462B6F mov edx,[esp+1Ch] mov eax,[esp+58h] cmp eax,edx jl L00462B6F mov eax,[esp+24h] mov ecx,[esp+58h] cmp ecx,eax jge L00462B6F cmp edi,[esp+18h] jl L00462B6F cmp edi,[esp+20h] jge L00462B6F mov cl,[esp+3Fh] mov eax,[esp+44h] test cl,cl jz L00462B31 mov eax,[esp+00000094h] mov byte ptr [esp+3Fh],00h L00462B31: mov ecx,[esp+00000084h] mov edx,[esp+0000009Ch] lea esi,[ecx+edi] mov [edx+esi*2],ax call SUB_L004C5CC0 test al,al jz L00462B6F mov eax,[esp+20h] mov ecx,[esp+00000080h] cmp ecx,eax jge L00462B6F mov edx,[esp+0000009Ch] mov cx,[esp+44h] mov [edx+esi*2+02h],cx L00462B6F: mov edx,[esp+00000080h] mov eax,[esp+34h] inc edi inc edx inc ebx mov [esp+00000080h],edx cmp ebx,eax jl L00462ABF L00462B8C: mov eax,[esp+000000A0h] mov esi,[esp+00000084h] mov ebx,[esp+58h] mov edi,[esp+74h] add esi,eax mov eax,[esp+70h] inc ebx dec eax test eax,eax mov [esp+58h],ebx mov [esp+00000084h],esi mov [esp+70h],eax jg L00462A87 L00462BC1: mov al,[esp+2Bh] test al,al jz L00462C77 mov ecx,[esp+24h] mov eax,[esp+10h] cmp eax,ecx jge L00462CED cmp ebp,[esp+20h] jge L00462CED mov edx,[esp+10h] mov ecx,[esp+1Ch] lea eax,[edx+12h] cmp eax,ecx jl L00462CED mov edi,edx lea eax,[edi+12h] cmp edi,eax jge L00462CED mov eax,[esp+54h] mov esi,edx imul esi,[esp+000000A0h] lea ebx,[eax+ebp] L00462C18: cmp ebp,ebx mov edx,ebp jge L00462C60 L00462C1E: cmp edi,[esp+1Ch] jl L00462C5B cmp edi,[esp+24h] jge L00462C5B cmp edx,[esp+18h] jl L00462C5B cmp edx,[esp+20h] jge L00462C5B mov eax,[esp+0000009Ch] lea ecx,[esi+edx] lea ecx,[eax+ecx*2] mov ax,[ecx] test ax,ax jz L00462C56 not eax and eax,[esp+4Ch] mov [ecx],ax jmp L00462C5B L00462C56: mov word ptr [ecx],0001h L00462C5B: inc edx cmp edx,ebx jl L00462C1E L00462C60: mov ecx,[esp+10h] mov edx,[esp+000000A0h] inc edi add esi,edx lea eax,[ecx+12h] cmp edi,eax jl L00462C18 jmp L00462CED L00462C77: mov edx,[esp+40h] mov eax,[esp+000000B0h] dec edx cmp eax,edx jnz L00462CED mov eax,[esp+24h] mov ecx,[esp+10h] cmp ecx,eax jge L00462CED cmp ebp,[esp+20h] jge L00462CED mov eax,ecx mov ecx,[esp+1Ch] lea esi,[eax+12h] cmp esi,ecx jl L00462CED cmp eax,esi jge L00462CED mov ecx,[esp+000000A0h] mov edi,eax imul edi,ecx lea edx,[ecx+ecx] mov ecx,[esp+0000009Ch] add edi,ebp lea ecx,[ecx+edi*2] mov edi,[esp+4Ch] L00462CC9: cmp eax,[esp+1Ch] jl L00462CE6 cmp eax,[esp+24h] jge L00462CE6 cmp ebp,[esp+18h] jl L00462CE6 mov bx,[ecx] not bx and ebx,edi mov [ecx],bx L00462CE6: inc eax add ecx,edx cmp eax,esi jl L00462CC9 L00462CED: mov ecx,[esp+54h] mov eax,[esp+2Ch] add ebp,ecx inc eax mov [esp+38h],ebp mov [esp+2Ch],eax L00462D00: mov ebx,[esp+4Ch] L00462D04: mov edx,[esp+7Ch] mov eax,[esp+2Ch] cmp word ptr [edx+eax*2],0000h jnz L0046219E L00462D17: mov edx,[esp+20h] mov ebx,ebp cmp ebp,edx jle L00462D23 mov ebx,edx L00462D23: mov ecx,[esp+14h] mov eax,[esp+30h] mov eax,[ecx+eax*4+0000022Ch] mov eax,[eax+0Ch] test eax,eax jl L00462D90 cmp ebx,[esp+60h] jle L00462D90 mov edi,[ecx+eax*4+0000216Ch] xor esi,esi lea eax,[edi+10h] L00462D4B: cmp dword ptr [eax],00000000h jz L00462D5B inc esi add eax,00000004h cmp esi,00000032h jl L00462D4B jmp L00462D90 L00462D5B: push 00000010h call SUB_L004D4FA9 mov ecx,[esp+68h] mov [edi+esi*4+10h],eax mov [eax+04h],ecx mov edx,[edi+esi*4+10h] mov eax,[esp+70h] add esp,00000004h mov [edx+0Ch],eax mov ecx,[edi+esi*4+10h] mov eax,[esp+60h] mov [ecx+08h],ebx mov edx,[edi+esi*4+10h] mov [edx],eax mov edx,[esp+20h] L00462D90: mov ecx,[esp+000000B0h] mov eax,[esp+40h] cmp ecx,eax jz L00462DA7 test eax,eax jnz L00462E14 test ecx,ecx jnz L00462E14 L00462DA7: mov eax,[esp+10h] mov ecx,[esp+24h] cmp eax,ecx mov dword ptr [esp+000000B0h],FFFFFFFFh jge L00462E14 cmp ebp,edx jge L00462E14 mov ecx,[esp+1Ch] lea esi,[eax+12h] cmp esi,ecx jl L00462E14 cmp eax,esi jge L00462E14 mov ecx,[esp+000000A0h] mov edi,eax imul edi,ecx lea edx,[ecx+ecx] mov ecx,[esp+0000009Ch] add edi,ebp lea ecx,[ecx+edi*2] L00462DEC: cmp eax,[esp+1Ch] jl L00462E0D cmp eax,[esp+24h] jge L00462E0D cmp ebp,[esp+18h] jl L00462E0D mov di,[ecx] mov ebx,[esp+4Ch] not di and edi,ebx mov [ecx],di L00462E0D: inc eax add ecx,edx cmp eax,esi jl L00462DEC L00462E14: mov edx,[esp+14h] mov eax,[esp+30h] mov esi,[esp+0000008Ch] inc eax mov ecx,[edx+20h] mov [esp+30h],eax cmp eax,ecx mov ebx,edx jl L00461FC3 L00462E35: call SUB_L004C5C40 mov eax,[ebx+08h] mov ecx,[ebx] sub eax,esi pop edi add eax,ecx mov ecx,[esp+0Ch] pop esi pop ebp lea eax,[eax+ecx+12h] pop ebx add esp,00000088h retn 0020h ;------------------------------------------------------------------------------ L00462E58: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000088h retn 0020h ;------------------------------------------------------------------------------ Align 16 SUB_L00462E70: sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+1Ch] test esi,esi push edi mov ebp,ecx jl L00462FD7 cmp esi,[ebp+20h] jge L00462FD7 mov eax,[ebp+esi*4+0000022Ch] mov edx,[esp+24h] push edx mov dword ptr [esp+1Ch],00000000h mov ecx,[eax+10h] mov [esp+18h],ecx call SUB_L004C5BC0 mov eax,[ebp+esi*4+0000022Ch] mov edi,[eax] push edi call SUB_L004C4300 add esp,00000008h test eax,eax jle L00462F94 cmp word ptr [edi],0000h jz L00462F94 lea ecx,[edi+02h] mov dword ptr [esp+24h],00000001h mov [esp+10h],ecx L00462EE1: mov ax,[edi] cmp ax,000Ah jz L00462F73 push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L00462F13 mov edx,[esp+10h] mov cx,[edi] mov ax,[edx] push eax push ecx call SUB_L004C45E0 add esp,00000008h test al,al jz L00462F5D L00462F13: mov edx,[ebp+esi*4+0000022Ch] mov ebx,[edx+08h] call SUB_L004C5C40 mov eax,[esp+24h] mov ecx,ebp push eax push esi call SUB_L004630D0 mov cx,[edi] mov esi,eax push ecx call SUB_L004C5F40 push ebx add esi,eax call SUB_L004C5BC0 mov edx,[esp+1Ch] mov ecx,[esp+20h] mov eax,[esp+30h] add esi,edx add esi,ecx add esp,00000008h cmp esi,eax jge L00462FC6 mov esi,[esp+20h] L00462F5D: mov ax,[edi] push eax call SUB_L004C5F40 mov ebx,[esp+1Ch] add esp,00000004h add ebx,eax mov [esp+18h],ebx L00462F73: mov edx,[esp+24h] mov ecx,[esp+10h] add edi,00000002h inc edx add ecx,00000002h mov [esp+24h],edx cmp word ptr [edi],0000h mov [esp+10h],ecx jnz L00462EE1 L00462F94: call SUB_L004C5C40 mov eax,[esp+14h] test eax,eax jge L00462FA9 mov dword ptr [esp+14h],00000000h L00462FA9: mov ecx,[esp+14h] mov edx,[esp+18h] mov eax,[esp+28h] add ecx,edx pop edi cmp ecx,eax pop esi pop ebp setl al pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ L00462FC6: call SUB_L004C5C40 pop edi pop esi pop ebp xor al,al pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ L00462FD7: pop edi pop esi pop ebp mov al,01h pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00462FF0: push ecx mov eax,[esp+08h] push ebx push ebp push esi test eax,eax push edi mov [esp+10h],ecx jl L004630B9 mov esi,[esp+1Ch] test esi,esi jl L004630B9 mov edx,[ecx+20h] xor ebp,ebp xor edi,edi cmp eax,edx jge L004630AF lea ebx,[ecx+eax*4+0000022Ch] mov [esp+1Ch],ebx jmp L00463031 L0046302D: mov ebx,[esp+1Ch] L00463031: mov eax,[ebx] mov ecx,[eax+08h] push ecx call SUB_L004C5BC0 mov edx,[ebx] mov ebx,[edx] push ebx call SUB_L004C4300 add esp,00000008h cmp esi,eax jge L0046307A cmp word ptr [ebx+esi*2],0000h lea esi,[ebx+esi*2] jz L0046307A L00463057: mov ax,[esi] cmp ax,000Ah jz L004630AA push eax call SUB_L004C5F40 add esp,00000004h add ebp,eax add esi,00000002h inc edi cmp edi,00000003h jge L004630AA cmp word ptr [esi],0000h jnz L00463057 L0046307A: call SUB_L004C5C40 mov ecx,[esp+10h] mov eax,[esp+18h] mov ebx,[esp+1Ch] xor esi,esi mov edx,[ecx+20h] inc eax add ebx,00000004h cmp eax,edx mov [esp+18h],eax mov [esp+1Ch],ebx jl L0046302D pop edi mov eax,ebp pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004630AA: call SUB_L004C5C40 L004630AF: pop edi mov eax,ebp pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004630B9: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004630D0: push ecx push ebx push ebp mov ebp,[esp+10h] push esi test ebp,ebp push edi mov [esp+10h],ecx jl L004631D5 mov edi,[esp+1Ch] test edi,edi jl L004631D5 mov eax,[ecx+20h] xor ebx,ebx cmp ebp,eax jge L004631CB lea esi,[ecx+ebp*4+0000022Ch] mov [esp+18h],esi L00463109: mov eax,[esi] mov ecx,[eax+08h] push ecx call SUB_L004C5BC0 mov edx,[esi] mov eax,[edx] push eax mov [esp+24h],eax call SUB_L004C4300 add esp,00000008h cmp edi,eax jge L0046317E mov eax,[esp+1Ch] cmp word ptr [eax+edi*2],0000h lea esi,[eax+edi*2] jz L0046317A L00463137: mov cx,[esi+02h] mov dx,[esi] push ecx push edx call SUB_L004C45E0 add esp,00000008h test al,al jnz L004631A6 mov ax,[esi] push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L004631C6 mov ax,[esi] cmp ax,000Ah jz L004631C6 push eax call SUB_L004C5F40 add esi,00000002h add esp,00000004h add ebx,eax inc edi cmp word ptr [esi],0000h jnz L00463137 L0046317A: mov esi,[esp+18h] L0046317E: call SUB_L004C5C40 mov ecx,[esp+10h] xor edi,edi inc ebp add esi,00000004h mov eax,[ecx+20h] mov [esp+18h],esi cmp ebp,eax jl L00463109 pop edi pop esi mov eax,ebx pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004631A6: call SUB_L004C5C40 mov edx,[esp+1Ch] mov ax,[edx+edi*2] push eax call SUB_L004C5F40 add esp,00000004h add eax,ebx pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004631C6: call SUB_L004C5C40 L004631CB: pop edi pop esi mov eax,ebx pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004631D5: pop edi pop esi pop ebp xor eax,eax pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004631E0: sub esp,00000010h push ebx push ebp push esi mov esi,[esp+20h] test esi,esi push edi mov [esp+1Ch],ecx jl L004633E3 mov eax,[esp+28h] test eax,eax jl L004633E3 mov eax,[ecx+20h] mov ebx,[esp+2Ch] cmp esi,eax mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],FFFFFFFFh mov byte ptr [esp+13h],00h jge L0046337B lea ebp,[ecx+esi*4+0000022Ch] mov [esp+2Ch],ebp L00463232: mov eax,[esp+14h] test eax,eax jge L00463244 mov eax,[ebp+00h] mov ecx,[eax+10h] mov [esp+14h],ecx L00463244: mov edx,[ebp+00h] mov eax,[edx+08h] push eax call SUB_L004C5BC0 add esp,00000004h call SUB_L004C5C90 test al,al jz L00463263 mov byte ptr [esp+13h],00h jmp L00463275 L00463263: call SUB_L004C5CA0 test al,al jz L004633D0 mov byte ptr [esp+13h],01h L00463275: mov ecx,[ebp+00h] mov edi,[ecx] push edi call SUB_L004C4300 mov ecx,[esp+2Ch] add esp,00000004h cmp ecx,eax jge L0046334B cmp word ptr [edi+ecx*2],0000h lea edi,[edi+ecx*2] jz L0046334B mov edx,ecx inc edx mov [esp+28h],edx L004632A4: cmp word ptr [edi],000Ah jz L004633B4 mov ax,[edi] push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L004632D3 mov cx,[edi+02h] mov dx,[edi] push ecx push edx call SUB_L004C45E0 add esp,00000008h test al,al jz L0046331F L004632D3: mov eax,[ebp+00h] mov ebp,[eax+08h] call SUB_L004C5C40 mov ecx,[esp+28h] push ecx mov ecx,[esp+20h] push esi call SUB_L004630D0 mov dx,[edi] mov esi,eax push edx call SUB_L004C5F40 push ebp add esi,eax call SUB_L004C5BC0 mov eax,[esp+1Ch] mov ecx,[esp+20h] add esi,eax add esp,00000008h add esi,ecx cmp esi,ebx jge L004633B4 mov esi,[esp+24h] mov ebp,[esp+2Ch] L0046331F: mov cx,[edi] push ecx call SUB_L004C5F40 mov ecx,[esp+1Ch] mov edx,[esp+2Ch] add edi,00000002h add esp,00000004h add ecx,eax inc edx cmp word ptr [edi],0000h mov [esp+18h],ecx mov [esp+28h],edx jnz L004632A4 L0046334B: call SUB_L004C5C40 mov edx,[esp+1Ch] inc esi add ebp,00000004h mov dword ptr [esp+28h],00000000h mov eax,[edx+20h] mov [esp+24h],esi cmp esi,eax mov [esp+2Ch],ebp jl L00463232 mov ecx,[esp+14h] test ecx,ecx jge L00463387 L0046337B: mov dword ptr [esp+14h],00000000h mov ecx,[esp+14h] L00463387: mov esi,[esp+18h] mov al,[esp+13h] sub ebx,ecx sub ebx,esi dec ebx test al,al jz L004633A1 L00463398: mov eax,ebx cdq sub eax,edx sar eax,1 mov ebx,eax L004633A1: test ebx,ebx jge L004633A7 xor ebx,ebx L004633A7: pop edi pop esi lea eax,[ebx+ecx] pop ebp pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ L004633B4: call SUB_L004C5C40 mov ecx,[esp+14h] mov esi,[esp+18h] mov al,[esp+13h] sub ebx,ecx sub ebx,esi dec ebx test al,al jz L004633A1 jmp L00463398 L004633D0: call SUB_L004C5C40 mov eax,[esp+14h] pop edi pop esi pop ebp pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ L004633E3: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004633F0: mov eax,[esp+0Ch] sub esp,00000200h push ebx push ebp push esi push edi push L007050D8 mov ebx,ecx push eax call SUB_L004C4430 mov edi,[esp+0000021Ch] add esp,00000008h xor esi,esi lea ebp,[ebx+0000216Ch] L0046341D: mov eax,[ebp+00h] test eax,eax jz L004634F8 xor edx,edx lea ecx,[eax+10h] L0046342D: mov eax,[ecx] test eax,eax jz L0046345D cmp edi,[eax] jl L00463454 cmp edi,[eax+08h] jge L00463454 mov edi,[esp+00000218h] cmp edi,[eax+04h] jl L0046344D cmp edi,[eax+0Ch] jl L0046346F L0046344D: mov edi,[esp+00000214h] L00463454: inc edx add ecx,00000004h cmp edx,00000032h jl L0046342D L0046345D: inc esi add ebp,00000004h cmp esi,000001F4h jge L004634F8 jmp L0046341D L0046346F: mov ecx,[ebx+esi*4+0000216Ch] mov edx,[ecx+04h] push edx call SUB_L004C4300 add esp,00000004h test eax,eax jz L004634F8 mov eax,[ebx+esi*4+0000216Ch] push 00000001h push L0050487C mov byte ptr [eax+09h],01h mov ecx,[ebx+esi*4+0000216Ch] mov edx,[ecx+04h] push edx call SUB_L004C43C0 add esp,0000000Ch test eax,eax mov eax,[ebx+esi*4+0000216Ch] mov ecx,[eax+04h] jnz L0046351F add ecx,00000002h lea edx,[esp+10h] push ecx push edx call SUB_L004C4430 add esp,00000008h xor esi,esi lea edi,[ebx+0000216Ch] L004634D2: mov eax,[edi] test eax,eax jz L004634F8 mov eax,[eax] lea ecx,[esp+10h] push eax push ecx call SUB_L004C4360 add esp,00000008h test eax,eax jz L00463508 inc esi add edi,00000004h cmp esi,000001F4h jl L004634D2 L004634F8: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ L00463508: mov edx,[ebx+esi*4+0000216Ch] pop edi pop esi pop ebp mov eax,[edx+0Ch] pop ebx add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ L0046351F: mov edx,[esp+0000021Ch] push ecx push edx call SUB_L004C4430 mov eax,[L00C42CC8] add esp,00000008h cmp eax,000001F4h jl L00463554 cdq mov ecx,000001F4h idiv ecx mov edx,[L00C424F8+edx*4] push edx call SUB_L004D4F9E add esp,00000004h L00463554: mov eax,[ebx+esi*4+0000216Ch] mov ecx,[eax+04h] push ecx call SUB_L004C4300 lea edx,[eax+eax+02h] push edx call SUB_L004D4FA9 mov ecx,eax mov eax,[L00C42CC8] cdq mov edi,000001F4h idiv edi mov [L00C424F8+edx*4],ecx mov eax,[ebx+esi*4+0000216Ch] mov edx,[eax+04h] push edx push ecx call SUB_L004C4430 mov eax,[L00C42CC8] add esp,00000010h lea ecx,[eax-01h] inc eax mov [L00504640],ecx mov [L00C42CC8],eax mov edx,[ebx+esi*4+0000216Ch] xor eax,eax pop edi pop esi mov cl,[edx+08h] pop ebp test cl,cl setnz al pop ebx add esp,00000200h retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004635D0: sub esp,00000018h push ebx push ebp push esi push edi mov edi,ecx mov [esp+20h],edi mov eax,[edi+20h] test eax,eax jnz L004635F1 pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ L004635F1: test byte ptr [edi+28h],02h jz L00463604 pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ L00463604: mov eax,[esp+34h] test eax,eax jnz L00463619 pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ L00463619: mov ecx,[edi+0000022Ch] mov edx,[edi+0Ch] mov ebx,[eax] mov ebp,[esp+2Ch] mov ecx,[ecx+10h] lea esi,[ebx+edx] add esi,ecx sub ebp,esi mov esi,[eax+04h] mov [esp+2Ch],ebp mov ebp,[esp+38h] sub ebp,esi mov esi,[edi] sub ebp,esi mov esi,[esp+30h] add esi,ebp mov ebp,[eax+08h] mov eax,[edi+04h] mov [esp+30h],esi add ebp,eax sub ebp,ebx xor ebx,ebx sub ebp,edx mov [esp+14h],ebx sub ebp,ecx cmp esi,ebx mov [esp+18h],ebx mov [esp+34h],bl jge L0046367A pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ L0046367A: mov eax,[edi+0000022Ch] mov eax,[eax+08h] push eax call SUB_L004C5BC0 mov ecx,[edi+0000022Ch] mov esi,[ecx] push esi call SUB_L004C4300 add esp,00000008h test eax,eax jnz L004636AF call SUB_L004C5C40 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ L004636AF: cmp word ptr [esi],0000h jz L00463851 mov ecx,00000012h lea edx,[esi+02h] mov dword ptr [esp+38h],00000001h mov [esp+1Ch],ecx mov [esp+10h],edx jmp L004636D8 L004636D3: mov ecx,00000012h L004636D8: mov eax,[esp+30h] mov edx,[esp+18h] cmp eax,edx jl L004636EF cmp eax,[esp+1Ch] jge L004636EF mov byte ptr [esp+34h],01h L004636EF: mov ax,[esi] cmp ax,000Ah jnz L00463729 mov al,[esp+34h] test al,al jnz L00463851 test byte ptr [edi+28h],01h jnz L00463827 mov edx,[esp+18h] mov eax,[esp+1Ch] add edx,ecx add eax,ecx mov [esp+18h],edx mov [esp+1Ch],eax xor ebx,ebx jmp L00463827 L00463729: push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L00463752 mov eax,[esp+10h] mov dx,[esi] mov cx,[eax] push ecx push edx call SUB_L004C45E0 add esp,00000008h test al,al jz L004637ED L00463752: test byte ptr [edi+28h],19h jnz L004637ED mov eax,[edi+0000022Ch] mov ecx,[eax+08h] mov [esp+24h],ecx call SUB_L004C5C40 mov edx,[esp+38h] mov ecx,edi push edx push 00000000h call SUB_L004630D0 mov edi,eax mov ax,[esi] push eax call SUB_L004C5F40 mov ecx,[esp+28h] add edi,eax push ecx call SUB_L004C5BC0 add edi,ebx add esp,00000008h cmp edi,ebp jl L004637E9 mov al,[esp+34h] test al,al jnz L00463851 mov ecx,[esp+18h] mov ebx,[esp+1Ch] mov edi,[esp+14h] mov edx,[esp+38h] mov eax,00000012h add ecx,eax add ebx,eax mov [esp+18h],ecx mov ecx,[esp+10h] mov [esp+1Ch],ebx xor ebx,ebx inc edi inc edx add ecx,00000002h mov [esp+14h],edi mov edi,[esp+20h] mov [esp+38h],edx mov [esp+10h],ecx add esi,00000002h jmp L00463847 L004637E9: mov edi,[esp+20h] L004637ED: mov al,[esp+34h] test al,al jz L00463811 cmp [esp+2Ch],ebx jl L00463811 mov dx,[esi] push edx call SUB_L004C5F40 mov ecx,[esp+30h] add eax,ebx add esp,00000004h cmp ecx,eax jl L00463851 L00463811: mov eax,[esp+2Ch] test eax,eax jl L00463851 mov ax,[esi] push eax call SUB_L004C5F40 add esp,00000004h add ebx,eax L00463827: mov eax,[esp+14h] mov edx,[esp+38h] mov ecx,[esp+10h] inc eax inc edx add ecx,00000002h mov [esp+14h],eax mov [esp+38h],edx mov [esp+10h],ecx add esi,00000002h L00463847: cmp word ptr [esi],0000h jnz L004636D3 L00463851: call SUB_L004C5C40 mov eax,[esp+14h] pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00463870: sub esp,00000010h xor edx,edx push ebx push ebp push esi mov esi,ecx push edi cmp [esi+20h],edx jnz L0046388C pop edi pop esi pop ebp xor al,al pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L0046388C: test byte ptr [esi+28h],02h jz L0046389E pop edi pop esi pop ebp xor al,al pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L0046389E: mov eax,[esp+30h] cmp eax,edx jnz L004638B2 pop edi pop esi pop ebp xor al,al pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L004638B2: cmp [esp+24h],edx jge L004638C4 pop edi pop esi pop ebp xor al,al pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L004638C4: mov ecx,[esi+0000022Ch] mov ebp,[esi+0Ch] mov ebx,[eax] mov edi,[esp+34h] mov ecx,[ecx+10h] mov [esp+30h],edx add ecx,ebp mov [esp+14h],edx add ecx,ebx mov ebx,[esp+28h] mov [esp+18h],edx mov [ebx],ecx mov ecx,[eax+04h] mov ebp,[esi] sub ecx,edi mov edi,[esp+2Ch] add ecx,ebp mov [edi],ecx mov ecx,[esi+0000022Ch] mov ebp,[eax+08h] mov edi,[ecx+10h] mov edx,[ecx+08h] sub ebp,edi mov edi,[esi+04h] add ebp,edi mov edi,[esi+0Ch] sub ebp,edi mov edi,[eax] push edx sub ebp,edi call SUB_L004C5BC0 mov eax,[esi+0000022Ch] mov edi,[eax] push edi call SUB_L004C4300 add esp,00000008h test eax,eax jz L00463A53 cmp word ptr [edi],0000h jz L00463A3F lea ecx,[edi+02h] mov dword ptr [esp+34h],00000001h mov [esp+10h],ecx L00463952: mov edx,[esp+30h] mov eax,[esp+24h] cmp edx,eax jz L00463A64 mov ax,[edi] cmp ax,000Ah jnz L00463977 test byte ptr [esi+28h],01h jnz L00463A11 jmp L004639E6 L00463977: push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L0046399C mov eax,[esp+10h] mov dx,[edi] mov cx,[eax] push ecx push edx call SUB_L004C45E0 add esp,00000008h test al,al jz L004639FB L0046399C: test byte ptr [esi+28h],19h jnz L004639FB mov eax,[esi+0000022Ch] mov ecx,[eax+08h] mov [esp+1Ch],ecx call SUB_L004C5C40 mov edx,[esp+34h] mov ecx,esi push edx push 00000000h call SUB_L004630D0 mov ebx,eax mov ax,[edi] push eax call SUB_L004C5F40 mov ecx,[esp+20h] add ebx,eax push ecx call SUB_L004C5BC0 mov edx,[esp+1Ch] add esp,00000008h add ebx,edx cmp ebx,ebp jl L004639FB L004639E6: mov eax,[esp+18h] mov dword ptr [esp+14h],00000000h add eax,00000012h mov [esp+18h],eax jmp L00463A11 L004639FB: mov ax,[edi] push eax call SUB_L004C5F40 mov ecx,[esp+18h] add esp,00000004h add ecx,eax mov [esp+14h],ecx L00463A11: mov ebx,[esp+30h] mov edx,[esp+34h] mov ecx,[esp+10h] add edi,00000002h inc ebx inc edx add ecx,00000002h cmp word ptr [edi],0000h mov [esp+30h],ebx mov ebx,[esp+28h] mov [esp+34h],edx mov [esp+10h],ecx jnz L00463952 L00463A3F: mov eax,[esp+14h] mov esi,[ebx] mov ecx,[esp+18h] add esi,eax mov eax,[esp+2Ch] mov [ebx],esi add [eax],ecx L00463A53: call SUB_L004C5C40 pop edi pop esi pop ebp mov al,01h pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L00463A64: mov ecx,[esp+14h] mov edx,[ebx] mov eax,[esp+2Ch] add edx,ecx mov [ebx],edx mov edx,[esp+18h] add [eax],edx call SUB_L004C5C40 pop edi pop esi pop ebp mov al,01h pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 8 SUB_L00463A90: push FFFFFFFFh push L004E3773 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] mov ecx,[esp+30h] mov dword ptr [esi],L004EDA5C xor ebx,ebx mov [esi+0000009Ch],eax mov [esi+000000A0h],ecx mov [esi+000000A4h],bl mov edx,[esp+2Ch] mov byte ptr [esi+000000A5h],01h mov [esi+000000A6h],bl mov [esi+000000AAh],bl mov [esi+000000A7h],bl mov [esi+000000A8h],bl mov [esi+000000A9h],bl mov [esi+000000B4h],ebx or eax,FFFFFFFFh mov [esi+000000B8h],ebx mov ebp,00000001h push SSZ00504890_HTMLBox_framedata mov [esi+000000BCh],eax push 00000008h mov [esp+24h],ebx mov [esi+000000C0h],eax mov [esi+000000E8h],edx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+000000F0h],ebx mov [esi+000000F8h],ebp mov [esi+000000ECh],ebx mov [esi+000000F4h],ebp mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov al,[esi+000000E8h] test al,04h mov [esi+000000FCh],ebx jz L00463C01 mov [esi+00000100h],ebx jmp L00463C31 L00463C01: push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00463C25 push esi mov ecx,eax call SUB_L00435210 jmp L00463C27 L00463C25: xor eax,eax L00463C27: mov [esp+1Ch],bl mov [esi+00000100h],eax L00463C31: test dword ptr [esi+000000E8h],00002001h jz L00463C99 mov dword ptr [esi+000000C4h],00000BB8h mov dword ptr [esi+000000C8h],00000BB9h mov dword ptr [esi+000000CCh],00000BBAh mov dword ptr [esi+000000D0h],00000BBBh mov dword ptr [esi+000000D4h],00000BBCh mov dword ptr [esi+000000D8h],00000BBDh mov dword ptr [esi+000000DCh],00000BBEh mov dword ptr [esi+000000E0h],00000BBFh mov dword ptr [esi+000000E4h],00000BC0h jmp L00463CF3 L00463C99: mov dword ptr [esi+000000C4h],00000DACh mov dword ptr [esi+000000C8h],00000DADh mov dword ptr [esi+000000CCh],00000DAEh mov dword ptr [esi+000000D0h],00000DAFh mov dword ptr [esi+000000D4h],00000DB0h mov dword ptr [esi+000000D8h],00000DB1h mov dword ptr [esi+000000DCh],00000DB2h mov dword ptr [esi+000000E0h],00000DB3h mov dword ptr [esi+000000E4h],00000DB4h L00463CF3: cmp [esp+34h],bl jz L00463D06 mov eax,[esp+24h] push ebp push eax mov ecx,esi call SUB_L004587A0 L00463D06: mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 4 L00463D20: push esi mov esi,ecx call SUB_L00463D40 test byte ptr [esp+08h],01h jz L00463D38 push esi call SUB_L004D4F9E add esp,00000004h L00463D38: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00463D40: push FFFFFFFFh push L004E3788 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EDA5C mov edi,[esi+000000FCh] mov dword ptr [esp+14h],00000000h test edi,edi jz L00463D86 mov ecx,edi call SUB_L00460620 push edi call SUB_L004D4F9E add esp,00000004h L00463D86: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L00463DA8 push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L00463DA8: mov eax,[esi+3Ch] test eax,eax jz L00463DC4 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00463DC4: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00463DF0: sub esp,00000010h mov eax,[esp+14h] push ebx push ebp push esi mov esi,ecx mov ecx,[esp+24h] push edi mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] push eax call SUB_L004D4F9E mov eax,[esp+30h] mov ecx,[esp+34h] mov [esi+1Ch],eax mov [esi+20h],eax imul eax,ecx mov [esi+24h],ecx push SSZ00504880_HTMLBox_frame0 lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] lea eax,[esp+30h] push eax mov [ecx+02h],dx mov edx,[esi+000000C8h] lea ecx,[esp+24h] push ecx push edx call SUB_L004434A0 mov edx,[esi+000000D0h] lea eax,[esp+30h] lea ecx,[esp+40h] push eax push ecx push edx call SUB_L004434A0 lea eax,[esp+40h] lea ecx,[esp+34h] push eax push ecx push 000000FCh call SUB_L004434A0 mov ecx,[esi+000000E8h] mov edx,[esi+24h] mov edi,[esp+58h] xor eax,eax mov [esi+000000F0h],eax mov [esi+000000ECh],eax mov eax,[esi+20h] mov ebx,ecx add esp,00000030h and ebx,00000080h mov [esi+000000F8h],edx mov [esi+000000F4h],eax jnz L00463EF2 mov ebp,[esp+24h] mov [esi+000000ECh],edi mov [esi+000000F0h],ebp mov ebp,edx sub ebp,[esp+24h] sub eax,edi mov [esi+000000F4h],eax mov [esi+000000F8h],ebp L00463EF2: test cl,04h jnz L00463F09 mov eax,[esp+10h] mov ecx,[esi+000000F4h] sub ecx,eax mov [esi+000000F4h],ecx L00463F09: mov ecx,[esi+00000100h] test ecx,ecx jz L00463F47 mov eax,[esi+000000F0h] mov ebp,[esi+000000F8h] cmp ebp,eax jle L00463F47 test ebx,ebx push edx jnz L00463F3A mov ebp,[esp+28h] mov edx,[esi+000000F4h] sub eax,ebp add edi,edx push eax push edi jmp L00463F42 L00463F3A: mov edx,[esi+000000F4h] push eax push edx L00463F42: call SUB_L00435500 L00463F47: mov ecx,esi call SUB_L004641D0 pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00463F60: mov eax,fs:[00000000h] push FFFFFFFFh push L004E37AB push eax mov fs:[00000000h],esp push ebx push esi mov esi,ecx push edi mov edi,[esi+000000FCh] test edi,edi jz L00463F94 mov ecx,edi call SUB_L00460620 push edi call SUB_L004D4F9E add esp,00000004h L00463F94: mov ebx,[esp+1Ch] push ebx call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 mov edi,eax push ebx push edi call SUB_L004C4430 push 0000293Ch call SUB_L004D4FA9 add esp,00000014h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00463FE4 mov ecx,[esp+20h] mov edx,[esi+000000E8h] push ecx push edx push edi mov ecx,eax call SUB_L00460560 jmp L00463FE6 L00463FE4: xor eax,eax L00463FE6: push edi mov dword ptr [esp+18h],FFFFFFFFh mov [esi+000000FCh],eax call SUB_L004D4F9E mov ecx,[esi+00000100h] add esp,00000004h test ecx,ecx mov dword ptr [esi+000000B4h],00000064h mov dword ptr [esi+000000B8h],00000000h jz L00464024 push 00000064h push 00000000h call SUB_L00435670 L00464024: mov ecx,esi call SUB_L004641D0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 L00464040: push esi mov esi,ecx push edi mov edi,[esi+000000B4h] test edi,edi jle L004640A0 mov ecx,[esp+10h] test ecx,ecx jle L004640A0 mov eax,edi imul eax,[esp+0Ch] cdq idiv ecx test eax,eax mov [esi+000000B8h],eax jge L00464074 mov dword ptr [esi+000000B8h],00000000h L00464074: cmp [esi+000000B8h],edi jle L00464082 mov [esi+000000B8h],edi L00464082: mov ecx,[esi+00000100h] test ecx,ecx jz L00464099 mov eax,[esi+000000B8h] push edi push eax call SUB_L00435670 L00464099: mov ecx,esi call SUB_L004641D0 L004640A0: pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004640B0: mov edx,[esp+04h] push esi mov esi,ecx test edx,edx mov eax,[esi+000000B8h] mov ecx,eax jnz L004640C8 add eax,FFFFFFEEh jmp L004640CB L004640C8: add eax,00000012h L004640CB: test eax,eax mov [esi+000000B8h],eax jge L004640DF mov dword ptr [esi+000000B8h],00000000h L004640DF: mov edx,[esi+000000B4h] mov eax,[esi+000000B8h] cmp eax,edx jle L004640F5 mov [esi+000000B8h],edx L004640F5: mov eax,[esi+000000B8h] cmp eax,ecx jz L00464139 test eax,eax jge L0046410D mov dword ptr [esi+000000B8h],00000000h L0046410D: cmp [esi+000000B8h],edx jle L0046411B mov [esi+000000B8h],edx L0046411B: mov ecx,[esi+00000100h] test ecx,ecx jz L00464132 mov eax,[esi+000000B8h] push edx push eax call SUB_L00435670 L00464132: mov ecx,esi call SUB_L004641D0 L00464139: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00464140: push ecx push ebx push ebp push esi mov esi,[esp+14h] mov ebp,ecx push edi mov edx,[esi+04h] mov eax,[esi] mov ecx,[ebp+20h] mov edi,[esi+08h] imul ecx,edx sub edi,eax add ecx,eax mov eax,[ebp+3Ch] mov [esp+10h],ebp mov eax,[eax+04h] lea ebx,[eax+ecx*2+04h] mov cl,[L00C8C4A4] neg cl mov eax,[esi+0Ch] sbb ecx,ecx and ecx,00008000h add ecx,00007FFFh mov [esp+18h],ecx mov ecx,edx cmp ecx,eax jge L004641C6 L0046418E: test edi,edi jle L004641B8 mov edx,ebx mov ebp,edi L00464196: mov ax,[edx] test ax,ax jz L004641A9 not eax and eax,[esp+18h] mov [edx],ax jmp L004641AE L004641A9: mov word ptr [edx],0001h L004641AE: add edx,00000002h dec ebp jnz L00464196 mov ebp,[esp+10h] L004641B8: mov edx,[ebp+20h] mov eax,[esi+0Ch] inc ecx cmp ecx,eax lea ebx,[ebx+edx*2] jl L0046418E L004641C6: pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004641D0: sub esp,0000005Ch push esi mov esi,ecx push edi test byte ptr [esi+000000E8h],80h jnz L004645DF push ebx lea eax,[esp+30h] push ebp lea ecx,[esp+30h] push eax push ecx push 000000FCh call SUB_L004434A0 mov eax,[esi+00000100h] mov edi,[esi+20h] xor ebx,ebx add esp,0000000Ch cmp eax,ebx mov [esp+20h],edi jz L00464218 sub edi,[esp+30h] mov [esp+20h],edi L00464218: mov edx,[esi+24h] lea eax,[esp+24h] mov [esp+58h],edx mov edx,[esi+000000C4h] lea ecx,[esp+18h] push eax push ecx push edx mov [esp+5Ch],ebx mov [esp+58h],ebx mov [esp+60h],edi call SUB_L004434A0 mov edx,[esi+000000C8h] lea eax,[esp+20h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000000CCh] lea eax,[esp+40h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+000000C4h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+00000080h] push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esp+58h] mov eax,edi mov [esp+0000008Ch],edx sub eax,ecx mov [esp+00000084h],ebx mov [esp+00000088h],eax mov eax,[esi+20h] mov edx,eax mov [esp+00000080h],ebx mov ebx,[esp+5Ch] sub edx,ecx add esp,00000044h cmp ebx,edx jge L00464314 L004642D4: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000000C8h] add eax,00000004h lea ecx,[esp+44h] push eax push 00000000h push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov ecx,[esp+30h] add ebx,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp ebx,edx jl L004642D4 L00464314: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,edi add edx,00000004h sub eax,ecx push edx mov edx,[esi+000000CCh] push 00000000h lea ecx,[esp+5Ch] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ebp,[esp+34h] mov ebx,[esi+24h] mov edx,[esi+000000D0h] lea ecx,[esp+38h] lea eax,[ebp+ebp+00h] mov [esp+4Ch],ebp mov [esp+58h],eax sub ebx,eax lea eax,[esp+44h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000000D4h] lea eax,[esp+40h] lea ecx,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000000D8h] lea eax,[esp+60h] lea ecx,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov ecx,[esp+68h] mov eax,[esp+58h] add esp,00000044h cmp ecx,eax jge L004643AF mov eax,ecx mov [esp+14h],eax L004643AF: mov ecx,[esp+28h] cmp ecx,eax jge L004643BB mov [esp+14h],ecx L004643BB: mov eax,[esp+2Ch] add ebx,ebp cmp eax,ebx mov [esp+40h],ebp mov dword ptr [esp+3Ch],00000000h mov [esp+44h],edi mov [esp+48h],ebx jge L004644C2 L004643DD: mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+000000D0h] add eax,00000004h push ecx push eax push ebp lea ecx,[esp+4Ch] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+4Ch] mov ecx,[esp+30h] mov [esp+00000080h],eax mov eax,[esi+20h] sub edi,ecx mov edx,eax mov [esp+00000084h],edi mov edi,[esp+38h] sub edx,ecx add esp,00000020h cmp edi,edx mov dword ptr [esp+5Ch],00000000h mov [esp+68h],ebx jge L0046447D L0046443E: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000000D4h] add eax,00000004h lea ecx,[esp+64h] push eax push ebp push edi push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov ecx,[esp+30h] add edi,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp edi,edx jl L0046443E L0046447D: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,[esp+28h] add edx,00000004h sub eax,ecx push edx mov edx,[esi+000000D8h] push ebp lea ecx,[esp+4Ch] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+34h] mov edi,[esp+40h] add ebp,ecx add esp,00000020h cmp ebp,ebx jl L004643DD L004644C2: mov edx,[esi+000000DCh] lea eax,[esp+24h] lea ecx,[esp+18h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000000E0h] lea eax,[esp+20h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000000E4h] lea eax,[esp+40h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+000000DCh] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+00000080h] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esi+24h] mov eax,edi mov ebp,[esp+5Ch] sub eax,ecx mov [esp+0000008Ch],edx mov [esp+00000088h],eax mov eax,[esi+20h] mov edx,eax add esp,00000044h sub edx,ecx mov ecx,ebp cmp ecx,edx mov [esp+40h],ebx mov dword ptr [esp+3Ch],00000000h jge L004645AA L0046456B: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000000E0h] add eax,00000004h lea ecx,[esp+44h] push eax push ebx push ebp push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov edx,[esp+30h] add ebp,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp ebp,ecx jl L0046456B L004645AA: mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] mov ebp,[esp+10h] push edx mov edx,[ecx+04h] mov ecx,[esi+000000E4h] add edx,00000004h push eax push edx sub edi,ebp push ebx lea eax,[esp+5Ch] push edi push eax push ecx push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h pop ebp pop ebx L004645DF: mov edx,[esi+000000E8h] mov eax,[esi+000000C0h] mov ecx,[esi+000000BCh] and edx,00000080h push edx mov edx,[esi+000000B8h] push eax mov eax,[esi+24h] push ecx mov ecx,[esi+20h] lea edi,[esi+000000ECh] push edx mov edx,[esi+3Ch] push edi push eax push ecx mov eax,[edx+04h] mov ecx,[esi+000000FCh] add eax,00000004h push eax call SUB_L00461D90 mov ecx,[esi+000000F0h] mov edx,[esi+000000F8h] sub ecx,edx add eax,ecx cmp eax,00000001h mov [esi+000000B4h],eax jge L0046464A mov dword ptr [esi+000000B4h],00000001h L0046464A: mov ecx,[esi+00000100h] test ecx,ecx jz L00464667 mov edx,[esi+000000B4h] mov eax,[esi+000000B8h] push edx push eax call SUB_L00435670 L00464667: mov al,[esi+000000A4h] test al,al jz L00464679 push edi mov ecx,esi call SUB_L00464140 L00464679: pop edi pop esi add esp,0000005Ch retn ;------------------------------------------------------------------------------ Align 4 L00464680: push ebx push ebp push esi mov esi,ecx push edi mov edi,[USER32.dll!GetKeyState] mov al,[esi+000000A8h] mov ebx,00000001h test al,al jz L004646B8 push 00000010h call edi and eax,00008000h cmp eax,00008000h jz L004646B8 mov byte ptr [esi+000000A8h],00h mov [esi+000000A9h],bl L004646B8: mov al,[esi+000000A9h] test al,al jz L00464715 push 00000010h call edi and eax,00008000h cmp eax,00008000h jnz L004646DF mov [esi+000000A8h],bl mov byte ptr [esi+000000A9h],00h L004646DF: mov al,[esi+000000A9h] test al,al jz L00464715 mov eax,[esp+18h] mov ecx,[esp+14h] mov edx,[esi+000000ACh] push ebx push 00000000h push ebx mov ebx,[esi+000000B0h] sub ecx,edx sub eax,ebx push eax push ecx mov ecx,esi call SUB_L00457800 pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L00464715: mov al,[esi+000000A8h] test al,al jz L00464787 mov edi,[esi+20h] mov ebp,[esi+000000ACh] mov ebx,[esi+24h] mov edx,[esi+000000B0h] mov ecx,[esp+18h] sub edi,ebp mov ebp,[esp+14h] sub ebx,edx add edi,ebp add ebx,ecx cmp edi,0000001Eh jl L00464845 cmp ebx,0000001Eh jl L00464845 mov edx,[esi+34h] mov eax,[esi+30h] push ebx push edi push edx push eax mov ecx,esi call SUB_L00463DF0 mov ecx,[esp+18h] mov [esi+000000ACh],ebp mov [esi+000000B0h],ecx mov [L00504630],edi pop edi pop esi mov [L00504634],ebx pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L00464787: test byte ptr [esi+000000E8h],02h jnz L00464845 mov ebx,[esp+14h] mov eax,[esi+000000ECh] lea ebp,[esi+000000ECh] cmp ebx,eax jl L00464845 cmp ebx,[esi+000000F4h] jge L00464845 mov edi,[esp+18h] mov eax,[esi+000000F0h] cmp edi,eax jl L00464845 cmp edi,[esi+000000F8h] jge L00464845 mov al,[esi+000000A5h] test al,al jz L00464807 mov eax,[esi+000000FCh] mov byte ptr [esi+000000A5h],00h test eax,eax jz L00464807 mov eax,[eax+0000022Ch] test eax,eax jz L00464807 mov eax,[eax] test eax,eax jz L00464807 push L007050D8 push eax call SUB_L004C4430 add esp,00000008h L00464807: mov edx,[esi+000000B8h] mov ecx,[esi+000000FCh] push edx push ebp push edi push ebx call SUB_L004635D0 test eax,eax jl L00464830 mov ecx,[esi+000000BCh] test ecx,ecx jl L00464830 mov [esi+000000C0h],eax L00464830: mov ecx,esi call SUB_L004641D0 call SUB_L00456C40 push esi call SUB_L00456DC0 add esp,00000004h L00464845: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00464850: push esi mov esi,ecx mov al,[esi+000000A5h] test al,al jz L0046488C mov eax,[esi+000000FCh] mov byte ptr [esi+000000A5h],00h test eax,eax jz L0046488C mov eax,[eax+0000022Ch] test eax,eax jz L0046488C mov eax,[eax] test eax,eax jz L0046488C push L007050D8 push eax call SUB_L004C4430 add esp,00000008h L0046488C: mov ecx,esi mov dword ptr [esi+000000BCh],00000000h mov dword ptr [esi+000000C0h],00000000h call SUB_L004641D0 call SUB_L00456C40 push esi call SUB_L00456DC0 add esp,00000004h pop esi retn ;------------------------------------------------------------------------------ Align 16 L004648C0: mov eax,[esp+04h] mov edx,[esp+08h] push esi mov esi,ecx mov cl,[esi+000000A7h] mov [esi+000000ACh],eax test cl,cl mov [esi+000000B0h],edx jz L00464908 push 00000010h call [USER32.dll!GetKeyState] and eax,00008000h cmp eax,00008000h jnz L00464900 mov byte ptr [esi+000000A8h],01h pop esi retn 0008h ;------------------------------------------------------------------------------ L00464900: mov edx,[esp+0Ch] mov eax,[esp+08h] L00464908: mov cl,[esi+000000A6h] test cl,cl jz L0046491D mov byte ptr [esi+000000A9h],01h pop esi retn 0008h ;------------------------------------------------------------------------------ L0046491D: mov cl,[esi+000000E8h] push edi test cl,02h jnz L004649E8 mov ecx,[esi+000000ECh] lea edi,[esi+000000ECh] cmp eax,ecx jl L004649E8 cmp eax,[esi+000000F4h] jge L004649E8 cmp edx,[esi+000000F0h] jl L004649E8 cmp edx,[esi+000000F8h] jge L004649E8 mov cl,[esi+000000A5h] test cl,cl jz L004649A6 mov ecx,[esi+000000FCh] mov byte ptr [esi+000000A5h],00h test ecx,ecx jz L004649A6 mov ecx,[ecx+0000022Ch] test ecx,ecx jz L004649A6 mov ecx,[ecx] test ecx,ecx jz L004649A6 push L007050D8 push ecx call SUB_L004C4430 mov edx,[esp+18h] mov eax,[esp+14h] add esp,00000008h L004649A6: mov ecx,[esi+000000B8h] push ecx mov ecx,[esi+000000FCh] push edi push edx push eax call SUB_L004635D0 test eax,eax jl L004649CB mov [esi+000000BCh],eax mov [esi+000000C0h],eax L004649CB: mov ecx,esi call SUB_L004641D0 call SUB_L00456C40 push esi call SUB_L00456DC0 mov edx,[esp+14h] mov eax,[esp+10h] add esp,00000004h L004649E8: mov ecx,[esi+000000E8h] pop edi test ch,02h jz L00464A28 cmp eax,[esi+000000ECh] jl L00464A28 cmp eax,[esi+000000F4h] jge L00464A28 cmp edx,[esi+000000F0h] jl L00464A28 cmp edx,[esi+000000F8h] jge L00464A28 mov edx,[esi+4Ch] mov eax,[esi+0000009Ch] mov [edx+0Ch],eax mov ecx,[esi+4Ch] call SUB_L004216F0 L00464A28: mov eax,[esi+4Ch] test eax,eax jz L00464A73 lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx push edx mov ecx,esi call SUB_L00457C90 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,[esi+4Ch] call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L00464A73 mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+14h] L00464A73: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00464A80: mov eax,[esp+08h] sub esp,00000300h push esi mov esi,ecx mov ecx,[esp+00000308h] push eax push ecx mov ecx,esi call SUB_L00447D90 push 00000000h call SUB_L00476670 mov al,[esi+000000A9h] add esp,00000004h test al,al jz L00464AC2 mov edx,[esi+30h] mov [L00504638],edx mov eax,[esi+34h] mov [L0050463C],eax L00464AC2: mov al,[esi+000000E8h] push edi test al,60h mov byte ptr [esi+000000A9h],00h mov byte ptr [esi+000000A8h],00h jnz L00464BA2 mov edx,[esp+00000310h] mov eax,[esp+0000030Ch] lea ecx,[esp+08h] mov word ptr [esp+08h],0000h push ecx mov ecx,[esi+000000FCh] push edx push eax call SUB_L004633F0 mov edi,eax test edi,edi jl L00464BA2 lea ecx,[esp+08h] push ecx call SUB_L004C4300 add esp,00000004h test eax,eax jnz L00464B50 mov eax,[esi+000000B4h] mov [esi+000000B8h],edi cmp edi,eax jle L00464B37 mov [esi+000000B8h],eax L00464B37: mov ecx,[esi+00000100h] test ecx,ecx jz L00464B9B mov edx,[esi+000000B8h] push eax push edx call SUB_L00435670 jmp L00464B9B L00464B50: or eax,FFFFFFFFh test edi,edi mov [esi+000000BCh],eax mov [esi+000000C0h],eax jz L00464B74 lea eax,[esp+08h] push eax push 00000001h call SUB_L0049DAD0 add esp,00000008h jmp L00464BA2 L00464B74: call SUB_L004BCEE0 lea ecx,[esp+08h] lea edx,[esp+00000208h] push ecx push edx call SUB_L004C4520 lea eax,[esp+00000210h] push eax call SUB_L004D1450 add esp,0000000Ch L00464B9B: mov ecx,esi call SUB_L004641D0 L00464BA2: mov eax,[esi+4Ch] pop edi test eax,eax jz L00464C00 lea ecx,[esp+0000030Ch] lea edx,[esp+00000308h] push ecx push edx mov ecx,esi call SUB_L00457C90 lea eax,[esp+0000030Ch] lea ecx,[esp+00000308h] push eax push ecx mov ecx,[esi+4Ch] call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L00464C00 mov edx,[esp+0000030Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0000030Ch] mov eax,[ecx] push edx call [eax+18h] L00464C00: pop esi add esp,00000300h retn 0008h ;------------------------------------------------------------------------------ Align 8 L00464C10: push ecx push ebx push esi push edi mov edi,[USER32.dll!GetKeyState] xor bl,bl mov esi,ecx push 00000011h mov [esp+10h],bl call edi test ax,ax jl L00464C42 push 00000012h call edi test ax,ax jl L00464C42 push 00000010h call edi test ax,ax setl bl mov [esp+0Ch],bl L00464C42: mov edi,[esp+14h] cmp edi,0000E025h jg L00464F27 jz L00464E9B cmp edi,0000001Bh jg L00464D51 jz L00464D36 mov eax,edi sub eax,00000008h jz L00464CE5 dec eax jz L00464CA3 sub eax,00000004h jnz CASE_00465380_PROC0003 test byte ptr [esi+000000E8h],03h jnz L00465379 push 00000000h mov ecx,esi call SUB_L00465490 push L005048B0 mov ecx,esi call SUB_L00465610 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464CA3: test byte ptr [esi+000000E8h],02h jnz L00465379 mov eax,[esi+000000A0h] test eax,eax jz L00464CC9 mov ecx,[esi+4Ch] mov eax,[ecx] call [eax+50h] pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464CC9: push 00000000h mov ecx,esi call SUB_L00465490 push SWC005048A4_____ mov ecx,esi call SUB_L00465610 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464CE5: test byte ptr [esi+000000E8h],02h jnz L00465379 mov eax,[esi+000000BCh] mov ecx,[esi+000000C0h] cmp eax,ecx jz L00464D12 push 00000000h mov ecx,esi call SUB_L00465490 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464D12: test eax,eax jle L00465379 dec eax dec ecx mov [esi+000000BCh],eax mov [esi+000000C0h],ecx L00464D28: mov ecx,esi call SUB_L004655A0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464D36: call SUB_L00456C40 or eax,FFFFFFFFh pop edi mov [esi+000000BCh],eax mov [esi+000000C0h],eax pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464D51: mov eax,edi sub eax,0000E023h jz L00464DD0 dec eax jnz CASE_00465380_PROC0003 test byte ptr [esi+000000E8h],02h jnz L00465379 test bl,bl jz L00464D9F mov eax,[esi+000000C0h] test eax,eax jl L00465379 mov ecx,esi mov dword ptr [esi+000000C0h],00000000h call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464D9F: mov ecx,[esi+000000BCh] xor eax,eax cmp ecx,eax jl L00465379 mov ecx,esi mov [esi+000000BCh],eax mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464DD0: test byte ptr [esi+000000E8h],02h jnz L00465379 mov eax,[esi+000000FCh] test bl,bl jz L00464E34 test eax,eax jz L00465379 mov ecx,[eax+20h] test ecx,ecx jz L00465379 mov ecx,[esi+000000C0h] test ecx,ecx jl L00465379 mov ecx,[eax+0000022Ch] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000004h mov ecx,esi mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464E34: test eax,eax jz L00465379 mov ecx,[eax+20h] test ecx,ecx jz L00465379 mov ecx,[esi+000000BCh] test ecx,ecx jl L00465379 mov eax,[eax+0000022Ch] mov ecx,[eax] push ecx call SUB_L004C4300 mov edx,[esi+000000FCh] mov [esi+000000BCh],eax mov eax,[edx+0000022Ch] mov ecx,[eax] push ecx call SUB_L004C4300 add esp,00000008h mov ecx,esi mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464E9B: test byte ptr [esi+000000E8h],02h jnz L00465379 test bl,bl jz L00464ED6 mov eax,[esi+000000C0h] test eax,eax jle L00465266 dec eax mov ecx,esi mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464ED6: mov eax,[esi+000000BCh] test eax,eax jle L00464F02 dec eax mov ecx,esi mov [esi+000000BCh],eax mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464F02: jnz L00465379 mov ecx,esi mov dword ptr [esi+000000C0h],00000000h call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00464F27: lea eax,[edi-0000E026h] cmp eax,00000008h ja CASE_00465380_PROC0003 jmp [CASE_PROCTABLE_00465380+eax*4] CASE_00465380_PROC0008: test byte ptr [esi+000000E8h],02h jnz L00465379 mov edx,[esi+000000BCh] mov eax,[esi+000000C0h] cmp edx,eax jz L00464D28 mov eax,[esp+0Ch] mov ecx,esi push eax call SUB_L00465490 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ CASE_00465380_PROC0007: test byte ptr [esi+000000E8h],02h jnz L00465379 test bl,bl jz L00465379 mov ecx,[esi+000000BCh] mov eax,[esi+000000C0h] cmp ecx,eax jz L00464F9F push 00000000h mov ecx,esi call SUB_L00465490 L00464F9F: mov edx,[L00C42CCC] mov ecx,esi push edx call SUB_L00465610 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ CASE_00465380_PROC0001: test byte ptr [esi+000000E8h],02h jnz L00465379 mov eax,[esi+000000FCh] test bl,bl jz L0046500B test eax,eax jz L00465379 mov ecx,[eax+20h] test ecx,ecx jz L00465379 mov eax,[eax+0000022Ch] mov edi,[esi+000000C0h] mov ecx,[eax] push ecx call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L00465379 test edi,edi jl L00465379 inc edi jmp L00465260 L0046500B: test eax,eax jz L00465059 mov ecx,[eax+20h] test ecx,ecx jz L00465059 mov edx,[eax+0000022Ch] mov edi,[esi+000000BCh] mov eax,[edx] push eax call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L00465059 test edi,edi jl L00465059 lea eax,[edi+01h] mov ecx,esi mov [esi+000000BCh],eax mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00465059: mov eax,[esi+000000FCh] test eax,eax jz L00465379 mov ecx,[eax+20h] test ecx,ecx jz L00465379 mov ecx,[eax+0000022Ch] mov edi,[esi+000000BCh] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000004h cmp edi,eax jg L00465379 test edi,edi jl L00465379 jmp L00465260 CASE_00465380_PROC0002: test byte ptr [esi+000000E8h],03h jnz L00465379 mov ecx,[esi+000000FCh] test bl,bl jz L00465127 test ecx,ecx jz L00465379 mov eax,[esi+000000B8h] lea edi,[esi+000000ECh] push eax lea edx,[esp+18h] push edi push edx mov edx,[esi+000000C0h] lea eax,[esp+18h] push eax push edx call SUB_L00463870 test al,al jz L00465379 mov eax,[esi+000000B8h] mov ecx,[esp+14h] mov edx,[esp+0Ch] push eax add ecx,00000012h push edi push ecx mov ecx,[esi+000000FCh] push edx call SUB_L004635D0 mov edi,eax test edi,edi jl L00465379 mov eax,[esi+000000FCh] mov ecx,[eax+0000022Ch] mov edx,[ecx] push edx jmp L00465250 L00465127: test ecx,ecx jz L00465332 mov eax,[esi+000000B8h] lea edi,[esi+000000ECh] push eax lea edx,[esp+18h] push edi push edx mov edx,[esi+000000BCh] lea eax,[esp+18h] push eax push edx call SUB_L00463870 test al,al jz L00465332 mov eax,[esi+000000B8h] mov ecx,[esp+14h] mov edx,[esp+0Ch] push eax add ecx,00000012h push edi push ecx mov ecx,[esi+000000FCh] push edx call SUB_L004635D0 mov edi,eax test edi,edi jl L004651A7 mov eax,[esi+000000FCh] mov ecx,[eax+0000022Ch] mov edx,[ecx] push edx call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L004651A7 mov [esi+000000BCh],edi jmp L00465260 L004651A7: mov eax,[esi+000000BCh] mov ecx,esi mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ CASE_00465380_PROC0000: test byte ptr [esi+000000E8h],03h jnz L00465379 mov ecx,[esi+000000FCh] test bl,bl jz L0046527B test ecx,ecx jz L00465379 mov edx,[esi+000000B8h] lea edi,[esi+000000ECh] push edx lea eax,[esp+18h] push edi push eax mov eax,[esi+000000C0h] lea edx,[esp+18h] push edx push eax call SUB_L00463870 test al,al jz L00465379 mov ecx,[esi+000000B8h] mov edx,[esp+14h] mov eax,[esp+0Ch] push ecx mov ecx,[esi+000000FCh] add edx,FFFFFFEEh push edi push edx push eax call SUB_L004635D0 mov edi,eax test edi,edi jl L00465379 mov ecx,[esi+000000FCh] mov edx,[ecx+0000022Ch] mov eax,[edx] push eax L00465250: call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L00465379 L00465260: mov [esi+000000C0h],edi L00465266: mov ecx,esi call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L0046527B: test ecx,ecx jz L00465332 mov edx,[esi+000000B8h] lea edi,[esi+000000ECh] push edx lea eax,[esp+18h] push edi push eax mov eax,[esi+000000BCh] lea edx,[esp+18h] push edx push eax call SUB_L00463870 test al,al jz L00465332 mov ecx,[esi+000000B8h] mov edx,[esp+14h] mov eax,[esp+0Ch] push ecx mov ecx,[esi+000000FCh] add edx,FFFFFFEEh push edi push edx push eax call SUB_L004635D0 mov edi,eax test edi,edi jl L00465311 mov ecx,[esi+000000FCh] mov edx,[ecx+0000022Ch] mov eax,[edx] push eax call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L00465311 mov ecx,esi mov [esi+000000BCh],edi mov [esi+000000C0h],edi call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00465311: mov ecx,[esi+000000BCh] mov [esi+000000C0h],ecx mov ecx,esi call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ L00465332: mov eax,[esi+000000BCh] test eax,eax jl L00465379 mov [esi+000000C0h],eax jmp L00465266 CASE_00465380_PROC0003: test edi,edi jl L00465379 push edi call SUB_L004C5F00 add esp,00000004h test eax,eax jz L00465379 push 00000000h mov ecx,esi call SUB_L00465490 lea edx,[esp+14h] mov ecx,esi push edx mov [esp+18h],di mov word ptr [esp+1Ah],0000h call SUB_L00465610 L00465379: pop edi pop esi pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_00465380: dd CASE_00465380_PROC0000 dd CASE_00465380_PROC0001 dd CASE_00465380_PROC0002 dd CASE_00465380_PROC0003 dd CASE_00465380_PROC0003 dd CASE_00465380_PROC0003 dd CASE_00465380_PROC0003 dd CASE_00465380_PROC0007 dd CASE_00465380_PROC0008 Align 16 SUB_L004653B0: sub esp,00000008h push esi mov esi,ecx push edi mov ecx,[esi+000000FCh] test ecx,ecx jz L0046547E mov eax,[esi+000000B8h] lea edx,[esi+000000ECh] push eax lea eax,[esp+0Ch] push edx push eax mov eax,[esi+000000C0h] lea edx,[esp+18h] push edx push eax call SUB_L00463870 test al,al jz L0046547E mov ecx,[esi+000000FCh] mov edx,[esi+000000F0h] mov eax,[esp+08h] mov edi,[ecx] add edi,edx sub eax,edi test eax,eax mov [esp+08h],eax jle L0046542E mov edi,[ecx+08h] push ebx mov ebx,[esi+000000F8h] sub edi,ebx mov ebx,[ecx] add edi,ebx pop ebx add edi,edx lea eax,[eax+edi+12h] test eax,eax mov [esp+08h],eax jl L0046547E L0046542E: jz L0046547E mov ecx,[esi+000000B8h] add ecx,eax mov [esi+000000B8h],ecx jns L0046544A mov dword ptr [esi+000000B8h],00000000h L0046544A: mov eax,[esi+000000B4h] mov ecx,[esi+000000B8h] cmp ecx,eax jle L00465460 mov [esi+000000B8h],eax L00465460: mov ecx,[esi+00000100h] test ecx,ecx jz L00465477 mov edx,[esi+000000B8h] push eax push edx call SUB_L00435670 L00465477: mov ecx,esi call SUB_L004641D0 L0046547E: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00465490: push ebp push esi push edi mov edi,ecx mov eax,[edi+000000BCh] mov ecx,[edi+000000C0h] cmp eax,ecx jz L00465591 test eax,eax jl L00465591 test ecx,ecx jl L00465591 mov eax,[edi+000000FCh] mov ecx,[eax+0000022Ch] mov edx,[ecx] push edx call SUB_L004C4300 mov esi,[edi+000000BCh] mov ebp,eax add esp,00000004h cmp esi,ebp jg L00465591 mov eax,[edi+000000C0h] cmp eax,ebp jg L00465591 cmp esi,eax push ebx jge L004654F9 mov ebx,esi mov esi,eax jmp L004654FB L004654F9: mov ebx,eax L004654FB: mov al,[esp+14h] mov [edi+000000BCh],ebx test al,al mov [edi+000000C0h],ebx jz L0046555B mov eax,[L00C42CCC] test eax,eax jz L00465521 push eax call SUB_L004D4F9E add esp,00000004h L00465521: mov eax,ebx neg eax shl eax,1Fh sub eax,ebx add eax,esi lea ecx,[eax+eax+02h] push ecx call SUB_L004D4FA9 mov edx,esi mov [L00C42CCC],eax mov ecx,[edi+000000FCh] sub edx,ebx push edx mov edx,[ecx+0000022Ch] mov ecx,[edx] lea edx,[ecx+ebx*2] push edx push eax call SUB_L004C4460 add esp,00000010h L0046555B: cmp esi,ebp jg L00465582 lea ecx,[ebx+ebx] L00465562: mov eax,[edi+000000FCh] add ecx,00000002h inc esi mov edx,[eax+0000022Ch] cmp esi,ebp mov eax,[edx] mov dx,[eax+esi*2-02h] mov [ecx+eax-02h],dx jle L00465562 L00465582: mov ecx,edi call SUB_L004641D0 mov ecx,edi call SUB_L004653B0 pop ebx L00465591: pop edi pop esi pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004655A0: push esi mov esi,ecx test byte ptr [esi+000000E8h],02h jnz L0046560E mov eax,[esi+000000FCh] test eax,eax jz L0046560E mov ecx,[eax+20h] test ecx,ecx jz L0046560E mov ecx,[esi+000000BCh] test ecx,ecx jl L0046560E mov eax,[eax+0000022Ch] mov ecx,[eax] push ecx call SUB_L004C4300 mov ecx,[esi+000000BCh] add esp,00000004h cmp ecx,eax jge L0046560E push edi L004655E3: mov edx,[esi+000000FCh] inc ecx cmp ecx,eax mov edx,[edx+0000022Ch] mov edx,[edx] mov di,[edx+ecx*2] mov [edx+ecx*2-02h],di jl L004655E3 pop edi mov ecx,esi call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 L0046560E: pop esi retn ;------------------------------------------------------------------------------ SUB_L00465610: mov eax,fs:[00000000h] push FFFFFFFFh push L004E37CB push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx test byte ptr [esi+000000E8h],02h jnz L0046580C mov eax,[esi+000000FCh] test eax,eax jz L0046580C mov ecx,[eax+20h] test ecx,ecx jz L0046580C mov ecx,[esi+000000BCh] test ecx,ecx jl L0046580C mov eax,[eax+0000022Ch] mov ecx,[eax] push ecx call SUB_L004C4300 mov ebx,eax mov al,[esi+000000E8h] add esp,00000004h test al,01h jz L00465686 cmp ebx,00000064h jg L0046580C L00465686: cmp ebx,00007530h jg L0046580C cmp [esi+000000BCh],ebx jl L004656A6 mov [esi+000000BCh],ebx mov [esi+000000C0h],ebx L004656A6: push ebp push edi mov edi,[esp+30h] push edi call SUB_L004C4300 mov ebp,eax mov [esp+1Ch],ebp lea edx,[ebx+ebp] lea eax,[edx+edx+02h] push eax call SUB_L004D4FA9 mov edx,[esi+000000FCh] mov ecx,[esi+000000BCh] mov ebx,eax push ecx mov eax,[edx+0000022Ch] mov ecx,[eax] push ecx push ebx call SUB_L004C4460 mov edx,[esi+000000BCh] push edi lea eax,[ebx+edx*2] push eax call SUB_L004C4430 mov ecx,[esi+000000FCh] mov eax,[esi+000000BCh] mov edx,[ecx+0000022Ch] mov ecx,[edx] lea edx,[ecx+eax*2] add eax,ebp push edx lea eax,[ebx+eax*2] push eax call SUB_L004C4430 push 00000014h call SUB_L004D4FA9 mov edi,eax add esp,00000028h mov [esp+1Ch],edi test edi,edi mov dword ptr [esp+28h],00000000h jz L00465790 mov ecx,[esi+000000FCh] push ebx mov eax,[ecx+0000022Ch] mov edx,[eax+0Ch] mov ecx,[eax+04h] mov ebp,[eax+10h] mov [esp+18h],edx mov edx,[eax+08h] mov [esp+34h],ecx mov [esp+14h],edx call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D4FA9 push ebx push eax mov [edi],eax call SUB_L004C4430 mov ecx,[esp+40h] mov edx,[esp+20h] mov eax,[esp+24h] mov [edi+10h],ebp mov ebp,[esp+28h] add esp,00000010h mov [edi+04h],ecx mov [edi+08h],edx mov [edi+0Ch],eax jmp L00465792 L00465790: xor edi,edi L00465792: mov edx,[esi+000000FCh] or ecx,FFFFFFFFh mov [esp+28h],ecx mov ebx,[edx+0000022Ch] test ebx,ebx jz L004657D4 mov eax,[ebx] test eax,eax jz L004657BB push eax call SUB_L004D4F9E add esp,00000004h or ecx,FFFFFFFFh L004657BB: xor eax,eax push ebx mov [ebx],eax mov [ebx+04h],ecx mov [ebx+08h],eax mov [ebx+0Ch],ecx mov [ebx+10h],eax call SUB_L004D4F9E add esp,00000004h L004657D4: mov eax,[esi+000000FCh] mov [eax+0000022Ch],edi mov ecx,[esi+000000BCh] mov eax,[esi+000000C0h] add ecx,ebp mov [esi+000000BCh],ecx add eax,ebp mov ecx,esi mov [esi+000000C0h],eax call SUB_L004641D0 mov ecx,esi call SUB_L004653B0 pop edi pop ebp L0046580C: mov ecx,[esp+18h] pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00465820: push FFFFFFFFh push L004E382A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] xor ebx,ebx mov ebp,00000001h push SSZ00504890_HTMLBox_framedata push 00000008h mov [esp+24h],ebx mov dword ptr [esi],L004EDBF0 mov [esi+0000009Ch],eax mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+000000B0h],ebx mov [esi+000000B8h],ebp mov [esi+000000ACh],ebx mov [esi+000000B4h],ebp mov [esi+000000BCh],ebx mov [esi+000000C0h],ebx mov [esi+000000C4h],ebx mov [esi+000000C8h],bl mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h push 00000104h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov edi,[esp+3Ch] mov ecx,[eax+04h] cmp edi,ebx mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx jnz L0046596B call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00465992 push ebp push ebx push 000011B7h push ebx push esi mov ecx,eax call SUB_L00463A90 jmp L00465994 L0046596B: call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L00465992 push ebp push ebx push 000001B7h push ebx push esi mov ecx,eax call SUB_L00463A90 jmp L00465994 L00465992: xor eax,eax L00465994: mov [esi+000000A0h],eax mov eax,[esp+2Ch] mov ecx,[esi+000000A0h] push ebp push eax mov [esp+24h],bl call SUB_L00463F60 cmp edi,ebx push 00000104h jnz L004659DF call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L00465A06 push ebp push ebx push 000011B7h push ebp push esi mov ecx,eax call SUB_L00463A90 jmp L00465A08 L004659DF: call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L00465A06 push ebp push ebx push 000001B7h push ebp push esi mov ecx,eax call SUB_L00463A90 jmp L00465A08 L00465A06: xor eax,eax L00465A08: mov ecx,[esp+30h] push ebp push ecx mov ecx,eax mov [esp+24h],bl mov [esi+000000A4h],eax call SUB_L00463F60 cmp edi,ebx push 00000104h jnz L00465A50 call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],05h jz L00465A78 push ebp push ebx push 000011B7h push 00000002h push esi mov ecx,eax call SUB_L00463A90 jmp L00465A7A L00465A50: call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],06h jz L00465A78 push ebp push ebx push 000001B7h push 00000002h push esi mov ecx,eax call SUB_L00463A90 jmp L00465A7A L00465A78: xor eax,eax L00465A7A: mov edx,[esp+34h] push ebp push edx mov ecx,eax mov [esp+24h],bl mov [esi+000000A8h],eax call SUB_L00463F60 mov eax,[esp+24h] push ebp push eax mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 16 L00465AC0: push esi mov esi,ecx call SUB_L00465AE0 test byte ptr [esp+08h],01h jz L00465AD8 push esi call SUB_L004D4F9E add esp,00000004h L00465AD8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00465AE0: push FFFFFFFFh push L004E3848 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EDBF0 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L00465B2D push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L00465B2D: mov eax,[esi+3Ch] test eax,eax jz L00465B49 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00465B49: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00465B70: sub esp,00000010h mov eax,[esp+14h] push esi mov esi,ecx push edi mov edx,[eax] lea edi,[esi+000000ACh] mov ecx,edi mov [ecx],edx mov edx,[eax+04h] mov [ecx+04h],edx mov edx,[eax+08h] mov [ecx+08h],edx mov eax,[eax+0Ch] mov edx,[esp+24h] mov [ecx+0Ch],eax mov ecx,[esp+20h] mov eax,[esp+28h] mov [esi+000000BCh],ecx mov ecx,[edi] mov [esi+000000C0h],edx mov edx,[esi+000000B0h] mov [esi+000000C4h],eax mov eax,[esi+3Ch] mov [esi+30h],ecx mov [esi+34h],edx mov ecx,[eax+04h] push ecx call SUB_L004D4F9E mov ecx,[esi+000000B4h] mov eax,[edi] mov edi,[esi+000000B0h] sub ecx,eax mov eax,[esi+000000B8h] push SSZ00504880_HTMLBox_frame0 sub eax,edi mov [esi+1Ch],ecx mov [esi+24h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+20h],ecx push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,0000000Ch mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov eax,[esi+000000BCh] mov ecx,[esi+000000C0h] mov edx,[esi+24h] sub ecx,eax push edx sub ecx,00000002h push ecx mov ecx,[esi+000000A0h] push 00000000h push eax call SUB_L00463DF0 mov eax,[esi+000000C0h] mov ecx,[esi+000000C4h] mov edx,[esi+24h] sub ecx,eax sub ecx,00000002h push edx push ecx mov ecx,[esi+000000A4h] push 00000000h push eax call SUB_L00463DF0 mov eax,[esi+000000C4h] mov ecx,[esi+20h] mov edx,[esi+24h] sub ecx,eax push edx sub ecx,00000002h push ecx mov ecx,[esi+000000A8h] push 00000000h push eax call SUB_L00463DF0 mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] 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+000000BCh] mov ecx,[esi+20h] mov edx,[esi+24h] mov [esp+08h],eax mov al,[esi+000000C8h] mov [esp+10h],ecx test al,al mov dword ptr [esp+0Ch],00000000h mov [esp+14h],edx jz L00465CE9 lea eax,[esp+08h] mov ecx,esi push eax call SUB_L00464140 L00465CE9: pop edi pop esi add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 L00465D00: push esi mov esi,ecx push edi mov eax,[esi+4Ch] test eax,eax jz L00465E1A lea eax,[esp+10h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+10h] lea eax,[esp+0Ch] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L00465D53 mov edx,[esp+10h] mov ecx,[esi+4Ch] push edx mov edx,[esp+10h] mov eax,[ecx] push edx call [eax+14h] L00465D53: mov edi,[USER32.dll!GetKeyState] push 00000011h call edi test ax,ax jl L00465DC2 push 00000012h call edi test ax,ax jl L00465DC2 push 00000010h call edi test ax,ax setl al test al,al jz L00465DC2 mov ecx,[esi+4Ch] mov eax,[esi+0000009Ch] mov edx,[ecx+00001810h] test edx,edx jl L00465E1A test eax,eax jl L00465E1A cmp eax,edx jge L00465DB2 mov [ecx+00001814h],edx mov [ecx+00001810h],eax call SUB_L00467260 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00465DB2: mov [ecx+00001814h],eax call SUB_L00467260 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00465DC2: mov ecx,[esi+0000009Ch] mov esi,[esi+4Ch] mov eax,[esi+00001810h] test eax,eax jl L00465E07 test ecx,ecx jl L00465E07 cmp ecx,eax jnz L00465E07 cmp eax,[esi+00001814h] jnz L00465E07 mov ecx,[esi+4Ch] test ecx,ecx jz L00465E1A mov eax,[ecx] call [eax+000000C8h] test eax,eax jz L00465E1A mov ecx,[esi+4Ch] push 00000031h mov edx,[ecx] call [edx+74h] pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L00465E07: mov [esi+00001810h],ecx mov [esi+00001814h],ecx mov ecx,esi call SUB_L00467260 L00465E1A: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00465E20: push FFFFFFFFh push L004E387E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] xor ebx,ebx mov ebp,00000001h push SSZ00504890_HTMLBox_framedata push 00000008h mov [esp+24h],ebx mov dword ptr [esi],L004EDD84 mov [esi+0000009Ch],eax mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+000000A8h],ebx mov [esi+000000B0h],ebp mov [esi+000000A4h],ebx mov [esi+000000ACh],ebp mov [esi+000000B4h],bl mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h push 00000104h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov eax,[esp+34h] cmp eax,ebx mov [ecx+02h],dx jnz L00465F59 call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00465F80 push ebp push ebx push 000011B7h push ebx push esi mov ecx,eax call SUB_L00463A90 jmp L00465F82 L00465F59: call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L00465F80 push ebp push ebx push 000001B7h push ebx push esi mov ecx,eax call SUB_L00463A90 jmp L00465F82 L00465F80: xor eax,eax L00465F82: mov [esi+000000A0h],eax mov eax,[esp+2Ch] mov ecx,[esi+000000A0h] push ebp push eax mov [esp+24h],bl call SUB_L00463F60 mov ecx,[esp+24h] push ebp push ecx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 L00465FD0: push esi mov esi,ecx call SUB_L00465FF0 test byte ptr [esp+08h],01h jz L00465FE8 push esi call SUB_L004D4F9E add esp,00000004h L00465FE8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00465FF0: push FFFFFFFFh push L004E3898 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EDD84 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0046603D push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0046603D: mov eax,[esi+3Ch] test eax,eax jz L00466059 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00466059: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466080: mov eax,[esp+04h] push esi mov esi,ecx push edi mov edx,[eax] lea edi,[esi+000000A4h] mov ecx,edi mov [ecx],edx mov edx,[eax+04h] mov [ecx+04h],edx mov edx,[eax+08h] mov [ecx+08h],edx mov eax,[eax+0Ch] mov [ecx+0Ch],eax mov ecx,[edi] mov edx,[esi+000000A8h] mov eax,[esi+3Ch] mov [esi+30h],ecx mov [esi+34h],edx mov ecx,[eax+04h] push ecx call SUB_L004D4F9E mov ecx,[esi+000000ACh] mov eax,[edi] mov edi,[esi+000000A8h] sub ecx,eax mov eax,[esi+000000B0h] push SSZ00504880_HTMLBox_frame0 sub eax,edi mov [esi+1Ch],ecx mov [esi+24h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+20h],ecx push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,0000000Ch mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov eax,[esi+20h] mov edx,[esi+24h] mov ecx,[esi+000000A0h] sub eax,00000011h push edx push eax push 00000000h push 0000000Fh call SUB_L00463DF0 mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] 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 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L00466160: sub esp,00000018h push ebx push esi push edi mov edi,ecx mov eax,[edi+6Ch] test eax,eax jz L00466256 lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov eax,[esp+10h] mov edx,[edi+20h] mov ecx,[esp+0Ch] mov ebx,[esp+28h] mov [esp+14h],eax add edx,eax mov eax,[edi+24h] mov [esp+18h],ecx add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+24h],edx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L00466214 mov edx,[edi+14h] mov eax,[edi+3Ch] mov ecx,[L005073D4] mov eax,[eax+edx*8+04h] mov edx,[L005073D0] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+14h] push ecx mov ecx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push ebx push eax push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L00466214: mov esi,[edi+50h] test esi,esi jz L00466256 L0046621B: mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L00466240 mov eax,[esi+000000C8h] mov ecx,[edi+64h] cmp eax,ecx jnz L00466240 mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] jmp L0046624F L00466240: mov eax,[edi+64h] test eax,eax jnz L0046624F mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] L0046624F: mov esi,[esi+44h] test esi,esi jnz L0046621B L00466256: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 4 L00466260: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L0046632E lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L004662B2 mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+14h] L004662B2: mov al,[esi+000000B4h] test al,al jz L004662D7 mov ecx,[esi+4Ch] or eax,FFFFFFFFh mov [ecx+00001810h],eax mov [ecx+00001814h],eax call SUB_L00467260 pop esi retn 0008h ;------------------------------------------------------------------------------ L004662D7: mov ecx,[esi+0000009Ch] mov esi,[esi+4Ch] mov eax,[esi+00001810h] test eax,eax jl L0046631B test ecx,ecx jl L0046631B cmp ecx,eax jnz L0046631B cmp eax,[esi+00001814h] jnz L0046631B mov ecx,[esi+4Ch] test ecx,ecx jz L0046632E mov eax,[ecx] call [eax+000000C8h] test eax,eax jz L0046632E mov ecx,[esi+4Ch] push 00000031h mov edx,[ecx] call [edx+74h] pop esi retn 0008h ;------------------------------------------------------------------------------ L0046631B: mov [esi+00001810h],ecx mov [esi+00001814h],ecx mov ecx,esi call SUB_L00467260 L0046632E: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00466340: push FFFFFFFFh push L004E38C3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] xor ebx,ebx mov ebp,00000001h push SSZ00504890_HTMLBox_framedata push 00000008h mov [esp+24h],ebx mov dword ptr [esi],L004EDF18 mov [esi+0000009Ch],eax mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+000000A8h],ebx mov [esi+000000B0h],ebp mov [esi+000000A4h],ebx mov [esi+000000ACh],ebp mov [esi+000000B4h],bl mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 00000104h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L004D4FA9 add esp,00000014h mov [esp+28h],eax mov byte ptr [esp+1Ch],01h cmp eax,ebx jz L0046646E push ebp push ebx push 000001B7h push ebx push esi mov ecx,eax call SUB_L00463A90 jmp L00466470 L0046646E: xor eax,eax L00466470: mov ecx,[esp+2Ch] push ebp push ecx mov ecx,eax mov [esp+24h],bl mov [esi+000000A0h],eax call SUB_L00463F60 mov edx,[esp+24h] push ebp push edx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004664B0: push esi mov esi,ecx call SUB_L004664D0 test byte ptr [esp+08h],01h jz L004664C8 push esi call SUB_L004D4F9E add esp,00000004h L004664C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004664D0: push FFFFFFFFh push L004E38D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EDF18 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0046651D push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0046651D: mov eax,[esi+3Ch] test eax,eax jz L00466539 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00466539: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466560: sub esp,00000010h mov eax,[esp+14h] push esi mov esi,ecx push edi mov edx,[eax] lea edi,[esi+000000A4h] mov ecx,edi mov [ecx],edx mov edx,[eax+04h] mov [ecx+04h],edx mov edx,[eax+08h] mov [ecx+08h],edx mov eax,[eax+0Ch] mov [ecx+0Ch],eax mov ecx,[edi] mov edx,[esi+000000A8h] mov eax,[esi+3Ch] mov [esi+30h],ecx mov [esi+34h],edx mov ecx,[eax+04h] push ecx call SUB_L004D4F9E mov ecx,[esi+000000ACh] mov eax,[edi] mov edi,[esi+000000A8h] sub ecx,eax mov eax,[esi+000000B0h] push SSZ00504880_HTMLBox_frame0 sub eax,edi mov [esi+1Ch],ecx mov [esi+24h],eax imul eax,ecx lea edx,[eax+eax+04h] mov [esi+20h],ecx push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,0000000Ch mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov eax,[esi+20h] mov edx,[esi+24h] mov ecx,[esi+000000A0h] sub eax,00000002h push edx push eax push 00000000h push 00000002h call SUB_L00463DF0 mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] 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+20h] mov ecx,[esi+24h] mov [esp+10h],eax mov al,[esi+000000B4h] test al,al mov dword ptr [esp+08h],00000000h mov dword ptr [esp+0Ch],00000000h mov [esp+14h],ecx jz L0046666A lea edx,[esp+08h] mov ecx,esi push edx call SUB_L00464140 L0046666A: pop edi pop esi add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 16 L00466680: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L004666E2 lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L004666CE mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+14h] L004666CE: mov ecx,[esi+4Ch] mov eax,[esi+0000009Ch] mov [ecx+00000870h],eax call SUB_L00468AF0 L004666E2: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004666F0: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L0046673E lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L0046673E mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+18h] L0046673E: pop esi 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; '?' db 90h; '?' push L00C424E0 call [KERNEL32.dll!InitializeCriticalSection] push L00466770 call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 16 L00466770: push L00C424E0 call [KERNEL32.dll!DeleteCriticalSection] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00466780: push FFFFFFFFh push L004E3903 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] xor ebx,ebx mov dword ptr [esi],L004EE0AC mov [esi+0000009Ch],eax mov [esi+00001834h],ebx mov [esi+00001838h],ebx mov [esi+50h],ebx mov ebp,00000001h push SSZ00504890_HTMLBox_framedata mov [esi+4Ch],ebx push 00000008h mov [esp+24h],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+0000181Ch],ebx mov [esi+00001824h],ebp mov [esi+00001818h],ebx mov [esi+00001820h],ebp mov [esi+00001828h],ebx mov [esi+0000182Ch],ebx mov [esi+00001830h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] lea eax,[esi+00000870h] mov [ecx+02h],dx mov ecx,000001F4h L004668A8: mov [eax-000007D0h],ebx mov [eax],ebx mov [eax+000007D0h],ebx add eax,00000004h dec ecx jnz L004668A8 or eax,FFFFFFFFh push 000000B0h mov [esi+00001810h],eax mov [esi+00001814h],eax mov dword ptr [esi+0000183Ch],00000DACh mov dword ptr [esi+00001840h],00000DADh mov dword ptr [esi+00001844h],00000DAEh mov dword ptr [esi+00001848h],00000DAFh mov dword ptr [esi+0000184Ch],00000DB0h mov dword ptr [esi+00001850h],00000DB1h mov dword ptr [esi+00001854h],00000DB2h mov dword ptr [esi+00001858h],00000DB3h mov dword ptr [esi+0000185Ch],00000DB4h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00466949 push esi mov ecx,eax call SUB_L00435210 jmp L0046694B L00466949: xor eax,eax L0046694B: mov [esi+00001860h],eax mov eax,[esp+24h] push ebp push eax mov ecx,esi mov [esp+24h],bl call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 8 L00466980: push esi mov esi,ecx call SUB_L004669A0 test byte ptr [esp+08h],01h jz L00466998 push esi call SUB_L004D4F9E add esp,00000004h L00466998: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004669A0: push FFFFFFFFh push L004E3918 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EE0AC mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L004669ED push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004669ED: mov eax,[esi+3Ch] test eax,eax jz L00466A09 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00466A09: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00466A30: mov eax,[esp+08h] mov edx,[esp+10h] sub esp,00000008h push ebx push esi mov esi,ecx push edi mov ecx,[esp+20h] mov edi,[esp+18h] mov [esi+00001828h],eax mov [esi+0000182Ch],ecx mov [esi+00001830h],edx mov eax,[edi] mov edx,[esi+3Ch] mov [esi+30h],eax mov ecx,[edi+04h] mov [esi+34h],ecx mov eax,[edx+04h] push eax call SUB_L004D4F9E mov eax,[edi+08h] mov edx,[edi] sub eax,edx push SSZ00504880_HTMLBox_frame0 mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[edi+0Ch] mov ecx,[edi+04h] sub eax,ecx mov ecx,[esi+20h] imul ecx,eax mov [esi+24h],eax lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] lea edx,[esp+28h] push edx mov [eax+02h],cx mov ecx,[esi+00001840h] lea eax,[esp+28h] push eax push ecx call SUB_L004434A0 mov ecx,[esi+00001848h] lea edx,[esp+24h] lea eax,[esp+38h] push edx push eax push ecx call SUB_L004434A0 lea edx,[esp+34h] lea eax,[esp+48h] push edx push eax push 000000FCh call SUB_L004434A0 mov ecx,[esi+24h] mov ebx,[esp+54h] mov [esi+00001824h],ecx mov ecx,[esp+4Ch] mov eax,[esi+00001824h] mov edx,[esp+50h] sub eax,ecx add esp,00000030h mov [esi+00001824h],eax mov edi,eax mov eax,[esi+20h] mov [esi+0000181Ch],ecx sub eax,ebx mov [esi+00001818h],edx sub eax,edx mov [esi+00001820h],eax cmp edi,ecx jle L00466B58 mov ecx,[esi+24h] add eax,edx push ecx mov ecx,[esi+00001860h] push 00000000h push eax call SUB_L00435500 L00466B58: push 00000002h call SUB_L004C5BC0 push SWC005048B4_12_30_99____ call SUB_L004C5FB0 add esp,00000008h mov edi,eax call SUB_L004C5C40 mov eax,[esi+00001828h] test eax,eax jge L00466B89 mov edx,[esi+00001818h] mov [esi+00001828h],edx L00466B89: mov eax,[esi+0000182Ch] test eax,eax jge L00466BAE mov eax,[esi+00001818h] mov ecx,[esi+00001820h] sub eax,edi add eax,ecx cdq sub eax,edx sar eax,1 mov [esi+0000182Ch],eax L00466BAE: mov eax,[esi+00001830h] test eax,eax jge L00466BC6 mov eax,[esi+00001820h] sub eax,edi mov [esi+00001830h],eax L00466BC6: mov eax,[esi+0000182Ch] test eax,eax jge L00466BDA mov dword ptr [esi+0000182Ch],00000001h L00466BDA: mov eax,[esi+00001830h] test eax,eax jge L00466BEE mov dword ptr [esi+00001830h],00000002h L00466BEE: mov ecx,esi call SUB_L00467260 pop edi pop esi pop ebx add esp,00000008h retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L00466C00: mov eax,fs:[00000000h] push FFFFFFFFh push L004E395A push eax mov fs:[00000000h],esp sub esp,00000230h push ebx push ebp push esi push edi mov esi,ecx push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] xor ebx,ebx xor ebp,ebp lea edi,[esi+000000A0h] L00466C36: mov ecx,[edi] cmp ecx,ebx jz L00466C50 mov eax,[ecx] push 00000001h call [eax] mov [edi],ebx inc ebp add edi,00000004h cmp ebp,000001F4h jl L00466C36 L00466C50: xor ebp,ebp lea edi,[esi+00000870h] L00466C58: mov ecx,[edi] cmp ecx,ebx jz L00466C72 mov edx,[ecx] push 00000001h call [edx] mov [edi],ebx inc ebp add edi,00000004h cmp ebp,000001F4h jl L00466C58 L00466C72: xor ebp,ebp lea edi,[esi+00001040h] L00466C7A: mov ecx,[edi] cmp ecx,ebx jz L00466C94 mov eax,[ecx] push 00000001h call [eax] mov [edi],ebx inc ebp add edi,00000004h cmp ebp,000001F4h jl L00466C7A L00466C94: mov ebp,[esi+00001838h] mov eax,[esi+00001820h] mov [esp+18h],ebx mov [esp+1Ch],ebx mov ebx,[esi+0000181Ch] mov edx,[esi+00001818h] sub ebx,ebp mov [esp+34h],eax mov eax,[L00C42CD0] add ebx,00000012h xor edi,edi xor ebp,ebp lea ecx,[ebx+12h] mov byte ptr [esp+12h],00h test eax,eax mov byte ptr [esp+13h],00h mov dword ptr [esp+20h],0000000Ah mov [esp+30h],ebx mov [esp+38h],ecx mov [esp+2Ch],edx mov [esp+14h],ebp jl L004670CD L00466CF3: test ebp,ebp jz L00467091 cmp ebp,eax jz L00466D62 mov eax,[L00C405A0+ebp*4] test eax,eax jz L00466D62 mov ecx,[L00C4059C+ebp*4] push ecx push eax call SUB_L004C4320 add esp,00000008h test eax,eax jnz L00466D62 mov edx,[L00C4059C+ebp*4] push edx call SUB_L004C4300 add esp,00000004h test eax,eax jnz L00467091 mov eax,[L00C4059C+ebp*4] mov ecx,[L00C405A0+ebp*4] add eax,00000400h add ecx,00000400h push eax push ecx call SUB_L004C4320 add esp,00000008h test eax,eax jz L00467091 L00466D62: mov edx,[esi+0000181Ch] add edx,00000012h cmp ebx,edx jl L00466EFD mov ecx,[esi+00001824h] lea eax,[ebx+12h] cmp eax,ecx jg L00466EFD lea ecx,[esp+40h] sub ebp,edi push 0000000Ah push ecx push ebp call SUB_L004C4CC0 mov edx,[esp+20h] mov eax,[L00C4059C+edx*4] push eax call SUB_L004C4300 add esp,00000010h test eax,eax jz L00466DE1 cmp ebp,00000001h jle L00466DBC lea ecx,[esp+40h] push L0050492C push ecx jmp L00466DC6 L00466DBC: lea edx,[esp+40h] push L00504910 push edx L00466DC6: call SUB_L004C4550 mov eax,[esp+1Ch] add esp,00000008h lea edx,[esp+40h] mov ecx,[L00C4059C+eax*4] push ecx push edx jmp L00466E1A L00466DE1: cmp ebp,00000001h jle L00466DF2 lea eax,[esp+40h] push L005048F0 push eax jmp L00466DFC L00466DF2: lea ecx,[esp+40h] push L005048D0 push ecx L00466DFC: call SUB_L004C4550 mov edx,[esp+1Ch] add esp,00000008h lea ecx,[esp+40h] mov eax,[L00C4059C+edx*4] add eax,00000400h push eax push ecx L00466E1A: call SUB_L004C4550 mov al,[esp+1Bh] add esp,00000008h test al,al push 000000B8h jz L00466E80 call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+00000248h],00000000h jz L00466E5F mov edx,[esp+20h] lea ecx,[esp+40h] push edx push ecx push edi push esi mov ecx,eax call SUB_L00465E20 jmp L00466E61 L00466E5F: xor eax,eax L00466E61: mov edx,[esp+1Ch] lea ecx,[esp+2Ch] push ecx mov dword ptr [esp+0000024Ch],FFFFFFFFh mov [esi+edx*4+00001040h],eax mov ecx,eax jmp L00466EE3 L00466E80: call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov dword ptr [esp+00000248h],00000001h jz L00466EB0 mov edx,[esp+20h] lea ecx,[esp+40h] push edx push ecx push edi push esi mov ecx,eax call SUB_L00465E20 jmp L00466EB2 L00466EB0: xor eax,eax L00466EB2: mov ecx,[esp+1Ch] mov dl,[esp+12h] test dl,dl mov dword ptr [esp+00000248h],FFFFFFFFh mov [esi+ecx*4+000000A0h],eax jz L00466ED7 mov byte ptr [eax+000000B4h],01h L00466ED7: mov ecx,[esi+ecx*4+000000A0h] lea edx,[esp+2Ch] push edx L00466EE3: call SUB_L00466080 mov eax,[esp+1Ch] mov ebp,[esp+14h] inc eax mov dword ptr [esp+20h],0000000Ah mov [esp+1Ch],eax L00466EFD: mov edx,[esp+18h] mov cl,[esp+12h] add ebx,00000012h inc edx test cl,cl lea eax,[ebx+12h] mov [esp+30h],ebx mov [esp+38h],eax mov [esp+18h],edx jz L0046708F cmp edi,ebp mov byte ptr [esp+12h],00h mov byte ptr [esp+13h],01h mov dword ptr [esp+1Ch],00000000h jge L0046708F mov ecx,eax lea eax,[L00C405A0+edi*4] mov [esp+28h],eax lea eax,[esi+00000870h] mov edx,ebp mov [esp+14h],eax mov eax,[esp+18h] sub edx,edi add eax,edx mov [esp+24h],ecx mov [esp+18h],eax L00466F63: mov eax,[esi+0000181Ch] add eax,00000012h cmp ebx,eax jl L00467069 cmp ecx,[esi+00001824h] jg L00467069 push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+00000248h],00000002h jz L00466FCD mov ecx,[esp+28h] mov edx,[ecx] mov ecx,[edx+00000C10h] push ecx lea ecx,[edx+00000A00h] push ecx lea ecx,[edx+00000800h] add edx,00000400h push ecx push edx push edi push esi mov ecx,eax call SUB_L00465820 jmp L00466FCF L00466FCD: xor eax,eax L00466FCF: mov edx,[esp+14h] mov dword ptr [esp+00000248h],FFFFFFFFh mov [edx],eax mov ecx,[esi+00001810h] cmp edi,ecx jl L0046702C cmp edi,[esi+00001814h] jg L0046702C mov ecx,[eax+000000A0h] mov byte ptr [eax+000000C8h],01h test ecx,ecx jz L0046700A mov byte ptr [ecx+000000A4h],01h L0046700A: mov ecx,[eax+000000A4h] test ecx,ecx jz L0046701B mov byte ptr [ecx+000000A4h],01h L0046701B: mov eax,[eax+000000A8h] test eax,eax jz L0046702C mov byte ptr [eax+000000A4h],01h L0046702C: mov ecx,[esi+00001830h] mov eax,[esp+2Ch] sub ecx,eax push ecx mov ecx,[esi+0000182Ch] sub ecx,eax push ecx mov ecx,[esi+00001828h] sub ecx,eax lea eax,[esp+34h] add ecx,0000001Eh push ecx mov ecx,[edx] push eax call SUB_L00465B70 mov eax,[esp+14h] mov ecx,[esp+24h] add eax,00000004h mov [esp+14h],eax L00467069: mov edx,[esp+28h] add ebx,00000012h add ecx,00000012h inc edi add edx,00000004h cmp edi,ebp mov [esp+24h],ecx mov [esp+30h],ebx mov [esp+38h],ecx mov [esp+28h],edx jl L00466F63 L0046708F: mov edi,ebp L00467091: cmp [esi+00001810h],ebp jnz L0046709E mov byte ptr [esp+12h],01h L0046709E: mov eax,[L00C405A0+ebp*4] test eax,eax jz L004670CD mov eax,[eax+00000C10h] mov ecx,[esp+20h] cmp eax,ecx jge L004670BB mov [esp+20h],eax L004670BB: mov eax,[L00C42CD0] inc ebp cmp ebp,eax mov [esp+14h],ebp jle L00466CF3 L004670CD: mov eax,[esp+18h] mov edx,[esi+00001824h] lea ecx,[eax+eax*8+09h] shl ecx,1 sub ecx,edx mov edx,[esi+0000181Ch] add ecx,edx test ecx,ecx mov [esi+00001834h],ecx jg L004670FD mov dword ptr [esi+00001834h],00000001h jmp L0046713A L004670FD: mov eax,ecx mov edi,00000012h cdq idiv edi mov eax,38E38E39h test edx,edx jz L00467123 imul ecx sar edx,02h mov eax,edx shr eax,1Fh lea eax,[edx+eax+01h] lea ecx,[eax+eax*8] jmp L00467132 L00467123: imul ecx sar edx,02h mov eax,edx shr eax,1Fh add edx,eax lea ecx,[edx+edx*8] L00467132: shl ecx,1 mov [esi+00001834h],ecx L0046713A: push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[esp+00000240h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000023Ch retn ;------------------------------------------------------------------------------ Align 4 L00467160: push esi mov esi,ecx push edi mov edi,[esi+00001834h] test edi,edi jle L004671B6 mov ecx,[esp+10h] test ecx,ecx jle L004671B6 mov eax,edi imul eax,[esp+0Ch] cdq idiv ecx mov ecx,eax mov eax,38E38E39h imul ecx sar edx,02h mov eax,edx mov ecx,[esi+00001860h] shr eax,1Fh add edx,eax lea eax,[edx+edx*8] shl eax,1 test ecx,ecx mov [esi+00001838h],eax jz L004671AF push edi push eax call SUB_L00435670 L004671AF: mov ecx,esi call SUB_L00467260 L004671B6: pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004671C0: push esi mov esi,ecx mov ecx,[esp+08h] push edi mov eax,[esi+00001838h] test ecx,ecx jnz L004671DD lea ecx,[eax-12h] mov [esi+00001838h],ecx jmp L004671E6 L004671DD: lea edx,[eax+12h] mov [esi+00001838h],edx L004671E6: mov ecx,[esi+00001838h] test ecx,ecx jge L004671FA mov dword ptr [esi+00001838h],00000000h L004671FA: mov edi,[esi+00001834h] mov ecx,[esi+00001838h] cmp ecx,edi jle L00467210 mov [esi+00001838h],edi L00467210: mov ecx,[esi+00001838h] cmp ecx,eax jz L0046724E mov eax,38E38E39h imul ecx sar edx,02h mov eax,edx mov ecx,[esi+00001860h] shr eax,1Fh add edx,eax lea eax,[edx+edx*8] shl eax,1 test ecx,ecx mov [esi+00001838h],eax jz L00467247 push edi push eax call SUB_L00435670 L00467247: mov ecx,esi call SUB_L00467260 L0046724E: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00467260: sub esp,00000068h lea eax,[esp+28h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+34h] push eax push ecx push 000000FCh call SUB_L004434A0 mov eax,[esi+00001860h] mov ebp,[esi+20h] xor edi,edi add esp,0000000Ch cmp eax,edi jz L00467293 sub ebp,[esp+34h] L00467293: mov edx,[esi+24h] lea eax,[esp+28h] mov [esp+64h],edx mov edx,[esi+0000183Ch] lea ecx,[esp+18h] push eax push ecx push edx mov [esp+68h],edi mov [esp+64h],edi mov [esp+6Ch],ebp call SUB_L004434A0 mov edx,[esi+00001840h] lea eax,[esp+20h] lea ecx,[esp+2Ch] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+00001844h] lea eax,[esp+44h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+0000183Ch] add eax,00000004h push ecx push eax push edi lea ecx,[esp+0000008Ch] push edi push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esp+58h] mov eax,ebp mov [esp+00000098h],edx sub eax,ecx mov [esp+00000090h],edi mov [esp+00000094h],eax mov eax,[esi+20h] mov edx,eax mov [esp+0000008Ch],edi mov edi,[esp+5Ch] sub edx,ecx add esp,00000044h cmp edi,edx jge L0046738F L0046734F: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+00001840h] add eax,00000004h lea ecx,[esp+50h] push eax push 00000000h push edi push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+40h] mov ecx,[esp+30h] add edi,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp edi,edx jl L0046734F L0046738F: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,ebp add edx,00000004h sub eax,ecx push edx mov edx,[esi+00001844h] push 00000000h lea ecx,[esp+68h] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ebx,[esp+34h] mov edi,[esi+24h] mov edx,[esi+00001848h] lea ecx,[esp+38h] lea eax,[ebx+ebx] mov [esp+50h],ebx mov [esp+44h],eax sub edi,eax lea eax,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+0000184Ch] lea eax,[esp+40h] lea ecx,[esp+4Ch] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+00001850h] lea eax,[esp+64h] lea ecx,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov ecx,[esp+6Ch] mov eax,[esp+58h] add esp,00000044h cmp ecx,eax jge L00467429 mov eax,ecx mov [esp+14h],eax L00467429: mov ecx,[esp+2Ch] cmp ecx,eax jge L00467435 mov [esp+14h],ecx L00467435: mov eax,[esp+30h] add edi,ebx cmp eax,edi mov [esp+4Ch],ebx mov dword ptr [esp+48h],00000000h mov [esp+50h],ebp mov [esp+24h],edi mov [esp+54h],edi jge L00467545 L0046745B: mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+00001848h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+58h] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+50h] mov ecx,[esp+30h] mov edx,ebp mov [esp+0000008Ch],eax mov eax,[esi+20h] sub edx,ecx mov [esp+00000090h],edx mov edx,eax mov [esp+00000094h],edi mov edi,[esp+38h] sub edx,ecx add esp,00000020h cmp edi,edx mov dword ptr [esp+68h],00000000h jge L00467500 L004674C1: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+0000184Ch] add eax,00000004h lea ecx,[esp+70h] push eax push ebx push edi push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+40h] mov ecx,[esp+30h] add edi,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp edi,edx jl L004674C1 L00467500: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,ebp add edx,00000004h sub eax,ecx push edx mov edx,[esi+00001850h] push ebx lea ecx,[esp+58h] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+34h] mov eax,[esp+44h] add ebx,ecx add esp,00000020h cmp ebx,eax mov edi,eax jl L0046745B L00467545: mov edx,[esi+00001854h] lea eax,[esp+28h] lea ecx,[esp+18h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+00001858h] lea eax,[esp+20h] lea ecx,[esp+2Ch] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+0000185Ch] lea eax,[esp+44h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+00001854h] add eax,00000004h push ecx push eax push edi lea ecx,[esp+0000008Ch] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esi+24h] mov eax,ebp mov ebx,[esp+5Ch] sub eax,ecx mov [esp+00000098h],edx mov [esp+00000094h],eax mov eax,[esi+20h] mov edx,eax add esp,00000044h sub edx,ecx mov ecx,ebx cmp ecx,edx mov [esp+4Ch],edi mov dword ptr [esp+48h],00000000h jge L0046762D L004675EE: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+00001858h] add eax,00000004h lea ecx,[esp+50h] push eax push edi push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+40h] mov edx,[esp+30h] add ebx,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp ebx,ecx jl L004675EE L0046762D: mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] push edx mov edx,[ecx+04h] mov ecx,[esi+0000185Ch] push eax mov eax,[esp+18h] add edx,00000004h sub ebp,eax push edx push edi lea eax,[esp+68h] push ebp push eax push ecx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esi+00001840h] lea edx,[esp+3Ch] lea eax,[esp+5Ch] push edx push eax push ecx call SUB_L004434A0 mov ecx,[esi+00001848h] lea edx,[esp+6Ch] lea eax,[esp+70h] push edx push eax push ecx call SUB_L004434A0 lea edx,[esi+00001818h] add esp,00000038h mov eax,[edx] mov [esp+48h],eax mov eax,[edx+04h] mov [esp+4Ch],eax add eax,00000012h mov ecx,[edx+08h] mov [esp+50h],ecx mov edx,[edx+0Ch] mov [esp+54h],edx mov [esp+54h],eax mov eax,[L00C882BC] test eax,eax jz L004676C3 cmp dword ptr [eax+04h],FFFFFFFFh jnz L004676CD L004676C3: mov dword ptr [L00C42CD4],00000000h L004676CD: mov eax,[L00C42CD4] sub eax,00000000h jz L0046783C dec eax jz L00467815 sub eax,00000002h jz L004677EE mov eax,[L00C42CD0] test eax,eax jnz L0046773D push 00000004h call SUB_L004C5BC0 mov ecx,[esp+20h] mov edx,[esi+00001828h] lea eax,[esp+4Ch] add edx,00000002h push eax mov eax,[esi+20h] push 00000001h push ecx mov ecx,[esi+3Ch] push edx push SWC00504B70_You_have_no_messages_ push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,00000020h call SUB_L004C5C40 mov ecx,esi call SUB_L00466C00 jmp L0046787C L0046773D: push 00000024h call SUB_L004C5BC0 mov ecx,[esp+20h] mov edx,[esi+00001828h] lea eax,[esp+4Ch] add edx,00000002h push eax mov eax,[esi+20h] push 00003DEFh push ecx mov ecx,[esi+3Ch] push edx push SWC00504AE8_From____________________________ push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 mov ecx,[esp+3Ch] mov edx,[esi+0000182Ch] lea eax,[esp+68h] add edx,00000002h push eax mov eax,[esi+20h] push 00003DEFh push ecx mov ecx,[esi+3Ch] push edx push SWC00504A60_Subject_________________________ push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 mov ecx,[esp+58h] mov edx,[esi+00001830h] lea eax,[esp+00000084h] add edx,00000002h push eax mov eax,[esi+20h] push 00003DEFh push ecx mov ecx,[esi+3Ch] push edx push SWC005049D8_Date____________________________ push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,00000058h call SUB_L004C5C40 mov ecx,esi call SUB_L00466C00 jmp L0046787C L004677EE: push 00000004h call SUB_L004C5BC0 mov edx,[esi+00001828h] mov ecx,[esp+20h] lea eax,[esp+4Ch] add edx,00000002h push eax push 00003DEFh push ecx push edx push SWC005049BC_Processing___ jmp L00467861 L00467815: push 00000004h call SUB_L004C5BC0 mov edx,[esi+00001828h] mov ecx,[esp+20h] lea eax,[esp+4Ch] add edx,00000002h push eax push 00003DEFh push ecx push edx push SWC0050498C_Waiting_for_messages___ jmp L00467861 L0046783C: push 00000004h call SUB_L004C5BC0 mov edx,[esi+00001828h] mov ecx,[esp+20h] lea eax,[esp+4Ch] add edx,00000002h push eax push 00003C00h push ecx push edx push L0050494C L00467861: mov ecx,[esi+3Ch] mov eax,[esi+20h] push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,00000020h call SUB_L004C5C40 L0046787C: mov eax,[esi+00001834h] mov ecx,[esi+00001838h] push eax push ecx mov ecx,[esi+00001860h] call SUB_L00435670 pop edi pop esi pop ebp pop ebx add esp,00000068h retn ;------------------------------------------------------------------------------ Align 4 L004678A0: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L004678EE lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L004678EE mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+2Ch] L004678EE: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00467900: push esi mov esi,ecx mov eax,[esi+4Ch] test eax,eax jz L0046794E lea eax,[esp+0Ch] lea ecx,[esp+08h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov ecx,[esi+4Ch] lea edx,[esp+0Ch] lea eax,[esp+08h] push edx push eax call SUB_L00457D20 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+000000C8h] test eax,eax jz L0046794E mov edx,[esp+0Ch] mov ecx,[esi+4Ch] push edx mov edx,[esp+0Ch] mov eax,[ecx] push edx call [eax+14h] L0046794E: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00467960: cmp dword ptr [esp+04h],0000001Bh jnz L0046796C call SUB_L00456C40 L0046796C: retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00467970: push ebx push esi push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov esi,[esp+10h] push esi call SUB_L004C4B90 mov ecx,[L00C42CD0] add esp,00000004h xor edi,edi test ecx,ecx jle L004679C4 mov edx,L00C405A0 L0046799C: mov ebx,[edx] cmp eax,[ebx+00000C04h] jz L004679C0 inc edi add edx,00000004h cmp edi,ecx jl L0046799C push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ L004679C0: cmp edi,ecx jl L004679D6 L004679C4: push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ L004679D6: cmp word ptr [esi],0000h jz L00467A56 L004679DC: push 00000002h push L00504BBC push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00467A1E add esi,00000002h cmp word ptr [esi],0000h jnz L004679DC L004679F9: cmp word ptr [esi],0000h jz L00467A56 L004679FF: push 00000004h push SWC00502FB8_____ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L00467A53 add esi,00000002h cmp word ptr [esi],0000h jnz L004679FF jmp L00467A56 L00467A1E: push 00000008h push SWC00504BA8___DEAD__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004679F9 push L007050D8 push 00000009h call SUB_L0049DAD0 add esp,00000008h push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ L00467A53: add esi,00000008h L00467A56: mov eax,[L00C405A0+edi*4] push esi mov byte ptr [eax+00000C08h],01h call SUB_L004C4300 lea ecx,[eax+eax+02h] push ecx call SUB_L004D4FA9 mov edx,[L00C405A0+edi*4] push esi mov [edx+00000C0Ch],eax mov eax,[L00C405A0+edi*4] mov ecx,[eax+00000C0Ch] push ecx call SUB_L004C4430 mov edx,[L00C405A0+edi*4] mov eax,[edx+00000C0Ch] push eax call SUB_L004C4300 mov ecx,[L00C405A0+edi*4] lea esi,[eax+eax-0Ah] push SWC00504B9C______ mov edx,[ecx+00000C0Ch] add edx,esi push edx call SUB_L004C4320 add esp,0000001Ch test eax,eax jnz L00467AE0 mov eax,[L00C405A0+edi*4] mov ecx,[eax+00000C0Ch] mov word ptr [ecx+esi],0000h L00467AE0: push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00467B00: push esi mov esi,[esp+08h] mov dword ptr [L00C42CD8],00000000h cmp word ptr [esi],0000h jz L00467B6F L00467B15: push esi call SUB_L004C4B90 mov cx,[esi] add esp,00000004h test cx,cx jz L00467B38 L00467B26: cmp cx,000Ah jz L00467B38 mov cx,[esi+02h] add esi,00000002h test cx,cx jnz L00467B26 L00467B38: cmp word ptr [esi],000Ah jnz L00467B51 add esi,00000002h test eax,eax jle L00467B51 push eax push esi call SUB_L00467B90 add esp,00000008h mov esi,eax L00467B51: cmp word ptr [esi],0000h jnz L00467B15 mov eax,[L00C42CD8] test eax,eax jz L00467B6F push L007050D8 push 00000002h call SUB_L0049DAD0 add esp,00000008h L00467B6F: mov eax,[L00B29470] pop esi test eax,eax jz L00467B88 mov ecx,[eax+00000F20h] test ecx,ecx jz L00467B88 jmp SUB_L00467260 L00467B88: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00467B90: mov eax,0000119Ch call SUB_L004D4B90 mov eax,[L00C42CD0] push ebp inc eax push esi cmp eax,000007D0h push edi jl L00467BC0 mov eax,[esp+000011ACh] pop edi pop esi pop ebp mov word ptr [eax],0000h add esp,0000119Ch retn ;------------------------------------------------------------------------------ L00467BC0: mov esi,[esp+000011ACh] xor ebp,ebp mov dword ptr [esp+00000EA4h],00000000h cmp [esi],bp jz L00467EFB L00467BDD: push 00000004h push SWC00504C3C_To__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467C65 lea edi,[esi+08h] push 00000100h push 0000003Ch lea ecx,[esp+0000049Ch] push edi push ecx call SUB_L00460490 push 00000100h push 00000022h lea edx,[esp+000002ACh] push edi push edx call SUB_L00460490 push 00000100h push 00000028h lea eax,[esp+00000FD0h] push edi push eax call SUB_L00460490 mov ax,[esi] add esp,00000030h test ax,ax jz L00467C56 L00467C3E: cmp ax,000Ah jz L00467C56 cmp ax,000Dh jz L00467C56 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467C3E L00467C56: cmp word ptr [esi],0000h jz L00467DD2 jmp L00467DCF L00467C65: push 00000006h push SWC00504C2C_From__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467D0A lea edi,[esi+0Ch] push 0000000Bh push SWC00504C14__0__0_0__0_ push edi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467C99 mov ebp,00000001h L00467C99: push 00000100h push 0000003Ch lea ecx,[esp+0000089Ch] push edi push ecx call SUB_L00460490 push 00000100h push 00000022h lea edx,[esp+000006ACh] push edi push edx call SUB_L00460490 push 00000100h push 00000028h lea eax,[esp+00000FD0h] push edi push eax call SUB_L00460490 mov ax,[esi] add esp,00000030h test ax,ax jz L00467CFB L00467CE3: cmp ax,000Ah jz L00467CFB cmp ax,000Dh jz L00467CFB mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467CE3 L00467CFB: cmp word ptr [esi],0000h jz L00467DD2 jmp L00467DCF L00467D0A: push 00000006h push SWC00504C04_Date__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467D77 mov ax,[esi] lea ecx,[esi+0Ch] test ax,ax jz L00467D41 L00467D29: cmp ax,000Ah jz L00467D41 cmp ax,000Dh jz L00467D41 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467D29 L00467D41: cmp word ptr [esi],0000h jz L00467D5C push 00000100h push ecx lea ecx,[esp+00000C9Ch] mov word ptr [esi],0000h push ecx jmp L00467DC7 L00467D5C: push 00000100h lea edx,[esp+00000C98h] push ecx push edx call SUB_L004C4460 add esp,0000000Ch jmp L00467E99 L00467D77: push 00000009h push SWC00504BF0_Subject__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467E09 mov ax,[esi] lea ecx,[esi+12h] test ax,ax jz L00467DAE L00467D96: cmp ax,000Ah jz L00467DAE cmp ax,000Dh jz L00467DAE mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467D96 L00467DAE: cmp word ptr [esi],0000h jz L00467DEE push 00000100h lea eax,[esp+00000A98h] push ecx mov word ptr [esi],0000h push eax L00467DC7: call SUB_L004C4460 add esp,0000000Ch L00467DCF: add esi,00000002h L00467DD2: mov ax,[esi] cmp ax,000Ah jz L00467E96 cmp ax,000Dh jnz L00467E99 jmp L00467E96 L00467DEE: push 00000100h push ecx lea ecx,[esp+00000A9Ch] push ecx call SUB_L004C4460 add esp,0000000Ch jmp L00467E99 L00467E09: push 00000006h push SWC00504BE0_Read__ push esi call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467E51 mov ax,[esi] lea ecx,[esi+0Ch] test ax,ax jz L00467E40 L00467E28: cmp ax,000Ah jz L00467E40 cmp ax,000Dh jz L00467E40 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467E28 L00467E40: xor edx,edx mov dx,[ecx] sub edx,00000030h mov [esp+00000EA4h],edx jmp L00467E99 L00467E51: push esi call SUB_L004C4B90 add esp,00000004h test eax,eax jg L00467EA3 mov ax,[esi] test ax,ax jz L00467E7E L00467E66: cmp ax,000Ah jz L00467E7E cmp ax,000Dh jz L00467E7E mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00467E66 L00467E7E: cmp word ptr [esi],0000h jz L00467E87 add esi,00000002h L00467E87: mov ax,[esi] cmp ax,000Ah jz L00467E96 cmp ax,000Dh jnz L00467E99 L00467E96: add esi,00000002h L00467E99: cmp word ptr [esi],0000h jnz L00467BDD L00467EA3: test ebp,ebp jz L00467EFB push 0000000Bh lea eax,[esp+00000A98h] push SWC00504BC8_NEW_ADDRESS push eax call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L00467EFB mov edx,[esp+000011B0h] lea ecx,[esp+30h] push 0000000Ah push ecx push edx mov dword ptr [L00C42CD8],00000001h call SUB_L004C4CC0 lea eax,[esp+3Ch] push eax push 00000008h call SUB_L0049DAD0 add esp,00000014h mov eax,esi pop edi pop esi pop ebp add esp,0000119Ch retn ;------------------------------------------------------------------------------ L00467EFB: lea ecx,[esp+00000C94h] lea edx,[esp+00000EA8h] push ecx push edx call SUB_L004C4B20 call SUB_L004D653D lea eax,[esp+00000EB0h] lea ecx,[esp+14h] push eax push ecx call SUB_L00460050 mov eax,[esp+2Ch] lea edx,[esp+000000A4h] push 0000000Ah push edx cdq mov ecx,00000064h idiv ecx inc edx push edx call SUB_L004C4CC0 lea edx,[esp+000000B0h] lea eax,[esp+00000CB0h] push edx push eax call SUB_L004C4430 lea ecx,[esp+00000CB8h] push L00504748 push ecx call SUB_L004C4550 mov eax,[esp+44h] lea edx,[esp+000000C0h] push 0000000Ah push edx cdq mov ecx,00000064h idiv ecx push edx call SUB_L004C4CC0 lea edx,[esp+000000CCh] lea eax,[esp+00000CCCh] push edx push eax call SUB_L004C4550 add esp,00000040h lea ecx,[esp+00000C94h] push L00504748 push ecx call SUB_L004C4550 mov eax,[esp+28h] mov ecx,00000064h cdq idiv ecx add esp,00000008h cmp edx,0000000Ah jge L00467FDA lea edx,[esp+00000C94h] push L00504BC4 push edx call SUB_L004C4550 add esp,00000008h L00467FDA: lea eax,[esp+00000094h] push 0000000Ah push eax mov eax,[esp+28h] cdq mov ecx,00000064h idiv ecx push edx call SUB_L004C4CC0 lea edx,[esp+000000A0h] lea eax,[esp+00000CA0h] push edx push eax call SUB_L004C4550 mov eax,[esp+34h] mov edx,[esp+3Ch] add esp,00000014h lea ecx,[eax+eax*8] push L00C424E0 lea eax,[eax+ecx*8] lea ecx,[edx+eax*4] add eax,ecx lea edx,[eax+eax*2] mov eax,[esp+18h] lea eax,[eax+edx*8] mov edx,[esp+14h] mov ecx,eax shl ecx,04h sub ecx,eax lea eax,[edx+ecx*4] mov edx,[esp+10h] mov ecx,eax shl ecx,04h sub ecx,eax lea eax,[edx+ecx*4] mov [esp+00000E98h],eax call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C42CD0] xor edi,edi test eax,eax jle L004680A9 mov ebp,L00C405A0 L00468069: mov edx,[ebp+00h] lea ecx,[esp+00000294h] push ecx push edx call SUB_L004C4320 add esp,00000008h test eax,eax jg L004680A4 jnz L00468095 mov eax,[ebp+00h] mov ecx,[esp+00000E94h] cmp ecx,[eax+00000C00h] jl L004680A4 L00468095: mov eax,[L00C42CD0] inc edi add ebp,00000004h cmp edi,eax jl L00468069 jmp L004680A9 L004680A4: mov eax,[L00C42CD0] L004680A9: cmp eax,edi jle L004680C1 lea ecx,[L00C405A0+eax*4] sub eax,edi L004680B6: mov edx,[ecx-04h] mov [ecx],edx add ecx,FFFFFFFCh dec eax jnz L004680B6 L004680C1: push 00000C14h call SUB_L004D4FA9 mov [L00C405A0+edi*4],eax lea ecx,[esp+00000C98h] add eax,00000A00h push ecx push eax call SUB_L004C4430 mov eax,[L00C405A0+edi*4] lea edx,[esp+000002A0h] push edx push eax call SUB_L004C4430 mov edx,[L00C405A0+edi*4] lea ecx,[esp+000004A8h] add edx,00000200h push ecx push edx call SUB_L004C4430 mov ecx,[L00C405A0+edi*4] lea eax,[esp+000006B0h] add ecx,00000400h push eax push ecx call SUB_L004C4430 mov eax,[L00C405A0+edi*4] lea edx,[esp+000008B8h] add eax,00000600h push edx push eax call SUB_L004C4430 mov edx,[L00C405A0+edi*4] lea ecx,[esp+00000AC0h] add edx,00000800h push ecx push edx call SUB_L004C4430 mov eax,[L00C405A0+edi*4] mov ecx,[esp+00000EC8h] add esp,00000034h mov [eax+00000C00h],ecx mov edx,[L00C405A0+edi*4] mov eax,[esp+000011B0h] push L00C424E0 mov [edx+00000C04h],eax mov ecx,[L00C405A0+edi*4] mov byte ptr [ecx+00000C08h],00h mov edx,[L00C405A0+edi*4] mov dword ptr [edx+00000C0Ch],00000000h mov eax,[L00C405A0+edi*4] mov ecx,[esp+00000EA8h] mov [eax+00000C10h],ecx mov ecx,[L00C42CD0] inc ecx mov [L00C42CD0],ecx call [KERNEL32.dll!LeaveCriticalSection] mov eax,esi pop edi pop esi pop ebp add esp,0000119Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004681F0: mov eax,[L00C42CD0] push edi mov edi,[esp+08h] cmp edi,eax jge L0046826C test edi,edi jl L0046826C push esi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C405A0+edi*4] lea esi,[L00C405A0+edi*4] test eax,eax jz L0046823E mov eax,[eax+00000C0Ch] test eax,eax jz L00468233 push eax call SUB_L004D4F9E add esp,00000004h L00468233: mov eax,[esi] push eax call SUB_L004D4F9E add esp,00000004h L0046823E: mov edx,[L00C42CD0] cmp edi,edx jge L00468259 mov ecx,edx mov eax,esi sub ecx,edi L0046824E: mov esi,[eax+04h] mov [eax],esi add eax,00000004h dec ecx jnz L0046824E L00468259: dec edx push L00C424E0 mov [L00C42CD0],edx call [KERNEL32.dll!LeaveCriticalSection] pop esi L0046826C: pop edi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00468270: push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C42CD0] xor edi,edi test eax,eax jle L004682C5 push esi mov esi,L00C405A0 L0046828D: mov eax,[esi] test eax,eax jz L004682B1 mov eax,[eax+00000C0Ch] test eax,eax jz L004682A6 push eax call SUB_L004D4F9E add esp,00000004h L004682A6: mov eax,[esi] push eax call SUB_L004D4F9E add esp,00000004h L004682B1: mov eax,[L00C42CD0] mov dword ptr [esi],00000000h inc edi add esi,00000004h cmp edi,eax jl L0046828D pop esi L004682C5: push L00C424E0 mov dword ptr [L00C42CD0],00000000h call [KERNEL32.dll!LeaveCriticalSection] pop edi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004682E0: push esi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C42CD0] xor esi,esi test eax,eax jle L00468317 push edi mov ecx,L00C405A0 mov edx,eax L004682FF: mov eax,[ecx] test eax,eax jz L00468310 mov edi,[eax+00000C10h] test edi,edi jnz L00468310 inc esi L00468310: add ecx,00000004h dec edx jnz L004682FF pop edi L00468317: push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468330: push edi push L00C424E0 mov dword ptr [L00C42CD4],00000003h call [KERNEL32.dll!EnterCriticalSection] mov ecx,000007D0h xor eax,eax mov edi,L00C405A0 push L00C424E0 rep stosd mov [L00C42CD0],eax call [KERNEL32.dll!LeaveCriticalSection] pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468370: push esi mov esi,[L00B294DC] test esi,esi jz L004683BA L0046837B: mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jz L00468390 mov ecx,esi call SUB_L004A2FB0 L00468390: cmp esi,[L00B29470] jz L004683A8 cmp esi,[L00B29460] jz L004683A8 cmp esi,[L00B29464] jnz L004683B3 L004683A8: push FFFFFFFFh push FFFFFFFFh mov ecx,esi call SUB_L0044A4E0 L004683B3: mov esi,[esi+40h] test esi,esi jnz L0046837B L004683BA: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004683C0: push FFFFFFFFh push L004E3983 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+28h] mov cl,[esp+2Ch] xor ebx,ebx mov dword ptr [esi],L004EE240 mov [esi+0000009Ch],eax mov ebp,00000001h push SSZ00504890_HTMLBox_framedata mov [esi+00000888h],ebx push 00000008h mov [esp+24h],ebx mov [esi+0000088Ch],ebx mov [esi+00000874h],cl mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+0000087Ch],ebx mov [esi+00000884h],ebp mov [esi+00000878h],ebx mov [esi+00000880h],ebp mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00504880_HTMLBox_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] lea edi,[esi+000000A0h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,000001F4h rep stosd push 000000B0h mov dword ptr [esi+00000870h],FFFFFFFFh mov dword ptr [esi+00000890h],00000DACh mov dword ptr [esi+00000894h],00000DADh mov dword ptr [esi+00000898h],00000DAEh mov dword ptr [esi+0000089Ch],00000DAFh mov dword ptr [esi+000008A0h],00000DB0h mov dword ptr [esi+000008A4h],00000DB1h mov dword ptr [esi+000008A8h],00000DB2h mov dword ptr [esi+000008ACh],00000DB3h mov dword ptr [esi+000008B0h],00000DB4h call SUB_L004D4FA9 add esp,00000014h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00468569 push esi mov ecx,eax call SUB_L00435210 jmp L0046856B L00468569: xor eax,eax L0046856B: mov [esi+000008B4h],eax mov eax,[esp+24h] push ebp push eax mov ecx,esi mov [esp+24h],bl call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004685A0: push esi mov esi,ecx call SUB_L004685C0 test byte ptr [esp+08h],01h jz L004685B8 push esi call SUB_L004D4F9E add esp,00000004h L004685B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004685C0: push FFFFFFFFh push L004E3998 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EE240 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0046860D push SSZ00504880_HTMLBox_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0046860D: mov eax,[esi+3Ch] test eax,eax jz L00468629 push SSZ00504890_HTMLBox_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00468629: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468650: sub esp,00000018h lea eax,[esp+00h] push ebx push esi mov esi,ecx push edi lea ecx,[esp+18h] push eax mov edx,[esi+00000894h] push ecx push edx call SUB_L004434A0 mov edx,[esi+0000089Ch] lea eax,[esp+28h] lea ecx,[esp+1Ch] push eax push ecx push edx call SUB_L004434A0 lea eax,[esp+38h] lea ecx,[esp+2Ch] push eax push ecx push 000000FCh call SUB_L004434A0 mov edi,[esp+4Ch] mov ecx,[esi+3Ch] mov edx,[edi] mov [esi+30h],edx mov eax,[edi+04h] mov [esi+34h],eax mov edx,[ecx+04h] push edx call SUB_L004D4F9E mov eax,[edi+08h] mov edx,[edi] sub eax,edx push SSZ00504880_HTMLBox_frame0 mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[edi+0Ch] mov ecx,[edi+04h] sub eax,ecx mov ecx,[esi+20h] imul ecx,eax mov [esi+24h],eax lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000030h mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[esi+20h] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[esi+24h] mov eax,[edx+04h] mov [eax+02h],cx mov edx,[esi+24h] mov ecx,[esp+0Ch] mov ebx,[esp+14h] mov eax,edx mov [esi+00000884h],edx mov edx,[esp+10h] sub eax,ecx mov [esi+00000884h],eax mov edi,eax mov eax,[esi+20h] mov [esi+0000087Ch],ecx sub eax,ebx mov [esi+00000878h],edx sub eax,edx cmp edi,ecx mov [esi+00000880h],eax jle L00468756 mov ecx,[esi+24h] add eax,edx push ecx mov ecx,[esi+000008B4h] push 00000000h push eax call SUB_L00435500 L00468756: mov ecx,esi call SUB_L00468AF0 pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00468770: mov eax,fs:[00000000h] push FFFFFFFFh push L004E39BE push eax mov fs:[00000000h],esp sub esp,00000220h push ebx push ebp push esi push edi mov esi,ecx push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] xor ebp,ebp lea edi,[esi+000000A0h] L004687A4: mov ecx,[edi] test ecx,ecx jz L004687C2 mov eax,[ecx] push 00000001h call [eax] mov dword ptr [edi],00000000h inc ebp add edi,00000004h cmp ebp,000001F4h jl L004687A4 L004687C2: mov edi,[esi+0000087Ch] mov ebx,[esi+0000088Ch] mov ecx,[esi+00000878h] mov edx,[esi+00000880h] sub edi,ebx mov [esp+1Ch],ecx mov ecx,[L00C42CDC] xor ebx,ebx lea eax,[edi+12h] mov dword ptr [esp+14h],00000000h test ecx,ecx mov [esp+20h],edi mov [esp+28h],eax mov [esp+24h],edx jle L0046895B lea edx,[esi+000000A0h] mov [esp+18h],eax mov ebp,L00C3E660 mov [esp+10h],edx L0046881A: cmp edi,[esi+0000087Ch] jl L0046892C cmp eax,[esi+00000884h] jg L0046892C mov eax,[ebp+00h] lea ecx,[esp+30h] add eax,00000200h push eax push ecx call SUB_L004C4430 mov edx,[ebp+00h] add edx,00000400h push edx call SUB_L004C4300 add esp,0000000Ch test eax,eax jz L0046889D mov eax,[ebp+00h] mov cl,[eax+00000600h] test cl,cl jnz L0046889D lea ecx,[esp+30h] push L00502D2C push ecx call SUB_L004C4550 mov edx,[ebp+00h] lea eax,[esp+38h] add edx,00000400h push edx push eax call SUB_L004C4550 lea ecx,[esp+40h] push L00502D00 push ecx call SUB_L004C4550 add esp,00000018h L0046889D: push 000000B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+00000238h],00000000h jz L004688CD lea edx,[esp+30h] mov ecx,eax push edx push ebx push esi call SUB_L00466340 jmp L004688CF L004688CD: xor eax,eax L004688CF: mov ecx,[esp+10h] mov dword ptr [esp+00000238h],FFFFFFFFh mov [ecx],eax mov edx,[esi+00000870h] cmp edx,ebx jnz L00468902 mov byte ptr [eax+000000B4h],01h mov eax,[eax+000000A0h] test eax,eax jz L00468902 mov byte ptr [eax+000000A4h],01h L00468902: mov ecx,[ecx] lea eax,[esp+1Ch] push eax call SUB_L00466560 mov ecx,[esp+14h] mov eax,[esp+10h] inc ecx add eax,00000004h mov [esp+14h],ecx mov ecx,[L00C42CDC] mov [esp+10h],eax mov eax,[esp+18h] L0046892C: mov edx,[ebp+00h] add edi,00000012h add eax,00000012h mov [esp+20h],edi test edx,edx mov [esp+18h],eax mov [esp+28h],eax jz L0046895B cmp dword ptr [esp+14h],000001F4h jge L0046895B inc ebx add ebp,00000004h cmp ebx,ecx jl L0046881A L0046895B: mov edx,[esi+00000884h] lea ecx,[ecx+ecx*8] shl ecx,1 sub ecx,edx mov edx,[esi+0000087Ch] add ecx,edx test ecx,ecx mov [esi+00000888h],ecx jg L00468986 mov dword ptr [esi+00000888h],00000001h jmp L004689C3 L00468986: mov eax,ecx mov edi,00000012h cdq idiv edi mov eax,38E38E39h test edx,edx jz L004689AC imul ecx sar edx,02h mov eax,edx shr eax,1Fh lea eax,[edx+eax+01h] lea ecx,[eax+eax*8] jmp L004689BB L004689AC: imul ecx sar edx,02h mov eax,edx shr eax,1Fh add edx,eax lea ecx,[edx+edx*8] L004689BB: shl ecx,1 mov [esi+00000888h],ecx L004689C3: push L00C424E0 call [KERNEL32.dll!LeaveCriticalSection] mov ecx,[esp+00000230h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000022Ch retn ;------------------------------------------------------------------------------ Align 16 L004689F0: push esi mov esi,ecx push edi mov edi,[esi+00000888h] test edi,edi jle L00468A46 mov ecx,[esp+10h] test ecx,ecx jle L00468A46 mov eax,edi imul eax,[esp+0Ch] cdq idiv ecx mov ecx,eax mov eax,38E38E39h imul ecx sar edx,02h mov eax,edx mov ecx,[esi+000008B4h] shr eax,1Fh add edx,eax lea eax,[edx+edx*8] shl eax,1 test ecx,ecx mov [esi+0000088Ch],eax jz L00468A3F push edi push eax call SUB_L00435670 L00468A3F: mov ecx,esi call SUB_L00468AF0 L00468A46: pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 8 L00468A50: push esi mov esi,ecx mov ecx,[esp+08h] push edi mov eax,[esi+0000088Ch] test ecx,ecx jnz L00468A6D lea ecx,[eax-12h] mov [esi+0000088Ch],ecx jmp L00468A76 L00468A6D: lea edx,[eax+12h] mov [esi+0000088Ch],edx L00468A76: mov ecx,[esi+0000088Ch] test ecx,ecx jge L00468A8A mov dword ptr [esi+0000088Ch],00000000h L00468A8A: mov edi,[esi+00000888h] mov ecx,[esi+0000088Ch] cmp ecx,edi jle L00468AA0 mov [esi+0000088Ch],edi L00468AA0: mov ecx,[esi+0000088Ch] cmp ecx,eax jz L00468ADE mov eax,38E38E39h imul ecx sar edx,02h mov eax,edx mov ecx,[esi+000008B4h] shr eax,1Fh add edx,eax lea eax,[edx+edx*8] shl eax,1 test ecx,ecx mov [esi+0000088Ch],eax jz L00468AD7 push edi push eax call SUB_L00435670 L00468AD7: mov ecx,esi call SUB_L00468AF0 L00468ADE: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00468AF0: sub esp,0000005Ch push ebx push ebp push esi mov esi,ecx lea eax,[esp+30h] push edi lea ecx,[esp+30h] push eax push ecx push 000000FCh call SUB_L004434A0 mov eax,[esi+000008B4h] mov edi,[esi+20h] xor ebx,ebx add esp,0000000Ch cmp eax,ebx mov [esp+20h],edi jz L00468B2B sub edi,[esp+30h] mov [esp+20h],edi L00468B2B: mov edx,[esi+24h] lea eax,[esp+24h] mov [esp+58h],edx mov edx,[esi+00000890h] lea ecx,[esp+18h] push eax push ecx push edx mov [esp+5Ch],ebx mov [esp+58h],ebx mov [esp+60h],edi call SUB_L004434A0 mov edx,[esi+00000894h] lea eax,[esp+20h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+00000898h] lea eax,[esp+40h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+00000890h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+00000080h] push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esp+58h] mov eax,edi mov [esp+0000008Ch],edx sub eax,ecx mov [esp+00000084h],ebx mov [esp+00000088h],eax mov eax,[esi+20h] mov edx,eax mov [esp+00000080h],ebx mov ebx,[esp+5Ch] sub edx,ecx add esp,00000044h cmp ebx,edx jge L00468C27 L00468BE7: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+00000894h] add eax,00000004h lea ecx,[esp+44h] push eax push 00000000h push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov ecx,[esp+30h] add ebx,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp ebx,edx jl L00468BE7 L00468C27: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,edi add edx,00000004h sub eax,ecx push edx mov edx,[esi+00000898h] push 00000000h lea ecx,[esp+5Ch] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ebx,[esp+34h] mov ebp,[esi+24h] mov edx,[esi+0000089Ch] lea ecx,[esp+38h] lea eax,[ebx+ebx] mov [esp+4Ch],ebx mov [esp+58h],eax sub ebp,eax lea eax,[esp+44h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000008A0h] lea eax,[esp+40h] lea ecx,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000008A4h] lea eax,[esp+60h] lea ecx,[esp+48h] push eax push ecx push edx call SUB_L004434A0 mov ecx,[esp+68h] mov eax,[esp+58h] add esp,00000044h cmp ecx,eax jge L00468CC1 mov eax,ecx mov [esp+14h],eax L00468CC1: mov ecx,[esp+28h] cmp ecx,eax jge L00468CCD mov [esp+14h],ecx L00468CCD: mov eax,[esp+2Ch] add ebp,ebx cmp eax,ebp mov [esp+40h],ebx mov dword ptr [esp+3Ch],00000000h mov [esp+44h],edi mov [esp+48h],ebp jge L00468DD4 L00468CEF: mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+0000089Ch] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+4Ch] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+4Ch] mov ecx,[esp+30h] mov [esp+00000080h],eax mov eax,[esi+20h] sub edi,ecx mov edx,eax mov [esp+00000084h],edi mov edi,[esp+38h] sub edx,ecx add esp,00000020h cmp edi,edx mov dword ptr [esp+5Ch],00000000h mov [esp+68h],ebp jge L00468D8F L00468D50: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000008A0h] add eax,00000004h lea ecx,[esp+64h] push eax push ebx push edi push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov ecx,[esp+30h] add edi,eax mov eax,[esi+20h] mov edx,eax add esp,00000020h sub edx,ecx cmp edi,edx jl L00468D50 L00468D8F: mov eax,[esi+24h] mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx mov edx,[eax+04h] mov eax,[esp+28h] add edx,00000004h sub eax,ecx push edx mov edx,[esi+000008A4h] push ebx lea ecx,[esp+4Ch] push eax push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+34h] mov edi,[esp+40h] add ebx,ecx add esp,00000020h cmp ebx,ebp jl L00468CEF L00468DD4: mov edx,[esi+000008A8h] lea eax,[esp+24h] lea ecx,[esp+18h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000008ACh] lea eax,[esp+20h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov edx,[esi+000008B0h] lea eax,[esp+40h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004434A0 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+000008A8h] add eax,00000004h push ecx push eax push ebp lea ecx,[esp+00000080h] push 00000000h push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov ecx,[esp+54h] mov edx,[esi+24h] mov eax,edi mov ebx,[esp+5Ch] sub eax,ecx mov [esp+0000008Ch],edx mov [esp+00000088h],eax mov eax,[esi+20h] mov edx,eax add esp,00000044h sub edx,ecx mov ecx,ebx cmp ecx,edx mov [esp+40h],ebp mov dword ptr [esp+3Ch],00000000h jge L00468EBC L00468E7D: mov ecx,[esi+24h] mov edx,[esi+3Ch] push ecx push eax mov eax,[edx+04h] mov edx,[esi+000008ACh] add eax,00000004h lea ecx,[esp+44h] push eax push ebp push ebx push ecx push edx push SUB_L004B95C0 call SUB_L004436C0 mov eax,[esp+3Ch] mov edx,[esp+30h] add ebx,eax mov eax,[esi+20h] mov ecx,eax add esp,00000020h sub ecx,edx cmp ebx,ecx jl L00468E7D L00468EBC: mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] mov ebx,[esp+10h] push edx mov edx,[ecx+04h] mov ecx,[esi+000008B0h] add edx,00000004h push eax push edx sub edi,ebx push ebp lea eax,[esp+5Ch] push edi push eax push ecx push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h mov ecx,esi call SUB_L00468770 mov edx,[esi+00000888h] mov eax,[esi+0000088Ch] mov ecx,[esi+000008B4h] push edx push eax call SUB_L00435670 pop edi pop esi pop ebp pop ebx add esp,0000005Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468F20: push esi mov esi,[esp+08h] cmp word ptr [esi],0000h jz L00468F63 L00468F2B: cmp word ptr [esi],002Eh jz L00468F63 push esi call SUB_L00468FA0 mov ax,[esi] add esp,00000004h test ax,ax jz L00468F54 L00468F42: cmp ax,000Ah jz L00468F54 mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L00468F42 L00468F54: cmp word ptr [esi],000Ah jnz L00468F5D add esi,00000002h L00468F5D: cmp word ptr [esi],0000h jnz L00468F2B L00468F63: mov eax,[L00B2946C] pop esi test eax,eax jz L00468F7C mov ecx,[eax+00000F1Ch] test ecx,ecx jz L00468F7C call SUB_L00468AF0 L00468F7C: mov eax,[L00B29468] test eax,eax jz L00468F94 mov ecx,[eax+00000F1Ch] test ecx,ecx jz L00468F94 jmp SUB_L00468AF0 L00468F94: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00468FA0: mov eax,[L00C42CDC] sub esp,00000604h inc eax cmp eax,000007D0h jge L00469143 push esi mov esi,[esp+0000060Ch] push 00000100h push 0000003Ch lea ecx,[esp+0Ch] push esi push ecx call SUB_L00460490 push 00000100h push 00000022h lea edx,[esp+0000021Ch] push esi push edx call SUB_L00460490 push 00000100h push 00000028h lea eax,[esp+0000042Ch] push esi push eax call SUB_L00460490 mov ax,[esp+00000434h] add esp,00000030h test ax,ax jbe L00469019 cmp ax,0005h mov byte ptr [esp+00000604h],01h jbe L00469021 L00469019: mov byte ptr [esp+00000604h],00h L00469021: push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov ecx,[L00C42CDC] xor esi,esi test ecx,ecx jle L004690A9 mov edi,L00C3E660 L0046903E: mov al,[esp+00000608h] test al,al mov eax,[edi] mov dl,[eax+00000600h] jz L00469057 test dl,dl jz L004690A9 jmp L0046905B L00469057: test dl,dl jnz L00469099 L0046905B: lea ecx,[esp+00000208h] add eax,00000200h push ecx push eax call SUB_L004C4320 add esp,00000008h test eax,eax jg L004690A3 jnz L00469093 mov eax,[edi] lea edx,[esp+00000408h] add eax,00000400h push edx push eax call SUB_L004C4320 add esp,00000008h test eax,eax jg L004690A3 L00469093: mov ecx,[L00C42CDC] L00469099: inc esi add edi,00000004h cmp esi,ecx jl L0046903E jmp L004690A9 L004690A3: mov ecx,[L00C42CDC] L004690A9: cmp ecx,esi pop edi jle L004690C2 lea eax,[L00C3E660+ecx*4] sub ecx,esi L004690B7: mov edx,[eax-04h] mov [eax],edx add eax,FFFFFFFCh dec ecx jnz L004690B7 L004690C2: push 00000602h call SUB_L004D4FA9 lea ecx,[esp+08h] mov [L00C3E660+esi*4],eax push ecx push eax call SUB_L004C4430 mov eax,[L00C3E660+esi*4] lea edx,[esp+00000210h] add eax,00000200h push edx push eax call SUB_L004C4430 mov edx,[L00C3E660+esi*4] lea ecx,[esp+00000418h] add edx,00000400h push ecx push edx call SUB_L004C4430 mov eax,[L00C3E660+esi*4] mov cl,[esp+00000620h] add esp,0000001Ch mov [eax+00000600h],cl mov ecx,[L00C42CDC] inc ecx push L00C424E0 mov [L00C42CDC],ecx call [KERNEL32.dll!LeaveCriticalSection] pop esi L00469143: add esp,00000604h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00469150: mov eax,[L00C42CDC] push esi mov esi,[esp+08h] cmp esi,eax jge L004691B7 test esi,esi jl L004691B7 push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C3E660+esi*4] lea edi,[L00C3E660+esi*4] test eax,eax jz L00469189 push eax call SUB_L004D4F9E add esp,00000004h L00469189: mov edx,[L00C42CDC] cmp esi,edx jge L004691A4 mov ecx,edx mov eax,edi sub ecx,esi L00469199: mov esi,[eax+04h] mov [eax],esi add eax,00000004h dec ecx jnz L00469199 L004691A4: dec edx push L00C424E0 mov [L00C42CDC],edx call [KERNEL32.dll!LeaveCriticalSection] pop edi L004691B7: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004691C0: push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C42CDC] xor edi,edi test eax,eax jle L00469200 push esi mov esi,L00C3E660 L004691DD: mov eax,[esi] test eax,eax jz L004691EC push eax call SUB_L004D4F9E add esp,00000004h L004691EC: mov eax,[L00C42CDC] mov dword ptr [esi],00000000h inc edi add esi,00000004h cmp edi,eax jl L004691DD pop esi L00469200: push L00C424E0 mov dword ptr [L00C42CDC],00000000h call [KERNEL32.dll!LeaveCriticalSection] pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00469220: push edi push L00C424E0 call [KERNEL32.dll!EnterCriticalSection] mov ecx,000007D0h xor eax,eax mov edi,L00C3E660 push L00C424E0 rep stosd mov [L00C42CDC],eax call [KERNEL32.dll!LeaveCriticalSection] pop edi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00469250: push ecx push esi push edi push SSZ00504CEC_HueManager__startup__begin_ call SUB_L004C7F20 push L004FD2A8 push SSZ00504CE0_hues_mul call SUB_L0043FEF0 mov esi,eax xor edi,edi add esp,0000000Ch cmp esi,edi jz L0046932D push ebx mov [esp+0Ch],edi push ebp mov edi,L00C42D28 L00469286: test byte ptr [esp+10h],07h jnz L0046929A push 00000001h push 00000004h push esi call SUB_L00440490 add esp,0000000Ch L0046929A: lea ebp,[edi-40h] mov ebx,00000020h L004692A2: push esi push 00000001h push 00000002h push ebp call SUB_L004404F0 add esp,00000010h add ebp,00000002h dec ebx jnz L004692A2 push esi push 00000001h push 00000002h push edi call SUB_L004404F0 push esi lea ebp,[edi+02h] push 00000001h push 00000002h push ebp call SUB_L004404F0 push esi push 00000001h lea eax,[edi+04h] push 00000014h push eax call SUB_L004404F0 add esp,00000030h lea eax,[edi-40h] mov ecx,00000020h L004692E8: cmp word ptr [edi],0000h jnz L004692F5 cmp word ptr [ebp+00h],0000h jz L00469300 L004692F5: cmp word ptr [eax],0000h jnz L00469300 mov word ptr [eax],0001h L00469300: add eax,00000002h dec ecx jnz L004692E8 mov edx,[esp+10h] add edi,00000058h inc edx cmp edi,L00C83468 mov [esp+10h],edx jl L00469286 push esi call SUB_L00440570 add esp,00000004h xor edi,edi pop ebp pop ebx jmp L00469344 L0046932D: push SSZ00504CE0_hues_mul push SSZ00504CB0_C__publish004_client_src_shared_ push SSZ00504C48_File__s__Function_HueManager__CH call SUB_L004C7EC0 add esp,0000000Ch L00469344: mov dword ptr [L00C835AC],00000008h mov [L00C8352C],edi mov dword ptr [L00C83530],00000007h mov dword ptr [L00C83534],0000000Eh mov dword ptr [L00C83538],00000015h mov dword ptr [L00C8353C],0000001Ch mov dword ptr [L00C83540],00000023h mov dword ptr [L00C83544],0000002Bh mov dword ptr [L00C83548],00000032h mov esi,L00C42CE8 L0046939F: mov eax,esi mov edx,00000020h L004693A6: mov cx,[eax] cmp cx,di jz L004693B5 cmp cx,7FFFh jbe L004693BA L004693B5: mov word ptr [eax],0001h L004693BA: add eax,00000002h dec edx jnz L004693A6 add esi,00000058h cmp esi,L00C83428 jl L0046939F xor esi,esi L004693CD: mov eax,[esi+L0051C794] cmp eax,edi jz L004693F7 jge L004693DD neg eax jmp L004693EB L004693DD: push eax call SUB_L00469410 add esp,00000004h and eax,0000FFFFh L004693EB: mov [esi+L004FBC08],eax mov [esi+L0051C794],edi L004693F7: add esi,00000004h cmp esi,0000001Ch jl L004693CD pop edi pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00469410: sub esp,0000000Ch mov eax,[esp+10h] push ebx push ebp mov ebx,eax mov ebp,eax push esi sar ebx,0Ah sar ebp,05h and ebx,0000001Fh and ebp,0000001Fh and eax,0000001Fh push edi mov dword ptr [esp+10h],0004E200h mov dword ptr [esp+14h],00000000h mov [esp+18h],eax mov dword ptr [esp+20h],00000001h mov edi,L00C42D82 L0046944F: cmp word ptr [edi-02h],0000h jnz L0046945C cmp word ptr [edi],0000h jz L004694A3 L0046945C: xor ecx,ecx mov eax,[esp+18h] mov cx,[edi] mov esi,ecx mov edx,ecx shr esi,05h shr edx,0Ah and esi,0000001Fh and ecx,0000001Fh and edx,0000001Fh sub esi,ebp sub ecx,eax sub edx,ebx mov eax,esi imul edx,edx imul eax,esi add edx,eax mov eax,ecx imul eax,ecx add edx,eax mov eax,[esp+10h] cmp edx,eax jge L004694A3 mov ecx,[esp+20h] mov [esp+10h],edx mov [esp+14h],ecx L004694A3: mov edx,[esp+20h] add edi,00000058h inc edx cmp edi,L00C58542 mov [esp+20h],edx jl L0046944F mov ax,[esp+14h] pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004694D0: push FFFFFFFFh push L004E39D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+34h] mov ecx,[esp+3Ch] mov edx,[esp+38h] mov dword ptr [esi],L004EE3E8 mov [esi+000000D0h],eax mov [esi+000000D8h],ecx mov [esi+000000D4h],edx mov eax,[esi+000000D0h] xor edi,edi mov ebx,00000001h cmp eax,edi mov [esp+1Ch],edi jz L0046954C cmp eax,ebx jz L0046954C cmp eax,00000005h jz L0046954C cmp eax,00000002h jz L0046954C cmp eax,00000003h jz L0046954C cmp eax,00000004h jz L0046954C mov [esi+000000D0h],edi L0046954C: mov eax,[esi+000000D0h] mov ecx,00000008h cmp eax,edi jnz L0046957D mov [esi+000000B8h],ecx mov [esi+000000BCh],ecx mov dword ptr [esi+000000C8h],000003E9h mov dword ptr [esi+000000CCh],00000421h jmp L004695DF L0046957D: cmp eax,ebx jz L004695BB cmp eax,00000002h jz L004695BB cmp eax,00000005h jz L00469595 cmp eax,00000003h jz L00469595 cmp eax,00000004h jnz L004695DF L00469595: mov dword ptr [esi+000000B8h],00000032h mov dword ptr [esi+000000BCh],00000014h mov [esi+000000C8h],ebx mov dword ptr [esi+000000CCh],000003E9h jmp L004695DF L004695BB: mov [esi+000000B8h],ecx mov dword ptr [esi+000000BCh],00000006h mov dword ptr [esi+000000C8h],0000044Dh mov dword ptr [esi+000000CCh],0000047Ch L004695DF: mov eax,[esi+000000B8h] xor edx,edx cmp eax,edi mov ebp,00000064h mov [esp+3Ch],edx jle L0046968E lea eax,[esi+000000DCh] mov [esp+34h],eax L00469602: mov ecx,[esi+000000CCh] cmp ecx,000003E9h jnz L00469624 add ebp,ebp lea eax,[ebx+ebp] cmp eax,ecx jle L0046962C inc ebx mov ebp,00000064h lea eax,[ebx+64h] jmp L0046962C L00469624: mov eax,[esi+000000C8h] add eax,edx L0046962C: xor edi,edi cmp [esi+000000BCh],edi jle L0046966B mov edx,[esp+34h] L0046963A: cmp eax,ecx jl L00469640 mov eax,ecx L00469640: mov [edx],eax mov ecx,[esi+000000CCh] cmp ecx,000003E9h jnz L00469655 add eax,00000005h jmp L0046965B L00469655: add eax,[esi+000000B8h] L0046965B: inc edi add edx,00000004h cmp edi,[esi+000000BCh] jl L0046963A mov edx,[esp+3Ch] L0046966B: mov ecx,[esp+34h] mov eax,[esi+000000B8h] inc edx add ecx,00000190h cmp edx,eax mov [esp+3Ch],edx mov [esp+34h],ecx jl L00469602 xor edi,edi L0046968E: mov al,[esp+40h] test al,al jz L004696DA call SUB_L004D6F81 cdq idiv [esi+000000B8h] mov [esi+000000ACh],edx call SUB_L004D6F81 cdq idiv [esi+000000BCh] mov eax,[esi+000000ACh] lea eax,[eax+eax*4] lea ecx,[eax+eax*4] mov [esi+000000B0h],edx lea edx,[edx+ecx*4] mov ax,[esi+edx*4+000000DCh] mov [esi+000000B4h],ax jmp L004696E8 L004696DA: mov cx,[esi+000000DCh] mov [esi+000000B4h],cx L004696E8: mov ebp,[esi+000000BCh] mov [esi+60h],edi mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi mov edi,[esp+2Ch] mov ebx,[esi+000000B8h] mov eax,edi mov [esi+20h],edi cdq idiv ebp push SSZ004FFBCC_framedata_for_CDumbGump push 00000008h mov dword ptr [esi+08h],SSZ00504D08_hue_control mov dword ptr [esi+54h],00000906h mov dword ptr [esi+14h],00000000h mov dword ptr [esi+18h],00000001h mov ecx,eax mov eax,[esp+38h] cdq idiv ebx mov [esi+000000C0h],ecx mov edx,[esp+38h] imul ecx,ebp mov [esi+24h],edx mov edx,[esp+30h] mov [esi+34h],edx mov [esi+000000A4h],ecx mov [esp+48h],eax mov [esi+000000C4h],eax mov eax,[esp+2Ch] mov [esi+30h],eax mov eax,edi mov edi,[esp+48h] sub eax,ecx imul edi,ebx cdq sub eax,edx mov [esi+000000A8h],edi sar eax,1 mov [esi+0000009Ch],eax mov eax,[esp+38h] sub eax,edi cdq sub eax,edx sar eax,1 mov [esi+000000A0h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L00469A70 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0020h ;------------------------------------------------------------------------------ Align 16 L00469840: push esi mov esi,ecx call SUB_L00469860 test byte ptr [esp+08h],01h jz L00469858 push esi call SUB_L004D4F9E add esp,00000004h L00469858: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00469860: push FFFFFFFFh push L004E39F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EE3E8 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L004698AD push SSZ00504D24_hue_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004698AD: mov eax,[esi+3Ch] test eax,eax jz L004698C9 push SSZ00504D14_hue_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004698C9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004698F0: mov eax,[esp+04h] push esi mov esi,ecx sub eax,[esi+0000009Ch] cdq idiv [esi+000000C0h] mov edx,[esi+000000A0h] mov ecx,eax mov eax,[esp+0Ch] sub eax,edx cdq idiv [esi+000000C4h] test ecx,ecx jge L0046991F xor ecx,ecx L0046991F: test eax,eax jge L00469925 xor eax,eax L00469925: mov edx,[esi+000000BCh] cmp ecx,edx jl L00469932 lea ecx,[edx-01h] L00469932: mov edx,[esi+000000B8h] cmp eax,edx jl L0046993F lea eax,[edx-01h] L0046993F: mov [esi+000000ACh],eax lea eax,[eax+eax*4] mov [esi+000000B0h],ecx lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] mov dx,[esi+ecx*4+000000DCh] mov ecx,[esi+000000D4h] test ecx,ecx mov [esi+000000B4h],dx jz L00469973 mov eax,[ecx] push esi call [eax+4Ch] L00469973: mov ecx,esi mov dword ptr [esi+6Ch],00000000h call SUB_L00469A70 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00469990: mov eax,[esp+04h] push esi mov esi,ecx sub eax,[esi+0000009Ch] cdq idiv [esi+000000C0h] mov edx,[esi+000000A0h] mov ecx,eax mov eax,[esp+0Ch] sub eax,edx cdq idiv [esi+000000C4h] test ecx,ecx jge L004699BF xor ecx,ecx L004699BF: test eax,eax jge L004699C5 xor eax,eax L004699C5: mov edx,[esi+000000BCh] cmp ecx,edx jl L004699D2 lea ecx,[edx-01h] L004699D2: mov edx,[esi+000000B8h] cmp eax,edx jl L004699DF lea eax,[edx-01h] L004699DF: mov [esi+000000ACh],eax lea eax,[eax+eax*4] mov [esi+000000B0h],ecx lea eax,[eax+eax*4] lea ecx,[ecx+eax*4] mov dx,[esi+ecx*4+000000DCh] mov ecx,esi mov [esi+000000B4h],dx call SUB_L00469A70 mov ecx,[esi+000000D4h] test ecx,ecx jz L00469A1A mov eax,[ecx] push esi call [eax+4Ch] L00469A1A: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L00469A20: mov eax,[ecx+3Ch] mov edx,[esp+04h] test edx,edx mov eax,[eax+04h] push esi jl L00469A5C mov esi,[esp+0Ch] test esi,esi jl L00469A5C push edi xor edi,edi mov di,[eax] cmp edx,edi pop edi jge L00469A5C xor edx,edx mov dx,[eax+02h] cmp esi,edx jge L00469A5C mov eax,[ecx+6Ch] test eax,eax jz L00469A5C mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L00469A5C: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00469A70: sub esp,00000028h push esi mov esi,ecx mov dword ptr [esp+18h],00000000h mov eax,[esi+3Ch] mov edx,[esi+000000D8h] mov ecx,[eax+04h] push ecx push edx call SUB_L0042BA90 mov edx,[esi+000000A0h] mov eax,[esi+000000A8h] add esp,00000008h cmp edx,eax mov [esp+04h],edx jge L00469C70 push ebx lea eax,[esi+000000DCh] push ebp push edi mov [esp+28h],eax L00469AB9: mov ebp,[esi+0000009Ch] mov eax,[esi+000000A4h] mov ecx,[esi+000000C4h] cmp ebp,eax mov [esp+20h],ecx mov dword ptr [esp+18h],00000000h mov [esp+34h],ebp jge L00469C3E mov eax,[esp+28h] mov [esp+1Ch],eax L00469AEB: mov ecx,[esp+1Ch] mov ebx,[esi+000000C0h] mov [esp+30h],ebx mov eax,[ecx] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] mov cx,[L00C42D08+eax*8] mov al,[L00C8C4A4] test al,al mov [esp+2Ch],cx jz L00469B76 mov eax,[esp+20h] mov edi,edx lea ecx,[edx+eax] cmp edx,ecx mov [esp+14h],ecx jge L00469BC1 lea edx,[ebx+ebp] L00469B2F: cmp ebp,edx mov eax,ebp jge L00469B6B mov edx,[esp+2Ch] mov ecx,edx and edx,0000001Fh and ecx,0000FFE0h shl ecx,1 or ecx,edx L00469B48: mov edx,[esi+20h] mov ebx,[esi+3Ch] imul edx,edi mov ebx,[ebx+04h] add edx,eax inc eax mov [ebx+edx*2+04h],cx mov ebx,[esp+30h] lea edx,[ebx+ebp] cmp eax,edx jl L00469B48 mov ecx,[esp+14h] L00469B6B: inc edi cmp edi,ecx jl L00469B2F mov edx,[esp+10h] jmp L00469BC1 L00469B76: mov eax,[esp+20h] mov ecx,edx add eax,edx cmp edx,eax mov [esp+14h],eax jge L00469BC1 lea edi,[ebx+ebp] L00469B89: cmp ebp,edi mov eax,ebp jge L00469BB8 L00469B8F: mov edx,[esi+20h] mov ebx,[esi+3Ch] imul edx,ecx mov ebx,[ebx+04h] mov bp,[esp+2Ch] add edx,eax inc eax cmp eax,edi mov [ebx+edx*2+04h],bp jl L00469B8F mov ebp,[esp+34h] mov ebx,[esp+30h] mov edx,[esp+10h] L00469BB8: mov eax,[esp+14h] inc ecx cmp ecx,eax jl L00469B89 L00469BC1: mov eax,[esp+24h] mov ecx,[esi+000000ACh] cmp eax,ecx jnz L00469C16 mov ecx,[esp+18h] mov eax,[esi+000000B0h] cmp ecx,eax jnz L00469C16 mov eax,[esi+000000C4h] cdq sub eax,edx mov ecx,eax mov eax,[esp+10h] sar ecx,1 add ecx,eax mov eax,[esi+000000C0h] imul ecx,[esi+20h] cdq sub eax,edx mov edx,ebp add edx,ecx mov ecx,[esi+3Ch] sar eax,1 add eax,edx mov edx,[ecx+04h] mov word ptr [edx+eax*2+02h],7FFFh mov edx,[esp+10h] L00469C16: mov edi,[esp+18h] mov ecx,[esp+1Ch] mov eax,[esi+000000A4h] add ebp,ebx inc edi add ecx,00000004h cmp ebp,eax mov [esp+34h],ebp mov [esp+18h],edi mov [esp+1Ch],ecx jl L00469AEB L00469C3E: mov ebx,[esp+20h] mov edi,[esp+24h] mov ecx,[esp+28h] mov eax,[esi+000000A8h] add edx,ebx inc edi add ecx,00000190h cmp edx,eax mov [esp+10h],edx mov [esp+24h],edi mov [esp+28h],ecx jl L00469AB9 pop edi pop ebp pop ebx L00469C70: pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00469C80: push FFFFFFFFh push L004E3A44 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov edx,[esp+2Ch] mov dword ptr [ebp+00h],L004EE55C mov [ebp+30h],eax mov [ebp+34h],ecx lea eax,[ebp+24h] lea ecx,[ebp+20h] push eax xor ebx,ebx push ecx mov dword ptr [ebp+08h],SSZ00504D34_hue_gump push 00000906h mov [esp+28h],ebx mov [ebp+60h],ebx mov [ebp+54h],edx mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L004434A0 mov eax,00000022h mov ecx,00000005h mov [ebp+000000D4h],eax mov [ebp+000000D8h],eax mov eax,[esp+44h] mov esi,[esp+40h] mov [ebp+000000E4h],ax and eax,0000FFFFh sub eax,00000002h mov edi,esi cdq idiv ecx mov eax,[esp+3Ch] mov dword ptr [ebp+000000DCh],000000C1h mov [ebp+000000B0h],eax mov dword ptr [ebp+000000E0h],00000071h mov [ebp+000000B4h],ebx mov [ebp+000000B8h],ebx mov [ebp+000000C0h],ebx mov [ebp+000000BCh],ebx mov [ebp+000000C4h],bl mov [ebp+000000E6h],dx xor edx,edx cmp eax,ebx setz dl or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000ACh],edx repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000D0h],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 [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h push SSZ004FFBCC_framedata_for_CDumbGump push 00000008h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+3Ch] 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 push 00000906h push SUB_L004B9B80 call SUB_L00443500 add esp,0000003Ch mov ecx,ebp call SUB_L0046A4D0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L00469E9F push 00000845h push ebp push 000000BAh push ebx push 0000008Eh push 00000026h mov ecx,eax call SUB_L00422790 jmp L00469EA1 L00469E9F: xor eax,eax L00469EA1: mov [ebp+0000009Ch],eax mov word ptr [eax+000000B4h],0846h mov ecx,[ebp+0000009Ch] push 00000001h push ebp mov [esp+24h],bl call SUB_L004587A0 mov ecx,[ebp+0000009Ch] xor eax,eax mov ax,[ebp+000000E6h] push 00000004h push eax call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L00469F14 push ebx push L00420740 push ebx push 00000002h push ebp push 0000009Eh push 00000027h push 0000008Eh push 0000001Ah mov ecx,eax call SUB_L004220C0 jmp L00469F16 L00469F14: xor eax,eax L00469F16: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov [ebp+000000A0h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L00469F6B push ebx push L00420780 push ebx push 00000002h push ebp push 0000009Eh push 000000C5h push 0000008Eh push 000000B8h mov ecx,eax call SUB_L004220C0 jmp L00469F6D L00469F6B: xor eax,eax L00469F6D: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov [ebp+000000A4h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L00469FC1 push ebx push 00000908h push 00000907h push L004C1AA0 push ebx push ebx push ebp push 0000008Ah push 000000D0h mov ecx,eax call SUB_L00421F40 jmp L00469FC3 L00469FC1: xor eax,eax L00469FC3: push 00000001h push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000909h call SUB_L004587A0 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 16 L0046A000: push esi mov esi,ecx call SUB_L0046A370 test byte ptr [esp+08h],01h jz L0046A018 push esi call SUB_L004D4F9E add esp,00000004h L0046A018: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046A020: push FFFFFFFFh push L004E3A84 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 xor ebx,ebx mov dword ptr [esi],L004EE55C mov dword ptr [esi+08h],SSZ00504D34_hue_gump lea ebp,[esi+24h] mov [esi+60h],ebx lea edi,[esi+20h] mov [esi+54h],ebx push ebp mov [esi+64h],ebx push edi mov [esi+50h],ebx push 00000906h mov [esp+28h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 mov eax,[L005073D0] mov ecx,[edi] sub eax,ecx mov ecx,[ebp+00h] cdq sub eax,edx push SSZ004FFBCC_framedata_for_CDumbGump sar eax,1 mov [esi+30h],eax mov eax,[L005073D4] sub eax,ecx mov ecx,[esp+34h] cdq sub eax,edx mov dx,[esp+38h] sar eax,1 mov [esi+34h],eax mov eax,00000022h mov [esi+000000D4h],eax mov [esi+000000D8h],eax mov [esi+000000C8h],ecx mov cx,[esp+3Ch] mov eax,00000001h push 00000008h mov dword ptr [esi+000000DCh],000000C1h mov dword ptr [esi+000000E0h],00000071h mov word ptr [esi+000000E4h],0003h mov [esi+000000E6h],ax mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+000000B4h],eax mov [esi+000000B8h],eax mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx mov [esi+000000CCh],dx mov [esi+000000CEh],cx mov [esi+000000D0h],ebx mov [esi+14h],ebx mov [esi+18h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebp+00h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+3Ch] 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 push 00000906h push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h mov ecx,esi call SUB_L0046A4D0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L0046A219 push 00000845h push esi push 000000BAh push ebx push 0000008Eh push 00000026h mov ecx,eax call SUB_L00422790 jmp L0046A21B L0046A219: xor eax,eax L0046A21B: mov [esi+0000009Ch],eax mov word ptr [eax+000000B4h],0846h mov ecx,[esi+0000009Ch] push 00000001h push esi mov [esp+24h],bl call SUB_L004587A0 mov ecx,[esi+0000009Ch] xor eax,eax mov ax,[esi+000000E6h] push 00000004h push eax call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L0046A28E push ebx push L00420740 push ebx push 00000002h push esi push 0000009Eh push 00000027h push 0000008Eh push 0000001Ah mov ecx,eax call SUB_L004220C0 jmp L0046A290 L0046A28E: xor eax,eax L0046A290: push 00000001h push esi mov ecx,eax mov [esp+24h],bl mov [esi+000000A0h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L0046A2E5 push ebx push L00420780 push ebx push 00000002h push esi push 0000009Eh push 000000C5h push 0000008Eh push 000000B8h mov ecx,eax call SUB_L004220C0 jmp L0046A2E7 L0046A2E5: xor eax,eax L0046A2E7: push 00000001h push esi mov ecx,eax mov [esp+24h],bl mov [esi+000000A4h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L0046A33B push ebx push 00000908h push 00000907h push L004C1AA0 push ebx push ebx push esi push 0000008Ah push 000000D0h mov ecx,eax call SUB_L00421F40 jmp L0046A33D L0046A33B: xor eax,eax L0046A33D: push 00000001h push esi mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000909h call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0046A370: push FFFFFFFFh push L004E3A98 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004EE55C mov eax,[esi+000000B8h] xor ebx,ebx cmp eax,ebx mov [esp+20h],ebx jz L0046A3DA mov ax,[esi+000000E4h] mov cx,[esi+000000CCh] mov edx,[esi+000000C8h] push eax push ecx lea eax,[esp+14h] push edx push eax call SUB_L0049BEF0 add esp,00000010h lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0046A3DA: mov eax,[esi+000000BCh] cmp eax,ebx mov eax,[L00C835B0] jz L0046A40D cmp eax,ebx jnz L0046A40D mov eax,[L00B294B0] mov dx,[esi+000000E4h] mov [eax+000000CCh],dx mov ecx,[L00B294B0] call SUB_L00401E90 jmp L0046A45D L0046A40D: cmp [esi+000000C0h],ebx jz L0046A43A cmp eax,ebx jnz L0046A43A mov edx,[L00B294B0] mov cx,[esi+000000E4h] mov [edx+000000CEh],cx mov ecx,[L00B294B0] call SUB_L00401E90 jmp L0046A45D L0046A43A: cmp [esi+000000C4h],bl jz L0046A45D cmp eax,ebx jz L0046A44B or eax,FFFFFFFFh jmp L0046A454 L0046A44B: xor eax,eax mov ax,[esi+000000E4h] L0046A454: push eax call SUB_L00489480 add esp,00000004h L0046A45D: mov eax,[esi+000000D0h] cmp eax,ebx jz L0046A470 push eax call SUB_L004D4F9E add esp,00000004h L0046A470: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,ebx jz L0046A48E push SSZ00504D24_hue_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],ebx L0046A48E: mov eax,[esi+3Ch] cmp eax,ebx jz L0046A4A6 push SSZ00504D14_hue_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L0046A4A6: mov ecx,esi mov [L00C835B0],ebx mov dword ptr [esp+20h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+18h] pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046A4D0: sub esp,0000002Ch push ebx push ebp push esi mov esi,ecx push edi mov ax,[esi+000000E6h] mov ebx,[esi+000000D8h] mov ecx,[esi+000000E0h] inc ax cmp ebx,ecx mov [esp+20h],eax mov [esp+14h],ebx jg L0046A5FE L0046A4FE: mov edx,[esi+000000D4h] mov ecx,[esi+000000DCh] cmp edx,ecx mov [esp+10h],edx jg L0046A5E9 L0046A516: and eax,0000FFFFh lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] mov cx,[L00C42D08+eax*8] mov al,[L00C8C4A4] test al,al mov [esp+1Ch],cx jz L0046A58A lea eax,[ebx+08h] mov edi,ebx cmp ebx,eax jge L0046A5C9 lea ebp,[edx+08h] L0046A547: cmp edx,ebp mov eax,edx jge L0046A580 mov edx,[esp+1Ch] mov ecx,edx and edx,0000001Fh and ecx,0000FFE0h shl ecx,1 or ecx,edx L0046A560: mov edx,edi mov ebx,[esi+3Ch] imul edx,[esi+20h] mov ebx,[ebx+04h] add edx,eax inc eax cmp eax,ebp mov [ebx+edx*2+04h],cx jl L0046A560 mov edx,[esp+10h] mov ebx,[esp+14h] L0046A580: inc edi lea eax,[ebx+08h] cmp edi,eax jl L0046A547 jmp L0046A5C9 L0046A58A: lea eax,[ebx+08h] mov ecx,ebx cmp ebx,eax jge L0046A5C9 lea edi,[edx+08h] L0046A596: cmp edx,edi mov eax,edx jge L0046A5C1 L0046A59C: mov edx,ecx mov ebx,[esi+3Ch] imul edx,[esi+20h] mov ebx,[ebx+04h] mov bp,[esp+1Ch] add edx,eax inc eax cmp eax,edi mov [ebx+edx*2+04h],bp jl L0046A59C mov ebx,[esp+14h] mov edx,[esp+10h] L0046A5C1: inc ecx lea eax,[ebx+08h] cmp ecx,eax jl L0046A596 L0046A5C9: mov eax,[esp+20h] mov ecx,[esi+000000DCh] add edx,00000008h add eax,00000005h cmp edx,ecx mov [esp+20h],eax mov [esp+10h],edx jle L0046A516 L0046A5E9: mov ecx,[esi+000000E0h] add ebx,00000008h cmp ebx,ecx mov [esp+14h],ebx jle L0046A4FE L0046A5FE: xor eax,eax mov ecx,00000064h mov ax,[esi+000000E4h] lea edi,[eax-02h] mov eax,edi cdq idiv ecx mov eax,66666667h mov ecx,[esi+000000D4h] imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax mov eax,51EB851Fh lea ecx,[ecx+edx*8+03h] imul edi sar edx,05h mov eax,edx lea edi,[ecx+03h] shr eax,1Fh add edx,eax mov eax,[esi+000000D8h] cmp ecx,edi lea edx,[eax+edx*8+03h] mov eax,ecx jge L0046A66D L0046A652: lea ebx,[edx+01h] mov ebp,[esi+3Ch] imul ebx,[esi+20h] mov ebp,[ebp+04h] add ebx,eax inc eax cmp eax,edi mov word ptr [ebp+ebx*2+04h],7FFFh jl L0046A652 L0046A66D: lea eax,[edx+03h] inc ecx cmp edx,eax jge L0046A68F L0046A675: mov edi,edx mov ebx,[esi+3Ch] imul edi,[esi+20h] mov ebx,[ebx+04h] add edi,ecx inc edx cmp edx,eax mov word ptr [ebx+edi*2+04h],7FFFh jl L0046A675 L0046A68F: mov eax,[esi+000000ACh] mov dword ptr [esp+2Ch],000000C8h test eax,eax mov dword ptr [esp+30h],00000032h mov dword ptr [esp+34h],000000FEh mov dword ptr [esp+38h],00000064h jz L0046A75C mov ax,[esi+000000E4h] test ax,ax jz L0046A718 and eax,0000FFFFh xor edx,edx dec eax mov [L00CD8C24],eax mov ecx,[esi+3Ch] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+000000D8h] add eax,00000004h push ecx mov ecx,[esi+54h] push eax mov eax,[esi+000000DCh] sub edx,00000046h sub eax,00000028h push edx push eax push ecx push SUB_L004B9C60 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0046A718: mov edx,[esi+3Ch] xor ecx,ecx mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+000000DCh] add eax,00000004h push edx mov edx,[esi+54h] push eax mov eax,[esi+000000D8h] sub ecx,00000028h sub eax,00000046h push eax push ecx push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0046A75C: mov eax,[esi+000000B0h] test eax,eax jz L0046A7EB lea eax,[esp+28h] push 00000000h lea ecx,[esp+1Ch] push eax mov eax,[esi+000000D0h] lea edx,[esp+2Ch] push ecx push edx push 00000036h push eax push 00000003h call SUB_L00441CD0 mov eax,[esi+3Ch] mov edx,[esi+20h] push 00000000h push 00000000h lea ecx,[esp+50h] push 00000000h push ecx mov ecx,[eax+04h] add ecx,00000004h mov eax,[esi+000000D0h] push edx mov edx,[esp+64h] push ecx mov ecx,[esp+60h] sub edx,ecx push edx xor edx,edx mov dx,[esi+000000E4h] mov esi,[esp+50h] push eax mov eax,[esp+74h] sub eax,esi mov esi,[esp+6Ch] sub eax,esi push edx cdq sub eax,edx push 00000003h sar eax,1 add eax,esi push eax push ecx call SUB_L00441160 add esp,0000004Ch pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0046A7EB: mov eax,[esi+000000B4h] test eax,eax jz L0046AA44 mov al,[L00C8C4A4] test al,al jz L0046A947 xor eax,eax mov ax,[esi+000000CEh] add eax,00004000h push eax call SUB_L004B9530 mov ebx,eax add esp,00000004h test ebx,ebx jnz L0046A83A push 00004000h call SUB_L004B9530 mov ebx,eax add esp,00000004h test ebx,ebx jz L0046AA44 L0046A83A: mov ecx,[esi+24h] imul ecx,[esi+20h] shl ecx,1 push ecx call SUB_L004D4FA9 mov ecx,[esi+24h] mov edx,eax imul ecx,[esi+20h] shl ecx,1 mov ebp,ecx xor eax,eax mov edi,edx mov [esp+24h],edx shr ecx,02h rep stosd mov ecx,ebp and ecx,00000003h rep stosb mov eax,[esi+20h] push eax push edx call SUB_L004B9E80 mov eax,[esi+20h] mov edi,[esi+000000DCh] xor ecx,ecx sub eax,edi mov cx,[ebx+04h] xor ebp,ebp sub eax,ecx mov [esp+30h],ecx cdq sub eax,edx mov bp,[ebx+06h] mov ecx,eax mov eax,[esi+24h] cdq sar ecx,1 sub eax,edx add cx,di mov edi,eax mov eax,ebp cdq sub eax,edx xor edx,edx mov dx,[esi+000000E4h] and ecx,0000FFFFh sar edi,1 sar eax,1 sub edi,eax lea eax,[esp+38h] and edi,0000FFFFh dec edx push edi push ecx push eax push ebx push L004B9840 mov [esp+38h],ebp mov [L00CD8C24],edx call SUB_L004B9EA0 mov ecx,[esi+3Ch] mov eax,[esi+24h] mov edi,[esp+40h] add esp,00000020h mov ecx,[ecx+04h] xor ebx,ebx add ecx,00000004h test eax,eax jle L0046A932 L0046A8F9: mov eax,[esi+20h] xor edx,edx test eax,eax jle L0046A92A L0046A902: mov ax,[edi] test ax,ax jz L0046A91C mov ebp,eax and eax,0000001Fh and ebp,0000FFE0h shl ebp,1 or ebp,eax mov [ecx],bp L0046A91C: mov eax,[esi+20h] add edi,00000002h add ecx,00000002h inc edx cmp edx,eax jl L0046A902 L0046A92A: mov eax,[esi+24h] inc ebx cmp ebx,eax jl L0046A8F9 L0046A932: mov edx,[esp+20h] push edx call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0046A947: mov ecx,[esi+3Ch] mov eax,[esi+20h] push eax mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004B9E80 xor eax,eax mov ax,[esi+000000CEh] add eax,00004000h push eax call SUB_L004B9530 mov ebx,eax add esp,0000000Ch test ebx,ebx jnz L0046A98E push 00004000h call SUB_L004B9530 mov ebx,eax add esp,00000004h test ebx,ebx jz L0046AA44 L0046A98E: mov eax,[esi+20h] mov edi,[esi+000000DCh] xor ecx,ecx sub eax,edi mov cx,[ebx+04h] xor ebp,ebp sub eax,ecx mov [esp+24h],ecx cdq sub eax,edx mov bp,[ebx+06h] mov ecx,eax mov eax,[esi+24h] cdq sar ecx,1 sub eax,edx add cx,di mov edi,eax mov eax,ebp cdq sub eax,edx xor edx,edx mov dx,[esi+000000E4h] sub ecx,0000000Ah sar edi,1 sar eax,1 sub edi,eax dec edx xor eax,eax mov [L00CD8C24],edx mov ax,[esi+000000CEh] mov edx,[L00C88540] mov [esp+18h],ebp lea eax,[eax+eax*4] test dword ptr [edx+eax*8],00040000h jz L0046AA23 and edi,0000FFFFh and ecx,0000FFFFh push edi lea eax,[esp+30h] push ecx push eax push ebx push L004B9920 call SUB_L004B9EA0 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0046AA23: and edi,0000FFFFh and ecx,0000FFFFh push edi push ecx lea ecx,[esp+34h] push ecx push ebx push L004B9840 call SUB_L004B9EA0 add esp,00000014h L0046AA44: pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 8 L0046AA50: sub esp,00000018h push ebx push esi push edi mov edi,ecx mov eax,[edi+6Ch] test eax,eax jz L0046AB1A lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[edi+3Ch] mov eax,[esp+10h] mov ecx,[esp+0Ch] mov ebx,[esp+28h] mov esi,[edx+04h] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0046AB04 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L0046AB04: mov esi,[edi+50h] test esi,esi jz L0046AB1A L0046AB0B: mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0046AB0B L0046AB1A: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0046AB30: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov eax,[esi+000000B8h] add esp,00000004h test eax,eax jnz L0046AB5D test esi,esi mov dword ptr [L00C835B0],00000001h jz L0046AB5D mov eax,[esi] push 00000001h mov ecx,esi call [eax] L0046AB5D: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L0046AB70: push ebp push esi push edi mov esi,ecx push 00000000h call SUB_L004584E0 mov ecx,[esp+10h] mov edi,[esi+000000D4h] mov eax,[esp+14h] cmp ecx,edi mov dword ptr [esi+000000A8h],00000001h mov [esi+70h],ecx mov [esi+74h],eax jl L0046AC01 cmp ecx,[esi+000000DCh] jg L0046AC01 mov edx,[esi+000000D8h] cmp eax,edx jl L0046AC01 cmp eax,[esi+000000E0h] jg L0046AC01 sub eax,edx cdq and edx,00000007h add eax,edx sar eax,03h lea ebp,[eax+eax*4] mov eax,ecx sub eax,edi mov ecx,esi cdq and edx,00000007h add eax,edx sar eax,03h lea eax,[eax+ebp*4] lea eax,[eax+eax*4] add ax,[esi+000000E6h] add eax,00000002h mov [esi+000000E4h],ax call SUB_L0046A4D0 pop edi pop esi mov dword ptr [L00C83430],00000001h pop ebp retn 0008h ;------------------------------------------------------------------------------ L0046AC01: push 00000011h mov dword ptr [L00C83430],00000000h call SUB_L004766D0 add esp,00000004h pop edi pop esi pop ebp retn 0008h ;------------------------------------------------------------------------------ Align 8 L0046AC20: push 00000000h mov dword ptr [ecx+000000A8h],00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L0046AC40: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000A8h] test eax,eax jz L0046ACF2 mov eax,[L00C83430] test eax,eax jnz L0046AC8D push 00000011h call SUB_L004766D0 mov eax,[esp+18h] mov ebx,[esi+74h] mov ecx,[esp+14h] mov edx,[esi+70h] add esp,00000004h sub eax,ebx sub ecx,edx push 00000001h push 00000000h push 00000001h push eax push ecx mov ecx,esi call SUB_L00457800 pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L0046AC8D: mov edi,[esi+000000D4h] mov ebx,[esp+10h] cmp ebx,edi jl L0046ACF2 cmp ebx,[esi+000000DCh] jg L0046ACF2 mov ecx,[esi+000000D8h] mov eax,[esp+14h] cmp eax,ecx jl L0046ACF2 cmp eax,[esi+000000E0h] jg L0046ACF2 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+000000E6h] add edx,00000002h mov [esi+000000E4h],dx call SUB_L0046A4D0 L0046ACF2: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L0046AD00: mov eax,[esp+0Ch] mov edx,[ecx+0000009Ch] cmp eax,edx jnz L0046AD3B mov eax,[esp+04h] mov dx,[ecx+000000E6h] sub [ecx+000000E4h],dx shl eax,02h cdq idiv [esp+08h] add [ecx+000000E4h],ax mov [ecx+000000E6h],ax call SUB_L0046A4D0 L0046AD3B: retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0046AD40: push ebx mov ebx,[esp+08h] push ebp push esi mov al,[ebx] push edi cmp al,23h jnz L0046AE89 movsx eax,[ebx+01h] push eax call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046AD6F cmp al,39h jg L0046AD6F movsx esi,al sub esi,00000030h jmp L0046AD81 L0046AD6F: cmp al,61h jl L0046AD7F cmp al,66h jg L0046AD7F movsx esi,al sub esi,00000057h jmp L0046AD81 L0046AD7F: xor esi,esi L0046AD81: movsx ecx,[ebx+02h] push ecx call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046AD9E cmp al,39h jg L0046AD9E movsx eax,al sub eax,00000030h jmp L0046ADB0 L0046AD9E: cmp al,61h jl L0046ADAE cmp al,66h jg L0046ADAE movsx eax,al sub eax,00000057h jmp L0046ADB0 L0046ADAE: xor eax,eax L0046ADB0: movsx edx,[ebx+03h] shl esi,04h add esi,eax push edx mov ebp,esi call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046ADD4 cmp al,39h jg L0046ADD4 movsx esi,al sub esi,00000030h jmp L0046ADE6 L0046ADD4: cmp al,61h jl L0046ADE4 cmp al,66h jg L0046ADE4 movsx esi,al sub esi,00000057h jmp L0046ADE6 L0046ADE4: xor esi,esi L0046ADE6: movsx eax,[ebx+04h] push eax call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046AE03 cmp al,39h jg L0046AE03 movsx eax,al sub eax,00000030h jmp L0046AE15 L0046AE03: cmp al,61h jl L0046AE13 cmp al,66h jg L0046AE13 movsx eax,al sub eax,00000057h jmp L0046AE15 L0046AE13: xor eax,eax L0046AE15: movsx ecx,[ebx+05h] shl esi,04h push ecx add esi,eax call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046AE37 cmp al,39h jg L0046AE37 movsx edi,al sub edi,00000030h jmp L0046AE49 L0046AE37: cmp al,61h jl L0046AE47 cmp al,66h jg L0046AE47 movsx edi,al sub edi,00000057h jmp L0046AE49 L0046AE47: xor edi,edi L0046AE49: movsx edx,[ebx+06h] push edx call SUB_L004D5181 add esp,00000004h cmp al,30h jl L0046AE6B cmp al,39h jg L0046AE6B movsx eax,al sub eax,00000030h shl edi,04h add edi,eax jmp L0046AEBC L0046AE6B: cmp al,61h jl L0046AE80 cmp al,66h jg L0046AE80 movsx eax,al sub eax,00000057h shl edi,04h add edi,eax jmp L0046AEBC L0046AE80: xor eax,eax shl edi,04h add edi,eax jmp L0046AEBC L0046AE89: cmp al,2Dh push ebx jnz L0046AE9B call SUB_L004D59EB add esp,00000004h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0046AE9B: call SUB_L004D59EB xor edx,edx mov [esp+18h],eax xor ecx,ecx add esp,00000004h mov cl,[esp+16h] mov dl,ah and eax,000000FFh mov ebp,ecx mov esi,edx mov edi,eax L0046AEBC: mov eax,ebp 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 ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046AEE0: push FFFFFFFFh push L004E3ABB 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_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,edi mov [esp+14h],edi jz L0046AF4D push L0046BBE0 push L0046BBC0 lea edi,[eax+04h] push 00000040h push 00000010h push edi mov dword ptr [eax],00000040h call SUB_L004D549C L0046AF4D: mov eax,[esp+1Ch] mov ecx,[esp+0Ch] mov [esi+18h],edi mov [esi+08h],eax mov [esi+0Ch],eax mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046AF70: push ebx push esi mov esi,ecx xor ebx,ebx mov eax,[esi+04h] cmp eax,ebx jz L0046AF86 push eax call SUB_L004D4F9E add esp,00000004h L0046AF86: mov eax,[esi+18h] cmp eax,ebx jz L0046AFAC mov ecx,[eax-04h] push edi lea edi,[eax-04h] push L0046BBE0 push ecx push 00000010h push eax call SUB_L004D53BE push edi call SUB_L004D4F9E add esp,00000004h pop edi L0046AFAC: 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_L0046AFD0: push ebx push esi mov esi,ecx push edi mov eax,[esi+04h] test eax,eax jz L0046AFE5 push eax call SUB_L004D4F9E add esp,00000004h L0046AFE5: mov ebx,[esp+10h] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax mov dword ptr [esi+04h],00000000h repne scasb not ecx push ecx call SUB_L004D4FA9 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 retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046B030: sub esp,00000414h push ebx push ebp mov ebx,ecx push esi push edi or ecx,FFFFFFFFh mov edi,SSZ00504D7C_File_ xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+24h] mov ebp,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,edx mov byte ptr [esp+24h],00h lea edx,[esp+24h] repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov edi,[ebx+04h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea edx,[esp+24h] and ecx,00000003h rep movsb mov edi,SSZ00504D74___Path_ or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov eax,[ebx+1Ch] mov ecx,ebp and ecx,00000003h test eax,eax rep movsb jle L0046B13B mov edx,[ebx+18h] mov [esp+10h],eax add edx,00000008h L0046B0D6: mov edi,L00504D70 or ecx,FFFFFFFFh xor eax,eax lea ebp,[esp+24h] repne scasb not ecx sub edi,ecx mov esi,edi mov edi,ebp mov ebp,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea ebp,[esp+24h] 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,ebp mov ebp,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov eax,[esp+10h] mov ecx,ebp and ecx,00000003h dec eax rep movsb mov [esp+10h],eax jnz L0046B0D6 L0046B13B: or ecx,FFFFFFFFh mov edi,L004FEA2C xor eax,eax lea edx,[esp+24h] repne scasb not ecx sub edi,ecx mov ebp,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,edx repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea edx,[esp+24h] and ecx,00000003h rep movsb mov edi,[esp+0000042Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov eax,[ebx+0Ch] mov ecx,ebp and ecx,00000003h lea ebx,[esp+24h] rep movsb movsx edx,[eax] xor ecx,ecx mov edi,SSZ00504D54__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 [esp+10h],edx mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp mov eax,edx and ecx,00000003h and eax,000000FFh rep movsb xor ecx,ecx push eax mov cl,dh xor edx,edx mov dl,[esp+16h] push ecx push edx xor eax,eax mov al,[esp+1Fh] lea ecx,[esp+20h] push eax push SSZ00504D48___c_c_c_c__ push ecx call SUB_L004D512F lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax add esp,00000018h repne scasb not ecx sub edi,ecx lea edx,[esp+24h] 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 al,[esp+00000430h] mov ecx,ebx and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx test al,al jz L0046B279 mov eax,[esp+00000418h] lea ecx,[esp+14h] push eax push ecx push SSZ00504D40__s__s_ call SUB_L004C7E80 add esp,0000000Ch add esp,00000414h retn 000Ch ;------------------------------------------------------------------------------ L0046B279: mov edx,[esp+00000418h] lea eax,[esp+14h] push edx push eax push SSZ00504D40__s__s_ call SUB_L004C7EF0 add esp,0000000Ch add esp,00000414h retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0046B2A0: 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_L0046B2D0: push ebx push esi mov esi,ecx mov eax,[esi+0Ch] test eax,eax jnz L0046B2ED push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B2ED: mov esi,[esi+0Ch] cmp byte ptr [esi],46h jnz L0046B362 cmp byte ptr [esi+01h],4Fh jnz L0046B362 cmp byte ptr [esi+02h],52h jnz L0046B362 cmp byte ptr [esi+03h],4Dh jnz L0046B362 mov ebx,[esp+0Ch] test ebx,ebx jz L0046B35B test esi,esi jnz L0046B325 push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B325: movsx ecx,[esi+08h] xor eax,eax mov al,[esp+0Fh] cmp ecx,eax jnz L0046B362 movsx eax,[esi+09h] xor edx,edx mov dl,[esp+0Eh] cmp eax,edx jnz L0046B362 movsx edx,[esi+0Ah] xor ecx,ecx mov cl,bh cmp edx,ecx jnz L0046B362 movsx eax,[esi+0Bh] and ebx,000000FFh cmp eax,ebx jnz L0046B362 L0046B35B: pop esi mov al,01h pop ebx retn 0004h ;------------------------------------------------------------------------------ L0046B362: pop esi xor al,al pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0046B370: push ebx mov ebx,[esp+08h] xor al,al test ebx,ebx jz L0046B3D4 push esi mov esi,[ecx+0Ch] test esi,esi jnz L0046B395 push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B395: movsx ecx,[esi] xor eax,eax mov al,[esp+0Fh] cmp ecx,eax jnz L0046B3D1 movsx eax,[esi+01h] xor edx,edx mov dl,[esp+0Eh] cmp eax,edx jnz L0046B3D1 movsx edx,[esi+02h] xor ecx,ecx mov cl,bh cmp edx,ecx jnz L0046B3D1 movsx eax,[esi+03h] and ebx,000000FFh cmp eax,ebx jnz L0046B3D1 pop esi mov al,01h pop ebx retn 0004h ;------------------------------------------------------------------------------ L0046B3D1: xor al,al pop esi L0046B3D4: pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B3E0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3ADE push eax mov fs:[00000000h],esp sub esp,00000204h push ebx push esi mov esi,ecx push edi mov eax,[esi+0Ch] test eax,eax jnz L0046B419 push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B419: mov edi,[esi+0Ch] mov ebx,[esp+00000220h] cmp byte ptr [edi],46h jnz L0046B5D0 cmp byte ptr [edi+01h],4Fh jnz L0046B5D0 cmp byte ptr [edi+02h],52h jnz L0046B5D0 cmp byte ptr [edi+03h],4Dh jnz L0046B5D0 test ebx,ebx jz L0046B4B2 test edi,edi jnz L0046B464 push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B464: movsx ecx,[edi+08h] xor eax,eax mov al,[esp+00000223h] cmp ecx,eax jnz L0046B5D0 movsx eax,[edi+09h] xor edx,edx mov dl,[esp+00000222h] cmp eax,edx jnz L0046B5D0 movsx edx,[edi+0Ah] xor ecx,ecx mov cl,bh cmp edx,ecx jnz L0046B5D0 movsx eax,[edi+0Bh] mov ecx,ebx and ecx,000000FFh cmp eax,ecx jnz L0046B5D0 L0046B4B2: cmp dword ptr [esi+1Ch],00000040h jl L0046B527 mov edx,[esi] mov eax,[esi+18h] shl edx,1 test eax,eax mov [esi],edx jz L0046B4E2 mov ecx,[eax-04h] lea edi,[eax-04h] push L0046BBE0 push ecx push 00000010h push eax call SUB_L004D53BE push edi call SUB_L004D4F9E add esp,00000004h L0046B4E2: mov edi,[esi] mov edx,edi shl edx,04h add edx,00000004h push edx call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+00000218h],00000000h jz L0046B522 push L0046BBE0 push L0046BBC0 lea ebx,[eax+04h] push edi push 00000010h push ebx mov [eax],edi call SUB_L004D549C jmp L0046B524 L0046B522: xor ebx,ebx L0046B524: mov [esi+18h],ebx L0046B527: mov eax,[esi+1Ch] mov ecx,[esi+18h] mov edx,[esi+0Ch] shl eax,04h mov [eax+ecx],edx mov eax,[esi+0Ch] add eax,00000004h xor edx,edx mov [esi+0Ch],eax movsx ecx,[eax] mov dl,[eax+01h] add eax,00000008h shl ecx,08h add ecx,edx xor edx,edx mov dl,[eax-06h] shl ecx,08h add ecx,edx xor edx,edx mov dl,[eax-05h] mov [esi+0Ch],eax mov eax,[esi+1Ch] shl ecx,08h add ecx,edx mov [esi+10h],ecx mov ecx,[esi+18h] mov edx,[esi+10h] shl eax,04h mov [eax+ecx+04h],edx 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 mov al,01h jmp L0046B619 L0046B5D0: mov ecx,ebx xor edx,edx and ecx,000000FFh xor eax,eax mov al,[esp+00000222h] push ecx mov dl,bh xor ecx,ecx mov cl,[esp+00000227h] push edx push eax push ecx lea edx,[esp+20h] push SSZ00504DF8_Cannot_enter_FORM___c_c_c_c_ push edx call SUB_L004D512F add esp,00000018h lea eax,[esp+10h] mov ecx,esi push 00000001h push eax push SSZ00504DD4_bool_Iff__enterForm__IffTag_tag_ call SUB_L0046B030 xor al,al L0046B619: mov ecx,[esp+00000210h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000210h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B640: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3AFE push eax mov fs:[00000000h],esp sub esp,00000204h push ebx mov ebx,[esp+00000218h] push esi push edi test ebx,ebx mov esi,ecx jz L0046B7F3 mov edi,[esi+0Ch] test edi,edi jnz L0046B688 push SSZ00504DB8_C__publish004_src_Iff_cxx push SSZ00504D84_FILE__s__Function_Iff__isForm__n call SUB_L004C7E80 add esp,00000008h L0046B688: movsx ecx,[edi] xor eax,eax mov al,[esp+00000223h] cmp ecx,eax jnz L0046B7F3 movsx eax,[edi+01h] xor edx,edx mov dl,[esp+00000222h] cmp eax,edx jnz L0046B7F3 movsx edx,[edi+02h] xor ecx,ecx mov cl,bh cmp edx,ecx jnz L0046B7F3 movsx eax,[edi+03h] mov ecx,ebx and ecx,000000FFh cmp eax,ecx jnz L0046B7F3 cmp dword ptr [esi+1Ch],00000040h jl L0046B74A mov edx,[esi] mov eax,[esi+18h] shl edx,1 test eax,eax mov [esi],edx jz L0046B705 mov ecx,[eax-04h] lea edi,[eax-04h] push L0046BBE0 push ecx push 00000010h push eax call SUB_L004D53BE push edi call SUB_L004D4F9E add esp,00000004h L0046B705: mov edi,[esi] mov edx,edi shl edx,04h add edx,00000004h push edx call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+00000218h],00000000h jz L0046B745 push L0046BBE0 push L0046BBC0 lea ebx,[eax+04h] push edi push 00000010h push ebx mov [eax],edi call SUB_L004D549C jmp L0046B747 L0046B745: xor ebx,ebx L0046B747: mov [esi+18h],ebx L0046B74A: mov eax,[esi+1Ch] mov ecx,[esi+18h] mov edx,[esi+0Ch] shl eax,04h mov [eax+ecx],edx mov eax,[esi+0Ch] add eax,00000004h xor edx,edx mov [esi+0Ch],eax movsx ecx,[eax] mov dl,[eax+01h] add eax,00000004h shl ecx,08h add ecx,edx xor edx,edx mov dl,[eax-02h] shl ecx,08h add ecx,edx xor edx,edx mov dl,[eax-01h] mov [esi+0Ch],eax mov eax,[esi+1Ch] shl ecx,08h add ecx,edx mov [esi+14h],ecx mov ecx,[esi+18h] mov edx,[esi+14h] shl eax,04h mov [eax+ecx+04h],edx 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 mov al,01h jmp L0046B83C L0046B7F3: mov ecx,ebx xor edx,edx and ecx,000000FFh xor eax,eax mov al,[esp+00000222h] push ecx mov dl,bh xor ecx,ecx mov cl,[esp+00000227h] push edx push eax push ecx lea edx,[esp+20h] push SSZ00504E3C_Cannot_enter_CHUNK___c_c_c_c_ push edx call SUB_L004D512F add esp,00000018h lea eax,[esp+10h] mov ecx,esi push 00000001h push eax push SSZ00504E18_bool_Iff__enterChunk__IffTag_tag call SUB_L0046B030 xor al,al L0046B83C: mov ecx,[esp+00000210h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000210h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0046B860: sub esp,00000200h push ebx push esi mov esi,ecx xor bl,bl mov eax,[esi+1Ch] test eax,eax jle L0046B8ED cmp dword ptr [esp+00000210h],00000001h jnz L0046B8AB mov ecx,[esi+18h] mov ebx,[esi+0Ch] shl eax,04h add eax,ecx mov edx,[eax-10h] mov eax,[eax-0Ch] sub edx,ebx lea eax,[edx+eax+08h] test eax,eax jz L0046B8AB push 00000001h push SSZ00504ECC_extra_data_in_CHUNK push SSZ00504EA8_bool_Iff__exitChunk__IffTag_tag_ mov ecx,esi call SUB_L0046B030 L0046B8AB: 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,[edx+ecx+08h] mov [esi+0Ch],ecx mov eax,[eax+04h] and eax,80000001h jns L0046B8DA dec eax or eax,FFFFFFFEh inc eax L0046B8DA: jz L0046B8E0 inc ecx mov [esi+0Ch],ecx L0046B8E0: pop esi mov al,01h pop ebx add esp,00000200h retn 0008h ;------------------------------------------------------------------------------ L0046B8ED: mov eax,[esp+0000020Ch] test eax,eax jz L0046B92E mov ecx,eax xor edx,edx and ecx,000000FFh mov dl,ah push ecx xor eax,eax mov al,[esp+00000212h] xor ecx,ecx mov cl,[esp+00000213h] push edx push eax push ecx lea edx,[esp+18h] push SSZ00504E7C_depth____0__Cannot_exit_CHUNK___ push edx call SUB_L004D512F add esp,00000018h jmp L0046B940 L0046B92E: lea eax,[esp+08h] push SSZ00504E5C_depth____0__Cannot_exit_CHUNK push eax call SUB_L004D512F add esp,00000008h L0046B940: lea ecx,[esp+08h] push 00000001h push ecx push SSZ00504EA8_bool_Iff__exitChunk__IffTag_tag_ mov ecx,esi call SUB_L0046B030 mov al,bl pop esi pop ebx add esp,00000200h retn 0008h ;------------------------------------------------------------------------------ SUB_L0046B960: sub esp,00000200h push ebx push esi mov esi,ecx xor bl,bl mov eax,[esi+1Ch] test eax,eax jle L0046B99B mov ecx,[esi+18h] dec eax mov [esi+1Ch],eax 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 pop esi mov al,01h pop ebx add esp,00000200h retn 0004h ;------------------------------------------------------------------------------ L0046B99B: mov eax,[esp+0000020Ch] test eax,eax jz L0046B9DC mov ecx,eax xor edx,edx and ecx,000000FFh mov dl,ah push ecx xor eax,eax mov al,[esp+00000212h] xor ecx,ecx mov cl,[esp+00000213h] push edx push eax push ecx lea edx,[esp+18h] push SSZ00504F20_depth____0__Cannot_exit_FORM___c push edx call SUB_L004D512F add esp,00000018h jmp L0046B9EE L0046B9DC: lea eax,[esp+08h] push SSZ00504F00_depth____0__Cannot_exit_FORM push eax call SUB_L004D512F add esp,00000008h L0046B9EE: lea ecx,[esp+08h] push 00000001h push ecx push SSZ00504EE0_bool_Iff__exitForm__IffTag_tag_ mov ecx,esi call SUB_L0046B030 mov al,bl pop esi pop ebx add esp,00000200h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046BA10: mov edx,[ecx+1Ch] xor al,al test edx,edx jle L0046BA37 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 ecx,[edx+eax+08h] test ecx,ecx setz al L0046BA37: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046BA40: mov eax,[ecx+1Ch] push esi xor esi,esi test eax,eax jle L0046BA63 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 pop esi lea eax,[edx+eax+08h] retn ;------------------------------------------------------------------------------ L0046BA63: push 00000001h push SSZ00504F6C_depth____0 push SSZ00504F48_unsigned_int_Iff__charsLeft__voi call SUB_L0046B030 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046BA80: push esi mov esi,ecx mov eax,[esi+1Ch] test eax,eax jle L0046BAE4 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] cmp eax,00000004h jnc L0046BAB9 L0046BAA6: push 00000001h push SSZ00504F78_At_end_of_CHUNK__Not_enough_data push SSZ00504F9C_void_Iff__readString mov ecx,esi call SUB_L0046B030 L0046BAB9: mov ecx,[esi+0Ch] mov al,[ecx] mov ecx,[esp+08h] mov [ecx],al mov edx,[esi+0Ch] inc ecx inc edx test al,al mov [esi+0Ch],edx jz L0046BAE0 L0046BAD0: mov al,[edx] mov [ecx],al mov edx,[esi+0Ch] inc ecx inc edx test al,al mov [esi+0Ch],edx jnz L0046BAD0 L0046BAE0: pop esi retn 0004h ;------------------------------------------------------------------------------ L0046BAE4: push 00000001h push SSZ00504F6C_depth____0 push SSZ00504F48_unsigned_int_Iff__charsLeft__voi mov ecx,esi call SUB_L0046B030 jmp L0046BAA6 Align 8 SUB_L0046BB00: push esi mov esi,ecx mov eax,[esi+1Ch] test eax,eax jle L0046BB6F 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] cmp eax,00000004h jnc L0046BB39 L0046BB26: push 00000001h push SSZ00504F78_At_end_of_CHUNK__Not_enough_data push SSZ00504FB4_int_Iff__readInt32 mov ecx,esi call SUB_L0046B030 L0046BB39: mov eax,[esp+08h] mov ecx,[esi+0Ch] test eax,eax jnz L0046BB84 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 esi retn 0004h ;------------------------------------------------------------------------------ L0046BB6F: push 00000001h push SSZ00504F6C_depth____0 push SSZ00504F48_unsigned_int_Iff__charsLeft__voi mov ecx,esi call SUB_L0046B030 jmp L0046BB26 L0046BB84: movsx eax,[ecx] xor edx,edx mov dl,[ecx+01h] add ecx,00000004h 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-01h] mov [esi+0Ch],ecx shl eax,08h add eax,edx pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046BBB0: mov eax,[ecx+0Ch] retn ;------------------------------------------------------------------------------ Align 16 L0046BBC0: 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 L0046BBE0: 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_L0046BC00: sub esp,00000104h lea eax,[esp+00h] push L007049FC push 00000000h push eax call SUB_L00499310 add esp,0000000Ch lea ecx,[esp+00h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 add esp,00000104h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046BC40: mov eax,00010200h call SUB_L004D4B90 mov eax,[L00C83648] push ebx xor ebx,ebx push esi cmp eax,ebx mov esi,ecx jz L0046BCCE mov edx,[esp+00010210h] push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx pop edi cmp ecx,000000FFh jc L0046BC7E mov [esp+00000206h],bx L0046BC7E: lea eax,[esp+08h] push edx push eax call SUB_L004C4B60 mov edx,[esp+00010214h] mov eax,[L00C83650] lea ecx,[esp+10h] push ecx mov ecx,[L00C8364C] push edx push eax lea edx,[esp+0000021Ch] push ecx push edx call SUB_L0049C4B0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+00000208h] push eax call SUB_L004BC750 mov [L00C83648],ebx jmp L0046BD0E L0046BCCE: mov ecx,[esp+00010210h] mov edx,[esp+0001020Ch] mov eax,[L00C83650] push ecx mov ecx,[L00C8364C] push edx push eax lea edx,[esp+00000214h] push ecx push edx call SUB_L0049C310 mov ecx,[L00C88300] add esp,00000014h lea eax,[esp+00000208h] push eax call SUB_L004BC750 L0046BD0E: mov [L00C83644],ebx mov ecx,esi mov [esi+08h],ebx mov [esi+00000114h],ebx call SUB_L0046D040 pop esi pop ebx add esp,00010200h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0046BD30: push esi mov esi,ecx push SSZ00505170_CInputWindow__CInputWindow____be mov dword ptr [esi],L004EE6D0 call SUB_L004C7F20 xor eax,eax add esp,00000004h mov [esi+00000118h],eax mov [esi+04h],eax mov [esi+08h],eax mov [esi+00000114h],eax mov [esi+0000011Ch],eax mov [esi+00000120h],al mov [esi+00000228h],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L0046BD70: mov al,[esp+04h] push esi mov esi,ecx test al,01h mov dword ptr [esi],L004EE6D0 jz L0046BD8A push esi call SUB_L004D4F9E add esp,00000004h L0046BD8A: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ SUB_L0046BD90: mov eax,[L00D1B864] push eax call [USER32.dll!SetFocus] retn ;------------------------------------------------------------------------------ Align 4 SUB_L0046BDA0: 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 test ax,ax mov eax,[esp+10h] jge L0046BDDC cmp eax,00000073h jz CASE_0046BF6C_PROC0009 cmp eax,00000009h jnz L0046BDDC CASE_0046BF6C_PROC0009: pop edi pop esi xor eax,eax pop ebx retn 0008h ;------------------------------------------------------------------------------ L0046BDDC: mov ecx,[L00C83640] test ecx,ecx jz L0046BE1D mov ecx,[L00B294B8] test ecx,ecx jnz L0046BE1D mov ecx,[ebx+08h] test ecx,ecx jnz L0046BE1D add eax,FFFFFFDFh cmp eax,00000030h ja CASE_0046BF6C_PROC0009 xor edx,edx mov dl,[eax+CASE_0046BF94] jmp [CASE_PROCTABLE_0046BF6C+edx*4] CASE_0046BF6C_PROC0005: mov eax,[esp+14h] push eax push 00000000h call SUB_L004799D0 add esp,00000008h L0046BE1D: pop edi pop esi mov eax,00000001h pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0000: mov ecx,[esp+14h] push ecx push 00000001h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0006: mov edx,[esp+14h] push edx push 00000002h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0001: mov eax,[esp+14h] push eax push 00000003h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0007: mov ecx,[esp+14h] push ecx push 00000004h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0002: mov edx,[esp+14h] push edx push 00000005h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0004: mov eax,[esp+14h] push eax push 00000006h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0003: mov ecx,[esp+14h] push ecx push 00000007h call SUB_L004799D0 add esp,00000008h mov eax,00000001h pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_0046BF6C_PROC0008: test edi,edi jz L0046BE1D mov al,[L00C8C4A2] test al,al jz L0046BF0D lea edx,[ebx+00000120h] lea esi,[ebx+0Ch] push edx push esi call SUB_L004C4430 push esi call SUB_L004C4300 add esp,0000000Ch mov [ebx+08h],eax jmp L0046BF42 L0046BF0D: 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 L0046BF42: mov ecx,[ebx+00000228h] mov [ebx+00000114h],ecx mov ecx,ebx call SUB_L0046D040 pop edi pop esi mov dword ptr [L00C83654],00000001h mov eax,00000001h pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0046BF6C: dd CASE_0046BF6C_PROC0000 dd CASE_0046BF6C_PROC0001 dd CASE_0046BF6C_PROC0002 dd CASE_0046BF6C_PROC0003 dd CASE_0046BF6C_PROC0004 dd CASE_0046BF6C_PROC0005 dd CASE_0046BF6C_PROC0006 dd CASE_0046BF6C_PROC0007 dd CASE_0046BF6C_PROC0008 dd CASE_0046BF6C_PROC0009 CASE_0046BF94: 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 16 SUB_L0046BFD0: mov eax,[esp+04h] cmp byte ptr [eax],20h jnz L0046BFE2 L0046BFD9: mov cl,[eax+01h] inc eax cmp cl,20h jz L0046BFD9 L0046BFE2: mov cl,[eax] mov edx,[esp+08h] cmp cl,20h jz L0046C012 L0046BFED: test cl,cl jz L0046C012 cmp cl,41h jl L0046C003 cmp cl,5Ah jg L0046C003 movsx ecx,cl add ecx,00000020h jmp L0046C006 L0046C003: movsx ecx,cl L0046C006: mov [edx],cl mov cl,[eax+01h] inc edx inc eax cmp cl,20h jnz L0046BFED L0046C012: mov byte ptr [edx],00h mov cl,[eax] test cl,cl jz L0046C01C inc eax L0046C01C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0046C020: push FFFFFFFFh push L004E3B3A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000694h mov al,[L00C8C4A2] push ebx xor ebx,ebx push ebp push esi cmp al,bl push edi mov [esp+1Ch],ecx jz L0046C068 mov eax,[ecx+08h] add ecx,0000000Ch push ecx mov [ecx+eax*2],bx lea ecx,[esp+24h] push ecx call SUB_L004C4B20 add esp,00000008h jmp L0046C093 L0046C068: mov edx,[ecx+08h] lea edi,[ecx+0Ch] xor eax,eax mov [edx+ecx+0Ch],bl or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[esp+20h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0046C093: mov al,[esp+20h] mov [esp+13h],bl cmp al,20h lea ecx,[esp+000000A4h] lea ebp,[esp+20h] jnz L0046C0B2 L0046C0AA: mov al,[ebp+01h] inc ebp cmp al,20h jz L0046C0AA L0046C0B2: mov al,[ebp+00h] cmp al,20h jz L0046C0DB L0046C0B9: cmp al,bl jz L0046C0DB cmp al,41h jl L0046C0CD cmp al,5Ah jg L0046C0CD movsx eax,al add eax,00000020h jmp L0046C0D0 L0046C0CD: movsx eax,al L0046C0D0: mov [ecx],al mov al,[ebp+01h] inc ecx inc ebp cmp al,20h jnz L0046C0B9 L0046C0DB: mov al,[ebp+00h] mov [ecx],bl cmp al,bl jz L0046C0E5 inc ebp L0046C0E5: cmp dword ptr [L00504FF0],FFFFFFFFh jz L0046C397 mov dword ptr [esp+14h],L00504FF0 L0046C0FA: mov ecx,[esp+14h] lea eax,[esp+000000A4h] mov edi,[ecx+04h] mov esi,edi L0046C10A: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0046C12E cmp cl,bl jz L0046C12A mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0046C12E add eax,00000002h add esi,00000002h cmp cl,bl jnz L0046C10A L0046C12A: xor eax,eax jmp L0046C133 L0046C12E: sbb eax,eax sbb eax,FFFFFFFFh L0046C133: cmp eax,ebx jnz CASE_0046C444_PROC0006 mov eax,[esp+1Ch] mov byte ptr [esp+13h],01h cmp [eax+00000118h],ebx jz L0046C1A2 push ebp push edi lea ecx,[esp+000002ACh] push SSZ0050525C__s__s push ecx call SUB_L004D512F push 000000ECh mov byte ptr [L00CD9CD2],01h call SUB_L004D4FA9 add esp,00000014h mov [esp+18h],eax cmp eax,ebx mov [esp+000006ACh],ebx jz L0046C197 push ebx push ebx push ebx lea edx,[esp+000002B0h] push ebx push edx push ebx mov ecx,eax call SUB_L004110B0 L0046C197: mov dword ptr [esp+000006ACh],FFFFFFFFh L0046C1A2: mov eax,[esp+14h] mov esi,[eax] lea eax,[esi-000000DCh] cmp eax,00000010h ja CASE_0046C444_PROC0006 xor ecx,ecx mov cl,[eax+CASE_0046C460] jmp [CASE_PROCTABLE_0046C444+ecx*4] CASE_0046C444_PROC0002: mov edx,[L00C884DC] mov ecx,L00C85E48 mov eax,[edx+7Ch] push eax call SUB_L0049F880 test al,al jz L0046C21A mov ecx,[L00C884DC] mov edx,[ecx+7Ch] push edx call SUB_L0048FEF0 add esp,00000004h jmp CASE_0046C444_PROC0006 CASE_0046C444_PROC0000: mov eax,[L00C884DC] mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 call SUB_L0049F880 test al,al jz L0046C21A push ebx call SUB_L0048FEF0 add esp,00000004h jmp CASE_0046C444_PROC0006 L0046C21A: push SSZ00505244_You_are_not_in_a_party_ push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch jmp CASE_0046C444_PROC0006 CASE_0046C444_PROC0001: mov eax,[L00C88318] cmp eax,ebx jnz CASE_0046C444_PROC0006 push ebx call SUB_L0048FDA0 add esp,00000004h jmp CASE_0046C444_PROC0006 CASE_0046C444_PROC0003: cmp [L00C85FB4],bl jz L0046C262 call SUB_L004904F0 mov [L00C85FB4],bl jmp CASE_0046C444_PROC0006 L0046C262: mov edx,[L00C884DC] mov ecx,L00C85E48 mov eax,[edx+7Ch] push eax call SUB_L0049F880 test al,al jz L0046C2B8 push SSZ00505220_You_have_already_joined_the_part jmp L0046C2BD CASE_0046C444_PROC0004: cmp [L00C85FB4],bl jz L0046C299 call SUB_L00490750 mov [L00C85FB4],bl jmp CASE_0046C444_PROC0006 L0046C299: mov ecx,[L00C884DC] mov edx,[ecx+7Ch] mov ecx,L00C85E48 push edx call SUB_L0049F880 test al,al jz L0046C2B8 push SSZ005051E0_Too_late_to_decline__you_are_alr jmp L0046C2BD L0046C2B8: push SSZ005051B4_No_one_has_invited_you_to_be_in_ L0046C2BD: push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch mov [L00C85FB4],bl jmp CASE_0046C444_PROC0006 CASE_0046C444_PROC0005: mov eax,[L00C884DC] mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 call SUB_L0049F880 test al,al jnz L0046C33F push ebp lea edx,[esp+000004A8h] push SSZ005051A0_Note_to_self___s push edx call SUB_L004D512F push 000000ECh call SUB_L004D4FA9 add esp,00000010h mov [esp+18h],eax cmp eax,ebx mov dword ptr [esp+000006ACh],00000001h jz L0046C332 push ebx push ebx push 00000003h lea ecx,[esp+000004B0h] push ebx push ecx push ebx mov ecx,eax call SUB_L004110B0 L0046C332: mov dword ptr [esp+000006ACh],FFFFFFFFh jmp CASE_0046C444_PROC0006 L0046C33F: lea edi,[esi+esi*8-000007FBh] cmp [L00C85E48+edi*4],ebx jz CASE_0046C444_PROC0006 push ebp call SUB_L004C4300 lea edx,[eax+eax+02h] push edx call SUB_L004D4FA9 mov esi,eax push ebp push esi call SUB_L004C44F0 mov eax,[L00C85E48+edi*4] push eax push esi call SUB_L004901C0 add esp,00000018h CASE_0046C444_PROC0006: mov eax,[esp+14h] add eax,00000008h mov [esp+14h],eax cmp dword ptr [eax],FFFFFFFFh jnz L0046C0FA cmp [esp+13h],bl jnz L0046C422 L0046C397: mov ecx,[L00C884DC] mov edx,[ecx+7Ch] mov ecx,L00C85E48 push edx call SUB_L0049F880 test al,al lea eax,[esp+20h] push eax jnz L0046C3FD lea ecx,[esp+000000A8h] push SSZ005051A0_Note_to_self___s push ecx call SUB_L004D512F push 000000ECh call SUB_L004D4FA9 add esp,00000010h mov [esp+18h],eax cmp eax,ebx mov dword ptr [esp+000006ACh],00000002h jz L0046C422 push ebx push ebx push 00000003h lea edx,[esp+000000B0h] push ebx push edx push ebx mov ecx,eax call SUB_L004110B0 jmp L0046C422 L0046C3FD: call SUB_L004C4300 lea ecx,[eax+eax+02h] push ecx call SUB_L004D4FA9 lea edx,[esp+28h] mov esi,eax push edx push esi call SUB_L004C44F0 push esi call SUB_L00490040 add esp,00000014h L0046C422: mov ecx,[esp+000006A4h] pop edi pop esi pop ebp mov eax,00000001h pop ebx mov fs:[00000000h],ecx add esp,000006A0h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0046C444: dd CASE_0046C444_PROC0000 dd CASE_0046C444_PROC0001 dd CASE_0046C444_PROC0002 dd CASE_0046C444_PROC0003 dd CASE_0046C444_PROC0004 dd CASE_0046C444_PROC0005 dd CASE_0046C444_PROC0006 CASE_0046C460: db 00h, 01h, 02h, 03h, 04h, 06h, 06h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h, 05h db 05h Align 16 SUB_L0046C480: push FFFFFFFFh push L004E3B6C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000588h mov al,[L00C8C4A2] push ebx push ebp push esi test al,al push edi mov [esp+14h],ecx jz L0046C4C8 mov eax,[ecx+08h] add ecx,0000000Ch push ecx mov word ptr [ecx+eax*2],0000h lea ecx,[esp+1Ch] push ecx call SUB_L004C4B20 add esp,00000008h jmp L0046C4F4 L0046C4C8: 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,[esp+18h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L0046C4F4: mov al,[esp+18h] lea ecx,[esp+000003A0h] cmp al,20h lea ebp,[esp+18h] jnz L0046C50F L0046C507: mov al,[ebp+01h] inc ebp cmp al,20h jz L0046C507 L0046C50F: mov al,[ebp+00h] cmp al,20h jz L0046C538 L0046C516: test al,al jz L0046C538 cmp al,41h jl L0046C52A cmp al,5Ah jg L0046C52A movsx eax,al add eax,00000020h jmp L0046C52D L0046C52A: movsx eax,al L0046C52D: mov [ecx],al mov al,[ebp+01h] inc ecx inc ebp cmp al,20h jnz L0046C516 L0046C538: mov al,[ebp+00h] mov byte ptr [ecx],00h test al,al jz L0046C543 inc ebp L0046C543: mov eax,[L00504FF0] xor edx,edx cmp eax,FFFFFFFFh mov [esp+10h],edx jz L0046C59F mov edi,L00504FF0 L0046C558: mov esi,[edi+04h] lea eax,[esp+000003A0h] L0046C562: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L0046C586 test cl,cl jz L0046C582 mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L0046C586 add eax,00000002h add esi,00000002h test cl,cl jnz L0046C562 L0046C582: xor eax,eax jmp L0046C58B L0046C586: sbb eax,eax sbb eax,FFFFFFFFh L0046C58B: test eax,eax jz L0046C5BA mov eax,[edi+08h] add edi,00000008h inc edx cmp eax,FFFFFFFFh jnz L0046C558 mov [esp+10h],edx L0046C59F: xor eax,eax L0046C5A1: mov ecx,[esp+00000598h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000594h retn ;------------------------------------------------------------------------------ L0046C5BA: mov ecx,[esp+14h] mov [esp+10h],edx mov ebx,00000001h mov eax,[ecx+00000118h] test eax,eax jz L0046C63A mov edx,[L00504FF4+edx*8] push ebp push edx lea eax,[esp+000000A4h] push SSZ005052C8___s__s push eax call SUB_L004D512F push 000000ECh mov [L00CD9CD2],bl call SUB_L004D4FA9 add esp,00000014h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000005A0h],00000000h jz L0046C62B push 00000000h push 00000000h push 00000000h lea ecx,[esp+000000A8h] push 00000000h push ecx push 00000000h mov ecx,eax call SUB_L004110B0 L0046C62B: mov edx,[esp+10h] mov dword ptr [esp+000005A0h],FFFFFFFFh L0046C63A: mov eax,[L00504FF0+edx*8] add eax,FFFFFFF5h cmp eax,000000CCh ja CASE_0046C8CC_PROC0006 xor edx,edx mov dl,[eax+CASE_0046C8E8] jmp [CASE_PROCTABLE_0046C8CC+edx*4] CASE_0046C8CC_PROC0001: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+000004A0h] repne scasb mov eax,[esp+10h] not ecx dec ecx push ecx mov cl,[L00504FF0+eax*8] push ebp push ecx push edx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000010h lea eax,[esp+000004A0h] push eax call SUB_L004BC750 mov eax,ebx jmp L0046C5A1 CASE_0046C8CC_PROC0002: mov eax,[L00C88300] test eax,eax jz CASE_0046C8CC_PROC0006 push ebp lea ecx,[esp+000002A0h] push 00000000h push ecx call SUB_L00499310 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+0000029Ch] push edx call SUB_L004BC750 mov eax,ebx jmp L0046C5A1 CASE_0046C8CC_PROC0000: mov eax,[L00C884DC] push L00C83AD8 movsx ecx,[eax+28h] movsx edx,[eax+26h] movsx eax,[eax+24h] push ecx push edx push eax lea ecx,[esp+000000ACh] push SSZ005052AC_You_are_at___d__d__d_in__s_ push ecx call SUB_L004D512F mov cl,[L00C88307] add esp,00000018h cmp cl,bl jnz L0046C723 lea edx,[esp+eax+0000009Ch] push SSZ00505294_on_the_Trammel_facet_ push edx jmp L0046C730 L0046C723: lea eax,[esp+eax+0000009Ch] push SSZ0050527C_on_the_Felucca_facet_ push eax L0046C730: call SUB_L004D512F add esp,00000008h mov [L00CD9CD2],bl push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov [esp+000005A0h],ebx jz CASE_0046C8CC_PROC0006 push 00000000h push 00000000h push 00000000h lea ecx,[esp+000000A8h] push 00000000h push ecx push 00000000h mov ecx,eax call SUB_L004110B0 mov eax,ebx jmp L0046C5A1 CASE_0046C8CC_PROC0003: call SUB_L004C8930 mov eax,ebx jmp L0046C5A1 CASE_0046C8CC_PROC0004: mov edi,SSZ00505270_freeze_1_ or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0000009Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+0000009Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb lea edi,[esp+0000009Ch] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esp+0000009Ch] push ecx push eax lea ecx,[esp+000002A4h] push 0000006Bh push ecx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000010h test ecx,ecx jz CASE_0046C8CC_PROC0006 lea edx,[esp+0000029Ch] push edx call SUB_L004BC750 mov eax,ebx jmp L0046C5A1 CASE_0046C8CC_PROC0005: mov edi,SSZ00505264_freeze_0_ or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0000009Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+0000009Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb lea edi,[esp+0000009Ch] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esp+0000009Ch] push ecx push eax lea ecx,[esp+000003A8h] push 0000006Bh push ecx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000010h test ecx,ecx jz CASE_0046C8CC_PROC0006 lea edx,[esp+000003A0h] push edx call SUB_L004BC750 CASE_0046C8CC_PROC0006: mov eax,ebx jmp L0046C5A1 CASE_PROCTABLE_0046C8CC: dd CASE_0046C8CC_PROC0000 dd CASE_0046C8CC_PROC0001 dd CASE_0046C8CC_PROC0002 dd CASE_0046C8CC_PROC0003 dd CASE_0046C8CC_PROC0004 dd CASE_0046C8CC_PROC0005 dd CASE_0046C8CC_PROC0006 CASE_0046C8E8: db 00h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 01h, 06h, 06h, 02h db 03h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 04h, 05h Align 16 SUB_L0046C9C0: mov eax,[esp+04h] mov [ecx+00000114h],eax retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0046C9D0: mov eax,0001020Ch call SUB_L004D4B90 mov eax,[L00C83640] push ebx push ebp push esi xor esi,esi mov ebp,ecx cmp eax,esi jz L0046CFB3 cmp [L00C83654],esi jz L0046CA08 mov [L00C83654],esi pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CA08: mov ebx,[esp+0001021Ch] lea eax,[ebx-08h] cmp eax,00000027h ja CASE_0046CFC0_PROC0006 xor ecx,ecx mov cl,[eax+CASE_0046CFDC] jmp [CASE_PROCTABLE_0046CFC0+ecx*4] CASE_0046CFC0_PROC0001: mov eax,[ebp+08h] cmp eax,esi jle L0046CC42 mov cl,[L00C8C4A2] push edi test cl,cl jz L0046CA5A lea ebx,[ebp+0Ch] lea edx,[ebp+00000120h] push ebx push edx mov [ebp+eax*2+0Ch],si call SUB_L004C4430 add esp,00000008h jmp L0046CA89 L0046CA5A: lea ebx,[ebp+0Ch] mov byte ptr [eax+ebp+0Ch],00h mov edi,ebx or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp+00000120h] 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 L0046CA89: mov eax,[ebp+00000114h] mov [ebp+00000228h],eax mov ecx,[L00C83644] cmp ecx,00000001h jnz L0046CBA9 mov al,[L00C8C4A2] test al,al jz L0046CAD4 push ebx push 00000001h mov ecx,ebp call SUB_L004C52E0 pop edi mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CAD4: cmp [L00C83648],esi jz L0046CB42 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp ecx,000000FFh jc L0046CAF8 mov [esp+0000021Ah],si L0046CAF8: lea ecx,[esp+1Ch] push ebx push ecx call SUB_L004C4B60 mov eax,[L00C83650] mov ecx,[L00C8364C] lea edx,[esp+24h] push edx push 00000001h push eax lea edx,[esp+00000230h] push ecx push edx call SUB_L0049C4B0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+0000021Ch] push eax call SUB_L004BC750 mov [L00C83648],esi jmp L0046CB76 L0046CB42: mov ecx,[L00C83650] mov edx,[L00C8364C] push ebx push 00000001h push ecx lea eax,[esp+00000228h] push edx push eax call SUB_L0049C310 add esp,00000014h lea ecx,[esp+0000021Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0046CB76: mov [L00C83644],esi mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi call SUB_L0046D040 pop edi mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CBA9: cmp eax,00000005h jnz L0046CBD2 mov ecx,ebp call SUB_L0046C480 pop edi mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CBD2: cmp eax,0000000Bh jnz L0046CBFC push eax mov ecx,ebp call SUB_L0046C020 pop edi mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CBFC: mov cl,[L00C8C4A2] push eax test cl,cl jz L0046CC31 mov edx,[ebp+08h] push edx push ebx call SUB_L004C55D0 add esp,0000000Ch mov ecx,ebp mov [ebp+08h],esi mov [ebp+00000114h],esi pop edi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CC31: mov eax,[ebp+08h] push eax push ebx call SUB_L004BD7D0 add esp,0000000Ch mov [ebp+08h],esi pop edi L0046CC42: mov ecx,ebp mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046CFC0_PROC0005: mov eax,[ebp+08h] cmp eax,esi jnz L0046CC78 mov dword ptr [ebp+00000114h],0000000Bh pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ L0046CC78: cmp eax,00000080h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CCA9 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx lea eax,[esp+10h] push edx lea ecx,[ebp+0Ch] push eax push ecx call SUB_L004C6930 add esp,00000010h jmp L0046CCC6 L0046CCA9: lea edx,[esp+14h] lea eax,[esp+10h] push edx lea ecx,[esp+10h] push eax lea edx,[ebp+0Ch] push ecx push edx push 00000003h call SUB_L00441BC0 add esp,00000014h L0046CCC6: cmp dword ptr [esp+0Ch],00000258h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CCEC mov eax,[ebp+08h] mov word ptr [ebp+eax*2+0Ch],002Fh jmp L0046CFA9 L0046CCEC: mov ecx,[ebp+08h] mov byte ptr [ecx+ebp+0Ch],2Fh jmp L0046CFA9 CASE_0046CFC0_PROC0004: cmp dword ptr [ebp+08h],00000080h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CD2C lea edx,[esp+14h] lea eax,[esp+10h] push edx lea ecx,[esp+10h] push eax lea edx,[ebp+0Ch] push ecx push edx call SUB_L004C6930 add esp,00000010h jmp L0046CD49 L0046CD2C: lea eax,[esp+14h] lea ecx,[esp+10h] push eax lea edx,[esp+10h] push ecx lea eax,[ebp+0Ch] push edx push eax push 00000003h call SUB_L00441BC0 add esp,00000014h L0046CD49: cmp dword ptr [esp+0Ch],00000258h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CD6F mov ecx,[ebp+08h] mov word ptr [ebp+ecx*2+0Ch],002Eh jmp L0046CFA9 L0046CD6F: mov edx,[ebp+08h] mov byte ptr [edx+ebp+0Ch],2Eh jmp L0046CFA9 CASE_0046CFC0_PROC0002: mov eax,[ebp+08h] cmp eax,00000001h jz L0046CE09 cmp eax,00000080h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CDB9 lea eax,[esp+14h] lea ecx,[esp+10h] push eax lea edx,[esp+10h] push ecx lea eax,[ebp+0Ch] push edx push eax call SUB_L004C6930 add esp,00000010h jmp L0046CDD6 L0046CDB9: lea ecx,[esp+14h] lea edx,[esp+10h] push ecx lea eax,[esp+10h] push edx lea ecx,[ebp+0Ch] push eax push ecx push 00000003h call SUB_L00441BC0 add esp,00000014h L0046CDD6: cmp dword ptr [esp+0Ch],00000258h jge L0046CFB3 mov al,[L00C8C4A2] test al,al jz L0046CDFC mov edx,[ebp+08h] mov word ptr [ebp+edx*2+0Ch],0020h jmp L0046CFA9 L0046CDFC: mov eax,[ebp+08h] mov byte ptr [eax+ebp+0Ch],20h jmp L0046CFA9 L0046CE09: mov cl,[L00C8C4A2] test cl,cl jz L0046CE19 mov ax,[ebp+0Ch] jmp L0046CE1E L0046CE19: movsx ax,[ebp+0Ch] L0046CE1E: and eax,0000FFFFh add eax,FFFFFFDFh cmp eax,0000001Ah ja CASE_0046D004_PROC0004 xor edx,edx mov dl,[eax+CASE_0046D018] jmp [CASE_PROCTABLE_0046D004+edx*4] CASE_0046D004_PROC0001: mov ecx,ebp mov [ebp+00000114h],esi mov [ebp+08h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046D004_PROC0002: mov ecx,ebp mov dword ptr [ebp+00000114h],00000002h mov [ebp+08h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046D004_PROC0003: mov ecx,ebp mov dword ptr [ebp+00000114h],00000008h mov [ebp+08h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046D004_PROC0000: mov ecx,ebp mov dword ptr [ebp+00000114h],00000009h mov [ebp+08h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046D004_PROC0004: test cl,cl jz L0046CEC9 mov word ptr [ebp+0Eh],0020h jmp L0046CFA9 L0046CEC9: mov byte ptr [ebp+0Dh],20h jmp L0046CFA9 CASE_0046CFC0_PROC0000: mov eax,[ebp+08h] cmp eax,esi jle L0046CFB3 dec eax cmp eax,esi mov [ebp+08h],eax jnz L0046CFAC mov ecx,ebp mov [ebp+00000114h],esi call SUB_L0046D040 pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046CFC0_PROC0003: mov eax,[ebp+04h] cmp eax,esi jz CASE_0046CFC0_PROC0006 dec eax pop esi mov [ebp+04h],eax pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ CASE_0046CFC0_PROC0006: cmp dword ptr [ebp+08h],00000080h jge L0046CFB3 mov al,[L00C8C4A2] push ebx test al,al jz L0046CF6C call SUB_L004C5F00 add esp,00000004h test eax,eax jz L0046CFB3 lea eax,[esp+14h] lea ecx,[esp+10h] push eax lea edx,[esp+10h] push ecx lea eax,[ebp+0Ch] push edx push eax call SUB_L004C6930 mov eax,[esp+1Ch] add esp,00000010h cmp eax,00000258h jge L0046CFB3 mov ecx,[ebp+08h] mov [ebp+ecx*2+0Ch],bx jmp L0046CFA9 L0046CF6C: push 00000003h call SUB_L00441060 add esp,00000008h test eax,eax jz L0046CFB3 lea edx,[esp+14h] lea eax,[esp+10h] push edx lea ecx,[esp+10h] push eax lea edx,[ebp+0Ch] push ecx push edx push 00000003h call SUB_L00441BC0 mov eax,[esp+20h] add esp,00000014h cmp eax,00000258h jge L0046CFB3 mov eax,[ebp+08h] mov [eax+ebp+0Ch],bl L0046CFA9: inc [ebp+08h] L0046CFAC: mov ecx,ebp call SUB_L0046D040 L0046CFB3: pop esi pop ebp pop ebx add esp,0001020Ch retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0046CFC0: dd CASE_0046CFC0_PROC0000 dd CASE_0046CFC0_PROC0001 dd CASE_0046CFC0_PROC0002 dd CASE_0046CFC0_PROC0003 dd CASE_0046CFC0_PROC0004 dd CASE_0046CFC0_PROC0005 dd CASE_0046CFC0_PROC0006 CASE_0046CFDC: db 00h, 06h, 01h, 06h, 06h, 01h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 02h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 03h, 06h, 03h, 04h, 05h CASE_PROCTABLE_0046D004: dd CASE_0046D004_PROC0000 dd CASE_0046D004_PROC0001 dd CASE_0046D004_PROC0002 dd CASE_0046D004_PROC0003 dd CASE_0046D004_PROC0004 CASE_0046D018: 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_L0046D040: push FFFFFFFFh push L004E3C44 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000019Ch mov al,[L00C8C4A2] push ebx push ebp push esi push edi mov ebx,ecx xor edi,edi mov byte ptr [esp+1Bh],00h test al,al lea ebp,[ebx+0Ch] jz L0046D09B lea eax,[esp+00000128h] push ebp push eax call SUB_L004C4B20 lea ecx,[esp+24h] push 0000000Ah lea edx,[esp+00000134h] push ecx push edx call SUB_L004D6FA3 add esp,00000014h jmp L0046D0AB L0046D09B: lea eax,[esp+1Ch] push 0000000Ah push eax push ebp call SUB_L004D6FA3 add esp,0000000Ch L0046D0AB: mov esi,eax cmp esi,00000001h jl L0046D0C3 cmp esi,0000000Ah jg L0046D0C3 mov ecx,[esp+1Ch] mov al,[ecx] mov cl,01h cmp al,20h jz L0046D0C7 L0046D0C3: mov cl,[esp+1Bh] L0046D0C7: mov eax,[L00B294BC] cmp eax,edi mov al,[L00C8C4A2] jz L0046D0ED test al,al jz L0046D0E3 mov edx,[ebx+08h] mov [ebx+edx*2+0Ch],di jmp L0046D112 L0046D0E3: mov eax,[ebx+08h] mov byte ptr [ebx+eax+0Ch],00h jmp L0046D112 L0046D0ED: mov edx,[ebx+08h] test al,al jz L0046D105 mov word ptr [ebx+edx*2+0Ch],005Fh mov eax,[ebx+08h] mov [ebx+eax*2+0Eh],di jmp L0046D112 L0046D105: mov byte ptr [ebx+edx+0Ch],5Fh mov eax,[ebx+08h] mov byte ptr [ebx+eax+0Dh],00h L0046D112: mov eax,[ebx+00000114h] cmp eax,0000000Bh jnz L0046D322 mov al,[L00C8C4A2] test al,al jz L0046D205 test cl,cl jz L0046D19C lea ecx,[esp+20h] push SSZ00505310_Tell__ push ecx call SUB_L004C44F0 lea edx,[esi+esi*8] lea ecx,[esp+28h] lea eax,[L00C85E28+edx*4] push eax push ecx call SUB_L004C4590 lea edx,[esp+30h] push L0050530C push edx call SUB_L004C4590 lea eax,[esp+38h] push eax call SUB_L004C4300 push ebp mov esi,eax call SUB_L004C4300 add esi,eax lea ecx,[esi+esi+02h] push ecx call SUB_L004D4FA9 lea edx,[esp+44h] mov esi,eax push edx push esi call SUB_L004C4430 push ebp push esi call SUB_L004C4550 add esp,00000034h jmp L0046D1D6 L0046D19C: push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ00505304_Party__ or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L004D4FA9 mov esi,eax push SSZ00505304_Party__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 add esp,00000018h L0046D1D6: mov ecx,[ebx+0000011Ch] test ecx,ecx jnz L0046D2C1 push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax mov dword ptr [esp+000001B4h],00000000h jmp L0046D2FE L0046D205: test cl,cl jz L0046D279 lea edx,[esp+20h] push SSZ00505310_Tell__ push edx call SUB_L004C44F0 lea eax,[esi+esi*8] lea edx,[esp+28h] lea ecx,[L00C85E28+eax*4] push ecx push edx call SUB_L004C4590 lea eax,[esp+30h] push L0050530C push eax call SUB_L004C4590 lea ecx,[esp+38h] push ecx call SUB_L004C4300 mov edx,eax mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L004D4FA9 lea ecx,[esp+40h] mov esi,eax push ecx push esi call SUB_L004C4430 push ebp push esi call SUB_L004C4590 add esp,00000030h jmp L0046D2B7 L0046D279: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ00505304_Party__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx add edx,ecx lea eax,[edx+edx+02h] push eax call SUB_L004D4FA9 mov esi,eax push SSZ00505304_Party__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4590 add esp,00000014h L0046D2B7: mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046D2E2 L0046D2C1: mov dx,[L00C87EC2] push edx push 00000481h push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D2E2: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax mov dword ptr [esp+000001B4h],00000001h L0046D2FE: test eax,eax jz L0046DACF mov cx,[L00C87EC2] push 00000001h push ecx push 00000481h push esi mov ecx,eax call SUB_L00412300 jmp L0046DAD1 L0046D322: cmp eax,00000002h jnz L0046D4F3 mov al,[L00C8C4A2] test al,al jz L0046D3E2 push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ005052FC_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_L004D4FA9 mov esi,eax push SSZ005052FC_Emote__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 mov ecx,[ebx+0000011Ch] add esp,00000018h test ecx,ecx jz L0046D39F mov dx,[L00C87EBE] mov ax,[L00C87EC0] push edx push eax push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D39F: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+000001B4h],00000003h jz L0046DACF mov cx,[L00C87EBE] mov dx,[L00C87EC0] push 00000001h push ecx push edx push esi mov ecx,eax call SUB_L00412300 jmp L0046DAD1 L0046D3E2: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ005052FC_Emote__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+01h] push eax call SUB_L004D4FA9 mov edx,eax mov edi,SSZ005052FC_Emote__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+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 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046D48E mov dx,[L00C87EBE] mov ax,[L00C87EC0] push edx mov edx,[esp+14h] push eax push edx call SUB_L00412400 mov edx,[esp+10h] push edx call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D48E: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000001B4h],00000004h jz L0046D4CE mov cx,[L00C87EBE] mov dx,[L00C87EC0] push 00000000h push ecx mov ecx,[esp+18h] push edx push ecx mov ecx,eax call SUB_L00412300 jmp L0046D4D0 L0046D4CE: xor eax,eax L0046D4D0: mov edx,[esp+10h] mov dword ptr [esp+000001B4h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D4F3: cmp eax,00000008h jnz L0046D6A2 mov al,[L00C8C4A2] test al,al jz L0046D591 push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ005052F0_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_L004D4FA9 mov esi,eax push SSZ005052F0_Whisper__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 mov ecx,[ebx+0000011Ch] add esp,00000018h test ecx,ecx jz L0046D570 mov dx,[L00C87EC2] mov ax,[L00C87EC4] push edx push eax push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D570: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax mov dword ptr [esp+000001B4h],00000005h jmp L0046D73B L0046D591: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ005052F0_Whisper__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+01h] push eax call SUB_L004D4FA9 mov edx,eax mov edi,SSZ005052F0_Whisper__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+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 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046D63D mov dx,[L00C87EC2] mov ax,[L00C87EC4] push edx mov edx,[esp+14h] push eax push edx call SUB_L00412400 mov edx,[esp+10h] push edx call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D63D: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000001B4h],00000006h jz L0046D67D mov cx,[L00C87EC2] mov dx,[L00C87EC4] push 00000000h push ecx mov ecx,[esp+18h] push edx push ecx mov ecx,eax call SUB_L00412300 jmp L0046D67F L0046D67D: xor eax,eax L0046D67F: mov edx,[esp+10h] mov dword ptr [esp+000001B4h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D6A2: cmp eax,00000009h jnz L0046D873 mov al,[L00C8C4A2] test al,al jz L0046D762 push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ005052E8_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_L004D4FA9 mov esi,eax push SSZ005052E8_Yell__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 mov ecx,[ebx+0000011Ch] add esp,00000018h test ecx,ecx jz L0046D71F mov dx,[L00C87EC2] mov ax,[L00C87EC4] push edx push eax push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D71F: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax mov dword ptr [esp+000001B4h],00000007h L0046D73B: test eax,eax jz L0046DACF mov cx,[L00C87EC2] mov dx,[L00C87EC4] push 00000001h push ecx push edx push esi mov ecx,eax call SUB_L00412300 jmp L0046DAD1 L0046D762: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ005052E8_Yell__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+01h] push eax call SUB_L004D4FA9 mov edx,eax mov edi,SSZ005052E8_Yell__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+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 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046D80E mov dx,[L00C87EC2] mov ax,[L00C87EC4] push edx mov edx,[esp+14h] push eax push edx call SUB_L00412400 mov edx,[esp+10h] push edx call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D80E: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000001B4h],00000008h jz L0046D84E mov cx,[L00C87EC2] mov dx,[L00C87EC4] push 00000000h push ecx mov ecx,[esp+18h] push edx push ecx mov ecx,eax call SUB_L00412300 jmp L0046D850 L0046D84E: xor eax,eax L0046D850: mov edx,[esp+10h] mov dword ptr [esp+000001B4h],FFFFFFFFh push edx mov [ebx+0000011Ch],eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D873: cmp eax,00000005h jnz L0046DA1B mov al,[L00C8C4A2] test al,al jz L0046D90F push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ005052DC_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_L004D4FA9 mov esi,eax push SSZ005052DC_Command__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 mov ecx,[ebx+0000011Ch] add esp,00000018h test ecx,ecx jz L0046D8EE mov dx,[L00C87EC2] push edx push 000003E3h push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D8EE: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax mov dword ptr [esp+000001B4h],00000009h jmp L0046DAB2 L0046D90F: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ005052DC_Command__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+01h] push eax call SUB_L004D4FA9 mov edx,eax mov edi,SSZ005052DC_Command__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+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 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046D9B9 mov dx,[L00C87EC2] mov eax,[esp+10h] push edx push 000003E3h push eax call SUB_L00412400 mov eax,[esp+10h] push eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046D9B9: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000001B4h],0000000Ah jz L0046D9F6 mov cx,[L00C87EC2] mov edx,[esp+10h] push 00000000h push ecx push 000003E3h push edx mov ecx,eax call SUB_L00412300 jmp L0046D9F8 L0046D9F6: xor eax,eax L0046D9F8: mov [ebx+0000011Ch],eax mov eax,[esp+10h] push eax mov dword ptr [esp+000001B8h],FFFFFFFFh call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046DA1B: cmp eax,00000001h mov al,[L00C8C4A2] jnz L0046DBFC test al,al jz L0046DAF0 push ebp call SUB_L004C4300 mov edx,eax mov edi,SSZ005052D0_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_L004D4FA9 mov esi,eax push SSZ005052D0_Broadcast__ push esi call SUB_L004C44F0 push ebp push esi call SUB_L004C4550 mov ecx,[ebx+0000011Ch] add esp,00000018h test ecx,ecx jz L0046DA96 mov dx,[L00C87EC2] push edx push 000003E3h push esi call SUB_L004125F0 push esi call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046DA96: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax mov dword ptr [esp+000001B4h],0000000Bh L0046DAB2: test eax,eax jz L0046DACF mov cx,[L00C87EC2] push 00000001h push ecx push 000003E3h push esi mov ecx,eax call SUB_L00412300 jmp L0046DAD1 L0046DACF: xor eax,eax L0046DAD1: push esi mov dword ptr [esp+000001B8h],FFFFFFFFh mov [ebx+0000011Ch],eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046DAF0: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov edi,SSZ005052D0_Broadcast__ mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+01h] push eax call SUB_L004D4FA9 mov edx,eax mov edi,SSZ005052D0_Broadcast__ or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+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 mov edi,ebp or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov ecx,[ebx+0000011Ch] test ecx,ecx jz L0046DB9A mov dx,[L00C87EC2] mov eax,[esp+10h] push edx push 000003E3h push eax call SUB_L00412400 mov eax,[esp+10h] push eax call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046DB9A: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+000001B4h],0000000Ch jz L0046DBD7 mov cx,[L00C87EC2] mov edx,[esp+10h] push 00000000h push ecx push 000003E3h push edx mov ecx,eax call SUB_L00412300 jmp L0046DBD9 L0046DBD7: xor eax,eax L0046DBD9: mov [ebx+0000011Ch],eax mov eax,[esp+10h] push eax mov dword ptr [esp+000001B8h],FFFFFFFFh call SUB_L004D4F9E add esp,00000004h jmp L0046DCA6 L0046DBFC: mov ecx,[ebx+0000011Ch] test al,al jz L0046DC48 cmp ecx,edi jz L0046DC24 mov dx,[L00C87EC2] mov ax,[L00C87EC4] push edx push eax push ebp call SUB_L004125F0 jmp L0046DCA6 L0046DC24: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,edi mov dword ptr [esp+000001B4h],0000000Dh jz L0046DC9E push 00000001h jmp L0046DC84 L0046DC48: cmp ecx,edi jz L0046DC63 mov ax,[L00C87EC2] mov dx,[L00C87EC4] push eax push edx push ebp call SUB_L00412400 jmp L0046DCA6 L0046DC63: push 0000009Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,edi mov dword ptr [esp+000001B4h],0000000Eh jz L0046DC9E push edi L0046DC84: mov cx,[L00C87EC2] mov dx,[L00C87EC4] push ecx push edx push ebp mov ecx,eax call SUB_L00412300 jmp L0046DCA0 L0046DC9E: xor eax,eax L0046DCA0: mov [ebx+0000011Ch],eax L0046DCA6: mov al,[L00C8C4A2] test al,al jz L0046DCBB mov eax,[ebx+08h] mov word ptr [ebx+eax*2+0Ch],0000h jmp L0046DCC3 L0046DCBB: mov ecx,[ebx+08h] mov byte ptr [ebx+ecx+0Ch],00h L0046DCC3: mov ecx,[esp+000001ACh] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,000001A8h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046DCE0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3C5E push eax mov al,[L00C83658] mov fs:[00000000h],esp sub esp,00000204h test al,al jnz L0046DE08 push 00000014h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0000020Ch],00000000h jz L0046DD3F push SSZ005054B8_United_States push SSZ005054B0_English push 00000065h push L0050531C mov ecx,eax call SUB_L0046EDD0 jmp L0046DD41 L0046DD3F: xor eax,eax L0046DD41: test eax,eax mov dword ptr [esp+0000020Ch],FFFFFFFFh mov [L00C83664],eax jnz L0046DD62 push SSZ00505424_LanguageManager__startup__cannot call SUB_L004C7E80 add esp,00000004h L0046DD62: mov eax,[L00C83664] mov ecx,[L00C83660] mov [eax+10h],ecx mov [L00C83660],eax call SUB_L0046E4A0 call SUB_L0046E780 lea edx,[esp+04h] push edx push 00000013h call SUB_L004393E0 add esp,00000008h test al,al jz L0046DDD1 lea eax,[esp+04h] test eax,eax jnz L0046DDA9 push SSZ005053D0_LanguageManager__setUserLanguage call SUB_L004C7EF0 add esp,00000004h jmp L0046DDBA L0046DDA9: mov ecx,[esp+04h] mov [L00C8366C],ecx mov byte ptr [L00C8366F],00h L0046DDBA: push L00C8366C push SSZ00505384_LanguageManager__setUserLanguage call SUB_L004C7F50 add esp,00000008h call SUB_L0046E780 L0046DDD1: call SUB_L0046FEB0 push L00C8366C call SUB_L00470130 push SSZ00505358_LanguageManager__findSupportedLa call SUB_L004C7F50 call SUB_L0046E920 push L00C8366C push SSZ00505320_LanguageManager__startup__user_l call SUB_L004C7F50 add esp,00000010h mov byte ptr [L00C83658],01h L0046DE08: mov ecx,[esp+00000204h] mov fs:[00000000h],ecx add esp,00000210h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0046DE20: mov al,[L00C83658] push ebx xor ebx,ebx cmp al,bl jz L0046DEE4 push esi push edi call SUB_L004700D0 mov eax,[L00C83670] cmp eax,ebx jz L0046DE64 L0046DE40: mov edi,[eax+48h] mov esi,eax cmp esi,ebx jz L0046DE59 mov ecx,esi call SUB_L0046EEF0 push esi call SUB_L004D4F9E add esp,00000004h L0046DE59: mov eax,edi cmp edi,ebx mov [L00C83670],eax jnz L0046DE40 L0046DE64: mov esi,[L00C83660] mov [L00C83670],ebx cmp esi,ebx jz L0046DEB0 L0046DE74: mov edi,[esi+10h] cmp esi,ebx jz L0046DEA4 mov eax,[esi+08h] push eax call SUB_L004D59F6 mov ecx,[esi+0Ch] push ecx call SUB_L004D59F6 push esi mov [esi],bl mov [esi+04h],bl mov [esi+08h],ebx mov [esi+0Ch],ebx mov [esi+10h],ebx call SUB_L004D4F9E add esp,0000000Ch L0046DEA4: mov esi,edi cmp edi,ebx mov [L00C83660],esi jnz L0046DE74 L0046DEB0: mov eax,[L00C8365C] mov [L00C83660],ebx cmp eax,ebx jz L0046DED6 L0046DEBF: mov esi,[eax+04h] push eax call SUB_L004D4F9E add esp,00000004h mov eax,esi cmp esi,ebx mov [L00C8365C],eax jnz L0046DEBF L0046DED6: pop edi mov [L00C8365C],ebx mov [L00C83658],bl pop esi L0046DEE4: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046DEF0: push FFFFFFFFh push L004E3C8F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h mov ecx,[L00C83668] xor eax,eax test ecx,ecx mov dword ptr [esp+04h],00000000h jz L0046DF1E mov eax,ecx L0046DF1E: push esi push edi push 00000003h push eax lea eax,[esp+10h] push eax call SUB_L004D52C0 mov esi,[esp+4Ch] add esp,0000000Ch cmp esi,000F4240h mov byte ptr [esp+0Bh],00h jl L0046DF79 add esi,FFF0BDC0h mov eax,10624DD3h imul esi sar edx,06h mov ecx,edx shr ecx,1Fh add edx,ecx push edx lea edx,[esp+14h] push SSZ005055A4_cliloc_02_2d push edx call SUB_L004D512F mov eax,esi mov ecx,000003E8h cdq add esp,0000000Ch idiv ecx mov edi,edx jmp L0046DF91 L0046DF79: lea edx,[esp+10h] push SSZ00505598_cliloc_1 push edx call SUB_L004D512F add esp,00000008h lea edi,[esi-0007A120h] L0046DF91: push ebp push 00000000h push 00000000h lea eax,[esp+1Ch] push 00000000h lea ecx,[esp+18h] push eax lea edx,[esp+24h] push ecx push edx call SUB_L0046EA70 add esp,00000018h lea ecx,[esp+20h] mov ebp,eax call SUB_L004C8060 xor esi,esi mov dword ptr [esp+38h],00000001h test edi,edi jge L0046DFCF push SWC00505540_Error__TID___Line_number_less_th jmp L0046E041 L0046DFCF: test ebp,ebp jz L0046DFE3 push 00000001h push edi mov ecx,ebp call SUB_L0046FD40 mov esi,eax test esi,esi jnz L0046E033 L0046DFE3: push 00000003h lea eax,[esp+10h] push L0050531C push eax call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0046E02C push 00000001h push 00000000h lea ecx,[esp+1Ch] push 00000000h push ecx lea edx,[esp+24h] push L0050531C push edx call SUB_L0046EA70 add esp,00000018h test eax,eax jz L0046E02C push 00000001h push edi mov ecx,eax call SUB_L0046FD40 mov esi,eax test esi,esi jnz L0046E033 L0046E02C: push SWC00505508_Error__TID___Null_string___ jmp L0046E041 L0046E033: cmp dword ptr [esi+04h],000003FFh jle L0046E04A push SWC005054C8_Error__TID___String_too_Long___ L0046E041: lea ecx,[esp+24h] call SUB_L004C8370 L0046E04A: push L007049FC lea ecx,[esp+24h] call SUB_L004C85B0 test eax,eax pop ebp jz L0046E070 mov ecx,esi call SUB_L004C8360 push eax lea ecx,[esp+20h] call SUB_L004C8370 jmp L0046E07E L0046E070: mov eax,[esp+40h] lea ecx,[esp+1Ch] push eax call SUB_L004C8490 L0046E07E: mov esi,[esp+3Ch] lea ecx,[esp+1Ch] push ecx mov ecx,esi call SUB_L004C8120 mov dword ptr [esp+0Ch],00000001h lea ecx,[esp+1Ch] mov byte ptr [esp+34h],00h call SUB_L004C8100 mov ecx,[esp+2Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046E0C0: push FFFFFFFFh push L004E3CC1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000A34h mov eax,[esp+00000A48h] push ebx push ebp push esi push edi xor ebx,ebx xor edi,edi cmp eax,ebx mov [esp+44h],eax jz L0046E2E6 cmp [eax],bx jz L0046E2E6 push 00000009h push eax call SUB_L004D71F8 add esp,00000008h cmp eax,ebx jz L0046E131 lea esi,[esp+44h] L0046E112: add eax,00000002h cmp [eax],bx jz L0046E120 inc edi add esi,00000004h mov [esi],eax L0046E120: mov eax,[esi] push 00000009h push eax call SUB_L004D71F8 add esp,00000008h cmp eax,ebx jnz L0046E112 L0046E131: inc edi lea ecx,[esp+20h] mov [esp+30h],edi call SUB_L004C8060 lea ecx,[esp+10h] mov [esp+00000A4Ch],ebx call SUB_L004C8060 mov ebp,[esp+00000A54h] mov byte ptr [esp+00000A4Ch],01h mov ecx,ebp call SUB_L004C8360 lea ecx,[esp+00000644h] push eax push ecx call SUB_L004C4430 add esp,00000008h xor esi,esi cmp [esp+00000644h],bx jz L0046E2B6 L0046E186: mov ax,[esp+esi*2+00000644h] cmp ax,007Eh jnz L0046E29D cmp esi,ebx jz L0046E1B7 cmp word ptr [esp+esi*2+00000642h],005Ch jnz L0046E1B7 push 0000007Eh lea ecx,[esp+14h] call SUB_L004C8490 jmp L0046E2A7 L0046E1B7: inc esi cmp word ptr [esp+esi*2+00000644h],0023h lea eax,[esp+esi*2+00000644h] jnz L0046E228 inc esi lea edx,[esp+esi*2+00000644h] push edx call SUB_L004C4B90 mov edi,eax add esp,00000004h cmp edi,0007A120h jl L0046E2FF cmp edi,001E847Fh jg L0046E2FF lea eax,[esp+34h] push edi push eax call SUB_L0046DEF0 add esp,00000008h push eax lea ecx,[esp+24h] mov byte ptr [esp+00000A50h],02h call SUB_L004C83F0 lea ecx,[esp+34h] mov byte ptr [esp+00000A4Ch],01h call SUB_L004C8100 jmp L0046E254 L0046E228: push eax call SUB_L004C4B90 mov edi,eax add esp,00000004h cmp edi,00000001h jl L0046E365 cmp edi,[esp+30h] jg L0046E365 mov ecx,[esp+edi*4+40h] push ecx lea ecx,[esp+24h] call SUB_L004C8370 L0046E254: lea ecx,[esp+20h] call SUB_L004C8360 test eax,eax jz L0046E32F lea edx,[esp+20h] lea ecx,[esp+10h] push edx call SUB_L004C8470 inc esi mov ax,[esp+esi*2+00000644h] lea ecx,[esp+esi*2+00000644h] cmp ax,bx jz L0046E2A7 L0046E288: cmp ax,007Eh jz L0046E2A7 mov ax,[ecx+02h] add ecx,00000002h inc esi cmp ax,bx jnz L0046E288 jmp L0046E2A7 L0046E29D: push eax lea ecx,[esp+14h] call SUB_L004C8500 L0046E2A7: inc esi cmp [esp+esi*2+00000644h],bx jnz L0046E186 L0046E2B6: lea eax,[esp+10h] mov ecx,ebp push eax call SUB_L004C83F0 L0046E2C2: lea ecx,[esp+10h] mov [esp+00000A4Ch],bl call SUB_L004C8100 lea ecx,[esp+20h] mov dword ptr [esp+00000A4Ch],FFFFFFFFh call SUB_L004C8100 L0046E2E6: mov ecx,[esp+00000A44h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000A40h retn ;------------------------------------------------------------------------------ L0046E2FF: lea eax,[esp+00000144h] push SWC005055F4_Error__TID___Token_Out_of_Range_ push eax call SUB_L004C4430 mov ecx,[esp+00000A64h] lea edx,[esp+4Ch] push ecx push edi push SSZ005055EC__d____d push edx call SUB_L004D512F lea eax,[esp+5Ch] jmp L0046E393 L0046E32F: lea eax,[esp+00000144h] push SWC005055B4_Error__TID___Null_Token___ push eax call SUB_L004C4430 mov ecx,[esp+00000A64h] lea edx,[esp+0000054Ch] push ecx push edi push SSZ005055EC__d____d push edx call SUB_L004D512F lea eax,[esp+0000055Ch] jmp L0046E393 L0046E365: lea eax,[esp+00000144h] push SWC005055F4_Error__TID___Token_Out_of_Range_ push eax call SUB_L004C4430 mov ecx,[esp+00000A64h] lea edx,[esp+4Ch] push ecx push edi push SSZ005055EC__d____d push edx call SUB_L004D512F lea eax,[esp+5Ch] L0046E393: lea ecx,[esp+0000015Ch] push eax push ecx call SUB_L004C4590 add esp,00000020h lea edx,[esp+00000144h] mov ecx,ebp push edx call SUB_L004C8370 jmp L0046E2C2 Align 16 SUB_L0046E3C0: push esi mov esi,[L00C83660] push edi xor edi,edi test esi,esi jz L0046E3EA L0046E3CE: push esi push L00C8366C call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046E3E3 mov edi,[esi+08h] L0046E3E3: mov esi,[esi+10h] test esi,esi jnz L0046E3CE L0046E3EA: mov eax,[L00C83664] test eax,eax jz L0046E3F6 mov edi,[eax+08h] L0046E3F6: test edi,edi jnz L0046E407 push SSZ0050563C_LanguageManager__getLanguageName call SUB_L004C7E80 add esp,00000004h L0046E407: mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046E410: mov ecx,[L00C83668] xor eax,eax test ecx,ecx jz L0046E41E mov eax,ecx L0046E41E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0046E420: push esi push edi mov edi,[esp+0Ch] test edi,edi jnz L0046E43E mov eax,[L00C83668] test eax,eax jz L0046E439 mov al,[eax+04h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0046E439: pop edi xor al,al pop esi retn ;------------------------------------------------------------------------------ L0046E43E: mov esi,[L00C83660] test esi,esi jz L0046E45D L0046E448: push esi push edi call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046E46C mov esi,[esi+10h] test esi,esi jnz L0046E448 L0046E45D: mov eax,[L00C83664] test eax,eax jz L0046E472 mov al,[eax+04h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0046E46C: mov al,[esi+04h] pop edi pop esi retn ;------------------------------------------------------------------------------ L0046E472: pop edi mov al,65h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046E480: mov eax,[L00C83664] test eax,eax jnz L0046E49B push SSZ00505694_LanguageManager__getDefaultFileE call SUB_L004C7E80 mov eax,[L00505318] add esp,00000004h L0046E49B: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046E4A0: push FFFFFFFFh push L004E3CE9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000C2Ch lea eax,[esp+04h] push ebx xor ebx,ebx push eax push SSZ00505888_language_langcode_iff mov [esp+10h],ebx call SUB_L004405F0 add esp,00000008h cmp eax,ebx jnz L0046E501 mov eax,[esp+08h] cmp eax,ebx jz L0046E4E9 push eax call SUB_L004D4F9E add esp,00000004h L0046E4E9: lea ecx,[esp+08h] mov [esp+08h],ebx push ecx push SSZ00505878_langcode_iff call SUB_L004405F0 add esp,00000008h cmp eax,ebx L0046E501: jg L0046E515 push SSZ0050582C_LanguageManager__loadLanguageCod call SUB_L004C7EF0 add esp,00000004h jmp L0046E75B L0046E515: push esi push eax push SSZ005057DC_LanguageManager__loadLanguageCod call SUB_L004C7F50 mov edx,[esp+14h] add esp,00000008h lea ecx,[esp+10h] push edx call SUB_L0046AEE0 push SSZ00505878_langcode_iff lea ecx,[esp+14h] mov [esp+00000C40h],ebx call SUB_L0046AFD0 push 44415441h lea ecx,[esp+14h] call SUB_L0046B3E0 push 4C414E47h lea ecx,[esp+14h] call SUB_L0046B3E0 push 57494E33h lea ecx,[esp+14h] call SUB_L0046B3E0 lea ecx,[esp+10h] mov [esp+0Bh],bl call SUB_L0046BA10 test al,al jnz L0046E71A L0046E586: cmp [esp+0Bh],bl jnz L0046E71A lea ecx,[esp+10h] call SUB_L0046B2A0 mov esi,eax cmp esi,434F4445h jz L0046E632 push esi lea ecx,[esp+14h] call SUB_L0046B2D0 test al,al jz L0046E5E2 push ebx push SSZ005057B8_Ignoring_Unexpected_FORM_or_CHUN push SSZ00505794_LanguageManager__loadLanguageCod lea ecx,[esp+1Ch] call SUB_L0046B030 push esi lea ecx,[esp+14h] call SUB_L0046B3E0 push esi lea ecx,[esp+14h] call SUB_L0046B960 jmp L0046E709 L0046E5E2: push esi lea ecx,[esp+14h] call SUB_L0046B370 test al,al push ebx jz L0046E615 push SSZ005057B8_Ignoring_Unexpected_FORM_or_CHUN push SSZ00505794_LanguageManager__loadLanguageCod lea ecx,[esp+1Ch] call SUB_L0046B030 push esi lea ecx,[esp+14h] call SUB_L0046B640 push ebx push esi jmp L0046E700 L0046E615: push SSZ00505768_Very_Strange_Error__Maybe_Premat push SSZ00505794_LanguageManager__loadLanguageCod lea ecx,[esp+1Ch] call SUB_L0046B030 mov byte ptr [esp+0Bh],01h jmp L0046E709 L0046E632: push 434F4445h lea ecx,[esp+14h] call SUB_L0046B640 lea ecx,[esp+10h] call SUB_L0046BA40 cmp eax,00000400h jbe L0046E669 push ebx push SSZ00505740_Ignoring_Unusually_large_CHUNK_C push SSZ00505794_LanguageManager__loadLanguageCod lea ecx,[esp+1Ch] call SUB_L0046B030 jmp L0046E6FA L0046E669: lea eax,[esp+00000834h] lea ecx,[esp+10h] push eax call SUB_L0046BA80 push ebx lea ecx,[esp+14h] call SUB_L0046BB00 lea ecx,[esp+00000434h] push ecx lea ecx,[esp+14h] movsx esi,al call SUB_L0046BA80 lea edx,[esp+34h] lea ecx,[esp+10h] push edx call SUB_L0046BA80 push 00000014h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+00000C3Ch],01h jz L0046E6DF lea ecx,[esp+34h] lea edx,[esp+00000434h] push ecx push edx lea ecx,[esp+0000083Ch] push esi push ecx mov ecx,eax call SUB_L0046EDD0 jmp L0046E6E1 L0046E6DF: xor eax,eax L0046E6E1: cmp eax,ebx mov [esp+00000C3Ch],bl jz L0046E6FA mov edx,[L00C83660] mov [eax+10h],edx mov [L00C83660],eax L0046E6FA: push ebx push 434F4445h L0046E700: lea ecx,[esp+18h] call SUB_L0046B860 L0046E709: lea ecx,[esp+10h] call SUB_L0046BA10 test al,al jz L0046E586 L0046E71A: push 57494E33h lea ecx,[esp+14h] call SUB_L0046B960 push 4C414E47h lea ecx,[esp+14h] call SUB_L0046B960 push 44415441h lea ecx,[esp+14h] call SUB_L0046B960 lea ecx,[esp+10h] mov bl,01h mov dword ptr [esp+00000C3Ch],FFFFFFFFh call SUB_L0046AF70 pop esi L0046E75B: push SSZ00505704_LanguageManager__loadLanguageCod call SUB_L004C7F50 mov ecx,[esp+00000C34h] add esp,00000004h mov al,bl mov fs:[00000000h],ecx pop ebx add esp,00000C38h retn ;------------------------------------------------------------------------------ SUB_L0046E780: sub esp,00000008h push esi push SSZ005059FC_LanguageManager__setLanguageDefa call SUB_L004C7F50 mov eax,L00C8366C add esp,00000004h test eax,eax jz L0046E7A7 mov al,[L00C8366C] test al,al jnz L0046E850 L0046E7A7: push edi lea edx,[esp+08h] push 00000004h xor ecx,ecx push edx push SSZ005059F4_default mov [esp+14h],ecx push SSZ005059E8_sLanguage push SSZ005059E0_intl mov [esp+20h],cl call [KERNEL32.dll!GetProfileStringA] test eax,eax ja L0046E815 mov edi,[L00C83664] test edi,edi jz L0046E7E2 lea edx,[esp+08h] jmp L0046E7F8 L0046E7E2: push SSZ00505974_LanguageManager__setLanguageDefa call SUB_L004C7E80 add esp,00000004h lea edx,[esp+08h] mov edi,L0050531C L0046E7F8: 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 L0046E815: lea ecx,[esp+08h] pop edi test ecx,ecx jnz L0046E82D push SSZ005053D0_LanguageManager__setUserLanguage call SUB_L004C7EF0 add esp,00000004h jmp L0046E83E L0046E82D: mov edx,[esp+04h] mov [L00C8366C],edx mov byte ptr [L00C8366F],00h L0046E83E: push L00C8366C push SSZ00505384_LanguageManager__setUserLanguage call SUB_L004C7F50 add esp,00000008h L0046E850: mov esi,[L00C83660] test esi,esi jz L0046E873 L0046E85A: push esi push L00C8366C call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046E873 mov esi,[esi+10h] test esi,esi jnz L0046E85A L0046E873: test esi,esi mov [L00C83668],esi jnz L0046E8F0 push SSZ005058D0_LanguageManager__setLanguageDefa call SUB_L004C7EF0 mov eax,L0050531C add esp,00000004h test eax,eax jnz L0046E8A2 push SSZ005053D0_LanguageManager__setUserLanguage call SUB_L004C7EF0 add esp,00000004h jmp L0046E8B5 L0046E8A2: mov ecx,[L0050531C] mov [L00C8366C],ecx mov byte ptr [L00C8366F],00h L0046E8B5: push L00C8366C push SSZ00505384_LanguageManager__setUserLanguage call SUB_L004C7F50 mov esi,[L00C83660] add esp,00000008h test esi,esi jz L0046E8EA L0046E8D1: push esi push L00C8366C call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046E8EA mov esi,[esi+10h] test esi,esi jnz L0046E8D1 L0046E8EA: mov [L00C83668],esi L0046E8F0: push SSZ005058A0_LanguageManager__setLanguageDefa call SUB_L004C7F50 add esp,00000004h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046E910: mov eax,L00C8366C retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046E920: push SSZ00505A80_LanguageManager__preLoad__ call SUB_L004C7F50 push L00C8366C push SSZ00505A48_LanguageManager__preLoad__user_l call SUB_L004C7F50 push 00000000h push 00000000h push 00000000h push SSZ00505A40_intro push L00C8366C push SSZ00505A40_intro call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ00503444_gt_0000 push L00C8366C push SSZ00503444_gt_0000 call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ0050344C_gt_1010 push L00C8366C push SSZ0050344C_gt_1010 call SUB_L0046EA70 add esp,00000054h push 00000000h push 00000000h push 00000000h push SSZ00503454_gt_2000 push L00C8366C push SSZ00503454_gt_2000 call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ0050345C_gt_2310 push L00C8366C push SSZ0050345C_gt_2310 call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ00503464_gt_2400 push L00C8366C push SSZ00503464_gt_2400 call SUB_L0046EA70 add esp,00000048h push 00000000h push 00000000h push 00000000h push SSZ00503474_gt_5000 push L00C8366C push SSZ00503474_gt_5000 call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ0050347C_gt_5400 push L00C8366C push SSZ0050347C_gt_5400 call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ00505A34_skilname push L00C8366C push SSZ00505A34_skilname call SUB_L0046EA70 add esp,00000048h push 00000000h push 00000000h push 00000000h push SSZ00500038_chat push L00C8366C push SSZ00500038_chat call SUB_L0046EA70 push 00000000h push 00000000h push 00000000h push SSZ00505A2C_options push L00C8366C push SSZ00505A2C_options call SUB_L0046EA70 add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046EA70: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3D0E push eax mov al,[esp+1Ch] mov fs:[00000000h],esp sub esp,00000204h test al,al push ebx mov ebx,[esp+00000218h] push ebp mov ebp,[esp+00000220h] push esi push edi mov edi,[esp+0000022Ch] jz L0046EB05 push ebx push edi push SSZ00505B7C_LanguageManager__loadSection__fo call SUB_L004C7EF0 push 00000000h push edi push ebp push ebx call SUB_L0046EC10 mov esi,eax add esp,0000001Ch test esi,esi jz L0046EB05 mov ecx,[L00C83670] cmp ecx,esi jnz L0046EADF mov eax,[esi+48h] mov [L00C83670],eax jmp L0046EAF5 L0046EADF: mov eax,[ecx+48h] cmp eax,esi jz L0046EAEF L0046EAE6: mov ecx,eax mov eax,[ecx+48h] cmp eax,esi jnz L0046EAE6 L0046EAEF: mov edx,[esi+48h] mov [ecx+48h],edx L0046EAF5: mov ecx,esi call SUB_L0046EEF0 push esi call SUB_L004D4F9E add esp,00000004h L0046EB05: mov eax,[esp+00000238h] push eax push edi push ebp push ebx call SUB_L0046EC10 xor esi,esi add esp,00000010h cmp eax,esi jnz L0046EBEB push 0000004Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,esi mov [esp+0000021Ch],esi jz L0046EB44 mov ecx,eax call SUB_L0046EEB0 mov esi,eax L0046EB44: test esi,esi mov dword ptr [esp+0000021Ch],FFFFFFFFh jnz L0046EB60 push SSZ00505B40_LanguageManager__loadSection__ca call SUB_L004C7E80 add esp,00000004h L0046EB60: push edi push ebp push ebx mov ecx,esi call SUB_L0046F040 test al,al jz L0046EB81 mov ecx,[L00C83670] mov eax,esi mov [esi+48h],ecx mov [L00C83670],esi jmp L0046EBEB L0046EB81: mov al,[esp+00000234h] test al,al jz L0046EBD5 mov edx,L00C8366C push ebx test edx,edx jnz L0046EBAB push edi lea eax,[esp+1Ch] push SSZ00505AF8___getUserLanguageCodeString_____ push eax call SUB_L004D512F add esp,00000010h jmp L0046EBC3 L0046EBAB: push L00C8366C push edi lea ecx,[esp+20h] push SSZ00505AC0_no_section___s__found_for_langua push ecx call SUB_L004D512F add esp,00000014h L0046EBC3: lea edx,[esp+14h] push edx push SSZ00505A9C_LanguageManager__loadSection___s call SUB_L004C7E80 add esp,00000008h L0046EBD5: test esi,esi jz L0046EBE9 mov ecx,esi call SUB_L0046EEF0 push esi call SUB_L004D4F9E add esp,00000004h L0046EBE9: xor eax,eax L0046EBEB: mov ecx,[esp+00000214h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000210h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046EC10: push ebp push esi push edi mov edi,[esp+14h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+14h] mov eax,ecx mov esi,edi mov edi,edx mov ebp,[L00C83670] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb test ebp,ebp mov byte ptr [esp+17h],00h jz L0046EC91 L0046EC47: mov ecx,[esp+10h] mov edx,[ebp+04h] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046EC8A mov ecx,[ebp+08h] lea eax,[esp+14h] push eax push ecx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046EC8A mov edx,[esp+18h] mov eax,[ebp+0Ch] push edx push eax call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046ED1E L0046EC8A: mov ebp,[ebp+48h] test ebp,ebp jnz L0046EC47 L0046EC91: mov al,[esp+1Ch] test al,al jnz L0046EDB7 mov edi,L00C8366C or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 mov esi,[L00C83670] mov byte ptr [esp+17h],00h test esi,esi jz L0046ED24 L0046ECD2: mov ebp,[esp+10h] mov ecx,[esi+04h] push ebp push ecx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046ED15 mov eax,[esi+08h] lea edx,[esp+14h] push edx push eax call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046ED15 mov ecx,[esp+18h] mov edx,[esi+0Ch] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046EDBD L0046ED15: mov esi,[esi+48h] test esi,esi jnz L0046ECD2 jmp L0046ED28 L0046ED1E: pop edi mov eax,ebp pop esi pop ebp retn ;------------------------------------------------------------------------------ L0046ED24: mov ebp,[esp+10h] L0046ED28: mov edi,[L00C83664] test edi,edi jnz L0046ED45 push SSZ00505694_LanguageManager__getDefaultFileE call SUB_L004C7E80 mov edi,[L00505318] add esp,00000004h L0046ED45: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+14h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[L00C83670] mov byte ptr [esp+17h],00h test esi,esi jz L0046EDB7 L0046ED75: mov ecx,[esi+04h] push ebp push ecx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046EDB0 mov eax,[esi+08h] lea edx,[esp+14h] push edx push eax call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L0046EDB0 mov ecx,[esp+18h] mov edx,[esi+0Ch] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0046EDBD L0046EDB0: mov esi,[esi+48h] test esi,esi jnz L0046ED75 L0046EDB7: pop edi pop esi xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ L0046EDBD: mov eax,esi pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046EDD0: push ebx push ebp push esi mov esi,[esp+10h] mov ebp,ecx xor ebx,ebx push edi mov [ebp+00h],bl mov [ebp+04h],bl mov [ebp+08h],ebx mov [ebp+0Ch],ebx mov [ebp+10h],ebx movsx eax,[esi] push eax call SUB_L004D5181 mov [ebp+00h],al movsx ecx,[esi+01h] push ecx call SUB_L004D5181 mov [ebp+01h],al movsx edx,[esi+02h] push edx call SUB_L004D5181 mov [ebp+02h],al mov al,[esp+24h] add esp,0000000Ch cmp al,3Fh mov [ebp+03h],bl mov [ebp+04h],al jnz L0046EE25 mov [ebp+04h],bl L0046EE25: mov esi,[esp+1Ch] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L004D5A3E mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax 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 xor eax,eax and ecx,00000003h rep movsb mov esi,[esp+24h] or ecx,FFFFFFFFh mov edi,esi repne scasb not ecx push ecx call SUB_L004D5A3E mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000008h mov [ebp+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,ebp and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L0046EEB0: 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 mov [eax+48h],ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0046EEF0: push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi cmp [esi+28h],ebx jz L0046EF28 mov eax,[esi+24h] xor ebp,ebp cmp eax,ebx jle L0046EF28 L0046EF06: mov eax,[esi+28h] mov edi,[eax+ebp*4] cmp edi,ebx jz L0046EF20 mov ecx,edi call SUB_L004C8100 push edi call SUB_L004D4F9E add esp,00000004h L0046EF20: mov eax,[esi+24h] inc ebp cmp ebp,eax jl L0046EF06 L0046EF28: cmp [esi+44h],ebx jz L0046EF4D mov eax,[esi+24h] xor edi,edi cmp eax,ebx jle L0046EF4D L0046EF36: mov ecx,[esi+44h] mov edx,[ecx+edi*4] push edx call SUB_L004D4F9E mov eax,[esi+24h] add esp,00000004h inc edi cmp edi,eax jl L0046EF36 L0046EF4D: mov eax,[esi+04h] cmp eax,ebx jz L0046EF5D push eax call SUB_L004D4F9E add esp,00000004h L0046EF5D: mov eax,[esi+08h] cmp eax,ebx jz L0046EF6D push eax call SUB_L004D4F9E add esp,00000004h L0046EF6D: mov eax,[esi+0Ch] cmp eax,ebx jz L0046EF7D push eax call SUB_L004D4F9E add esp,00000004h L0046EF7D: mov eax,[esi+28h] cmp eax,ebx jz L0046EF8D push eax call SUB_L004D4F9E add esp,00000004h L0046EF8D: mov eax,[esi+2Ch] cmp eax,ebx jz L0046EF9D push eax call SUB_L004D4F9E add esp,00000004h L0046EF9D: mov eax,[esi+30h] cmp eax,ebx jz L0046EFAD push eax call SUB_L004D4F9E add esp,00000004h L0046EFAD: mov eax,[esi+34h] cmp eax,ebx jz L0046EFBD push eax call SUB_L004D4F9E add esp,00000004h L0046EFBD: mov eax,[esi+38h] cmp eax,ebx jz L0046EFCD push eax call SUB_L004D4F9E add esp,00000004h L0046EFCD: mov eax,[esi+3Ch] cmp eax,ebx jz L0046EFDD push eax call SUB_L004D4F9E add esp,00000004h L0046EFDD: mov eax,[esi+40h] cmp eax,ebx jz L0046EFED push eax call SUB_L004D4F9E add esp,00000004h L0046EFED: mov eax,[esi+44h] cmp eax,ebx jz L0046EFFD push eax call SUB_L004D4F9E add esp,00000004h L0046EFFD: mov [esi],bl 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 mov [esi+48h],ebx pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0046F040: push FFFFFFFFh push L004E3D28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000038h push ebx mov ebx,[esp+4Ch] push ebp push esi mov ebp,ecx push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebp+00h],00h repne scasb not ecx add ecx,0000001Fh push ecx call SUB_L004D4FA9 mov esi,eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,0000001Fh mov [esp+28h],esi push ecx call SUB_L004D4FA9 mov [esp+1Ch],eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,0000001Fh push ecx call SUB_L004D4FA9 mov [esp+24h],eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,0000001Fh push ecx call SUB_L004D4FA9 mov [esp+20h],eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,0000001Fh push ecx call SUB_L004D4FA9 mov [esp+34h],eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,0000001Fh push ecx call SUB_L004D4FA9 mov ecx,[esp+2Ch] mov edx,[esp+30h] mov byte ptr [esi],00h mov [esp+34h],eax mov byte ptr [ecx],00h mov ecx,[esp+28h] mov byte ptr [edx],00h mov edx,[esp+38h] mov byte ptr [ecx],00h mov edi,SSZ00505C60_language_ mov byte ptr [edx],00h mov byte ptr [eax],00h or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+2Ch] 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,SSZ00505C60_language_ repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+28h] 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,SSZ00505C60_language_ repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+34h] 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,ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+3Ch] 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,ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+2Ch] 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,ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+30h] 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,ebx repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+28h] 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,ebx repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+38h] 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,ebx or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+34h] 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,L00505C5C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+3Ch] 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,L00505C5C repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+2Ch] 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,L00505C5C repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+30h] 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,L00505C5C repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+28h] 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,L00505C5C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+38h] 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,L00505C5C or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+34h] 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_L0046E910 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+3Ch] 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_L0046E910 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+2Ch] 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_L0046E480 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+30h] 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_L0046E480 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+28h] 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,[esp+74h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+38h] 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,[esp+74h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov edi,[esp+34h] 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 esi,[esp+38h] mov [esp+70h],eax lea eax,[esp+70h] push eax push esi call SUB_L004405F0 mov eax,[esp+78h] add esp,00000020h test eax,eax jnz L0046F522 mov edx,[esp+1Ch] lea ecx,[esp+58h] push ecx push edx call SUB_L004405F0 mov eax,[esp+60h] add esp,00000008h test eax,eax jnz L0046F522 mov ecx,[esp+24h] lea eax,[esp+58h] push eax push ecx call SUB_L004405F0 mov eax,[esp+60h] add esp,00000008h test eax,eax jnz L0046F522 mov eax,[esp+14h] lea edx,[esp+58h] push edx push eax call SUB_L004405F0 mov eax,[esp+60h] add esp,00000008h test eax,eax jnz L0046F522 mov edx,[esp+18h] lea ecx,[esp+58h] push ecx push edx call SUB_L004405F0 mov eax,[esp+60h] add esp,00000008h test eax,eax jnz L0046F522 mov ecx,[esp+10h] lea eax,[esp+58h] push eax push ecx call SUB_L004405F0 add esp,00000008h L0046F522: mov eax,[esp+24h] test eax,eax jz L0046F533 push eax call SUB_L004D4F9E add esp,00000004h L0046F533: mov eax,[esp+14h] test eax,eax jz L0046F544 push eax call SUB_L004D4F9E add esp,00000004h L0046F544: mov edi,[esp+18h] test edi,edi jz L0046F555 push edi call SUB_L004D4F9E add esp,00000004h L0046F555: mov eax,[esp+10h] test eax,eax jz L0046F566 push eax call SUB_L004D4F9E add esp,00000004h L0046F566: test edi,edi jz L0046F573 push esi call SUB_L004D4F9E add esp,00000004h L0046F573: mov eax,[esp+10h] test eax,eax jz L0046F588 mov edx,[esp+1Ch] push edx call SUB_L004D4F9E add esp,00000004h L0046F588: mov eax,[esp+58h] test eax,eax jnz L0046F5A3 push ebx push SSZ00505C28_LanguageSection__load__cannot_lo call SUB_L004C7EF0 add esp,00000008h jmp L0046FAF9 L0046F5A3: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,ebx or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+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 mov ecx,[esp+58h] push ecx lea ecx,[esp+2Ch] call SUB_L0046AEE0 push ebx lea ecx,[esp+2Ch] mov dword ptr [esp+54h],00000000h call SUB_L0046AFD0 push 44415441h lea ecx,[esp+2Ch] call SUB_L0046B3E0 push 4C414E47h lea ecx,[esp+2Ch] call SUB_L0046B3E0 push 494E464Fh lea ecx,[esp+2Ch] call SUB_L0046B640 push 00000200h call SUB_L004D4FA9 add esp,00000004h lea ecx,[esp+28h] mov [ebp+08h],eax push eax call SUB_L0046BA80 push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 push 00000000h lea ecx,[esp+2Ch] mov [ebp+10h],eax call SUB_L0046BB00 push 00000200h mov [ebp+14h],eax call SUB_L004D4FA9 add esp,00000004h lea ecx,[esp+28h] mov [ebp+0Ch],eax push eax call SUB_L0046BA80 push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 push 00000000h lea ecx,[esp+2Ch] mov [ebp+18h],eax call SUB_L0046BB00 lea ecx,[esp+28h] mov [ebp+24h],eax call SUB_L0046BA40 test eax,eax jz L0046F6B3 push 00000001h push SSZ00505C0C_Extra_data_in_CHUNK_INFO_ push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 L0046F6B3: push 00000000h push 494E464Fh lea ecx,[esp+30h] call SUB_L0046B860 mov eax,[ebp+10h] cmp eax,00000001h jz L0046F6E5 cmp eax,00000002h jz L0046F6E5 push 00000001h push SSZ00505BDC_Illegal_character_size_ push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 L0046F6E5: mov eax,[ebp+24h] test eax,eax jg L0046F701 push 00000001h push SSZ00505BC8_stringCount____0_ push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 L0046F701: mov edx,[ebp+24h] shl edx,02h push edx call SUB_L004D4FA9 mov ecx,[ebp+24h] mov edi,eax shl ecx,02h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+28h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb lea ecx,[esp+28h] call SUB_L0046BA10 test al,al jnz L0046FAC8 L0046F73C: lea ecx,[esp+28h] call SUB_L0046B2A0 mov esi,eax cmp esi,54455854h jg L0046F8F7 jz L0046F8A5 cmp esi,434F4C52h jz L0046F833 cmp esi,464F4E54h jz L0046F7E4 cmp esi,504F534Eh jnz L0046F90F push eax lea ecx,[esp+2Ch] call SUB_L0046B640 mov eax,[ebp+24h] shl eax,02h push eax call SUB_L004D4FA9 mov ecx,[ebp+24h] mov [ebp+34h],eax shl ecx,02h push ecx call SUB_L004D4FA9 mov [ebp+38h],eax mov eax,[ebp+24h] add esp,00000008h xor esi,esi test eax,eax jle L0046F7D8 L0046F7AD: push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 mov edx,[ebp+34h] push 00000000h lea ecx,[esp+2Ch] mov [edx+esi*4],eax call SUB_L0046BB00 mov ecx,[ebp+38h] inc esi mov [ecx+esi*4-04h],eax mov eax,[ebp+24h] cmp esi,eax jl L0046F7AD L0046F7D8: push 00000001h push 504F534Eh jmp L0046FAAE L0046F7E4: push 464F4E54h lea ecx,[esp+2Ch] call SUB_L0046B640 mov edx,[ebp+24h] shl edx,02h push edx call SUB_L004D4FA9 mov [ebp+40h],eax mov eax,[ebp+24h] add esp,00000004h xor esi,esi test eax,eax jle L0046F827 L0046F80D: push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 mov ecx,[ebp+40h] inc esi mov [ecx+esi*4-04h],eax mov eax,[ebp+24h] cmp esi,eax jl L0046F80D L0046F827: push 00000001h push 464F4E54h jmp L0046FAAE L0046F833: push 434F4C52h lea ecx,[esp+2Ch] call SUB_L0046B640 mov edx,[ebp+24h] shl edx,02h push edx call SUB_L004D4FA9 mov [ebp+3Ch],eax mov eax,[ebp+24h] add esp,00000004h xor edi,edi test eax,eax jle L0046F899 L0046F85C: push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 push 00000000h lea ecx,[esp+2Ch] mov esi,eax call SUB_L0046BB00 push 00000000h lea ecx,[esp+2Ch] mov ebx,eax call SUB_L0046BB00 shl esi,08h add esi,ebx shl esi,08h add esi,eax mov eax,[ebp+3Ch] mov [eax+edi*4],esi mov eax,[ebp+24h] inc edi cmp edi,eax jl L0046F85C L0046F899: push 00000001h push 434F4C52h jmp L0046FAAE L0046F8A5: push 54455854h lea ecx,[esp+2Ch] call SUB_L0046B640 cmp dword ptr [ebp+10h],00000001h jnz L0046F8CF lea ecx,[esp+28h] call SUB_L0046BBB0 lea ecx,[esp+28h] push eax push ecx mov ecx,ebp call SUB_L0046FB20 L0046F8CF: cmp dword ptr [ebp+10h],00000002h jnz L0046F8EB lea ecx,[esp+28h] call SUB_L0046BBB0 lea edx,[esp+28h] push eax push edx mov ecx,ebp call SUB_L0046FC20 L0046F8EB: push 00000000h push 54455854h jmp L0046FAAE L0046F8F7: cmp esi,54494D45h jz L0046FA44 cmp esi,544B4559h jz L0046F998 L0046F90F: push esi lea ecx,[esp+2Ch] call SUB_L0046B2D0 test al,al jz L0046F94B push 00000000h push SSZ005057B8_Ignoring_Unexpected_FORM_or_CHUN push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 push esi lea ecx,[esp+2Ch] call SUB_L0046B3E0 push esi lea ecx,[esp+2Ch] call SUB_L0046B960 jmp L0046FAB7 L0046F94B: push esi lea ecx,[esp+2Ch] call SUB_L0046B370 test al,al push 00000000h jz L0046F980 push SSZ005057B8_Ignoring_Unexpected_FORM_or_CHUN push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 push esi lea ecx,[esp+2Ch] call SUB_L0046B640 push 00000000h push esi jmp L0046FAAE L0046F980: push SSZ00505768_Very_Strange_Error__Maybe_Premat push SSZ00505BF4_LanguageSection__load_ lea ecx,[esp+34h] call SUB_L0046B030 jmp L0046FAB7 L0046F998: push 544B4559h lea ecx,[esp+2Ch] call SUB_L0046B640 mov eax,[ebp+24h] shl eax,02h push eax call SUB_L004D4FA9 mov [ebp+44h],eax mov eax,[ebp+24h] add esp,00000004h xor esi,esi test eax,eax jle L0046FA3B L0046F9C1: push 00000FA8h call SUB_L004D4FA9 mov ecx,[ebp+44h] add esp,00000004h mov [ecx+esi*4],eax push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 mov edx,[ebp+44h] push 00000000h mov ecx,[edx+esi*4] mov [ecx],eax lea ecx,[esp+2Ch] call SUB_L0046BB00 mov edx,[ebp+44h] xor edi,edi mov ecx,[edx+esi*4] mov [ecx+04h],eax mov edx,[ebp+44h] mov eax,[edx+esi*4] mov ecx,[eax+04h] test ecx,ecx jle L0046FA33 mov ebx,00000008h L0046FA0F: push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 mov ecx,[ebp+44h] inc edi add ebx,00000004h mov edx,[ecx+esi*4] mov [edx+ebx-04h],eax mov eax,[ebp+44h] mov ecx,[eax+esi*4] cmp edi,[ecx+04h] jl L0046FA0F L0046FA33: mov eax,[ebp+24h] inc esi cmp esi,eax jl L0046F9C1 L0046FA3B: push 00000001h push 544B4559h jmp L0046FAAE L0046FA44: push 54494D45h lea ecx,[esp+2Ch] call SUB_L0046B640 mov edx,[ebp+24h] shl edx,02h push edx call SUB_L004D4FA9 mov [ebp+2Ch],eax mov eax,[ebp+24h] shl eax,02h push eax call SUB_L004D4FA9 mov [ebp+30h],eax mov eax,[ebp+24h] add esp,00000008h xor esi,esi test eax,eax jle L0046FAA7 L0046FA7C: push 00000000h lea ecx,[esp+2Ch] call SUB_L0046BB00 mov ecx,[ebp+2Ch] push 00000000h mov [ecx+esi*4],eax lea ecx,[esp+2Ch] call SUB_L0046BB00 mov edx,[ebp+30h] inc esi mov [edx+esi*4-04h],eax mov eax,[ebp+24h] cmp esi,eax jl L0046FA7C L0046FAA7: push 00000001h push 54494D45h L0046FAAE: lea ecx,[esp+30h] call SUB_L0046B860 L0046FAB7: lea ecx,[esp+28h] call SUB_L0046BA10 test al,al jz L0046F73C L0046FAC8: push 4C414E47h lea ecx,[esp+2Ch] call SUB_L0046B960 push 44415441h lea ecx,[esp+2Ch] call SUB_L0046B960 lea ecx,[esp+28h] mov byte ptr [ebp+00h],01h mov dword ptr [esp+50h],FFFFFFFFh call SUB_L0046AF70 L0046FAF9: mov al,[ebp+00h] mov ecx,[esp+48h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000044h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0046FB20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3D4B push eax mov fs:[00000000h],esp push ebx push ebp mov ebp,ecx push esi mov esi,[esp+20h] mov eax,[ebp+24h] xor ebx,ebx push edi mov edi,[esp+20h] test eax,eax jle L0046FBBF L0046FB4C: push 00000010h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L0046FB70 push esi mov ecx,eax call SUB_L004C8240 jmp L0046FB72 L0046FB70: xor eax,eax L0046FB72: mov ecx,[ebp+28h] mov dword ptr [esp+18h],FFFFFFFFh mov [ecx+ebx*4],eax mov al,[esi] test al,al jnz L0046FB89 inc esi jmp L0046FBB7 L0046FB89: inc esi L0046FB8A: mov ecx,edi call SUB_L0046BA40 mov ecx,[esp+24h] mov edx,esi sub edx,ecx cmp edx,eax jbe L0046FBB0 push 00000001h push SSZ00505CAC_NOT_ENOUGH_DATA__Check_string_co push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FBB0: mov al,[esi] inc esi test al,al jnz L0046FB8A L0046FBB7: mov eax,[ebp+24h] inc ebx cmp ebx,eax jl L0046FB4C L0046FBBF: mov edx,[esp+24h] mov ecx,edi sub esi,edx call SUB_L0046BA40 cmp esi,eax jnc L0046FBE3 push 00000001h push SSZ00505C6C_TOO_MUCH_DATA__Check_string_coun push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FBE3: mov ecx,edi call SUB_L0046BA40 cmp esi,eax jbe L0046FC01 push 00000001h push SSZ00505CAC_NOT_ENOUGH_DATA__Check_string_co push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FC01: mov ecx,[esp+10h] pop edi pop esi pop ebp mov al,01h mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0046FC20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3D6B push eax mov fs:[00000000h],esp push ebx mov ebx,ecx push ebp push esi mov esi,[esp+20h] mov eax,[ebx+24h] xor ebp,ebp push edi mov edi,[esp+20h] test eax,eax jle L0046FCCB L0046FC4C: push 00000010h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L0046FC70 push esi mov ecx,eax call SUB_L004C81B0 jmp L0046FC72 L0046FC70: xor eax,eax L0046FC72: mov ecx,[ebx+28h] mov dword ptr [esp+18h],FFFFFFFFh mov [ecx+ebp*4],eax cmp word ptr [esi],0000h jnz L0046FC8B add esi,00000002h jmp L0046FCC3 L0046FC8B: add esi,00000002h L0046FC8E: mov ecx,edi call SUB_L0046BA40 mov ecx,[esp+24h] mov edx,esi sub edx,ecx shr eax,1 sar edx,1 cmp edx,eax jbe L0046FCB8 push 00000001h push SSZ00505CAC_NOT_ENOUGH_DATA__Check_string_co push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FCB8: mov ax,[esi] add esi,00000002h test ax,ax jnz L0046FC8E L0046FCC3: mov eax,[ebx+24h] inc ebp cmp ebp,eax jl L0046FC4C L0046FCCB: mov ebp,[esp+24h] mov ecx,edi sub esi,ebp sar esi,1 call SUB_L0046BA40 shr eax,1 cmp esi,eax jnc L0046FCF3 push 00000001h push SSZ00505C6C_TOO_MUCH_DATA__Check_string_coun push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FCF3: mov ecx,edi call SUB_L0046BA40 shr eax,1 cmp esi,eax jbe L0046FD13 push 00000001h push SSZ00505CAC_NOT_ENOUGH_DATA__Check_string_co push SSZ00505C90_LanguageSection__loadText_ mov ecx,edi call SUB_L0046B030 L0046FD13: mov ecx,[esp+10h] pop edi pop esi pop ebp mov al,01h mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0046FD30: mov eax,[ecx+24h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L0046FD40: mov edx,[ecx+44h] sub esp,00000008h push ebx push ebp xor ebp,ebp push esi test edx,edx push edi jz L0046FDDC mov ebx,[esp+1Ch] xor al,al mov dword ptr [esp+10h],00000000h mov [esp+14h],edx L0046FD66: mov esi,[esp+10h] mov edi,[ecx+24h] cmp esi,edi jge L0046FDB6 xor edi,edi test al,al jnz L0046FD9E mov edx,[edx] lea esi,[edx+08h] L0046FD7C: mov ebx,[edx+04h] cmp edi,ebx mov ebx,[esp+1Ch] jge L0046FD9E cmp ebx,[esi] jnz L0046FD96 mov eax,[edx] mov ebp,[ecx+28h] mov ebp,[ebp+eax*4+00h] mov al,01h L0046FD96: inc edi add esi,00000004h test al,al jz L0046FD7C L0046FD9E: mov edx,[esp+10h] inc edx mov [esp+10h],edx mov edx,[esp+14h] add edx,00000004h test al,al mov [esp+14h],edx jz L0046FD66 L0046FDB6: test ebp,ebp jnz L0046FDD0 mov al,[esp+20h] test al,al jnz L0046FDD0 L0046FDC2: push ebx push SSZ00505DA4_LanguageSection__getStr_string_n call SUB_L004C7EC0 add esp,00000008h L0046FDD0: pop edi mov eax,ebp pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0046FDDC: mov ebx,[esp+1Ch] test ebx,ebx jl L0046FE10 cmp ebx,[ecx+24h] jge L0046FE10 mov ecx,[ecx+28h] mov ebp,[ecx+ebx*4] test ebp,ebp jnz L0046FDD0 mov al,[esp+20h] test al,al jnz L0046FDB6 L0046FDFB: push ebx push SSZ00505D7C_C__publish004_src_LanguageSectio push SSZ00505D30_FILE__s__Function_LanguageSectio call SUB_L004C7EC0 add esp,0000000Ch jmp L0046FDC2 L0046FE10: mov al,[esp+20h] test al,al jnz L0046FDD0 mov edx,[ecx+24h] dec edx push edx push ebx push SSZ00505D7C_C__publish004_src_LanguageSectio push SSZ00505CD4_FILE__s__Function_LanguageSectio call SUB_L004C7EC0 add esp,00000010h jmp L0046FDFB Align 16 SUB_L0046FE40: push ebx push esi mov esi,ecx push edi mov eax,[esi+2Ch] test eax,eax jz L0046FE53 mov eax,[esi+30h] test eax,eax jnz L0046FE65 L0046FE53: push SSZ00505D7C_C__publish004_src_LanguageSectio push SSZ00505DDC_FILE__s__Function_LanguageSectio call SUB_L004C7EC0 add esp,00000008h L0046FE65: mov edx,[esi+24h] xor eax,eax test edx,edx jle L0046FE87 mov edi,[esi+2Ch] mov ecx,[esp+10h] L0046FE75: cmp [edi+eax*4],ecx jg L0046FE82 mov ebx,[esi+30h] cmp ecx,[ebx+eax*4] jle L0046FE99 L0046FE82: inc eax cmp eax,edx jl L0046FE75 L0046FE87: mov eax,[esp+14h] pop edi pop esi mov dword ptr [eax],FFFFFFFFh xor eax,eax pop ebx retn 0008h ;------------------------------------------------------------------------------ L0046FE99: mov ecx,[esp+14h] pop edi mov [ecx],eax mov edx,[esi+28h] pop esi mov eax,[edx+eax*4] pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0046FEB0: mov eax,00001020h call SUB_L004D4B90 mov al,[L00C83674] test al,al jnz L0047008F mov al,[L00C83675] push ebx push esi push edi test al,al jz L00470085 mov eax,[L00C83684] mov ebx,7F000001h test eax,eax jz L0046FEEE mov eax,[L00C83694] test eax,eax jnz L0046FEFE L0046FEEE: mov [L00C83684],ebx mov dword ptr [L00C83694],000070D8h L0046FEFE: mov eax,[L00C83688] test eax,eax jnz L0046FF48 mov edi,SSZ00505F08_Systran or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,SSZ00505F08_Systran or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L00C83688],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 L0046FF48: cmp [L00C83684],ebx jnz L00470071 mov al,[L00C83676] test al,al jz L0046FF73 mov al,01h pop edi pop esi mov [L00C83676],al mov [L00C83674],al pop ebx add esp,00001020h retn ;------------------------------------------------------------------------------ L0046FF73: push SSZ00505EE0_Ultima_Online_Local_Translation_ push 00000000h push 00000000h call [KERNEL32.dll!OpenMutexA] mov esi,eax push esi call [KERNEL32.dll!CloseHandle] test esi,esi jz L0046FFA5 mov al,01h pop edi pop esi mov [L00C83676],al mov [L00C83674],al pop ebx add esp,00001020h retn ;------------------------------------------------------------------------------ L0046FFA5: push SSZ00505ED0_TranServ_exe mov byte ptr [esp+30h],00h call SUB_L0047C110 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+30h] 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,[L00C83694] mov ecx,ebx and ecx,00000003h push eax rep movsb lea ecx,[esp+14h] push SSZ00505EC8__p__d push ecx call SUB_L004D512F push L007049FC call SUB_L0047C110 push eax lea edx,[esp+00000844h] push SSZ00505EC0__d__s push edx call SUB_L004D512F lea eax,[esp+0000084Ch] push 00000000h lea ecx,[esp+30h] push eax lea edx,[esp+54h] push ecx lea eax,[esp+58h] push edx push eax push 00000001h call SUB_L004D7221 add esp,00000038h cmp eax,FFFFFFFFh jz L00470059 mov [L00C83678],eax call SUB_L004704B0 mov al,01h pop edi pop esi mov [L00C83676],al mov [L00C83674],al pop ebx add esp,00001020h retn ;------------------------------------------------------------------------------ L00470059: xor al,al pop edi pop esi mov [L00C83676],al mov byte ptr [L00C83674],01h pop ebx add esp,00001020h retn ;------------------------------------------------------------------------------ L00470071: push 00000000h push SSZ00505E9C_LanguageTranslationServer__insta push SSZ00505E4C_currently_no_support_for_transla call SUB_L004D1020 add esp,0000000Ch L00470085: pop edi pop esi mov byte ptr [L00C83674],01h pop ebx L0047008F: add esp,00001020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004700A0: mov byte ptr [L00C83675],01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004700B0: mov al,[L00C83674] test al,al jz L004700C7 mov al,[L00C83675] test al,al jz L004700C7 jmp L00470560 L004700C7: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004700D0: mov al,[L00C83674] push ebx xor ebx,ebx cmp al,bl jz L00470125 cmp [L00C83676],bl jz L00470101 mov eax,[L00C83678] cmp eax,ebx jz L00470101 push ebx push eax call [KERNEL32.dll!TerminateProcess] mov [L00C83678],ebx mov [L00C83676],bl L00470101: mov eax,[L00C83688] cmp eax,ebx jz L00470113 push eax call SUB_L004D4F9E add esp,00000004h L00470113: mov [L00C83688],ebx mov [L00C8367C],bl mov [L00C83674],bl L00470125: pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00470130: mov ecx,[esp+04h] test ecx,ecx jnz L0047014C push ecx push SSZ00505F38_LanguageTranslationServer__setUs push SSZ00505F10___ul__not_setting_user_language_ call SUB_L004D1020 add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0047014C: xor eax,eax sub ecx,L00C8367C L00470154: mov dl,[ecx+eax+L00C8367C] mov [eax+L00C8367C],dl inc eax cmp eax,00000004h jl L00470154 mov byte ptr [L00C8367F],00h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00470170: mov eax,[esp+04h] mov [L00C83684],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L00470180: mov eax,[esp+04h] mov [L00C83694],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L00470190: mov eax,[L00C83688] test eax,eax jz L004701A2 push eax call SUB_L004D4F9E add esp,00000004h L004701A2: push esi mov esi,[esp+08h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [L00C83688],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 ;------------------------------------------------------------------------------ Align 16 SUB_L004701F0: mov ecx,[esp+04h] xor eax,eax sub ecx,L00505E2C L004701FC: mov dl,[ecx+eax+L00505E2C] mov [eax+L00505E2C],dl inc eax cmp eax,00000010h jl L004701FC mov byte ptr [L00505E3B],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00470220: mov eax,[esp+04h] mov cl,[eax] mov byte ptr [L00505E41],00h mov [L00505E40],cl retn ;------------------------------------------------------------------------------ Align 16 SUB_L00470240: mov eax,[esp+04h] mov cl,[eax] mov byte ptr [L00505E45],00h mov [L00505E44],cl retn ;------------------------------------------------------------------------------ Align 16 SUB_L00470260: push esi mov esi,[esp+08h] test esi,esi push edi jz L004702D8 mov al,[esi] test al,al jz L004702D8 movsx eax,al push eax call SUB_L004D5181 movsx ecx,[L00C8367C] push ecx mov edi,eax call SUB_L004D5181 add esp,00000008h cmp edi,eax jnz L004702AF movsx edx,[esi+01h] push edx call SUB_L004D5181 mov edi,eax movsx eax,[L00C8367D] push eax call SUB_L004D5181 add esp,00000008h cmp edi,eax jz L004702D8 L004702AF: mov ecx,esi xor eax,eax sub ecx,L00C83680 L004702B9: mov dl,[ecx+eax+L00C83680] mov [eax+L00C83680],dl inc eax cmp eax,00000004h jl L004702B9 pop edi mov byte ptr [L00C83683],00h mov al,01h pop esi retn ;------------------------------------------------------------------------------ L004702D8: pop edi xor al,al pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004702E0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3D8B push eax mov al,[L00C83674] mov fs:[00000000h],esp push ebx push esi xor ebx,ebx or esi,FFFFFFFFh cmp al,bl push edi jz L0047048E cmp [L00C83675],bl jz L0047048E cmp [L00C83676],bl jz L0047048E mov eax,L00C83680 test eax,eax jz L0047048E mov al,[L00C83680] cmp al,bl jz L0047048E movsx ecx,al push ecx call SUB_L004D5181 movsx edx,[L00C8367C] push edx mov edi,eax call SUB_L004D5181 add esp,00000008h cmp edi,eax jnz L00470382 movsx eax,[L00C83681] push eax call SUB_L004D5181 movsx ecx,[L00C8367D] push ecx mov edi,eax call SUB_L004D5181 add esp,00000008h cmp edi,eax jz L0047048E L00470382: xor eax,eax L00470384: inc eax cmp eax,00000004h jl L00470384 mov edi,[esp+20h] mov [L00C83683],bl cmp edi,ebx jz L0047048E push 0000002Ch call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi cmp esi,ebx mov [esp+14h],ebx jz L00470430 mov ecx,[esp+24h] lea edx,[esi+0Ch] lea eax,[esi+10h] push edi mov [edx],ebx mov edx,[esp+2Ch] mov [eax],ebx mov eax,[esp+30h] mov [esi+14h],ebx mov [esi+18h],ebx mov [esi+1Ch],ebx mov [esi+20h],ebx mov [esi+24h],bl mov [esi+28h],ebx mov [esi],ecx mov [esi+04h],edx mov [esi+08h],eax call SUB_L004C4300 lea ecx,[eax+eax+02h] push ecx call SUB_L004D4FA9 push edi push eax mov [esi+14h],eax call SUB_L004C4430 mov edi,[esp+2Ch] add esp,00000010h cmp edi,ebx jz L00470426 push edi call SUB_L004C4300 lea edx,[eax+eax+02h] push edx call SUB_L004D4FA9 push edi push eax mov [esi+1Ch],eax call SUB_L004C4430 add esp,00000010h L00470426: call SUB_L00470660 mov [esi+20h],eax jmp L00470432 L00470430: xor esi,esi L00470432: mov dword ptr [esp+14h],FFFFFFFFh xor eax,eax L0047043C: mov cl,[eax+L00C83680] mov [esi+eax+0Ch],cl inc eax cmp eax,00000004h jl L0047043C mov [esi+0Fh],bl xor eax,eax L00470451: mov dl,[eax+L00C8367C] mov [esi+eax+10h],dl inc eax cmp eax,00000004h jl L00470451 mov [esi+13h],bl mov eax,[L00C8369C] mov [esi+28h],eax mov ecx,esi mov [L00C8369C],esi call SUB_L00470690 mov eax,[esi+20h] mov ecx,[esp+0Ch] mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0047048E: mov ecx,[esp+0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004704B0: push FFFFFFFFh push L004E3DAB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L00C83690] test al,al jnz L00470544 push esi or esi,FFFFFFFFh L004704D3: mov ecx,[L00C83698] test ecx,ecx jz L004704EC cmp [ecx+04h],esi jnz L0047052F test ecx,ecx jz L004704EC mov eax,[ecx] push 00000001h call [eax] L004704EC: push 00000420h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L00470521 mov cx,[L00C83694] mov edx,[L00C83684] push ecx push edx mov ecx,eax call SUB_L004BA200 jmp L00470523 L00470521: xor eax,eax L00470523: mov ecx,eax mov [esp+10h],esi mov [L00C83698],ecx L0047052F: test ecx,ecx jz L004704EC call SUB_L004BA2F0 test al,al jz L004704D3 mov byte ptr [L00C83690],01h pop esi L00470544: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00470560: mov al,[L00C83690] push ebx test al,al push esi jz L00470659 mov ecx,[L00C83698] test ecx,ecx jz L00470659 call SUB_L004BA1C0 test eax,eax jle L00470659 mov eax,[L00C83698] mov esi,[L00C8369C] test esi,esi lea ebx,[eax+24h] jz L00470659 mov eax,[eax+18h] L004705A3: cmp [esi+20h],eax jz L004705B2 mov esi,[esi+28h] test esi,esi jnz L004705A3 pop esi pop ebx retn ;------------------------------------------------------------------------------ L004705B2: mov al,[esi+24h] test al,al jz L004705C6 push SSZ00505F68_LanguageTranslationServer__Packe call SUB_L004C7EF0 add esp,00000004h L004705C6: mov eax,[esi+18h] test eax,eax jz L004705DD push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi+18h],00000000h L004705DD: push edi push ebx call SUB_L004C4300 mov edi,eax mov eax,[esi+1Ch] add esp,00000004h inc edi test eax,eax jz L004705FE push eax call SUB_L004C4300 add esp,00000004h lea edi,[edi+eax+01h] L004705FE: lea eax,[edi+edi] push eax call SUB_L004D4FA9 mov [esi+18h],eax mov eax,[esi+1Ch] add esp,00000004h test eax,eax pop edi jz L00470630 mov edx,[esi+18h] mov ecx,eax push ecx push edx call SUB_L004C4430 mov eax,[esi+18h] push ebx push eax call SUB_L004C4550 add esp,00000010h jmp L0047063D L00470630: mov ecx,[esi+18h] push ebx push ecx call SUB_L004C4430 add esp,00000008h L0047063D: mov byte ptr [esi+24h],01h mov eax,[esi] test eax,eax jz L00470659 mov edx,[esi+1Ch] mov ecx,[esi+08h] push ebx push edx mov edx,[esi+04h] push ecx push edx call eax add esp,00000010h L00470659: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00470660: mov ecx,[L00505E48] mov eax,ecx inc ecx test eax,eax mov [L00505E48],ecx jg L0047068C push 00000000h push SSZ00505FE4_LanguageTranslationServer__Packe push SSZ00505FB0_Warning__Text_Id_has_wrapped__Re call SUB_L004D1020 add esp,0000000Ch mov eax,00000001h L0047068C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L00470690: push ecx mov al,[L00C83690] push ebx xor ebx,ebx push esi cmp al,bl mov esi,ecx jz L00470786 cmp [L00C83698],ebx jz L00470786 mov eax,[esi+14h] push ebp push edi push eax call SUB_L004C4300 lea edi,[eax+eax+02h] mov eax,[L00C836A0] add esp,00000004h cmp eax,ebx lea ebp,[edi+0Ch] jz L004706DF cmp ebp,[L00C836A4] jle L004706F3 push eax call SUB_L004D4F9E add esp,00000004h L004706DF: push ebp mov [L00C836A4],ebp call SUB_L004D4FA9 add esp,00000004h mov [L00C836A0],eax L004706F3: mov [eax],ebx mov ecx,[L00C836A0] mov eax,[esi+20h] mov [esp+13h],bl mov [ecx],eax mov dl,[esi+0Eh] lea eax,[esi+0Ch] mov [esp+12h],dl push eax call SUB_L0046E420 mov edx,[L00C836A0] mov [esp+14h],al mov [esp+15h],bl mov ecx,[esp+14h] mov [edx+04h],ecx mov al,[esi+12h] lea ecx,[esi+10h] mov [esp+16h],al push ecx mov [esp+1Bh],bl call SUB_L0046E420 mov edx,[L00C836A0] mov [esp+18h],al mov [esp+19h],bl mov eax,[esp+18h] mov [edx+08h],eax mov edx,[L00C836A0] mov esi,[esi+14h] mov ecx,edi mov eax,ecx lea edi,[edx+0Ch] shr ecx,02h rep movsd mov ecx,eax add esp,00000008h and ecx,00000003h rep movsb mov ecx,[L00C836A0] push ebp push ecx mov ecx,[L00C83698] call SUB_L004BA170 pop edi pop ebp L00470786: pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00470790: push FFFFFFFFh push L004E3E36 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+24h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004EE6D4 lea ecx,[esp+18h] mov dword ptr [ebp+08h],SSZ00506028_Login_gump lea edx,[esp+1Ch] mov [ebp+60h],ebx mov dword ptr [ebp+54h],0000044Ch mov dword ptr [ebp+00000098h],FFFFFFFFh mov [ebp+64h],ebx mov [ebp+0000009Ch],ebx mov eax,[L00C8604C] push ecx push edx push 00000A28h mov [esp+3Ch],ebx mov [ebp+000000A0h],eax mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov dword ptr [ebp+20h],00000280h mov dword ptr [ebp+24h],000001E0h mov [ebp+30h],ebx mov [ebp+34h],ebx call SUB_L004434A0 mov eax,[esp+28h] mov ecx,[esp+24h] add ecx,00000046h push SSZ004FFBCC_framedata_for_CDumbGump lea esi,[eax+000000A0h] push 00000008h mov [esp+24h],ecx mov [ebp+14h],ebx lea edx,[esi+14h] mov dword ptr [ebp+18h],00000001h mov [esp+28h],edx call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] shl ecx,1 mov edi,[edx+04h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx push ebx and ecx,00000003h rep stosb mov eax,[ebp+3Ch] mov edi,[esp+30h] mov ecx,[eax+04h] mov eax,[esp+38h] push ecx mov ecx,[esp+40h] lea edx,[eax+eax+000000FFh] push 00000A28h push edx lea edx,[ecx+ecx+00000140h] push edx mov edx,edi sub edx,eax mov eax,esi sub eax,ecx push edx push eax call SUB_L0042C610 push 000001CCh call SUB_L004D4FA9 add esp,0000003Ch mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],01h jz L0047094F push ebx push ebx push ebx push 0000034Fh push 00000002h push 00000010h push 00000002h push 0000001Eh push 00000140h add edi,FFFFFFF6h push ebp add esi,0000003Ch push edi push esi mov ecx,eax call SUB_L0042A340 mov edx,eax mov [esp+10h],edx jmp L00470955 L0047094F: mov [esp+10h],ebx mov edx,ebx L00470955: mov edi,SSZ00506014_Character_Selection or ecx,FFFFFFFFh xor eax,eax mov [edx+000000F4h],ebx repne scasb not ecx lea esi,[edx+000000F8h] sub edi,ecx mov eax,ecx mov [esp+20h],esi mov esi,edi mov edi,[esp+20h] shr ecx,02h rep movsd mov ecx,eax mov [esp+30h],bl and ecx,00000003h rep movsb mov esi,00000001h mov ecx,edx push esi push ebp mov [edx+000000BCh],ebx call SUB_L004587A0 mov edi,[esp+10h] mov ecx,edi mov edx,[edi] call [edx+00000174h] push 000001D0h mov dword ptr [edi+00000098h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],02h jz L00470A01 mov edi,[ebp+34h] push ebx push ebx push esi push 00000386h push 00000005h push 0000001Eh push ebx mov ecx,00000096h push 0000001Eh push 00000118h sub ecx,edi mov edi,[esp+38h] push ebp push ecx push edi mov ecx,eax call SUB_L00429680 jmp L00470A07 L00470A01: mov edi,[esp+14h] xor eax,eax L00470A07: push esi push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+000000B8h],eax call SUB_L004587A0 mov edx,[ebp+000000B8h] mov [edx+000000C0h],esi mov eax,[ebp+000000B8h] mov word ptr [eax+000001CEh],0023h mov ecx,[ebp+000000B8h] mov word ptr [ecx+000001CCh],02B8h mov edx,[ebp+000000B8h] mov byte ptr [edx+000000EEh],16h mov eax,[ebp+000000B8h] mov [eax+000000EFh],bl mov ecx,[ebp+000000B8h] mov [ecx+000000BCh],esi mov edx,[ebp+000000B8h] mov dword ptr [edx+00000098h],000186B7h mov ecx,[ebp+000000B8h] mov eax,[ecx] call [eax+00000174h] push 000001D0h mov dword ptr [ebp+000000A4h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],03h jz L00470AD5 mov edx,[ebp+34h] push ebx push ebx push esi push 00000386h push 00000005h push 0000001Eh push ebx mov ecx,000000BEh push 0000001Eh push 00000118h sub ecx,edx push ebp push ecx push edi mov ecx,eax call SUB_L00429680 jmp L00470AD7 L00470AD5: xor eax,eax L00470AD7: push esi push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+000000BCh],eax call SUB_L004587A0 mov edx,[ebp+000000BCh] mov [edx+000000C0h],esi mov eax,[ebp+000000BCh] mov word ptr [eax+000001CEh],0023h mov ecx,[ebp+000000BCh] mov word ptr [ecx+000001CCh],02B8h mov edx,[ebp+000000BCh] mov byte ptr [edx+000000EEh],16h mov eax,[ebp+000000BCh] mov [eax+000000EFh],bl mov ecx,[ebp+000000BCh] mov [ecx+000000BCh],esi mov edx,[ebp+000000BCh] mov dword ptr [edx+00000098h],000186B7h mov ecx,[ebp+000000BCh] mov eax,[ecx] call [eax+00000174h] push 000001D0h mov dword ptr [ebp+000000A8h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],04h jz L00470BA5 mov edx,[ebp+34h] push ebx push ebx push esi push 00000386h push 00000005h push 0000001Eh push ebx mov ecx,000000E6h push 0000001Eh push 00000118h sub ecx,edx push ebp push ecx push edi mov ecx,eax call SUB_L00429680 jmp L00470BA7 L00470BA5: xor eax,eax L00470BA7: push esi push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+000000C0h],eax call SUB_L004587A0 mov edx,[ebp+000000C0h] mov [edx+000000C0h],esi mov eax,[ebp+000000C0h] mov word ptr [eax+000001CEh],0023h mov ecx,[ebp+000000C0h] mov word ptr [ecx+000001CCh],02B8h mov edx,[ebp+000000C0h] mov byte ptr [edx+000000EEh],16h mov eax,[ebp+000000C0h] mov [eax+000000EFh],bl mov ecx,[ebp+000000C0h] mov [ecx+000000BCh],esi mov edx,[ebp+000000C0h] mov dword ptr [edx+00000098h],000186B7h mov ecx,[ebp+000000C0h] mov eax,[ecx] call [eax+00000174h] push 000001D0h mov dword ptr [ebp+000000ACh],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],05h jz L00470C75 mov edx,[ebp+34h] push ebx push ebx push esi push 00000386h push 00000005h push 0000001Eh push ebx mov ecx,0000010Eh push 0000001Eh push 00000118h sub ecx,edx push ebp push ecx push edi mov ecx,eax call SUB_L00429680 jmp L00470C77 L00470C75: xor eax,eax L00470C77: push esi push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+000000C4h],eax call SUB_L004587A0 mov edx,[ebp+000000C4h] mov [edx+000000C0h],esi mov eax,[ebp+000000C4h] mov word ptr [eax+000001CEh],0023h mov ecx,[ebp+000000C4h] mov word ptr [ecx+000001CCh],02B8h mov edx,[ebp+000000C4h] mov byte ptr [edx+000000EEh],0Bh mov eax,[ebp+000000C4h] mov [eax+000000EFh],bl mov ecx,[ebp+000000C4h] mov [ecx+000000BCh],esi mov edx,[ebp+000000C4h] mov dword ptr [edx+00000098h],000186B7h mov ecx,[ebp+000000C4h] mov eax,[ecx] call [eax+00000174h] push 000001D0h mov dword ptr [ebp+000000B0h],FFFFFFFFh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],06h jz L00470D45 mov edx,[ebp+34h] push ebx push ebx push esi push 00000386h push 00000005h push 0000001Eh push ebx mov ecx,00000136h push 0000001Eh push 00000118h sub ecx,edx push ebp push ecx push edi mov ecx,eax call SUB_L00429680 jmp L00470D47 L00470D45: xor eax,eax L00470D47: push esi push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+000000C8h],eax call SUB_L004587A0 mov edx,[ebp+000000C8h] mov [edx+000000C0h],esi mov eax,[ebp+000000C8h] mov word ptr [eax+000001CEh],0023h mov ecx,[ebp+000000C8h] mov word ptr [ecx+000001CCh],02B8h mov edx,[ebp+000000C8h] mov byte ptr [edx+000000EEh],16h mov eax,[ebp+000000C8h] mov [eax+000000EFh],bl mov ecx,[ebp+000000C8h] mov [ecx+000000BCh],esi mov edx,[ebp+000000C8h] mov dword ptr [edx+00000098h],000186B7h mov ecx,[ebp+000000C8h] mov eax,[ecx] call [eax+00000174h] mov ecx,[ebp+000000A0h] mov dword ptr [ebp+000000B4h],FFFFFFFFh mov edx,[ebp+ecx*4+000000B8h] mov [edx+000000E4h],esi mov eax,[ebp+000000A0h] mov ecx,[ebp+eax*4+000000B8h] mov edx,[ecx] call [edx+00000174h] push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],07h jz L00470E3D mov edx,[ebp+34h] push ebx push 0000159Fh push 0000159Dh push SUB_L0041F7B0 mov ecx,0000015Eh push ebx push ebx sub ecx,edx push ebp push ecx push edi mov ecx,eax call SUB_L00421F40 mov edi,eax jmp L00470E3F L00470E3D: xor edi,edi L00470E3F: push esi push ebp mov ecx,edi mov [esp+38h],bl mov dword ptr [edi+000000ACh],0000159Eh call SUB_L004587A0 push 000000ECh mov dword ptr [edi+00000098h],000186B9h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],08h jz L00470EAE mov ecx,[ebp+34h] push ebx push 0000159Ch mov edx,0000015Eh push 0000159Ah push L0041F860 sub edx,ecx mov ecx,[esp+24h] push ebx push ebx push ebp add ecx,000000DAh push edx push ecx mov ecx,eax call SUB_L00421F40 mov edi,eax jmp L00470EB0 L00470EAE: xor edi,edi L00470EB0: push esi push ebp mov ecx,edi mov [esp+38h],bl mov dword ptr [edi+000000ACh],0000159Bh call SUB_L004587A0 push 000000ECh mov dword ptr [edi+00000098h],000186B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],09h jz L00470F11 push ebx push 000015A6h push 000015A4h push SUB_L0041F4E0 push ebx push ebx push ebp push 000001BDh push 00000262h mov ecx,eax call SUB_L00421F40 jmp L00470F13 L00470F11: xor eax,eax L00470F13: mov [ebp+000000CCh],eax mov dword ptr [eax+000000ACh],000015A5h mov ecx,[ebp+000000CCh] push esi push ebp mov [esp+38h],bl call SUB_L004587A0 mov edx,[ebp+000000CCh] push 000000ECh mov dword ptr [edx+00000098h],000186BBh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],0Ah jz L00470F84 push ebx push 000015A3h push 000015A1h push SUB_L00421CF0 push ebx push ebx push ebp push 000001BDh push 0000024Ah mov ecx,eax call SUB_L00421F40 jmp L00470F86 L00470F84: xor eax,eax L00470F86: mov [ebp+000000D0h],eax mov dword ptr [eax+000000ACh],000015A2h mov ecx,[ebp+000000D0h] push esi push ebp mov [esp+38h],bl call SUB_L004587A0 mov eax,[ebp+000000D0h] push ebp mov dword ptr [eax+00000098h],000186BAh call SUB_L00430400 mov ecx,[esp+2Ch] add esp,00000004h mov eax,ebp mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 L00470FE0: push esi mov esi,ecx call SUB_L00471000 test byte ptr [esp+08h],01h jz L00470FF8 push esi call SUB_L004D4F9E add esp,00000004h L00470FF8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00471000: push FFFFFFFFh push L004E3E48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov edi,ecx mov [esp+0Ch],edi mov dword ptr [edi],L004EE6D4 mov dword ptr [esp+18h],00000000h lea esi,[edi+000000B8h] mov ebx,00000005h L00471038: mov ecx,[esi] test ecx,ecx jz L0047104A mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi],00000000h L0047104A: add esi,00000004h dec ebx jnz L00471038 mov ecx,[edi+3Ch] mov eax,[ecx+04h] test eax,eax jz L00471072 push SSZ00506044_Login_frame0_pBMP push eax call SUB_L00476000 mov edx,[edi+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L00471072: mov eax,[edi+3Ch] test eax,eax jz L0047108E push SSZ00506034_Login_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [edi+3Ch],00000000h L0047108E: mov ecx,edi mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004710B0: sub esp,00000028h push ebx push esi push edi mov edi,ecx mov eax,[edi+6Ch] test eax,eax jz L00471192 lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[edi+3Ch] mov eax,[esp+10h] mov ecx,[esp+0Ch] mov ebx,[esp+38h] mov esi,[edx+04h] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L00471192 lea edx,[esp+24h] lea eax,[esp+14h] push edx push eax push ebx call SUB_L00457DF0 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[L00B189FC] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+24h] push eax push ecx xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push edx push eax lea edx,[esp+48h] push ecx add esi,00000004h push edx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000034h test esi,esi jz L00471192 L0047117F: mov eax,[esi] lea ecx,[esp+24h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0047117F L00471192: pop edi pop esi pop ebx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 8 L004711A0: push esi push edi lea esi,[ecx+000000B8h] mov edi,00000005h L004711AD: mov ecx,[esi] mov eax,[ecx] call [eax+00000174h] add esi,00000004h dec edi jnz L004711AD push 00000000h call SUB_L004D0FB0 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004711D0: jmp SUB_L0041F4E0 Align 16 L004711E0: jmp L0041F6A0 Align 16 L004711F0: push esi mov esi,ecx push edi mov edi,[esp+0Ch] xor eax,eax mov edx,[esi+000000A0h] lea ecx,[esi+000000B8h] L00471206: cmp edi,[ecx] jnz L00471210 mov [esi+000000A0h],eax L00471210: inc eax add ecx,00000004h cmp eax,00000005h jl L00471206 cmp edx,[esi+000000A0h] jz L0047126D mov eax,[esi+edx*4+000000B8h] mov dword ptr [eax+000000E4h],00000000h mov ecx,[esi+edx*4+000000B8h] mov edx,[ecx] call [edx+00000174h] mov eax,[esi+000000A0h] mov ecx,[esi+eax*4+000000B8h] mov dword ptr [ecx+000000E4h],00000001h mov edx,[esi+000000A0h] mov ecx,[esi+edx*4+000000B8h] mov eax,[ecx] call [eax+00000174h] L0047126D: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L00471280: push esi mov esi,ecx mov ecx,[esp+08h] push edi mov eax,[esi] push ecx mov ecx,esi call [eax+5Ch] mov edx,[esi+000000A0h] or ecx,FFFFFFFFh xor eax,eax mov edi,[esi+edx*4+000000B8h] add edi,000000F8h repne scasb not ecx dec ecx mov ecx,esi jnz L004712BB call SUB_L0041F7B0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004712BB: call SUB_L0041F4E0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004712D0: retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004712E0: mov edx,[esp+04h] push ebx mov ebx,ecx push edi mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L0047139A mov eax,[ebx+0000009Ch] push ebp mov edi,edx or ecx,FFFFFFFFh mov ebp,[ebx+eax*4+000000B8h] xor eax,eax add ebp,000000F8h push esi 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 eax,[ebx+0000009Ch] mov ecx,[ebx+eax*4+000000B8h] mov dword ptr [ecx+00000098h],000186B6h mov edx,[ebx+0000009Ch] mov ecx,[ebx+edx*4+000000B8h] mov eax,[ecx] call [eax+00000174h] mov ecx,[ebx+0000009Ch] mov eax,[L00B294BC] pop esi pop ebp mov ecx,[ebx+ecx*4+000000B8h] cmp ecx,eax jnz L0047137C mov edx,[ecx] push 0000E023h call [edx+44h] L0047137C: mov eax,[ebx+0000009Ch] mov ecx,[esp+14h] mov [ebx+eax*4+000000A4h],ecx mov eax,[ebx+0000009Ch] inc eax mov [ebx+0000009Ch],eax L0047139A: pop edi pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004713A0: push ecx push ebp mov ebp,ecx xor ecx,ecx push esi mov eax,[ebp+0000009Ch] push edi test eax,eax mov [esp+0Ch],ecx jle L004713D0 mov esi,[esp+14h] lea edx,[ebp+000000A4h] L004713C0: cmp [edx],esi jz L004713CC inc ecx add edx,00000004h cmp ecx,eax jl L004713C0 L004713CC: mov [esp+0Ch],ecx L004713D0: cmp ecx,eax jz L004714C0 dec eax cmp ecx,eax jge L00471447 push ebx lea ebx,[ebp+ecx*4+000000B8h] L004713E5: mov edi,[ebx+04h] mov edx,[ebx] add edi,000000F8h or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h 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] mov dword ptr [ecx+00000098h],000186B7h mov ecx,[ebx] mov edx,[ecx] call [edx+00000174h] mov eax,[ebx-10h] mov [ebx-14h],eax mov eax,[esp+10h] mov ecx,[ebp+0000009Ch] inc eax add ebx,00000004h dec ecx cmp eax,ecx mov [esp+10h],eax jl L004713E5 pop ebx L00471447: mov edx,[ebp+0000009Ch] mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov edx,[ebp+edx*4+000000B4h] add edx,000000F8h 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+0000009Ch] mov ecx,[ebp+ecx*4+000000B4h] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+0000009Ch] mov dword ptr [ebp+eax*4+000000A0h],FFFFFFFFh mov eax,[ebp+0000009Ch] dec eax mov [ebp+0000009Ch],eax mov ecx,[ebp+eax*4+000000B8h] mov dword ptr [ecx+000000BCh],00000001h L004714C0: pop edi pop esi pop ebp pop ecx retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push L004714E0 call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 8 L004714E0: mov cl,[L00C837E0] mov al,01h test al,cl jnz L004714F4 or cl,al mov [L00C837E0],cl L004714F4: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00471500: mov cl,[L00C83804] mov eax,[L00C837F8] xor edx,edx cmp cl,dl jz L0047151E mov [L00C837B0],dl mov [L00C837AC],edx retn ;------------------------------------------------------------------------------ L0047151E: mov ecx,[esp+04h] cmp ecx,edx jle L0047152F L00471526: mov eax,[eax+000000E0h] dec ecx jnz L00471526 L0047152F: mov [L00C837FC],eax mov [L00C83800],edx mov byte ptr [L00C83804],01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00471550: mov al,[L00C837B0] push ebx xor ebx,ebx cmp al,bl jz L00471583 mov eax,[L00C837B8] mov ecx,[L00C837B4] inc eax cmp eax,ecx mov [L00C837B8],eax jle L00471609 mov [L00C837B8],ebx mov [L00C837B0],bl pop ebx retn ;------------------------------------------------------------------------------ L00471583: cmp [L00C83804],bl jz L00471609 mov eax,[L00C837AC] cmp eax,ebx jz L004715B6 inc eax cmp eax,00000064h mov [L00C837AC],eax jle L004715A5 mov [L00C837AC],ebx L004715A5: mov eax,[L00C88318] cmp eax,ebx jz L00471609 mov [L00C837AC],ebx pop ebx retn ;------------------------------------------------------------------------------ L004715B6: mov eax,[L00C83800] mov ecx,[L00C837FC] push eax push ecx call SUB_L00471610 add esp,00000008h test eax,eax jz L004715D7 inc [L00C83800] jmp L004715F3 L004715D7: mov eax,[L00C837A8] inc eax cmp eax,0000000Ah mov [L00C837A8],eax jle L004715F3 mov [L00C83804],bl mov [L00C837A8],ebx L004715F3: mov edx,[L00C837FC] mov eax,[L00C83800] cmp eax,[edx+14h] jl L00471609 mov [L00C83804],bl L00471609: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00471610: mov eax,fs:[00000000h] mov ecx,[esp+04h] push FFFFFFFFh push L004E3E98 push eax mov eax,[esp+14h] mov fs:[00000000h],esp sub esp,00000168h lea eax,[eax+eax*4] push esi push edi lea esi,[ecx+eax*4] mov eax,[ecx+eax*4+18h] dec eax cmp eax,00000023h ja CASE_00471E2C_PROC001D jmp [CASE_PROCTABLE_00471E2C+eax*4] CASE_00471E2C_PROC0000: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov esi,[esi+20h] push 00000000h L00471662: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx push esi call SUB_L004BD7D0 add esp,0000000Ch jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0001: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov esi,[esi+20h] push 00000002h jmp L00471662 CASE_00471E2C_PROC0002: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov esi,[esi+20h] push 00000008h jmp L00471662 CASE_00471E2C_PROC0003: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov esi,[esi+20h] push 00000009h jmp L00471662 CASE_00471E2C_PROC0004: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov ecx,[L00C884DC] mov eax,[ecx+00000208h] test eax,eax jz L004716F7 push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506128_Stopped_following_ call SUB_L004800A0 mov edx,[L00C884DC] mov dword ptr [edx+00000208h],00000000h L004716F7: mov eax,[esi+1Ch] push 00000001h push FFFFFFFFh push eax call SUB_L00479A90 add esp,0000000Ch jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0005: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D push FFFFFFFFh call SUB_L0047C780 add esp,00000004h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0006: call SUB_L004CF310 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0007: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov ecx,[esi+1Ch] push ecx call SUB_L00472D60 add esp,00000004h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0008: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov edx,[esi+1Ch] push edx call SUB_L00472F90 add esp,00000004h test eax,eax jz CASE_00471E2C_PROC001D mov edx,[eax] push 00000001h mov ecx,eax call [edx] jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0009: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[esi+1Ch] push eax call SUB_L00472F90 mov esi,[esi+1Ch] add esp,00000004h sub esi,00000009h jz L004717B3 dec esi jz L004717AC dec esi jnz L004717B8 mov eax,[L00B29068] jmp L004717B8 L004717AC: mov eax,[L00C87EC8] jmp L004717B8 L004717B3: mov eax,[L00B29470] L004717B8: test eax,eax jz CASE_00471E2C_PROC001D mov ecx,eax call SUB_L0041E070 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000A: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov ecx,[esi+1Ch] push ecx call SUB_L00472F90 mov esi,[esi+1Ch] add esp,00000004h sub esi,00000009h jz L00471801 dec esi jz L004717FA dec esi jnz L00471806 mov eax,[L00B29068] jmp L00471806 L004717FA: mov eax,[L00C87EC8] jmp L00471806 L00471801: mov eax,[L00B29470] L00471806: test eax,eax jz CASE_00471E2C_PROC001D mov ecx,eax call SUB_L0041E0F0 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000B: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D push L007049FC push 00000058h call SUB_L0047C940 add esp,00000008h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000C: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov edx,[esi+1Ch] push 00000000h push edx lea eax,[esp+30h] push SSZ004FF178__d__d push eax call SUB_L004D512F lea edi,[esp+38h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000088h] repne scasb not ecx dec ecx push ecx lea ecx,[esp+3Ch] push ecx push 00000024h push edx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000020h lea eax,[esp+78h] push eax call SUB_L004BC750 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000D: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C837D8] cmp eax,FFFFFFFFh jz CASE_00471E2C_PROC001D push 00000000h push eax lea ecx,[esp+18h] push SSZ004FF178__d__d push ecx call SUB_L004D512F lea edi,[esp+20h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+20h] repne scasb not ecx dec ecx lea eax,[esp+00000088h] push ecx push edx push 00000024h push eax call SUB_L00499CC0 add esp,00000020h lea ecx,[esp+78h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000E: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov edx,[esi+1Ch] lea eax,[esp+10h] inc edx push edx push L004FF074 push eax call SUB_L004D512F lea ecx,[esp+1Ch] push ecx push 00000056h call SUB_L0047C940 add esp,00000014h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC000F: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C837D4] cmp eax,FFFFFFFFh jz CASE_00471E2C_PROC001D inc eax lea edx,[esp+10h] push eax push L004FF074 push edx call SUB_L004D512F lea eax,[esp+1Ch] push eax push 00000056h call SUB_L0047C940 add esp,00000014h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0010: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C837D0] test eax,eax jz CASE_00471E2C_PROC001D push eax call SUB_L004843F0 add esp,00000004h test eax,eax jz CASE_00471E2C_PROC001D push eax call SUB_L00483E70 add esp,00000004h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0011: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov edi,L00506124 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx push L00506124 lea ecx,[esp+00000080h] push 000000C7h push ecx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+78h] push edx call SUB_L004BC750 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0012: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov edi,SSZ0050611C_salute or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[esp+78h] push ecx push SSZ0050611C_salute push 000000C7h push eax call SUB_L00499CC0 add esp,00000010h lea ecx,[esp+78h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0013: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00B294B8] test eax,eax jnz CASE_00471E2C_PROC001D push 000000ACh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+00000178h],00000000h jz L00471A97 push 00000000h push L004C1AA0 push L004207D0 push SSZ004FF2FC_Quit_________Ultima_Online_ mov ecx,eax call SUB_L0042FC60 jmp L00471A99 L00471A97: xor eax,eax L00471A99: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+00000180h],FFFFFFFFh call SUB_L004587A0 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0014: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D call SUB_L00473100 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0015: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C88318] test eax,eax jz L00471B8C mov eax,[L00C837F0] dec eax jz L00471B4D dec eax jz L00471B2E dec eax jnz L00471B7B mov dx,[L00C837EC] mov ax,[L00C837E8] mov cx,[L00C837E6] push edx mov dx,[L00C837E4] push eax push ecx push edx push 00000000h lea eax,[esp+24h] push 00000001h push eax call SUB_L0049B220 add esp,0000001Ch lea ecx,[esp+10h] push ecx jmp L00471B70 L00471B2E: mov dx,[L00C837E8] mov ax,[L00C837E6] mov cx,[L00C837E4] push 00000000h push edx push eax push ecx push 00000000h push 00000001h jmp L00471B5E L00471B4D: mov ecx,[L00C837DC] push 00000000h push 00000000h push 00000000h push 00000000h push ecx push 00000000h L00471B5E: lea edx,[esp+28h] push edx call SUB_L0049B220 add esp,0000001Ch lea eax,[esp+10h] push eax L00471B70: mov ecx,[L00C88300] call SUB_L004BC750 L00471B7B: call SUB_L0047BB90 mov byte ptr [L00C88324],00h jmp CASE_00471E2C_PROC001D L00471B8C: pop edi xor eax,eax pop esi mov ecx,[esp+00000168h] mov fs:[00000000h],ecx add esp,00000174h retn ;------------------------------------------------------------------------------ CASE_00471E2C_PROC0016: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C88318] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[L00C884DC] mov cx,[eax+3Ch] mov dx,[eax+28h] push ecx mov cx,[eax+26h] push edx mov dx,[eax+24h] mov eax,[eax+7Ch] push ecx push edx push eax lea ecx,[esp+24h] push 00000000h push ecx call SUB_L0049B220 add esp,0000001Ch lea edx,[esp+10h] push edx jmp L00471B70 CASE_00471E2C_PROC0017: mov eax,[L00C83640] test eax,eax jz CASE_00471E2C_PROC001D mov eax,[esi+1Ch] push eax call SUB_L00473220 add esp,00000004h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0018: mov dword ptr [L00C837AC],00000001h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0019: mov eax,[L00C837BC] test eax,eax jnz L00471C3B mov eax,[L00C88514] mov ecx,[eax+7Ch] mov [L00C837BC],ecx jmp L00471C7F L00471C3B: push eax call SUB_L004843F0 add esp,00000004h test eax,eax jnz L00471C5F mov edx,[L00C88514] mov eax,[edx+7Ch] push eax mov [L00C837BC],eax call SUB_L004843F0 add esp,00000004h L00471C5F: mov eax,[eax+000000C0h] test eax,eax jnz L00471C6E mov eax,[L00C88514] L00471C6E: mov eax,[eax+7Ch] push eax mov [L00C837BC],eax call SUB_L004843F0 add esp,00000004h L00471C7F: test eax,eax jnz L00471C98 push SSZ005060F0_There_are_no_mobiles_on_screen_t push 00000003h push eax call SUB_L004BDF40 add esp,0000000Ch jmp CASE_00471E2C_PROC001D L00471C98: mov ecx,[L00C837BC] push ecx call SUB_L004843F0 push eax call SUB_L004BD4B0 add esp,00000008h jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC001A: mov eax,[L00C837DC] cmp eax,FFFFFFFFh jnz L00471CD2 push SSZ005060D0_You_have_no_last_target_set_ push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch jmp CASE_00471E2C_PROC001D L00471CD2: lea edx,[esp+08h] push eax push edx call SUB_L00499B60 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+08h] push eax call SUB_L004BC750 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC001B: mov ecx,[esi+20h] push ecx call SUB_L004D59EB add esp,00000004h mov byte ptr [L00C837B0],01h mov dword ptr [L00C837B8],00000000h mov [L00C837B4],eax jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC001C: mov al,[L00C8C495] test al,al setz dl mov [L00C8C495],dl call SUB_L0040C940 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC001E: call SUB_L00455EB0 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC001F: mov al,[L00C8C490] push 000000ECh test al,al setz al mov [L00C8C490],al call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+00000178h],00000001h jz CASE_00471E2C_PROC001D mov cl,[L00C8C490] test cl,cl mov ecx,SSZ005060B8_Always_Run_is_now_on_ jnz L00471D87 mov ecx,SSZ005060A0_Always_Run_is_now_off_ L00471D87: push 00000000h push 00000000h push 00000003h push 00000000h push ecx jmp L00471E06 CASE_00471E2C_PROC0020: call SUB_L0045A2C0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+00000178h],00000002h jz CASE_00471E2C_PROC001D push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506088_Done_saving_desktop_ jmp L00471E06 CASE_00471E2C_PROC0022: call SUB_L0048FC60 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0023: call SUB_L0048FD00 jmp CASE_00471E2C_PROC001D CASE_00471E2C_PROC0021: call SUB_L0045D150 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+00000178h],00000003h jz CASE_00471E2C_PROC001D push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506068_Cancelled_opening_containers_ L00471E06: push 00000000h mov ecx,eax call SUB_L004110B0 CASE_00471E2C_PROC001D: mov ecx,[esp+00000170h] pop edi mov eax,00000001h pop esi mov fs:[00000000h],ecx add esp,00000174h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00471E2C: dd CASE_00471E2C_PROC0000 dd CASE_00471E2C_PROC0001 dd CASE_00471E2C_PROC0002 dd CASE_00471E2C_PROC0003 dd CASE_00471E2C_PROC0004 dd CASE_00471E2C_PROC0005 dd CASE_00471E2C_PROC0006 dd CASE_00471E2C_PROC0007 dd CASE_00471E2C_PROC0008 dd CASE_00471E2C_PROC0009 dd CASE_00471E2C_PROC000A dd CASE_00471E2C_PROC000B dd CASE_00471E2C_PROC000C dd CASE_00471E2C_PROC000D dd CASE_00471E2C_PROC000E dd CASE_00471E2C_PROC000F dd CASE_00471E2C_PROC0010 dd CASE_00471E2C_PROC0011 dd CASE_00471E2C_PROC0012 dd CASE_00471E2C_PROC0013 dd CASE_00471E2C_PROC0014 dd CASE_00471E2C_PROC0015 dd CASE_00471E2C_PROC0016 dd CASE_00471E2C_PROC0017 dd CASE_00471E2C_PROC0018 dd CASE_00471E2C_PROC0019 dd CASE_00471E2C_PROC001A dd CASE_00471E2C_PROC001B dd CASE_00471E2C_PROC001C dd CASE_00471E2C_PROC001D dd CASE_00471E2C_PROC001E dd CASE_00471E2C_PROC001F dd CASE_00471E2C_PROC0020 dd CASE_00471E2C_PROC0021 dd CASE_00471E2C_PROC0022 dd CASE_00471E2C_PROC0023 Align 8 SUB_L00471EC0: sub esp,0000021Ch mov eax,[L00CC1C20] push ebx push ebp push esi xor esi,esi push edi cmp eax,esi mov [esp+14h],esi mov [L00C837F4],esi jz L00471EE4 call SUB_L004253C0 L00471EE4: push L00500F54 push SSZ0050613C_keynames_txt call SUB_L0043FEF0 mov ebp,eax add esp,00000008h cmp ebp,esi jz L00471FCC mov dword ptr [esp+10h],L00C8380C L00471F08: mov al,[ebp+0Ch] xor ebx,ebx test al,10h mov esi,L00C836A8 jnz L00471F6A L00471F16: push ebp call SUB_L004D72D0 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00471F39 cmp ebx,0000000Dh jz L00471F39 cmp ebx,FFFFFFFFh jz L00471F33 mov [esi],bl inc esi L00471F33: test byte ptr [ebp+0Ch],10h jz L00471F16 L00471F39: test byte ptr [ebp+0Ch],10h jnz L00471F6A cmp ebx,0000000Ah jz L00471F49 cmp ebx,0000000Dh jnz L00471F6A L00471F49: push ebp call SUB_L004D72D0 add esp,00000004h cmp eax,ebx jz L00471F60 cmp eax,0000000Ah jz L00471F6A cmp eax,0000000Dh jz L00471F6A L00471F60: push ebp push eax call SUB_L004D7239 add esp,00000008h L00471F6A: mov edi,L00C836A8 or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esi],00h repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,L00C836A8 or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov ebx,[esp+10h] 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 [esp+10h],ebx and ecx,00000003h cmp ebx,L00C83970 rep movsb jl L00471F08 push ebp call SUB_L00440570 add esp,00000004h jmp L00471FDA L00471FCC: mov ecx,00000059h xor eax,eax mov edi,L00C8380C rep stosd L00471FDA: mov esi,L007049FC mov eax,L00705058 L00471FE4: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047200C test cl,cl jz L00472008 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047200C add eax,00000002h add esi,00000002h test cl,cl jnz L00471FE4 L00472008: xor eax,eax jmp L00472011 L0047200C: sbb eax,eax sbb eax,FFFFFFFFh L00472011: test eax,eax jz L004720BF mov esi,L007049FC mov eax,L00C880F8 L00472023: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047204B test cl,cl jz L00472047 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047204B add eax,00000002h add esi,00000002h test cl,cl jnz L00472023 L00472047: xor eax,eax jmp L00472050 L0047204B: sbb eax,eax sbb eax,FFFFFFFFh L00472050: test eax,eax jz L004720BF mov eax,[L00506058] lea ecx,[esp+24h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+3Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000140h] repne scasb not ecx sub edi,ecx push L00501200 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+00000144h] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000020h test esi,esi mov [esp+10h],esi jnz L004720DF L004720BF: push L00501200 push SSZ0050605C_macros_txt call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi mov [esp+10h],esi jz L00472280 L004720DF: mov eax,[esi+0Ch] and eax,00000010h jnz L00472277 L004720EB: xor ebx,ebx mov edi,L00C836A8 test eax,eax jnz L00472119 L004720F6: push esi call SUB_L004D72D0 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00472119 cmp ebx,0000000Dh jz L00472119 cmp ebx,FFFFFFFFh jz L00472113 mov [edi],bl inc edi L00472113: test byte ptr [esi+0Ch],10h jz L004720F6 L00472119: test byte ptr [esi+0Ch],10h jnz L0047214A cmp ebx,0000000Ah jz L00472129 cmp ebx,0000000Dh jnz L0047214A L00472129: push esi call SUB_L004D72D0 add esp,00000004h cmp eax,ebx jz L00472140 cmp eax,0000000Ah jz L0047214A cmp eax,0000000Dh jz L0047214A L00472140: push esi push eax call SUB_L004D7239 add esp,00000008h L0047214A: mov byte ptr [edi],00h mov edi,L00C836A8 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00472265 mov edi,L00C836A8 or ecx,FFFFFFFFh repne scasb not ecx lea edi,[ecx+L00C836A6] mov ecx,00000003h L00472179: mov al,[edi] cmp al,30h jz L0047218B L0047217F: cmp al,31h jz L0047218B mov al,[edi-01h] dec edi cmp al,30h jnz L0047217F L0047218B: dec edi dec ecx jnz L00472179 mov byte ptr [edi],00h inc edi xor ebp,ebp mov edx,L00C8380C L0047219A: mov eax,[edx] test eax,eax jz L004721D6 mov esi,L00C836A8 L004721A5: mov bl,[eax] mov cl,bl cmp bl,[esi] jnz L004721C9 test cl,cl jz L004721C5 mov bl,[eax+01h] mov cl,bl cmp bl,[esi+01h] jnz L004721C9 add eax,00000002h add esi,00000002h test cl,cl jnz L004721A5 L004721C5: xor eax,eax jmp L004721CE L004721C9: sbb eax,eax sbb eax,FFFFFFFFh L004721CE: test eax,eax jz L0047228B L004721D6: add edx,00000004h inc ebp cmp edx,L00C83970 jl L0047219A mov eax,[esp+10h] mov eax,[eax+0Ch] and eax,00000010h jnz L00472265 L004721EE: cmp byte ptr [L00C836A8],23h jz L00472265 mov edi,[esp+10h] xor ebx,ebx test eax,eax mov esi,L00C836A8 jnz L00472229 L00472206: push edi call SUB_L004D72D0 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00472229 cmp ebx,0000000Dh jz L00472229 cmp ebx,FFFFFFFFh jz L00472223 mov [esi],bl inc esi L00472223: test byte ptr [edi+0Ch],10h jz L00472206 L00472229: test byte ptr [edi+0Ch],10h jnz L0047225A cmp ebx,0000000Ah jz L00472239 cmp ebx,0000000Dh jnz L0047225A L00472239: push edi call SUB_L004D72D0 add esp,00000004h cmp eax,ebx jz L00472250 cmp eax,0000000Ah jz L0047225A cmp eax,0000000Dh jz L0047225A L00472250: push edi push eax call SUB_L004D7239 add esp,00000008h L0047225A: mov byte ptr [esi],00h mov eax,[edi+0Ch] and eax,00000010h jz L004721EE L00472265: mov ecx,[esp+10h] mov esi,ecx mov eax,[ecx+0Ch] and eax,00000010h jz L004720EB L00472277: push esi call SUB_L00440570 add esp,00000004h L00472280: pop edi pop esi pop ebp pop ebx add esp,0000021Ch retn ;------------------------------------------------------------------------------ L0047228B: push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov esi,eax push 00000001h push ebp call [USER32.dll!MapVirtualKeyA] mov [esi],eax mov eax,[esp+14h] shl ebp,10h test eax,eax mov [esi+04h],ebp mov dword ptr [esi+000000E0h],00000000h jnz L004722C5 mov [L00C837F8],esi jmp L004722CB L004722C5: mov [eax+000000E0h],esi L004722CB: mov ebp,[L00C837F4] push L004FE9F8 inc ebp push edi mov [esp+1Ch],esi mov [L00C837F4],ebp call SUB_L004D563E lea edx,[esp+28h] push edx push L004FF074 push eax call SUB_L004D592C push L004FE9F8 push 00000000h call SUB_L004D563E lea ecx,[esp+34h] push ecx push L004FF074 push eax call SUB_L004D592C push L004FE9F8 push 00000000h call SUB_L004D563E lea edx,[esp+4Ch] push edx push L004FF074 push eax call SUB_L004D592C mov ebp,[esp+5Ch] add esp,0000003Ch xor eax,eax test ebp,ebp setnz al mov [esi+08h],eax mov ebx,[esp+18h] xor ecx,ecx mov eax,[esp+10h] test ebx,ebx setnz cl mov [esi+0Ch],ecx mov edi,[esp+1Ch] xor edx,edx mov dword ptr [esi+14h],00000000h test edi,edi setnz dl mov [esi+10h],edx mov eax,[eax+0Ch] and eax,00000010h jnz L00472265 L00472373: cmp byte ptr [L00C836A8],23h jz L00472265 mov edi,[esp+10h] xor ebx,ebx test eax,eax mov ebp,L00C836A8 jnz L004723B3 L0047238F: push edi call SUB_L004D72D0 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L004723B3 cmp ebx,0000000Dh jz L004723B3 cmp ebx,FFFFFFFFh jz L004723AD mov [ebp+00h],bl inc ebp L004723AD: test byte ptr [edi+0Ch],10h jz L0047238F L004723B3: test byte ptr [edi+0Ch],10h jnz L004723E4 cmp ebx,0000000Ah jz L004723C3 cmp ebx,0000000Dh jnz L004723E4 L004723C3: push edi call SUB_L004D72D0 add esp,00000004h cmp eax,ebx jz L004723DA cmp eax,0000000Ah jz L004723E4 cmp eax,0000000Dh jz L004723E4 L004723DA: push edi push eax call SUB_L004D7239 add esp,00000008h L004723E4: mov byte ptr [ebp+00h],00h mov al,[edi+0Ch] test al,10h jnz L00472417 cmp byte ptr [L00C836A8],23h jz L00472417 mov eax,[esi+14h] lea ecx,[eax+eax*4] lea edx,[esi+ecx*4+18h] push edx push L00C836A8 call SUB_L00472760 mov eax,[esi+14h] add esp,00000008h inc eax mov [esi+14h],eax L00472417: mov eax,[edi+0Ch] and eax,00000010h jz L00472373 jmp L00472265 Align 16 SUB_L00472430: sub esp,000002A8h push ebx mov ebx,[L00C837F8] push ebp push esi push edi mov edi,L007049FC mov esi,L00705058 L0047244A: mov cl,[esi] mov dl,[edi] mov al,cl cmp cl,dl jnz L00472472 test al,al jz L0047246E mov dl,[esi+01h] mov cl,[edi+01h] mov al,dl cmp dl,cl jnz L00472472 add esi,00000002h add edi,00000002h test al,al jnz L0047244A L0047246E: xor eax,eax jmp L00472477 L00472472: sbb eax,eax sbb eax,FFFFFFFFh L00472477: test eax,eax jz L0047252B mov edi,L007049FC mov esi,L00C880F8 L00472489: mov cl,[esi] mov dl,[edi] mov al,cl cmp cl,dl jnz L004724B1 test al,al jz L004724AD mov dl,[esi+01h] mov cl,[edi+01h] mov al,dl cmp dl,cl jnz L004724B1 add esi,00000002h add edi,00000002h test al,al jnz L00472489 L004724AD: xor eax,eax jmp L004724B6 L004724B1: sbb eax,eax sbb eax,FFFFFFFFh L004724B6: test eax,eax jz L0047252B mov eax,[L00506058] lea ecx,[esp+000000B0h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+000000C8h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+000001CCh] repne scasb not ecx sub edi,ecx push L005061AC mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+000001D0h] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000020h test esi,esi mov [esp+10h],esi jnz L00472556 L0047252B: push L005061AC push SSZ0050605C_macros_txt call SUB_L0043FEF0 add esp,00000008h mov [esp+10h],eax test eax,eax jnz L00472552 push SSZ0050616C_CApp__SaveMacros__cannot_open_fi call SUB_L004C7E80 add esp,00000004h L00472552: mov esi,[esp+10h] L00472556: test ebx,ebx jz L00472607 L0047255E: mov eax,[ebx+04h] lea edx,[esp+18h] push 00000014h and eax,BFFFFFFFh push edx push eax call [USER32.dll!GetKeyNameTextA] mov ecx,[ebx+10h] mov edx,[ebx+0Ch] mov eax,[ebx+08h] push ecx push edx lea ecx,[esp+20h] push eax push ecx push SSZ0050615C__s__d__d__d_ push esi call SUB_L004D571D mov eax,[ebx+14h] add esp,00000018h xor ebp,ebp test eax,eax jle L004725EB lea edx,[ebx+18h] mov [esp+14h],edx L004725A3: mov esi,[esp+14h] lea eax,[esp+30h] push eax mov ecx,00000005h sub esp,00000014h mov edi,esp rep movsd call SUB_L00472620 mov edx,[esp+28h] lea ecx,[esp+48h] push ecx push L00506158 push edx call SUB_L004D571D mov ecx,[esp+38h] mov eax,[ebx+14h] add esp,00000024h inc ebp add ecx,00000014h cmp ebp,eax mov [esp+14h],ecx jl L004725A3 mov esi,[esp+10h] L004725EB: push SSZ0050614C__________ push esi call SUB_L004D571D mov ebx,[ebx+000000E0h] add esp,00000008h test ebx,ebx jnz L0047255E L00472607: push esi call SUB_L00440570 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,000002A8h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00472620: mov edx,[esp+04h] push ebx push ebp push esi push edi mov edi,[L00511418+edx*4] or ecx,FFFFFFFFh xor eax,eax repne scasb mov ebx,[esp+28h] 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,L004FE9F8 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea eax,[edx-01h] and ecx,00000003h cmp eax,0000001Bh rep movsb ja CASE_00472720_PROC0006 xor ecx,ecx mov cl,[eax+CASE_0047273C] jmp [CASE_PROCTABLE_00472720+ecx*4] CASE_00472720_PROC0001: mov eax,[esp+18h] mov edi,[L004FF720+eax*4] jmp L004726F3 CASE_00472720_PROC0002: mov eax,[esp+18h] mov edi,[L004FF744+eax*4] jmp L004726F3 CASE_00472720_PROC0003: mov eax,[esp+18h] lea edi,[eax+eax*4] shl edi,04h add edi,L00CC3C68 jmp L004726F3 CASE_00472720_PROC0004: mov eax,[esp+18h] push eax mov eax,[L005073E0+eax*8] push eax call SUB_L00416BB0 add esp,00000008h mov edi,eax jmp L004726F3 CASE_00472720_PROC0005: cmp dword ptr [esp+18h],00000001h jnz L004726E8 mov edi,SSZ005061BC_LeftHand jmp L004726F3 L004726E8: mov edi,SSZ005061B0_RightHand jmp L004726F3 CASE_00472720_PROC0000: mov edi,[esp+1Ch] L004726F3: 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_00472720_PROC0006: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00472720: dd CASE_00472720_PROC0000 dd CASE_00472720_PROC0001 dd CASE_00472720_PROC0002 dd CASE_00472720_PROC0003 dd CASE_00472720_PROC0004 dd CASE_00472720_PROC0005 dd CASE_00472720_PROC0006 CASE_0047273C: db 00h, 00h, 00h, 00h, 01h, 06h, 06h, 02h, 02h, 02h, 02h, 06h, 03h, 06h, 04h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 05h, 06h, 06h, 06h, 00h Align 16 SUB_L00472760: sub esp,00000080h xor eax,eax push ebx mov ebx,[esp+0000008Ch] push ebp push esi mov [ebx],eax mov [ebx+04h],eax mov [ebx+08h],eax mov [ebx+0Ch],eax mov [ebx+10h],eax mov eax,[esp+00000090h] push edi push L004FE9F8 push eax call SUB_L004D563E mov ecx,[L00511414] mov edi,00000001h add esp,00000008h cmp ecx,edi jl L004727FC mov ebp,L0051141C L004727AA: mov esi,[ebp+00h] mov ecx,eax L004727AF: mov bl,[ecx] mov dl,bl cmp bl,[esi] jnz L004727D3 test dl,dl jz L004727CF mov bl,[ecx+01h] mov dl,bl cmp bl,[esi+01h] jnz L004727D3 add ecx,00000002h add esi,00000002h test dl,dl jnz L004727AF L004727CF: xor ecx,ecx jmp L004727D8 L004727D3: sbb ecx,ecx sbb ecx,FFFFFFFFh L004727D8: test ecx,ecx jz L004727F3 mov ecx,[L00511414] inc edi add ebp,00000004h cmp edi,ecx jle L004727AA mov ebx,[esp+00000098h] jmp L004727FC L004727F3: mov ebx,[esp+00000098h] mov [ebx],edi L004727FC: mov eax,[ebx] test eax,eax jz CASE_00472C9C_PROC0006 dec eax cmp eax,0000001Bh ja CASE_00472C9C_PROC0006 xor ecx,ecx mov cl,[eax+CASE_00472CB8] jmp [CASE_PROCTABLE_00472C9C+ecx*4] CASE_00472C9C_PROC0000: push L004FE9F8 push 00000000h call SUB_L004D563E mov edx,eax mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea ebp,[esp+10h] 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 test edx,edx rep movsb jz L004728D5 L0047285A: lea edi,[esp+10h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00472896 mov edi,L004FE9F8 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebp,[esp+10h] mov esi,edi mov edi,ebp mov ebp,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb L00472896: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea ebp,[esp+10h] repne scasb not ecx sub edi,ecx push L004FE9F8 mov esi,edi mov edx,ecx mov edi,ebp 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_L004D563E mov edx,eax add esp,00000008h test edx,edx jnz L0047285A L004728D5: lea edi,[esp+10h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax lea edi,[esp+14h] 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 ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_00472C9C_PROC0001: push L004FE9F8 push 00000000h call SUB_L004D563E add esp,00000008h xor ebp,ebp mov edi,L004FF720 L00472932: mov esi,[edi] mov ecx,eax L00472936: mov bl,[ecx] mov dl,bl cmp bl,[esi] jnz L0047295A test dl,dl jz L00472956 mov bl,[ecx+01h] mov dl,bl cmp bl,[esi+01h] jnz L0047295A add ecx,00000002h add esi,00000002h test dl,dl jnz L00472936 L00472956: xor ecx,ecx jmp L0047295F L0047295A: sbb ecx,ecx sbb ecx,FFFFFFFFh L0047295F: test ecx,ecx jnz L0047296D mov ecx,[esp+00000098h] mov [ecx+04h],ebp L0047296D: add edi,00000004h inc ebp cmp edi,L004FF740 jl L00472932 pop edi pop esi pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_00472C9C_PROC0002: push L004FE9F8 push 00000000h call SUB_L004D563E mov ecx,[L004FF744] add esp,00000008h xor ebp,ebp test ecx,ecx jz CASE_00472C9C_PROC0006 mov ecx,L004FF744 mov edi,ecx L004729AA: mov esi,[ecx] mov ecx,eax L004729AE: mov bl,[ecx] mov dl,bl cmp bl,[esi] jnz L004729D2 test dl,dl jz L004729CE mov bl,[ecx+01h] mov dl,bl cmp bl,[esi+01h] jnz L004729D2 add ecx,00000002h add esi,00000002h test dl,dl jnz L004729AE L004729CE: xor ecx,ecx jmp L004729D7 L004729D2: sbb ecx,ecx sbb ecx,FFFFFFFFh L004729D7: test ecx,ecx jnz L004729E5 mov edx,[esp+00000098h] mov [edx+04h],ebp L004729E5: mov edx,[edi+04h] add edi,00000004h inc ebp mov ecx,edi test edx,edx jnz L004729AA pop edi pop esi pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_00472C9C_PROC0003: push L004FE9F8 push 00000000h call SUB_L004D563E mov edx,eax mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea ebp,[esp+10h] 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 test edx,edx rep movsb jz L00472AB3 L00472A38: lea edi,[esp+10h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00472A74 mov edi,L004FE9F8 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebp,[esp+10h] mov esi,edi mov edi,ebp mov ebp,ecx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb L00472A74: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea ebp,[esp+10h] repne scasb not ecx sub edi,ecx push L004FE9F8 mov esi,edi mov edx,ecx mov edi,ebp 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_L004D563E mov edx,eax add esp,00000008h test edx,edx jnz L00472A38 L00472AB3: mov eax,[L00CC1C20] xor edi,edi test eax,eax jle CASE_00472C9C_PROC0006 mov ebp,L00CC3C68 L00472AC7: mov esi,ebp lea eax,[esp+10h] L00472ACD: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L00472AF1 test cl,cl jz L00472AED mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L00472AF1 add eax,00000002h add esi,00000002h test cl,cl jnz L00472ACD L00472AED: xor eax,eax jmp L00472AF6 L00472AF1: sbb eax,eax sbb eax,FFFFFFFFh L00472AF6: test eax,eax jnz L00472AFD mov [ebx+04h],edi L00472AFD: mov eax,[L00CC1C20] inc edi add ebp,00000050h cmp edi,eax jl L00472AC7 pop edi pop esi pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_00472C9C_PROC0004: push L004FE9F8 push 00000000h call SUB_L004D563E mov edx,eax mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add esp,00000008h lea ebx,[esp+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 test edx,edx rep movsb jz L00472BCB L00472B50: lea edi,[esp+10h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L00472B8C mov edi,L004FE9F8 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea ebx,[esp+10h] mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb L00472B8C: mov edi,edx or ecx,FFFFFFFFh xor eax,eax lea ebx,[esp+10h] repne scasb not ecx sub edi,ecx push L004FE9F8 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_L004D563E mov edx,eax add esp,00000008h test edx,edx jnz L00472B50 L00472BCB: mov edi,[L005073E0] or ecx,FFFFFFFFh xor eax,eax xor ebx,ebx repne scasb not ecx dec ecx jz CASE_00472C9C_PROC0006 mov edx,L005073E0 mov ebp,edx L00472BEA: mov eax,[edx] push ebx push eax call SUB_L00416BB0 add esp,00000008h mov esi,eax lea ecx,[esp+10h] L00472BFC: mov dl,[ecx] mov al,dl cmp dl,[esi] jnz L00472C20 test al,al jz L00472C1C mov dl,[ecx+01h] mov al,dl cmp dl,[esi+01h] jnz L00472C20 add ecx,00000002h add esi,00000002h test al,al jnz L00472BFC L00472C1C: xor eax,eax jmp L00472C25 L00472C20: sbb eax,eax sbb eax,FFFFFFFFh L00472C25: test eax,eax jnz L00472C33 mov eax,[esp+00000098h] mov [eax+04h],ebx L00472C33: mov edi,[ebp+08h] add ebp,00000008h or ecx,FFFFFFFFh xor eax,eax inc ebx mov edx,ebp repne scasb not ecx dec ecx jnz L00472BEA pop edi pop esi pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_00472C9C_PROC0005: push L004FE9F8 push 00000000h call SUB_L004D563E add esp,00000008h test eax,eax jz L00472C8A push SSZ005061BC_LeftHand push eax call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L00472C8A pop edi pop esi mov dword ptr [ebx+04h],00000001h pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L00472C8A: mov dword ptr [ebx+04h],00000002h CASE_00472C9C_PROC0006: pop edi pop esi pop ebp pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00472C9C: dd CASE_00472C9C_PROC0000 dd CASE_00472C9C_PROC0001 dd CASE_00472C9C_PROC0002 dd CASE_00472C9C_PROC0003 dd CASE_00472C9C_PROC0004 dd CASE_00472C9C_PROC0005 dd CASE_00472C9C_PROC0006 CASE_00472CB8: db 00h, 00h, 00h, 00h, 01h, 06h, 06h, 02h, 02h, 02h, 02h, 06h, 03h, 06h, 04h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 05h, 06h, 06h, 06h, 00h Align 16 SUB_L00472CE0: push ebx push esi mov esi,[esp+0Ch] xor ebx,ebx push edi mov edi,L00C836A8 test byte ptr [esi+0Ch],10h jnz L00472D48 L00472CF4: push esi call SUB_L004D72D0 mov ebx,eax add esp,00000004h cmp ebx,0000000Ah jz L00472D17 cmp ebx,0000000Dh jz L00472D17 cmp ebx,FFFFFFFFh jz L00472D11 mov [edi],bl inc edi L00472D11: test byte ptr [esi+0Ch],10h jz L00472CF4 L00472D17: test byte ptr [esi+0Ch],10h jnz L00472D48 cmp ebx,0000000Ah jz L00472D27 cmp ebx,0000000Dh jnz L00472D48 L00472D27: push esi call SUB_L004D72D0 add esp,00000004h cmp eax,ebx jz L00472D3E cmp eax,0000000Ah jz L00472D48 cmp eax,0000000Dh jz L00472D48 L00472D3E: push esi push eax call SUB_L004D7239 add esp,00000008h L00472D48: mov byte ptr [edi],00h pop edi pop esi mov eax,L00C836A8 pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00472D60: mov eax,[esp+04h] sub esp,00000150h cmp eax,0000000Bh ja L00472F4D jmp [CASE_PROCTABLE_00472F54+eax*4] CASE_00472F54_PROC0000: push 00000000h push 00000000h push 00001388h push 00000000h call SUB_L00458810 add esp,00000010h add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0001: mov eax,[L00C884DC] lea edx,[esp+00h] mov ecx,[eax+7Ch] or ecx,80000000h push ecx push edx call SUB_L00499850 mov ecx,[L00C88300] add esp,00000008h lea eax,[esp+00h] push eax call SUB_L004BC750 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0002: mov ecx,[L00C884DC] push 00000000h push 00000000h push 00000008h push ecx call SUB_L00458810 mov edx,[L00C884DC] lea ecx,[esp+18h] mov eax,[edx+7Ch] push eax push 00000004h push ecx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000001Ch lea edx,[esp+08h] push edx call SUB_L004BC750 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0003: push 00000000h push 00000000h push 00000007h push 00000000h call SUB_L00458810 add esp,00000010h add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0004: mov eax,[L00C884DC] lea edx,[esp+08h] mov ecx,[eax+7Ch] push ecx push 00000005h push edx call SUB_L0049A530 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+08h] push eax call SUB_L004BC750 push 00000001h call SUB_L004B91A0 add esp,00000004h add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0005: push 00000000h push L007049FC lea ecx,[esp+60h] push 00000043h push ecx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+58h] push edx call SUB_L004BC750 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0006: mov ecx,[L00B2948C] test ecx,ecx jz L00472E9E push 00000000h call SUB_L004584E0 add esp,00000150h retn ;------------------------------------------------------------------------------ L00472E9E: mov eax,[L00C88300] test eax,eax jz L00472F4D cmp dword ptr [eax+04h],FFFFFFFFh jz L00472F4D lea eax,[esp+18h] push L00D1A680 push eax call SUB_L00432140 add esp,00000008h lea ecx,[esp+18h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0007: mov edx,[L00C884DC] mov eax,[edx+0000011Ch] test eax,eax jz L00472F4D mov eax,[eax+7Ch] lea ecx,[esp+00h] push eax push ecx call SUB_L00499850 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+00h] push edx call SUB_L004BC750 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0008: push 00000000h push 00000000h push 00001392h push 00000000h call SUB_L00458810 add esp,00000010h add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC0009: call SUB_L0045B1F0 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC000A: call SUB_L0049F7B0 add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_00472F54_PROC000B: call SUB_L0049F6F0 L00472F4D: add esp,00000150h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00472F54: dd CASE_00472F54_PROC0000 dd CASE_00472F54_PROC0001 dd CASE_00472F54_PROC0002 dd CASE_00472F54_PROC0003 dd CASE_00472F54_PROC0004 dd CASE_00472F54_PROC0005 dd CASE_00472F54_PROC0006 dd CASE_00472F54_PROC0007 dd CASE_00472F54_PROC0008 dd CASE_00472F54_PROC0009 dd CASE_00472F54_PROC000A dd CASE_00472F54_PROC000B Align 16 SUB_L00472F90: push esi mov esi,[L00B294DC] test esi,esi push edi jz L004730C8 mov edi,[esp+0Ch] L00472FA4: cmp edi,0000000Ah ja L004730BD jmp [CASE_PROCTABLE_004730D4+edi*4] CASE_004730D4_PROC0000: mov eax,[esi] mov ecx,esi call [eax+00000100h] test eax,eax jnz L004730CD mov edx,[esi] mov ecx,esi call [edx+00000104h] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0001: mov eax,[esi] mov ecx,esi call [eax+00000090h] test eax,eax jz L004730BD mov ecx,[esi+38h] mov eax,[L00C884DC] cmp ecx,eax jz L004730CD jmp L004730BD CASE_004730D4_PROC0002: mov edx,[esi] mov ecx,esi call [edx+000000E8h] test eax,eax jz L004730BD mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jz L004730CD jmp L004730BD CASE_004730D4_PROC0003: mov edx,[esi] mov ecx,esi call [edx+000000D0h] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0004: mov eax,[esi] mov ecx,esi call [eax+000000F0h] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0005: mov edx,[esi] mov ecx,esi call [edx+00000118h] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0006: mov eax,[esi] mov ecx,esi call [eax+000000ACh] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0007: mov edx,[esi] mov ecx,esi call [edx+000000CCh] test eax,eax jz L004730BD mov ecx,[L00C884DC] mov eax,[esi+38h] cmp eax,[ecx+0000011Ch] jz L004730CD jmp L004730BD CASE_004730D4_PROC0008: mov edx,[esi] mov ecx,esi call [edx+00000158h] test eax,eax jnz L004730CD jmp L004730BD CASE_004730D4_PROC0009: mov eax,[esi] mov ecx,esi call [eax+000000C0h] test eax,eax jnz L004730CD CASE_004730D4_PROC000A: mov edx,[esi] mov ecx,esi call [edx+00000094h] test eax,eax jnz L004730CD L004730BD: mov esi,[esi+40h] test esi,esi jnz L00472FA4 L004730C8: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004730CD: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004730D4: dd CASE_004730D4_PROC0000 dd CASE_004730D4_PROC0001 dd CASE_004730D4_PROC0002 dd CASE_004730D4_PROC0003 dd CASE_004730D4_PROC0004 dd CASE_004730D4_PROC0005 dd CASE_004730D4_PROC0006 dd CASE_004730D4_PROC0007 dd CASE_004730D4_PROC0008 dd CASE_004730D4_PROC0009 dd CASE_004730D4_PROC000A SUB_L00473100: sub esp,00000008h push esi mov esi,[L00C88514] test esi,esi jz L00473199 L00473112: test byte ptr [esi+0000009Ch],80h jnz L0047318B cmp word ptr [esi+3Ch],0000h jz L0047318B cmp esi,[L00C884DC] jz L0047318B mov eax,[L0051A760] mov ecx,[esi+10h] cmp ecx,eax jl L0047318B call SUB_L00447080 mov edx,[L0051A760] mov ecx,[esi+08h] add eax,edx cmp ecx,eax jg L0047318B mov ecx,[esi+14h] mov eax,[L0051A75C] cmp ecx,eax jl L0047318B call SUB_L00447090 mov edx,[L0051A75C] mov ecx,[esi+0Ch] add eax,edx cmp ecx,eax jg L0047318B mov edx,[esi+7Ch] lea eax,[esp+04h] push edx push eax call SUB_L00499DB0 add esp,00000008h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0047318B: mov esi,[esi+000000C0h] test esi,esi jnz L00473112 L00473199: mov esi,[L00C8850C] test esi,esi jz L0047321A L004731A3: mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L00473210 mov eax,[esi+10h] mov ecx,[L0051A760] cmp eax,ecx jl L00473210 call SUB_L00447080 mov edx,[L0051A760] mov ecx,[esi+08h] add eax,edx cmp ecx,eax jg L00473210 mov ecx,[esi+14h] mov eax,[L0051A75C] cmp ecx,eax jl L00473210 call SUB_L00447090 mov edx,[L0051A75C] mov ecx,[esi+0Ch] add eax,edx cmp ecx,eax jg L00473210 mov edx,[esi+7Ch] lea eax,[esp+04h] push edx push eax call SUB_L00499DB0 add esp,00000008h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L00473210: mov esi,[esi+00000084h] test esi,esi jnz L004731A3 L0047321A: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00473220: mov eax,[L00C83808] sub esp,00000020h push ebx xor ebx,ebx push ebp push esi cmp eax,ebx push edi jz L0047324A push SSZ00506238_You_must_wait_to_perform_another push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L0047324A: mov ebp,[esp+34h] xor al,al cmp ebp,00000002h mov dword ptr [L00C83808],00000016h jnz L00473266 mov edi,00000001h jmp L00473274 L00473266: cmp ebp,00000001h jnz L00473412 mov edi,00000002h L00473274: mov esi,[L00C837C0+ebp*4] mov ecx,[L00C884DC] cmp esi,ebx jnz L004732AA cmp [ecx+edi*4+000000C8h],ebx jz L00473292 mov al,01h jmp L004732B3 L00473292: push SSZ00506204_You_must_first_disarm_a_weapon_i push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004732AA: cmp esi,FFFFFFFFh jz L0047335E L004732B3: cmp [ecx+edi*4+000000C8h],ebx jnz L0047335E cmp al,bl jnz L0047335E push esi call SUB_L004843F0 add esp,00000004h cmp eax,ebx jz L00473302 mov cx,[eax+3Ch] mov [L00C88520],cx mov dx,[eax+42h] mov [L00C88528],dx mov cx,[eax+40h] mov [L00C8852A],cx mov dl,[eax+0000009Ch] mov [L00C88522],dl L00473302: push ebx lea eax,[esp+14h] push esi push eax mov [L00C88534],ebx mov [L00C88530],ebx call SUB_L00499BE0 add esp,0000000Ch lea ecx,[esp+10h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov edx,[L00C884DC] lea ecx,[esp+1Ch] mov eax,[edx+7Ch] push eax push edi push esi push ecx call SUB_L00499E30 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+1Ch] push edx call SUB_L004BC750 pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L0047335E: mov eax,[ecx+edi*4+000000C8h] mov ecx,[ecx+0000011Ch] cmp eax,ebx jz L00473422 cmp ecx,ebx jz L00473422 mov edi,[ecx+7Ch] mov cx,[eax+3Ch] mov esi,[eax+7Ch] mov [L00C88520],cx mov dx,[eax+42h] push ebx mov [L00C88528],dx mov cx,[eax+40h] mov [L00C8852A],cx mov dl,[eax+0000009Ch] lea eax,[esp+14h] push esi push eax mov [L00C88522],dl mov [L00C88534],ebx mov [L00C88530],ebx call SUB_L00499BE0 add esp,0000000Ch lea ecx,[esp+10h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 push edi push ebx push 0000FFFFh push 0000FFFFh lea edx,[esp+2Ch] push esi push edx call SUB_L00499680 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+1Ch] push eax call SUB_L004BC750 mov [L00C837C0+ebp*4],esi pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L00473412: push SSZ005061C8_You_must_select_the_right_or_lef push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch L00473422: pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00473430: push FFFFFFFFh push L004E3EB8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi call SUB_L00458F30 xor ebx,ebx push SSZ0050627C_CMapGump__CMapGump____begin__ mov [esp+18h],ebx mov dword ptr [esi],L004EE848 call SUB_L004C7F20 mov dword ptr [esi+08h],SSZ004FF27C_map_gump mov [esi+60h],ebx push SSZ00506264_framedata_for_CMapGump mov [esi+000000ACh],ebx push 00000008h mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000A0h],ebx mov [esi+000000B4h],ebx mov [esi+000000B0h],ebx mov [esi+0000009Ch],ebx mov [esi+74h],ebx mov [esi+70h],ebx mov [esi+000000BCh],ebx mov [esi+000000B8h],ebx mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+000000D4h],ebx mov [esi+000000D0h],ebx mov [esi+000000CCh],ebx mov [esi+000000C8h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+38h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 xor ecx,ecx add esp,0000000Ch mov [esi+3Ch],eax mov [eax],ecx mov [eax+04h],ecx push 00000001h push ebx mov ecx,esi mov [esi+24h],ebx mov [esi+20h],ebx mov [esi+1Ch],ebx mov [esi+000000DCh],ebx mov [esi+000000E0h],ebx call SUB_L004587A0 cmp [L005000FC],bl jz L0047353A call SUB_L00474D40 L0047353A: mov ecx,[esp+0Ch] mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L00473550: push esi mov esi,ecx call SUB_L00473570 test byte ptr [esp+08h],01h jz L00473568 push esi call SUB_L004D4F9E add esp,00000004h L00473568: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00473570: push FFFFFFFFh push L004E3ED8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EE848 push SSZ0050629C_CMapGump___CMapGump___ mov dword ptr [esp+14h],00000000h call SUB_L004C7F50 add esp,00000004h mov ecx,esi mov dword ptr [esi+000000DCh],00000000h mov dword ptr [esi+000000E0h],00000000h mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004735E0: push esi push edi mov edi,[esp+0Ch] test edi,edi jl L0047360E mov esi,[esp+10h] test esi,esi jl L0047360E call SUB_L00447080 cmp edi,eax jge L0047360E call SUB_L00447090 cmp esi,eax jge L0047360E pop edi mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L0047360E: pop edi xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00473620: push ebx push ebp push esi push edi mov esi,ecx call SUB_L00456C40 mov ecx,[L0070503C] mov edi,00000001h test ecx,ecx jz L0047365F mov eax,[L00705040] test eax,eax jz L0047365F cmp [ecx+0000014Ch],edi jnz L004736A0 call SUB_L0041D780 mov eax,[L0070503C] mov dword ptr [eax+0000014Ch],00000000h L0047365F: mov ebx,[esp+18h] mov ebp,[esp+14h] push ebx push ebp call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L004736FF mov eax,[esi+000000B4h] mov [esi+000000A8h],edi cmp eax,edi jnz L004736AC mov dword ptr [esi+000000B4h],00000002h mov [esi+70h],ebp mov [esi+74h],ebx pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004736A0: call SUB_L00401E90 pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004736AC: mov [esi+000000B4h],edi call [KERNEL32.dll!GetTickCount] push ebx push ebp mov [esi+000000B0h],eax call SUB_L00482500 mov edi,eax add esp,00000008h test edi,edi jz L004736EF mov edx,[edi] mov ecx,edi call [edx+2Ch] test eax,eax jz L004736EF mov eax,[edi+7Ch] mov [esi+70h],ebp mov [esi+0000009Ch],eax mov [esi+74h],ebx pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004736EF: mov dword ptr [esi+0000009Ch],00000000h mov [esi+70h],ebp mov [esi+74h],ebx L004736FF: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00473710: push ebx mov ebx,[esp+08h] push esi push edi mov edi,[esp+14h] mov esi,ecx push edi push ebx call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L004737DB mov eax,[esi+000000A0h] push ebp xor ebp,ebp cmp eax,ebp mov [esi+000000A8h],ebp jz L00473750 mov [esi+000000A0h],ebp mov [esi+000000B4h],ebp jmp L004737CB L00473750: mov eax,[esi+000000B4h] cmp eax,00000002h jnz L004737A6 mov eax,[esi+0000009Ch] mov [esi+000000B4h],ebp cmp eax,ebp jz L00473792 push eax call SUB_L004843F0 add esp,00000004h cmp eax,ebp jnz L00473782 push edi push ebx call SUB_L00482500 add esp,00000008h L00473782: push eax mov ecx,esi call SUB_L004742A0 mov [esi+0000009Ch],ebp jmp L004737CB L00473792: push edi push ebx call SUB_L00482500 add esp,00000008h mov ecx,esi push eax call SUB_L004742A0 jmp L004737CB L004737A6: cmp [esi+000000ACh],ebp jnz L004737B2 cmp eax,ebp jz L004737BC L004737B2: call SUB_L004766B0 cmp eax,00000013h jnz L004737CB L004737BC: push edi push ebx mov ecx,esi mov [esi+000000B4h],ebp call SUB_L00473F80 L004737CB: push ebp mov [esi+000000ACh],ebp call SUB_L00476670 add esp,00000004h pop ebp L004737DB: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004737F0: push ebx mov ebx,[esp+08h] push esi push edi mov edi,[esp+14h] mov esi,ecx push edi push ebx call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L00473857 mov eax,[esi+000000C4h] mov dword ptr [esi+000000B8h],00000001h test eax,eax jbe L0047382B mov dword ptr [esi+000000C4h],00000002h jmp L00473841 L0047382B: mov dword ptr [esi+000000C4h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000C0h],eax L00473841: mov [esi+000000C8h],ebx mov [esi+000000CCh],edi mov dword ptr [esi+000000BCh],00000001h L00473857: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00473860: push ebx mov ebx,[esp+08h] push esi push edi mov edi,[esp+14h] mov esi,ecx push edi push ebx call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L0047390D mov [esi+000000B8h],eax mov eax,[esi+000000C4h] cmp eax,00000002h jnz L004738A9 push edi push ebx mov ecx,esi mov dword ptr [esi+000000C4h],00000000h call SUB_L00474630 pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L004738A9: mov ecx,[esi+000000BCh] test ecx,ecx jz L004738EE test eax,eax jnz L004738EE cmp dword ptr [L00C85358],00000001h jz L0047390D mov eax,[L00C85368] mov ecx,[L00C8536C] cmp eax,ecx jl L0047390D push FFFFFFFFh push 00000000h mov dword ptr [esi+000000BCh],00000000h call SUB_L00476CC0 add esp,00000004h push eax call SUB_L00479970 add esp,00000008h L004738EE: mov ecx,[L00C852E0] test ecx,ecx jz L0047390D mov edx,[ecx] call [edx+000000A8h] test eax,eax jnz L0047390D push eax call SUB_L00476670 add esp,00000004h L0047390D: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00473920: push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+000000DCh] test eax,eax jz L00473955 mov ecx,[eax+04h] push 00000107h push SSZ005064C0_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00473955 mov dword ptr [esi+000000DCh],00000000h L00473955: mov edi,[esp+18h] mov ebx,[esp+14h] push edi push ebx call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L00473B20 mov eax,[L00C88318] test eax,eax jz L0047397C push 00000013h jmp L0047397E L0047397C: push 00000000h L0047397E: call SUB_L004766D0 add esp,00000004h mov [esi+000000D0h],ebx mov [esi+000000D4h],edi push edi push ebx call SUB_L00482500 mov edx,[L00C884DC] mov edi,eax add esp,00000008h mov ebp,edi mov eax,[edx+00000154h] test eax,eax jnz L004739BD mov eax,[L00C88318] test eax,eax jz L00473A9E L004739BD: test edi,edi jz L004739CE mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jnz L004739CE xor edi,edi L004739CE: cmp edi,[L00C884DC] jnz L004739D8 xor edi,edi L004739D8: mov ebx,[esi+000000DCh] cmp edi,ebx jz L00473A9E test ebx,ebx mov [esi+000000DCh],edi jz L00473A39 mov ecx,[ebx+04h] push 0000012Dh push SSZ005064C0_C__publish004_client_src_shared_ push ecx push ebx call SUB_L00476020 add esp,00000010h test al,al jnz L00473A1A push SSZ0050644C_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h jmp L00473A39 L00473A1A: mov edx,[ebx] mov ecx,ebx call [edx+24h] test eax,eax jnz L00473A32 push SSZ0050641C_CMapGump__HandleMouseMove____tmp call SUB_L004C7EF0 add esp,00000004h L00473A32: mov ecx,ebx call SUB_L004045B0 L00473A39: mov eax,[esi+000000DCh] test eax,eax jz L00473A9E mov ecx,[eax+04h] push 0000013Bh push SSZ005064C0_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00473A77 push SSZ0050639C_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h mov dword ptr [esi+000000DCh],00000000h jmp L00473A9E L00473A77: mov ecx,[esi+000000DCh] mov edx,[ecx] call [edx+24h] test eax,eax jnz L00473A93 push SSZ00506368_CMapGump__HandleMouseMove____onM call SUB_L004C7EF0 add esp,00000004h L00473A93: mov ecx,[esi+000000DCh] call SUB_L004045B0 L00473A9E: test ebp,ebp jz L00473ABC mov eax,[ebp+00h] mov ecx,ebp call [eax+2Ch] test eax,eax jz L00473ABA mov edx,[ebp+00h] mov ecx,ebp call [edx+5Ch] test eax,eax jnz L00473ABC L00473ABA: xor ebp,ebp L00473ABC: mov eax,[esi+000000E0h] test eax,eax jz L00473AF8 mov ecx,[eax+04h] push 00000151h push SSZ005064C0_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00473AF8 push SSZ005062B4_CMapGump__HandleMouseMove__eithe call SUB_L004C7EF0 add esp,00000004h mov dword ptr [esi+000000E0h],00000000h L00473AF8: mov ecx,[esi+000000E0h] cmp ebp,ecx jz L00473B20 test ecx,ecx mov [esi+000000E0h],ebp jz L00473B11 call SUB_L004045B0 L00473B11: mov ecx,[esi+000000E0h] test ecx,ecx jz L00473B20 call SUB_L004045B0 L00473B20: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00473B30: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000DCh] cmp eax,edi jz L00473BC9 mov ecx,[eax+04h] push 00000167h push SSZ005064C0_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 mov ecx,[esi+000000DCh] mov eax,DDDDDDDDh add esp,00000010h cmp [ecx+18h],eax jnz L00473B80 push SSZ005066C8_CMapGump__HandleMouseMoveAway__o call SUB_L004C7EF0 add esp,00000004h mov [esi+000000DCh],edi jmp L00473BC9 L00473B80: cmp [ecx+1Ch],eax jnz L00473B9A push SSZ0050661C_CMapGump__HandleMouseMoveAway__o call SUB_L004C7EF0 add esp,00000004h mov [esi+000000DCh],edi jmp L00473BC9 L00473B9A: cmp ecx,edi jz L00473BB4 mov edx,[ecx] call [edx+24h] test eax,eax jnz L00473BB4 push SSZ005065E4_CMapGump__HandleMouseMoveAway___ call SUB_L004C7EF0 add esp,00000004h L00473BB4: mov ecx,[esi+000000DCh] mov [esi+000000DCh],edi cmp ecx,edi jz L00473BC9 call SUB_L004045B0 L00473BC9: mov eax,[esi+000000E0h] cmp eax,edi jz L00473C36 mov ecx,[eax+04h] push 00000188h push SSZ005064C0_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00473C01 push SSZ0050652C_CMapGump__HandleMouseMoveAway__e call SUB_L004C7EF0 add esp,00000004h mov [esi+000000E0h],edi L00473C01: mov ecx,[esi+000000E0h] cmp ecx,edi jz L00473C21 mov edx,[ecx] call [edx+2Ch] test eax,eax jnz L00473C21 push SSZ005064F4_CMapGump__HandleMouseMoveAway___ call SUB_L004C7EF0 add esp,00000004h L00473C21: mov ecx,[esi+000000E0h] mov [esi+000000E0h],edi cmp ecx,edi jz L00473C36 call SUB_L004045B0 L00473C36: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L00473C40: push ebx mov ebx,[esp+0Ch] push esi push edi mov edi,[esp+10h] push ebx mov esi,ecx push edi call SUB_L004BCED0 add esp,00000008h test eax,eax jnz L00473D07 mov eax,[esi+000000B8h] test eax,eax jz L00473CA5 mov eax,[esi+000000C4h] test eax,eax jbe L00473CA5 mov edx,[esi+000000C8h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00473C9B mov edx,[esi+000000CCh] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00473CA5 L00473C9B: mov dword ptr [esi+000000C4h],00000000h L00473CA5: mov eax,[esi+000000A8h] test eax,eax jz L00473CFB mov eax,[esi+000000B4h] test eax,eax jbe L00473CFB mov ecx,[esi+70h] mov eax,edi sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L00473CDB mov edx,[esi+74h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L00473CFB L00473CDB: mov eax,[esi+74h] mov dword ptr [esi+000000A0h],00000001h push eax push ecx mov ecx,esi mov dword ptr [esi+000000B4h],00000000h call SUB_L00474440 L00473CFB: mov [esi+000000D0h],edi mov [esi+000000D4h],ebx L00473D07: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L00473D10: push ebx push esi push edi mov esi,ecx call SUB_L004BCED0 test eax,eax jnz L00473DD1 mov eax,[esi+000000B8h] xor ebx,ebx cmp eax,ebx jnz L00473D36 cmp [esi+000000BCh],ebx jz L00473D51 L00473D36: push FFFFFFFFh push 00000001h mov [esi+000000BCh],ebx call SUB_L00476CC0 add esp,00000004h push eax call SUB_L00479970 add esp,00000008h L00473D51: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] cmp dword ptr [esi+000000C4h],00000001h jnz L00473D7C mov edx,[esi+000000C0h] mov ecx,edi sub ecx,edx cmp ecx,eax jbe L00473D7C mov [esi+000000C4h],ebx L00473D7C: cmp dword ptr [esi+000000B4h],00000001h jnz L00473DD1 sub edi,[esi+000000B0h] cmp edi,eax jbe L00473DD1 mov eax,[esi+000000A8h] mov [esi+000000B4h],ebx cmp eax,ebx mov [esi+0000009Ch],ebx jnz L00473DB8 mov edx,[esi+74h] mov eax,[esi+70h] push edx push eax mov ecx,esi call SUB_L00473F80 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00473DB8: mov ecx,[esi+74h] mov edx,[esi+70h] push ecx push edx mov ecx,esi mov dword ptr [esi+000000A0h],00000001h call SUB_L00474440 L00473DD1: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00473DE0: mov eax,[L00C8C4F8] sub esp,00000204h test eax,eax push ebx push ebp push esi push edi jz L00473EE2 cmp dword ptr [L00C8536C],00000003h jge L00473EE2 mov ebx,[L00C8C500] mov ecx,[ebx+10h] mov [L00C8C4F4],ecx mov edx,[ebx+14h] mov [L00C8C4F0],edx mov ebp,[ebx+1Ch] mov [L00C8C4E8],ebp mov edi,[ebx+28h] test edi,edi jnz L00473E42 mov [L00C8C4F8],edi call SUB_L004A0040 pop edi pop esi pop ebp pop ebx add esp,00000204h retn ;------------------------------------------------------------------------------ L00473E42: mov eax,[edi+10h] or esi,FFFFFFFFh sub eax,ecx mov ecx,[edi+14h] sub ecx,edx xor edx,edx L00473E51: cmp [L005072B8+edx*4],eax jnz L00473E63 cmp [L005072E0+edx*4],ecx jz L00473E6B L00473E63: inc edx cmp edx,00000008h jl L00473E51 jmp L00473E6D L00473E6B: mov esi,edx L00473E6D: cmp esi,ebp jnz L00473E79 mov ebx,edi mov [L00C8C500],ebx L00473E79: push esi push ecx mov [ebx+1Ch],esi push eax mov eax,[L00C8C500] mov ecx,[eax+14h] mov edx,[eax+10h] mov eax,[L00C884DC] push ecx push edx movsx ecx,[eax+26h] movsx edx,[eax+24h] push ecx push edx lea eax,[esp+30h] push SSZ00506774_At___d___d___Going_to___d___d___ push eax call SUB_L004D512F add esp,00000024h cmp esi,FFFFFFFFh jz L00473EE2 mov eax,[L00C884DC] lea ecx,[esp+10h] push ecx push esi movsx edx,[eax+28h] movsx ecx,[eax+26h] push edx push ecx movsx edx,[eax+24h] push edx call SUB_L004794B0 inc esi push 00000001h and esi,00000007h push FFFFFFFFh push esi call SUB_L00479A90 add esp,00000020h L00473EE2: pop edi pop esi pop ebp pop ebx add esp,00000204h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00473EF0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3EFB push eax mov al,[L00C88307] mov fs:[00000000h],esp cmp al,01h jz L00473F63 mov eax,[esp+10h] push 000000ACh mov [L00C83984],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+08h],00000000h jz L00473F4E push 00000000h push L00421870 push L00421840 push SSZ005067AC_This_may_flag_you_criminal_ mov ecx,eax call SUB_L0042FC60 jmp L00473F50 L00473F4E: xor eax,eax L00473F50: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004587A0 L00473F63: mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00473F80: sub esp,00000008h push ebx push esi xor ebx,ebx mov eax,[L00C88318] cmp eax,ebx jz L00474076 cmp [L00C88328],ebx jz L00474076 cmp [L00C87E7C],ebx jnz L00474076 mov ecx,[L00C8831C] mov edx,[esp+14h] xor eax,eax cmp ecx,00000001h mov ecx,[esp+18h] setnz al push eax push ecx push edx call SUB_L00408640 mov esi,eax mov al,[L0050CC2D] add esp,0000000Ch cmp al,bl jz L00474055 cmp esi,ebx jz L00474055 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00474055 mov al,[L00C88324] cmp al,bl jz L00474055 cmp al,01h jnz L00474007 mov edx,[esi] mov ecx,esi call [edx+000000A4h] test al,al jz L00474019 mov al,[L00C88324] L00474007: cmp al,02h jnz L00474055 mov eax,[esi] mov ecx,esi call [eax+000000A8h] test al,al jnz L00474055 L00474019: mov [L00C88318],ebx push ebx mov [L00C88324],bl call SUB_L004D0FB0 mov ecx,[L00B189F8] add esp,00000004h mov [ecx+000000DCh],ebx mov ecx,esi call SUB_L004045B0 mov edx,[esi+7Ch] push edx call SUB_L00473EF0 add esp,00000004h pop esi pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L00474055: push esi call [L00C88328] add esp,00000004h cmp esi,ebx jz L004741C7 mov ecx,esi call SUB_L004045B0 pop esi pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L00474076: mov eax,[esp+18h] mov ecx,[esp+14h] push eax push ecx call SUB_L00482500 mov esi,eax add esp,00000008h cmp esi,ebx jz L004741C7 push ebp push edi mov edi,[USER32.dll!GetAsyncKeyState] push 00000012h call edi push 00000011h mov ebp,eax call edi pop edi test ebp,00008000h pop ebp jz L0047417E test ah,80h jnz L0047417E mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0047417E mov ecx,[L00C884DC] cmp esi,ecx jnz L0047411F mov eax,[ecx+00000208h] push ebx push ebx cmp eax,ebx push 00000003h push ebx jz L004740EA push SSZ00506128_Stopped_following_ jmp L004740EF L004740EA: push SSZ005067D8_Not_following_ L004740EF: call SUB_L004800A0 mov eax,[L00C884DC] mov [eax+00000208h],ebx mov eax,[L00C8C4F8] cmp eax,ebx jz L004741C7 call SUB_L004A0040 mov [L00C8C4F8],ebx pop esi pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0047411F: push ebx push ebx push 00000003h push ebx push SSZ005067C8_Now_following_ call SUB_L004800A0 mov ecx,[L00C884DC] mov dword ptr [ecx+00000208h],00000001h mov eax,[L00C884DC] mov edx,[esi+7Ch] mov [eax+0000020Ch],edx mov eax,[L00C884DC] movsx edx,[esi+24h] movsx ecx,[eax+24h] sub ecx,edx mov [eax+00000210h],ecx mov eax,[L00C884DC] movsx edx,[esi+26h] movsx ecx,[eax+26h] sub ecx,edx pop esi mov [eax+00000214h],ecx pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L0047417E: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L00474192 call SUB_L004BCED0 test eax,eax jz L0047419B L00474192: push esi call SUB_L00484010 add esp,00000004h L0047419B: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L004741C7 mov eax,[esi+7Ch] lea ecx,[esp+08h] push eax push ecx call SUB_L00499DB0 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+08h] push edx call SUB_L004BC750 L004741C7: pop esi pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004741D0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E3F26 push eax mov al,[L00C88307] mov fs:[00000000h],esp cmp al,01h jz L00474282 mov eax,[esp+10h] push 000000ACh mov [L00C83980],eax mov al,[L0050C190] test al,al jz L0047423B call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+08h],00000000h jz L0047426D push 00000000h push L004C1AA0 push L00421800 push SSZ005067AC_This_may_flag_you_criminal_ mov ecx,eax call SUB_L0042FC60 jmp L0047426F L0047423B: call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+08h],00000001h jz L0047426D push 00000000h push L004C1AA0 push L00421800 push SSZ005067E8_This_will_lower_notoriety__ mov ecx,eax call SUB_L0042FC60 jmp L0047426F L0047426D: xor eax,eax L0047426F: push 00000001h mov ecx,eax push 00000000h mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004587A0 L00474282: mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004742A0: sub esp,00000008h push esi push edi mov edi,[esp+14h] test edi,edi jz L0047442C mov eax,[edi] mov ecx,edi call [eax+2Ch] test eax,eax jz L0047442C mov eax,[L00C88318] test eax,eax jnz L0047442C mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jnz L0047440B mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L004742FB mov ecx,[L00C884DC] mov eax,[ecx+00000154h] test eax,eax jz L0047440B L004742FB: test dword ptr [edi+7Ch],40000000h jz L0047438A mov edx,[edi] mov ecx,edi call [edx+54h] test eax,eax jz L00474379 mov eax,[edi+1Ch] mov esi,edi test eax,eax jz L00474325 L0047431C: mov esi,eax mov eax,[esi+1Ch] test eax,eax jnz L0047431C L00474325: test esi,esi jz L0047442C L0047432D: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L0047436A mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L0047436A mov ax,[esi+24h] cmp ax,[edi+24h] jnz L0047436A mov cx,[esi+26h] cmp cx,[edi+26h] jnz L0047436A mov dx,[esi+28h] cmp dx,[edi+28h] jnz L0047436A push esi call SUB_L00483E70 add esp,00000004h L0047436A: mov esi,[esi+18h] test esi,esi jnz L0047432D pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L00474379: push edi call SUB_L00483E70 add esp,00000004h pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L0047438A: mov eax,[edi] mov ecx,edi call [eax+28h] test eax,eax jnz L0047442C mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L0047442C mov eax,[L00C884DC] mov ecx,[eax+00000154h] test ecx,ecx jz L0047442C mov al,[L0050CC2D] test al,al jz L004743E2 push edi call SUB_L00406470 add esp,00000004h cmp eax,00000059h jnz L004743E2 mov ecx,[edi+7Ch] push ecx call SUB_L004741D0 add esp,00000004h pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L004743E2: mov edx,[edi+7Ch] lea eax,[esp+08h] push edx push eax call SUB_L00499B60 add esp,00000008h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ L0047440B: mov edx,[edi+7Ch] lea eax,[esp+08h] push edx push eax call SUB_L00499850 add esp,00000008h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0047442C: pop edi pop esi add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00474440: push FFFFFFFFh push L004E3F3B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h mov eax,[esp+28h] push ebx push ebp push esi mov esi,ecx push edi mov ecx,[esp+34h] push eax push ecx mov byte ptr [esp+1Bh],00h xor bl,bl mov dword ptr [esi+000000ACh],00000001h call SUB_L00482500 mov edi,eax xor ebp,ebp add esp,00000008h cmp edi,ebp jz L004744AC mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L004744AC mov eax,[edi+7Ch] mov ecx,L00C85E48 push eax mov byte ptr [esp+17h],01h call SUB_L0049F880 test al,al setnz bl L004744AC: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004744C6 test bl,bl jz L004745E1 L004744C6: mov al,[esp+13h] test al,al jz L004745AE mov eax,[L00B294DC] push eax push ebp push ebp push edi call SUB_L00455F70 mov esi,eax add esp,00000010h cmp esi,ebp jnz L0047453E push 00000184h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebp mov [esp+2Ch],ebp jz L00474510 push 00000001h push edi mov ecx,eax call SUB_L004A3E60 mov esi,eax jmp L00474512 L00474510: xor esi,esi L00474512: mov ecx,[esi+24h] push SSZ004FF604_gump_background imul ecx,[esi+20h] shl ecx,1 push ecx mov dword ptr [esp+34h],FFFFFFFFh call SUB_L00475FC0 add esp,00000008h mov ecx,esi mov [esi+5Ch],eax push 00000001h push ebp call SUB_L004587A0 L0047453E: mov edx,[esi+08h] push SSZ00506804_status_gump push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004745ED mov eax,[esi+28h] push esi cdq sub eax,edx mov dword ptr [esi+0000013Ch],00000001h sar eax,1 mov [esi+70h],eax mov eax,[esi+2Ch] cdq sub eax,edx sar eax,1 mov [esi+74h],eax call SUB_L00476670 mov [L00B28A84],esi mov [L00B28A80],edi mov eax,[edi+7Ch] lea ecx,[esp+18h] push eax push 00000004h push ecx call SUB_L0049A530 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+14h] push edx call SUB_L004BC750 jmp L004745ED L004745AE: cmp edi,ebp jz L004745ED cmp [L00C88550],ebp jnz L004745ED mov eax,[edi] mov ecx,edi call [eax+5Ch] test eax,eax jnz L004745D7 call SUB_L004BCED0 test eax,eax jz L004745ED call SUB_L004BCED0 test eax,eax jz L004745ED L004745D7: push ebp push edi call SUB_L00484180 add esp,00000008h L004745E1: mov [esi+000000A0h],ebp mov [esi+000000B4h],ebp L004745ED: mov ecx,[esp+24h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00474610: mov eax,[L00C8C500] mov ecx,[eax+24h] test ecx,ecx jz L0047462A L0047461C: mov edx,eax mov eax,ecx mov [eax+28h],edx mov ecx,[eax+24h] test ecx,ecx jnz L0047461C L0047462A: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00474630: push ecx mov al,[L0050CC27] push ebx push ebp push esi test al,al push edi jz L004747F2 mov eax,[L00C8C4F8] test eax,eax jnz L004747F2 cmp dword ptr [L00C85358],00000001h jz L004747F2 mov eax,[L00C85368] mov ecx,[L00C8536C] cmp eax,ecx jl L004747F2 mov ecx,[esp+1Ch] mov edx,[esp+18h] push 00000000h push ecx push edx call SUB_L00408640 add esp,0000000Ch test eax,eax jz L004747F2 movsx ebp,[eax+24h] movsx edx,[eax+26h] movsx eax,[eax+28h] mov esi,[L00C83B64] mov edi,[L00C83B60] mov ebx,[L00C83B5C] mov [esp+18h],eax mov eax,[L00C8536C] mov [esp+10h],edx test eax,eax jle L004746FB mov ecx,L00C85300 mov [esp+1Ch],eax L004746C3: mov eax,[ecx+04h] test eax,eax jnz L004746ED mov al,[ecx] cmp al,[ecx+01h] jnz L004746ED and eax,000000FFh shl eax,02h mov ebx,[eax+L005072B8] add esi,ebx mov ebx,[eax+L005072E0] add edi,ebx movsx ebx,[ecx+10h] L004746ED: mov eax,[esp+1Ch] add ecx,00000014h dec eax mov [esp+1Ch],eax jnz L004746C3 L004746FB: mov ecx,[esp+18h] push 00000000h push 000001F4h push ecx push edx push ebp push ebx push edi push esi call SUB_L004A0080 add esp,00000020h mov [L00C8C500],eax test eax,eax jnz L0047476A mov edx,[esp+18h] mov eax,[esp+10h] push 00000001h push 000001F4h push edx push eax push ebp push ebx push edi push esi call SUB_L004A0080 add esp,00000020h mov [L00C8C500],eax test eax,eax jnz L0047476A mov ecx,[L00C884DC] push eax push eax push 00000003h push eax push SSZ00506820_Can_t_get_there call SUB_L004800A0 pop edi pop esi pop ebp mov dword ptr [L00C8C4F8],00000000h pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L0047476A: mov dword ptr [L00C8C4F8],00000001h mov ecx,[eax+24h] test ecx,ecx mov edx,eax jz L0047478B L0047477D: mov esi,eax mov eax,ecx mov [eax+28h],esi mov ecx,[eax+24h] test ecx,ecx jnz L0047477D L0047478B: mov eax,[edx+24h] test eax,eax jz L0047479B L00474792: mov edx,eax mov eax,[edx+24h] test eax,eax jnz L00474792 L0047479B: mov [L00C8C500],edx mov ecx,[edx+10h] mov [L00C8C4F4],ecx mov eax,[edx+14h] mov [L00C8C4F0],eax mov ecx,[edx+18h] mov [L00C8C4EC],ecx mov ecx,[L00C884DC] xor eax,eax push 00000000h mov al,[ecx+72h] push 00000000h mov [L00C8C4E8],eax mov [edx+1Ch],eax mov edx,[L00C8C500] mov ecx,[L00C884DC] push 00000003h push 00000000h push SSZ00506810_Pathfinding_ mov [L00C8C4FC],edx call SUB_L004800A0 L004747F2: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 L00474800: mov eax,[esp+08h] mov ecx,[esp+04h] sub esp,0000000Ch push esi push 00000001h push eax push ecx call SUB_L00408640 mov esi,eax add esp,0000000Ch test esi,esi jz L00474857 mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L00474857 mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L00474857 mov ecx,[esi+7Ch] push 00000000h lea edx,[esp+08h] push ecx push edx call SUB_L0049CCC0 mov ecx,[L00C88300] add esp,0000000Ch lea eax,[esp+04h] push eax call SUB_L004BC750 L00474857: pop esi add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00474860: push FFFFFFFFh push L004E3F58 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push ebp push esi mov esi,ecx push edi mov [esp+20h],esi call SUB_L00458F30 xor ebx,ebx push SSZ00506870_GameAreaEdgeGump__GameAreaEdgeGu mov [esp+40h],ebx mov [esi+0000009Ch],ebx mov [esi+000000A0h],ebx mov [esi+000000A4h],ebx mov dword ptr [esi],L004EE9BC call SUB_L004C7F20 lea eax,[esp+18h] lea ecx,[esp+1Ch] push eax push ecx push 00000A8Ch mov dword ptr [esi+08h],SSZ0050685C_GameAreaEdgeGump mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L004434A0 lea edx,[esp+2Ch] lea eax,[esp+20h] push edx push eax push 00000A8Dh call SUB_L004434A0 mov ebp,[esp+60h] add esp,0000001Ch cmp ebp,00000003h ja L00474998 jmp [CASE_PROCTABLE_00474B40+ebp*4] CASE_00474B40_PROC0000: call SUB_L00447080 mov ecx,[esp+10h] lea eax,[eax+ecx*2] mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+14h] mov [esi+24h],eax neg ecx neg eax mov [esi+30h],ecx mov [esi+34h],eax jmp L00474998 CASE_00474B40_PROC0001: call SUB_L00447080 mov ecx,[esp+10h] mov edx,[esp+14h] mov [esi+24h],edx lea eax,[eax+ecx*2] neg ecx mov [esi+1Ch],eax mov [esi+20h],eax mov [esi+30h],ecx call SUB_L00447090 mov [esi+34h],eax jmp L00474998 CASE_00474B40_PROC0002: mov eax,[esp+10h] mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00447090 mov [esi+24h],eax mov eax,[esp+10h] neg eax jmp L00474992 CASE_00474B40_PROC0003: mov eax,[esp+10h] mov [esi+1Ch],eax mov [esi+20h],eax call SUB_L00447090 mov [esi+24h],eax call SUB_L00447080 L00474992: mov [esi+30h],eax mov [esi+34h],ebx L00474998: mov ecx,[esi+18h] push SSZ00506844_GameAreaEdge_framedata shl ecx,03h push ecx call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ00506830_GameAreaEdge_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h cmp ebp,00000003h mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,[esi+20h] mov eax,[esi+24h] mov [esp+24h],ebx mov [esp+28h],ebx mov [esp+2Ch],ecx mov [esp+30h],eax ja L00474B1E jmp [L00474B50+ebp*4] L00474A24: xor edi,edi cmp ecx,ebx jle L00474B1E mov eax,[esp+18h] L00474A32: add eax,edi cmp eax,ecx jle L00474A6A mov ecx,[esi+3Ch] 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,[esp+34h] push edi push edx push 00000A8Ch push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h jmp L00474A95 L00474A6A: mov eax,[esi+3Ch] 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 push 00000A8Ch push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L00474A95: mov eax,[esp+18h] mov ecx,[esi+20h] add edi,eax cmp edi,ecx jl L00474A32 jmp L00474B1E L00474AA4: xor edi,edi cmp eax,ebx jle L00474B1E mov ecx,[esp+1Ch] L00474AAE: add ecx,edi cmp ecx,eax jle L00474AE6 mov edx,[esi+3Ch] 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,[esp+34h] push ebx push eax push 00000A8Dh push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h jmp L00474B11 L00474AE6: mov ecx,[esi+3Ch] 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 push 00000A8Dh push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L00474B11: mov ecx,[esp+1Ch] mov eax,[esi+24h] add edi,ecx cmp edi,eax jl L00474AAE L00474B1E: push 00000001h push ebx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+34h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00474B40: dd CASE_00474B40_PROC0000 dd CASE_00474B40_PROC0001 dd CASE_00474B40_PROC0002 dd CASE_00474B40_PROC0003 L00474B50: dd L00474A24 dd L00474A24 dd L00474AA4 dd L00474AA4 L00474B60: push esi mov esi,ecx call SUB_L00474B80 test byte ptr [esp+08h],01h jz L00474B78 push esi call SUB_L004D4F9E add esp,00000004h L00474B78: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00474B80: push FFFFFFFFh push L004E3F78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EE9BC mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L00474BCD push SSZ00506830_GameAreaEdge_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L00474BCD: mov eax,[esi+3Ch] test eax,eax jz L00474BE9 push SSZ00506844_GameAreaEdge_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L00474BE9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00474C10: mov eax,[esp+04h] mov edx,[L00C88348] sub eax,edx mov edx,[esp+08h] mov [ecx+000000A0h],eax mov eax,[L00C8834C] sub edx,eax mov dword ptr [ecx+0000009Ch],00000001h mov [ecx+000000A4h],edx retn 0008h ;------------------------------------------------------------------------------ L00474C40: push ebx mov ebx,ecx push esi push edi mov eax,[ebx+0000009Ch] test eax,eax jz L00474D2F mov edi,[esp+10h] mov eax,[L00C88348] mov edx,[ebx+000000A0h] mov esi,[esp+14h] mov ecx,[ebx+000000A4h] sub edi,eax sub edi,edx sub esi,ecx mov ecx,[L00C8834C] lea edx,[eax+edi] sub esi,ecx test edx,edx jge L00474C85 neg eax mov edi,eax L00474C85: lea eax,[ecx+esi] test eax,eax jge L00474C90 neg ecx mov esi,ecx L00474C90: call SUB_L00447080 mov ecx,[L00C88348] add eax,ecx mov ecx,[L005073D0] add eax,edi cmp eax,ecx jle L00474CBE call SUB_L00447080 mov edi,[L005073D0] mov edx,[L00C88348] sub edi,edx sub edi,eax L00474CBE: call SUB_L00447090 mov ecx,[L00C8834C] add eax,ecx mov ecx,[L005073D4] add eax,esi cmp eax,ecx jle L00474CEC call SUB_L00447090 mov esi,[L005073D4] mov edx,[L00C8834C] sub esi,edx sub esi,eax L00474CEC: test edi,edi jnz L00474CF4 test esi,esi jz L00474D2F L00474CF4: mov eax,[ebx+000000A0h] mov edx,[ebx+000000A4h] sub eax,edi sub edx,esi mov [ebx+000000A0h],eax mov [ebx+000000A4h],edx mov ecx,[L00C88348] mov eax,[L00C8834C] add ecx,edi add eax,esi mov [L00C88348],ecx mov [L00C8834C],eax call SUB_L0040C940 L00474D2F: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00474D40: push FFFFFFFFh push L004E3FBC mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000A8h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L00474D7E push 00000000h mov ecx,eax call SUB_L00474860 jmp L00474D80 L00474D7E: xor eax,eax L00474D80: push 000000A8h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C8397C],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000001h jz L00474DB5 push 00000001h mov ecx,eax call SUB_L00474860 jmp L00474DB7 L00474DB5: xor eax,eax L00474DB7: push 000000A8h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C83978],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000002h jz L00474DEC push 00000002h mov ecx,eax call SUB_L00474860 jmp L00474DEE L00474DEC: xor eax,eax L00474DEE: push 000000A8h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C83974],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000003h jz L00474E35 push 00000003h mov ecx,eax call SUB_L00474860 mov [L00C83970],eax mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L00474E35: mov ecx,[esp+04h] xor eax,eax mov [L00C83970],eax mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00474E50: mov ecx,[L00C8397C] test ecx,ecx jz L00474E60 mov eax,[ecx] push 00000001h call [eax] L00474E60: mov ecx,[L00C83978] test ecx,ecx jz L00474E70 mov edx,[ecx] push 00000001h call [edx] L00474E70: mov ecx,[L00C83974] test ecx,ecx jz L00474E80 mov eax,[ecx] push 00000001h call [eax] L00474E80: mov ecx,[L00C83970] test ecx,ecx jz L00474E90 mov edx,[ecx] push 00000001h call [edx] L00474E90: call SUB_L0040C940 call SUB_L00474D40 jmp SUB_L0040C940 Align 4 SUB_L00474EA0: push edi push SSZ005068C8_MapManager__startup__begin__ call SUB_L004C7F20 xor eax,eax mov ecx,00000024h mov [L00C83B5C],eax mov [L00C83B60],eax mov [L00C83B64],eax mov eax,FFFFD8F1h mov [L00C83A20],eax mov [L00C83A24],eax or eax,FFFFFFFFh mov edi,L00C83990 add esp,00000004h mov dword ptr [L00C83A54],00001800h rep stosd mov dword ptr [L00C83A50],00001000h mov dword ptr [L00C83A28],00000300h mov dword ptr [L00C83A2C],00000200h mov dword ptr [L00C83B58],FFFFFFFFh pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00474F20: push ebp mov ebp,[esp+0Ch] push esi push edi mov ax,[ebp+00h] mov edi,[esp+10h] xor ecx,ecx cmp ax,1400h mov si,[edi] setge cl xor edx,edx cmp si,1400h setge dl xor ecx,edx jz L00474F52 pop edi pop esi mov eax,0000270Fh pop ebp retn ;------------------------------------------------------------------------------ L00474F52: movsx ecx,ax movsx eax,si sub eax,ecx jns L00474F5E neg eax L00474F5E: movsx ecx,[edi+02h] movsx edx,[ebp+02h] sub ecx,edx jns L00474F6C neg ecx L00474F6C: cmp si,1400h jge L00474F8D mov edx,00001400h sub edx,eax cmp eax,edx jle L00474F80 mov eax,edx L00474F80: mov edx,00001000h sub edx,ecx cmp ecx,edx jle L00474F8D mov ecx,edx L00474F8D: cmp eax,ecx jg L00474F93 mov eax,ecx L00474F93: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L00474FA0: push esi push edi mov edi,[esp+0Ch] mov esi,[esp+10h] xor eax,eax mov dx,[edi] cmp dx,1400h setge al xor ecx,ecx cmp esi,00001400h setge cl xor eax,ecx jz L00474FCE pop edi mov eax,0000270Fh pop esi retn ;------------------------------------------------------------------------------ L00474FCE: movsx eax,dx sub eax,esi jns L00474FD7 neg eax L00474FD7: movsx ecx,[edi+02h] sub ecx,[esp+14h] jns L00474FE3 neg ecx L00474FE3: cmp dx,1400h jge L00475004 mov edx,00001400h sub edx,eax cmp eax,edx jle L00474FF7 mov eax,edx L00474FF7: mov edx,00001000h sub edx,ecx cmp ecx,edx jle L00475004 mov ecx,edx L00475004: cmp eax,ecx jg L0047500A mov eax,ecx L0047500A: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00475010: mov eax,FFFFD8F1h push edi mov [L00C83A20],eax mov [L00C83A24],eax mov ecx,00000024h or eax,FFFFFFFFh mov edi,L00C83990 mov [L00C83B58],eax rep stosd call SUB_L00408360 pop edi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00475040: push FFFFFFFFh push L004E3FD8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000002Ch push ebx push ebp push esi push edi mov eax,[L00C83B64] mov ecx,[L00C83B60] mov dword ptr [esp+44h],00000000h lea ebx,[eax-12h] mov eax,[L00C83A24] lea ebp,[ecx-12h] sar ebx,03h sar ebp,03h cmp ebx,eax mov [esp+18h],ebx mov [esp+1Ch],ebp jnz L00475098 cmp ebp,[L00C83A20] jz L004752DA L00475098: mov esi,[L00C884E8] test esi,esi jz L004750EC L004750A2: mov edx,[esi] mov edi,[esi+44h] mov ecx,esi call [edx+2Ch] test eax,eax jnz L004750E6 mov eax,[esi] mov ecx,esi call [eax+68h] test eax,eax jnz L004750E6 movsx eax,[esi+24h] movsx ecx,[esi+26h] sar eax,03h sar ecx,03h cmp eax,ebx jl L004750DF lea edx,[ebx+05h] cmp eax,edx jg L004750DF cmp ecx,ebp jl L004750DF lea eax,[ebp+05h] cmp ecx,eax jle L004750E6 L004750DF: mov edx,[esi] mov ecx,esi call [edx+04h] L004750E6: test edi,edi mov esi,edi jnz L004750A2 L004750EC: mov ebp,[L00C83A2C] mov esi,L00C83990 L004750F7: mov ecx,[esi] mov eax,ecx cdq idiv ebp mov eax,ecx mov edi,edx cdq idiv ebp cmp eax,ebx jl L0047511F lea ecx,[ebx+05h] cmp eax,ecx jg L0047511F mov eax,[esp+1Ch] cmp edi,eax jl L0047511F add eax,00000005h cmp edi,eax jle L00475125 L0047511F: mov dword ptr [esi],FFFFFFFFh L00475125: add esi,00000004h cmp esi,L00C83A20 jl L004750F7 mov edx,[esp+1Ch] mov ecx,edx lea eax,[edx+05h] mov [esp+20h],ecx cmp edx,eax jg L004752CE L00475145: test ecx,ecx jl L004752BE cmp ecx,ebp jge L004752BE mov edx,[esp+18h] mov [esp+14h],ebx lea eax,[edx+05h] cmp edx,eax jg L004752B6 L00475168: test ebx,ebx jl L004752A2 cmp ebx,[L00C83A28] jge L004752A2 mov edi,ebp mov eax,L00C83990 imul edi,ebx add edi,ecx mov [esp+2Ch],edi L0047518C: cmp [eax],edi jz L004752A2 add eax,00000004h cmp eax,L00C83A20 jl L0047518C lea eax,[esp+30h] lea ecx,[esp+10h] push eax push ecx push edi push 00000002h push 00000001h call SUB_L0045EF20 mov esi,eax mov eax,[esp+24h] add esp,00000014h test eax,eax jz L0047527A jle L0047527A L004751C9: mov di,[esi] cmp di,4000h jc L004751D8 mov edi,00000001h L004751D8: movsx edx,[esi+04h] mov ax,[esi+05h] and edi,0000FFFFh movsx ebx,[esi+02h] movsx ebp,[esi+03h] push edi mov [esp+28h],edx mov [esp+2Ch],ax call SUB_L0047DD20 mov edx,[L00C88540] lea ecx,[edi+edi*4] add esp,00000004h lea ecx,[edx+ecx*8] test dword ptr [ecx],00800000h jz L0047521A mov cl,[ecx+05h] mov [eax+72h],cl L0047521A: mov edx,[esp+14h] sub esp,00000008h lea ecx,[ebx+edx*8] mov edx,[esp+28h] mov [esp+3Ch],cx lea ecx,[ebp+edx*8+00h] mov dx,[esp+30h] mov [eax+42h],dx mov [esp+3Eh],cx mov edi,[esp+3Ch] mov cx,[esp+2Ch] mov edx,esp mov [esp+40h],cx mov [edx],edi mov [edx+04h],cx mov ecx,eax call SUB_L0047EFE0 mov eax,[esp+10h] add esi,00000007h sub eax,00000007h test eax,eax mov [esp+10h],eax jg L004751C9 mov edi,[esp+2Ch] mov ebx,[esp+14h] L0047527A: xor ecx,ecx mov eax,L00C83990 L00475281: cmp dword ptr [eax],FFFFFFFFh jz L00475291 add eax,00000004h inc ecx cmp eax,L00C83A20 jl L00475281 L00475291: mov ebp,[L00C83A2C] mov [L00C83990+ecx*4],edi mov ecx,[esp+20h] L004752A2: mov eax,[esp+18h] inc ebx add eax,00000005h mov [esp+14h],ebx cmp ebx,eax jle L00475168 L004752B6: mov ebx,[esp+18h] mov edx,[esp+1Ch] L004752BE: inc ecx lea eax,[edx+05h] cmp ecx,eax mov [esp+20h],ecx jle L00475145 L004752CE: mov [L00C83A24],ebx mov [L00C83A20],edx L004752DA: mov ecx,[esp+3Ch] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004752F0: push FFFFFFFFh push L004E3FF8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi push edi mov ebp,[esp+28h] xor ebx,ebx cmp ebp,00001400h mov [esp+20h],ebx jl L00475394 cmp ebp,00001800h jge L00475394 mov esi,[esp+2Ch] cmp esi,ebx jl L00475398 cmp esi,00001000h jge L00475398 cmp ebp,ebx jl L0047538A cmp ebp,[L00C83A54] jge L0047538A cmp esi,[L00C83A50] jge L0047538A mov eax,ebp mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push ebx call SUB_L0045EE00 mov edx,esi mov ecx,ebp and edx,00000007h and ecx,00000007h lea ecx,[ecx+edx*8] lea edx,[eax+ecx*2] xor eax,eax mov ax,[ecx+edx+04h] push eax call SUB_L0040F010 add esp,0000000Ch mov [esp+28h],eax jmp L004753A0 L0047538A: mov dword ptr [esp+28h],00008001h jmp L004753A0 L00475394: mov esi,[esp+2Ch] L00475398: mov dword ptr [esp+28h],00000244h L004753A0: mov ecx,[esp+28h] and ecx,00007FFFh cmp ebp,ebx mov [esp+28h],ecx jl L00475444 cmp esi,ebx jl L00475444 cmp ebp,[L00C83A54] jge L00475444 cmp esi,[L00C83A50] jge L00475444 L004753CE: mov esi,[L005068B8+ebx*4] mov ecx,[esp+2Ch] mov edi,[L005068A8+ebx*4] mov eax,[L00C83A54] add esi,ecx add edi,ebp jns L004753ED add edi,eax L004753ED: cmp edi,eax jl L004753F3 sub edi,eax L004753F3: mov eax,[L00C83A50] test esi,esi jge L004753FE add esi,eax L004753FE: cmp esi,eax jl L00475404 sub esi,eax L00475404: mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 and esi,00000007h and edi,00000007h add esp,00000008h inc ebx lea ecx,[edi+esi*8+02h] cmp ebx,00000004h lea edx,[eax+ecx*2] mov al,[ecx+edx] mov [ebx+L00C8398B],al jl L004753CE mov esi,[esp+2Ch] jmp L0047544A L00475444: mov [L00C8398C],ebx L0047544A: mov eax,[esp+28h] mov edx,[L00C88544] lea ecx,[00000000h+eax*8] sub ecx,eax cmp word ptr [edx+ecx*4+04h],0000h mov ecx,[L00C8398C] jz L0047557D mov ax,[L00C8398E] cmp cl,ch jnz L00475531 cmp ch,al jnz L00475531 cmp al,ah jnz L00475531 lea edi,[ebp-01h] lea eax,[ebp+02h] cmp edi,eax movsx ebx,cl jg L0047557D L0047549E: mov eax,[esp+2Ch] dec esi add eax,00000002h cmp esi,eax jg L00475515 L004754AA: test edi,edi jl L00475573 cmp edi,[L00C83A54] jge L00475573 test esi,esi jl L00475573 cmp esi,[L00C83A50] jge L00475573 mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 mov edx,esi mov ecx,edi and edx,00000007h and ecx,00000007h add esp,00000008h lea ecx,[ecx+edx*8+02h] lea edx,[eax+ecx*2] movsx eax,[ecx+edx] cmp eax,ebx jnz L00475527 mov ecx,[esp+2Ch] inc esi lea eax,[ecx+02h] cmp esi,eax jle L004754AA L00475515: mov esi,[esp+2Ch] inc edi lea eax,[ebp+02h] cmp edi,eax jle L0047549E jmp L00475577 L00475527: mov ax,[L00C8398E] mov esi,[esp+2Ch] L00475531: movsx edx,ah movsx eax,al add edx,eax mov eax,[L00C8398C] movsx ecx,ah movsx eax,al add edx,ecx lea ecx,[esp+10h] add edx,eax push L00C8398C sar edx,02h mov [esp+18h],dx mov edx,[esp+2Ch] push ecx push edx mov [esp+1Ch],bp mov [esp+1Eh],si call SUB_L0047E230 add esp,0000000Ch jmp L004755A2 L00475573: mov esi,[esp+2Ch] L00475577: mov ecx,[L00C8398C] L0047557D: mov edx,[esp+28h] mov [esp+10h],bp movsx ax,cl lea ecx,[esp+10h] mov [esp+12h],si push ecx push edx mov [esp+1Ch],ax call SUB_L0047E0E0 add esp,00000008h L004755A2: mov edx,[eax] mov ecx,eax call [edx+10h] mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004755C0: push FFFFFFFFh push L004E4018 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi push edi mov ebp,[esp+34h] mov esi,[esp+38h] xor ebx,ebx mov [esp+10h],esi cmp ebp,ebx mov [esp+2Ch],ebx jge L004755F8 add ebp,00001400h L004755F8: cmp ebp,00001400h jl L00475606 sub ebp,00001400h L00475606: cmp esi,ebx jge L00475614 add esi,00001000h mov [esp+10h],esi L00475614: cmp esi,00001000h jl L00475626 sub esi,00001000h mov [esp+10h],esi L00475626: mov ecx,[L00C83A54] mov edx,[L00C83A50] cmp ebp,ebx jl L0047568A cmp esi,ebx jl L0047568A cmp ebp,ecx jge L0047568A cmp esi,edx jge L0047568A mov eax,ebp mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push ebx call SUB_L0045EE00 mov edx,esi mov ecx,ebp and edx,00000007h and ecx,00000007h lea ecx,[ecx+edx*8] lea edx,[eax+ecx*2] xor eax,eax mov ax,[ecx+edx+04h] push eax call SUB_L0040F010 mov ecx,[L00C83A54] mov edx,[L00C83A50] add esp,0000000Ch jmp L00475696 L0047568A: mov dword ptr [esp+14h],00008001h mov eax,[esp+14h] L00475696: and eax,00007FFFh cmp ebp,ebx mov [esp+14h],eax jl L00475741 cmp esi,ebx jl L00475741 cmp ebp,ecx jge L00475741 cmp esi,edx jge L00475741 L004756BF: mov esi,[L005068B8+ebx*4] mov edi,[esp+10h] add esi,edi mov edi,[L005068A8+ebx*4] add edi,ebp jns L004756D9 add edi,ecx L004756D9: cmp edi,ecx jl L004756DF sub edi,ecx L004756DF: test esi,esi jge L004756E5 add esi,edx L004756E5: cmp esi,edx jl L004756EB sub esi,edx L004756EB: mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 and esi,00000007h and edi,00000007h add esp,00000008h inc ebx lea ecx,[edi+esi*8+02h] cmp ebx,00000004h lea edx,[eax+ecx*2] mov al,[ecx+edx] mov ecx,[L00C83A54] mov edx,[L00C83A50] mov [ebx+L00C8398B],al jl L004756BF mov esi,[esp+10h] mov eax,[esp+14h] mov ebx,[L00C8398C] jmp L00475747 L00475741: mov [L00C8398C],ebx L00475747: lea edi,[00000000h+eax*8] sub edi,eax mov eax,[L00C88544] cmp word ptr [eax+edi*4+04h],0000h jz L00475809 mov ax,[L00C8398E] cmp bl,bh jnz L0047585E cmp bh,al jnz L0047585E cmp al,ah jnz L0047585E lea edi,[ebp-01h] lea eax,[ebp+02h] cmp edi,eax mov [esp+18h],eax movsx ebx,bl jg L00475803 lea ebp,[esi-01h] mov [esp+10h],ebp lea ebp,[esi+02h] L0047579A: mov esi,[esp+10h] cmp esi,ebp jg L004757FE L004757A2: test edi,edi jl L00475803 cmp edi,ecx jge L00475803 test esi,esi jl L00475803 cmp esi,edx jge L00475803 mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 mov edx,esi mov ecx,edi and edx,00000007h and ecx,00000007h add esp,00000008h lea ecx,[ecx+edx*8+02h] lea edx,[eax+ecx*2] movsx eax,[ecx+edx] cmp eax,ebx jnz L00475852 mov ecx,[L00C83A54] mov edx,[L00C83A50] inc esi cmp esi,ebp jle L004757A2 mov eax,[esp+18h] L004757FE: inc edi cmp edi,eax jle L0047579A L00475803: mov ebx,[L00C8398C] L00475809: mov ax,[esp+34h] mov cx,[esp+38h] mov [esp+1Ch],ax mov [esp+1Eh],cx mov ecx,[esp+14h] lea eax,[esp+1Ch] movsx dx,bl push eax push ecx mov [esp+28h],dx call SUB_L0047E0E0 add esp,00000008h L00475838: mov edx,[eax] mov ecx,eax call [edx+10h] mov ecx,[esp+24h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L00475852: mov ax,[L00C8398E] mov ebx,[L00C8398C] L0047585E: mov cx,[esp+34h] mov dx,[esp+38h] mov [esp+1Ch],cx mov [esp+1Eh],dx movsx ecx,ah movsx edx,al movsx eax,bh add ecx,edx push L00C8398C movsx edx,bl add ecx,eax lea eax,[esp+20h] add ecx,edx push eax sar ecx,02h mov [esp+28h],cx mov ecx,[esp+1Ch] push ecx call SUB_L0047E230 add esp,0000000Ch jmp L00475838 Align 16 SUB_L004758B0: push ebx push ebp push esi push edi call SUB_L00408460 call SUB_L00475040 mov eax,[L00C83B64] mov edx,[L00C83B60] cmp eax,00001400h lea ebp,[edx-12h] lea ecx,[edx+12h] jl L00475951 cmp ebp,ecx jg L004759C6 L004758DE: lea edi,[eax-12h] lea ecx,[eax+12h] cmp edi,ecx jg L00475947 mov ebx,ebp and ebx,0000003Fh shl ebx,06h L004758F0: mov edx,edi and edx,0000003Fh add edx,ebx mov esi,[L00516754+edx*4] test esi,esi jz L0047592A L00475902: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0047591D movsx ecx,[esi+24h] cmp ecx,edi jnz L0047591D movsx edx,[esi+26h] cmp edx,ebp jz L00475926 L0047591D: mov esi,[esi+18h] test esi,esi jnz L00475902 jmp L0047592A L00475926: test esi,esi jnz L00475934 L0047592A: push ebp push edi call SUB_L004752F0 add esp,00000008h L00475934: mov eax,[L00C83B64] inc edi lea ecx,[eax+12h] cmp edi,ecx jle L004758F0 mov edx,[L00C83B60] L00475947: inc ebp lea ecx,[edx+12h] cmp ebp,ecx jle L004758DE jmp L004759C6 L00475951: cmp ebp,ecx jg L004759C6 L00475955: lea edi,[eax-12h] lea ecx,[eax+12h] cmp edi,ecx jg L004759BE mov ebx,ebp and ebx,0000003Fh shl ebx,06h L00475967: mov edx,edi and edx,0000003Fh add edx,ebx mov esi,[L00516754+edx*4] test esi,esi jz L004759A1 L00475979: mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L00475994 movsx ecx,[esi+24h] cmp ecx,edi jnz L00475994 movsx edx,[esi+26h] cmp edx,ebp jz L0047599D L00475994: mov esi,[esi+18h] test esi,esi jnz L00475979 jmp L004759A1 L0047599D: test esi,esi jnz L004759AB L004759A1: push ebp push edi call SUB_L004755C0 add esp,00000008h L004759AB: mov eax,[L00C83B64] inc edi lea ecx,[eax+12h] cmp edi,ecx jle L00475967 mov edx,[L00C83B60] L004759BE: inc ebp lea ecx,[edx+12h] cmp ebp,ecx jle L00475955 L004759C6: mov ecx,[L00B294AC] test ecx,ecx jz L004759E0 call SUB_L004ACC50 mov eax,[L00C83B64] mov edx,[L00C83B60] L004759E0: and edx,0000003Fh and eax,0000003Fh shl edx,06h add edx,eax mov esi,[L00516754+edx*4] test esi,esi jz L00475A10 L004759F6: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jnz L00475A0C mov esi,[esi+18h] test esi,esi jnz L004759F6 xor ecx,ecx jmp L00475A18 L00475A0C: test esi,esi jnz L00475A14 L00475A10: xor ecx,ecx jmp L00475A18 L00475A14: movsx ecx,[esi+28h] L00475A18: mov eax,[L00C83B5C] mov edx,[L0051C774] add eax,00000010h pop edi pop esi cmp eax,ecx pop ebp pop ebx jge L00475A55 test edx,edx jnz L00475A55 call SUB_L0047D300 mov ecx,[L00C83B5C] mov dword ptr [L0051C774],00000001h add ecx,00000010h mov [L0051C778],ecx jmp SUB_L0040C940 L00475A55: cmp eax,ecx jge L00475A74 cmp edx,00000001h jnz L00475A70 cmp [L0051C778],eax jz L00475A88 mov [L0051C778],eax jmp SUB_L0040C940 L00475A70: cmp eax,ecx jl L00475A88 L00475A74: cmp edx,00000001h jnz L00475A88 mov dword ptr [L0051C774],00000000h jmp SUB_L0040C940 L00475A88: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00475A90: push ebx push ebp push esi push edi call SUB_L0040C940 mov ebx,[esp+18h] mov ebp,[esp+14h] mov edi,L00516754 L00475AA6: mov dword ptr [esp+18h],00000040h L00475AAE: mov eax,[edi] test eax,eax jz L00475AC3 L00475AB4: add [eax+24h],bp add [eax+26h],bx mov eax,[eax+18h] test eax,eax jnz L00475AB4 L00475AC3: mov esi,[edi] test esi,esi jz L00475ADE L00475AC9: mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi call [edx+10h] mov esi,[esi+18h] test esi,esi jnz L00475AC9 L00475ADE: mov eax,[esp+18h] add edi,00000004h dec eax mov [esp+18h],eax jnz L00475AAE cmp edi,L0051A754 jl L00475AA6 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00475B00: mov eax,[L00C83B64] cmp eax,00001400h jl L00475B2E mov edx,[esp+04h] mov ecx,[L00C83B60] add eax,edx mov [L00C83B64],eax mov eax,[esp+08h] add ecx,eax mov [L00C83B60],ecx jmp L00475BD4 L00475B2E: mov ecx,[esp+04h] mov edx,[L00C83B60] add eax,ecx mov ecx,[esp+08h] add edx,ecx cmp eax,00001400h mov [L00C83B64],eax mov [L00C83B60],edx jl L00475B70 sub eax,00001400h push 00000000h push FFFFEC00h mov [L00C83B64],eax call SUB_L00475A90 mov eax,[L00C83B64] add esp,00000008h L00475B70: test eax,eax jge L00475B8D add eax,00001400h push 00000000h push 00001400h mov [L00C83B64],eax call SUB_L00475A90 add esp,00000008h L00475B8D: mov eax,[L00C83B60] cmp eax,00001000h jl L00475BB2 sub eax,00001000h push FFFFF000h push 00000000h mov [L00C83B60],eax call SUB_L00475A90 add esp,00000008h L00475BB2: mov eax,[L00C83B60] test eax,eax jge L00475BD4 add eax,00001000h push 00001000h push 00000000h mov [L00C83B60],eax call SUB_L00475A90 add esp,00000008h L00475BD4: mov edx,[esp+0Ch] mov eax,[L00C884DC] mov [L00C83B5C],edx mov cl,[eax+70h] test cl,cl jnz L00475BEF jmp SUB_L004758B0 L00475BEF: retn ;------------------------------------------------------------------------------ SUB_L00475BF0: push esi call SUB_L0040C940 mov esi,[esp+08h] cmp esi,FFFFFFFFh jz L00475C18 mov eax,[esp+0Ch] mov ecx,[esp+10h] mov [L00C83B64],esi mov [L00C83B60],eax mov [L00C83B5C],ecx L00475C18: mov edx,[esp+14h] mov eax,[L00C83B58] cmp edx,eax jz L00475C73 mov eax,[L00C83A3C] push edi mov ecx,eax mov [L00C83B58],edx sar ecx,03h mov [L00C83A4C],ecx mov ecx,[L00C83A38] mov edi,ecx sar edi,03h mov [L00C83A44],edi mov edi,[L00C83A34] add edi,eax mov eax,[L00C83A30] add eax,ecx sar edi,03h sar eax,03h mov [L00C83A48],edi mov [L00C83A40],eax call SUB_L00401E90 pop edi L00475C73: mov ecx,[L00C884DC] mov al,[ecx+70h] test al,al jnz L00475C8F cmp esi,FFFFFFFFh jz L00475C8F call SUB_L004758B0 call SUB_L00455D80 L00475C8F: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00475CA0: mov edx,[esp+04h] push ebx xor ebx,ebx push ebp cmp edx,ebx jl L00475D52 mov ebp,[esp+10h] cmp ebp,ebx jl L00475D52 mov eax,[L00C83A54] cmp edx,eax jge L00475D52 mov ecx,[L00C83A50] cmp ebp,ecx jge L00475D52 push esi push edi jmp L00475CE6 L00475CD7: mov eax,[L00C83A54] mov ecx,[L00C83A50] mov edx,[esp+14h] L00475CE6: mov esi,[L005068B8+ebx*4] mov edi,[L005068A8+ebx*4] add esi,ebp add edi,edx jns L00475CFC add edi,eax L00475CFC: cmp edi,eax jl L00475D02 sub edi,eax L00475D02: test esi,esi jge L00475D08 add esi,ecx L00475D08: cmp esi,ecx jl L00475D0E sub esi,ecx L00475D0E: mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 and esi,00000007h and edi,00000007h add esp,00000008h inc ebx lea ecx,[edi+esi*8+02h] cmp ebx,00000004h lea edx,[eax+ecx*2] mov al,[ecx+edx] mov [ebx+L00C8398B],al jl L00475CD7 pop edi pop esi pop ebp mov eax,L00C8398C pop ebx retn ;------------------------------------------------------------------------------ L00475D52: mov [L00C8398C],ebx pop ebp mov eax,L00C8398C pop ebx retn ;------------------------------------------------------------------------------ SUB_L00475D60: push esi push edi mov edi,[esp+0Ch] test edi,edi jl L00475DBC mov esi,[esp+10h] test esi,esi jl L00475DBC cmp edi,[L00C83A54] jge L00475DBC cmp esi,[L00C83A50] jge L00475DBC mov eax,edi mov ecx,esi sar eax,03h imul eax,[L00C83A2C] sar ecx,03h add eax,ecx push eax push 00000000h call SUB_L0045EE00 and esi,00000007h and edi,00000007h lea ecx,[edi+esi*8] lea edx,[eax+ecx*2] xor eax,eax mov ax,[ecx+edx+04h] push eax call SUB_L0040F010 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ L00475DBC: pop edi mov eax,00008001h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00475DD0: push FFFFFFFFh push L004E4048 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push ebp push esi push edi mov eax,[esp+38h] mov ecx,[esp+40h] mov dx,[esp+44h] mov ebx,[esp+42h] mov edi,[esp+3Ah] cmp ax,cx mov dword ptr [esp+30h],00000001h jnz L00475E1E cmp di,bx jnz L00475E1E cmp [esp+3Ch],dx jz L00475F0C L00475E1E: movsx esi,ax movsx edi,di movsx eax,bx movsx ebx,[esp+3Ch] sub eax,edi mov [esp+10h],eax movsx eax,dx movsx ebp,cx sub eax,ebx sub ebp,esi mov [esp+14h],eax mov eax,ebp cdq mov ecx,eax mov eax,[esp+10h] xor ecx,edx sub ecx,edx cdq xor eax,edx sub eax,edx cmp eax,ecx jle L00475E58 mov ecx,eax L00475E58: test ecx,ecx jz L00475F0C mov eax,ebp shl eax,10h cdq idiv ecx shl esi,10h shl edi,10h shl ebx,10h mov ebp,eax mov eax,[esp+10h] shl eax,10h cdq idiv ecx mov [esp+10h],eax mov eax,[esp+14h] shl eax,10h cdq idiv ecx mov [esp+14h],eax dec ecx mov byte ptr [esp+30h],02h test ecx,ecx mov dword ptr [esp+18h],00000000h mov [esp+1Ch],ecx jle L00475F0C L00475EA5: mov eax,[esp+10h] mov edx,[esp+14h] add esi,ebp add edi,eax mov eax,esi mov ecx,edi sar eax,10h sar ecx,10h sub esp,00000008h add ebx,edx mov [esp+28h],ax mov [esp+2Ah],cx mov ecx,[esp+28h] mov edx,esp mov eax,ebx mov [edx],ecx sar eax,10h mov [esp+2Ch],ax mov [edx+04h],ax call SUB_L00483DA0 add esp,00000008h test eax,eax jz L00475EFB mov edx,[eax] mov ecx,eax call [edx+40h] mov ecx,[esp+48h] test ecx,eax jnz L00475F24 L00475EFB: mov eax,[esp+18h] mov ecx,[esp+1Ch] inc eax cmp eax,ecx mov [esp+18h],eax jl L00475EA5 L00475F0C: mov eax,00000001h mov ecx,[esp+28h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ L00475F24: mov ecx,[esp+28h] pop edi pop esi pop ebp xor eax,eax mov fs:[00000000h],ecx pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00475F40: push SSZ00506900_MemoryManager__start_ call SUB_L004C7F50 mov al,[L00C83B6C] add esp,00000004h test al,al jnz L00475F68 push SSZ005068E8_MemoryManager__started_ mov byte ptr [L00C83B6C],01h call SUB_L004C7F50 pop ecx L00475F68: retn ;------------------------------------------------------------------------------ Align 8 L00475F70: push SSZ0050699C_MemoryManager__shutdown__stoppin call SUB_L004C7F50 mov al,[L00C83B6C] add esp,00000004h test al,al jz L00475FB8 push SSZ00506984_MemoryManager__report__ call SUB_L004C7F50 push SSZ00506934__MemoryManager__OVERLOAD_GLOBAL_ call SUB_L004C7F50 push SSZ00506918_MemoryManager__stopped__ mov dword ptr [L00C83B78],00000000h mov byte ptr [L00C83B6C],00h call SUB_L004C7F50 add esp,0000000Ch L00475FB8: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00475FC0: push esi mov esi,[esp+08h] test esi,esi jg L00475FD6 push SSZ005069E4_MemoryManager__GetMem__size____0 call SUB_L004C7EC0 add esp,00000004h L00475FD6: push esi call SUB_L004D5A3E mov esi,eax add esp,00000004h test esi,esi jnz L00475FF2 push SSZ005069C4_MemoryManager__GetMem__m____0_ call SUB_L004C7E80 add esp,00000004h L00475FF2: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476000: mov eax,[esp+04h] test eax,eax jz L00476016 cmp eax,DDDDDDDDh jz L00476016 push eax call SUB_L004D59F6 pop ecx L00476016: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476020: mov eax,[esp+04h] test eax,eax jnz L00476042 mov eax,[esp+10h] mov ecx,[esp+0Ch] push eax push ecx push SSZ00506AD4_MemoryManager__validateRawPointe call SUB_L004C7EF0 add esp,0000000Ch xor al,al retn ;------------------------------------------------------------------------------ L00476042: cmp eax,DDDDDDDDh jnz L00476063 mov edx,[esp+10h] mov eax,[esp+0Ch] push edx push eax push SSZ00506A84_MemoryManager__validateRawPointe call SUB_L004C7EF0 add esp,0000000Ch xor al,al retn ;------------------------------------------------------------------------------ L00476063: cmp dword ptr [esp+08h],FEEDBEEFh jz L00476087 mov ecx,[esp+10h] mov edx,[esp+0Ch] push ecx push edx push SSZ00506A08_MemoryManager__validateRawPointe call SUB_L004C7EF0 add esp,0000000Ch xor al,al retn ;------------------------------------------------------------------------------ L00476087: mov al,01h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00476090: mov al,[L00C83B94] test al,al jnz L004760DC push esi push edi mov dword ptr [L00C84B40],000B0000h mov edi,00000019h L004760AA: mov esi,00000050h L004760AF: push 00000020h call SUB_L00476120 add esp,00000004h dec esi jnz L004760AF dec edi jnz L004760AA pop edi mov dword ptr [L00C83B98],00000000h mov dword ptr [L00C83B9C],00000000h mov byte ptr [L00C83B94],01h pop esi L004760DC: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004760E0: mov eax,[esp+04h] xor ecx,ecx sub eax,ecx jz L00476113 dec eax jz L00476102 dec eax jnz L00476119 mov byte ptr [L00C84B44],01h mov dword ptr [L00506B1C],00000002h retn ;------------------------------------------------------------------------------ L00476102: mov [L00C84B44],cl mov dword ptr [L00506B1C],00000001h retn ;------------------------------------------------------------------------------ L00476113: mov [L00506B1C],ecx L00476119: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00476120: mov al,[esp+04h] push ebx push esi cmp al,0Ah push edi jnz L00476155 mov eax,[L00C83B9C] xor ebx,ebx inc eax mov [L00C83B98],ebx cmp eax,00000019h mov [L00C83B9C],eax jnz L00476202 cmp [L00C84B44],bl jz L004761F6 jmp L004761C1 L00476155: mov ecx,[L00C83B9C] mov eax,[L00C83B98] xor ebx,ebx lea esi,[ecx+ecx*4] shl esi,04h add esi,eax shl esi,1 cmp esi,00000FA0h jl L0047618B push SSZ00506B20_MonochromeMonitor__putchar__offs call SUB_L004C7EC0 add esp,00000004h xor eax,eax xor ecx,ecx mov [L00C83B9C],ecx L0047618B: mov dl,[esp+10h] inc eax mov [esi+L00C83BA0],dl cmp eax,00000050h mov byte ptr [esi+L00C83BA1],07h mov [L00C83B98],eax jnz L004761B4 inc ecx mov [L00C83B98],ebx mov [L00C83B9C],ecx L004761B4: cmp ecx,00000019h jnz L00476202 cmp [L00C84B44],bl jz L004761F6 L004761C1: mov ecx,000003DBh mov esi,L00C83C40 mov edi,L00C83BA0 xor eax,eax rep movsd movsw mov ecx,00000028h mov edi,L00C84AA0 rep stosd pop edi mov [L00C83B98],ebx pop esi mov dword ptr [L00C83B9C],00000018h pop ebx retn ;------------------------------------------------------------------------------ L004761F6: mov [L00C83B98],ebx mov [L00C83B9C],ebx L00476202: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push esi or esi,FFFFFFFFh mov eax,L00C84E20 mov edx,0000002Eh xor ecx,ecx L00476220: mov [eax-08h],esi mov [eax-04h],esi mov [eax],cl mov [eax+01h],cl mov [eax+02h],cl mov [eax+04h],ecx mov [eax+08h],ecx mov [eax+0Ch],ecx add eax,00000018h dec edx jnz L00476220 pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00476240: push ebx push ebp push esi push edi push SSZ00506B68_MouseManager__startup__begin__ call SUB_L004C7F20 mov ecx,[L00C85274] mov esi,[KERNEL32.dll!InterlockedExchange] xor eax,eax add esp,00000004h cmp ecx,eax mov [L00C8527C],eax mov [L00C85270],eax mov [L00C852E0],eax mov dword ptr [L00C8526C],FFFFFFFFh mov [L00C85268],eax mov [L00C84E14],eax mov [L00C84E10],eax mov [L00C84E0C],eax mov [L00C84E08],eax mov [L00C84E04],eax mov [L00C84B90],eax mov [L00C84B8C],eax mov [L00C84B54],eax mov [L00C84B88],eax mov [L00C84B50],eax mov [L00C84B84],eax mov [L00C84B80],eax mov [L00C84B7C],eax mov [L00C84B78],eax mov [L00C84B74],eax mov [L00C84B70],eax jz L004762E2 push eax push L00C85274 call esi push 00000001h push L00C85278 call esi L004762E2: push 00000001h push L00C85278 call esi mov esi,[KERNEL32.dll!InitializeCriticalSection] push L00C852C8 call esi push L00C852B0 call esi push L00C85298 call esi push L00C85280 call esi mov ecx,00000027h xor eax,eax mov edi,L00C84CCC mov ebp,00006054h rep stosd mov ecx,00000027h mov edi,L00C84D68 rep stosd mov eax,00006053h mov ebx,00006055h mov [L00C84E18],eax mov [L00C84E1C],eax mov eax,0000605Ah mov edi,00006056h mov [L00C84EC0],eax mov [L00C84EC4],eax mov [L00C84F80],eax mov [L00C84F84],eax mov eax,0000605Bh mov esi,00006057h mov [L00C84F98],eax mov [L00C84F9C],eax mov eax,0000605Eh mov edx,00006058h mov [L00C84FC8],eax mov [L00C84FCC],eax mov eax,0000605Fh mov ecx,00006059h mov [L00C84FE0],eax mov [L00C84FE4],eax mov eax,00006060h mov [L00C84E30],ebp mov [L00C84FF8],eax mov [L00C84FFC],eax mov eax,00006061h mov [L00C84E34],ebp mov [L00C85010],eax mov [L00C85014],eax mov eax,00006062h mov [L00C84E48],ebx mov [L00C85028],eax mov [L00C8502C],eax mov eax,0000606Ah mov [L00C84E4C],ebx mov [L00C84E60],edi mov [L00C84E64],edi mov [L00C84E78],esi mov [L00C84E7C],esi mov [L00C84E90],edx mov [L00C84E94],edx mov [L00C84EA8],ecx mov [L00C84EAC],ecx mov dword ptr [L00C84ED8],00006053h mov dword ptr [L00C84EDC],00006053h mov [L00C84EF0],ebp mov [L00C84EF4],ebp mov [L00C84F08],ebx mov [L00C84F0C],ebx mov [L00C84F20],edi mov [L00C84F24],edi mov [L00C84F38],esi mov [L00C84F3C],esi mov [L00C84F50],edx mov [L00C84F54],edx mov [L00C84F68],ecx mov [L00C84F6C],ecx mov dword ptr [L00C84FB0],0000605Ch mov dword ptr [L00C84FB4],0000605Dh mov [L00C85040],eax mov [L00C85044],eax mov eax,00006071h mov [L00C850E8],eax mov [L00C850EC],eax mov [L00C851A8],eax mov [L00C851AC],eax mov eax,00006072h mov edi,0000606Dh mov [L00C851C0],eax mov [L00C851C4],eax mov eax,00006075h mov esi,0000606Eh mov [L00C851F0],eax mov [L00C851F4],eax mov eax,00006076h mov ebp,0000606Bh mov [L00C85208],eax mov [L00C8520C],eax mov eax,00006077h mov [L00C85088],edi mov [L00C85220],eax mov [L00C85224],eax mov eax,00006078h mov [L00C8508C],edi mov [L00C85148],edi mov [L00C8514C],edi mov ebx,0000606Ch mov [L00C850A0],esi mov [L00C850A4],esi mov [L00C85160],esi mov [L00C85164],esi mov [L00C85238],eax mov [L00C8523C],eax pop edi mov [L00C85058],ebp mov [L00C8505C],ebp mov edx,0000606Fh mov ecx,00006070h mov [L00C85118],ebp mov [L00C8511C],ebp mov eax,00006079h pop esi mov [L00C85070],ebx mov [L00C85074],ebx mov [L00C85130],ebx mov [L00C85134],ebx pop ebp mov [L00C850B8],edx mov [L00C850BC],edx mov [L00C850D0],ecx mov [L00C850D4],ecx mov dword ptr [L00C85100],0000606Ah mov dword ptr [L00C85104],0000606Ah mov [L00C85178],edx mov [L00C8517C],edx mov [L00C85190],ecx mov [L00C85194],ecx mov dword ptr [L00C851D8],00006073h mov dword ptr [L00C851DC],00006074h mov [L00C85250],eax mov [L00C85254],eax pop ebx retn ;------------------------------------------------------------------------------ Align 8 L004765E0: push esi push edi xor edi,edi xor esi,esi L004765E6: mov eax,[esi+L00C84D68] cmp eax,edi jz L004765F9 push eax call SUB_L004D4F9E add esp,00000004h L004765F9: mov eax,[esi+L00C84CCC] cmp eax,edi jz L0047660C push eax call SUB_L004D4F9E add esp,00000004h L0047660C: add esi,00000004h cmp esi,0000009Ch jl L004765E6 mov ecx,[L00C84B54] cmp ecx,edi jz L0047665E mov eax,[L00C84B8C] cmp eax,edi jz L0047665E push eax push ecx call SUB_L004CB8E0 mov eax,[L00C84B88] mov ecx,[L00C84B50] push eax push ecx call SUB_L004CB8E0 add esp,00000010h mov [L00C84B50],edi mov [L00C84B54],edi mov [L00C84B88],edi mov [L00C84B8C],edi L0047665E: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476670: mov eax,[esp+04h] test eax,eax mov [L00C852E0],eax jz L004766AF mov ecx,[eax+04h] push 0000018Dh push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L004766AF push SSZ00506B88_MouseManager__SetCapture__either call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852E0],00000000h L004766AF: retn ;------------------------------------------------------------------------------ SUB_L004766B0: mov eax,[L00C85274] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004766C0: mov eax,[L00C85278] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004766D0: mov eax,[L00C83640] push esi test eax,eax jnz L004766E1 mov eax,00000011h jmp L004766FB L004766E1: mov eax,[esp+08h] cmp eax,00000014h jnz L004766FB mov ecx,[L00C8527C] test ecx,ecx jg L00476705 inc ecx mov [L00C8527C],ecx L004766FB: mov ecx,[L00C8527C] test ecx,ecx jle L00476712 L00476705: cmp dword ptr [L00C85274],00000014h jz L00476743 push 00000014h jmp L0047672D L00476712: cmp eax,00000011h jnz L00476724 cmp dword ptr [L00C85274],00000011h jz L00476743 push 00000011h jmp L0047672D L00476724: cmp [L00C85274],eax jz L00476743 push eax L0047672D: mov esi,[KERNEL32.dll!InterlockedExchange] push L00C85274 call esi push 00000001h push L00C85278 call esi L00476743: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476750: inc [L00C8527C] retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476760: mov eax,[L00C8527C] dec eax mov [L00C8527C],eax jns L00476777 mov dword ptr [L00C8527C],00000000h L00476777: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476780: sub esp,00000018h xor eax,eax push ebx push ebp push esi push edi xor ebx,ebx jmp L0047678F L0047678D: xor eax,eax L0047678F: mov [ebx+L00C84E24],eax mov [ebx+L00C84E28],eax mov eax,[ebx+L00C84E18] mov ecx,[ebx+L00C84E1C] cmp eax,ecx mov [esp+10h],eax jg L00476869 jmp L004767B9 L004767B5: mov eax,[esp+10h] L004767B9: push eax call SUB_L004B9530 xor edx,edx xor ecx,ecx mov dx,[eax+06h] mov cx,[eax+04h] lea esi,[eax+08h] add esp,00000004h lea ebp,[eax+edx*2+08h] xor eax,eax mov ax,[esi] lea edi,[ebp+eax*2+00h] xor eax,eax test ecx,ecx jle L004767FE add edi,00000004h L004767E7: cmp word ptr [edi],03E0h jz L004767F8 inc eax add edi,00000002h cmp eax,ecx jl L004767E7 jmp L004767FE L004767F8: mov [ebx+L00C84E20],al L004767FE: xor eax,eax test edx,edx jle L00476822 L00476804: xor edi,edi mov di,[esi] cmp word ptr [ebp+edi*2+04h],03E0h jz L0047681C inc eax add esi,00000002h cmp eax,edx jl L00476804 jmp L00476822 L0047681C: mov [ebx+L00C84E21],al L00476822: lea eax,[ebx+L00C84E24] mov dword ptr [ebx+L00C84E2C],00000001h cmp ecx,[eax] jle L0047683C mov [ebx+L00C84E24],ecx L0047683C: mov ecx,[ebx+L00C84E28] lea eax,[ebx+L00C84E28] cmp edx,ecx jle L00476852 mov [ebx+L00C84E28],edx L00476852: mov eax,[esp+10h] mov ecx,[ebx+L00C84E1C] inc eax cmp eax,ecx mov [esp+10h],eax jle L004767B5 L00476869: add ebx,00000018h cmp ebx,00000450h jl L0047678D xor ebx,ebx mov [esp+14h],ebx L0047687E: lea ecx,[ebx+00006053h] push ecx call SUB_L004B9530 mov esi,eax xor eax,eax add esp,00000004h mov ax,[esi+04h] test al,01h mov [L00C84C30+ebx*4],eax jz L004768A8 dec eax mov [L00C84C30+ebx*4],eax L004768A8: xor edx,edx mov eax,00000001h mov dx,[esi+06h] mov [esp+1Ch],eax mov [esp+18h],eax mov eax,[L00C84C30+ebx*4] mov [L00C84B94+ebx*4],edx mov ecx,edx lea edx,[eax-01h] imul eax,ecx shl eax,1 push eax mov [esp+28h],ecx mov [esp+24h],edx call SUB_L004D4FA9 mov [L00C84D68+ebx*4],eax mov eax,[L00C84B94+ebx*4] imul eax,[L00C84C30+ebx*4] shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[L00C84B94+ebx*4] mov edi,[L00C84D68+ebx*4] imul ecx,[L00C84C30+ebx*4] shl ecx,1 mov edx,ecx mov [L00C84CCC+ebx*4],eax xor eax,eax shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L00C84B94+ebx*4] mov edi,[L00C84CCC+ebx*4] imul ecx,[L00C84C30+ebx*4] shl ecx,1 mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[L00C84C30+ebx*4] mov ecx,[L00C84D68+ebx*4] push eax push ecx call SUB_L004B9E80 push 00000000h lea edx,[esp+2Ch] push 00000000h push edx push esi push SUB_L004B95C0 call SUB_L004B9EA0 mov eax,[L00C84C30+ebx*4] mov ecx,[L00C84CCC+ebx*4] push eax push ecx call SUB_L004B9E80 push 00000000h lea edx,[esp+48h] push 00000000h push edx push esi push SUB_L004B95C0 call SUB_L004B9EA0 add esp,00000040h cmp ebx,00000017h jge L00476A6F mov ecx,[L00C852E8] test ecx,ecx jz L00476A6F mov eax,[L00C84B94+ebx*4] mov edx,[L00C84D68+ebx*4] test eax,eax mov dword ptr [esp+10h],00000000h jle L00476A6F L004769E0: mov eax,[L00C84C30+ebx*4] xor esi,esi test eax,eax jle L00476A57 L004769ED: mov ax,[edx] test ax,ax jz L00476A48 mov edi,eax mov ebx,ecx shr edi,05h and edi,000007E0h mov bp,ax sar ebx,0Ah imul edi,ebx mov ebx,ecx and eax,0000FFFFh sar ebx,05h and ebx,0000001Fh and ecx,0000001Fh shr bp,0Ah imul ebx,ebp shr eax,0Ah imul eax,ecx and edi,0000FC1Fh or edi,ebx mov ebx,[esp+14h] and edi,0000FFE0h sar eax,05h or edi,eax mov [edx],di mov ecx,[L00C852E8] L00476A48: mov eax,[L00C84C30+ebx*4] add edx,00000002h inc esi cmp esi,eax jl L004769ED L00476A57: mov eax,[esp+10h] mov esi,[L00C84B94+ebx*4] inc eax cmp eax,esi mov [esp+10h],eax jl L004769E0 L00476A6F: mov al,[L00C8C4A4] test al,al jz L00476B31 mov eax,[L00C84B94+ebx*4] mov ecx,[L00C84D68+ebx*4] xor esi,esi test eax,eax jle L00476AD2 L00476A90: mov eax,[L00C84C30+ebx*4] xor edx,edx test eax,eax jle L00476AC6 L00476A9D: mov ax,[ecx] test ax,ax jz L00476AB7 mov edi,eax and eax,0000001Fh and edi,0000FFE0h shl edi,1 or edi,eax mov [ecx],di L00476AB7: mov eax,[L00C84C30+ebx*4] add ecx,00000002h inc edx cmp edx,eax jl L00476A9D L00476AC6: mov eax,[L00C84B94+ebx*4] inc esi cmp esi,eax jl L00476A90 L00476AD2: mov al,[L00C8C4A4] test al,al jz L00476B31 mov eax,[L00C84B94+ebx*4] mov ecx,[L00C84CCC+ebx*4] xor esi,esi test eax,eax jle L00476B31 L00476AEF: mov eax,[L00C84C30+ebx*4] xor edx,edx test eax,eax jle L00476B25 L00476AFC: mov ax,[ecx] test ax,ax jz L00476B16 mov edi,eax and eax,0000001Fh and edi,0000FFE0h shl edi,1 or edi,eax mov [ecx],di L00476B16: mov eax,[L00C84C30+ebx*4] add ecx,00000002h inc edx cmp edx,eax jl L00476AFC L00476B25: mov eax,[L00C84B94+ebx*4] inc esi cmp esi,eax jl L00476AEF L00476B31: inc ebx cmp ebx,00000027h mov [esp+14h],ebx jl L0047687E mov esi,00000004h xor eax,eax mov edx,esi mov [L00C84B80],edx L00476B4E: mov ecx,[eax+L00C84C30] cmp ecx,esi jle L00476B5A mov esi,ecx L00476B5A: mov ecx,[eax+L00C84B94] cmp ecx,edx jle L00476B66 mov edx,ecx L00476B66: add eax,00000004h cmp eax,0000009Ch jl L00476B4E lea eax,[esi+03h] push L00C84B8C and al,FCh push edx push eax mov [L00C84B80],edx mov [L00C84B84],eax call SUB_L004CB8F0 mov ecx,[L00C84B84] mov [L00C84B54],eax mov eax,[L00C84B80] push L00C84B88 push eax push ecx call SUB_L004CB8F0 add esp,00000018h mov [L00C84B50],eax pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476BC0: push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call edi test esi,esi jl L00476C34 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00476C34 mov edx,[L00C84E10] xor ecx,ecx mov cl,[eax+L00C84E20] push L00C852B0 add ecx,edx mov edx,[esp+14h] mov [edx],ecx mov edx,[esp+18h] xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] add ecx,eax mov [edx],ecx call ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00476C34: mov eax,[esp+10h] mov ecx,[L00C84E10] mov edx,[esp+14h] push L00C852B0 mov [eax],ecx mov eax,[L00C84E0C] mov [edx],eax call ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476C60: push L00C85298 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00C84B58] mov edx,[esp+04h] push L00C85298 mov ecx,[L00C6CAE4+eax*4] mov [edx],ecx mov eax,[L00C84B58] mov edx,[esp+0Ch] mov ecx,[L00C6CA48+eax*4] mov [edx],ecx call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 8 SUB_L00476CA0: mov eax,[L00C852E0] mov ecx,[esp+04h] cmp eax,ecx jnz L00476CB7 mov dword ptr [L00C852E0],00000000h L00476CB7: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476CC0: push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call edi test esi,esi jl L00476D23 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00476D23 xor ecx,ecx xor edx,edx mov cl,[eax+L00C84E20] mov dl,[eax+L00C84E21] mov eax,[L00C84E0C] mov esi,ecx mov ecx,[L00C84E10] mov edi,edx add esi,ecx add edi,eax jmp L00476D2F L00476D23: mov esi,[L00C84E10] mov edi,[L00C84E0C] L00476D2F: push L00C852B0 call ebx mov eax,[esp+10h] test eax,eax jnz L00476D73 cmp esi,[L00C88348] jl L00476D6C call SUB_L00447080 add eax,[L00C88348] cmp esi,eax jge L00476D6C cmp edi,[L00C8834C] jl L00476D6C call SUB_L00447090 add eax,[L00C8834C] cmp edi,eax jl L00476D73 L00476D6C: pop edi pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ L00476D73: call SUB_L004470A0 add eax,[L00C88348] sub esi,eax call SUB_L004470B0 add eax,[L00C8834C] sub edi,eax mov eax,esi test esi,esi jle L00476DD3 neg eax shl eax,1 cmp edi,eax jge L00476DA1 pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L00476DA1: mov ecx,esi lea eax,[edi+edi] neg ecx cmp eax,ecx jge L00476DB5 pop edi pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L00476DB5: cmp eax,esi jge L00476DC2 pop edi pop esi mov eax,00000002h pop ebx retn ;------------------------------------------------------------------------------ L00476DC2: lea edx,[esi+esi] xor eax,eax cmp edi,edx pop edi setge al pop esi add eax,00000003h pop ebx retn ;------------------------------------------------------------------------------ L00476DD3: neg eax shl eax,1 cmp edi,eax jle L00476DE4 pop edi pop esi mov eax,00000004h pop ebx retn ;------------------------------------------------------------------------------ L00476DE4: mov ecx,esi lea eax,[edi+edi] neg ecx cmp eax,ecx jle L00476DF8 pop edi pop esi mov eax,00000005h pop ebx retn ;------------------------------------------------------------------------------ L00476DF8: cmp eax,esi jle L00476E05 pop edi pop esi mov eax,00000006h pop ebx retn ;------------------------------------------------------------------------------ L00476E05: lea edx,[esi+esi] xor eax,eax cmp edi,edx pop edi setle al dec eax pop esi and eax,00000007h pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00476E20: push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call edi test esi,esi jl L00476E83 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00476E83 xor ecx,ecx xor edx,edx mov cl,[eax+L00C84E20] mov dl,[eax+L00C84E21] mov eax,[L00C84E0C] mov esi,ecx mov ecx,[L00C84E10] mov edi,edx add esi,ecx add edi,eax jmp L00476E8F L00476E83: mov esi,[L00C84E10] mov edi,[L00C84E0C] L00476E8F: push L00C852B0 call ebx call SUB_L00447080 mov ebx,eax call SUB_L00447090 mov ecx,eax mov eax,ebx cdq sub eax,edx mov edx,[L00C88348] sar eax,1 neg edx sub edx,eax mov eax,ecx mov ecx,[L00C8834C] add esi,edx cdq sub eax,edx sar eax,1 neg ecx sub ecx,eax mov eax,esi imul eax,esi add edi,ecx lea edx,[eax+eax*8] mov eax,edi imul eax,edi shl eax,04h add edx,eax xor eax,eax cmp edx,00064000h pop edi pop esi pop ebx setle al retn ;------------------------------------------------------------------------------ Align 8 SUB_L00476EF0: sub esp,00000008h push ebx push esi mov esi,[KERNEL32.dll!EnterCriticalSection] push edi push L00C85280 call esi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L00476F5B lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00476F5B mov edx,[esp+18h] xor ecx,ecx mov cl,[eax+L00C84E20] sub edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov [L00C84E10],edx mov edx,[esp+1Ch] sub edx,ecx mov [L00C84E0C],edx jmp L00476F6E L00476F5B: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov [L00C84E10],eax mov [L00C84E0C],ecx L00476F6E: push L00C852B0 call ebx push L00C85280 call esi mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L00476FCD lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00476FCD mov ecx,[L00C84E10] xor edx,edx mov dl,[eax+L00C84E20] add edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] add ecx,eax mov [esp+10h],edx mov [esp+0Ch],ecx jmp L00476FE0 L00476FCD: mov edx,[L00C84E10] mov eax,[L00C84E0C] mov [esp+10h],edx mov [esp+0Ch],eax L00476FE0: push L00C852B0 call ebx mov eax,[L00C852E0] pop edi pop esi pop ebx test eax,eax jnz L00477011 mov ecx,[esp+00h] mov edx,[esp+04h] push 00000001h push eax push ecx push edx call SUB_L004560E0 add esp,00000010h mov [L00C852E0],eax test eax,eax jz L00477071 L00477011: mov ecx,[eax+04h] push 00000355h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477047 push SSZ00506C3C_MouseManager__OnLButtonDown__eit call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852E0],00000000h add esp,00000008h retn ;------------------------------------------------------------------------------ L00477047: mov ecx,[L00C852E0] lea edx,[esp+00h] lea eax,[esp+04h] push edx push eax call SUB_L00457D20 mov eax,[esp+00h] mov ecx,[L00C852E0] push eax mov eax,[esp+08h] mov edx,[ecx] push eax call [edx+14h] L00477071: add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00477080: sub esp,00000008h push ebx push esi mov esi,[KERNEL32.dll!EnterCriticalSection] push edi push L00C85280 call esi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L004770EB lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L004770EB mov edx,[esp+18h] xor ecx,ecx mov cl,[eax+L00C84E20] sub edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov [L00C84E10],edx mov edx,[esp+1Ch] sub edx,ecx mov [L00C84E0C],edx jmp L004770FE L004770EB: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov [L00C84E10],eax mov [L00C84E0C],ecx L004770FE: push L00C852B0 call ebx push L00C85280 call esi mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L0047715D lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L0047715D mov ecx,[L00C84E10] xor edx,edx mov dl,[eax+L00C84E20] add edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] add ecx,eax mov [esp+10h],edx mov [esp+0Ch],ecx jmp L00477170 L0047715D: mov edx,[L00C84E10] mov eax,[L00C84E0C] mov [esp+10h],edx mov [esp+0Ch],eax L00477170: push L00C852B0 call ebx mov eax,[L00C852E0] pop edi pop esi pop ebx test eax,eax jz L00477217 mov ecx,[eax+04h] push 0000036Bh push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L004771BD push SSZ00506CC4_MouseManager__OnLButtonUp__eithe call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852E0],00000000h add esp,00000008h retn ;------------------------------------------------------------------------------ L004771BD: mov ecx,[L00C852E0] test ecx,ecx jz L00477217 mov eax,[ecx+4Ch] test eax,eax jz L004771F3 cmp eax,[L00B294C8] jnz L004771F3 mov eax,[esp+00h] mov edx,[ecx] push eax mov eax,[esp+08h] push eax call [edx+18h] mov dword ptr [L00C852E0],00000000h add esp,00000008h retn ;------------------------------------------------------------------------------ L004771F3: lea edx,[esp+00h] lea eax,[esp+04h] push edx push eax call SUB_L00457D20 mov eax,[esp+00h] mov ecx,[L00C852E0] push eax mov eax,[esp+08h] mov edx,[ecx] push eax call [edx+18h] L00477217: add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00477220: mov ecx,[L00B294B8] push ebx push esi push edi test ecx,ecx jz L00477280 mov eax,[esp+10h] mov edx,[esp+14h] mov [esp+10h],eax mov [esp+14h],edx lea eax,[esp+14h] lea edx,[esp+10h] push eax push edx call SUB_L00457D20 mov edx,[esp+14h] mov ecx,[L00B294B8] push edx mov edx,[esp+14h] mov eax,[ecx] push edx call [eax+10h] test eax,eax jz L004772DC mov edx,[esp+14h] mov ecx,[L00B294B8] push 00000000h push edx mov edx,[esp+18h] mov eax,[ecx] push edx call [eax+04h] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00477280: mov esi,[L00B294DC] test esi,esi jz L004772DC mov edi,[esp+14h] mov ebx,[esp+10h] L00477292: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov [esp+18h],ebx mov [esp+1Ch],edi call SUB_L00457D20 mov eax,[esi+6Ch] test eax,eax jz L004772D5 mov eax,[esp+14h] mov ecx,[esp+10h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jz L004772D5 mov edx,[esi] mov ecx,esi call [edx+000000A0h] test eax,eax jz L004772E2 L004772D5: mov esi,[esi+40h] test esi,esi jnz L00477292 L004772DC: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L004772E2: mov ecx,[esp+14h] mov edx,[esp+10h] mov eax,[esi] push 00000000h push ecx push edx mov ecx,esi call [eax+04h] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00477300: sub esp,00000008h push ebx push esi mov esi,[KERNEL32.dll!EnterCriticalSection] push edi push L00C85280 call esi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L0047736B lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L0047736B mov edx,[esp+18h] xor ecx,ecx mov cl,[eax+L00C84E20] sub edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov [L00C84E10],edx mov edx,[esp+1Ch] sub edx,ecx mov [L00C84E0C],edx jmp L0047737E L0047736B: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov [L00C84E10],eax mov [L00C84E0C],ecx L0047737E: push L00C852B0 call ebx push L00C85280 call esi mov edi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call esi test edi,edi jl L004773DD lea eax,[edi+edi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L004773DD mov ecx,[L00C84E10] xor edx,edx mov dl,[eax+L00C84E20] add edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] add ecx,eax mov [esp+10h],edx mov [esp+0Ch],ecx jmp L004773F0 L004773DD: mov edx,[L00C84E10] mov eax,[L00C84E0C] mov [esp+10h],edx mov [esp+0Ch],eax L004773F0: push L00C852B0 call ebx mov eax,[L00C852E0] pop edi pop esi pop ebx test eax,eax jnz L0047741E mov ecx,[esp+00h] mov edx,[esp+04h] push ecx push edx call SUB_L00477220 add esp,00000008h mov [L00C852E0],eax test eax,eax jz L0047747E L0047741E: mov ecx,[eax+04h] push 000003ABh push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477454 push SSZ00506D48_MouseManager__OnRButtonDown__eit call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852E0],00000000h add esp,00000008h retn ;------------------------------------------------------------------------------ L00477454: mov ecx,[L00C852E0] lea edx,[esp+00h] lea eax,[esp+04h] push edx push eax call SUB_L00457D20 mov eax,[esp+00h] mov ecx,[L00C852E0] push eax mov eax,[esp+08h] mov edx,[ecx] push eax call [edx+1Ch] L0047747E: add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00477490: sub esp,00000008h push ebx push esi mov esi,[KERNEL32.dll!EnterCriticalSection] push edi push L00C85280 call esi mov edi,[KERNEL32.dll!LeaveCriticalSection] mov ebx,[L00C8526C] push L00C85280 call edi push L00C852B0 call esi test ebx,ebx jl L004774FB lea eax,[ebx+ebx*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L004774FB mov edx,[esp+18h] xor ecx,ecx mov cl,[eax+L00C84E20] sub edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov [L00C84E10],edx mov edx,[esp+1Ch] sub edx,ecx mov [L00C84E0C],edx jmp L0047750E L004774FB: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov [L00C84E10],eax mov [L00C84E0C],ecx L0047750E: push L00C852B0 call edi push L00C85280 call esi mov ebx,[L00C8526C] push L00C85280 call edi push L00C852B0 call esi test ebx,ebx jl L0047756D lea eax,[ebx+ebx*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L0047756D mov ecx,[L00C84E10] xor edx,edx mov dl,[eax+L00C84E20] add edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] add ecx,eax mov [esp+10h],edx mov [esp+0Ch],ecx jmp L00477580 L0047756D: mov edx,[L00C84E10] mov eax,[L00C84E0C] mov [esp+10h],edx mov [esp+0Ch],eax L00477580: push L00C852B0 call edi mov eax,[L00C852E0] test eax,eax jz L00477609 mov ecx,[L00B294C8] test ecx,ecx jz L004775AB cmp [eax+4Ch],ecx jnz L004775AB mov dword ptr [L00C852E0],00000000h jmp L00477609 L004775AB: mov ecx,[eax+04h] push 000003C9h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L004775DF push SSZ00506DD0_MouseManager__OnRButtonUp__eithe call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852E0],00000000h jmp L00477609 L004775DF: mov ecx,[L00C852E0] lea edx,[esp+0Ch] lea eax,[esp+10h] push edx push eax call SUB_L00457D20 mov eax,[esp+0Ch] mov ecx,[L00C852E0] push eax mov eax,[esp+14h] mov edx,[ecx] push eax call [edx+20h] L00477609: push L00C85280 call esi mov ebx,[L00C8526C] push L00C85280 call edi push L00C852B0 call esi test ebx,ebx jl L0047765B lea eax,[ebx+ebx*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L0047765B xor ecx,ecx xor ebx,ebx mov cl,[eax+L00C84E20] mov bl,[eax+L00C84E21] mov eax,[L00C84E0C] mov esi,ecx mov ecx,[L00C84E10] add esi,ecx add ebx,eax jmp L00477667 L0047765B: mov esi,[L00C84E10] mov ebx,[L00C84E0C] L00477667: push L00C852B0 call edi mov ecx,[L00B294C8] test ecx,ecx jz L004776AC mov edx,[ecx+30h] cmp esi,edx jle L004776AC mov eax,[ecx+34h] cmp ebx,eax jle L004776AC mov edi,[ecx+20h] add edi,edx cmp esi,edi jge L004776AC mov edx,[ecx+24h] add edx,eax cmp ebx,edx jge L004776AC test ecx,ecx jz L004776A2 mov eax,[ecx] push 00000001h call [eax] L004776A2: mov dword ptr [L00B294C8],00000000h L004776AC: pop edi pop esi pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004776C0: push ebx push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebx,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebx push L00C852B0 call edi test esi,esi jl L00477736 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00477736 mov edx,[esp+10h] xor ecx,ecx mov cl,[eax+L00C84E20] push L00C852B0 sub edx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov [L00C84E10],edx mov edx,[esp+18h] sub edx,ecx mov [L00C84E0C],edx call ebx call SUB_L00477D40 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L00477736: mov eax,[esp+10h] mov ecx,[esp+14h] push L00C852B0 mov [L00C84E10],eax mov [L00C84E0C],ecx call ebx call SUB_L00477D40 pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00477760: sub esp,00000008h push ebx push ebp push esi push edi call SUB_L004779A0 mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebp,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebp push L00C852B0 call edi test esi,esi jl L004777CA lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L004777CA xor ecx,ecx xor ebx,ebx mov cl,[eax+L00C84E20] mov bl,[eax+L00C84E21] mov eax,[L00C84E0C] mov edi,ecx mov ecx,[L00C84E10] add edi,ecx add ebx,eax jmp L004777D6 L004777CA: mov edi,[L00C84E10] mov ebx,[L00C84E0C] L004777D6: push L00C852B0 call ebp mov eax,[L00C852E0] xor ebp,ebp cmp eax,ebp mov [esp+10h],edi mov [esp+14h],ebx jz L00477852 mov edx,[eax+04h] push 00000413h push SSZ00506C0C_C__publish004_client_src_shared_ push edx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477820 push SSZ00507008_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h mov [L00C852E0],ebp jmp L00477852 L00477820: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx mov ecx,[L00C852E0] call SUB_L00457D20 mov eax,[esp+14h] mov ecx,[L00C852E0] push eax mov eax,[esp+14h] mov edx,[ecx] push eax call [edx+2Ch] mov [esp+10h],edi mov [esp+14h],ebx L00477852: push ebp push ebp push ebx push edi call SUB_L004560E0 mov esi,eax add esp,00000010h cmp esi,ebp jz L0047788E mov ecx,[esi+04h] push 00000423h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047788E push SSZ00506F90_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h xor esi,esi L0047788E: mov eax,[L00B294B4] cmp eax,ebp jz L004778D4 mov edx,[eax+04h] push 0000042Bh push SSZ00506C0C_C__publish004_client_src_shared_ push edx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L004778C1 push SSZ00506EF0_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h jmp L004778D4 L004778C1: mov ecx,[L00B294B4] cmp ecx,ebp jz L004778D4 cmp esi,ecx jz L004778D4 mov eax,[ecx] call [eax+28h] L004778D4: cmp esi,ebp mov [L00B294B4],esi jz L0047793F mov ecx,[esi+04h] push 00000439h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047790E push SSZ00506E54_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h mov [L00B294B4],ebp jmp L0047793F L0047790E: lea edx,[esp+14h] lea eax,[esp+10h] push edx push eax mov ecx,esi call SUB_L00457D20 mov eax,[esp+14h] mov ecx,[esp+10h] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+24h] mov edx,[esi] mov ecx,esi call [edx+30h] mov [esp+10h],edi mov [esp+14h],ebx L0047793F: mov eax,[L00C852E0] cmp eax,ebp jz L00477989 mov ecx,[eax+04h] push 0000044Ah push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L0047797E push SSZ00507008_MouseManager__Update__either_poi call SUB_L004C7EC0 add esp,00000004h mov [L00C852E0],ebp pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0047797E: mov ecx,[L00C852E0] mov edx,[ecx] call [edx+30h] L00477989: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004779A0: sub esp,00000018h push ebx push ebp push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebp,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebp push L00C852B0 call edi test esi,esi jl L00477A09 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00477A09 mov ecx,[L00C84E10] xor ebx,ebx mov bl,[eax+L00C84E20] add ebx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] mov esi,ecx add esi,eax mov [esp+10h],esi jmp L00477A1B L00477A09: mov edx,[L00C84E0C] mov ebx,[L00C84E10] mov [esp+10h],edx mov esi,edx L00477A1B: push L00C852B0 call ebp call [KERNEL32.dll!GetTickCount] mov ebp,eax mov eax,[L00B189F8] test eax,eax mov [esp+18h],ebx mov [esp+14h],esi jz L00477A40 mov ecx,[eax+04h] jmp L00477A45 L00477A40: mov ecx,FEEDBEEFh L00477A45: push 00000476h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477A6A push SSZ00507200_MouseManager__UpdateHelpHovering call SUB_L004C7EC0 add esp,00000004h L00477A6A: lea eax,[esp+14h] lea ecx,[esp+18h] push eax push ecx mov ecx,[L00B189F8] call SUB_L00457D20 mov edx,[esp+14h] mov eax,[esp+18h] push 00000001h push edx push eax call SUB_L00408640 mov esi,eax add esp,0000000Ch test esi,esi jz L00477AC3 mov ecx,[esi+04h] push 00000480h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00477AC3 push SSZ0050717C_MouseManager__UpdateHelpHovering call SUB_L004C7EC0 add esp,00000004h xor esi,esi L00477AC3: xor edi,edi test esi,esi jz L00477AE3 mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L00477AE3 mov eax,[esi] mov ecx,esi mov edi,esi call [eax+2Ch] test eax,eax jnz L00477AEC xor edi,edi L00477AE3: xor eax,eax mov [L00C852F4],eax jmp L00477AF1 L00477AEC: mov eax,[L00C852F4] L00477AF1: mov ecx,[L00C852EC] mov edx,00000004h cmp ecx,edx ja L00477B25 jmp [L00477CD8+ecx*4] L00477B07: test edi,edi mov [L00C852F0],ebp jz L00477B25 cmp edi,eax jz L00477B25 mov [L00C852F4],edi mov dword ptr [L00C852EC],00000001h L00477B25: mov eax,[L00B294C8] test eax,eax jz L00477BAB L00477B2E: mov ecx,[eax+04h] push 000004F4h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477B56 push SSZ005070E0_MouseManager__UpdateHelpHovering call SUB_L004C7EC0 add esp,00000004h L00477B56: mov ecx,[L00B294C8] mov edx,[ecx+30h] cmp ebx,edx jle L00477B80 mov eax,[ecx+34h] mov esi,[esp+10h] cmp esi,eax jle L00477B80 mov edi,[ecx+20h] add edi,edx cmp ebx,edi jge L00477B80 mov edx,[ecx+24h] add edx,eax cmp esi,edx jl L00477BAB L00477B80: mov al,[L00C3E64F] test al,al jnz L00477BAB mov eax,[L00C852E0] test eax,eax jz L00477B97 cmp [eax+4Ch],ecx jz L00477BAB L00477B97: test ecx,ecx jz L00477BA1 mov eax,[ecx] push 00000001h call [eax] L00477BA1: mov dword ptr [L00B294C8],00000000h L00477BAB: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L00477BB3: cmp [L00C84B4C],ebx jnz L00477BE9 mov ecx,[L00C84B48] mov eax,[esp+10h] cmp ecx,eax jnz L00477BE9 mov ecx,[L00C852F0] mov eax,[L00504618] sub ebp,ecx cmp ebp,eax jc L00477BE9 mov dword ptr [L00C852EC],00000002h jmp L00477B25 L00477BE9: mov edx,[esp+10h] mov [L00C84B4C],ebx mov [L00C84B48],edx jmp L00477B25 L00477BFE: test eax,eax jz L00477C69 mov cl,[L00504614] test cl,cl jz L00477C69 mov ecx,[eax+04h] push 000004B9h push SSZ00506C0C_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L00477C40 push SSZ00507088_MouseManager__UpdateHelpHovering call SUB_L004C7EC0 add esp,00000004h mov dword ptr [L00C852F4],00000000h jmp L00477C69 L00477C40: mov edx,[L00C852F4] push 00000000h lea ecx,[esp+20h] mov eax,[edx+7Ch] push eax push ecx call SUB_L0049CCC0 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+1Ch] push edx call SUB_L004BC750 L00477C69: mov [L00C852F8],ebp mov dword ptr [L00C852EC],00000003h jmp L00477B25 L00477C7E: mov eax,[L00B294C8] test eax,eax jz L00477C8D mov [L00C852EC],edx L00477C8D: sub ebp,[L00C852F8] cmp ebp,000007D0h jc L00477B25 mov [L00C852EC],edx jmp L00477B25 L00477CAA: mov al,[L00504624] test al,al jnz L00477CBD mov dword ptr [L00C852EC],00000000h L00477CBD: mov eax,[L00B294C8] test eax,eax jnz L00477B2E pop edi pop esi pop ebp mov [L00C852EC],eax pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 L00477CD8: dd L00477B07 dd L00477BB3 dd L00477BFE dd L00477C7E dd L00477CAA Align 8 SUB_L00477CF0: mov eax,[esp+08h] mov ecx,[esp+04h] push eax push ecx call SUB_L00408FA0 add esp,00000008h test eax,eax jz L00477D1B movsx edx,[eax+24h] mov ecx,[esp+0Ch] mov [ecx],edx movsx edx,[eax+26h] mov eax,[esp+10h] mov [eax],edx retn ;------------------------------------------------------------------------------ L00477D1B: mov ecx,[esp+0Ch] mov edx,[esp+10h] mov dword ptr [ecx],FFFFFFFFh mov dword ptr [edx],FFFFFFFFh retn ;------------------------------------------------------------------------------ SUB_L00477D30: mov eax,[esp+04h] mov [L00C85270],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L00477D40: sub esp,00000008h push 00000000h call SUB_L00476CC0 mov [esp+08h],eax mov eax,[L00C884DC] add esp,00000004h test eax,eax jz L00477D6D mov edx,[eax+00000154h] xor ecx,ecx test edx,edx setz cl mov [esp+00h],ecx jmp L00477D75 L00477D6D: mov dword ptr [esp+00h],00000001h L00477D75: push ebx push ebp push esi push edi mov edi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call edi mov ebp,[KERNEL32.dll!LeaveCriticalSection] mov esi,[L00C8526C] push L00C85280 call ebp push L00C852B0 call edi test esi,esi jl L00477DD7 lea eax,[esi+esi*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00477DD7 mov ecx,[L00C84E10] xor edx,edx mov dl,[eax+L00C84E20] xor ebx,ebx mov bl,[eax+L00C84E21] mov eax,[L00C84E0C] mov esi,edx add esi,ecx add ebx,eax jmp L00477DE3 L00477DD7: mov esi,[L00C84E10] mov ebx,[L00C84E0C] L00477DE3: push L00C852B0 call ebp call SUB_L00447080 mov edi,eax call SUB_L00447090 mov ecx,eax mov eax,edi cdq sub eax,edx mov edx,[L00C88348] sar eax,1 neg edx sub edx,eax mov eax,ecx mov ecx,[L00C8834C] add esi,edx cdq sub eax,edx push L00C85280 sar eax,1 neg ecx sub ecx,eax add ebx,ecx call [KERNEL32.dll!EnterCriticalSection] mov edi,[L00C85274] test edi,edi jnz L00477E62 mov eax,[esp+14h] cmp eax,FFFFFFFFh jnz L00477E43 mov edi,00000011h jmp L00477E62 L00477E43: mov ecx,ebx imul esi,esi imul ecx,ebx lea edx,[esi+esi*8] shl ecx,04h add edx,ecx cmp edx,00064000h jg L00477E60 mov edi,00000008h L00477E60: add edi,eax L00477E62: mov eax,[esp+10h] test eax,eax jz L00477E6D add edi,00000017h L00477E6D: cmp edi,FFFFFFFFh jl L00477EDF cmp edi,0000002Eh jge L00477EDF cmp edi,[L00C8526C] jz L00477EDF push 00000001h push L00C85278 call [KERNEL32.dll!InterlockedExchange] lea esi,[edi+edi*2] push L00C85298 shl esi,03h mov edx,[esi+L00C84E24] mov ebx,[esi+L00C84E28] mov [esp+18h],edx call [KERNEL32.dll!EnterCriticalSection] mov eax,[esp+14h] push L00C85298 mov [L00C84E08],eax mov [L00C84E04],ebx call ebp mov ecx,[esi+L00C84E18] mov [L00C8526C],edi mov dword ptr [L00C85268],00000000h mov [L00C84E14],ecx L00477EDF: push L00C85280 call ebp pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00477EF0: mov eax,[L00C88338] push esi test eax,eax jnz L004780AB cmp dword ptr [L00C8526C],FFFFFFFFh jz L004780AB mov eax,[L00C85270] test eax,eax jz L004780AB mov esi,[KERNEL32.dll!EnterCriticalSection] push edi mov edi,[esp+0Ch] test edi,edi jz L00477F2E push L00C852C8 call esi L00477F2E: push L00C852B0 call esi push L00C85280 call esi push L00C85298 call esi mov eax,[L00C84E10] mov ecx,[L00C84E0C] mov edx,[L00C8526C] mov esi,[KERNEL32.dll!LeaveCriticalSection] mov [L00C84B6C],eax mov eax,[L00C84E14] mov [L00C84B68],ecx mov [L00C84B5C],edx mov ecx,[L00C6CAE4+eax*4] mov edx,[L00C6CA48+eax*4] push L00C852B0 mov [L00C84B58],eax mov [L00C84B64],ecx mov [L00C84B60],edx call esi push L00C85280 call esi push L00C85298 call esi mov al,[L0050CCB2] test al,al jz L0047809F mov eax,[L00C84B90] test eax,eax jz L0047807F mov eax,[L00C84B8C] test eax,eax jz L0047807F mov eax,[L00D1B0F4] mov dword ptr [esp+0Ch],00000000h test eax,eax jz L00478000 mov eax,[L00D1B0E4] lea edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L00478013 mov eax,[L00D1B0E4] push eax mov ecx,[eax] call [ecx+6Ch] jmp L0047807F L00478000: mov edx,[L00D1B864] push edx call [USER32.dll!GetDC] mov [esp+0Ch],eax jmp L00478017 L00478013: mov eax,[esp+0Ch] L00478017: test eax,eax jz L0047807F mov ecx,[L00C84B8C] mov edx,[L00C84B54] push 00000000h push 00000000h push ecx mov ecx,[L00C84B70] push edx mov edx,[L00C84B74] push ecx mov ecx,[L00C84B78] push edx mov edx,[L00C84B7C] push ecx push edx push eax call SUB_L004CB860 mov eax,[L00D1B0F4] add esp,00000024h test eax,eax jz L0047806D mov eax,[L00D1B0E4] mov edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+68h] jmp L0047807F L0047806D: mov eax,[esp+0Ch] mov ecx,[L00D1B864] push eax push ecx call [USER32.dll!ReleaseDC] L0047807F: call SUB_L004780B0 mov eax,[L00C852E4] test eax,eax jnz L0047809F call SUB_L00478240 push 00000000h push L00C85278 call [KERNEL32.dll!InterlockedExchange] L0047809F: test edi,edi pop edi jz L004780AB push L00C852C8 call esi L004780AB: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004780B0: sub esp,00000028h mov edx,[L00C84B64] mov eax,[L005073D4] mov ecx,[L005073D0] push ebx mov ebx,[L00C84B68] push ebp push edi mov edi,[L00C84B6C] add edx,edi mov [esp+30h],eax mov eax,[L00C84B60] mov [esp+2Ch],ecx mov [esp+1Ch],edx lea ecx,[esp+14h] lea edx,[esp+24h] xor ebp,ebp add eax,ebx push ecx push edx mov [L00C852E4],ebp mov [esp+30h],ebp mov [esp+2Ch],ebp mov [esp+1Ch],edi mov [esp+20h],ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L0047820C mov eax,[L00D1B0F4] mov [esp+0Ch],ebp cmp eax,ebp jz L00478152 mov eax,[L00D1B0E4] lea edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L00478165 mov eax,[L00D1B0E4] push eax mov ecx,[eax] call [ecx+6Ch] jmp L0047820C L00478152: mov edx,[L00D1B864] push edx call [USER32.dll!GetDC] mov [esp+0Ch],eax jmp L00478169 L00478165: mov eax,[esp+0Ch] L00478169: cmp eax,ebp jz L0047820C push esi push eax call [GDI32.dll!CreateCompatibleDC] mov esi,eax mov eax,[L00B186EC] cmp eax,ebp jz L00478196 mov eax,[L00B186E0] mov ecx,[esp+10h] push ebp push eax push ecx call [GDI32.dll!SelectPalette] L00478196: mov edx,[L00C84B54] mov ebp,[GDI32.dll!SelectObject] push edx push esi call ebp mov ecx,[L00C84B60] mov edx,[L00C84B64] mov [esp+14h],eax mov eax,[esp+10h] push L00CC0020 push ebx push edi push eax push ecx push edx push 00000000h push 00000000h push esi call [GDI32.dll!BitBlt] mov eax,[L00D1B0F4] test eax,eax jz L004781EA mov eax,[L00D1B0E4] mov edx,[esp+10h] push edx push eax mov ecx,[eax] call [ecx+68h] jmp L004781FC L004781EA: mov eax,[esp+10h] mov ecx,[L00D1B864] push eax push ecx call [USER32.dll!ReleaseDC] L004781FC: mov edx,[esp+14h] push edx push esi call ebp push esi call [GDI32.dll!DeleteDC] pop esi L0047820C: mov eax,[L00C84B64] mov ecx,[L00C84B60] mov [L00C84B7C],edi pop edi mov [L00C84B78],ebx pop ebp mov [L00C84B74],eax mov [L00C84B70],ecx mov dword ptr [L00C84B90],00000001h pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00478240: sub esp,00000010h mov eax,[L00C84B6C] mov edx,[L00C884DC] mov ecx,[L00C84B68] mov [esp+0Ch],eax mov eax,[edx+00000154h] mov [esp+08h],ecx test eax,eax jnz L00478281 mov al,[L00C88307] test al,al jz L00478281 mov eax,[L00C84B58] mov ecx,[L00C6CB80+eax*4] mov [esp+04h],ecx jmp L00478292 L00478281: mov edx,[L00C84B58] mov eax,[L00C6CC1C+edx*4] mov [esp+04h],eax L00478292: mov eax,[esp+04h] test eax,eax jz L004783DC push ebx mov ebx,[L00C84B8C] test ebx,ebx push ebp jz L004782F0 mov eax,[L00C84B60] mov edx,[L00C84B88] xor ebp,ebp test eax,eax jle L004782F0 push esi push edi L004782BD: mov ecx,[L00C84B64] mov esi,ebx add ecx,ecx mov edi,edx mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[L00C84B84] lea eax,[ecx+ecx] add edx,eax add ebx,eax mov eax,[L00C84B60] inc ebp cmp ebp,eax jl L004782BD pop edi pop esi L004782F0: mov edx,[L00C84B80] mov eax,[L00C84B84] mov ecx,[L00C84B88] push edx mov edx,[L00C84B60] push eax mov eax,[L00C84B64] push ecx mov ecx,[esp+18h] push 00000000h push 00000000h push edx push eax push ecx push SUB_L004B9B80 call SUB_L004438E0 mov eax,[L00D1B0F4] add esp,00000024h test eax,eax pop ebp mov dword ptr [esp+04h],00000000h pop ebx jz L00478360 mov eax,[L00D1B0E4] lea ecx,[esp+00h] push ecx push eax mov edx,[eax] call [edx+44h] cmp eax,887601C2h jnz L00478372 mov eax,[L00D1B0E4] push eax mov edx,[eax] call [edx+6Ch] add esp,00000010h retn ;------------------------------------------------------------------------------ L00478360: mov eax,[L00D1B864] push eax call [USER32.dll!GetDC] mov [esp+00h],eax jmp L00478376 L00478372: mov eax,[esp+00h] L00478376: test eax,eax jz L004783DC mov ecx,[L00C84B88] mov edx,[L00C84B50] push 00000000h push 00000000h push ecx mov ecx,[L00C84B60] push edx mov edx,[L00C84B64] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+24h] push ecx push edx push eax call SUB_L004CB860 mov eax,[L00D1B0F4] add esp,00000024h test eax,eax jz L004783CA mov eax,[L00D1B0E4] mov edx,[esp+00h] push edx push eax mov ecx,[eax] call [ecx+68h] add esp,00000010h retn ;------------------------------------------------------------------------------ L004783CA: mov eax,[esp+00h] mov ecx,[L00D1B864] push eax push ecx call [USER32.dll!ReleaseDC] L004783DC: add esp,00000010h retn ;------------------------------------------------------------------------------ SUB_L004783E0: sub esp,00000018h push ebx mov ebx,[L005073D0] mov eax,ebx push ebp imul eax,[L00C8834C] push esi mov esi,[L0054B290] mov ebp,[L005073D4] sub esi,eax mov eax,[L00C88348] push edi sub esi,eax mov [esp+18h],esi jns L0047841C mov ecx,ebp imul ecx,ebx add esi,ecx mov [esp+18h],esi L0047841C: mov edx,[L00C84B68] mov eax,[L00C84B6C] imul edx,ebx lea ecx,[edx+eax] mov eax,ebp imul eax,ebx mov edx,eax sub edx,esi cmp ecx,edx jg L00478555 mov edi,[L00C84B60] dec edi imul edi,ebx add edi,[L00C84B64] add edi,ecx cmp edi,edx jle L00478551 mov edx,[L00B189FC] add eax,eax mov [esp+10h],ecx xor edi,edi lea edx,[edx+esi*2] mov esi,eax mov eax,edx xor ecx,ecx sub eax,esi mov [esp+24h],edx mov [esp+20h],eax mov eax,[L00C84B60] test eax,eax mov [esp+14h],edi mov [esp+1Ch],ecx jle L00478605 L0047848E: mov eax,[L00C84B68] add eax,ecx test eax,eax jl L00478517 cmp eax,ebp jge L00478517 mov eax,[L00C84B64] xor esi,esi test eax,eax jle L00478517 mov eax,[esp+10h] lea ecx,[edi+edi] mov edi,[esp+20h] lea eax,[edx+eax*2] sub edi,edx L004784B8: mov edx,[L00C84B6C] add edx,esi test edx,edx jl L004784FA cmp edx,ebx jge L004784FA imul ebp,ebx mov edx,[esp+18h] sub ebp,edx mov edx,[esp+10h] add edx,esi cmp edx,ebp jl L004784E1 mov dx,[edi+eax] jmp L004784E4 L004784E1: mov dx,[eax] L004784E4: mov ebx,[L00C84B8C] mov [ecx+ebx],dx mov ebx,[L005073D0] mov ebp,[L005073D4] L004784FA: mov edx,[L00C84B64] inc esi add eax,00000002h add ecx,00000002h cmp esi,edx jl L004784B8 mov edi,[esp+14h] mov ecx,[esp+1Ch] mov edx,[esp+24h] L00478517: mov eax,[esp+10h] mov esi,[L00C84B84] add eax,ebx add edi,esi mov [esp+10h],eax mov eax,[L00C84B60] inc ecx mov [esp+14h],edi cmp ecx,eax mov [esp+1Ch],ecx jl L0047848E pop edi pop esi pop ebp mov dword ptr [L00C84B90],00000001h pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ L00478551: cmp ecx,edx jl L00478557 L00478555: sub esi,eax L00478557: mov eax,[L00B189FC] xor edi,edi mov [esp+10h],ecx lea edx,[eax+esi*2] mov eax,[L00C84B60] mov [esp+24h],edx xor edx,edx test eax,eax mov [esp+14h],edx jle L00478605 L0047857C: mov eax,[L00C84B68] add eax,edi test eax,eax jl L004785E2 cmp eax,ebp jge L004785E2 mov eax,[L00C84B64] xor esi,esi test eax,eax jle L004785E2 mov eax,[esp+10h] lea ecx,[edx+edx] mov edx,[esp+24h] lea eax,[edx+eax*2] L004785A4: mov edx,[L00C84B6C] add edx,esi test edx,edx jl L004785CD cmp edx,ebx jge L004785CD mov ebx,[L00C84B8C] mov dx,[eax] mov [ecx+ebx],dx mov ebx,[L005073D0] mov ebp,[L005073D4] L004785CD: mov edx,[L00C84B64] inc esi add eax,00000002h add ecx,00000002h cmp esi,edx jl L004785A4 mov edx,[esp+14h] L004785E2: mov eax,[L00C84B84] mov esi,[esp+10h] add edx,eax mov eax,[L00C84B60] add esi,ebx inc edi cmp edi,eax mov [esp+14h],edx mov [esp+10h],esi jl L0047857C L00478605: pop edi pop esi pop ebp mov dword ptr [L00C84B90],00000001h pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00478620: sub esp,00000014h push ebx push ebp mov ebp,[L005073D0] push esi mov eax,ebp mov esi,[L0054B290] imul eax,[L00C8834C] mov ebx,[L005073D4] sub esi,eax mov eax,[L00C88348] push edi sub esi,eax mov [esp+18h],esi jns L0047865C mov ecx,ebx imul ecx,ebp add esi,ecx mov [esp+18h],esi L0047865C: mov edx,[L00C84B68] mov eax,[L00C84B6C] imul edx,ebp lea ecx,[edx+eax] mov eax,ebx imul eax,ebp mov edx,eax sub edx,esi cmp ecx,edx jg L0047887B mov edi,[L00C84B60] dec edi imul edi,ebp add edi,[L00C84B64] add edi,ecx cmp edi,edx jle L00478877 mov edx,[L00B189FC] add eax,eax mov [esp+10h],ecx lea edi,[edx+esi*2] mov edx,edi mov [esp+14h],edi sub edx,eax mov eax,[esp+30h] test eax,eax mov [esp+1Ch],edx jz L0047879D mov eax,[L00C84B60] xor ecx,ecx test eax,eax mov [esp+30h],ecx jle L004789CD mov edx,[esp+2Ch] mov esi,[esp+28h] mov [esp+2Ch],esi lea eax,[edx+edx] mov [esp+20h],eax L004786E5: mov edx,[L00C84B68] lea eax,[edx+ecx] test eax,eax jl L0047876B cmp eax,ebx jge L0047876B mov eax,[L00C84B64] xor edx,edx test eax,eax jle L0047876B mov eax,[esp+10h] lea ecx,[edi+eax*2] mov eax,[esp+14h] mov edi,esi mov esi,[esp+1Ch] sub esi,eax L00478714: mov eax,[L00C84B6C] add eax,edx test eax,eax jl L00478753 cmp eax,ebp jge L00478753 mov ax,[edi] test ax,ax jz L00478753 imul ebx,ebp mov ebp,[esp+18h] sub ebx,ebp mov ebp,[esp+10h] add ebp,edx cmp ebp,ebx jl L00478744 mov [esi+ecx],ax jmp L00478747 L00478744: mov [ecx],ax L00478747: mov ebx,[L005073D4] mov ebp,[L005073D0] L00478753: mov eax,[L00C84B64] inc edx add edi,00000002h add ecx,00000002h cmp edx,eax jl L00478714 mov edi,[esp+14h] mov ecx,[esp+30h] L0047876B: mov eax,[esp+10h] mov esi,[esp+2Ch] mov edx,[esp+20h] add eax,ebp add esi,edx mov [esp+10h],eax mov eax,[L00C84B60] inc ecx cmp ecx,eax mov [esp+2Ch],esi mov [esp+30h],ecx jl L004786E5 pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047879D: mov eax,[L00C84B60] xor ecx,ecx test eax,eax mov [esp+30h],ecx jle L004789CD mov eax,[esp+2Ch] add eax,eax mov [esp+20h],eax mov eax,[esp+28h] mov [esp+2Ch],eax L004787C2: mov eax,[L00C84B68] add eax,ecx test eax,eax jl L00478845 cmp eax,ebx jge L00478845 mov eax,[L00C84B64] xor esi,esi test eax,eax jle L00478845 mov ecx,[esp+10h] mov eax,[esp+2Ch] lea ecx,[edi+ecx*2] mov edi,edx sub edi,[esp+14h] L004787ED: mov edx,[L00C84B6C] add edx,esi test edx,edx jl L00478828 cmp edx,ebp jge L00478828 imul ebx,ebp mov edx,[esp+18h] sub ebx,edx mov edx,[esp+10h] add edx,esi cmp edx,ebx mov dx,[eax] jl L00478819 mov [ecx+edi],dx jmp L0047881C L00478819: mov [ecx],dx L0047881C: mov ebx,[L005073D4] mov ebp,[L005073D0] L00478828: mov edx,[L00C84B64] inc esi add eax,00000002h add ecx,00000002h cmp esi,edx jl L004787ED mov edx,[esp+1Ch] mov edi,[esp+14h] mov ecx,[esp+30h] L00478845: mov eax,[esp+20h] mov esi,[esp+2Ch] add esi,eax mov eax,[esp+10h] add eax,ebp inc ecx mov [esp+10h],eax mov eax,[L00C84B60] cmp ecx,eax mov [esp+2Ch],esi mov [esp+30h],ecx jl L004787C2 pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L00478877: cmp ecx,edx jl L0047887D L0047887B: sub esi,eax L0047887D: mov edx,[L00B189FC] mov [esp+10h],ecx lea eax,[edx+esi*2] mov [esp+1Ch],eax mov eax,[esp+30h] test eax,eax jz L00478939 mov eax,[L00C84B60] xor edi,edi test eax,eax jle L004789CD mov edx,[esp+2Ch] mov ebp,[esp+28h] lea eax,[edx+edx] mov [esp+2Ch],eax L004788B8: mov edx,[L00C84B68] lea eax,[edx+edi] test eax,eax jl L00478915 cmp eax,ebx jge L00478915 mov eax,[L00C84B64] xor edx,edx test eax,eax jle L00478915 mov eax,[esp+1Ch] mov esi,ebp lea ecx,[eax+ecx*2] L004788DD: mov eax,[L00C84B6C] add eax,edx test eax,eax jl L00478901 cmp eax,[L005073D0] jge L00478901 mov ax,[esi] test ax,ax jz L00478901 mov [ecx],ax mov ebx,[L005073D4] L00478901: mov eax,[L00C84B64] inc edx add esi,00000002h add ecx,00000002h cmp edx,eax jl L004788DD mov ecx,[esp+10h] L00478915: mov eax,[esp+2Ch] mov esi,[L005073D0] add ebp,eax mov eax,[L00C84B60] add ecx,esi inc edi cmp edi,eax mov [esp+10h],ecx jl L004788B8 pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L00478939: mov eax,[L00C84B60] xor edi,edi test eax,eax jle L004789CD mov edx,[esp+2Ch] mov ebp,[esp+28h] lea eax,[edx+edx] mov [esp+2Ch],eax L00478957: mov edx,[L00C84B68] lea eax,[edx+edi] test eax,eax jl L004789B1 cmp eax,ebx jge L004789B1 mov eax,[L00C84B64] xor esi,esi test eax,eax jle L004789B1 mov eax,[esp+1Ch] lea ecx,[eax+ecx*2] mov eax,ebp L0047897C: mov edx,[L00C84B6C] add edx,esi test edx,edx jl L0047899C cmp edx,[L005073D0] jge L0047899C mov dx,[eax] mov [ecx],dx mov ebx,[L005073D4] L0047899C: mov edx,[L00C84B64] inc esi add eax,00000002h add ecx,00000002h cmp esi,edx jl L0047897C mov ecx,[esp+10h] L004789B1: mov eax,[esp+2Ch] mov esi,[L005073D0] add ebp,eax mov eax,[L00C84B60] add ecx,esi inc edi cmp edi,eax mov [esp+10h],ecx jl L00478957 L004789CD: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004789E0: mov eax,[L00C884DC] sub esp,00000008h mov ecx,[eax+00000154h] test ecx,ecx jnz L00478B44 mov al,[L00C88307] test al,al jz L00478B44 mov eax,[L00C852FC] test eax,eax jnz L00478B44 push ebx push ebp xor ebp,ebp push esi push edi mov dword ptr [L00C852FC],00000001h mov [esp+14h],ebp L00478A24: mov eax,[ebp+L00C84B94] mov esi,[ebp+L00C84CCC] test eax,eax mov dword ptr [esp+10h],00000000h jle L00478AD1 lea ebx,[ebp+L00C84C30] L00478A46: mov eax,[ebx] xor edi,edi test eax,eax jle L00478ABA lea ebx,[ebp+L00C84C30] L00478A54: mov cx,[esi] test cx,cx jz L00478AB0 and ecx,0000FFFFh mov eax,ecx shr eax,0Ah and eax,0000001Fh cmp eax,00000001h jge L00478A74 mov eax,00000001h L00478A74: mov edx,ecx shr edx,05h and edx,0000001Fh cmp edx,00000001h jge L00478A86 mov edx,00000001h L00478A86: and ecx,0000001Fh cmp ecx,00000001h jge L00478A93 mov ecx,00000001h L00478A93: shl eax,05h or eax,edx shl eax,05h or eax,ecx mov ecx,[L00512174] sar eax,cl mov cx,[L00C43E18+eax*2] mov [esi],cx L00478AB0: mov eax,[ebx] add esi,00000002h inc edi cmp edi,eax jl L00478A54 L00478ABA: mov eax,[esp+10h] mov ecx,[ebp+L00C84B94] inc eax cmp eax,ecx mov [esp+10h],eax jl L00478A46 L00478AD1: mov al,[L00C8C4A4] test al,al jz L00478B2D mov eax,[ebp+L00C84B94] mov ecx,[ebp+L00C84CCC] xor edi,edi test eax,eax jle L00478B2D lea esi,[ebp+L00C84C30] L00478AF2: mov eax,[esi] xor edx,edx test eax,eax jle L00478B22 L00478AFA: mov ax,[ecx] test ax,ax jz L00478B18 mov ebx,eax mov ebp,[esp+14h] and ebx,0000FFE0h and eax,0000001Fh shl ebx,1 or ebx,eax mov [ecx],bx L00478B18: mov eax,[esi] add ecx,00000002h inc edx cmp edx,eax jl L00478AFA L00478B22: mov eax,[ebp+L00C84B94] inc edi cmp edi,eax jl L00478AF2 L00478B2D: add ebp,00000004h cmp ebp,0000009Ch mov [esp+14h],ebp jl L00478A24 pop edi pop esi pop ebp pop ebx L00478B44: add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00478B50: mov eax,[L00C85270] sub esp,0000002Ch test eax,eax push esi jz L00478DB4 push ebx push ebp lea eax,[esp+10h] push edi push eax call [USER32.dll!GetCursorPos] mov edx,[L00D1B864] lea ecx,[esp+14h] push ecx push edx call [USER32.dll!ScreenToClient] mov esi,[KERNEL32.dll!EnterCriticalSection] push L00C85280 call esi mov edi,[KERNEL32.dll!LeaveCriticalSection] mov ebx,[L00C8526C] push L00C85280 call edi push L00C852B0 call esi test ebx,ebx jl L00478BDF lea eax,[ebx+ebx*2] shl eax,03h mov ecx,[eax+L00C84E2C] test ecx,ecx jz L00478BDF mov ecx,[L00C84E10] xor ebx,ebx mov bl,[eax+L00C84E20] add ebx,ecx xor ecx,ecx mov cl,[eax+L00C84E21] mov eax,[L00C84E0C] mov ebp,ecx add ebp,eax jmp L00478BEB L00478BDF: mov ebx,[L00C84E10] mov ebp,[L00C84E0C] L00478BEB: push L00C852B0 call edi mov eax,[esp+14h] cmp eax,ebx mov ebx,[esp+18h] jnz L00478C02 cmp ebx,ebp jz L00478C7B L00478C02: push L00C85280 mov [esp+14h],eax call esi mov ebp,[L00C8526C] push L00C85280 call edi push L00C852B0 call esi test ebp,ebp jl L00478C55 lea ebp,[ebp+ebp*2+00h] shl ebp,03h mov eax,[ebp+L00C84E2C] test eax,eax jz L00478C55 mov eax,[esp+10h] xor edx,edx mov dl,[ebp+L00C84E20] sub eax,edx mov [L00C84E10],eax xor eax,eax mov al,[ebp+L00C84E21] sub ebx,eax jmp L00478C5F L00478C55: mov ecx,[esp+10h] mov [L00C84E10],ecx L00478C5F: push L00C852B0 mov [L00C84E0C],ebx call edi call SUB_L00477D40 push 00000001h call SUB_L00477EF0 add esp,00000004h L00478C7B: push L00C852B0 call esi mov edx,[L00C84E10] mov eax,[L00C84E0C] push L00C852B0 mov [L00C84B6C],edx mov [L00C84B68],eax call edi push L00C85280 call esi mov eax,[L00C84E14] mov ecx,[L00C8526C] push L00C85280 mov [L00C84B5C],ecx lea ebp,[eax-00006053h] mov [L00C84B58],eax call edi push L00C85298 call esi mov edx,[L00C84C30+ebp*4] mov eax,[L00C84B94+ebp*4] push L00C85298 mov [L00C84B64],edx mov [L00C84B60],eax call edi mov edx,[L005073D0] mov ecx,[L005073D4] mov eax,[L00C84B6C] mov [esp+34h],edx mov edx,[L00C84B64] mov [esp+38h],ecx mov ecx,[L00C84B68] mov [esp+1Ch],eax add edx,eax mov eax,[L00C84B60] mov [esp+20h],ecx add eax,ecx mov [esp+24h],edx lea ecx,[esp+1Ch] lea edx,[esp+2Ch] xor esi,esi push ecx push edx mov [esp+38h],esi mov [esp+34h],esi mov [esp+30h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax pop edi pop ebp pop ebx jz L00478DB4 call SUB_L004783E0 call SUB_L004789E0 mov eax,[L00C884DC] cmp [eax+00000154h],esi jnz L00478D95 mov al,[L00C88307] test al,al jz L00478D95 mov eax,[L00C84B58] push 00000001h mov ecx,[L00C6CAE4+eax*4] mov edx,[L00C6CB80+eax*4] push ecx push edx call SUB_L00478620 add esp,0000000Ch pop esi add esp,0000002Ch retn ;------------------------------------------------------------------------------ L00478D95: mov eax,[L00C84B58] push 00000001h mov ecx,[L00C6CAE4+eax*4] mov edx,[L00C6CC1C+eax*4] push ecx push edx call SUB_L00478620 add esp,0000000Ch L00478DB4: pop esi add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00478DC0: mov eax,[L00C84B90] test eax,eax jz L00478E26 mov eax,[L00C84B84] mov ecx,[L00C84B8C] push 00000000h push eax push ecx call SUB_L00478620 mov edx,[L00C84B6C] mov eax,[L00C84B68] mov ecx,[L00C84B64] add esp,0000000Ch mov [L00C84B7C],edx mov edx,[L00C84B60] push 00000000h push L00C85278 mov [L00C84B78],eax mov [L00C84B74],ecx mov [L00C84B70],edx mov dword ptr [L00C84B90],00000001h call [KERNEL32.dll!InterlockedExchange] retn ;------------------------------------------------------------------------------ L00478E26: push 00000000h push L00C85278 mov dword ptr [L00C84B90],00000000h call [KERNEL32.dll!InterlockedExchange] retn ;------------------------------------------------------------------------------ Align 4 SUB_L00478E40: xor eax,eax mov [L00C8536C],eax mov [L00C85368],eax mov [L00C85364],eax mov [L00C85360],eax mov [L00C8535C],eax mov [L00C85350],eax mov [L00C85358],eax mov [L00C85354],eax mov [L00C884D4],eax retn ;------------------------------------------------------------------------------ SUB_L00478E70: mov eax,[esp+08h] mov ecx,[esp+04h] test eax,eax push esi jz L00478E88 movsx esi,[ecx+02h] movsx eax,[ecx] add esi,eax jmp L00478E92 L00478E88: movsx esi,[ecx+03h] movsx edx,[ecx+01h] add esi,edx L00478E92: mov eax,[esp+10h] sar esi,1 sub eax,00000000h jz L00478FC9 dec eax jz L00478F38 dec eax jz L00478ED7 mov eax,[L00C85390] test eax,eax jnz L00478EC8 push 00000000h push SSZ00507390_Bugger push SSZ0050734C_Someone_tried_to_call_GetZVal_wi call SUB_L004D1020 add esp,0000000Ch L00478EC8: mov eax,[L00C85390] inc eax mov [L00C85390],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L00478ED7: mov eax,[esp+14h] cmp eax,00000007h ja L00478FB5 jmp [CASE_PROCTABLE_00478FD0+eax*4] CASE_00478FD0_PROC0000: movsx eax,[ecx+01h] movsx ecx,[ecx] add eax,ecx pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0001: movsx eax,[ecx+01h] pop esi retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0002: movsx eax,[ecx+02h] movsx edx,[ecx+01h] add eax,edx pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0003: movsx eax,[ecx+02h] pop esi retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0004: movsx eax,[ecx+03h] movsx ecx,[ecx+02h] add eax,ecx pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0005: movsx eax,[ecx+03h] pop esi retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0006: movsx eax,[ecx+03h] movsx edx,[ecx] add eax,edx pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FD0_PROC0007: movsx eax,[ecx] pop esi retn ;------------------------------------------------------------------------------ L00478F38: mov eax,[esp+14h] cmp eax,00000007h ja L00478FB5 jmp [CASE_PROCTABLE_00478FF0+eax*4] CASE_00478FF0_PROC0000: movsx eax,[ecx+01h] movsx ecx,[ecx] add eax,ecx sar eax,1 add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0001: movsx eax,[ecx+01h] add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0002: movsx eax,[ecx+02h] movsx edx,[ecx+01h] add eax,edx sar eax,1 add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0003: movsx eax,[ecx+02h] add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0004: movsx eax,[ecx+03h] movsx ecx,[ecx+02h] add eax,ecx sar eax,1 add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0005: movsx eax,[ecx+03h] add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0006: movsx eax,[ecx+03h] movsx edx,[ecx] add eax,edx sar eax,1 add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ CASE_00478FF0_PROC0007: movsx eax,[ecx] add eax,esi pop esi sar eax,1 retn ;------------------------------------------------------------------------------ L00478FB5: push 00000000h push SSZ00507390_Bugger push SSZ0050730C_Someone_tried_to_call_GetZVal_wi call SUB_L004D1020 add esp,0000000Ch L00478FC9: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00478FD0: dd CASE_00478FD0_PROC0000 dd CASE_00478FD0_PROC0001 dd CASE_00478FD0_PROC0002 dd CASE_00478FD0_PROC0003 dd CASE_00478FD0_PROC0004 dd CASE_00478FD0_PROC0005 dd CASE_00478FD0_PROC0006 dd CASE_00478FD0_PROC0007 CASE_PROCTABLE_00478FF0: dd CASE_00478FF0_PROC0000 dd CASE_00478FF0_PROC0001 dd CASE_00478FF0_PROC0002 dd CASE_00478FF0_PROC0003 dd CASE_00478FF0_PROC0004 dd CASE_00478FF0_PROC0005 dd CASE_00478FF0_PROC0006 dd CASE_00478FF0_PROC0007 L00479010: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] mov ax,[edx+02h] mov cx,[esi+02h] cmp ax,cx jnz L00479032 movsx eax,[edx+06h] movsx ecx,[esi+06h] sub eax,ecx pop esi retn ;------------------------------------------------------------------------------ L00479032: movsx edx,cx movsx eax,ax sub eax,edx pop esi retn ;------------------------------------------------------------------------------ Align 8 L00479040: push esi mov esi,ecx push edi lea edi,[esi+70h] push edi call SUB_L0040CA30 add esp,00000004h test eax,eax jz L00479062 movsx eax,[esi+72h] movsx ecx,[edi] add eax,ecx pop edi sar eax,1 pop esi retn ;------------------------------------------------------------------------------ L00479062: movsx eax,[esi+73h] movsx edx,[esi+71h] add eax,edx pop edi sar eax,1 pop esi retn ;------------------------------------------------------------------------------ Align 16 L00479080: 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 L004790A0 mov eax,edi cdq sub eax,edx sar eax,1 mov edi,eax L004790A0: mov ax,[esi+28h] add eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 L004790B0: mov edx,[esp+04h] push esi mov eax,edx sar eax,1 lea esi,[eax+01h] and esi,00000003h test dl,01h movsx esi,[esi+ecx+70h] jnz L004790D6 movsx eax,[eax+ecx+70h] add eax,esi pop esi sar eax,1 retn 0004h ;------------------------------------------------------------------------------ L004790D6: mov ax,si pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 L004790E0: db 66h; 'f' db 0Fh; db BEh; '?' db 41h; 'A' db 70h; 'p' db 66h; 'f' db 0Fh; db BEh; '?' db 51h; 'Q' db 71h; 'q' 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 72h; 'r' 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 73h; 's' db 66h; 'f' db 3Bh; ';' db C8h; 'ˆ' db 7Dh; '}' db 03h; db 66h; 'f' db 8Bh; '<' db C1h; '' db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L00479110: push ecx mov eax,[esp+10h] mov ecx,[esp+0Ch] push ebx push ebp push esi push edi xor edi,edi push eax push ecx mov [esp+18h],edi call SUB_L004090B0 mov esi,eax add esp,00000008h test esi,esi jz L0047934D mov ebp,[esp+18h] mov [esp+20h],ebp L0047913F: cmp edi,00000100h jge L0047934D mov edx,[esi] mov ecx,esi call [edx+34h] test eax,eax jnz L00479342 mov eax,[esi] mov ecx,esi call [eax+1Ch] test eax,eax jz L0047920A mov ax,[esi+3Ch] and eax,0000FFFFh cmp eax,000001B5h jg L00479191 cmp eax,000001AEh jge L00479342 mov ecx,eax sub ecx,00000002h jz L00479342 jmp L0047919C L00479191: cmp eax,000001DBh jz L00479342 L0047919C: mov ecx,[esp+24h] mov ebx,00000001h sub ecx,00000002h jz L004791C6 mov edx,[L00C88544] lea ecx,[00000000h+eax*8] sub ecx,eax test byte ptr [edx+ecx*4],40h jnz L004791CB mov ebx,00000007h jmp L004791CB L004791C6: mov ebx,00000006h L004791CB: mov eax,[esi] mov ecx,esi call [eax+48h] mov edx,[esi] mov ecx,esi movsx edi,ax call [edx+44h] mov edx,[esp+10h] movsx ecx,ax mov eax,ebp inc edx add ebp,0000000Ch mov [esp+10h],edx mov [eax+04h],cx sub ecx,edi mov [esp+20h],ebp mov [eax],bx mov [eax+02h],di mov [eax+06h],cx mov [eax+08h],esi jmp L0047933E L0047920A: mov eax,[esi] mov ecx,esi call [eax+18h] test eax,eax jz L00479342 mov eax,[L00C884DC] xor ebx,ebx cmp esi,eax jz L00479342 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00479342 mov eax,[esi] mov ecx,esi call [eax+40h] mov edx,[esp+24h] mov ecx,eax mov eax,edx mov [esp+1Ch],ecx sub eax,00000002h jz L00479355 test ecx,00000240h jz L00479260 mov ebx,00000001h L00479260: test cl,40h jnz L00479275 test ch,02h jz L0047926D or ebx,00000002h L0047926D: test ch,04h jz L00479275 or ebx,00000004h L00479275: cmp edx,00000001h jnz L004792CA xor eax,eax mov ax,[esi+3Ch] cmp eax,00000846h jg L004792A0 jz L004792C7 cmp eax,00000692h jz L004792C7 cmp eax,000006F4h jle L004792A7 cmp eax,000006F6h jle L004792C7 jmp L004792A7 L004792A0: cmp eax,00000873h jz L004792C7 L004792A7: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L004792BD mov eax,[esi] mov ecx,esi call [eax+5Ch] test eax,eax jnz L004792C7 L004792BD: test dword ptr [esp+1Ch],20000000h jz L004792CA L004792C7: and ebx,FFFFFFFEh L004792CA: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L004792E8 mov ax,[esi+3Ch] cmp ax,3946h jc L004792E8 cmp ax,3964h ja L004792E8 and ebx,FFFFFFFEh L004792E8: mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L004792FE cmp word ptr [esi+3Ch],0082h jnz L004792FE and ebx,FFFFFFFEh L004792FE: test ebx,ebx jz L00479342 L00479302: mov edx,[esi] mov ecx,esi call [edx+70h] mov edi,eax mov eax,[esi] mov ecx,esi call [eax+44h] mov dx,[esi+28h] mov ecx,ebp mov ebp,[esp+10h] inc ebp mov [ecx],bx mov [esp+10h],ebp mov ebp,[esp+20h] add ebp,0000000Ch mov [ecx+02h],dx mov [esp+20h],ebp mov [ecx+04h],ax mov [ecx+06h],di mov [ecx+08h],esi L0047933E: mov edi,[esp+10h] L00479342: mov esi,[esi+1Ch] test esi,esi jnz L0047913F L0047934D: mov eax,edi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L00479355: mov ebx,00000006h jmp L00479302 Align 8 SUB_L00479360: sub esp,00000C04h mov eax,[esp+00000C1Ch] mov edx,[esp+00000C14h] and eax,00000007h mov ecx,[esp+00000C10h] mov [esp+00000C1Ch],eax xor eax,00000004h shl eax,02h push ebx push ebp mov ebx,[eax+L005072E0] mov ebp,[eax+L005072B8] mov eax,[esp+00000C20h] add edx,ebx mov ebx,[esp+00000C10h] add ecx,ebp mov ebp,[esp+00000C14h] mov dword ptr [ebx],FFFFFF80h mov [ebp+00h],eax mov eax,[esp+00000C28h] push eax push edx push ecx lea ecx,[esp+18h] push ecx call SUB_L00479110 lea edx,[eax+eax*2] lea ecx,[esp+1Ch] add esp,00000010h lea eax,[esp+edx*4+0Ch] cmp ecx,eax mov [esp+08h],eax jz L00479493 push esi push edi lea esi,[esp+1Ch] L004793EF: mov ecx,[esi] movsx edi,[esi-04h] test ecx,ecx jz L0047942F mov edx,[ecx] call [edx+1Ch] test eax,eax jz L0047942F cmp edi,[esp+00000C28h] jg L0047942F mov ecx,[esi] mov edx,[esp+00000C2Ch] push edx mov eax,[ecx] call [eax+4Ch] mov ecx,[ebx] movsx eax,ax cmp ecx,eax jge L00479425 mov [ebx],eax L00479425: cmp [ebp+00h],eax jge L0047946D mov [ebp+00h],eax jmp L0047946D L0047942F: mov ax,[esi-08h] test al,01h jz L00479446 cmp edi,[esp+00000C28h] jg L00479446 cmp [ebx],edi jge L00479446 mov [ebx],edi L00479446: test al,04h jz L0047946D cmp [esp+00000C28h],edi jnz L0047946D movsx ecx,[esi-06h] movsx eax,[esi-02h] mov edx,[ebp+00h] add eax,ecx cmp edx,eax jge L00479467 mov [ebp+00h],eax L00479467: cmp [ebx],ecx jle L0047946D mov [ebx],ecx L0047946D: mov ecx,[esp+10h] add esi,0000000Ch lea eax,[esi-08h] cmp eax,ecx jnz L004793EF mov eax,[ebp+00h] pop edi add eax,00000002h pop esi mov [ebp+00h],eax pop ebp pop ebx add esp,00000C04h retn ;------------------------------------------------------------------------------ L00479493: mov eax,[ebp+00h] add eax,00000002h mov [ebp+00h],eax pop ebp pop ebx add esp,00000C04h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004794B0: mov ecx,[L00C884DC] sub esp,00000C14h mov eax,[ecx] push ebx push ebp push esi push edi xor esi,esi call [eax+00000098h] test eax,eax jz L004794D3 mov esi,00000001h L004794D3: call SUB_L004BCED0 test eax,eax jnz L004794EF mov ecx,[L00C884DC] cmp word ptr [ecx+3Ch],03DBh jnz L004794EF mov esi,00000001h L004794EF: mov edx,[esp+00000C34h] mov ebx,[esp+00000C30h] mov edi,[esp+00000C2Ch] mov ebp,[esp+00000C28h] push esi push edx push ebx push edi lea eax,[esp+2Ch] push ebp lea ecx,[esp+24h] push eax push ecx call SUB_L00479360 push esi push edi lea edx,[esp+48h] push ebp push edx call SUB_L00479110 mov esi,eax push L00479010 push 0000000Ch lea eax,[esp+58h] push esi push eax call SUB_L004D7301 lea ecx,[esi+esi*2] add esp,0000003Ch inc esi lea eax,[esp+ecx*4+24h] mov ecx,00000080h mov word ptr [eax],0001h mov [eax+02h],cx mov [eax+04h],cx mov [eax+06h],cx mov dword ptr [eax+08h],00000000h mov eax,[esp+10h] cmp ebx,eax jge L00479577 mov [esp+00000C30h],eax L00479577: mov edx,[esp+00000C38h] mov ecx,eax lea eax,[esi+esi*2] mov dword ptr [esp+18h],000F4240h mov dword ptr [edx],FFFFFF80h mov dword ptr [esp+14h],FFFFFF80h lea edx,[esp+eax*4+24h] lea eax,[esp+24h] cmp eax,edx mov [esp+10h],ecx mov [esp+20h],edx jz L0047966C lea ebp,[esp+24h] sub ebp,0000000Ch L004795B8: test byte ptr [ebp+0Ch],01h jz L0047965E movsx edi,[ebp+0Eh] mov eax,edi sub eax,ecx cmp eax,00000010h jl L00479646 lea eax,[esp+24h] mov esi,ebp cmp ebp,eax jc L00479646 L004795D9: mov dx,[esi] test dl,06h jz L00479633 movsx ecx,[esi+04h] cmp ecx,[esp+14h] jl L00479633 mov eax,ecx neg eax lea ebx,[eax+edi] cmp ebx,00000010h jl L00479633 mov ebx,[esp+1Ch] cmp ecx,ebx jg L00479604 test dl,02h jnz L00479611 L00479604: test dl,04h jz L00479633 movsx edx,[esi+02h] cmp edx,ebx jg L00479633 L00479611: mov edx,[esp+00000C30h] add eax,edx test eax,eax jge L00479620 neg eax L00479620: cmp eax,[esp+18h] jge L00479633 mov edx,[esp+00000C38h] mov [esp+18h],eax mov [edx],ecx L00479633: sub esi,0000000Ch lea eax,[esp+24h] cmp esi,eax jnc L004795D9 mov ecx,[esp+10h] mov edx,[esp+20h] L00479646: movsx eax,[ebp+10h] cmp ecx,eax jge L00479654 mov ecx,eax mov [esp+10h],ecx L00479654: cmp [esp+14h],eax jge L0047965E mov [esp+14h],eax L0047965E: add ebp,0000000Ch lea eax,[ebp+0Ch] cmp eax,edx jnz L004795B8 L0047966C: mov ecx,[esp+00000C38h] xor eax,eax pop edi pop esi mov edx,[ecx] pop ebp cmp edx,FFFFFF80h pop ebx setnz al add esp,00000C14h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00479690: sub esp,00000010h mov eax,[L00C8536C] mov dword ptr [esp+0Ch],00000000h test eax,eax jnz L004796B2 mov ecx,[L00C884DC] mov dl,[ecx+72h] and edx,00000007h jmp L004796BE L004796B2: lea ecx,[eax+eax*4] xor edx,edx mov dl,[L00C852EC+ecx*4] L004796BE: mov ecx,[esp+1Ch] push ebx push ebp push esi test ecx,ecx mov [esp+0Ch],edx push edi jnz L004796E3 mov ecx,[esp+24h] xor eax,eax pop edi mov esi,[ecx] cmp esi,edx pop esi pop ebp pop ebx setnz al add esp,00000010h retn ;------------------------------------------------------------------------------ L004796E3: mov edi,[L00C83B64] mov ecx,[L00C83B5C] mov ebx,[L00C83B60] xor edx,edx cmp edi,00001400h mov [esp+2Ch],ecx setge dl test eax,eax mov ebp,edx jle L00479745 mov ecx,L00C85300 mov edx,eax L00479711: mov eax,[ecx+04h] test eax,eax jnz L0047973F mov al,[ecx] cmp al,[ecx+01h] jnz L0047973F and eax,000000FFh shl eax,02h mov esi,[eax+L005072B8] add edi,esi mov esi,[eax+L005072E0] movsx eax,[ecx+10h] add ebx,esi mov [esp+2Ch],eax L0047973F: add ecx,00000014h dec edx jnz L00479711 L00479745: mov esi,[esp+24h] mov edx,[esi] test dl,01h mov ecx,[L005072B8+edx*4] jz L004798F3 mov eax,[L005072E0+edx*4] add ecx,edi add eax,ebx test ebp,ebp jnz L00479797 test ecx,ecx jge L00479774 add ecx,00001400h L00479774: cmp ecx,00001400h jl L00479782 sub ecx,00001400h L00479782: test eax,eax jge L0047978B add eax,00001000h L0047978B: cmp eax,00001000h jl L00479797 sub eax,00001000h L00479797: mov esi,[esp+28h] mov dword ptr [esp+18h],00000000h push esi push edx mov edx,[esp+34h] push edx push eax push ecx call SUB_L004794B0 add esp,00000014h test eax,eax jnz L004797C0 mov dword ptr [esp+18h],00000001h L004797C0: mov eax,[esp+24h] mov esi,[eax] mov ecx,[L005072B4+esi*4] mov eax,[L005072DC+esi*4] add ecx,edi add eax,ebx test ebp,ebp jnz L00479809 test ecx,ecx jge L004797E6 add ecx,00001400h L004797E6: cmp ecx,00001400h jl L004797F4 sub ecx,00001400h L004797F4: test eax,eax jge L004797FD add eax,00001000h L004797FD: cmp eax,00001000h jl L00479809 sub eax,00001000h L00479809: lea edx,[esp+14h] push edx lea edx,[esi-01h] and edx,00000007h push edx mov edx,[esp+34h] push edx push eax push ecx call SUB_L004794B0 add esp,00000014h test eax,eax jnz L00479832 mov dword ptr [esp+18h],00000001h jmp L00479841 L00479832: mov eax,[esp+24h] mov ecx,[esp+14h] mov [esp+1Ch],ecx mov esi,[eax] dec esi L00479841: mov edx,[esp+24h] mov edx,[edx] mov ecx,[L005072BC+edx*4] mov eax,[L005072E4+edx*4] add ecx,edi add eax,ebx test ebp,ebp jnz L0047988A test ecx,ecx jge L00479867 add ecx,00001400h L00479867: cmp ecx,00001400h jl L00479875 sub ecx,00001400h L00479875: test eax,eax jge L0047987E add eax,00001000h L0047987E: cmp eax,00001000h jl L0047988A sub eax,00001000h L0047988A: inc edx lea edi,[esp+14h] and edx,00000007h push edi push edx mov edx,[esp+34h] push edx push eax push ecx call SUB_L004794B0 mov ecx,[esp+38h] add esp,00000014h test eax,eax jz L004798BF mov esi,[ecx] mov eax,[esp+18h] mov edx,[esp+14h] inc esi and esi,00000007h test eax,eax jz L004798E6 jmp L004798C3 L004798BF: mov edx,[esp+1Ch] L004798C3: mov eax,[ecx] cmp esi,eax jnz L004798DE mov edx,[esp+10h] xor ecx,ecx cmp eax,edx pop edi setnz cl pop esi pop ebp mov eax,ecx pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004798DE: mov eax,[esp+28h] mov [ecx],esi mov [eax],edx L004798E6: pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004798F3: mov eax,[L005072E0+edx*4] add ecx,edi add eax,ebx test ebp,ebp jnz L0047992F test ecx,ecx jge L0047990C add ecx,00001400h L0047990C: cmp ecx,00001400h jl L0047991A sub ecx,00001400h L0047991A: test eax,eax jge L00479923 add eax,00001000h L00479923: cmp eax,00001000h jl L0047992F sub eax,00001000h L0047992F: mov edi,[esp+28h] push edi push edx mov edx,[esp+34h] push edx push eax push ecx call SUB_L004794B0 add esp,00000014h test eax,eax jz L00479955 pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L00479955: mov ecx,[esp+10h] mov edx,[esi] xor eax,eax pop edi cmp edx,ecx pop esi pop ebp pop ebx setnz al add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00479970: mov ecx,[L00C884DC] mov eax,[ecx+00000208h] test eax,eax jz L004799A1 push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506128_Stopped_following_ call SUB_L004800A0 mov eax,[L00C884DC] mov dword ptr [eax+00000208h],00000000h L004799A1: mov eax,[L00C85358] test eax,eax jnz L004799CD mov ecx,[L00C85368] mov eax,[L00C8536C] cmp ecx,eax jnz L004799CD mov edx,[esp+08h] mov eax,[esp+04h] push 00000001h push edx push eax call SUB_L00479A90 add esp,0000000Ch L004799CD: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004799D0: mov ecx,[L00C884DC] mov eax,[ecx+00000208h] test eax,eax jz L00479A07 push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506128_Stopped_following_ call SUB_L004800A0 mov eax,[L00C884DC] mov dword ptr [eax+00000208h],00000000h mov ecx,[L00C884DC] L00479A07: mov eax,[esp+08h] push edi test eax,40000000h jz L00479A6F mov eax,[ecx+00000208h] mov edi,[L00D1B318] test eax,eax jz L00479A45 push 00000000h push 00000000h push 00000003h push 00000000h push SSZ00506128_Stopped_following_ call SUB_L004800A0 mov ecx,[L00C884DC] mov dword ptr [ecx+00000208h],00000000h L00479A45: mov eax,[L00C85358] test eax,eax jnz L00479A85 mov edx,[L00C85368] mov eax,[L00C8536C] cmp edx,eax jnz L00479A85 mov eax,[esp+08h] push 00000001h push edi push eax call SUB_L00479A90 add esp,0000000Ch pop edi retn ;------------------------------------------------------------------------------ L00479A6F: mov ecx,[L00D1B318] mov edx,[esp+08h] push 00000001h push ecx push edx call SUB_L00479A90 add esp,0000000Ch L00479A85: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00479A90: mov eax,[L00C8836C] sub esp,00000008h mov [L00C85388],eax mov eax,[L00C85358] push esi cmp eax,00000001h push edi jz L00479C9F mov ecx,[esp+14h] mov eax,[L00C8536C] dec ecx and ecx,00000007h cmp eax,00000004h mov [esp+14h],ecx jz L00479C9F mov eax,[L00C88300] test eax,eax jz L00479C9F mov edx,[esp+1Ch] lea eax,[esp+1Ch] push edx lea ecx,[esp+18h] push eax push ecx call SUB_L00479690 add esp,0000000Ch test eax,eax jz L00479C9F mov ecx,[L00C8536C] mov dl,[L00C85364] lea eax,[ecx+ecx*4] shl eax,02h mov [eax+L00C85302],dl mov dword ptr [eax+L00C85304],00000000h mov eax,[esp+18h] cmp eax,FFFFFFFFh jnz L00479B2E call SUB_L00476E20 mov ecx,[L00C8536C] neg eax sbb eax,eax inc eax L00479B2E: mov dl,[L00C8C490] test dl,dl lea edx,[ecx+ecx*4] jnz L00479B46 shl edx,02h mov [edx+L00C85308],al jmp L00479B50 L00479B46: shl edx,02h mov byte ptr [edx+L00C85308],01h L00479B50: test ecx,ecx jnz L00479B67 mov eax,[L00C884DC] mov dl,[eax+72h] and dl,07h mov [L00C85301],dl jmp L00479B73 L00479B67: mov al,[edx+L00C852EC] mov [edx+L00C85301],al L00479B73: lea esi,[ecx+ecx*4] shl esi,02h call [KERNEL32.dll!GetTickCount] mov edx,[esp+14h] mov [esi+L00C8530C],eax mov eax,[esp+1Ch] xor ecx,ecx mov [esi+L00C85310],al mov cl,[esi+L00C85301] cmp edx,ecx mov ecx,[L00C884DC] jnz L00479BB9 movsx edi,[ecx+28h] sub edi,eax cmp edi,0000000Bh jl L00479BB9 mov byte ptr [esi+L00C85309],01h jmp L00479BC0 L00479BB9: mov byte ptr [esi+L00C85309],00h L00479BC0: mov eax,[L00C8536C] mov [esi+L00C85300],dl inc eax mov [L00C8536C],eax lea eax,[eax+eax*4] cmp byte ptr [L00C852F4+eax*4],00h jz L00479BE5 or dl,80h mov [esp+14h],edx L00479BE5: call SUB_L004037D0 mov cl,[L00C85364] mov edx,[esp+14h] push eax push ecx lea eax,[esp+10h] push edx push eax call SUB_L00499560 add esp,00000010h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[L00C884D4] mov edx,[L00C85364] inc ecx inc edx and edx,000000FFh mov [L00C884D4],ecx mov [L00C85364],edx jnz L00479C40 mov dword ptr [L00C85364],00000001h L00479C40: mov ecx,[L00B29054] test ecx,ecx jz L00479C5A mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00B29054],00000000h L00479C5A: mov esi,[L00B294DC] test esi,esi jz L00479C9F L00479C64: mov edi,[esi+40h] cmp edi,DDDDDDDDh jz L00479C9F mov edx,[esi] mov ecx,esi call [edx+000000CCh] test eax,eax jz L00479C99 mov ecx,[esi+38h] test ecx,ecx jz L00479C99 call SUB_L0047F920 test eax,eax jnz L00479C99 test esi,esi jz L00479C99 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00479C99: test edi,edi mov esi,edi jnz L00479C64 L00479C9F: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00479CB0: mov eax,[esp+04h] push esi cmp eax,00000007h ja L00479DEB jmp [CASE_PROCTABLE_00479DF0+eax*4] CASE_00479DF0_PROC0000: mov ecx,[esp+0Ch] mov esi,[L00C85380] lea eax,[ecx+ecx*4] lea eax,[ecx+eax*2] shl eax,1 cdq idiv esi mov [L00B189F4],eax lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv esi pop esi mov [L00B189F0],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0001: mov eax,[esp+0Ch] lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] jmp L00479D86 CASE_00479DF0_PROC0002: mov eax,[esp+0Ch] pop esi lea edx,[eax+eax*4] lea eax,[eax+edx*2] shl eax,1 cdq idiv [L00C85380] mov [L00B189F4],eax mov [L00B189F0],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0003: mov eax,[esp+0Ch] mov dword ptr [L00B189F4],00000000h pop esi lea ecx,[eax+eax*4] lea eax,[eax+ecx*2] shl eax,02h cdq idiv [L00C85380] mov [L00B189F0],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0004: mov ecx,[esp+0Ch] mov esi,[L00C85380] lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv esi lea edx,[ecx+ecx*4] mov [L00B189F4],eax lea eax,[ecx+edx*2] shl eax,1 cdq idiv esi pop esi mov [L00B189F0],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0005: mov ecx,[esp+0Ch] lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax L00479D86: shl eax,02h cdq idiv [L00C85380] mov dword ptr [L00B189F0],00000000h pop esi mov [L00B189F4],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0006: mov ecx,[esp+0Ch] pop esi lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv [L00C85380] mov [L00B189F4],eax mov [L00B189F0],eax retn ;------------------------------------------------------------------------------ CASE_00479DF0_PROC0007: mov ecx,[esp+0Ch] mov dword ptr [L00B189F4],00000000h lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,02h cdq idiv [L00C85380] mov [L00B189F0],eax L00479DEB: pop esi retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00479DF0: dd CASE_00479DF0_PROC0000 dd CASE_00479DF0_PROC0001 dd CASE_00479DF0_PROC0002 dd CASE_00479DF0_PROC0003 dd CASE_00479DF0_PROC0004 dd CASE_00479DF0_PROC0005 dd CASE_00479DF0_PROC0006 dd CASE_00479DF0_PROC0007 SUB_L00479E10: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4068 push eax mov ecx,[L00C884DC] mov fs:[00000000h],esp sub esp,00000018h push ebx push esi xor esi,esi push edi cmp ecx,esi jz L0047A27C cmp [L00B28A0C],esi jnz L0047A27C mov edi,[L00C8536C] mov edx,[L00C85368] cmp edi,esi mov [esp+2Ch],esi jz L00479E8D lea eax,[edx+edx*4] shl eax,02h mov bl,[eax+L00C85309] test bl,bl jz L00479E8D movsx eax,[eax+L00C85310] mov dword ptr [L00C8538C],00000001h movsx ebx,[ecx+28h] mov [L00C85374],ebx mov [L00C85370],eax jmp L00479E93 L00479E8D: mov [L00C8538C],esi L00479E93: cmp [ecx+20h],esi jz L00479EF2 mov eax,[ecx+0000014Ch] cmp edi,esi jnz L00479EC6 cmp eax,esi jnz L00479EF2 mov edx,[ecx] call [edx+14h] mov eax,[L00C884DC] mov dword ptr [eax+0000014Ch],00000001h mov dword ptr [L00C8535C],00000003h jmp L00479EDB L00479EC6: cmp eax,esi jz L00479EF2 mov eax,[ecx] call [eax+14h] mov ecx,[L00C884DC] mov [ecx+0000014Ch],esi L00479EDB: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] mov ecx,[L00C884DC] mov edx,[L00C85368] L00479EF2: lea eax,[ecx+24h] mov edi,[ecx+24h] mov [esp+14h],edi mov [esp+1Ch],di mov ax,[eax+04h] mov di,[esp+16h] mov [esp+18h],ax mov [esp+20h],ax mov eax,[L00C8536C] mov [esp+1Eh],di cmp edx,eax jge L0047A27C cmp [L00C85354],esi jz L00479F3E lea edx,[edx+edx*4] cmp [L00C85304+edx*4],esi jz L0047A27C L00479F3E: push ebp call SUB_L00481920 mov ecx,[L00C884DC] call SUB_L00404600 mov ecx,[L00C884DC] mov eax,[ecx] call [eax+14h] mov ecx,[L00C884DC] mov edx,[L00C88368] xor ebx,ebx mov [ecx+00000150h],edx mov esi,[L00C8535C] mov edi,[L00C85368] mov ecx,[L00C85360] inc esi mov eax,[L0051A75C] mov [L00C8535C],esi lea esi,[edi+edi*4] mov ebp,[L0051A760] mov [esp+14h],eax shl esi,02h inc ecx mov [esp+10h],ebp mov bl,[esi+L00C85300] mov [L00C85360],ecx mov ecx,[L00C884DC] mov eax,[ecx+0000012Ch] test eax,eax jz L00479FF0 mov eax,[L00C85350] test eax,eax jz L00479FDB xor edx,edx mov dx,[ecx+3Ch] movsx eax,[L00B17F11+edx*2] cdq sub eax,edx sar eax,1 jmp L0047A05A L00479FDB: xor eax,eax mov ax,[ecx+3Ch] movsx eax,[L00B17F10+eax*2] cdq sub eax,edx sar eax,1 jmp L0047A05A L00479FF0: mov eax,[L00C8538C] test eax,eax jz L0047A033 mov eax,[L00C85370] xor edx,edx mov dx,[ecx+3Ch] movsx ebp,[L00B17F10+edx*2] mov edx,[L00C85374] sub edx,eax mov eax,2E8BA2E9h imul edx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax lea eax,[ebp+edx*2+00h] mov ebp,[esp+10h] mov [L00C85380],eax jmp L0047A05F L0047A033: mov eax,[L00C85350] test eax,eax jz L0047A04C xor edx,edx mov dx,[ecx+3Ch] movsx eax,[L00B17F11+edx*2] jmp L0047A05A L0047A04C: xor eax,eax mov ax,[ecx+3Ch] movsx eax,[L00B17F10+eax*2] L0047A05A: mov [L00C85380],eax L0047A05F: cmp [L00C85360],eax jz L0047A077 xor edx,edx mov dl,[esi+L00C85301] cmp ebx,edx jz L0047A1BC L0047A077: mov eax,[L00C8538C] xor esi,esi cmp eax,esi jz L0047A101 mov eax,[ecx] call [eax+00000098h] test eax,eax jnz L0047A0EF mov ecx,[L00C85374] mov edx,[L00C85370] sub ecx,edx cmp ecx,00000016h jl L0047A0EF mov dx,[L00C87EC2] mov ax,[L00C87EC4] mov ecx,[L00C884DC] push esi push esi push edx push eax push SSZ00507398_ouch_ call SUB_L004800A0 mov ecx,[L00C884DC] push esi push esi push 00000005h mov dl,[ecx+3Ch] and edx,00000001h mov edi,edx call SUB_L0047BBB0 lea eax,[edi+eax*2] add esp,00000004h mov ecx,[L004EEB30+eax*4] push ecx call SUB_L004CE2A0 add esp,0000000Ch L0047A0EF: mov ecx,[L00C884DC] mov edi,[L00C85368] mov [L00C8538C],esi L0047A101: lea edx,[edi+edi*4] xor eax,eax mov [L00C85360],esi mov al,[L00C85308+edx*4] xor edx,edx mov [L00C85350],eax mov [ecx+72h],bl mov eax,[L00C85368] lea ecx,[eax+eax*4] mov eax,[L00C884DC] mov dl,[L00C85301+ecx*4] cmp ebx,edx jnz L0047A16F mov cx,[L005072B8+ebx*4] add [eax+24h],cx mov eax,[L00C884DC] mov dx,[L005072E0+ebx*4] add [eax+26h],dx mov eax,[L00C85368] mov edx,[L00C884DC] lea eax,[eax+eax*4] movsx cx,[L00C85310+eax*4] mov [edx+28h],cx jmp L0047A172 L0047A16F: mov [eax+72h],bl L0047A172: mov ecx,[L00C85368] lea edx,[ecx+ecx*4] cmp [L00C85304+edx*4],esi jz L0047A1B5 mov edx,[L00C8536C] inc ecx cmp ecx,edx jge L0047A1AD lea eax,[ecx+ecx*4] sub edx,ecx lea eax,[L00C85300+eax*4] L0047A19B: lea edi,[eax-14h] mov esi,eax mov ecx,00000005h add eax,00000014h dec edx rep movsd jnz L0047A19B L0047A1AD: dec [L00C8536C] jmp L0047A1BC L0047A1B5: inc ecx mov [L00C85368],ecx L0047A1BC: mov ecx,[L00C85360] push ecx push ebx call SUB_L00479CB0 mov ecx,[L00C884DC] add esp,00000008h mov edx,[ecx] call [edx+00000094h] mov esi,[L0051A760] mov edx,[L0051A75C] sub ebp,esi mov esi,[esp+14h] sub esi,edx push esi push ebp call SUB_L004CB490 push esi push ebp call SUB_L00455D00 add esp,00000010h test ebp,ebp jnz L0047A207 test esi,esi jz L0047A245 L0047A207: mov ecx,[L005073D0] mov eax,ebp cdq xor eax,edx sub eax,edx cmp eax,ecx jge L0047A23B mov eax,esi cdq mov ecx,eax mov eax,[L005073D4] xor ecx,edx sub ecx,edx cdq sub eax,edx sar eax,1 cmp ecx,eax jge L0047A23B push esi push ebp call SUB_L0040C470 add esp,00000008h jmp L0047A240 L0047A23B: call SUB_L0040C940 L0047A240: call SUB_L004570E0 L0047A245: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] mov eax,[L00C884DC] mov cx,[esp+18h] pop ebp cmp cx,[eax+24h] jnz L0047A277 mov dx,[esp+16h] cmp dx,[eax+26h] jnz L0047A277 mov cx,[esp+18h] cmp cx,[eax+28h] jz L0047A27C L0047A277: call SUB_L00404760 L0047A27C: mov ecx,[esp+24h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047A290: mov eax,[L00C884D4] push ebp xor ebp,ebp push esi cmp eax,ebp push edi jz L0047A2A4 dec eax mov [L00C884D4],eax L0047A2A4: mov ecx,[L00C8536C] xor esi,esi cmp ecx,ebp jle L0047A2C9 mov edi,[esp+10h] mov eax,L00C85302 L0047A2B9: xor edx,edx mov dl,[eax] cmp edx,edi jz L0047A2C9 inc esi add eax,00000014h cmp esi,ecx jl L0047A2B9 L0047A2C9: cmp esi,ecx jnz L0047A2F5 mov eax,[L00C85384] mov esi,00000001h cmp eax,ebp jnz L0047A395 lea eax,[esp+10h] push eax call SUB_L00499420 add esp,00000004h lea ecx,[esp+10h] jmp L0047A383 L0047A2F5: lea edi,[esi+esi*4] shl edi,02h call [KERNEL32.dll!GetTickCount] sub eax,[edi+L00C8530C] js L0047A320 cmp eax,0000EA60h jge L0047A320 mov edx,[L00C87E74] add edx,eax shr edx,1 mov [L00C87E74],edx L0047A320: xor eax,eax xor ecx,ecx mov al,[edi+L00C85300] mov cl,[edi+L00C85301] cmp eax,ecx jnz L0047A354 movsx edx,[edi+L00C85310] mov ecx,[L005072E0+eax*4] push edx mov edx,[L005072B8+eax*4] push ecx push edx call SUB_L00475B00 add esp,0000000Ch L0047A354: cmp esi,[L00C85368] jge L0047A3E8 cmp esi,ebp jz L0047A3AB mov eax,[L00C85384] mov esi,00000001h cmp eax,ebp jnz L0047A395 lea eax,[esp+10h] push eax call SUB_L00499420 add esp,00000004h lea ecx,[esp+10h] L0047A383: push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov [L00C85384],esi L0047A395: mov [L00C85358],esi pop edi mov [L00C85368],ebp mov [L00C8536C],ebp pop esi pop ebp retn ;------------------------------------------------------------------------------ L0047A3AB: push ebx mov ebx,[L00C8536C] cmp ebx,00000001h jle L0047A3D1 mov eax,L00C85314 lea edx,[ebx-01h] L0047A3BF: lea edi,[eax-14h] mov esi,eax mov ecx,00000005h add eax,00000014h dec edx rep movsd jnz L0047A3BF L0047A3D1: mov eax,[L00C85368] dec ebx mov [L00C8536C],ebx pop ebx dec eax pop edi pop esi mov [L00C85368],eax pop ebp retn ;------------------------------------------------------------------------------ L0047A3E8: mov dword ptr [edi+L00C85304],00000001h pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047A400: mov ecx,[L00C884DC] push esi xor esi,esi mov [L00C884D4],esi mov eax,[ecx] call [eax+14h] mov eax,[esp+08h] mov [L00C85360],esi cmp eax,FFFFFFFFh mov [L00C85364],esi mov [L00C8536C],esi mov [L00C85368],esi mov [L00B189F4],esi mov [L00B189F0],esi mov [L00C85358],esi jnz L0047A48D mov ecx,[L00C884DC] mov dx,[L00C83B64] mov [ecx+24h],dx mov eax,[L00C884DC] mov cx,[L00C83B60] mov [eax+26h],cx mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] call SUB_L0040C940 mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000094h] call SUB_L00404760 pop esi retn ;------------------------------------------------------------------------------ L0047A48D: mov ecx,[L00C83B58] mov esi,[esp+14h] push ebx mov ebx,[esp+10h] push edi mov edi,[esp+18h] push ecx push esi push edi push ebx call SUB_L00475BF0 mov edx,[L00C884DC] add esp,00000010h mov [edx+24h],bx mov eax,[L00C884DC] mov [eax+26h],di mov ecx,[L00C884DC] mov [ecx+28h],si mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] call SUB_L0040C940 mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000094h] call SUB_L00404760 pop edi pop ebx pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047A500: mov eax,[L00507308] sub esp,00000204h dec eax push ebx push ebp push esi cmp eax,00000001h push edi mov [L00507308],eax jg L0047A68D mov edi,[esp+00000220h] mov ebx,[esp+0000021Ch] mov ebp,[esp+00000218h] and edi,0000FFFFh and ebx,0000FFFFh and ebp,0000FFFFh push edi push ebx push ebp lea eax,[esp+20h] push SSZ005027F4__d__d__d push eax mov dword ptr [L00507308],00000014h call SUB_L004D512F add esp,00000014h lea ecx,[esp+14h] push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[L00C884DC] call SUB_L004800A0 mov eax,[L00C8536C] mov ecx,[L00C83B64] mov edx,[L00C83B60] test eax,eax jle L0047A5CA mov esi,L00C85300 mov [esp+10h],eax L0047A59A: mov eax,[esi+04h] test eax,eax jnz L0047A5BC mov al,[esi] cmp al,[esi+01h] jnz L0047A5BC and eax,000000FFh shl eax,02h add ecx,[eax+L005072B8] add edx,[eax+L005072E0] L0047A5BC: mov eax,[esp+10h] add esi,00000014h dec eax mov [esp+10h],eax jnz L0047A59A L0047A5CA: mov eax,[L00C83B5C] mov edx,[L00C83B60] push 00000001h push 000001F4h push edi push ebx push ebp push eax mov eax,[L00C83B64] push edx push eax call SUB_L004A0080 add esp,00000020h mov [L00C8C500],eax test eax,eax jnz L0047A608 pop edi pop esi pop ebp mov [L00C8C4F8],eax pop ebx add esp,00000204h retn ;------------------------------------------------------------------------------ L0047A608: mov dword ptr [L00C8C4F8],00000001h mov esi,eax call SUB_L00474610 mov eax,[esi+24h] test eax,eax jz L0047A629 L0047A620: mov esi,eax mov eax,[esi+24h] test eax,eax jnz L0047A620 L0047A629: mov [L00C8C500],esi mov ecx,[esi+10h] mov [L00C8C4F4],ecx mov edx,[esi+14h] mov [L00C8C4F0],edx mov eax,[esi+18h] mov edx,[L00C884DC] push edi mov [L00C8C4EC],eax xor ecx,ecx mov cl,[edx+72h] push ebx push ebp lea eax,[esp+20h] push SSZ005073A0_Pathfinding_to__d___d___d_ push eax mov [L00C8C4E8],ecx mov [L00C8C4FC],esi call SUB_L004D512F add esp,00000014h lea ecx,[esp+14h] push 00000000h push 00000000h push 00000000h push 00000000h push ecx mov ecx,[L00C884DC] call SUB_L004800A0 L0047A68D: pop edi pop esi pop ebp pop ebx add esp,00000204h retn ;------------------------------------------------------------------------------ Align 16 L0047A6A0: sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L004470A0 mov edi,eax dec edi call SUB_L004470B0 movsx ecx,[esi+26h] mov ebp,[L00C83A54] sub eax,00000017h mov [esp+1Ch],eax movsx eax,[esi+24h] sub eax,ecx mov ecx,[L00B189F4] add eax,ebp lea edx,[eax+eax*4] lea eax,[eax+edx*2] mov edx,[L00C85360] shl eax,1 sub eax,edi add eax,ecx cmp edx,00000003h mov [L0051A760],eax jge L0047A712 movsx ecx,[esi+28h] movsx ebx,[esi+24h] movsx ebp,[esi+26h] xor eax,eax mov [esp+18h],ecx mov al,[esi+72h] mov [esp+14h],edx mov edi,eax jmp L0047A762 L0047A712: mov eax,[L00C85368] xor ecx,ecx movsx edi,[esi+24h] lea eax,[eax+eax*4] shl eax,02h mov cl,[eax+L00C85300] shl ecx,02h mov ebx,[ecx+L005072B8] mov ebp,[ecx+L005072E0] movsx ecx,[eax+L00C85310] add ebx,edi mov eax,00000004h movsx edi,[esi+26h] sub eax,edx add ebp,edi mov [esp+14h],eax xor eax,eax mov al,[esi+72h] mov [esp+18h],ecx mov edi,[L00507298+eax*4] L0047A762: mov ecx,ebp mov eax,ebx and ecx,0000003Fh and eax,0000003Fh shl ecx,06h add ecx,eax mov esi,[L00516754+ecx*4] test esi,esi jz L0047A7AA L0047A77C: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L0047A797 mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax cmp ecx,[esp+18h] jz L0047A7A0 L0047A797: mov esi,[esi+18h] test esi,esi jnz L0047A77C jmp L0047A7A4 L0047A7A0: test esi,esi jnz L0047A7CA L0047A7A4: mov edx,[L00C85360] L0047A7AA: mov eax,[L00C8538C] test eax,eax jnz L0047A933 mov edx,[esp+10h] mov eax,[esp+18h] mov [edx+00000194h],eax jmp L0047A976 L0047A7CA: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0047A824 mov eax,[L00C8538C] test eax,eax jz L0047A7F7 mov edx,[L00C85360] cmp edx,00000002h jge L0047A93F mov eax,[L00C85374] jmp L0047A96C L0047A7F7: push ebp push ebx call SUB_L00475CA0 mov edx,[esp+1Ch] add esp,00000008h and edi,00000007h mov esi,eax push edi push edx push esi call SUB_L0040CA30 add esp,00000004h push eax push esi call SUB_L00478E70 add esp,00000010h jmp L0047A96C L0047A824: mov edx,[esi] mov ecx,esi call [edx+40h] test ah,04h jz L0047A924 mov eax,[esi] mov ecx,esi call [eax+40h] and eax,C0000000h cmp eax,80000000h ja L0047A8C6 jz L0047A8A9 test eax,eax jz L0047A892 cmp eax,40000000h jnz L0047A976 mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] lea edx,[edi-02h] and edx,00000007h cmp edx,00000007h ja CASE_0047AA14_PROC0002 jmp [CASE_PROCTABLE_0047A9B4+edx*4] CASE_0047A9F4_PROC0003: mov edx,[esp+14h] dec edx jz L0047A917 dec edx jnz CASE_0047AA14_PROC0002 mov eax,ecx jmp L0047A96C L0047A892: mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] cmp edi,00000007h ja CASE_0047AA14_PROC0002 jmp [CASE_PROCTABLE_0047A9D4+edi*4] L0047A8A9: mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] lea edx,[edi+02h] and edx,00000007h cmp edx,00000007h ja CASE_0047AA14_PROC0002 jmp [CASE_PROCTABLE_0047A9F4+edx*4] L0047A8C6: cmp eax,C0000000h jnz L0047A976 mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] lea edx,[edi-04h] and edx,00000007h cmp edx,00000007h ja CASE_0047AA14_PROC0002 jmp [CASE_PROCTABLE_0047AA14+edx*4] CASE_0047AA14_PROC0000: mov edx,[esp+14h] dec edx jz L0047A8FC dec edx jnz CASE_0047AA14_PROC0002 add eax,ecx jmp L0047A96C L0047A8FC: mov edx,eax sar edx,02h sub ecx,edx add ecx,eax mov eax,ecx jmp L0047A96C CASE_0047AA14_PROC0003: mov edx,[esp+14h] dec edx jz L0047A917 dec edx jnz CASE_0047AA14_PROC0002 mov eax,ecx jmp L0047A96C L0047A917: sar eax,02h add eax,ecx jmp L0047A96C CASE_0047AA14_PROC0002: sar eax,1 add eax,ecx jmp L0047A96C L0047A924: mov eax,[L00C8538C] test eax,eax jz L0047A962 mov edx,[L00C85360] L0047A933: cmp edx,00000002h jge L0047A93F mov eax,[L00C85374] jmp L0047A96C L0047A93F: mov eax,[L00C85370] mov ecx,[L00C85374] sub eax,ecx add edx,FFFFFFFEh imul eax,edx mov edx,[L00C85380] lea esi,[edx-02h] cdq idiv esi add eax,ecx jmp L0047A96C L0047A962: mov edx,[esi] mov ecx,esi call [edx+44h] movsx eax,ax L0047A96C: mov ecx,[esp+10h] mov [ecx+00000194h],eax L0047A976: mov ecx,[esp+10h] pop edi pop esi pop ebp movsx eax,[ecx+26h] movsx edx,[ecx+24h] mov ecx,[ecx+00000194h] add eax,edx shl ecx,02h lea edx,[eax+eax*4] pop ebx lea eax,[eax+edx*2] mov edx,[esp+0Ch] shl eax,1 sub eax,ecx mov ecx,[L00B189F0] sub eax,edx add eax,ecx mov [L0051A75C],eax add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0047A9B4: dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0002 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047AA14_PROC0002 dd CASE_0047AA14_PROC0000 CASE_PROCTABLE_0047A9D4: dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0002 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047AA14_PROC0002 dd CASE_0047AA14_PROC0000 CASE_PROCTABLE_0047A9F4: dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0002 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047A9F4_PROC0003 dd CASE_0047AA14_PROC0002 dd CASE_0047AA14_PROC0000 CASE_PROCTABLE_0047AA14: dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0000 dd CASE_0047AA14_PROC0002 dd CASE_0047AA14_PROC0003 dd CASE_0047AA14_PROC0003 dd CASE_0047AA14_PROC0003 dd CASE_0047AA14_PROC0002 dd CASE_0047AA14_PROC0000 Align 16 L0047AA40: sub esp,00000014h push ebx push ebp push esi push edi mov edi,ecx call SUB_L00481760 mov ecx,eax mov eax,[edi+00000140h] mov edx,ecx mov [esp+20h],ecx sub edx,eax test eax,eax mov [esp+1Ch],edx jnz L0047AA89 movsx eax,[edi+26h] movsx ecx,[edi+28h] movsx ebp,[edi+24h] xor ebx,ebx mov [esp+18h],eax mov bl,[edi+72h] mov [esp+14h],ecx mov dword ptr [esp+10h],00000000h jmp L0047AADB L0047AA89: sar ecx,1 cmp eax,ecx jle L0047AAB7 movsx eax,[edi+00000182h] movsx ecx,[edi+00000184h] movsx ebp,[edi+00000180h] xor ebx,ebx mov [esp+18h],eax mov bl,[edi+72h] mov [esp+14h],ecx mov [esp+10h],edx jmp L0047AADB L0047AAB7: movsx ecx,[edi+26h] movsx ebp,[edi+24h] mov [esp+10h],eax mov [esp+18h],ecx movsx ecx,[edi+28h] xor eax,eax mov [esp+14h],ecx mov al,[edi+72h] mov ebx,[L00507298+eax*4] L0047AADB: mov ecx,[esp+18h] mov eax,ebp and ecx,0000003Fh and eax,0000003Fh shl ecx,06h add ecx,eax mov esi,[L00516754+ecx*4] test esi,esi jz L0047AB23 L0047AAF7: mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L0047AB12 mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax cmp ecx,[esp+14h] jz L0047AB1B L0047AB12: mov esi,[esi+18h] test esi,esi jnz L0047AAF7 jmp L0047AB1F L0047AB1B: test esi,esi jnz L0047AB60 L0047AB1F: mov edx,[esp+1Ch] L0047AB23: mov eax,[edi+0000019Ch] test eax,eax jz L0047AB4E movsx eax,[edi+28h] mov ecx,[edi+000001A0h] add ecx,eax cmp edx,00000002h jge L0047AB7A mov eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047AB4E: mov eax,[esp+14h] mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047AB60: mov edx,[esi] mov ecx,esi call [edx+1Ch] test eax,eax jz L0047ABD6 mov eax,[edi+0000019Ch] test eax,eax jz L0047AB9C jmp L0047AD10 L0047AB7A: sub eax,ecx add edx,FFFFFFFEh imul eax,edx mov edx,[esp+20h] lea esi,[edx-02h] cdq idiv esi add eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047AB9C: mov eax,[esp+18h] push eax push ebp call SUB_L00475CA0 mov ecx,[esp+18h] add esp,00000008h and ebx,00000007h mov esi,eax push ebx push ecx push esi call SUB_L0040CA30 add esp,00000004h push eax push esi call SUB_L00478E70 add esp,00000010h mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047ABD6: mov edx,[esi] mov ecx,esi call [edx+40h] test ah,04h jz L0047AD06 mov eax,[esi] mov ecx,esi call [eax+40h] and eax,C0000000h cmp eax,80000000h ja L0047ACE2 jz L0047ACC5 test eax,eax jz L0047AC3C cmp eax,40000000h jnz L0047AD49 mov edx,[esi] mov ecx,esi call [edx+70h] movsx ecx,[esi+28h] lea edx,[ebx-02h] and edx,00000007h cmp edx,00000007h ja CASE_0047ADB4_PROC0002 jmp [CASE_PROCTABLE_0047AD54+edx*4] CASE_0047ADB4_PROC0000: mov edx,[esp+10h] dec edx jz L0047AC6D jmp L0047AC5A L0047AC3C: mov eax,[esi] mov ecx,esi call [eax+70h] movsx ecx,[esi+28h] cmp ebx,00000007h ja CASE_0047ADB4_PROC0002 jmp [CASE_PROCTABLE_0047AD74+ebx*4] CASE_0047AD74_PROC0000: mov edx,[esp+10h] dec edx jz L0047AC6D L0047AC5A: dec edx jnz CASE_0047ADB4_PROC0002 add eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047AC6D: mov edx,eax sar edx,02h sub ecx,edx add ecx,eax mov eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ CASE_0047ADB4_PROC0003: mov edx,[esp+10h] dec edx jz L0047ACA0 dec edx jnz CASE_0047ADB4_PROC0002 mov eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047ACA0: sar eax,02h add eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ CASE_0047ADB4_PROC0002: sar eax,1 add eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047ACC5: mov eax,[esi] mov ecx,esi call [eax+70h] movsx ecx,[esi+28h] lea edx,[ebx+02h] and edx,00000007h cmp edx,00000007h ja CASE_0047ADB4_PROC0002 jmp [CASE_PROCTABLE_0047AD94+edx*4] L0047ACE2: cmp eax,C0000000h jnz L0047AD49 mov eax,[esi] mov ecx,esi call [eax+70h] movsx ecx,[esi+28h] lea edx,[ebx-04h] and edx,00000007h cmp edx,00000007h ja CASE_0047ADB4_PROC0002 jmp [CASE_PROCTABLE_0047ADB4+edx*4] L0047AD06: mov eax,[edi+0000019Ch] test eax,eax jz L0047AD39 L0047AD10: movsx eax,[edi+28h] mov ecx,[edi+000001A0h] mov edx,[esp+1Ch] add ecx,eax cmp edx,00000002h jge L0047AB7A mov eax,ecx mov [edi+00000194h],eax pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047AD39: mov eax,[esi] mov ecx,esi call [eax+44h] movsx ecx,ax mov [edi+00000194h],ecx L0047AD49: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0047AD54: dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0000 CASE_PROCTABLE_0047AD74: dd CASE_0047AD74_PROC0000 dd CASE_0047AD74_PROC0000 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0002 dd CASE_0047AD74_PROC0000 CASE_PROCTABLE_0047AD94: dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0000 CASE_PROCTABLE_0047ADB4: dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0000 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0003 dd CASE_0047ADB4_PROC0002 dd CASE_0047ADB4_PROC0000 Align 16 SUB_L0047ADE0: mov eax,[esp+04h] and eax,000000FFh push eax call SUB_L0047AE00 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047AE00: mov eax,[L00C8836C] sub esp,00000008h mov [L00C85388],eax mov eax,[L00C85358] push ebx push esi mov esi,00000001h push edi cmp eax,esi jz L0047B09A mov eax,[L00C8536C] xor ebx,ebx cmp eax,00000004h jnz L0047AE6B cmp [L00C85384],ebx jnz L0047AE59 lea ecx,[esp+0Ch] push ecx call SUB_L00499420 mov ecx,[L00C88300] add esp,00000004h lea edx,[esp+0Ch] push edx call SUB_L004BC750 mov [L00C85384],esi L0047AE59: mov [L00C85358],esi mov [L00C85368],ebx mov [L00C8536C],ebx L0047AE6B: cmp [L00C88300],ebx jz L0047B09A lea eax,[esp+10h] push esi lea ecx,[esp+1Ch] push eax push ecx call SUB_L00479690 add esp,0000000Ch test eax,eax jz L0047B09A mov ecx,[L00C8536C] mov dl,[L00C85364] lea eax,[ecx+ecx*4] lea esi,[ecx+ecx*4] shl eax,02h shl esi,02h mov [eax+L00C85302],dl mov [eax+L00C85304],ebx call SUB_L00476E20 test eax,eax setz al mov [esi+L00C85308],al mov eax,[L00C8536C] cmp eax,ebx jnz L0047AEE3 mov ecx,[L00C884DC] mov dl,[ecx+72h] and dl,07h mov [L00C85301],dl jmp L0047AEEF L0047AEE3: mov cl,[esi+L00C852EC] mov [esi+L00C85301],cl L0047AEEF: lea esi,[eax+eax*4] shl esi,02h call [KERNEL32.dll!GetTickCount] mov ecx,[esp+10h] mov [esi+L00C8530C],eax mov eax,[esp+18h] xor edx,edx mov [esi+L00C85310],cl mov dl,[esi+L00C85301] cmp eax,edx jnz L0047AF35 mov edx,[L00C884DC] movsx edx,[edx+28h] sub edx,ecx cmp edx,0000000Bh jl L0047AF35 mov byte ptr [esi+L00C85309],01h jmp L0047AF3B L0047AF35: mov [esi+L00C85309],bl L0047AF3B: mov edx,[L00C8536C] mov [esi+L00C85300],al inc edx mov [L00C8536C],edx lea ecx,[edx+edx*4] cmp [L00C852F4+ecx*4],bl jz L0047AF60 or al,80h mov [esp+18h],eax L0047AF60: mov eax,[L00C85364] mov edi,eax inc eax and eax,000000FFh mov [L00C85364],eax jnz L0047AF7E mov dword ptr [L00C85364],00000001h L0047AF7E: xor esi,esi cmp edx,ebx jle L0047AF99 mov eax,L00C85302 L0047AF89: xor ecx,ecx mov cl,[eax] cmp ecx,edi jz L0047AF99 inc esi add eax,00000014h cmp esi,edx jl L0047AF89 L0047AF99: cmp esi,edx jnz L0047AFE9 cmp [L00C85384],ebx jnz L0047AFCC lea edx,[esp+0Ch] push edx call SUB_L00499420 add esp,00000004h lea eax,[esp+0Ch] push eax L0047AFB7: mov ecx,[L00C88300] call SUB_L004BC750 mov dword ptr [L00C85384],00000001h L0047AFCC: pop edi mov [L00C85368],ebx mov [L00C8536C],ebx pop esi mov dword ptr [L00C85358],00000001h pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0047AFE9: lea edi,[esi+esi*4] xor eax,eax shl edi,02h xor ecx,ecx mov al,[edi+L00C85300] mov cl,[edi+L00C85301] cmp eax,ecx mov [esp+18h],eax jnz L0047B02D movsx edx,[edi+L00C85310] mov ecx,[L005072E0+eax*4] push edx mov edx,[L005072B8+eax*4] push ecx push edx call SUB_L00475B00 mov edx,[L00C8536C] add esp,0000000Ch L0047B02D: cmp esi,[L00C85368] jge L0047B090 cmp esi,ebx jz L0047B058 cmp [L00C85384],ebx jnz L0047AFCC lea eax,[esp+0Ch] push eax call SUB_L00499420 add esp,00000004h lea ecx,[esp+0Ch] push ecx jmp L0047AFB7 L0047B058: cmp edx,00000001h jle L0047B077 mov eax,L00C85314 lea ebx,[edx-01h] L0047B065: lea edi,[eax-14h] mov esi,eax mov ecx,00000005h add eax,00000014h dec ebx rep movsd jnz L0047B065 L0047B077: mov eax,[L00C85368] dec edx dec eax pop edi pop esi mov [L00C8536C],edx mov [L00C85368],eax pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0047B090: mov dword ptr [edi+L00C85304],00000001h L0047B09A: pop edi pop esi pop ebx add esp,00000008h 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 ecx,L00C88305 jmp L0040B270 db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' xor eax,eax mov [L00C87E98],eax mov [L00C87EA0],eax mov [L00C87E9C],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; '?' mov ecx,L00C87E88 call SUB_L004B3250 push L0047B100 call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 16 L0047B100: mov cl,[L00C87E80] mov al,01h test al,cl jnz L0047B11E or cl,al mov [L00C87E80],cl mov ecx,L00C87E88 jmp SUB_L004B3270 L0047B11E: retn ;------------------------------------------------------------------------------ db 90h; '?' xor eax,eax push L0047B140 mov [L00C85FB8],eax mov [L00C85FBC],eax mov [L00C85FC0],eax call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 4 L0047B140: mov cl,[L00C87E80] mov al,02h test al,cl jnz L0047B1C7 mov dl,cl or dl,al mov eax,[L00C85FB8] test eax,eax mov [L00C87E80],dl jz L0047B1C7 push esi push edi L0047B161: test eax,eax jnz L0047B169 xor esi,esi jmp L0047B1BF L0047B169: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L0047B176 mov [ecx],esi jmp L0047B17C L0047B176: mov [L00C85FB8],esi L0047B17C: test esi,esi jz L0047B185 mov [esi+04h],ecx jmp L0047B18B L0047B185: mov [L00C85FBC],ecx L0047B18B: mov edi,[eax+08h] push eax mov dword ptr [eax+08h],00000000h call SUB_L004D4F9E mov ecx,[L00C85FC0] add esp,00000004h dec ecx test edi,edi mov [L00C85FC0],ecx jz L0047B1BF mov ecx,edi call SUB_L0047D6C0 push edi call SUB_L004D4F9E add esp,00000004h L0047B1BF: test esi,esi mov eax,esi jnz L0047B161 pop edi pop esi L0047B1C7: retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00C85E48 call SUB_L0049F840 push L0047B1F0 call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 16 L0047B1F0: mov cl,[L00C87E80] mov al,04h test al,cl jnz L0047B20E or cl,al mov [L00C87E80],cl mov ecx,L00C85E48 jmp SUB_L00401E90 L0047B20E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047B210: mov al,[L00C88304] sub esp,00000008h push ebx xor ebx,ebx cmp al,bl jnz L0047B44C push edi push SUB_L0047BB30 call SUB_L004D74CF add esp,00000004h push L00D1B870 call [KERNEL32.dll!InitializeCriticalSection] push SSZ0050854C_UO_Player push L00508548 push L00C880F8 mov [L00C861D8],ebx mov [L005073C4],ebx mov [L00C87D6C],bl mov [L00C88118],bl call SUB_L004D512F mov ecx,0000000Ch xor eax,eax mov edi,L00CD8C80 add esp,0000000Ch rep stosd stosw mov eax,00000003h mov ecx,000003E3h mov [L00C87EC2],ax mov [L00C87EBE],ax lea eax,[esp+0Ch] mov [L00C87D48],bl push eax push 00000001h push ebx push SSZ005020BC_SOFTWARE_Origin_Worlds_Online_Ul push 80000002h mov [L00C85FF0],bl mov [L00C86010],bl mov [L00C85FD0],bl mov dword ptr [L00C87E70],00000001h mov [L00C87E98],ebx mov [L00C87E9C],ebx mov [L00C87EA0],ebx mov [L00C87E7C],ebx mov [L00C882B8],ebx mov dword ptr [L00C880D0],00000032h mov [L00C87EC8],ebx mov [L00C87EC4],cx mov [L00C87EC0],cx mov [L00C87D68],ebx mov [L00C86198],ebx mov [L00C87EA4],ebx call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax pop edi jnz L0047B346 mov edx,[esp+08h] lea ecx,[esp+04h] push ecx push L00C87ED0 push ebx push ebx push SSZ00502188_ExePath push edx mov dword ptr [esp+1Ch],00000104h call [ADVAPI32.dll!RegQueryValueExA] test eax,eax jz L0047B35E L0047B346: push 00000010h push SSZ00508540_ERROR push SSZ005084A4_Ultima_Online_does_not_appear_to push ebx call [USER32.dll!MessageBoxA] pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0047B35E: push esi mov esi,L00C87ED0 push 0000005Ch push esi call SUB_L004D63C0 add esp,00000008h test eax,eax jz L0047B38D L0047B373: push 0000005Ch push esi call SUB_L004D63C0 inc eax push 0000005Ch mov esi,eax push esi call SUB_L004D63C0 add esp,00000010h test eax,eax jnz L0047B373 L0047B38D: push 00000001h mov [esi],bl push SSZ00500ED0_uo_cfg mov [L00C8619C],bl mov [L00C8604C],ebx call SUB_L00436C30 mov ecx,[L00C86198] add esp,00000008h cmp ecx,ebx mov eax,SSZ00508498_login_cfg pop esi jz L0047B3BC mov eax,ecx L0047B3BC: push ebx push eax call SUB_L00436C30 add esp,00000008h call SUB_L0047C450 call SUB_L00471EC0 mov [L00C861CC],ebx mov [L00C861D0],ebx mov dword ptr [L00C861D4],00000004h mov [L00C880D8],ebx mov [L00C880D4],bl mov [L00C861C8],ebx mov [L00C861C4],ebx mov [L00C861C0],ebx mov [L00C861B4],ebx mov [L00C861BC],ebx mov [L00C861B8],ebx mov [L00C861B0],ebx mov [L00C861AC],ebx mov [L00C861A8],ebx mov [L00C861A4],ebx mov [L00C861A0],ebx mov [L00C85FC8],ebx call [KERNEL32.dll!GetTickCount] mov [L00C85FC4],eax mov byte ptr [L00C88304],01h L0047B44C: pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L0047B460: push SSZ00508558_CApp__shutdown__begin__ call SUB_L004C7F20 mov al,[L00C88304] add esp,00000004h test al,al jz L0047B598 push esi push edi push L00D1B870 call [KERNEL32.dll!DeleteCriticalSection] mov eax,[L00C861C8] xor esi,esi test eax,eax jle L0047B4AF L0047B492: mov eax,[L00C861C4] mov ecx,[eax+esi*4] push ecx call SUB_L004D4F9E mov eax,[L00C861C8] add esp,00000004h inc esi cmp esi,eax jl L0047B492 test eax,eax L0047B4AF: jz L0047B506 mov edx,[L00C861C4] push edx call SUB_L004D4F9E mov eax,[L00C861C0] push eax call SUB_L004D4F9E mov ecx,[L00C861BC] push ecx call SUB_L004D4F9E mov edx,[L00C861B8] push edx call SUB_L004D4F9E mov eax,[L00C861B4] push eax call SUB_L004D4F9E mov ecx,[L00C861B0] push ecx call SUB_L004D4F9E mov edx,[L00C861AC] push edx call SUB_L004D4F9E add esp,0000001Ch L0047B506: mov eax,[L00C861A8] xor esi,esi test eax,eax jle L0047B52E L0047B511: mov eax,[L00C861A4] mov ecx,[eax+esi*4] push ecx call SUB_L004D4F9E mov eax,[L00C861A8] add esp,00000004h inc esi cmp esi,eax jl L0047B511 test eax,eax L0047B52E: jz L0047B53F mov edx,[L00C861A4] push edx call SUB_L004D4F9E add esp,00000004h L0047B53F: mov eax,[L00C861A0] test eax,eax jz L0047B551 push eax call SUB_L004D4F9E add esp,00000004h L0047B551: mov byte ptr [L00C88304],00h xor edi,edi mov esi,L00C424F8 L0047B55F: cmp edi,[L00C42CC8] jge L0047B582 mov eax,[esi] test eax,eax jz L0047B576 push eax call SUB_L004D4F9E add esp,00000004h L0047B576: add esi,00000004h inc edi cmp esi,L00C42CC8 jl L0047B55F L0047B582: pop edi mov dword ptr [L00C42CC8],00000000h mov dword ptr [L00504640],FFFFFFFFh pop esi L0047B598: retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047B5A0: push ecx push ebx push esi mov esi,[esp+10h] mov bl,10h xor eax,eax push edi mov cl,[esi+0Ch] mov [esp+0Ch],eax test bl,cl mov edi,L00C85BA4 jnz L0047B644 L0047B5C0: push esi push 00000001h lea eax,[esp+14h] push 00000002h push eax call SUB_L004D615D mov eax,[esp+1Ch] add esp,00000010h add eax,0000FFF3h cmp ax,000Ah mov [esp+0Ch],eax jz L0047B5F8 cmp ax,000Dh jz L0047B5F8 mov [edi],ax mov cl,[esi+0Ch] add edi,00000002h test bl,cl jz L0047B5C0 L0047B5F8: test [esi+0Ch],bl jnz L0047B644 cmp ax,000Ah jz L0047B609 cmp ax,000Dh jnz L0047B644 L0047B609: push esi push 00000001h lea ecx,[esp+1Ch] push 00000002h push ecx call SUB_L004D615D add esp,00000010h test eax,eax jz L0047B644 mov ax,[esp+14h] cmp ax,[esp+0Ch] jz L0047B637 cmp ax,000Ah jz L0047B644 cmp ax,000Dh jz L0047B644 L0047B637: push 00000001h push FFFFFFFEh push esi call SUB_L004D60A4 add esp,0000000Ch L0047B644: mov word ptr [edi],0000h pop edi pop esi mov eax,L00C85BA4 pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047B660: push esi mov esi,[esp+08h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0047B68F L0047B676: mov dl,[eax+esi] add dl,0Dh cmp dl,7Fh mov [eax+esi],dl jbe L0047B68A sub dl,5Fh mov [eax+esi],dl L0047B68A: inc eax cmp eax,ecx jl L0047B676 L0047B68F: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047B6A0: push esi mov esi,[esp+08h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx test ecx,ecx jle L0047B6CF L0047B6B6: mov dl,[eax+esi] add dl,F3h cmp dl,20h mov [eax+esi],dl jnc L0047B6CA add dl,5Fh mov [eax+esi],dl L0047B6CA: inc eax cmp eax,ecx jl L0047B6B6 L0047B6CF: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047B6E0: mov al,[esp+04h] cmp al,2Dh jnz L0047B6EE mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047B6EE: cmp al,2Eh jnz L0047B6F8 mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047B6F8: cmp al,20h jnz L0047B702 mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047B702: xor ecx,ecx cmp al,27h setz cl mov eax,ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047B710: mov al,[esp+04h] cmp al,41h jl L0047B71F cmp al,5Ah jg L0047B71F xor eax,eax retn ;------------------------------------------------------------------------------ L0047B71F: cmp al,61h jl L0047B72A cmp al,7Ah jg L0047B72A xor eax,eax retn ;------------------------------------------------------------------------------ L0047B72A: cmp al,2Dh jz L0047B73A cmp al,2Eh jz L0047B73A cmp al,20h jz L0047B73A cmp al,27h jnz L0047B73D L0047B73A: xor eax,eax retn ;------------------------------------------------------------------------------ L0047B73D: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047B750: push ebx push ebp push esi mov esi,[esp+10h] push edi mov al,[esi] cmp al,61h jl L0047B762 cmp al,7Ah jle L0047B772 L0047B762: cmp al,41h jl L0047BB17 cmp al,5Ah jg L0047BB17 L0047B772: mov edi,esi or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb not ecx dec ecx test ecx,ecx jle L0047B802 L0047B784: mov al,[edx+esi] cmp al,41h jl L0047B78F cmp al,5Ah jle L0047B7AB L0047B78F: cmp al,61h jl L0047B797 cmp al,7Ah jle L0047B7AB L0047B797: cmp al,2Dh jz L0047B7BB cmp al,2Eh jz L0047B7AB cmp al,20h jz L0047B7AB cmp al,27h jnz L0047BB17 L0047B7AB: cmp al,2Dh jz L0047B7BB cmp al,2Eh jz L0047B7BB cmp al,20h jz L0047B7BB cmp al,27h jnz L0047B7F1 L0047B7BB: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,FFFFFFFEh cmp edx,ecx jge L0047B7F1 mov al,[edx+esi+01h] cmp al,2Dh jz L0047BB17 cmp al,2Eh jz L0047BB17 cmp al,20h jz L0047BB17 cmp al,27h jz L0047BB17 L0047B7F1: mov edi,esi or ecx,FFFFFFFFh xor eax,eax inc edx repne scasb not ecx dec ecx cmp edx,ecx jl L0047B784 L0047B802: push esi push SSZ00508590_Lord call SUB_L004168D0 add esp,00000008h test eax,eax jz L0047BB17 push esi push SSZ00508588_Lady call SUB_L004168D0 add esp,00000008h test eax,eax jz L0047BB17 push esi push L00508584 call SUB_L004168D0 add esp,00000008h test eax,eax jz L0047BB17 push esi push SSZ00508578_Counselor call SUB_L004168D0 add esp,00000008h test eax,eax jz L0047BB17 push esi push SSZ00508570_Seer call SUB_L004168D0 add esp,00000008h test eax,eax jz L0047BB17 mov eax,[L00507808] test eax,eax jz L0047B91E mov eax,L00507808 mov edi,eax mov [esp+14h],edi L0047B888: mov eax,[eax] push esi push eax call SUB_L004168D0 mov edx,eax add esp,00000008h cmp edx,FFFFFFFFh jz L0047B90A test edx,edx jz L0047B8B3 mov al,[edx+esi-01h] cmp al,2Dh jz L0047B8B3 cmp al,2Eh jz L0047B8B3 cmp al,20h jz L0047B8B3 cmp al,27h jnz L0047B90A L0047B8B3: mov ebx,[edi] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebp,ecx or ecx,FFFFFFFFh add ebp,edx repne scasb not ecx dec ecx cmp ebp,ecx jz L0047BB17 mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L0047BB17 cmp al,2Eh jz L0047BB17 cmp al,20h jz L0047BB17 cmp al,27h jz L0047BB17 mov edi,[esp+14h] L0047B90A: mov ecx,[edi+04h] add edi,00000004h test ecx,ecx mov [esp+14h],edi mov eax,edi jnz L0047B888 L0047B91E: mov eax,[L005077F0] test eax,eax jz L0047B9CC mov eax,L005077F0 mov edi,eax mov [esp+14h],edi L0047B936: mov ecx,[eax] push esi push ecx call SUB_L004168D0 mov edx,eax add esp,00000008h cmp edx,FFFFFFFFh jz L0047B9B8 test edx,edx jz L0047B961 mov al,[edx+esi-01h] cmp al,2Dh jz L0047B961 cmp al,2Eh jz L0047B961 cmp al,20h jz L0047B961 cmp al,27h jnz L0047B9B8 L0047B961: mov ebx,[edi] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebp,ecx or ecx,FFFFFFFFh add ebp,edx repne scasb not ecx dec ecx cmp ebp,ecx jz L0047BB17 mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L0047BB17 cmp al,2Eh jz L0047BB17 cmp al,20h jz L0047BB17 cmp al,27h jz L0047BB17 mov edi,[esp+14h] L0047B9B8: mov ecx,[edi+04h] add edi,00000004h test ecx,ecx mov [esp+14h],edi mov eax,edi jnz L0047B936 L0047B9CC: mov eax,[L005078E4] test eax,eax jz L0047BA7A mov eax,L005078E4 mov edi,eax mov [esp+14h],edi L0047B9E4: mov edx,[eax] push esi push edx call SUB_L004168D0 mov edx,eax add esp,00000008h cmp edx,FFFFFFFFh jz L0047BA66 test edx,edx jz L0047BA0F mov al,[edx+esi-01h] cmp al,2Dh jz L0047BA0F cmp al,2Eh jz L0047BA0F cmp al,20h jz L0047BA0F cmp al,27h jnz L0047BA66 L0047BA0F: mov ebx,[edi] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebp,ecx or ecx,FFFFFFFFh add ebp,edx repne scasb not ecx dec ecx cmp ebp,ecx jz L0047BB17 mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L0047BB17 cmp al,2Eh jz L0047BB17 cmp al,20h jz L0047BB17 cmp al,27h jz L0047BB17 mov edi,[esp+14h] L0047BA66: mov ecx,[edi+04h] add edi,00000004h test ecx,ecx mov [esp+14h],edi mov eax,edi jnz L0047B9E4 L0047BA7A: mov eax,[L0050788C] test eax,eax jz L0047BB10 mov eax,L0050788C mov edi,eax mov [esp+14h],edi L0047BA92: mov eax,[eax] push esi push eax call SUB_L004168D0 mov edx,eax add esp,00000008h cmp edx,FFFFFFFFh jz L0047BB00 test edx,edx jz L0047BABD mov al,[edx+esi-01h] cmp al,2Dh jz L0047BABD cmp al,2Eh jz L0047BABD cmp al,20h jz L0047BABD cmp al,27h jnz L0047BB00 L0047BABD: mov ebx,[edi] or ecx,FFFFFFFFh mov edi,ebx xor eax,eax repne scasb not ecx dec ecx mov edi,esi mov ebp,ecx or ecx,FFFFFFFFh add ebp,edx repne scasb not ecx dec ecx cmp ebp,ecx jz L0047BB17 mov edi,ebx or ecx,FFFFFFFFh repne scasb not ecx dec ecx add ecx,edx mov al,[ecx+esi] cmp al,2Dh jz L0047BB17 cmp al,2Eh jz L0047BB17 cmp al,20h jz L0047BB17 cmp al,27h jz L0047BB17 mov edi,[esp+14h] L0047BB00: mov ecx,[edi+04h] add edi,00000004h test ecx,ecx mov [esp+14h],edi mov eax,edi jnz L0047BA92 L0047BB10: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L0047BB17: pop edi pop esi pop ebp mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BB30: mov eax,[L00D1B0F8] test eax,eax jz L0047BB47 mov eax,[L00D1B0F4] test eax,eax jz L0047BB47 call SUB_L004CF4A0 L0047BB47: push 00000000h push SSZ00508684_Out_of_memory push SSZ00508598_There_is_not_enough_memory_to_co push 00000000h call [USER32.dll!MessageBoxA] push 00000001h call SUB_L004D554B 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; '?' SUB_L0047BB70: mov dword ptr [L00C88318],00000001h push 00000013h call SUB_L004766D0 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BB90: mov dword ptr [L00C88318],00000000h push 00000011h call SUB_L004766D0 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BBB0: call SUB_L004D6F81 cdq idiv [esp+04h] mov eax,edx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047BBC0: push FFFFFFFFh push L004E408B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 00000230h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0047BC07 mov ecx,[L00C882B8] push 00000000h push 00000000h push ecx mov ecx,eax call SUB_L00481FA0 jmp L0047BC09 L0047BC07: xor eax,eax L0047BC09: test eax,eax mov dword ptr [esp+0Ch],FFFFFFFFh mov [L00C884DC],eax jz L0047BC1F mov ecx,[eax+04h] jmp L0047BC24 L0047BC1F: mov ecx,FEEDBEEFh L0047BC24: push 00000586h push SSZ00508740_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jnz L0047BC49 push SSZ005086BC_CApp__LoadPlayerFile__either_poi call SUB_L004C7EC0 add esp,00000004h L0047BC49: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BC60: sub esp,0000007Ch mov dword ptr [L00C87D40],00000000h push ebx push esi push edi push L004FD2A8 push SSZ00508780_uobscene_lst call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jz L0047BCE6 mov al,[esi+0Ch] mov bl,10h test bl,al jnz L0047BCDD L0047BC91: push esi call SUB_L0047B5A0 add esp,00000004h cmp word ptr [eax],0000h jz L0047BCD8 mov edi,[L00C87D40] push eax lea eax,[esp+3Ch] inc edi push eax mov [L00C87D40],edi call SUB_L004C4430 mov eax,[L00C87D40] lea ecx,[esp+40h] push ecx lea eax,[eax+eax*2] lea edx,[eax+eax*4] lea eax,[L00C8679C+edx*4] push eax call SUB_L004C4430 add esp,00000010h L0047BCD8: test [esi+0Ch],bl jz L0047BC91 L0047BCDD: push esi call SUB_L00440570 add esp,00000004h L0047BCE6: push L004FD2A8 push SSZ00508774_ignore_lst mov dword ptr [L00C87D44],00000000h call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jz L0047BD7F L0047BD08: push ebx push 0000001Eh lea ecx,[esp+18h] push 00000001h push ecx call SUB_L004404F0 add esp,00000010h test eax,eax jz L0047BD76 mov edx,[L00C87D44] lea edi,[esp+10h] inc edx or ecx,FFFFFFFFh push ebx push 00000001h lea eax,[edx+edx*2] push 00000004h mov [L00C87D44],edx lea eax,[eax+eax*4] lea esi,[L00C87ACA+eax*2] xor eax,eax repne scasb not ecx sub edi,ecx mov [esp+18h],esi mov eax,ecx mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[L00C87A94+edx*4] push ecx call SUB_L004404F0 add esp,00000010h jmp L0047BD08 L0047BD76: push ebx call SUB_L00440570 add esp,00000004h L0047BD7F: pop edi pop esi pop ebx add esp,0000007Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BD90: mov eax,[esp+04h] sub esp,00000050h sub eax,00000000h push ebx push ebp push esi push edi jz L0047BE16 dec eax jnz L0047BEB9 push L00500FAC push SSZ00508774_ignore_lst call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jz L0047BEB9 mov eax,[L00C87D44] xor ebp,ebp test eax,eax jle L0047BEB0 mov ebx,L00C87A98 mov edi,L00C87AE8 L0047BDDC: push esi push 0000001Eh push 00000001h push edi call SUB_L004D6274 push esi push 00000001h push 00000004h push ebx call SUB_L004D6274 mov eax,[L00C87D44] add esp,00000020h inc ebp add edi,0000001Eh add ebx,00000004h cmp ebp,eax jl L0047BDDC push esi call SUB_L00440570 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,00000050h retn ;------------------------------------------------------------------------------ L0047BE16: push L00500FAC push SSZ00508780_uobscene_lst call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jz L0047BEB9 mov eax,[L00C87D40] xor edi,edi test eax,eax jle L0047BEB0 mov ebx,L00C867D8 mov ebp,00000017h L0047BE47: lea eax,[esp+10h] push ebx push eax call SUB_L004C4430 lea ecx,[esp+18h] push ecx call SUB_L004C4300 add esp,0000000Ch test eax,eax jle L0047BE71 lea ecx,[esp+10h] L0047BE67: add word ptr [ecx],000Dh add ecx,00000002h dec eax jnz L0047BE67 L0047BE71: lea edx,[esp+10h] push esi push edx call SUB_L004C4300 add esp,00000004h push eax lea eax,[esp+18h] push 00000002h push eax call SUB_L004D6274 push esi push 00000001h lea ecx,[esp+28h] push 00000002h push ecx mov [esp+30h],bp call SUB_L004D6274 mov eax,[L00C87D40] add esp,00000020h inc edi add ebx,0000003Ch cmp edi,eax jl L0047BE47 L0047BEB0: push esi call SUB_L00440570 add esp,00000004h L0047BEB9: pop edi pop esi pop ebp pop ebx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047BED0: mov edx,[L00C87D44] xor eax,eax push esi test edx,edx jle L0047BEF2 mov esi,[esp+08h] mov ecx,L00C87A98 L0047BEE6: cmp esi,[ecx] jz L0047BEF6 inc eax add ecx,00000004h cmp eax,edx jl L0047BEE6 L0047BEF2: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0047BEF6: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047BF00: push ebx push ebp mov ebp,[KERNEL32.dll!GetTickCount] push esi push edi call ebp xor ebx,ebx mov esi,eax push ebx mov [L00C88368],esi call SUB_L004D750E mov edx,[L00C85BA0] mov [L00C8836C],eax mov eax,esi add esp,00000004h sub eax,edx cmp eax,00000021h jc L0047BFBD mov edx,[L00C85B9C] mov ecx,esi sub ecx,edx xor edi,edi cmp ecx,000003E8h mov [L00C85BA0],esi jc L0047BF9E mov eax,[L00C87EA0] mov [L00C85B9C],esi inc eax cmp eax,00000014h mov [L00C87EA0],eax jl L0047BF99 mov eax,[L00C87E9C] mov [L00C87EA0],ebx inc eax cmp eax,0000003Ch mov [L00C87E9C],eax jl L0047BF99 mov eax,[L00C87E98] mov [L00C87E9C],ebx inc eax cmp eax,00000018h mov [L00C87E98],eax jl L0047BF99 mov [L00C87E98],ebx L0047BF99: mov edi,00000001h L0047BF9E: call SUB_L00477760 call SUB_L00456FF0 cmp edi,00000001h jnz L0047BFB2 call SUB_L004849D0 L0047BFB2: cmp [esp+14h],ebx jnz L0047BFBD call SUB_L00446E20 L0047BFBD: mov ecx,[L00C85BA0] mov edx,esi sub edx,ecx cmp edx,00000037h jc L0047BFD7 mov [L00C85BA0],esi call SUB_L00401E90 L0047BFD7: mov edx,[L00C85B98] mov eax,esi sub eax,edx cmp eax,0000004Ch jc L0047C0C4 mov [L00C85B98],esi call ebp mov edi,[L00C85FC4] mov ecx,eax mov edx,ecx mov eax,10624DD3h sub edx,edi imul edx,[L005000F8] mul edx mov eax,[L00C85FC8] shr edx,06h sub eax,edx mov [L00C85FC8],eax jns L0047C023 mov [L00C85FC8],ebx L0047C023: mov [L00C85FC4],ecx call SUB_L0047D530 call SUB_L00473DE0 call SUB_L004CC510 call SUB_L004CD5F0 call SUB_L00479E10 call SUB_L00483680 call SUB_L004CAAF0 call SUB_L00471550 mov eax,[L00C83808] cmp eax,ebx jz L0047C060 dec eax mov [L00C83808],eax L0047C060: cmp [L00C88340],ebx jnz L0047C080 mov eax,[L00C88300] cmp [eax+14h],ebx jnz L0047C080 mov ecx,[L00C8836C] mov [L00C88344],ecx jmp L0047C0B7 L0047C080: mov eax,[L00C8836C] mov esi,[L00C88344] mov edx,eax sub edx,esi cmp edx,0000003Ch jle L0047C0B7 mov [L00C88344],eax lea eax,[esp+14h] push ebx push eax call SUB_L0049BBC0 add esp,00000008h lea ecx,[esp+14h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0047C0B7: cmp [L00503141],bl jnz L0047C0C4 call SUB_L0045D1A0 L0047C0C4: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047C0D0: sub esp,000000F8h lea eax,[esp+00h] push 00000000h push L007049FC push 00000043h push eax call SUB_L00499CC0 add esp,00000010h lea ecx,[esp+00h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 add esp,000000F8h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047C110: push esi push edi mov byte ptr [L00C85798],00h call SUB_L0043FEB0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85798 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L00C85798] test al,al jz L0047C1A7 mov edi,L00C85798 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L00C85797],5Ch jnz L0047C179 mov edi,L00C85798 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L00C85797],2Fh jz L0047C1A7 L0047C179: mov edi,[L005073C0] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00C85798 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0047C1A7: mov edx,[esp+0Ch] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx sub edi,ecx push ebx mov esi,edi mov ebx,ecx mov edi,L00C85798 or ecx,FFFFFFFFh repne scasb mov ecx,ebx dec edi shr ecx,02h rep movsd mov ecx,ebx pop ebx and ecx,00000003h rep movsb mov al,[L00C85798] test al,al jnz L0047C22F mov edi,L00508790 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85798 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 sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00C85798 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0047C22F: pop edi mov eax,L00C85798 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047C240: push esi push edi mov byte ptr [L00C85398],00h call SUB_L00440AD0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C85398 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov al,[L00C85398] test al,al jz L0047C2BF mov edi,L00C85398 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+L00C85397],5Ch jz L0047C2BF mov edi,[L005073C0] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00C85398 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L0047C2BF: mov edi,[esp+0Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,L00C85398 or ecx,FFFFFFFFh repne scasb mov ecx,edx dec edi shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[L00C85398] pop edi test al,al pop esi jnz L0047C303 push SSZ00508794_CApp__get_CDpath__currently_no_c call SUB_L004C7E80 add esp,00000004h L0047C303: mov eax,L00C85398 retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047C310: mov eax,[esp+04h] lea ecx,[eax+08h] cmp ecx,00000023h ja CASE_0047C3F8_PROC000A xor edx,edx mov dl,[ecx+CASE_0047C424] jmp [CASE_PROCTABLE_0047C3F8+edx*4] CASE_0047C3F8_PROC0008: mov ecx,[L00B294BC] test ecx,ecx jz L0047C3F5 mov edx,[ecx] push eax call [edx+44h] retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0009: mov ecx,[L00C83644] test ecx,ecx jz L0047C361 mov ecx,[L00C87EA4] push L007049FC push 00000000h call SUB_L0046BC40 retn ;------------------------------------------------------------------------------ L0047C361: mov ecx,[L00C88318] test ecx,ecx jz CASE_0047C3F8_PROC0008 jmp SUB_L00493700 CASE_0047C3F8_PROC0007: push 00000000h push 00000007h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0006: push 00000000h push 00000000h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0005: push 00000000h push 00000001h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0004: push 00000000h push 00000006h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0003: push 00000000h push 00000002h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0002: push 00000000h push 00000005h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0001: push 00000000h push 00000004h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC0000: push 00000000h push 00000003h call SUB_L004799D0 add esp,00000008h retn ;------------------------------------------------------------------------------ CASE_0047C3F8_PROC000A: mov ecx,[L00B294BC] test ecx,ecx jz L0047C3E9 mov edx,[ecx] push eax call [edx+44h] retn ;------------------------------------------------------------------------------ L0047C3E9: mov ecx,[L00C87EA4] push eax call SUB_L0046C9D0 L0047C3F5: retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0047C3F8: dd CASE_0047C3F8_PROC0000 dd CASE_0047C3F8_PROC0001 dd CASE_0047C3F8_PROC0002 dd CASE_0047C3F8_PROC0003 dd CASE_0047C3F8_PROC0004 dd CASE_0047C3F8_PROC0005 dd CASE_0047C3F8_PROC0006 dd CASE_0047C3F8_PROC0007 dd CASE_0047C3F8_PROC0008 dd CASE_0047C3F8_PROC0009 dd CASE_0047C3F8_PROC000A CASE_0047C424: 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_L0047C450: mov eax,02B202B2h mov ecx,02250225h sub esp,00000208h mov [L00C87EB4],eax mov [L00C87EA8],ecx mov [L00C87EB8],eax push ebx mov [L00C87EAC],ecx push esi mov [L00C87EBC],ax mov [L00C87EB0],cx mov esi,L007049FC mov eax,L00705058 L0047C48F: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047C4B7 test cl,cl jz L0047C4B3 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047C4B7 add eax,00000002h add esi,00000002h test cl,cl jnz L0047C48F L0047C4B3: xor eax,eax jmp L0047C4BC L0047C4B7: sbb eax,eax sbb eax,FFFFFFFFh L0047C4BC: test eax,eax jz L0047C568 mov esi,L007049FC mov eax,L00C880F8 L0047C4CE: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047C4F6 test cl,cl jz L0047C4F2 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047C4F6 add eax,00000002h add esi,00000002h test cl,cl jnz L0047C4CE L0047C4F2: xor eax,eax jmp L0047C4FB L0047C4F6: sbb eax,eax sbb eax,FFFFFFFFh L0047C4FB: test eax,eax jz L0047C568 mov eax,[L005073CC] push edi push eax push L00C880F8 push L00705058 push L00C85FF0 lea ecx,[esp+1Ch] push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000128h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+0000012Ch] push ecx call SUB_L0043FEF0 add esp,00000020h mov esi,eax test esi,esi pop edi jnz L0047C59D L0047C568: mov edx,[L005073CC] push L004FD2A8 push edx call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jnz L0047C59D push SSZ00508488_chardata_mul push SSZ005087EC_CApp__LoadCharData__cannot_open_ call SUB_L004C7F50 add esp,00000008h pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ L0047C59D: push esi push 00000005h push 00000002h push L00C87EB4 call SUB_L004404F0 push esi push 00000005h push 00000002h push L00C87EA8 call SUB_L004404F0 mov eax,[L00C8604C] push esi mov cx,[L00C87EB4+eax*2] mov dx,[L00C87EA8+eax*2] mov [L00C87EC4],cx mov [L00C87EC0],dx call SUB_L00440570 add esp,00000024h pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ SUB_L0047C5F0: sub esp,00000208h mov eax,L00705058 push ebx push esi mov esi,L007049FC L0047C602: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047C62A test cl,cl jz L0047C626 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047C62A add eax,00000002h add esi,00000002h test cl,cl jnz L0047C602 L0047C626: xor eax,eax jmp L0047C62F L0047C62A: sbb eax,eax sbb eax,FFFFFFFFh L0047C62F: test eax,eax jz L0047C6DB mov esi,L007049FC mov eax,L00C880F8 L0047C641: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0047C669 test cl,cl jz L0047C665 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0047C669 add eax,00000002h add esi,00000002h test cl,cl jnz L0047C641 L0047C665: xor eax,eax jmp L0047C66E L0047C669: sbb eax,eax sbb eax,FFFFFFFFh L0047C66E: test eax,eax jz L0047C6DB mov eax,[L005073CC] push edi push eax push L00C880F8 push L00705058 push L00C85FF0 lea ecx,[esp+1Ch] push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000128h] repne scasb not ecx sub edi,ecx push L00500FAC mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+0000012Ch] push ecx call SUB_L0043FEF0 add esp,00000020h mov esi,eax test esi,esi pop edi jnz L0047C715 L0047C6DB: mov edx,[L005073CC] push L00500FAC push edx call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jnz L0047C715 push L00500FAC push SSZ00508488_chardata_mul push SSZ00508818_CApp__SaveCharData__cannot_open_ call SUB_L004C7EF0 add esp,0000000Ch pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ L0047C715: push esi push 00000005h push 00000002h push L00C87EB4 call SUB_L004D6274 push esi push 00000005h push 00000002h push L00C87EA8 call SUB_L004D6274 push esi call SUB_L00440570 add esp,00000024h pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047C750: mov eax,[L007049EC] test eax,eax jz L0047C77C mov ax,[L00C87EC2] mov cx,[L00C87EC4] push eax mov eax,[L00C87EA4] push ecx mov ecx,[eax+0000011Ch] lea edx,[eax+0Ch] push edx call SUB_L00412400 L0047C77C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047C780: mov ecx,[L00C884DC] sub esp,0000000Ch mov eax,[ecx] call [eax+00000098h] test eax,eax jz L0047C7B4 lea ecx,[esp+02h] push 00000000h push ecx call SUB_L0049A650 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+02h] push edx call SUB_L004BC750 L0047C7B4: mov eax,[esp+10h] cmp eax,FFFFFFFFh jnz L0047C7D0 mov ecx,[L00C884DC] xor eax,eax mov edx,[ecx+00000154h] test edx,edx setz al L0047C7D0: mov dl,[L00C861CC] mov cl,[L00C861D0] push edx mov dl,[L00C861D4] push ecx push edx mov [L00507944],eax push eax lea eax,[esp+14h] push eax call SUB_L0049B760 add esp,00000014h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 call SUB_L00436BB0 mov eax,[L00B189F8] mov ecx,[eax+000000DCh] test ecx,ecx jz L0047C82B mov dword ptr [eax+000000DCh],00000000h call SUB_L004045B0 L0047C82B: add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047C830: mov eax,[L00507944] push esi push edi mov edi,[esp+0Ch] cmp edi,eax jnz L0047C849 mov dword ptr [L00507944],FFFFFFFFh L0047C849: mov ecx,[L00C884DC] mov esi,[ecx+20h] test esi,esi jz L0047C861 mov eax,[ecx] call [eax+14h] mov ecx,[L00C884DC] L0047C861: test esi,esi mov [ecx+00000154h],edi jz L0047C876 mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] L0047C876: mov esi,[L00B294DC] test esi,esi jz L0047C932 mov edi,000007E7h L0047C889: mov eax,[esi] mov ecx,esi call [eax+000000E8h] test eax,eax jz L0047C8B2 mov ecx,[esi+38h] mov eax,[L00C884DC] cmp ecx,eax jnz L0047C8B2 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L004A5350 L0047C8B2: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L0047C927 mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0047C927 mov eax,[esp+0Ch] mov ecx,[esi+000000A0h] test eax,eax jz L0047C904 mov dword ptr [ecx+54h],000007E8h mov edx,[esi+000000A0h] mov dword ptr [edx+000000A8h],000007E9h mov eax,[esi+000000A0h] mov dword ptr [eax+000000ACh],000007EAh jmp L0047C927 L0047C904: mov dword ptr [ecx+54h],000007E5h mov edx,[esi+000000A0h] mov dword ptr [edx+000000A8h],000007E6h mov eax,[esi+000000A0h] mov [eax+000000ACh],edi L0047C927: mov esi,[esi+40h] test esi,esi jnz L0047C889 L0047C932: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047C940: sub esp,000002F8h lea eax,[esp+000000F8h] push esi mov esi,[esp+00000304h] push edi push esi push L00508548 push eax call SUB_L004D512F mov edi,esi or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+14h] repne scasb not ecx dec ecx push ecx mov ecx,[esp+00000314h] push esi push ecx push edx call SUB_L00499CC0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+08h] push eax call SUB_L004BC750 pop edi pop esi add esp,000002F8h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047C9A0: mov eax,[L00C8831C] sub esp,000002F8h sub eax,00000000h mov dword ptr [L00C88328],00000000h push esi push edi jz L0047CB20 dec eax jz L0047CA7A dec eax jnz L0047CB9F mov esi,[esp+00000304h] test esi,esi jz L0047CB9F mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0047CB9F mov eax,[L00C8832C] test eax,eax jz L0047CA2A mov ecx,[esi+7Ch] lea edx,[esp+00000100h] push ecx push eax push SSZ004FF178__d__d push edx call SUB_L004D512F lea edi,[esp+00000110h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[esp+00000110h] push ecx push eax push 0000002Fh jmp L0047CA63 L0047CA2A: mov eax,[esi+7Ch] mov ecx,[L00C88314] push eax push ecx lea edx,[esp+00000108h] push SSZ00505198__s__d push edx call SUB_L004D512F lea edi,[esp+00000110h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[esp+00000110h] push ecx push eax push 00000027h L0047CA63: lea ecx,[esp+24h] push ecx call SUB_L00499CC0 add esp,00000020h lea edx,[esp+08h] push edx jmp L0047CB94 L0047CA7A: mov eax,[esp+00000304h] test eax,eax jz L0047CB9F movsx edx,[eax+28h] mov ecx,[L00C8832C] push edx test ecx,ecx jz L0047CAD3 movsx edx,[eax+26h] movsx eax,[eax+24h] push edx push eax push ecx lea ecx,[esp+00000110h] push SSZ005027D8__d__d__d__d push ecx call SUB_L004D512F lea edi,[esp+00000118h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000118h] repne scasb not ecx dec ecx push ecx push edx push 0000002Fh jmp L0047CB11 L0047CAD3: movsx ecx,[eax+26h] movsx edx,[eax+24h] mov eax,[L00C88314] push ecx push edx push eax lea ecx,[esp+00000110h] push SSZ00508854__s__d__d__d push ecx call SUB_L004D512F lea edi,[esp+00000118h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000118h] repne scasb not ecx dec ecx push ecx push edx push 00000027h L0047CB11: lea eax,[esp+2Ch] push eax call SUB_L00499CC0 add esp,00000028h jmp L0047CB8F L0047CB20: mov eax,[L00C8832C] test eax,eax jz L0047CB6C push eax lea edx,[esp+00000104h] push L004FF074 push edx call SUB_L004D512F lea edi,[esp+0000010Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[esp+0000010Ch] push ecx push eax lea ecx,[esp+1Ch] push 0000002Fh push ecx call SUB_L00499CC0 add esp,0000001Ch lea edx,[esp+08h] push edx jmp L0047CB94 L0047CB6C: mov edx,[L00C88314] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx lea eax,[esp+08h] push ecx push edx push 00000027h push eax call SUB_L00499CC0 add esp,00000010h L0047CB8F: lea ecx,[esp+08h] push ecx L0047CB94: mov ecx,[L00C88300] call SUB_L004BC750 L0047CB9F: mov dword ptr [L00C88318],00000000h push 00000011h call SUB_L004766D0 add esp,00000004h pop edi pop esi add esp,000002F8h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047CBC0: mov eax,[esp+04h] mov ecx,[esp+0Ch] mov [L00C88314],eax mov eax,[esp+08h] mov [L00C8831C],eax sub eax,00000000h mov [L00C8832C],ecx jz L0047CC0D dec eax jz L0047CBE7 dec eax jnz L0047CC15 L0047CBE7: push 00000027h call SUB_L004D0FB0 mov dword ptr [L00C88318],00000001h push 00000013h call SUB_L004766D0 add esp,00000008h mov dword ptr [L00C88328],L0047C9A0 retn ;------------------------------------------------------------------------------ L0047CC0D: push 00000000h call SUB_L0047C9A0 pop ecx L0047CC15: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047CC20: mov ecx,[L00C884DC] xor eax,eax cmp ecx,eax mov [L0054B29C],eax mov [L0054B2A0],eax mov [L00C88307],al jz L0047CC41 mov [ecx+000000A0h],eax L0047CC41: mov [L0054B298],eax mov [L0054B294],eax mov [L0054B290],eax call SUB_L00482470 call SUB_L00475010 jmp SUB_L00478E40 Align 4 SUB_L0047CC60: sub esp,00000014h push SSZ00508740_C__publish004_client_src_shared_ push SSZ005088F8_File__s__Function_ChooseServer__ call SUB_L004C7F50 mov eax,[L00C88300] mov dword ptr [L00C88340],00000000h add esp,00000008h mov dword ptr [eax+14h],00000000h mov ecx,[L00C88300] mov dword ptr [ecx+10h],00000000h mov eax,[L00C8830C] test eax,eax jz L0047CCB8 mov dx,[L00C88310] mov [L00C88350],eax mov [L00C88354],dx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047CCB8: mov eax,[esp+18h] test eax,eax jnz L0047CD6C mov eax,[L005073D8] test eax,eax jnz L0047CCE6 push SSZ00508740_C__publish004_client_src_shared_ push SSZ00508860_File__s__Function_ChooseServer__ call SUB_L004C7F50 mov eax,[L005073D8] add esp,00000008h test eax,eax L0047CCE6: jl L0047CDFA mov ecx,[L00C85E04+eax*4] test ecx,ecx jz L0047CD0F mov ax,[L00C85DF4+eax*2] mov [L00C88350],ecx mov [L00C88354],ax add esp,00000014h retn ;------------------------------------------------------------------------------ L0047CD0F: lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx push edx lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx push edx mov edx,[L00C85E24+eax*4] lea ecx,[esp+10h] push ecx push edx call SUB_L004374B0 mov eax,[esp+18h] mov ecx,[esp+1Ch] shl eax,08h or eax,ecx mov ecx,[esp+20h] shl eax,08h or eax,ecx mov ecx,[esp+24h] shl eax,08h add esp,00000018h or eax,ecx mov cx,[esp+10h] mov [L00C88350],eax mov [L00C88354],cx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047CD6C: mov ecx,[L005073DC] test ecx,ecx jl L0047CDFA mov eax,[L00C85DB4+ecx*4] test eax,eax jz L0047CD9D mov dx,[L00C85DA4+ecx*2] mov [L00C88350],eax mov [L00C88354],dx add esp,00000014h retn ;------------------------------------------------------------------------------ L0047CD9D: mov ecx,[L00C85DD4+ecx*4] lea eax,[esp+10h] push eax lea edx,[esp+10h] lea eax,[esp+0Ch] push edx push eax lea edx,[esp+10h] lea eax,[esp+0Ch] push edx push eax push ecx call SUB_L004374B0 mov edx,[esp+18h] mov eax,[esp+1Ch] shl edx,08h or edx,eax mov eax,[esp+20h] shl edx,08h or edx,eax mov eax,[esp+24h] shl edx,08h add esp,00000018h or edx,eax mov ax,[esp+10h] mov [L00C88350],edx mov [L00C88354],ax add esp,00000014h retn ;------------------------------------------------------------------------------ L0047CDFA: mov dword ptr [L00C88338],00000001h add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047CE10: mov eax,fs:[00000000h] mov ecx,[L00B2905C] push FFFFFFFFh push L004E40AB push eax mov fs:[00000000h],esp sub esp,00000050h test ecx,ecx jz L0047CE38 mov eax,[ecx] push 00000001h call [eax] L0047CE38: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+58h],00000000h jz L0047CE76 mov ecx,[L00B294A4] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ00508920_Entering_Britannia___ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0047CE78 L0047CE76: xor eax,eax L0047CE78: mov [L00B2905C],eax mov edx,[eax+48h] push 00000001h push 00000000h mov dword ptr [edx+6Ch],00000001h mov ecx,[L00B2905C] mov dword ptr [esp+60h],FFFFFFFFh call SUB_L004587A0 mov eax,[esp+68h] mov ecx,[esp+64h] mov edx,[esp+60h] push eax push ecx lea eax,[esp+0Ch] push edx push eax call SUB_L0049A2B0 add esp,00000010h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[esp+50h] mov byte ptr [L005000FC],01h mov fs:[00000000h],ecx add esp,0000005Ch retn ;------------------------------------------------------------------------------ SUB_L0047CEE0: mov eax,fs:[00000000h] mov ecx,[L00B2905C] push FFFFFFFFh push L004E40CB push eax mov fs:[00000000h],esp sub esp,00000070h test ecx,ecx jz L0047CF08 mov eax,[ecx] push 00000001h call [eax] L0047CF08: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+78h],00000000h jz L0047CF46 mov ecx,[L00B29488] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ00508938_Creating_character____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0047CF48 L0047CF46: xor eax,eax L0047CF48: mov [L00B2905C],eax mov edx,[eax+48h] push 00000001h push 00000000h mov dword ptr [edx+6Ch],00000000h mov ecx,[L00B2905C] mov dword ptr [esp+00000080h],FFFFFFFFh call SUB_L004587A0 mov ax,[L00C880E6] mov cx,[L00C880E8] mov edx,[L00C8604C] push eax mov al,[L00C880D4] push ecx mov cl,[L00C880D8] push edx mov dl,[L00C880DC] push eax mov al,[L00C880DD] push ecx mov cl,[L00C880DE] push edx mov dl,[L00C880DF] push eax mov al,[L00C880E0] push ecx mov cl,[L00C880E1] push edx mov dx,[L00C880E4] push eax mov ax,[L00C880E2] push ecx mov cx,[L00C880EC] push edx mov dx,[L00C880EE] push eax mov ax,[L00C880EA] push ecx mov cl,[L00C880F0] push edx mov dl,[L00C880F1] push eax mov al,[L00C880F2] push ecx mov cl,[L00C880F5] push edx push eax push ecx push L00C88118 lea edx,[esp+58h] push L00C880F8 push edx call SUB_L00499F50 mov ecx,[L00C88300] add esp,0000005Ch lea eax,[esp+04h] push eax call SUB_L004BC750 mov ecx,[esp+70h] mov fs:[00000000h],ecx add esp,0000007Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047D040: mov eax,fs:[00000000h] mov ecx,[L00B2905C] push FFFFFFFFh push L004E40EB push eax mov fs:[00000000h],esp sub esp,00000044h test ecx,ecx jz L0047D068 mov eax,[ecx] push 00000001h call [eax] L0047D068: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+4Ch],00000000h jz L0047D0A6 mov ecx,[L00B294A0] push 00000000h push 00000000h push 00000001h push 00000001h push ecx push SSZ00508950_Verifying_Account____ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0047D0A8 L0047D0A6: xor eax,eax L0047D0A8: mov [L00B2905C],eax mov edx,[eax+48h] push 00000001h push 00000000h mov dword ptr [edx+6Ch],00000001h mov ecx,[L00B2905C] mov dword ptr [esp+54h],FFFFFFFFh call SUB_L004587A0 mov eax,[esp+5Ch] mov ecx,[esp+58h] mov edx,[esp+54h] push eax push ecx lea eax,[esp+0Ch] push edx push eax call SUB_L0049C020 add esp,00000010h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[esp+44h] mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D110: mov ecx,[L00C88300] mov eax,00000001h push ebx push ebp mov [L00C88370],eax mov edx,[ecx+04h] or ebp,FFFFFFFFh cmp edx,ebp jnz L0047D2C9 push esi push edi call [KERNEL32.dll!GetTickCount] push eax call SUB_L004D6F74 mov eax,[L00C88360] xor ebx,ebx add esp,00000004h cmp eax,ebx mov esi,eax jz L0047D160 mov edi,eax call SUB_L004D6F81 cdq idiv edi mov [L005073D8],edx jmp L0047D166 L0047D160: mov [L005073D8],ebx L0047D166: push ebx call SUB_L0047CC60 mov dx,[L00C88354] mov eax,[L00C88350] mov ecx,[L00C88300] add esp,00000004h push edx push eax call SUB_L004BA9B0 test eax,eax jnz L0047D1E1 L0047D18C: mov eax,[L005073D8] cmp eax,ebx jl L0047D1AB mov ecx,[L00C88360] inc eax cmp eax,ecx mov [L005073D8],eax jnz L0047D1AB mov [L005073D8],ebx L0047D1AB: mov ecx,[L00C88300] dec esi cmp [ecx+04h],ebp jnz L0047D1E1 cmp esi,ebx jz L0047D1E1 push ebx call SUB_L0047CC60 mov dx,[L00C88354] mov eax,[L00C88350] mov ecx,[L00C88300] add esp,00000004h push edx push eax call SUB_L004BA9B0 test eax,eax jz L0047D18C L0047D1E1: mov esi,[L00C88360] cmp esi,ebx jz L0047D1FB call SUB_L004D6F81 cdq idiv esi mov [L005073D8],edx jmp L0047D201 L0047D1FB: mov [L005073D8],ebx L0047D201: mov ecx,[L00C88300] cmp [ecx+04h],ebp jnz L0047D2AC mov eax,[L00C88364] cmp eax,ebx mov esi,eax jz L0047D2AC mov edi,eax call SUB_L004D6F81 cdq idiv edi push 00000001h mov [L005073DC],edx call SUB_L0047CC60 mov dx,[L00C88354] mov eax,[L00C88350] mov ecx,[L00C88300] add esp,00000004h push edx push eax call SUB_L004BA9B0 test eax,eax jnz L0047D2AC L0047D256: mov eax,[L005073DC] cmp eax,ebx jl L0047D275 mov ecx,[L00C88364] inc eax cmp eax,ecx mov [L005073DC],eax jnz L0047D275 mov [L005073DC],ebx L0047D275: mov ecx,[L00C88300] dec esi cmp [ecx+04h],ebp jnz L0047D2AC cmp esi,ebx jz L0047D2AC push 00000001h call SUB_L0047CC60 mov dx,[L00C88354] mov eax,[L00C88350] mov ecx,[L00C88300] add esp,00000004h push edx push eax call SUB_L004BA9B0 test eax,eax jz L0047D256 L0047D2AC: mov ecx,[L00C88300] pop edi pop esi cmp [ecx+04h],ebp jnz L0047D2C4 mov [L00C88370],ebx pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L0047D2C4: mov eax,00000001h L0047D2C9: pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D2D0: mov ecx,[L005073D4] push edi imul ecx,[L005073D0] mov edi,[L00B189FC] 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_L0047D300: sub esp,00000008h push ebx mov ebx,[L005073D4] imul ebx,[L005073D0] push ebp mov ebp,[L00D1B0D8] push esi mov esi,[L0054B290] push edi call SUB_L00447080 mov edi,eax mov [esp+10h],edi call SUB_L00447090 test eax,eax jle L0047D39D mov [esp+14h],eax jmp L0047D33E L0047D33A: mov edi,[esp+10h] L0047D33E: lea eax,[edi+esi] cmp eax,ebx jle L0047D36F mov ecx,ebx xor eax,eax sub ecx,esi lea edi,[ebp+esi*2+00h] shl ecx,1 mov edx,ecx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[esp+10h] mov edi,ebp sub ecx,ebx add ecx,esi shl ecx,1 xor eax,eax jmp L0047D378 L0047D36F: lea ecx,[edi+edi] xor eax,eax lea edi,[ebp+esi*2+00h] L0047D378: mov edx,ecx shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb add esi,[L005073D0] cmp esi,ebx jle L0047D392 sub esi,ebx L0047D392: mov eax,[esp+14h] dec eax mov [esp+14h],eax jnz L0047D33A L0047D39D: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047D3B0: mov ecx,[L00C85FC8] mov edx,[L005000F8] xor eax,eax cmp ecx,edx setl al retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047D3D0: mov eax,[esp+04h] mov ecx,[L00C85FC8] add ecx,eax mov [L00C85FC8],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047D3F0: push FFFFFFFFh push L004E4121 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi push edi push 0000002Ch call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+10h],esi xor ebx,ebx cmp esi,ebx mov [esp+1Ch],ebx jz L0047D43D lea ecx,[esi+04h] call SUB_L004C8060 lea ecx,[esi+14h] mov byte ptr [esp+1Ch],01h call SUB_L004B3250 mov ebp,esi jmp L0047D43F L0047D43D: xor ebp,ebp L0047D43F: mov eax,[esp+24h] lea ecx,[ebp+14h] push eax mov dword ptr [esp+20h],FFFFFFFFh mov [ebp+00h],ebx call SUB_L004B3430 mov ecx,[esp+28h] mov edx,[esp+2Ch] mov [ebp+24h],ecx mov [ebp+28h],edx mov esi,[L00C85FBC] cmp esi,ebx jz L0047D4B2 jnz L0047D475 xor eax,eax jmp L0047D4DC L0047D475: mov edi,[esi] push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L0047D48F mov [eax],ebx mov [eax+04h],ebx mov [eax+08h],ebx jmp L0047D491 L0047D48F: xor eax,eax L0047D491: mov [eax],edi mov [eax+04h],esi cmp edi,ebx mov [esi],eax jz L0047D4A1 mov [edi+04h],eax jmp L0047D4D6 L0047D4A1: mov ecx,[L00C85FB8] mov [L00C85FBC],eax cmp ecx,ebx jnz L0047D4D6 jmp L0047D4D1 L0047D4B2: push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L0047D4CA mov [eax],ebx mov [eax+04h],ebx mov [eax+08h],ebx jmp L0047D4CC L0047D4CA: xor eax,eax L0047D4CC: mov [L00C85FBC],eax L0047D4D1: mov [L00C85FB8],eax L0047D4D6: inc [L00C85FC0] L0047D4DC: mov edi,eax cmp edi,ebx jz L0047D51C mov esi,[edi+08h] cmp esi,ebx jz L0047D519 mov [esp+24h],esi lea ecx,[esi+14h] mov dword ptr [esp+1Ch],00000002h call SUB_L004B3270 lea ecx,[esi+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 push esi call SUB_L004D4F9E add esp,00000004h mov [edi+08h],ebx L0047D519: mov [edi+08h],ebp L0047D51C: mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047D530: push ebx push esi mov esi,[L00C85FB8] push edi test esi,esi jz L0047D5EA L0047D541: mov eax,[esi+08h] mov edx,[L00C85FC8] mov edi,[L005000F8] mov ecx,[eax] cmp edx,edi jge L0047D5EA mov edx,[eax+24h] test ecx,ecx mov ecx,[eax+28h] push ecx push edx jnz L0047D576 lea ecx,[eax+14h] call SUB_L004C8360 push eax call SUB_L004BD7D0 jmp L0047D584 L0047D576: lea ecx,[eax+04h] call SUB_L004C8360 push eax call SUB_L004C55D0 L0047D584: add esp,0000000Ch test esi,esi jz L0047D5E2 mov eax,[esi+04h] mov edi,[esi] test eax,eax jz L0047D598 mov [eax],edi jmp L0047D59E L0047D598: mov [L00C85FB8],edi L0047D59E: test edi,edi jz L0047D5A7 mov [edi+04h],eax jmp L0047D5AC L0047D5A7: mov [L00C85FBC],eax L0047D5AC: mov ebx,[esi+08h] push esi mov dword ptr [esi+08h],00000000h call SUB_L004D4F9E mov ecx,[L00C85FC0] add esp,00000004h dec ecx mov esi,edi test ebx,ebx mov [L00C85FC0],ecx jz L0047D5E2 mov ecx,ebx call SUB_L0047D6C0 push ebx call SUB_L004D4F9E add esp,00000004h L0047D5E2: test esi,esi jnz L0047D541 L0047D5EA: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047D5F0: mov eax,fs:[00000000h] mov ecx,[L00C85FB8] push FFFFFFFFh push L004E4138 push eax xor edx,edx mov fs:[00000000h],esp sub esp,00000010h test ecx,ecx push esi jz L0047D631 L0047D615: mov eax,[ecx+08h] cmp dword ptr [eax],00000000h jnz L0047D622 mov esi,[eax+18h] jmp L0047D625 L0047D622: mov esi,[eax+08h] L0047D625: add edx,esi test ecx,ecx jz L0047D631 mov ecx,[ecx] test ecx,ecx jnz L0047D615 L0047D631: mov esi,[L00C85FC8] mov eax,[L005000F8] sub esi,eax push eax add esi,edx push esi call SUB_L004D75EA mov eax,esi add esp,00000008h cdq idiv [L005000F8] push SSZ00508974__Spam_detected__speech_queued_fo lea ecx,[esp+08h] mov esi,eax call SUB_L004B3290 push esi lea ecx,[esp+08h] mov dword ptr [esp+20h],00000000h call SUB_L004B34F0 push SSZ00508968__seconds_ lea ecx,[esp+08h] call SUB_L004B34D0 lea ecx,[esp+04h] call SUB_L004C8360 push eax push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch lea ecx,[esp+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004B3270 mov ecx,[esp+14h] pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D6C0: push FFFFFFFFh push L004E415B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi lea ecx,[esi+14h] mov dword ptr [esp+10h],00000000h call SUB_L004B3270 lea ecx,[esi+04h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047D710: push ebx mov ebx,ecx mov eax,[ebx+0Ch] test eax,eax jnz L0047D76A push esi mov esi,[ebx] test esi,esi jz L0047D74E push edi L0047D722: mov eax,[ebx+0Ch] mov edi,[esi+10h] test eax,eax jnz L0047D733 mov ecx,[esi] mov eax,[ecx] call [eax+04h] L0047D733: test esi,esi jz L0047D747 mov ecx,esi call SUB_L00401E90 push esi call SUB_L004D4F9E add esp,00000004h L0047D747: test edi,edi mov esi,edi jnz L0047D722 pop edi L0047D74E: 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 L0047D76A: pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D770: mov eax,[esp+04h] mov [ecx+0Ch],eax retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0047D780: push ebx mov ebx,ecx push esi mov esi,[ebx] test esi,esi jz L0047D7B7 push edi L0047D78B: mov eax,[ebx+0Ch] mov edi,[esi+10h] test eax,eax jnz L0047D79C mov ecx,[esi] mov eax,[ecx] call [eax+04h] L0047D79C: test esi,esi jz L0047D7B0 mov ecx,esi call SUB_L00401E90 push esi call SUB_L004D4F9E add esp,00000004h L0047D7B0: test edi,edi mov esi,edi jnz L0047D78B pop edi L0047D7B7: 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_L0047D7E0: push FFFFFFFFh push L004E4180 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi push edi mov [esp+10h],ecx mov esi,[ecx] mov eax,00000001h test esi,esi mov [esp+24h],eax jz L0047D876 mov bx,[esp+30h] mov ebp,[esp+2Eh] L0047D818: mov cx,[esi+06h] mov ax,[esi+04h] add ax,[esp+2Ch] mov di,[esi+08h] add cx,bp add di,bx mov [esp+16h],cx mov ecx,[esi] mov [esp+14h],ax mov [esp+18h],di mov al,[ecx+70h] test al,al jnz L0047D84C mov edx,[ecx] call [edx+50h] L0047D84C: mov ecx,[esp+14h] sub esp,00000008h mov eax,esp mov [eax],ecx mov ecx,[esi] mov [eax+04h],di call SUB_L0047EFE0 mov esi,[esi+10h] test esi,esi jnz L0047D818 mov edx,[esp+10h] mov dword ptr [edx+14h],00000001h jmp L0047D879 L0047D876: mov [ecx+14h],eax L0047D879: mov ecx,[esp+1Ch] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0047D890: push SSZ00508998_MultiManager__startup__begin__ call SUB_L004C7F20 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047D8A0: push FFFFFFFFh push L004E41A3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov edx,[esp+30h] push ebx lea eax,[esp+14h] push esi lea ecx,[esp+0Ch] push eax push ecx push edx xor ebx,ebx push 0000000Eh push 0000000Dh mov [esp+20h],ebx mov [esp+2Ch],ebx mov [esp+1Ch],ebx call SUB_L0045EF20 mov esi,eax add esp,00000014h cmp esi,ebx mov [esp+10h],esi jnz L0047D900 pop esi xor eax,eax pop ebx mov ecx,[esp+20h] mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L0047D900: mov ecx,[esp+0Ch] mov eax,2AAAAAABh imul ecx push ebp push edi mov edi,[esp+44h] sar edx,1 mov ebp,[edi+00000098h] mov eax,edx shr eax,1Fh add edx,eax cmp ebp,ebx mov [esp+1Ch],edx jz L0047D943 cmp [ebp+0Ch],ebx jnz L0047D934 mov ecx,ebp call SUB_L0047D780 L0047D934: push ebp call SUB_L004D4F9E add esp,00000004h mov [edi+00000098h],ebx L0047D943: push 00000018h call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L0047D96C mov [eax+04h],ebx mov [eax],ebx mov dword ptr [eax+08h],FFFFFFFFh mov [eax+0Ch],ebx mov [eax+10h],ebx mov dword ptr [eax+14h],00000001h jmp L0047D96E L0047D96C: xor eax,eax L0047D96E: mov ecx,[esp+40h] mov [edi+00000098h],eax mov [eax+08h],ecx mov eax,[esp+1Ch] xor ecx,ecx cmp eax,ebx mov [esp+40h],ecx jle L0047DAA2 L0047D98D: lea eax,[ecx+ecx*2] mov [esp+38h],ebx shl eax,02h cmp ecx,ebx mov dx,[eax+esi+02h] mov bp,[eax+esi] mov [esp+28h],dx mov dx,[eax+esi+04h] mov [esp+2Ah],dx mov dx,[eax+esi+06h] mov eax,[eax+esi+08h] mov [esp+2Ch],dx jnz L0047D9CA mov [edi+3Ch],bp jmp L0047DA89 L0047D9CA: cmp eax,00000001h jnz L0047DA89 push 0000007Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+38h],01h jz L0047D9F5 mov ecx,eax call SUB_L0047E470 mov edi,eax jmp L0047D9F7 L0047D9F5: xor edi,edi L0047D9F7: mov eax,[esp+44h] mov [edi+3Ch],bp push 00000014h mov [esp+3Ch],bl mov ebp,[eax+00000098h] call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L0047DA21 mov [eax+0Ch],ebx mov [eax+10h],ebx mov esi,eax jmp L0047DA23 L0047DA21: xor esi,esi L0047DA23: mov edx,[edi] mov ecx,edi call [edx+6Ch] mov [esi],edi mov ecx,[esp+28h] lea eax,[esi+04h] mov [esi+04h],ecx mov dx,[esp+2Ch] mov [eax+04h],dx mov eax,[ebp+04h] cmp eax,ebx mov [esi+0Ch],eax jz L0047DA4C mov [eax+10h],esi L0047DA4C: mov eax,[ebp+00h] mov [ebp+04h],esi cmp eax,ebx jnz L0047DA59 mov [ebp+00h],esi L0047DA59: push edi mov [esi+10h],ebx call SUB_L0047EC20 push ebx lea eax,[esp+30h] push ebx push eax call SUB_L00474FA0 mov ecx,[esp+20h] add esp,00000010h cmp eax,ecx jle L0047DA7D mov [esp+10h],eax L0047DA7D: mov esi,[esp+18h] mov ecx,[esp+40h] mov edi,[esp+44h] L0047DA89: mov eax,[esp+1Ch] inc ecx cmp ecx,eax mov dword ptr [esp+38h],FFFFFFFFh mov [esp+40h],ecx jl L0047D98D L0047DAA2: mov ecx,[edi+00000098h] mov edx,[esp+10h] mov [ecx+10h],edx mov eax,[edi+00000098h] mov ecx,[esp+30h] pop edi pop ebp mov [eax+14h],ebx pop esi mov eax,00000001h pop ebx mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ SUB_L0047DAD0: push ebx push ebp mov ebp,[esp+0Ch] push esi push edi xor ebx,ebx mov edi,[ebp+00000098h] cmp edi,ebx jz L0047DB47 mov eax,[edi+08h] mov ecx,[esp+1Ch] cmp eax,ecx jz L0047DB47 cmp edi,ebx jz L0047DB41 cmp [edi+0Ch],ebx jnz L0047DB38 mov esi,[edi] cmp esi,ebx jz L0047DB29 L0047DAFE: mov eax,[edi+0Ch] mov ebx,[esi+10h] test eax,eax jnz L0047DB0F mov ecx,[esi] mov edx,[ecx] call [edx+04h] L0047DB0F: test esi,esi jz L0047DB23 mov ecx,esi call SUB_L00401E90 push esi call SUB_L004D4F9E add esp,00000004h L0047DB23: test ebx,ebx mov esi,ebx jnz L0047DAFE L0047DB29: mov [edi+04h],ebx mov [edi],ebx mov [edi+14h],ebx mov dword ptr [edi+08h],FFFFFFFFh L0047DB38: push edi call SUB_L004D4F9E add esp,00000004h L0047DB41: mov [ebp+00000098h],ebx L0047DB47: cmp [ebp+00000098h],ebx jnz L0047DB5D mov eax,[esp+1Ch] push ebp push eax call SUB_L0047D8A0 add esp,00000008h L0047DB5D: mov eax,[ebp+00000098h] cmp eax,ebx jnz L0047DB97 mov al,[ebp+70h] test al,al jnz L0047DB76 mov edx,[ebp+00h] mov ecx,ebp call [edx+50h] L0047DB76: mov eax,[esp+18h] sub esp,00000008h mov ecx,esp mov edx,[eax] mov [ecx],edx mov ax,[eax+04h] mov [ecx+04h],ax mov ecx,ebp call SUB_L0047EFE0 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0047DB97: mov edx,[eax+14h] mov esi,[esp+18h] mov ecx,00000001h cmp edx,ecx jnz L0047DBD0 cmp [ebp+20h],ecx jnz L0047DBD0 mov al,[ebp+70h] test al,al jnz L0047DBDF mov cx,[esi] cmp cx,[ebp+24h] jnz L0047DBD0 mov dx,[esi+02h] cmp dx,[ebp+26h] jnz L0047DBD0 mov ax,[esi+04h] cmp ax,[ebp+28h] jz L0047DC1B L0047DBD0: mov al,[ebp+70h] test al,al jnz L0047DBDF mov edx,[ebp+00h] mov ecx,ebp call [edx+50h] L0047DBDF: 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,ebp call SUB_L0047EFE0 mov ebp,[ebp+00000098h] cmp ebp,ebx jz L0047DC1B mov edx,[esi] mov ax,[esi+04h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov [ecx+04h],ax mov ecx,ebp call SUB_L0047D7E0 L0047DC1B: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ SUB_L0047DC20: sub esp,0000000Ch push ebx push esi mov esi,[esp+1Ch] push esi call SUB_L004D4FA9 mov ebx,eax mov eax,2AAAAAABh imul esi sar edx,1 mov eax,edx add esp,00000004h shr eax,1Fh add edx,eax mov [esp+08h],ebx test edx,edx jle L0047DD0A mov ecx,[esp+18h] push ebp push edi lea esi,[ebx+08h] lea edi,[ecx+04h] sub ecx,ebx mov [esp+20h],ecx mov [esp+24h],edx jmp L0047DC6C L0047DC68: mov ecx,[esp+20h] L0047DC6C: mov dx,[edi-02h] mov ax,[edi-04h] mov ebx,[ecx+esi] mov [esp+14h],dx mov dx,[edi] push eax mov [esp+1Ah],dx mov dx,[edi+02h] mov [esp+1Ch],dx call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax mov eax,[esp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[esp+16h] mov [esp+14h],ax push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[esp+18h] mov [esp+16h],ax push edx call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov [esp+1Ch],ax call jmp_WSOCK32.dll!WSOCK32.14 mov cx,[esp+14h] mov dx,[esp+16h] mov [esi-08h],bp mov [esi-06h],cx mov cx,[esp+18h] mov [esi-04h],dx mov [esi-02h],cx mov [esi],eax mov eax,[esp+24h] add edi,0000000Ch add esi,0000000Ch dec eax mov [esp+24h],eax jnz L0047DC68 mov eax,[esp+10h] pop edi pop ebp pop esi pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0047DD0A: mov eax,ebx pop esi pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047DD20: push FFFFFFFFh push L004E41BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[esp+14h] push ebx push esi push edi push eax call SUB_L0040F510 mov esi,[L00C88380] xor ebx,ebx add esp,00000004h cmp esi,ebx mov [esp+20h],eax jz L0047DD64 mov ecx,[esi+44h] mov [L00C88380],ecx jmp L0047DE1E L0047DD64: push 0000F804h mov dword ptr [L00C88374],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov [esp+18h],ebx jz L0047DDA9 push SUB_L0047E560 push SUB_L0047E470 lea esi,[eax+04h] push 00000200h push 0000007Ch push esi mov dword ptr [eax],00000200h call SUB_L004D549C jmp L0047DDAB L0047DDA9: xor esi,esi L0047DDAB: mov eax,[L00C8837C] push ebp add eax,00000200h mov dword ptr [esp+1Ch],FFFFFFFFh mov [L00C8837C],eax mov [L00C88374],ebx lea edi,[esi+0000F784h] mov ebp,000001FFh L0047DDD4: cmp edi,ebx jz L0047DDDD mov eax,[edi+04h] jmp L0047DDE2 L0047DDDD: mov eax,FEEDBEEFh L0047DDE2: push 0000003Eh push SSZ0050C0EC_C__publish004_client_src_shared_ push eax push edi call SUB_L00476020 add esp,00000010h test al,al jnz L0047DE04 push SSZ0050C078_NewStaticObj__either_pointer____ call SUB_L004C7EC0 add esp,00000004h L0047DE04: mov edx,[L00C88380] mov [edi+44h],edx mov [L00C88380],edi sub edi,0000007Ch dec ebp jnz L0047DDD4 mov eax,[esp+24h] pop ebp L0047DE1E: mov edi,[L00C88378] or ecx,FFFFFFFFh inc edi mov [L00C88378],edi mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+68h],ebx mov [esi+64h],ebx mov [esi+71h],bl mov [esi+58h],ebx mov [esi+54h],ebx mov [esi+60h],ebx mov [esi+5Ch],ebx mov [esi+3Ch],bx mov [esi+42h],bx mov [esi+72h],bl mov byte ptr [esi+70h],01h mov [esi+24h],cx mov [esi+26h],cx mov ecx,eax mov [esi+28h],bx and ecx,00003FFFh mov [esi+6Ch],ebx mov [esi+78h],bl mov [esi+3Eh],bl mov [esi+40h],bx mov [esi+74h],ebx lea eax,[eax+eax*4] mov [esi+3Ch],cx mov edx,[L00C88540] pop edi shl eax,03h mov cx,[eax+edx+08h] mov [esi+40h],cx mov edx,[L00C88540] mov ecx,[esp+0Ch] mov ax,[eax+edx+0Eh] mov [esi+42h],ax mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0047DEC0: push ebx mov bl,[esp+08h] push esi mov esi,ecx test bl,02h jz L0047DEF8 mov eax,[esi-04h] push edi lea edi,[esi-04h] push SUB_L0047E560 push eax push 0000007Ch push esi call SUB_L004D53BE test bl,01h jz L0047DEF0 push edi call SUB_L004D4F9E add esp,00000004h L0047DEF0: mov eax,edi pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L0047DEF8: mov ecx,esi call SUB_L0047E560 test bl,01h jz L0047DF0D push esi call SUB_L004D4F9E add esp,00000004h L0047DF0D: mov eax,esi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047DF20: push FFFFFFFFh push L004E41DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00C88390] push ebx xor ebx,ebx push esi cmp eax,ebx jz L0047DF54 mov ecx,[eax+00000084h] mov [L00C88390],ecx jmp L0047DFDA L0047DF54: push 00002B04h mov dword ptr [L00C88384],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax cmp eax,ebx mov [esp+14h],ebx jz L0047DF9B push SUB_L0047E910 push SUB_L0047E690 lea esi,[eax+04h] push 00000040h push 000000ACh push esi mov dword ptr [eax],00000040h call SUB_L004D549C mov eax,esi jmp L0047DF9D L0047DF9B: xor eax,eax L0047DF9D: mov ecx,[L00C8838C] mov edx,[L00C88390] add ecx,00000040h mov [L00C88384],ebx mov [L00C8838C],ecx lea ecx,[eax+00002A54h] mov esi,0000003Fh L0047DFC3: mov [ecx+00000084h],edx mov edx,ecx sub ecx,000000ACh dec esi jnz L0047DFC3 mov [L00C88390],edx L0047DFDA: mov esi,[L00C88388] mov edx,[L00C8850C] inc esi mov ecx,edx mov [L00C88388],esi cmp ecx,ebx mov [eax+00000084h],edx jz L0047DFFF mov [ecx+00000088h],eax L0047DFFF: mov ecx,[L00C88510] mov [L00C8850C],eax cmp ecx,ebx jnz L0047E013 mov [L00C88510],eax L0047E013: mov ecx,[esp+1Ch] mov edx,[esp+20h] mov [eax+00000088h],ebx mov [eax+00000080h],ebx mov [eax+00000090h],ebx mov [eax+0000008Ch],ebx mov [eax+00000094h],ebx mov [eax+000000A0h],ebx mov [eax+00000098h],ebx mov [eax+000000A4h],ebx mov [eax+000000A8h],ebx mov [eax+0000009Ch],bl mov [eax+7Ch],ecx mov cl,[esp+24h] and edx,00003FFFh mov [eax+3Eh],cl mov ecx,[esp+0Ch] mov [eax+3Ch],dx pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L0047E080: push ebx mov bl,[esp+08h] push esi mov esi,ecx test bl,02h jz L0047E0BB mov eax,[esi-04h] push edi lea edi,[esi-04h] push SUB_L0047E910 push eax push 000000ACh push esi call SUB_L004D53BE test bl,01h jz L0047E0B3 push edi call SUB_L004D4F9E add esp,00000004h L0047E0B3: mov eax,edi pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L0047E0BB: mov ecx,esi call SUB_L0047E910 test bl,01h jz L0047E0D0 push esi call SUB_L004D4F9E add esp,00000004h L0047E0D0: mov eax,esi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047E0E0: push FFFFFFFFh push L004E41FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,[L00C883A0] test esi,esi jz L0047E10E mov eax,[esi+18h] mov [L00C883A0],eax jmp L0047E1A2 L0047E10E: push 00002004h mov dword ptr [L00C88394],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0047E159 push SUB_L0047E3B0 push L0047E390 lea esi,[eax+04h] push 00000080h push 00000040h push esi mov dword ptr [eax],00000080h call SUB_L004D549C mov eax,esi jmp L0047E15B L0047E159: xor eax,eax L0047E15B: mov ecx,[L00C8839C] mov esi,eax add ecx,00000080h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C8839C],ecx mov ecx,[L00C883A0] mov dword ptr [L00C88394],00000000h add eax,00001FC0h mov edx,0000007Fh L0047E191: mov [eax+18h],ecx mov ecx,eax sub eax,00000040h dec edx jnz L0047E191 mov [L00C883A0],ecx L0047E1A2: mov eax,[L00C88398] mov ecx,[esp+1Ch] mov edx,[esp+18h] inc eax push ecx push edx mov ecx,esi mov [L00C88398],eax call SUB_L00407720 mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0047E1D0: push ebx mov bl,[esp+08h] push esi mov esi,ecx test bl,02h jz L0047E208 mov eax,[esi-04h] push edi lea edi,[esi-04h] push SUB_L0047E3B0 push eax push 00000040h push esi call SUB_L004D53BE test bl,01h jz L0047E200 push edi call SUB_L004D4F9E add esp,00000004h L0047E200: mov eax,edi pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L0047E208: mov ecx,esi call SUB_L0047E3B0 test bl,01h jz L0047E21D push esi call SUB_L004D4F9E add esp,00000004h L0047E21D: mov eax,esi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047E230: push FFFFFFFFh push L004E421B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,[L00C883B0] test esi,esi jz L0047E25E mov eax,[esi+18h] mov [L00C883B0],eax jmp L0047E2F2 L0047E25E: push 00003C04h mov dword ptr [L00C883A4],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0047E2A9 push SUB_L0047E420 push L0047E400 lea esi,[eax+04h] push 00000080h push 00000078h push esi mov dword ptr [eax],00000080h call SUB_L004D549C mov eax,esi jmp L0047E2AB L0047E2A9: xor eax,eax L0047E2AB: mov ecx,[L00C883AC] mov esi,eax add ecx,00000080h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C883AC],ecx mov ecx,[L00C883B0] mov dword ptr [L00C883A4],00000000h add eax,00003B88h mov edx,0000007Fh L0047E2E1: mov [eax+18h],ecx mov ecx,eax sub eax,00000078h dec edx jnz L0047E2E1 mov [L00C883B0],ecx L0047E2F2: mov eax,[L00C883A8] mov ecx,[esp+20h] mov edx,[esp+1Ch] inc eax mov [L00C883A8],eax mov eax,[esp+18h] push ecx push edx push eax mov ecx,esi call SUB_L00407830 mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0047E330: push ebx mov bl,[esp+08h] push esi mov esi,ecx test bl,02h jz L0047E368 mov eax,[esi-04h] push edi lea edi,[esi-04h] push SUB_L0047E420 push eax push 00000078h push esi call SUB_L004D53BE test bl,01h jz L0047E360 push edi call SUB_L004D4F9E add esp,00000004h L0047E360: mov eax,edi pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L0047E368: mov ecx,esi call SUB_L0047E420 test bl,01h jz L0047E37D push esi call SUB_L004D4F9E add esp,00000004h L0047E37D: mov eax,esi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 L0047E390: push esi mov esi,ecx call SUB_L00402BF0 mov dword ptr [esi],L004EEB58 mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047E3B0: mov dword ptr [ecx],L004EEB58 jmp SUB_L00402CD0 Align 8 L0047E3C0: push esi mov esi,ecx mov ecx,[L00C88398] dec ecx mov [L00C88398],ecx mov eax,[esi+20h] test eax,eax jz L0047E3EF mov eax,[esi] mov ecx,esi call [eax+14h] mov ecx,[L00C883A0] mov [esi+18h],ecx mov [L00C883A0],esi pop esi retn ;------------------------------------------------------------------------------ L0047E3EF: mov edx,[L00C883A0] mov [esi+18h],edx mov [L00C883A0],esi pop esi retn ;------------------------------------------------------------------------------ L0047E400: push esi mov esi,ecx call SUB_L00402BF0 mov dword ptr [esi],L004EEBAC mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047E420: mov dword ptr [ecx],L004EEBAC jmp SUB_L00402CD0 Align 8 L0047E430: push esi mov esi,ecx mov ecx,[L00C883A8] dec ecx mov [L00C883A8],ecx mov eax,[esi+20h] test eax,eax jz L0047E45F mov eax,[esi] mov ecx,esi call [eax+14h] mov ecx,[L00C883B0] mov [esi+18h],ecx mov [L00C883B0],esi pop esi retn ;------------------------------------------------------------------------------ L0047E45F: mov edx,[L00C883B0] mov [esi+18h],edx mov [L00C883B0],esi pop esi retn ;------------------------------------------------------------------------------ SUB_L0047E470: push FFFFFFFFh push L004E4238 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi call SUB_L00402BF0 mov dword ptr [esi],L004EEC00 mov ecx,[L00C88374] xor eax,eax cmp ecx,eax mov [esp+10h],eax jnz L0047E4F7 or ecx,FFFFFFFFh mov [esi+48h],eax mov [esi+44h],eax mov [esi+50h],eax mov [esi+4Ch],eax mov [esi+68h],eax mov [esi+64h],eax mov [esi+71h],al mov [esi+58h],eax mov [esi+54h],eax mov [esi+60h],eax mov [esi+5Ch],eax mov [esi+3Ch],ax mov [esi+42h],ax mov [esi+72h],al mov byte ptr [esi+70h],01h mov [esi+24h],cx mov [esi+26h],cx mov [esi+28h],ax mov [esi+6Ch],eax mov [esi+78h],al mov [esi+3Eh],al mov [esi+40h],ax mov [esi+74h],eax L0047E4F7: cmp esi,eax jz L0047E500 mov eax,[esi+04h] jmp L0047E505 L0047E500: mov eax,FEEDBEEFh L0047E505: push 000000CFh push SSZ0050C0EC_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047E52A push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L0047E52A: mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L0047E540: mov al,[ecx+78h] and eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L0047E550: db 80h; '?' db 49h; 'I' db 78h; 'x' 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_L0047E560: push FFFFFFFFh push L004E4258 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004EEC00 mov eax,[L00C88338] xor ebx,ebx cmp eax,ebx mov [esp+14h],ebx jnz L0047E5D1 cmp [esi+70h],bl jnz L0047E59D call SUB_L0047F5C0 L0047E59D: mov dword ptr [L007049F0],00000001h mov ecx,[esi+6Ch] cmp ecx,ebx jz L0047E5BB L0047E5AE: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+6Ch] cmp ecx,ebx jnz L0047E5AE L0047E5BB: mov [L007049F0],ebx mov al,[esi+78h] test al,01h jz L0047E5D1 push esi call SUB_L0047EC90 add esp,00000004h L0047E5D1: mov ecx,esi mov [esi+44h],ebx mov [esi+48h],ebx mov [esi+4Ch],ebx mov [esi+50h],ebx mov [esi+54h],ebx mov [esi+58h],ebx mov [esi+5Ch],ebx mov [esi+60h],ebx mov [esi+64h],ebx mov [esi+68h],ebx mov [esi+6Ch],ebx mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00402CD0 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0047E620: push esi mov esi,ecx mov ecx,[L00C88378] dec ecx mov [L00C88378],ecx mov al,[esi+70h] test al,al jnz L0047E63E mov eax,[esi] mov ecx,esi call [eax+50h] L0047E63E: mov ecx,[L00C88380] mov [esi+44h],ecx mov [L00C88380],esi mov dword ptr [L007049F0],00000001h mov ecx,[esi+6Ch] test ecx,ecx jz L0047E66B L0047E65E: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+6Ch] test ecx,ecx jnz L0047E65E L0047E66B: mov dword ptr [L007049F0],00000000h mov eax,[esi] mov ecx,esi call [eax+68h] test eax,eax jz L0047E689 push esi call SUB_L0047EC90 add esp,00000004h L0047E689: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047E690: push FFFFFFFFh push L004E4280 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi call SUB_L00402BF0 mov dword ptr [esi],L004EEC00 mov eax,[L00C88374] xor ebx,ebx cmp eax,ebx mov [esp+14h],ebx jnz L0047E717 or eax,FFFFFFFFh mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+68h],ebx mov [esi+64h],ebx mov [esi+71h],bl mov [esi+58h],ebx mov [esi+54h],ebx mov [esi+60h],ebx mov [esi+5Ch],ebx mov [esi+3Ch],bx mov [esi+42h],bx mov [esi+72h],bl mov byte ptr [esi+70h],01h mov [esi+24h],ax mov [esi+26h],ax mov [esi+28h],bx mov [esi+6Ch],ebx mov [esi+78h],bl mov [esi+3Eh],bl mov [esi+40h],bx mov [esi+74h],ebx L0047E717: cmp esi,ebx jz L0047E720 mov eax,[esi+04h] jmp L0047E725 L0047E720: mov eax,FEEDBEEFh L0047E725: push 000000CFh push SSZ0050C0EC_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047E74A push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L0047E74A: mov dword ptr [esi],L004EEC84 mov eax,[L00C88384] cmp eax,ebx mov dword ptr [esp+14h],00000001h jnz L0047E7C7 mov eax,[L00C8850C] cmp eax,ebx mov [esi+00000084h],eax jz L0047E776 mov [eax+00000088h],esi L0047E776: mov eax,[L00C88510] mov [L00C8850C],esi cmp eax,ebx jnz L0047E78B mov [L00C88510],esi L0047E78B: mov [esi+00000088h],ebx mov [esi+00000080h],ebx mov [esi+00000090h],ebx mov [esi+0000008Ch],ebx mov [esi+00000094h],ebx mov [esi+000000A0h],ebx mov [esi+00000098h],ebx mov [esi+000000A4h],ebx mov [esi+000000A8h],ebx mov [esi+0000009Ch],bl L0047E7C7: cmp esi,ebx jz L0047E7D0 mov eax,[esi+04h] jmp L0047E7D5 L0047E7D0: mov eax,FEEDBEEFh L0047E7D5: push 00000127h push SSZ0050C0EC_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047E7FA push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L0047E7FA: mov ecx,[esp+0Ch] mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L0047E810: mov edx,[L00C88388] push ebx push esi mov esi,ecx dec edx xor ebx,ebx mov [L00C88388],edx mov eax,[esi+000000A4h] cmp eax,ebx jz L0047E836 push eax call SUB_L004D4F9E add esp,00000004h L0047E836: push edi mov edi,[esi+00000098h] cmp edi,ebx jz L0047E851 mov ecx,edi call SUB_L0047D710 push edi call SUB_L004D4F9E add esp,00000004h L0047E851: mov eax,[esi+0000008Ch] pop edi cmp eax,ebx jz L0047E864 cmp [eax+38h],esi jnz L0047E864 mov [eax+38h],ebx L0047E864: mov eax,[esi+00000090h] cmp eax,ebx jz L0047E876 cmp [eax+38h],esi jnz L0047E876 mov [eax+38h],ebx L0047E876: cmp esi,[L00C85E44] jnz L0047E884 mov [L00C85E44],ebx L0047E884: cmp [esi+70h],bl jnz L0047E890 mov eax,[esi] mov ecx,esi call [eax+50h] L0047E890: mov eax,[esi+00000084h] cmp eax,ebx jz L0047E8A8 mov ecx,[esi+00000088h] mov [eax+00000088h],ecx jmp L0047E8B4 L0047E8A8: mov edx,[esi+00000088h] mov [L00C88510],edx L0047E8B4: mov eax,[esi+00000088h] cmp eax,ebx jz L0047E8CC mov ecx,[esi+00000084h] mov [eax+00000084h],ecx jmp L0047E8D8 L0047E8CC: mov edx,[esi+00000084h] mov [L00C8850C],edx L0047E8D8: mov eax,[L00C88390] mov [esi+00000084h],eax mov [L00C88390],esi mov dword ptr [L007049F0],00000001h mov ecx,[esi+6Ch] cmp ecx,ebx jz L0047E907 L0047E8FA: mov edx,[ecx] push 00000001h call [edx] mov ecx,[esi+6Ch] cmp ecx,ebx jnz L0047E8FA L0047E907: mov [L007049F0],ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L0047E910: push FFFFFFFFh push L004E4298 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi mov dword ptr [esi],L004EEC84 mov eax,[L00C88338] xor ebx,ebx cmp eax,ebx mov [esp+18h],ebx jnz L0047E99C mov eax,[esi+000000A4h] cmp eax,ebx jz L0047E964 cmp eax,DDDDDDDDh jz L0047E964 push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000A4h],ebx L0047E964: mov eax,[esi+00000098h] cmp eax,ebx jz L0047E99C cmp eax,DDDDDDDDh jz L0047E99C cmp eax,ebx jz L0047E996 mov ecx,[eax-04h] lea edi,[eax-04h] push SUB_L0047D710 push ecx push 00000018h push eax call SUB_L004D53BE push edi call SUB_L004D4F9E add esp,00000004h L0047E996: mov [esi+00000098h],ebx L0047E99C: mov eax,[esi+0000008Ch] cmp eax,DDDDDDDDh jz L0047E9B5 cmp eax,ebx jz L0047E9B5 cmp [eax+38h],esi jnz L0047E9B5 mov [eax+38h],ebx L0047E9B5: mov eax,[esi+00000090h] cmp eax,DDDDDDDDh jz L0047E9CE cmp eax,ebx jz L0047E9CE cmp [eax+38h],esi jnz L0047E9CE mov [eax+38h],ebx L0047E9CE: push ebp mov ebp,[L00B294DC] cmp ebp,ebx jz L0047EA3A L0047E9D9: mov edx,[ebp+00h] mov ecx,ebp call [edx+000000CCh] test eax,eax jz L0047E9F0 cmp [ebp+000000A4h],esi jz L0047EA34 L0047E9F0: mov eax,[ebp+00h] mov ecx,ebp call [eax+0000015Ch] test eax,eax jz L0047EA2B mov edi,[ebp+48h] cmp edi,ebx jz L0047EA2B L0047EA06: mov edx,[edi] mov ecx,edi call [edx+000000CCh] test eax,eax jz L0047EA1C cmp [edi+000000A4h],esi jz L0047EA25 L0047EA1C: mov edi,[edi+40h] cmp edi,ebx jnz L0047EA06 jmp L0047EA2B L0047EA25: mov [edi+000000A4h],ebx L0047EA2B: mov ebp,[ebp+40h] cmp ebp,ebx jnz L0047E9D9 jmp L0047EA3A L0047EA34: mov [ebp+000000A4h],ebx L0047EA3A: mov eax,[L00C85E44] pop ebp cmp esi,eax jnz L0047EA4A mov [L00C85E44],ebx L0047EA4A: cmp [esi+70h],bl jnz L0047EA56 mov ecx,esi call SUB_L004802D0 L0047EA56: mov ecx,[esi+00000088h] mov eax,DDDDDDDDh cmp ecx,eax jnz L0047EA6B mov [esi+00000088h],ebx L0047EA6B: cmp [esi+00000084h],eax jnz L0047EA79 mov [esi+00000084h],ebx L0047EA79: cmp [esi+6Ch],eax jnz L0047EA81 mov [esi+6Ch],ebx L0047EA81: mov eax,[esi+00000084h] cmp eax,ebx jz L0047EA99 mov ecx,[esi+00000088h] mov [eax+00000088h],ecx jmp L0047EAA5 L0047EA99: mov edx,[esi+00000088h] mov [L00C88510],edx L0047EAA5: mov eax,[esi+00000088h] cmp eax,ebx jz L0047EABD mov ecx,[esi+00000084h] mov [eax+00000084h],ecx jmp L0047EAD1 L0047EABD: cmp [L00C8850C],esi jnz L0047EAD1 mov edx,[esi+00000084h] mov [L00C8850C],edx L0047EAD1: mov dword ptr [L007049F0],00000001h mov ecx,[esi+6Ch] cmp ecx,ebx jz L0047EAEF L0047EAE2: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+6Ch] cmp ecx,ebx jnz L0047EAE2 L0047EAEF: mov [L007049F0],ebx mov ecx,esi mov [esi+00000080h],ebx mov [esi+00000084h],ebx mov [esi+00000088h],ebx mov [esi+0000008Ch],ebx mov [esi+00000090h],ebx mov [esi+00000094h],ebx mov [esi+00000098h],ebx mov [esi+000000A4h],ebx mov [esi+6Ch],ebx mov dword ptr [esp+18h],FFFFFFFFh call SUB_L0047E560 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047EB50: mov eax,[esp+04h] mov ecx,eax mov edx,eax and ecx,00008000h and edx,00004000h and eax,00003FFFh jnz L0047EB6E mov eax,ecx retn ;------------------------------------------------------------------------------ L0047EB6E: test eax,eax jl L0047EB7E cmp eax,00000BB8h jge L0047EB7E or eax,edx or eax,ecx retn ;------------------------------------------------------------------------------ L0047EB7E: mov eax,edx or eax,ecx or al,01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047EB90: push ebx push esi mov esi,[esp+0Ch] mov ecx,esi mov eax,[esi] call [eax+24h] test eax,eax jz L0047EC0B mov eax,[L00C884DC] mov ebx,[esp+10h] cmp esi,eax jz L0047EBDC test bl,80h jz L0047EBDC test byte ptr [esi+0000009Ch],80h jnz L0047EBDC L0047EBBC: mov ecx,[L00B294DC] L0047EBC2: test ecx,ecx jz L0047EBDC cmp [ecx+38h],esi jz L0047EBD0 mov ecx,[ecx+40h] jmp L0047EBC2 L0047EBD0: test ecx,ecx jz L0047EBBC mov edx,[ecx] push 00000001h call [edx] jmp L0047EBBC L0047EBDC: mov edx,[esi] mov eax,ebx shr eax,06h and eax,00000001h mov ecx,esi mov [esi+00000154h],eax call [edx+00000098h] test eax,eax jz L0047EC02 mov dword ptr [esi+00000154h],00000000h L0047EC02: mov [esi+0000009Ch],bl pop esi pop ebx retn ;------------------------------------------------------------------------------ L0047EC0B: mov al,[esp+10h] mov [esi+0000009Ch],al pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047EC20: push esi mov esi,[esp+08h] test esi,esi jz L0047EC2E mov eax,[esi+04h] jmp L0047EC33 L0047EC2E: mov eax,FEEDBEEFh L0047EC33: push 00000101h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0047EC58 push SSZ0050C194_AddMultiComp__either_pointer__pO call SUB_L004C7EC0 add esp,00000004h L0047EC58: mov eax,[L00C88500] test eax,eax mov [esi+64h],eax jz L0047EC67 mov [eax+68h],esi L0047EC67: mov dword ptr [esi+68h],00000000h mov eax,[L00C88504] test eax,eax mov [L00C88500],esi jnz L0047EC83 mov [L00C88504],esi L0047EC83: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047EC90: mov eax,[esp+04h] mov ecx,[L00C88500] cmp ecx,eax jnz L0047ECA7 mov ecx,[eax+64h] mov [L00C88500],ecx L0047ECA7: cmp [L00C88504],eax jnz L0047ECB8 mov edx,[eax+68h] mov [L00C88504],edx L0047ECB8: mov ecx,[eax+64h] test ecx,ecx jz L0047ECC5 mov edx,[eax+68h] mov [ecx+68h],edx L0047ECC5: mov ecx,[eax+68h] test ecx,ecx jz L0047ECD2 mov eax,[eax+64h] mov [ecx+64h],eax L0047ECD2: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047ECE0: mov edx,[L00C884E4] xor eax,eax push esi test edx,edx push edi jle L0047ED3D mov edi,[L00C884E0] mov esi,[esp+0Ch] lea ecx,[edi+04h] L0047ECFB: cmp [ecx],esi jz L0047ED0C inc eax add ecx,00000010h cmp eax,edx jl L0047ECFB pop edi pop esi xor eax,eax retn ;------------------------------------------------------------------------------ L0047ED0C: mov ecx,[L00C884DC] shl eax,04h mov edx,[ecx+7Ch] mov eax,[eax+edi] cmp eax,edx jnz L0047ED24 L0047ED1F: pop edi pop esi mov eax,ecx retn ;------------------------------------------------------------------------------ L0047ED24: mov ecx,[L00C8850C] test ecx,ecx jz L0047ED3D L0047ED2E: cmp [ecx+7Ch],eax jz L0047ED1F mov ecx,[ecx+00000084h] test ecx,ecx jnz L0047ED2E L0047ED3D: pop edi pop esi xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047ED50: mov edx,[L00C884E4] xor ecx,ecx push esi test edx,edx push edi jle L0047ED7C mov eax,[L00C884E0] mov esi,[esp+10h] mov edi,[esp+0Ch] L0047ED6B: cmp [eax],edi jz L0047ED81 cmp [eax+04h],esi jz L0047ED81 inc ecx add eax,00000010h cmp ecx,edx jl L0047ED6B L0047ED7C: pop edi pop esi xor eax,eax retn ;------------------------------------------------------------------------------ L0047ED81: pop edi pop esi mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047ED90: sub esp,00000008h push edi mov edi,[L00C884E4] xor edx,edx test edi,edi mov [esp+04h],edx jle L0047EEBB mov eax,[L00C884E0] push ebx push ebp push esi xor ebp,ebp L0047EDB2: mov ecx,[eax+ebp] mov esi,[esp+1Ch] cmp ecx,esi jz L0047EDCD mov esi,[esp+20h] mov ebx,[eax+ebp+04h] cmp ebx,esi jnz L0047EEA8 L0047EDCD: mov [esp+1Ch],ecx mov ecx,[eax+ebp+04h] mov ebx,[eax+ebp+08h] mov [esp+20h],ecx mov ecx,[eax+ebp+0Ch] mov [esp+14h],ecx lea ecx,[edi-01h] cmp edx,ecx jge L0047EE2A lea ecx,[edx+01h] cmp ecx,edi jge L0047EE2A lea edx,[ebp+10h] L0047EDF6: 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,[L00C884E4] mov eax,[L00C884E0] cmp ecx,edi jl L0047EDF6 mov edx,[esp+10h] L0047EE2A: mov esi,[L00C884DC] mov ecx,[esp+1Ch] dec edi mov [L00C884E4],edi cmp ecx,[esi+7Ch] jz L0047EE5F mov esi,[L00C8850C] test esi,esi jz L0047EEA8 L0047EE4A: mov ecx,[esp+1Ch] cmp [esi+7Ch],ecx jz L0047EE5F mov esi,[esi+00000084h] test esi,esi jnz L0047EE4A jmp L0047EEA8 L0047EE5F: test esi,esi jz L0047EEA8 mov eax,[esp+14h] neg eax sbb al,al and bl,07h and al,80h add al,80h or al,bl mov [esi+72h],al mov eax,[esi+20h] test eax,eax jz L0047EE9D mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] mov ecx,esi call [eax+10h] mov edi,[L00C884E4] mov eax,[L00C884E0] mov edx,[esp+10h] jmp L0047EEA8 L0047EE9D: mov edi,[L00C884E4] mov eax,[L00C884E0] L0047EEA8: inc edx add ebp,00000010h cmp edx,edi mov [esp+10h],edx jl L0047EDB2 pop esi pop ebp pop ebx L0047EEBB: mov eax,[esp+18h] pop edi test eax,eax jnz L0047EEF9 mov eax,[L00C884DC] mov ecx,[esp+10h] cmp ecx,[eax+7Ch] jz L0047EEEE mov eax,[L00C8850C] test eax,eax jz L0047EEF9 L0047EEDB: cmp [eax+7Ch],ecx jz L0047EEEE mov eax,[eax+00000084h] test eax,eax jnz L0047EEDB add esp,00000008h retn ;------------------------------------------------------------------------------ L0047EEEE: test eax,eax jz L0047EEF9 mov edx,[eax] mov ecx,eax call [edx+04h] L0047EEF9: add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047EF00: mov ecx,[L00C884E4] push esi xor eax,eax push edi mov edi,[esp+0Ch] test ecx,ecx jle L0047EF28 mov edx,[L00C884E0] L0047EF18: cmp [edx],edi jz L0047EFDD inc eax add edx,00000010h cmp eax,ecx jl L0047EF18 L0047EF28: inc ecx shl ecx,04h push ecx call SUB_L004D4FA9 mov ecx,[L00C884E4] add esp,00000004h test ecx,ecx mov esi,eax jz L0047EF7C xor edx,edx test ecx,ecx jle L0047EF7C push ebx push ebp xor eax,eax L0047EF4B: mov ecx,[L00C884E0] lea ebx,[eax+esi] add ecx,eax inc edx add eax,00000010h mov ebp,[ecx] mov [ebx],ebp mov ebp,[ecx+04h] mov [ebx+04h],ebp mov ebp,[ecx+08h] mov [ebx+08h],ebp mov ecx,[ecx+0Ch] mov [ebx+0Ch],ecx mov ecx,[L00C884E4] cmp edx,ecx jl L0047EF4B pop ebp pop ebx L0047EF7C: mov eax,[L00C884E0] test eax,eax jz L0047EF94 push eax call SUB_L004D4F9E mov ecx,[L00C884E4] add esp,00000004h L0047EF94: mov eax,[esp+10h] shl ecx,04h mov [ecx+esi],edi mov edx,[L00C884E4] shl edx,04h mov [edx+esi+04h],eax mov ecx,[L00C884E4] mov edx,[esp+14h] shl ecx,04h mov [ecx+esi+08h],edx mov eax,[L00C884E4] mov ecx,[esp+18h] shl eax,04h mov [eax+esi+0Ch],ecx mov eax,[L00C884E4] inc eax mov [L00C884E0],esi mov [L00C884E4],eax L0047EFDD: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L0047EFE0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E42B8 push eax mov fs:[00000000h],esp push ebx push esi mov esi,ecx mov eax,[L00C884EC] xor ebx,ebx cmp eax,ebx mov [esp+10h],ebx mov [esi+48h],eax jz L0047F00E mov [eax+44h],esi L0047F00E: mov eax,[L00C884E8] mov [L00C884EC],esi cmp eax,ebx jnz L0047F023 mov [L00C884E8],esi L0047F023: mov cx,[esp+18h] mov dx,[esp+1Ah] mov ax,[esp+1Ch] mov [esi+44h],ebx mov [esi+24h],cx mov [esi+26h],dx mov [esi+28h],ax mov edx,[esi] mov ecx,esi mov [esi+70h],bl call [edx+10h] mov ecx,[L00C88540] xor eax,eax mov ax,[esi+3Ch] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L0047F07E mov edx,[L00C88508] mov eax,edx mov [esi+54h],edx cmp eax,ebx jz L0047F075 mov [eax+58h],esi L0047F075: mov [esi+58h],ebx mov [L00C88508],esi L0047F07E: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020000h jz L0047F0D4 mov ecx,[L00C884F8] mov eax,ecx mov [esi+5Ch],ecx cmp eax,ebx jz L0047F09E mov [eax+60h],esi L0047F09E: mov [esi+60h],ebx mov eax,[L00C884FC] cmp eax,ebx mov [L00C884F8],esi jnz L0047F0B6 mov [L00C884FC],esi L0047F0B6: mov eax,[L004FC210] cmp eax,00000004h jz L0047F0C5 cmp eax,00000003h jnz L0047F0D4 L0047F0C5: cmp [L00C8C494],bl jnz L0047F0D4 mov edx,[esi] mov ecx,esi call [edx+14h] L0047F0D4: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00800000h jnz L0047F104 xor eax,eax mov ax,[esi+3Ch] cmp eax,00003E02h jc L0047F0F6 cmp eax,00003E0Bh jbe L0047F104 L0047F0F6: cmp eax,00003914h jc L0047F174 cmp eax,00003929h ja L0047F174 L0047F104: cmp [esi+71h],bl jnz L0047F140 mov byte ptr [esi+71h],01h mov ecx,[L00C884F0] mov eax,ecx mov [esi+4Ch],ecx cmp eax,ebx jz L0047F11F mov [eax+50h],esi L0047F11F: mov [esi+50h],ebx mov eax,[L00C884F4] cmp eax,ebx mov [L00C884F0],esi jnz L0047F137 mov [L00C884F4],esi L0047F137: push esi call SUB_L0040B3C0 add esp,00000004h L0047F140: cmp esi,[L00C884DC] jnz L0047F174 mov esi,[esi+000000A0h] cmp esi,ebx jz L0047F174 mov ecx,[L0054B2A0] add ecx,esi mov [L0054B2A0],ecx mov ecx,[L00B294AC] cmp ecx,ebx jz L0047F16F call SUB_L004ACC50 L0047F16F: call SUB_L0040C940 L0047F174: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0047F190: mov eax,fs:[00000000h] push FFFFFFFFh push L004E42D8 push eax mov eax,00001904h mov fs:[00000000h],esp call SUB_L004D4B90 push esi push edi mov edi,ecx mov esi,[esp+0000191Ch] mov dword ptr [esp+00001914h],00000000h mov ax,[esi+3Ch] cmp ax,2AF8h jnz L0047F1F6 mov ecx,[esp+00001920h] mov dx,[esp+00001924h] sub esp,00000008h mov eax,esp push esi mov [eax],ecx mov ecx,edi mov [eax+04h],dx call SUB_L0047F350 jmp L0047F335 L0047F1F6: cmp ax,0FA6h jnz L0047F223 mov ecx,[esp+00001920h] mov dx,[esp+00001924h] sub esp,00000008h mov eax,esp push esi mov [eax],ecx mov ecx,edi mov [eax+04h],dx call SUB_L0047F450 jmp L0047F335 L0047F223: mov eax,[esi] mov ecx,esi call [eax+64h] test eax,eax jz L0047F255 mov edx,[esp+00001920h] mov ax,[esp+00001924h] sub esp,00000008h mov ecx,esp push esi mov [ecx],edx mov [ecx+04h],ax mov ecx,edi call SUB_L0047F500 jmp L0047F335 L0047F255: mov eax,[esi+000000ACh] test eax,eax mov [edi+44h],eax jz L0047F265 mov [eax+48h],edi L0047F265: mov cx,[esp+00001920h] mov dx,[esp+00001922h] mov ax,[esp+00001924h] mov [esi+000000ACh],edi mov [edi+00000080h],esi mov [edi+24h],cx mov [edi+26h],dx mov [edi+28h],ax mov byte ptr [edi+70h],00h mov ecx,[esi+000000B0h] test ecx,ecx jz L0047F312 mov edx,[ecx] call [edx+00000118h] mov ecx,[esi+000000B0h] test eax,eax jz L0047F2BF mov eax,[ecx] call [eax+00000174h] jmp L0047F312 L0047F2BF: mov edx,[ecx] call [edx+000000CCh] test eax,eax jz L0047F2D9 mov ecx,[esi+000000B0h] push edi call SUB_L0043B0A0 jmp L0047F312 L0047F2D9: mov ecx,[esi+000000B0h] mov eax,[ecx] call [eax+00000124h] test eax,eax jz L0047F312 mov ecx,[edi+7Ch] mov edx,[esi+7Ch] push ecx push edx lea eax,[esp+10h] push 00000004h push eax call SUB_L0049B640 add esp,00000010h lea ecx,[esp+08h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0047F312: mov edx,[esi] mov ecx,esi call [edx+54h] test eax,eax jz L0047F335 mov eax,[esi+00000080h] test eax,eax jnz L0047F335 mov eax,[esi] mov ecx,esi call [eax+14h] mov edx,[esi] mov ecx,esi call [edx+10h] L0047F335: mov ecx,[esp+0000190Ch] pop edi mov fs:[00000000h],ecx pop esi add esp,00001910h retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L0047F350: mov eax,fs:[00000000h] push FFFFFFFFh push L004E42F8 push eax mov fs:[00000000h],esp push ebp push esi push edi mov edi,ecx mov ebp,[esp+1Ch] mov edx,[esp+20h] xor ecx,ecx mov dword ptr [esp+14h],00000000h mov eax,[ebp+000000ACh] test eax,eax jz L0047F395 L0047F386: cmp dx,[eax+24h] jle L0047F395 mov ecx,eax mov eax,[eax+44h] test eax,eax jnz L0047F386 L0047F395: test eax,eax mov [edi+44h],eax jz L0047F39F mov [eax+48h],edi L0047F39F: test ecx,ecx mov [edi+48h],ecx jz L0047F3A9 mov [ecx+44h],edi L0047F3A9: cmp [ebp+000000ACh],eax jnz L0047F3B7 mov [ebp+000000ACh],edi L0047F3B7: mov ax,[esp+22h] mov cx,[esp+24h] mov [edi+00000080h],ebp mov [edi+24h],dx mov [edi+26h],ax mov [edi+28h],cx mov byte ptr [edi+70h],00h mov ecx,[ebp+000000B0h] test ecx,ecx jz L0047F3E7 push edi call SUB_L0043B0A0 L0047F3E7: mov esi,[L00B294DC] test esi,esi jz L0047F42F L0047F3F1: mov edx,[esi] mov ecx,esi call [edx+000000DCh] test eax,eax jz L0047F428 mov eax,[esi+38h] mov ecx,[ebp+00000080h] cmp eax,ecx jnz L0047F428 mov eax,[esi+000000C4h] test eax,eax jnz L0047F428 mov ecx,[edi+7Ch] push ecx mov ecx,esi call SUB_L004B00A0 mov ecx,esi call SUB_L004B01D0 L0047F428: mov esi,[esi+40h] test esi,esi jnz L0047F3F1 L0047F42F: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebp add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0047F450: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4318 push eax mov fs:[00000000h],esp push esi push edi mov esi,[esp+18h] mov edi,[esp+1Eh] xor edx,edx mov dword ptr [esp+10h],00000000h mov eax,[esi+000000ACh] test eax,eax jz L0047F492 L0047F483: cmp di,[eax+26h] jge L0047F492 mov edx,eax mov eax,[eax+44h] test eax,eax jnz L0047F483 L0047F492: test eax,eax mov [ecx+44h],eax jz L0047F49C mov [eax+48h],ecx L0047F49C: test edx,edx mov [ecx+48h],edx jz L0047F4A6 mov [edx+44h],ecx L0047F4A6: cmp [esi+000000ACh],eax jnz L0047F4B4 mov [esi+000000ACh],ecx L0047F4B4: mov ax,[esp+1Ch] mov dx,[esp+20h] mov [ecx+00000080h],esi mov [ecx+24h],ax mov [ecx+26h],di mov [ecx+28h],dx mov byte ptr [ecx+70h],00h mov eax,[esi+000000B0h] test eax,eax jz L0047F4E6 push ecx mov ecx,eax call SUB_L0043B0A0 L0047F4E6: mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx pop esi add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L0047F500: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4338 push eax mov fs:[00000000h],esp push esi push edi mov esi,[esp+18h] xor edx,edx mov dword ptr [esp+10h],00000000h mov eax,[esi+000000ACh] test eax,eax jz L0047F542 mov di,[ecx+40h] L0047F533: cmp di,[eax+40h] jbe L0047F542 mov edx,eax mov eax,[eax+44h] test eax,eax jnz L0047F533 L0047F542: test eax,eax mov [ecx+44h],eax jz L0047F54C mov [eax+48h],ecx L0047F54C: test edx,edx mov [ecx+48h],edx jz L0047F556 mov [edx+44h],ecx L0047F556: cmp [esi+000000ACh],eax jnz L0047F564 mov [esi+000000ACh],ecx L0047F564: mov ax,[esp+1Ch] mov dx,[esp+1Eh] mov [ecx+00000080h],esi mov [ecx+24h],ax mov ax,[esp+20h] mov [ecx+26h],dx mov [ecx+28h],ax mov byte ptr [ecx+70h],00h mov ecx,[esi+000000B0h] test ecx,ecx jz L0047F5AD mov edx,[ecx] call [edx+00000118h] test eax,eax jz L0047F5AD mov ecx,[esi+000000B0h] mov eax,[ecx] call [eax+00000174h] L0047F5AD: mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx pop esi add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ SUB_L0047F5C0: push ecx push ebx push esi mov esi,ecx push edi xor ebx,ebx xor edi,edi mov eax,[esi+20h] mov [esp+0Ch],edi cmp eax,ebx jz L0047F5DA mov eax,[esi] call [eax+14h] L0047F5DA: mov edx,[L00C88540] xor eax,eax mov ax,[esi+3Ch] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],01000000h jz L0047F622 mov eax,[esi+54h] cmp eax,ebx jz L0047F5FF mov ecx,[esi+58h] mov [eax+58h],ecx L0047F5FF: mov eax,[esi+58h] cmp eax,ebx jz L0047F60C mov edx,[esi+54h] mov [eax+54h],edx L0047F60C: cmp [L00C88508],esi jnz L0047F61C mov eax,[esi+54h] mov [L00C88508],eax L0047F61C: mov [esi+58h],ebx mov [esi+54h],ebx L0047F622: cmp [esi+71h],bl jz L0047F66F cmp [L00C884F0],esi jnz L0047F638 mov ecx,[esi+4Ch] mov [L00C884F0],ecx L0047F638: cmp [L00C884F4],esi jnz L0047F649 mov edx,[esi+50h] mov [L00C884F4],edx L0047F649: mov eax,[esi+4Ch] cmp eax,ebx jz L0047F656 mov ecx,[esi+50h] mov [eax+50h],ecx L0047F656: mov eax,[esi+50h] cmp eax,ebx jz L0047F663 mov edx,[esi+4Ch] mov [eax+4Ch],edx L0047F663: push esi mov [esi+71h],bl call SUB_L0040B3C0 add esp,00000004h L0047F66F: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00020000h jz L0047F6B9 cmp [L00C884F8],esi jnz L0047F68E mov ecx,[esi+5Ch] mov [L00C884F8],ecx L0047F68E: cmp [L00C884FC],esi jnz L0047F69F mov edx,[esi+60h] mov [L00C884FC],edx L0047F69F: mov eax,[esi+5Ch] cmp eax,ebx jz L0047F6AC mov ecx,[esi+60h] mov [eax+60h],ecx L0047F6AC: mov eax,[esi+60h] cmp eax,ebx jz L0047F6B9 mov edx,[esi+5Ch] mov [eax+5Ch],edx L0047F6B9: mov eax,[esi] push ebp mov ecx,esi call [eax+2Ch] test eax,eax jz L0047F7B3 mov ecx,[esi+00000080h] cmp ecx,ebx jz L0047F7B3 mov edx,[ecx] call [edx+24h] test eax,eax jz L0047F752 mov ecx,[esi+00000080h] xor eax,eax mov al,[esi+0000009Dh] cmp eax,00000019h jnz L0047F6FB mov [ecx+00000198h],ebx jmp L0047F70B L0047F6FB: cmp eax,00000001h jz L0047F705 cmp eax,00000002h jnz L0047F70B L0047F705: mov [ecx+000001A4h],bl L0047F70B: cmp [ecx+eax*4+000000C8h],esi jnz L0047F7B3 mov [ecx+eax*4+000000C8h],ebx mov edi,[L00B294DC] cmp edi,ebx jz L0047F74A L0047F729: mov eax,[edi] mov ecx,edi call [eax+00000090h] test eax,eax jz L0047F743 cmp [edi+38h],esi jnz L0047F743 mov ecx,edi call SUB_L004A2FB0 L0047F743: mov edi,[edi+40h] cmp edi,ebx jnz L0047F729 L0047F74A: mov [esi+00000080h],ebx jmp L0047F7AF L0047F752: mov ebp,[esi+00000080h] cmp [ebp+000000ACh],esi jnz L0047F769 mov ecx,[esi+44h] mov [ebp+000000ACh],ecx L0047F769: mov [esi+00000080h],ebx cmp word ptr [ebp+3Ch],2AF8h jnz L0047F7B3 mov edi,[L00B294DC] cmp edi,ebx jz L0047F7AF L0047F781: mov edx,[edi] mov ecx,edi call [edx+000000DCh] test eax,eax jz L0047F7A8 mov eax,[edi+38h] mov ecx,[ebp+00000080h] cmp eax,ecx jnz L0047F7A8 cmp [edi+000000C4h],ebx jnz L0047F7A8 mov [esp+10h],edi L0047F7A8: mov edi,[edi+40h] cmp edi,ebx jnz L0047F781 L0047F7AF: mov edi,[esp+10h] L0047F7B3: mov eax,[L00C884EC] pop ebp cmp eax,esi jnz L0047F7C6 mov ecx,[esi+48h] mov [L00C884EC],ecx L0047F7C6: cmp [L00C884E8],esi jnz L0047F7D7 mov edx,[esi+44h] mov [L00C884E8],edx L0047F7D7: mov eax,[esi+48h] cmp eax,ebx jz L0047F7E4 mov ecx,[esi+44h] mov [eax+44h],ecx L0047F7E4: mov eax,[esi+44h] cmp eax,ebx jz L0047F7F1 mov edx,[esi+48h] mov [eax+48h],edx L0047F7F1: cmp edi,ebx mov [esi+48h],ebx mov [esi+44h],ebx mov byte ptr [esi+70h],01h jz L0047F811 mov eax,[esi+7Ch] mov ecx,edi push eax call SUB_L004B00A0 mov ecx,edi call SUB_L004B01D0 L0047F811: pop edi pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047F820: mov eax,[esp+08h] push esi push edi mov edi,[esp+0Ch] mov esi,ecx cmp eax,00000002h mov [esi+0000009Dh],al mov [edi+eax*4+000000C8h],esi mov [esi+00000080h],edi mov dword ptr [esi+48h],00000000h mov dword ptr [esi+44h],00000000h mov byte ptr [esi+70h],00h jz L0047F85B cmp eax,00000001h jnz L0047F862 L0047F85B: mov byte ptr [edi+000001A4h],01h L0047F862: cmp eax,00000019h jnz L0047F873 mov dword ptr [edi+00000198h],00000001h jmp L0047F87B L0047F873: test eax,eax jz L0047F918 L0047F87B: mov eax,[esi] mov ecx,esi call [eax+40h] test eax,00800000h jnz L0047F8AB xor eax,eax mov ax,[esi+3Ch] cmp eax,00003E02h jc L0047F89D cmp eax,00003E0Bh jbe L0047F8AB L0047F89D: cmp eax,00003914h jc L0047F8ED cmp eax,00003929h ja L0047F8ED L0047F8AB: mov al,[esi+71h] test al,al jnz L0047F8ED mov byte ptr [esi+71h],01h mov ecx,[L00C884F0] mov eax,ecx mov [esi+4Ch],ecx test eax,eax jz L0047F8C8 mov [eax+50h],esi L0047F8C8: mov dword ptr [esi+50h],00000000h mov eax,[L00C884F4] test eax,eax mov [L00C884F0],esi jnz L0047F8E4 mov [L00C884F4],esi L0047F8E4: push esi call SUB_L0040B3C0 add esp,00000004h L0047F8ED: mov esi,[L00B294DC] test esi,esi jz L0047F918 L0047F8F7: mov edx,[esi] mov ecx,esi call [edx+00000090h] test eax,eax jz L0047F911 cmp [esi+38h],edi jnz L0047F911 mov ecx,esi call SUB_L004A2FB0 L0047F911: mov esi,[esi+40h] test esi,esi jnz L0047F8F7 L0047F918: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L0047F920: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4360 push eax mov fs:[00000000h],esp sub esp,00000018h push esi push edi mov esi,ecx push 00000003h call SUB_L0047FA50 test eax,eax jnz L0047F958 mov ecx,[esp+20h] mov fs:[00000000h],ecx pop edi pop esi add esp,00000024h retn ;------------------------------------------------------------------------------ L0047F958: lea eax,[esi+24h] mov dword ptr [esp+28h],00000000h mov ecx,[eax] mov dx,cx mov [esp+10h],ecx mov di,[eax+04h] mov ax,[esp+12h] mov [esp+08h],dx mov edx,[esi] mov ecx,esi mov [esp+0Ah],ax mov [esp+0Ch],di call [edx+2Ch] test eax,eax jz L0047F9CB mov eax,[esi+00000080h] mov ecx,esi test eax,eax jz L0047F9A7 L0047F99B: mov ecx,eax mov eax,[ecx+00000080h] test eax,eax jnz L0047F99B L0047F9A7: add ecx,00000024h mov eax,[ecx] mov [esp+10h],eax mov dx,[esp+12h] mov di,[ecx+04h] mov cx,ax mov [esp+08h],cx mov [esp+0Ah],dx mov [esp+0Ch],di L0047F9CB: mov eax,[L00C884DC] push 00000040h add eax,00000024h sub esp,00000008h mov byte ptr [esp+34h],01h mov ecx,[eax] mov [esp+24h],ecx mov dx,[eax+04h] mov ax,cx mov cx,[esp+26h] mov [esp+28h],dx mov edx,[esp+28h] mov [esp+1Ch],ax mov [esp+1Eh],cx mov ecx,esp lea eax,[edx+0Ch] mov edx,[esp+1Ch] mov [ecx],edx sub esp,00000008h mov [esp+28h],ax mov [ecx+04h],ax mov ecx,[esp+1Ch] mov eax,esp mov [eax],ecx mov [eax+04h],di call SUB_L00475DD0 mov ecx,[esp+34h] add esp,00000014h neg eax sbb eax,eax pop edi neg eax mov fs:[00000000h],ecx pop esi add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047FA50: push FFFFFFFFh push L004E4378 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push esi mov esi,ecx mov eax,[L00C884DC] mov dword ptr [esp+14h],00000000h cmp esi,eax jnz L0047FA93 mov eax,00000001h pop esi mov ecx,[esp+08h] mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0047FA93: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0047FADC mov eax,[esi+00000188h] test eax,eax jle L0047FAC8 lea ecx,[eax+eax*4] lea edx,[esi+ecx*2+0000014Eh] mov eax,[esi+ecx*2+0000014Eh] mov [esp+04h],eax mov cx,[edx+04h] mov [esp+08h],cx jmp L0047FB3C L0047FAC8: add esi,00000024h mov edx,[esi] mov [esp+04h],edx mov ax,[esi+04h] mov [esp+08h],ax jmp L0047FB3C L0047FADC: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L0047FB2A mov eax,[esi+00000098h] mov ecx,esi test eax,eax jz L0047FB00 mov eax,[eax+10h] mov edx,[esp+1Ch] add edx,eax mov [esp+1Ch],edx L0047FB00: mov eax,[esi+00000080h] test eax,eax jz L0047FB16 L0047FB0A: mov ecx,eax mov eax,[ecx+00000080h] test eax,eax jnz L0047FB0A L0047FB16: add ecx,00000024h mov edx,[ecx] mov [esp+04h],edx mov ax,[ecx+04h] mov [esp+08h],ax jmp L0047FB3C L0047FB2A: add esi,00000024h mov ecx,[esi] mov [esp+04h],ecx mov dx,[esi+04h] mov [esp+08h],dx L0047FB3C: movsx eax,[esp+04h] mov edx,[L00C83B64] mov ecx,[esp+1Ch] sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,ecx jg L0047FB81 movsx eax,[esp+06h] sub eax,[L00C83B60] cdq xor eax,edx sub eax,edx cmp eax,ecx jg L0047FB81 mov eax,00000001h pop esi mov ecx,[esp+08h] mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0047FB81: mov ecx,[esp+0Ch] xor eax,eax pop esi mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0047FBA0: mov eax,[esp+08h] mov edx,[esp+04h] push ebx mov ebx,[L00C88540] push ebp push esi test eax,eax push edi mov byte ptr [L00C88450],00h jnz L0047FC18 lea eax,[edx+edx*4] mov eax,[ebx+eax*8] and eax,0000C000h cmp eax,00004000h jz L0047FBEB cmp eax,00008000h jz L0047FBE4 cmp eax,0000C000h jnz L0047FC18 mov edi,SSZ0050C244_the_ jmp L0047FBF0 L0047FBE4: mov edi,L0050C240 jmp L0047FBF0 L0047FBEB: mov edi,L0050C23C L0047FBF0: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,L00C88450 or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb L0047FC18: lea ecx,[edx+edx*4] mov edi,L00C88450 xor eax,eax lea edx,[ebx+ecx*8+13h] or ecx,FFFFFFFFh repne scasb mov al,[edx] not ecx dec ecx add ecx,L00C88450 test al,al jz L0047FCC2 mov esi,[esp+18h] L0047FC42: cmp al,25h jnz L0047FCB8 test esi,esi jz L0047FC7E mov al,[edx+01h] inc edx test al,al jz L0047FC65 L0047FC52: cmp al,2Fh jz L0047FC65 cmp al,25h jz L0047FC65 mov [ecx],al mov al,[edx+01h] inc ecx inc edx test al,al jnz L0047FC52 L0047FC65: mov al,[edx] test al,al jz L0047FC77 L0047FC6B: cmp al,25h jz L0047FC77 mov al,[edx+01h] inc edx test al,al jnz L0047FC6B L0047FC77: cmp byte ptr [edx],25h jnz L0047FCBC jmp L0047FCBB L0047FC7E: mov al,[edx+01h] inc edx test al,al jz L0047FC96 L0047FC86: cmp al,2Fh jz L0047FC96 cmp al,25h jz L0047FC96 mov al,[edx+01h] inc edx test al,al jnz L0047FC86 L0047FC96: cmp byte ptr [edx],2Fh jnz L0047FC9C inc edx L0047FC9C: mov al,[edx] test al,al jz L0047FCB1 L0047FCA2: cmp al,25h jz L0047FCB1 mov [ecx],al mov al,[edx+01h] inc ecx inc edx test al,al jnz L0047FCA2 L0047FCB1: cmp byte ptr [edx],25h jnz L0047FCBC jmp L0047FCBB L0047FCB8: mov [ecx],al inc ecx L0047FCBB: inc edx L0047FCBC: mov al,[edx] test al,al jnz L0047FC42 L0047FCC2: pop edi pop esi pop ebp mov byte ptr [ecx],00h mov eax,L00C88450 pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047FCD0: mov eax,[esp+04h] cmp eax,00001B1Dh jl L0047FD12 cmp eax,00001DB2h jg L0047FD12 cmp eax,00001B1Eh jle L0047FD0C cmp eax,00001CDDh jl L0047FCF7 cmp eax,00001CF0h jle L0047FD0C L0047FCF7: cmp eax,00001D9Fh jl L0047FD05 cmp eax,00001DA4h jle L0047FD0C L0047FD05: cmp eax,00001DADh jl L0047FD12 L0047FD0C: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047FD12: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047FD20: movsx eax,[ecx+3Eh] xor edx,edx mov dx,[ecx+3Ch] add eax,edx cmp eax,00001B1Dh jl L0047FD6A cmp eax,00001DB2h jg L0047FD6A cmp eax,00001B1Eh jle L0047FD64 cmp eax,00001CDDh jl L0047FD4F cmp eax,00001CF0h jle L0047FD64 L0047FD4F: cmp eax,00001D9Fh jl L0047FD5D cmp eax,00001DA4h jle L0047FD64 L0047FD5D: cmp eax,00001DADh jl L0047FD6A L0047FD64: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047FD6A: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L0047FD70: mov eax,[esp+04h] cmp eax,00000E20h jl L0047FE56 cmp eax,00001D9Eh jg L0047FE56 cmp eax,0000127Bh jle L0047FD9C cmp eax,00001CC7h jl L0047FE56 L0047FD9C: cmp eax,00000E20h jz L0047FE50 cmp eax,00000E22h jl L0047FDB9 cmp eax,00000E23h jle L0047FE50 L0047FDB9: cmp eax,0000111Bh jl L0047FDCB cmp eax,00001121h jle L0047FE50 L0047FDCB: cmp eax,0000120Eh jl L0047FDD9 cmp eax,00001216h jle L0047FE50 L0047FDD9: cmp eax,0000122Ah jl L0047FDE7 cmp eax,00001230h jle L0047FE50 L0047FDE7: cmp eax,00001245h jl L0047FDF5 cmp eax,0000124Dh jle L0047FE50 L0047FDF5: cmp eax,0000125Eh jl L0047FE03 cmp eax,00001261h jle L0047FE50 L0047FE03: cmp eax,0000126Fh jl L0047FE11 cmp eax,00001272h jle L0047FE50 L0047FE11: cmp eax,00001278h jl L0047FE1F cmp eax,0000127Bh jle L0047FE50 L0047FE1F: cmp eax,00001CC7h jl L0047FE2D cmp eax,00001CDCh jle L0047FE50 L0047FE2D: cmp eax,00001CF1h jl L0047FE3B cmp eax,00001D12h jle L0047FE50 L0047FE3B: cmp eax,00001D92h jge L0047FE50 cmp eax,0000111Bh jl L0047FE56 cmp eax,00001121h jg L0047FE56 L0047FE50: mov eax,00000001h retn ;------------------------------------------------------------------------------ L0047FE56: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0047FE60: movsx eax,[ecx+3Eh] xor edx,edx mov dx,[ecx+3Ch] add eax,edx push eax call SUB_L0047FD70 add esp,00000004h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0047FE80: push esi mov esi,ecx mov eax,[esi] call [eax+40h] test ah,08h jz L0047FE98 mov eax,00000001h cmp [esi+40h],ax ja L0047FE9A L0047FE98: xor eax,eax L0047FE9A: movsx ecx,[esi+3Eh] xor edx,edx push eax mov dx,[esi+3Ch] add ecx,edx push ecx call SUB_L0047FBA0 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ Align 16 L0047FEC0: push esi mov esi,ecx cmp word ptr [esi+3Ch],4000h jbe L0047FECF xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L0047FECF: mov eax,[esi] mov ecx,esi call [eax+00000080h] test eax,eax jz L0047FF31 mov ax,[esi+40h] cmp ax,0001h ja L0047FEFE xor ecx,ecx mov cx,[esi+3Ch] add ecx,00004000h push ecx call SUB_L004B9530 add esp,00000004h pop esi retn ;------------------------------------------------------------------------------ L0047FEFE: cmp ax,0005h ja L0047FF1B xor edx,edx mov dx,[esi+3Ch] add edx,00004001h push edx call SUB_L004B9530 add esp,00000004h pop esi retn ;------------------------------------------------------------------------------ L0047FF1B: xor eax,eax mov ax,[esi+3Ch] add eax,00004002h push eax call SUB_L004B9530 add esp,00000004h pop esi retn ;------------------------------------------------------------------------------ L0047FF31: movsx ecx,[esi+3Eh] xor edx,edx mov dx,[esi+3Ch] lea eax,[ecx+edx+00004000h] push eax call SUB_L004B9530 add esp,00000004h pop esi retn ;------------------------------------------------------------------------------ Align 4 L0047FF50: db 0Fh; db BEh; '?' db 41h; 'A' db 3Eh; '>' db 33h; '3' db D2h; '’' db 66h; 'f' db 8Bh; '<' db 51h; 'Q' db 3Ch; '<' db 33h; '3' db C9h; '‰' db 03h; db C2h; '‚' db 8Bh; '<' db 15h; db 40h; '@' db 85h; ':' db C8h; 'ˆ' db 00h; db 8Dh; '?' db 04h; db 80h; '?' db 8Ah; '?' db 4Ch; 'L' db C2h; '‚' db 12h; db 8Bh; '<' db C1h; '' db C3h; 'ƒ' db 90h; '?' db 90h; '?' L0047FF70: db 0Fh; db BEh; '?' db 41h; 'A' db 3Eh; '>' db 33h; '3' db D2h; '’' db 66h; 'f' db 8Bh; '<' db 51h; 'Q' db 3Ch; '<' db 8Bh; '<' db 0Dh; db 40h; '@' db 85h; ':' db C8h; 'ˆ' db 00h; db 03h; db C2h; '‚' db 8Dh; '?' db 04h; db 80h; '?' db 8Bh; '<' db 04h; db C1h; '' db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L0047FF90: db 0Fh; db BEh; '?' db 41h; 'A' db 3Eh; '>' db 33h; '3' db D2h; '’' db 66h; 'f' db 8Bh; '<' db 51h; 'Q' db 3Ch; '<' db 33h; '3' db C9h; '‰' db 03h; db C2h; '‚' db 8Bh; '<' db 15h; db 40h; '@' db 85h; ':' db C8h; 'ˆ' db 00h; db 8Dh; '?' db 04h; db 80h; '?' db 66h; 'f' db 8Bh; '<' db 4Ch; 'L' db C2h; '‚' db 10h; db 8Bh; '<' db C1h; '' db C3h; 'ƒ' db 90h; '?' L0047FFB0: push esi mov esi,ecx xor ecx,ecx movsx eax,[esi+3Eh] mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] mov ecx,[eax+edx*8] test ch,08h jz L0047FFE8 mov edx,[esi] mov ecx,esi call [edx+00000080h] test eax,eax jnz L0047FFE8 mov eax,00000001h cmp [esi+40h],ax ja L0047FFEA L0047FFE8: xor eax,eax L0047FFEA: pop esi retn ;------------------------------------------------------------------------------ Align 8 L0047FFF0: xor eax,eax mov ax,[ecx+3Ch] cmp eax,0000028Eh jz L00480007 cmp eax,00000EEDh jz L00480007 xor eax,eax retn ;------------------------------------------------------------------------------ L00480007: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00480010: mov eax,[ecx+6Ch] push ebx push esi push edi xor edi,edi test eax,eax jz L00480063 L0048001C: mov esi,eax mov eax,[eax+000000B8h] inc edi test eax,eax jnz L0048001C cmp edi,00000003h jl L00480063 L0048002E: test esi,esi jz L00480063 L00480032: mov ecx,esi call SUB_L004119A0 test eax,eax jz L00480049 mov esi,[esi+000000BCh] test esi,esi jz L00480063 jmp L00480032 L00480049: test esi,esi jz L00480063 mov eax,[esi] mov ebx,[esi+000000BCh] push 00000001h mov ecx,esi call [eax] dec edi mov esi,ebx cmp edi,00000003h jge L0048002E L00480063: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00480070: push esi mov esi,[ecx+6Ch] test esi,esi jz L0048009D push edi L00480079: mov edi,[esi+000000B8h] mov ecx,esi call SUB_L004119A0 test eax,eax jnz L00480096 test esi,esi jz L00480096 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00480096: test edi,edi mov esi,edi jnz L00480079 pop edi L0048009D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004800A0: push FFFFFFFFh push L004E439B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp mov ebp,ecx push esi push edi xor edi,edi mov eax,[ebp+6Ch] test eax,eax jz L0048010C L004800C5: mov esi,eax mov eax,[eax+000000B8h] inc edi test eax,eax jnz L004800C5 cmp edi,00000003h jl L0048010C L004800D7: test esi,esi jz L0048010C L004800DB: mov ecx,esi call SUB_L004119A0 test eax,eax jz L004800F2 mov esi,[esi+000000BCh] test esi,esi jz L0048010C jmp L004800DB L004800F2: test esi,esi jz L0048010C mov eax,[esi] mov ebx,[esi+000000BCh] push 00000001h mov ecx,esi call [eax] dec edi mov esi,ebx cmp edi,00000003h jge L004800D7 L0048010C: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L0048014C mov ecx,[esp+34h] mov edx,[esp+30h] push ecx mov ecx,[esp+30h] push edx mov edx,[esp+30h] push ecx mov ecx,[esp+30h] push edx push ecx push ebp mov ecx,eax call SUB_L004110B0 jmp L0048014E L0048014C: xor eax,eax L0048014E: mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L00480170: push FFFFFFFFh push L004E43BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx push esi mov esi,[ebx+6Ch] test esi,esi jz L004801B6 push edi L00480192: mov edi,[esi+000000B8h] mov ecx,esi call SUB_L004119A0 test eax,eax jnz L004801AF test esi,esi jz L004801AF mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004801AF: test edi,edi mov esi,edi jnz L00480192 pop edi L004801B6: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00480204 mov ecx,[esp+28h] mov edx,[esp+24h] push 00000000h push ecx mov ecx,[esp+28h] push edx mov edx,[esp+28h] push ecx push edx push ebx mov ecx,eax call SUB_L004110B0 pop esi pop ebx mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ L00480204: mov ecx,[esp+0Ch] pop esi xor eax,eax pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 8 L00480220: push esi mov esi,ecx mov ecx,[esi+00000080h] test ecx,ecx jz L00480250 mov eax,[ecx] call [eax+24h] test eax,eax jz L00480250 mov eax,[esi+00000080h] xor ecx,ecx add eax,000000C8h L00480243: cmp [eax],esi jz L00480254 inc ecx add eax,00000004h cmp ecx,0000001Eh jl L00480243 L00480250: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00480254: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 8 L00480260: push esi mov esi,ecx call SUB_L004BCED0 test eax,eax jnz L00480294 test byte ptr [esi+0000009Ch],20h jnz L00480294 movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[L00C88540] cmp byte ptr [eax+edx*8+04h],5Ah jbe L00480294 xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00480294: mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004802A0: mov eax,[ecx+00000080h] test eax,eax jz L004802BE mov edx,[esp+04h] L004802AE: cmp eax,edx jz L004802BE mov ecx,eax mov eax,[ecx+00000080h] test eax,eax jnz L004802AE L004802BE: mov edx,[ecx+00000080h] xor eax,eax test edx,edx setnz al retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004802D0: sub esp,00000020h push ebx push ebp push esi mov esi,ecx xor ebx,ebx xor ebp,ebp mov ecx,[esi+00000080h] mov [esp+0Ch],ebp cmp ecx,ebx mov [esp+10h],ebx jnz L004802FC cmp [esi+20h],ebx jz L00480310 mov eax,[esi] mov ecx,esi call [eax+14h] jmp L00480310 L004802FC: mov edx,[ecx] call [edx+24h] test eax,eax jz L00480310 mov ecx,[esi+00000080h] call SUB_L004045B0 L00480310: mov ecx,[L00C88540] xor eax,eax mov ax,[esi+3Ch] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L00480359 mov eax,[esi+54h] cmp eax,ebx jz L00480335 mov edx,[esi+58h] mov [eax+58h],edx L00480335: mov eax,[esi+58h] cmp eax,ebx jz L00480342 mov ecx,[esi+54h] mov [eax+54h],ecx L00480342: cmp [L00C88508],esi jnz L00480353 mov edx,[esi+54h] mov [L00C88508],edx L00480353: mov [esi+58h],ebx mov [esi+54h],ebx L00480359: cmp [esi+71h],bl jz L004803A5 cmp [L00C884F0],esi jnz L0048036E mov eax,[esi+4Ch] mov [L00C884F0],eax L0048036E: cmp [L00C884F4],esi jnz L0048037F mov ecx,[esi+50h] mov [L00C884F4],ecx L0048037F: mov eax,[esi+4Ch] cmp eax,ebx jz L0048038C mov edx,[esi+50h] mov [eax+50h],edx L0048038C: mov eax,[esi+50h] cmp eax,ebx jz L00480399 mov ecx,[esi+4Ch] mov [eax+4Ch],ecx L00480399: push esi mov [esi+71h],bl call SUB_L0040B3C0 add esp,00000004h L004803A5: mov edx,[esi] mov ecx,esi call [edx+40h] test eax,00020000h jz L004803EE cmp [L00C884F8],esi jnz L004803C3 mov eax,[esi+5Ch] mov [L00C884F8],eax L004803C3: cmp [L00C884FC],esi jnz L004803D4 mov ecx,[esi+60h] mov [L00C884FC],ecx L004803D4: mov eax,[esi+5Ch] cmp eax,ebx jz L004803E1 mov edx,[esi+60h] mov [eax+60h],edx L004803E1: mov eax,[esi+60h] cmp eax,ebx jz L004803EE mov ecx,[esi+5Ch] mov [eax+5Ch],ecx L004803EE: mov ecx,[esi+00000080h] push edi cmp ecx,ebx jz L004804C7 mov edx,[ecx] call [edx+54h] test eax,eax jz L00480411 mov ecx,[esi+00000080h] call SUB_L004045B0 L00480411: mov ebp,[esi+00000080h] mov eax,[esi] mov ecx,esi mov [esp+10h],ebp call [eax+58h] test eax,eax jz L00480468 mov edx,[esi+00000080h] xor ecx,ecx mov cl,[esi+0000009Dh] mov [edx+ecx*4+000000C8h],ebx mov edi,[L00B294DC] cmp edi,ebx jz L0048047F L00480445: mov eax,[edi] mov ecx,edi call [eax+00000090h] test eax,eax jz L0048045F cmp [edi+38h],ebp jnz L0048045F mov ecx,edi call SUB_L004A2FB0 L0048045F: mov edi,[edi+40h] cmp edi,ebx jnz L00480445 jmp L0048047F L00480468: mov eax,[esi+00000080h] cmp [eax+000000ACh],esi jnz L0048047F mov ecx,[esi+44h] mov [eax+000000ACh],ecx L0048047F: mov [esi+00000080h],ebx cmp word ptr [ebp+3Ch],2AF8h jnz L004804F3 mov edi,[L00B294DC] cmp edi,ebx jz L004804F3 L00480497: mov edx,[edi] mov ecx,edi call [edx+000000DCh] test eax,eax jz L004804BE mov eax,[edi+38h] mov ecx,[ebp+00000080h] cmp eax,ecx jnz L004804BE cmp [edi+000000C4h],ebx jnz L004804BE mov [esp+14h],edi L004804BE: mov edi,[edi+40h] cmp edi,ebx jnz L00480497 jmp L004804F3 L004804C7: mov eax,[esi+000000A0h] cmp eax,ebx jz L004804F3 mov ecx,[L0054B2A0] sub ecx,eax mov [L0054B2A0],ecx mov ecx,[L00B294AC] cmp ecx,ebx jz L004804EE call SUB_L004ACC50 L004804EE: call SUB_L0040C940 L004804F3: cmp [L00C884EC],esi jnz L00480504 mov ecx,[esi+48h] mov [L00C884EC],ecx L00480504: cmp [L00C884E8],esi jnz L00480515 mov edx,[esi+44h] mov [L00C884E8],edx L00480515: mov eax,[esi+48h] cmp eax,ebx jz L00480522 mov ecx,[esi+44h] mov [eax+44h],ecx L00480522: mov eax,[esi+44h] cmp eax,ebx jz L0048052F mov edx,[esi+48h] mov [eax+48h],edx L0048052F: cmp ebp,ebx mov [esi+48h],ebx mov [esi+44h],ebx mov byte ptr [esi+70h],01h jz L0048063F mov ax,[esi+3Ch] cmp ax,3584h jc L00480598 cmp ax,35A1h ja L00480598 lea ecx,[esp+1Ch] and eax,0000FFFFh lea edx,[esp+18h] push ecx sub eax,00002C69h push edx push eax call SUB_L004434A0 movsx eax,[esi+24h] mov ecx,[esp+24h] mov [esp+2Ch],eax add esp,0000000Ch lea edx,[eax+ecx-01h] mov ecx,[esp+1Ch] movsx eax,[esi+26h] mov [esp+28h],edx mov [esp+24h],eax lea edx,[eax+ecx-01h] mov [esp+2Ch],edx jmp L004805D3 L00480598: mov eax,[esi] mov ecx,esi call [eax+78h] cmp eax,ebx jz L0048063F movsx ecx,[esi+24h] xor edx,edx mov [esp+20h],ecx mov dx,[eax+04h] lea ecx,[edx+ecx-01h] xor edx,edx mov [esp+28h],ecx movsx ecx,[esi+26h] mov [esp+24h],ecx mov dx,[eax+06h] lea eax,[edx+ecx-01h] mov [esp+2Ch],eax L004805D3: mov ebp,[L00B294DC] cmp ebp,ebx jz L0048063F L004805DD: mov edx,[ebp+00h] mov ecx,ebp call [edx+000000CCh] test eax,eax jz L00480605 mov eax,[esp+10h] mov ecx,[ebp+38h] cmp ecx,eax jnz L00480605 lea ecx,[esp+20h] push ecx mov ecx,ebp call SUB_L0043A620 jmp L00480638 L00480605: mov edi,[ebp+48h] cmp edi,ebx jz L00480638 L0048060C: mov edx,[edi] mov ecx,edi call [edx+000000CCh] test eax,eax jz L00480631 mov eax,[esp+10h] mov ecx,[edi+38h] cmp ecx,eax jnz L00480631 lea ecx,[esp+20h] push ecx mov ecx,edi call SUB_L0043A620 L00480631: mov edi,[edi+40h] cmp edi,ebx jnz L0048060C L00480638: mov ebp,[ebp+40h] cmp ebp,ebx jnz L004805DD L0048063F: mov edi,[esp+14h] cmp edi,ebx jz L00480659 mov edx,[esi+7Ch] mov ecx,edi push edx call SUB_L004B00A0 mov ecx,edi call SUB_L004B01D0 L00480659: mov ecx,[esi+0000008Ch] pop edi cmp ecx,ebx jz L00480691 mov eax,[ecx] call [eax+00000128h] test eax,eax jz L00480681 mov eax,[esi+0000008Ch] push eax mov ecx,[eax+4Ch] call SUB_L00413BD0 jmp L00480691 L00480681: mov ecx,[esi+0000008Ch] cmp ecx,ebx jz L00480691 mov edx,[ecx] push 00000001h call [edx] L00480691: mov ecx,[esi+00000090h] cmp ecx,ebx jz L004806A1 mov eax,[ecx] push 00000001h call [eax] L004806A1: mov ecx,[esi+00000094h] cmp ecx,ebx jz L004806B1 mov edx,[ecx] push 00000001h call [edx] L004806B1: pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004806C0: mov eax,[L00C884DC] push esi push edi mov edi,ecx cmp edi,eax jnz L0048070E mov eax,[edi+000000A0h] mov esi,[esp+0Ch] cmp eax,esi jz L0048070E mov cl,[edi+70h] test cl,cl jnz L00480708 mov edx,[L0054B2A0] mov ecx,esi sub ecx,eax add edx,ecx mov ecx,[L00B294AC] test ecx,ecx mov [L0054B2A0],edx jz L00480703 call SUB_L004ACC50 L00480703: call SUB_L0040C940 L00480708: mov [edi+000000A0h],esi L0048070E: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L00480720: push esi mov esi,ecx call SUB_L00480850 test byte ptr [esp+08h],01h jz L00480738 push esi call SUB_L004D4F9E add esp,00000004h L00480738: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00480740: push FFFFFFFFh push L004E43D8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi call SUB_L0047E690 mov eax,[esp+18h] mov edx,[esp+1Ch] mov [esi+7Ch],eax mov al,[esp+20h] mov [esi+3Eh],al mov eax,[esp+24h] xor ecx,ecx and edx,00003FFFh cmp eax,ecx mov [esp+10h],ecx mov dword ptr [esi],L004EED0C mov [esi+000000ACh],ecx mov [esi+000000B0h],ecx mov [esi+000000B4h],ecx mov [esi+3Ch],dx jnz L004807F7 mov eax,[esi+00000084h] cmp eax,ecx jz L004807BA mov edx,[esi+00000088h] mov [eax+00000088h],edx L004807BA: mov eax,[esi+00000088h] cmp eax,ecx jz L004807D0 mov edx,[esi+00000084h] mov [eax+00000084h],edx L004807D0: cmp esi,[L00C8850C] jnz L004807E3 mov eax,[esi+00000084h] mov [L00C8850C],eax L004807E3: cmp esi,[L00C88510] jnz L004807F7 mov edx,[esi+00000088h] mov [L00C88510],edx L004807F7: cmp esi,ecx mov [esi+000000BCh],ecx jz L00480806 mov eax,[esi+04h] jmp L0048080B L00480806: mov eax,FEEDBEEFh L0048080B: push 000004C1h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00480830 push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00480830: mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L00480850: push FFFFFFFFh push L004E43F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004EED0C mov al,[esi+70h] xor ebx,ebx cmp al,bl mov [esp+14h],ebx mov [esi+04h],ebx jnz L00480889 call SUB_L004802D0 L00480889: mov eax,[esi+000000B4h] cmp eax,ebx jz L00480912 L00480893: cmp eax,DDDDDDDDh jz L004808FF cmp eax,ebx jz L004808FF mov ecx,[eax+04h] push 000004E1h push SSZ0050C208_C__publish004_client_src_shared_ push ecx push eax call SUB_L00476020 add esp,00000010h test al,al jz L004808F0 mov ecx,[L00D1BADC] cmp ecx,ebx jz L004808E4 mov edx,[esi+000000B4h] push edx call SUB_L004A2070 cmp al,01h jnz L004808E4 mov ecx,[esi+000000B4h] mov eax,[ecx] call [eax+04h] mov [esi+000000B4h],ebx L004808E4: mov eax,[esi+000000B4h] cmp eax,ebx jnz L00480893 jmp L00480912 L004808F0: push SSZ0050C294_CContainerObj___CContainerObj__e call SUB_L004C7EC0 add esp,00000004h jmp L00480912 L004808FF: push SSZ0050C24C_CContainerObj___CContainerObj__b call SUB_L004C7EC0 add esp,00000004h mov [esi+000000B4h],ebx L00480912: mov eax,[esi+000000B0h] cmp eax,ebx jz L00480980 mov ecx,[L00D1BADC] cmp ecx,ebx jz L00480980 push eax call SUB_L004A2070 cmp al,01h jnz L00480980 mov ecx,[esi+000000B0h] mov edx,[ecx] call [edx+000000CCh] test eax,eax jz L00480970 mov ecx,[esi+000000B0h] mov eax,[ecx+000000A8h] cmp eax,ebx jz L00480970 cmp [eax+000000C0h],ecx jnz L00480962 mov [eax+000000C0h],ebx jmp L00480970 L00480962: cmp [eax+000000C4h],ecx jnz L00480970 mov [eax+000000C4h],ebx L00480970: mov ecx,[esi+000000B0h] cmp ecx,ebx jz L00480980 mov eax,[ecx] push 00000001h call [eax] L00480980: mov eax,[esi+000000ACh] cmp eax,ebx jz L004809B3 L0048098A: mov ecx,[L00D1BADC] cmp ecx,ebx jz L004809B3 push eax call SUB_L004A2070 cmp al,01h jnz L004809B3 mov ecx,[esi+000000ACh] mov edx,[ecx] call [edx+04h] mov eax,[esi+000000ACh] cmp eax,ebx jnz L0048098A L004809B3: mov ecx,esi mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov dword ptr [esp+14h],FFFFFFFFh call SUB_L0047E910 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004809F0: mov ax,[ecx+3Ch] cmp ax,0EFAh jz L00480A03 cmp ax,0E3Bh jz L00480A03 xor eax,eax retn ;------------------------------------------------------------------------------ L00480A03: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00480A10: push esi mov esi,ecx mov ecx,[esi+000000ACh] test ecx,ecx jz L00480A2C L00480A1D: mov eax,[ecx] call [eax+04h] mov ecx,[esi+000000ACh] test ecx,ecx jnz L00480A1D L00480A2C: pop esi retn ;------------------------------------------------------------------------------ Align 4 L00480A30: push esi mov esi,ecx call SUB_L00480AF0 test byte ptr [esp+08h],01h jz L00480A48 push esi call SUB_L004D4F9E add esp,00000004h L00480A48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00480A50: push esi mov esi,ecx call SUB_L0047E690 mov eax,[esp+08h] mov edx,[esp+0Ch] mov [esi+7Ch],eax mov al,[esp+10h] mov [esi+3Eh],al mov eax,[esp+14h] xor ecx,ecx and edx,00003FFFh cmp eax,ecx mov dword ptr [esi],L004EED94 mov [esi+000000ACh],ecx mov [esi+000000B0h],ecx mov [esi+000000B4h],ecx mov [esi+3Ch],dx jnz L00480AE9 mov eax,[esi+00000084h] cmp eax,ecx jz L00480AAC mov edx,[esi+00000088h] mov [eax+00000088h],edx L00480AAC: mov eax,[esi+00000088h] cmp eax,ecx jz L00480AC2 mov ecx,[esi+00000084h] mov [eax+00000084h],ecx L00480AC2: cmp esi,[L00C8850C] jnz L00480AD6 mov edx,[esi+00000084h] mov [L00C8850C],edx L00480AD6: cmp esi,[L00C88510] jnz L00480AE9 mov eax,[esi+00000088h] mov [L00C88510],eax L00480AE9: mov eax,esi pop esi retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L00480AF0: push FFFFFFFFh push L004E4418 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push edi mov edi,ecx mov [esp+04h],edi mov dword ptr [edi],L004EED94 mov al,[edi+70h] mov dword ptr [esp+10h],00000000h test al,al jnz L00480B27 call SUB_L004802D0 L00480B27: mov ecx,[edi+000000B4h] test ecx,ecx jz L00480B37 mov eax,[ecx] push 00000001h call [eax] L00480B37: mov eax,[edi+000000ACh] test eax,eax jz L00480B59 push esi L00480B42: mov esi,[eax+08h] test eax,eax jz L00480B52 push eax call SUB_L004D4F9E add esp,00000004h L00480B52: test esi,esi mov eax,esi jnz L00480B42 pop esi L00480B59: mov ecx,edi mov dword ptr [edi+000000ACh],00000000h mov dword ptr [edi+000000B0h],00000000h mov dword ptr [esp+10h],FFFFFFFFh call SUB_L0047E910 mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00480B90: mov eax,[esp+04h] push ebx and eax,000000FFh push esi dec eax push edi cmp eax,00000004h mov ebx,ecx ja L00480D07 jmp [CASE_PROCTABLE_00480D10+eax*4] CASE_00480D10_PROC0000: mov esi,[ebx+000000ACh] test esi,esi jz L00480BCB mov eax,[esi+08h] test eax,eax jz L00480BF7 L00480BC0: mov esi,eax mov eax,[esi+08h] test eax,eax jnz L00480BC0 jmp L00480BF7 L00480BCB: xor edi,edi jmp L00480BFA CASE_00480D10_PROC0001: mov eax,[esp+14h] test al,al jnz L00480BE1 mov edi,[ebx+000000ACh] xor esi,esi jmp L00480BFA L00480BE1: mov esi,[ebx+000000ACh] and eax,000000FFh dec eax test eax,eax jle L00480BF7 L00480BF1: mov esi,[esi+08h] dec eax jnz L00480BF1 L00480BF7: mov edi,[esi+08h] L00480BFA: push 0000000Ch call SUB_L004D4FA9 mov cx,[esp+1Ch] mov dx,[esp+20h] add esp,00000004h mov [eax],cx mov [eax+02h],dx mov [eax+08h],edi test esi,esi jz L00480C32 mov [esi+08h],eax mov eax,[ebx+000000B0h] inc eax pop edi mov [ebx+000000B0h],eax pop esi pop ebx retn 0010h ;------------------------------------------------------------------------------ L00480C32: mov [ebx+000000ACh],eax mov eax,[ebx+000000B0h] inc eax pop edi mov [ebx+000000B0h],eax pop esi pop ebx retn 0010h ;------------------------------------------------------------------------------ CASE_00480D10_PROC0003: mov ecx,[esp+14h] mov edx,[ebx+000000ACh] and ecx,000000FFh mov eax,edx jle L00480C65 L00480C5F: mov eax,[eax+08h] dec ecx jnz L00480C5F L00480C65: cmp eax,edx jz L00480C81 mov ecx,[edx+08h] cmp ecx,eax jz L00480C79 L00480C70: mov edx,ecx mov ecx,[edx+08h] cmp ecx,eax jnz L00480C70 L00480C79: mov ecx,[eax+08h] mov [edx+08h],ecx jmp L00480C8A L00480C81: mov edx,[eax+08h] mov [ebx+000000ACh],edx L00480C8A: test eax,eax jz L00480C97 push eax call SUB_L004D4F9E add esp,00000004h L00480C97: mov eax,[ebx+000000B0h] pop edi dec eax pop esi mov [ebx+000000B0h],eax pop ebx retn 0010h ;------------------------------------------------------------------------------ CASE_00480D10_PROC0002: mov ecx,[esp+14h] mov eax,[ebx+000000ACh] and ecx,000000FFh jle L00480CC2 L00480CBC: mov eax,[eax+08h] dec ecx jnz L00480CBC L00480CC2: mov cx,[esp+18h] mov dx,[esp+1Ch] pop edi pop esi mov [eax],cx mov [eax+02h],dx pop ebx retn 0010h ;------------------------------------------------------------------------------ CASE_00480D10_PROC0004: mov eax,[ebx+000000ACh] xor edi,edi cmp eax,edi jz L00480CFB L00480CE5: mov esi,[eax+08h] cmp eax,edi jz L00480CF5 push eax call SUB_L004D4F9E add esp,00000004h L00480CF5: cmp esi,edi mov eax,esi jnz L00480CE5 L00480CFB: mov [ebx+000000ACh],edi mov [ebx+000000B0h],edi L00480D07: pop edi pop esi pop ebx retn 0010h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00480D10: dd CASE_00480D10_PROC0000 dd CASE_00480D10_PROC0001 dd CASE_00480D10_PROC0002 dd CASE_00480D10_PROC0003 dd CASE_00480D10_PROC0004 Align 16 L00480D30: mov eax,00000006h retn ;------------------------------------------------------------------------------ Align 16 L00480D40: push esi mov esi,ecx call SUB_L00480E20 test byte ptr [esp+08h],01h jz L00480D58 push esi call SUB_L004D4F9E add esp,00000004h L00480D58: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00480D60: push FFFFFFFFh push L004E4438 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L0047E690 xor ebx,ebx mov dword ptr [esi],L004EED0C cmp esi,ebx mov [esp+18h],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov [esi+000000BCh],ebx jz L00480DB1 mov eax,[esi+04h] jmp L00480DB6 L00480DB1: mov eax,FEEDBEEFh L00480DB6: push 000004A2h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00480DDB push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00480DDB: lea edi,[esi+000000C0h] mov ecx,0000001Ah xor eax,eax mov dword ptr [esi],L004EEE1C rep stosd mov ecx,[esp+24h] mov eax,[esp+20h] and ecx,00003FFFh mov [esi+7Ch],eax mov [esi+3Ch],cx mov ecx,[esp+10h] mov [esi+72h],bl mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L00480E20: push FFFFFFFFh push L004E4458 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EEE1C mov al,[esi+70h] mov dword ptr [esp+10h],00000000h test al,al jnz L00480E57 call SUB_L004802D0 L00480E57: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00480850 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00480E80: push FFFFFFFFh push L004E44A6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L0047E690 xor ebx,ebx mov dword ptr [esi],L004EED0C cmp esi,ebx mov [esp+1Ch],ebx mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov [esi+000000BCh],ebx jz L00480ED2 mov eax,[esi+04h] jmp L00480ED7 L00480ED2: mov eax,FEEDBEEFh L00480ED7: push 000004A2h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00480EFC push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00480EFC: push SUB_L00402C50 push L00481090 lea ebp,[esi+00000158h] push 00000004h push 0000000Ah push ebp mov dword ptr [esp+30h],00000001h mov [esi+000000C4h],ebx mov [esi+00000140h],ebx mov [esi+00000144h],ebx mov [esi+00000148h],ebx mov [esi+0000014Ch],ebx mov [esi+00000154h],ebx call SUB_L004D549C mov [esi+00000188h],ebx mov [esi+00000198h],ebx mov [esi+0000019Ch],ebx mov [esi+000001A8h],ebx mov [esi+000001ACh],bx mov [esi+000001AEh],bx mov [esi+000001B0h],bx mov [esi+000001BCh],bx mov [esi+000001C0h],ebx mov [esi+000001C4h],ebx mov [esi+000001C8h],ebx mov [esi+000001CCh],ebx mov [esi+000001D0h],ebx mov dword ptr [esi+000001D4h],FFFFFFFFh mov [esi+000001D8h],ebx mov [esi+000001DCh],ebx mov dword ptr [esi],L004EEEA4 mov eax,[L00C88514] cmp eax,ebx mov byte ptr [esp+1Ch],03h mov [esi+000000C0h],eax jz L00480FCA mov [eax+000000C4h],esi L00480FCA: lea edi,[esi+000000C8h] mov ecx,0000001Eh xor eax,eax mov [L00C88514],esi rep stosd mov ecx,0000000Ah mov edi,ebp mov [esi+72h],bl rep stosd mov [esi+00000098h],ebx mov ecx,[L00C88368] mov [esi+00000150h],ecx mov ecx,[L00C8853C] inc ecx cmp esi,ebx mov [L00C8853C],ecx jz L00481013 mov eax,[esi+04h] jmp L00481018 L00481013: mov eax,FEEDBEEFh L00481018: push 000005F7h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0048103D push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L0048103D: mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00481060: mov eax,0000000Fh retn ;------------------------------------------------------------------------------ Align 16 L00481070: push esi mov esi,ecx call SUB_L00481290 test byte ptr [esp+08h],01h jz L00481088 push esi call SUB_L004D4F9E add esp,00000004h L00481088: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 L00481090: mov eax,ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004810A0: push FFFFFFFFh push L004E44E6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L0047E690 xor ebx,ebx mov dword ptr [esi],L004EED0C mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx cmp esi,ebx mov [esp+1Ch],ebx mov [esi+000000B4h],ebx mov [esi+000000BCh],ebx jz L004810F2 mov eax,[esi+04h] jmp L004810F7 L004810F2: mov eax,FEEDBEEFh L004810F7: push 000004A2h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L0048111C push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L0048111C: push SUB_L00402C50 push L00481090 lea ebp,[esi+00000158h] push 00000004h push 0000000Ah push ebp mov dword ptr [esp+30h],00000001h mov [esi+000000C4h],ebx mov [esi+00000140h],ebx mov [esi+00000144h],ebx mov [esi+00000148h],ebx mov [esi+0000014Ch],ebx mov [esi+00000154h],ebx call SUB_L004D549C mov [esi+00000188h],ebx mov [esi+00000198h],ebx mov [esi+0000019Ch],ebx mov [esi+000001A8h],ebx mov [esi+000001ACh],bx mov [esi+000001AEh],bx mov [esi+000001B0h],bx mov [esi+000001BCh],bx mov [esi+000001C0h],ebx mov [esi+000001C4h],ebx mov [esi+000001C8h],ebx mov [esi+000001CCh],ebx mov [esi+000001D0h],ebx mov dword ptr [esi+000001D4h],FFFFFFFFh mov [esi+000001D8h],ebx mov [esi+000001DCh],ebx mov dword ptr [esi],L004EEEA4 mov eax,[L00C88514] cmp eax,ebx mov byte ptr [esp+1Ch],03h mov [esi+000000C0h],eax jz L004811EA mov [eax+000000C4h],esi L004811EA: mov edx,[esp+28h] lea edi,[esi+000000C8h] mov ecx,0000001Eh xor eax,eax mov [L00C88514],esi and edx,00003FFFh rep stosd mov ecx,0000000Ah mov edi,ebp mov [esi+72h],bl rep stosd mov ecx,[esp+24h] mov al,[esp+2Ch] mov [esi+7Ch],ecx mov [esi+3Ch],dx mov [esi+3Eh],al mov [esi+00000098h],ebx mov ecx,[L00C88368] mov [esi+00000150h],ecx mov ecx,[L00C8853C] inc ecx cmp esi,ebx mov [L00C8853C],ecx jz L0048124F mov eax,[esi+04h] jmp L00481254 L0048124F: mov eax,FEEDBEEFh L00481254: push 0000062Ah push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00481279 push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00481279: mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ SUB_L00481290: push FFFFFFFFh push L004E451E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000034h push ebx push ebp mov ebp,ecx push edi mov [esp+0Ch],ebp mov dword ptr [ebp+00h],L004EEEA4 mov eax,[ebp+7Ch] push 00000001h xor ebx,ebx push eax push ebx mov dword ptr [esp+54h],00000002h call SUB_L0047ED90 mov eax,[ebp+20h] add esp,0000000Ch cmp eax,ebx jz L004812DF mov ecx,ebp call SUB_L00402F80 L004812DF: cmp dword ptr [ebp+000001D4h],FFFFFFFFh jz L004812FB cmp [L00C88338],ebx jnz L004812FB push 00000001h push ebp call SUB_L004093C0 add esp,00000008h L004812FB: push esi mov esi,[ebp+000001C4h] cmp esi,ebx jz L00481358 L00481306: mov ecx,[L00D1BADC] cmp ecx,ebx jz L0048131A push esi call SUB_L004A2070 test al,al jz L00481358 L0048131A: cmp esi,ebx jz L00481323 mov eax,[esi+04h] jmp L00481328 L00481323: mov eax,FEEDBEEFh L00481328: push 00000647h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00481358 mov edi,[esi+00000108h] cmp esi,ebx jz L00481352 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00481352: cmp edi,ebx mov esi,edi jnz L00481306 L00481358: mov esi,[L00B294DC] cmp esi,ebx jz L004813C7 L00481362: mov ecx,[L00D1BADC] cmp ecx,ebx jz L00481376 push esi call SUB_L004A2070 test al,al jz L004813C7 L00481376: cmp esi,ebx jz L0048137F mov eax,[esi+04h] jmp L00481384 L0048137F: mov eax,FEEDBEEFh L00481384: push 00000655h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004813C7 mov eax,[esi] mov edi,[esi+40h] mov ecx,esi call [eax+00000138h] test eax,eax jz L004813C1 cmp [esi+000000A4h],ebp jnz L004813C1 cmp esi,ebx jz L004813C1 mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004813C1: cmp edi,ebx mov esi,edi jnz L00481362 L004813C7: mov eax,[ebp+000001D8h] cmp eax,ebx jz L00481432 mov ecx,[L00D1BADC] cmp ecx,ebx jz L00481432 push eax call SUB_L004A2070 cmp al,01h jnz L00481432 mov eax,[ebp+000001D8h] push ebx push ebx mov ecx,[eax+000000C0h] mov edx,[ecx+38h] lea ecx,[esp+1Ch] mov eax,[edx+7Ch] push eax push 00000001h push ecx call SUB_L0049B480 mov ecx,[L00C88300] add esp,00000014h lea edx,[esp+14h] push edx call SUB_L004BC750 mov eax,[ebp+000001D8h] mov [eax+38h],ebx mov ecx,[ebp+000001D8h] cmp ecx,ebx jz L00481432 mov edx,[ecx] push 00000001h call [edx] L00481432: push ebp call SUB_L00436B90 add esp,00000004h cmp eax,ebx jz L00481448 push eax call SUB_L00436B20 add esp,00000004h L00481448: mov eax,[L00C884DC] cmp eax,ebx jz L00481485 mov ecx,[L00D1BADC] cmp ecx,ebx jz L0048148B push eax call SUB_L004A2070 cmp al,01h jnz L00481485 mov eax,[L00C884DC] cmp [eax+00000208h],ebx jz L00481485 mov ecx,[ebp+7Ch] mov edx,[eax+0000020Ch] cmp ecx,edx jnz L00481485 mov [eax+00000208h],ebx L00481485: mov ecx,[L00D1BADC] L0048148B: cmp [ebp+70h],bl jnz L0048149D mov ecx,ebp call SUB_L004802D0 mov ecx,[L00D1BADC] L0048149D: lea esi,[ebp+000000C8h] mov edi,0000001Eh L004814A8: mov eax,[esi] cmp eax,ebx jz L004814C9 cmp ecx,ebx jz L004814C9 push eax call SUB_L004A2070 cmp al,01h jnz L004814C3 mov ecx,[esi] mov edx,[ecx] call [edx+04h] L004814C3: mov ecx,[L00D1BADC] L004814C9: add esi,00000004h dec edi jnz L004814A8 mov eax,[ebp+000000C0h] pop esi cmp eax,ebx jz L00481500 cmp ecx,ebx jz L00481500 push eax call SUB_L004A2070 cmp al,01h jnz L004814FA mov eax,[ebp+000000C0h] mov ecx,[ebp+000000C4h] mov [eax+000000C4h],ecx L004814FA: mov ecx,[L00D1BADC] L00481500: mov eax,[ebp+000000C4h] cmp eax,ebx jz L00481532 cmp ecx,ebx jz L00481551 push eax call SUB_L004A2070 cmp al,01h jnz L0048152C mov edx,[ebp+000000C4h] mov eax,[ebp+000000C0h] mov [edx+000000C0h],eax jmp L00481551 L0048152C: mov ecx,[L00D1BADC] L00481532: cmp ecx,ebx jz L00481551 mov edx,[ebp+000000C0h] push edx call SUB_L004A2070 cmp al,01h jnz L00481551 mov eax,[ebp+000000C0h] mov [L00C88514],eax L00481551: mov eax,[L00B189F8] cmp [eax+000000DCh],ebp jnz L00481564 mov [eax+000000DCh],ebx L00481564: mov edi,[L00C8853C] push SUB_L00402C50 push 00000004h lea ecx,[ebp+00000158h] dec edi push 0000000Ah push ecx mov [L00C8853C],edi mov [esp+58h],bl call SUB_L004D53BE mov ecx,ebp mov dword ptr [esp+48h],FFFFFFFFh call SUB_L00480850 mov ecx,[esp+40h] pop edi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000040h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004815B0: push esi push edi mov edi,ecx mov ecx,[esp+0Ch] mov esi,[edi+7Ch] or esi,80000000h mov [edi+7Ch],esi mov eax,esi mov esi,[esp+10h] test ecx,ecx jz L004815DF xor edx,edx push esi mov dl,[edi+72h] push edx push eax push ecx call SUB_L0047EF00 add esp,00000010h L004815DF: mov ax,[edi+3Ch] cmp ax,0096h jnc L0048160D 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_L004817F0 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0048160D: cmp ax,00C8h jnc L0048162E push 00000000h push 00000000h push 00000001h push 00000000h push 0000000Fh push 00000088h mov ecx,edi call SUB_L004817F0 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0048162E: push 00000000h push 00000000h push 00000001h cmp ax,0190h push 00000000h push 00000005h jnc L0048165B neg esi sbb esi,esi mov ecx,edi and esi,FFFFFFFCh add esi,0000000Ch or esi,00000080h push esi call SUB_L004817F0 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L0048165B: neg esi sbb esi,esi mov ecx,edi add esi,00000016h or esi,00000080h push esi call SUB_L004817F0 pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L00481680: mov eax,[esp+04h] mov [ecx+000001DCh],eax call SUB_L004045B0 retn 0004h ;------------------------------------------------------------------------------ Align 16 L004816A0: mov eax,[esp+04h] push esi mov [ecx+000001DCh],eax mov esi,[L00C88514] test esi,esi jz L004816C6 L004816B5: mov ecx,esi call SUB_L004045B0 mov esi,[esi+000000C0h] test esi,esi jnz L004816B5 L004816C6: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L004816D0: cmp dword ptr [ecx+000001DCh],00000064h jl L004816E0 mov byte ptr [L0050C190],00h L004816E0: mov eax,[ecx+000001DCh] mov ecx,00000064h cdq idiv ecx cmp edx,00000004h jl L004816FB cmp edx,00000006h jg L004816FB xor al,al retn ;------------------------------------------------------------------------------ L004816FB: mov al,01h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00481700: cmp dword ptr [ecx+000001DCh],00000064h jl L00481710 mov byte ptr [L0050C190],00h L00481710: mov eax,[ecx+000001DCh] mov ecx,00000064h cdq idiv ecx mov eax,edx retn ;------------------------------------------------------------------------------ Align 16 L00481730: cmp dword ptr [ecx+000001DCh],00000064h jl L00481740 mov byte ptr [L0050C190],00h L00481740: mov eax,[ecx+000001DCh] mov ecx,00000064h cdq idiv ecx mov eax,edx dec eax neg eax sbb eax,eax neg eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00481760: cmp word ptr [ecx+3Ch],03E8h jc L0048176E mov word ptr [ecx+3Ch],0032h L0048176E: mov eax,[ecx+0000019Ch] test eax,eax jz L004817A2 xor eax,eax push esi mov ax,[ecx+3Ch] mov ecx,[ecx+000001A0h] movsx esi,[L00B17F10+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 ;------------------------------------------------------------------------------ L004817A2: mov eax,[ecx+00000148h] test eax,eax jz L004817BB xor edx,edx mov dx,[ecx+3Ch] movsx eax,[L00B17F11+edx*2] retn ;------------------------------------------------------------------------------ L004817BB: xor eax,eax mov ax,[ecx+3Ch] movsx eax,[L00B17F10+eax*2] retn ;------------------------------------------------------------------------------ Align 8 L004817D0: mov eax,[ecx+000001A8h] test eax,eax jz L004817E4 xor eax,eax mov ax,[ecx+000001ACh] retn ;------------------------------------------------------------------------------ L004817E4: or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004817F0: mov eax,[L00C8C4D4] push esi push edi xor edi,edi cmp eax,edi mov esi,ecx jz L0048186B push 00000010h call SUB_L004D4FA9 mov cx,[esp+10h] mov edi,eax mov dx,[esp+14h] add esp,00000004h lea eax,[edi+04h] mov [edi],esi push 00000010h push edi mov [eax],cx mov cx,[esp+1Ch] add eax,00000002h push 00000007h mov [eax],dx mov dx,[esp+24h] add eax,00000002h mov [eax],cx mov cx,[esp+28h] add eax,00000002h mov [eax],dx mov dx,[esp+2Ch] add eax,00000002h mov [eax],cx mov [eax+02h],dx mov ecx,[L00C8C4CC] call SUB_L0045C4B0 push edi call SUB_L004D4F9E add esp,00000004h pop edi pop esi retn 0018h ;------------------------------------------------------------------------------ L0048186B: mov eax,[L00C88368] mov edx,[esi] mov ecx,esi mov [esi+00000150h],eax call [edx+14h] mov ax,[esp+0Ch] mov ecx,[esp+18h] mov edx,[esp+10h] mov [esi+000001B0h],ax mov ax,[esp+1Ch] mov dword ptr [esi+000001A8h],00000001h cmp ax,di jz L004818BD push ebx lea ebx,[edx-01h] mov [esi+000001ACh],bx lea ebx,[ecx-01h] mov [esi+000001BCh],bx pop ebx jmp L004818CB L004818BD: mov [esi+000001ACh],di mov [esi+000001BCh],di L004818CB: mov [esi+000001B6h],ax mov ax,[esp+20h] mov [esi+000001BAh],cx mov cx,[esp+14h] push esi mov [esi+000001B8h],ax mov [esi+000001B2h],di mov [esi+000001B4h],cx mov [esi+000001AEh],dx call SUB_L00409350 mov edx,[esi] add esp,00000004h mov ecx,esi call [edx+10h] pop edi pop esi retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L00481920: mov eax,[ecx+000001A8h] test eax,eax jz L00481940 push 00000000h push ecx mov dword ptr [ecx+000001A8h],00000000h call SUB_L004093C0 add esp,00000008h retn ;------------------------------------------------------------------------------ L00481940: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 L00481950: mov ax,[ecx+3Ch] cmp ax,0192h jz L00481963 cmp ax,0193h jz L00481963 xor eax,eax retn ;------------------------------------------------------------------------------ L00481963: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00481970: mov eax,00000001h retn ;------------------------------------------------------------------------------ Align 16 L00481980: db 33h; '3' db C0h; '€' db 66h; 'f' db 8Bh; '<' db 41h; 'A' db 3Ch; '<' db 3Dh; '=' db D6h; '–' db 00h; db 00h; db 00h; db 0Fh; db 8Fh; '?' db A1h; 'ö' db 00h; db 00h; db 00h; db 0Fh; db 84h; '"' db 8Dh; '?' db 00h; db 00h; db 00h; db 83h; '?' db C0h; '€' db FBh; 'ë' db 3Dh; '=' db CFh; '' db 00h; db 00h; db 00h; db 0Fh; db 87h; 'Ø' db 08h; db 01h; db 00h; db 00h; db 33h; '3' db C9h; '‰' db 8Ah; '?' db 88h; '?' db D4h; '”' db 1Ah; db 48h; 'H' db 00h; db FFh; 'ï' db 24h; '$' db 8Dh; '?' db B0h; 'ø' db 1Ah; db 48h; 'H' db 00h; db 68h; 'h' db 18h; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 72h; 'r' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 1Ah; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 64h; 'd' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 1Bh; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 56h; 'V' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 1Dh; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 48h; 'H' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 1Eh; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 3Ah; ':' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 1Fh; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 2Ch; ',' db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 24h; '$' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 1Eh; db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 25h; '%' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 10h; db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 19h; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 02h; db 7Bh; '{' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 05h; db 27h; ''' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 83h; '?' db F8h; 'è' db 4Bh; 'K' db 77h; 'w' db 71h; 'q' db 33h; '3' db D2h; '’' db 8Ah; '?' db 90h; '?' db C4h; '„' db 1Bh; db 48h; 'H' db 00h; db FFh; 'ï' db 24h; '$' db 95h; db A4h; 'ý' db 1Bh; db 48h; 'H' db 00h; db 68h; 'h' db 1Ch; db 61h; 'a' db 00h; db 00h; db E8h; '¨' db DBh; '›' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 20h; ' ' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db CDh; '' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 21h; '!' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db BFh; 'õ' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 22h; '"' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db B1h; '+' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 23h; '#' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db A3h; '?' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 26h; '&' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 95h; db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 68h; 'h' db 27h; ''' db 61h; 'a' db 00h; db 00h; db E8h; '¨' db 87h; 'Ø' db 7Ah; 'z' db 03h; db 00h; db 83h; '?' db C4h; '„' db 04h; db C3h; 'ƒ' db 33h; '3' db C0h; '€' db C3h; 'ƒ' db DEh; 'ž' db 19h; db 48h; 'H' db 00h; db C2h; '‚' db 19h; db 48h; 'H' db 00h; db FAh; 'ê' db 19h; db 48h; 'H' db 00h; db D0h; '' db 19h; db 48h; 'H' db 00h; db 08h; db 1Ah; db 48h; 'H' db 00h; db 16h; db 1Ah; db 48h; 'H' db 00h; db B4h; '?' db 19h; db 48h; 'H' db 00h; db ECh; '¬' db 19h; db 48h; 'H' db 00h; db ADh; '-' db 1Ah; db 48h; 'H' db 00h; db 00h; db 01h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 08h; db 02h; db 03h; db 08h; db 08h; db 04h; db 05h; db 08h; db 08h; db 08h; db 08h; db 08h; db 06h; db 07h; db 4Bh; 'K' db 1Ah; db 48h; 'H' db 00h; db 75h; 'u' db 1Ah; db 48h; 'H' db 00h; db 59h; 'Y' db 1Ah; db 48h; 'H' db 00h; db 67h; 'g' db 1Ah; db 48h; 'H' db 00h; db 83h; '?' db 1Ah; db 48h; 'H' db 00h; db 91h; ''' db 1Ah; db 48h; 'H' db 00h; db 9Fh; '?' db 1Ah; db 48h; 'H' db 00h; db ADh; '-' db 1Ah; db 48h; 'H' db 00h; db 00h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 01h; db 02h; db 07h; db 03h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 04h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 07h; db 05h; db 06h; SUB_L00481C10: mov ax,[esp+04h] cmp ax,00C8h jnc L00481C76 mov ecx,[esp+1Ch] test ecx,ecx jz L00481C65 cmp ax,0004h jz L00481C6C cmp ax,0005h jz L00481C6C cmp ax,0006h jz L00481C6C cmp ax,0009h jz L00481C6C cmp ax,000Ah jz L00481C6C cmp ax,000Ch jz L00481C6C cmp ax,001Eh jz L00481C6C cmp ax,0027h jz L00481C6C cmp ax,003Bh jz L00481C6C cmp ax,003Ch jz L00481C6C cmp ax,003Dh jz L00481C6C L00481C65: xor eax,eax jmp L00481CFB L00481C6C: mov eax,00000013h jmp L00481CFB L00481C76: cmp ax,0190h jnc L00481C99 mov eax,[esp+1Ch] test eax,eax jz L00481C90 mov eax,00000001h mov ecx,00000005h jmp L00481D00 L00481C90: xor eax,eax mov ecx,00000005h jmp L00481D00 L00481C99: mov eax,[esp+24h] test eax,eax mov eax,[esp+20h] jz L00481CB5 test eax,eax jnz L00481CB9 mov eax,00000007h mov ecx,00000001h jmp L00481D00 L00481CB5: test eax,eax jz L00481CD9 L00481CB9: mov eax,[esp+1Ch] test eax,eax jnz L00481CCD mov eax,00000017h mov ecx,00000005h jmp L00481D00 L00481CCD: mov eax,00000018h mov ecx,00000005h jmp L00481D00 L00481CD9: mov eax,[esp+1Ch] test eax,eax mov eax,[esp+28h] jz L00481CF1 dec eax neg eax sbb eax,eax and al,FEh add eax,00000006h jmp L00481CFB L00481CF1: dec eax neg eax sbb eax,eax and al,FEh add eax,00000002h L00481CFB: mov ecx,0000000Ah L00481D00: mov edx,[esp+10h] cmp edx,FFFFFFFFh jnz L00481D2E mov edx,[esp+2Ch] cmp ecx,00000001h mov [edx],eax jnz L00481D1F mov eax,[esp+30h] mov dword ptr [eax],00000000h retn ;------------------------------------------------------------------------------ L00481D1F: mov eax,[esp+0Ch] dec ecx cdq idiv ecx mov ecx,[esp+30h] mov [ecx],edx retn ;------------------------------------------------------------------------------ L00481D2E: mov eax,[esp+18h] mov ecx,[esp+2Ch] and eax,0000007Fh mov [ecx],eax mov eax,[esp+30h] mov [eax],edx retn ;------------------------------------------------------------------------------ Align 16 L00481D50: sub esp,00000008h push esi mov esi,ecx push edi cmp word ptr [esi+3Ch],03E8h jnc L00481F69 mov eax,[esi] call [eax+00000098h] test eax,eax jnz L00481F69 mov eax,[esi+0000014Ch] test eax,eax jnz L00481F69 test byte ptr [esi+0000009Ch],80h jnz L00481F69 cmp word ptr [esi+3Ch],0190h jc L00481DA7 mov eax,[esi+0000012Ch] test eax,eax jz L00481DA7 mov edi,00000001h jmp L00481DA9 L00481DA7: xor edi,edi L00481DA9: mov edx,[esi] push ebx mov ecx,esi call [edx+00000090h] mov ebx,eax mov eax,[esi] mov ecx,esi call [eax+28h] test eax,eax jz L00481E2E mov ecx,[esi+000000CCh] test ecx,ecx jz L00481DEA mov edx,[L00C88540] xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] test dword ptr [edx+ecx*8],00800000h jz L00481DEA mov eax,00000001h jmp L00481DEC L00481DEA: xor eax,eax L00481DEC: lea ecx,[esp+0Ch] lea edx,[esp+10h] push ecx mov ecx,[L00C85350] push edx push eax mov eax,[esi+0000014Ch] xor edx,edx mov dx,[esi+000001BCh] push eax xor eax,eax push edi mov ax,[esi+000001B0h] push ecx add edx,eax xor ecx,ecx mov cx,[esi+000001AEh] push edx mov edx,[L00C8535C] push ecx push ebx jmp L00481E6A L00481E2E: mov ecx,[esi+00000148h] lea edx,[esp+0Ch] lea eax,[esp+10h] push edx push eax xor edx,edx mov dx,[esi+000001BCh] xor eax,eax mov ax,[esi+000001B0h] push 00000000h push 00000000h push edi push ecx add edx,eax xor ecx,ecx push edx mov cx,[esi+000001AEh] mov edx,[esi+00000144h] push ecx push ebx L00481E6A: mov cx,[esi+3Ch] xor eax,eax mov al,[esi+72h] push edx push eax push ecx call SUB_L00481C10 add esp,00000030h cmp word ptr [esi+3Ch],0190h pop ebx jc L00481F69 mov eax,[esp+0Ch] mov cl,[L0050CC26] test eax,eax jl L00481EB2 cmp eax,00000002h jg L00481EB2 test cl,cl jz L00481EB2 mov eax,[esp+08h] cmp eax,00000001h jnz L00481F01 mov edi,0000012Bh jmp L00481F30 L00481EB2: cmp eax,00000003h jnz L00481ECF test cl,cl jz L00481F69 mov eax,[esp+08h] cmp eax,00000001h jnz L00481F01 mov edi,0000012Bh jmp L00481F30 L00481ECF: cmp eax,00000007h jg L00481EE8 test cl,cl jz L00481EE8 mov eax,[esp+08h] cmp eax,00000001h jnz L00481F01 mov edi,0000012Bh jmp L00481F30 L00481EE8: cmp eax,00000017h jnz L00481F0D test cl,cl jz L00481F69 mov eax,[esp+08h] cmp eax,00000001h jnz L00481F01 mov edi,0000012Bh jmp L00481F30 L00481F01: cmp eax,00000006h jnz L00481F69 mov edi,0000012Ch jmp L00481F30 L00481F0D: cmp eax,00000018h jnz L00481F69 test cl,cl jz L00481F69 mov eax,[esp+08h] cmp eax,00000001h jnz L00481F26 mov edi,00000129h jmp L00481F30 L00481F26: cmp eax,00000003h jnz L00481F69 mov edi,0000012Ah L00481F30: mov edx,[esi] mov ecx,esi call [edx+28h] push 00000001h push 0000000Eh test eax,eax push 00000000h jz L00481F57 push FFFFFC18h push 00000000h push edi call SUB_L004CD800 add esp,00000018h pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L00481F57: add esi,00000024h push 3F800000h push esi push edi call SUB_L004CD720 add esp,00000018h L00481F69: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 L00481F70: 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; '?' L00481F80: push esi mov esi,ecx call SUB_L004820A0 test byte ptr [esp+08h],01h jz L00481F98 push esi call SUB_L004D4F9E add esp,00000004h L00481F98: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00481FA0: push FFFFFFFFh push L004E4538 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi call SUB_L00480E80 mov edx,[esp+1Ch] or ecx,FFFFFFFFh mov [esi+000001F8h],ecx mov [esi+000001FCh],ecx mov [esi+00000200h],ecx mov ecx,[esp+18h] xor eax,eax mov [esi+7Ch],ecx mov cl,[esp+20h] and edx,00003FFFh cmp esi,eax mov [esp+10h],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+00000204h],eax mov [esi+00000208h],eax mov [esi+0000020Ch],eax mov [esi+00000210h],eax mov [esi+00000214h],eax mov [esi+00000218h],eax mov dword ptr [esi],L004EEF50 mov [esi+00000154h],eax mov [esi+3Ch],dx mov [esi+3Eh],cl jz L00482056 mov eax,[esi+04h] jmp L0048205B L00482056: mov eax,FEEDBEEFh L0048205B: push 00000862h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00482080 push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00482080: mov ecx,[esp+08h] mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004820A0: mov dword ptr [ecx],L004EEF50 mov dword ptr [L00C884DC],00000000h jmp SUB_L00481290 Align 16 SUB_L004820C0: mov eax,[L0051C774] push ebx mov ebx,[esp+0Ch] push ebp mov ebp,[esp+0Ch] push esi push edi xor edi,edi test eax,eax jnz L004820F4 push ebx push ebp call SUB_L00475CA0 mov ecx,eax add esp,00000008h movsx eax,[ecx+03h] movsx ecx,[ecx+01h] add eax,ecx cdq sub eax,edx mov edi,eax sar edi,1 L004820F4: mov esi,[L00C884E8] test esi,esi jz L00482147 L004820FE: movsx edx,[esi+24h] cmp edx,ebp jnz L00482140 movsx eax,[esi+26h] cmp eax,ebx jnz L00482140 mov edx,[esi] mov ecx,esi call [edx+3Ch] test eax,eax jnz L00482140 movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx mov ecx,[L00C88540] lea edx,[eax+eax*4] xor eax,eax mov al,[ecx+edx*8+12h] movsx edx,[esi+28h] add eax,edx cmp eax,edi jle L00482140 mov edi,eax L00482140: mov esi,[esi+44h] test esi,esi jnz L004820FE L00482147: mov eax,edi sub eax,FFFFFF81h neg eax sbb eax,eax and eax,edi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00482160: push FFFFFFFFh push L004E4560 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L0047E470 xor ecx,ecx mov dword ptr [esi],L004EEFFC mov [esp+20h],ecx mov eax,[L00C88518] mov byte ptr [esp+20h],01h cmp eax,ecx mov [esi+7Ch],eax jz L004821A9 mov [eax+00000080h],esi L004821A9: mov edx,[esp+28h] mov edi,[esp+30h] mov ebx,[esp+2Ch] mov [esi+00000080h],ecx and edx,00003FFFh push edi mov [L00C88518],esi push ebx mov [esi+3Ch],dx mov [esi+3Eh],cl call SUB_L004820C0 mov [esp+18h],bx mov [esp+1Ah],di mov edx,[esp+18h] mov ecx,esp mov [esp+1Ch],ax mov [ecx],edx mov [ecx+04h],ax mov ecx,esi call SUB_L0047EFE0 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,00000018h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L00482210: push esi mov esi,ecx call SUB_L00482230 test byte ptr [esp+08h],01h jz L00482228 push esi call SUB_L004D4F9E add esp,00000004h L00482228: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00482230: push FFFFFFFFh push L004E4578 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EEFFC mov al,[esi+70h] mov dword ptr [esp+10h],00000000h test al,al jnz L00482267 call SUB_L0047F5C0 L00482267: mov eax,[esi+7Ch] test eax,eax jz L0048227A mov ecx,[esi+00000080h] mov [eax+00000080h],ecx L0048227A: mov eax,[esi+00000080h] test eax,eax jz L0048228A mov edx,[esi+7Ch] mov [eax+7Ch],edx L0048228A: cmp [L00C88518],esi jnz L0048229A mov eax,[esi+7Ch] mov [L00C88518],eax L0048229A: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L0047E560 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push L004822D0 call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 8 L004822D0: mov cl,[L00C88444] mov al,01h test al,cl jnz L004822E4 or cl,al mov [L00C88444],cl L004822E4: retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' xor eax,eax push L00482310 mov [L00C88438],eax mov [L00C8843C],eax mov [L00C88440],eax call SUB_L004D50AD pop ecx retn ;------------------------------------------------------------------------------ Align 4 L00482310: mov cl,[L00C88444] mov al,02h test al,cl jnz L00482397 mov dl,cl or dl,al mov eax,[L00C88438] test eax,eax mov [L00C88444],dl jz L00482397 push esi push edi L00482331: test eax,eax jnz L00482339 xor esi,esi jmp L0048238F L00482339: mov ecx,[eax+04h] mov esi,[eax] test ecx,ecx jz L00482346 mov [ecx],esi jmp L0048234C L00482346: mov [L00C88438],esi L0048234C: test esi,esi jz L00482355 mov [esi+04h],ecx jmp L0048235B L00482355: mov [L00C8843C],ecx L0048235B: mov edi,[eax+08h] push eax mov dword ptr [eax+08h],00000000h call SUB_L004D4F9E mov ecx,[L00C88440] add esp,00000004h dec ecx test edi,edi mov [L00C88440],ecx jz L0048238F mov ecx,edi call SUB_L00484A50 push edi call SUB_L004D4F9E add esp,00000004h L0048238F: test esi,esi mov eax,esi jnz L00482331 pop edi pop esi L00482397: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004823A0: push esi push SSZ0050C324_CObjectManager__startup__begin__ call SUB_L004C7F20 xor esi,esi push 000A0000h mov [L00C884E8],esi mov [L00C884EC],esi mov [L00C88514],esi mov [L00C884F0],esi mov [L00C884F4],esi mov [L00C884F8],esi mov [L00C884FC],esi mov [L00C88500],esi mov [L00C88504],esi mov [L00C88508],esi mov [L00C88518],esi mov [L00C8851C],esi call SUB_L004D4FA9 push 00070000h mov [L00C88540],eax call SUB_L004D4FA9 add esp,0000000Ch mov [L00C88544],eax call SUB_L004829D0 mov eax,00004000h mov [L00C88550],esi mov [L00C88548],eax mov [L00C8854C],eax call SUB_L00401E90 mov [L00C8853C],esi pop esi retn ;------------------------------------------------------------------------------ Align 4 L00482440: mov eax,[L00C88540] test eax,eax jz L00482452 push eax call SUB_L004D4F9E add esp,00000004h L00482452: mov eax,[L00C88544] test eax,eax jz L00482462 push eax call SUB_L004D4F9E pop ecx L00482462: retn ;------------------------------------------------------------------------------ Align 16 SUB_L00482470: mov ecx,[L00C884DC] push esi test ecx,ecx jz L004824AF mov al,[ecx+70h] test al,al jnz L00482487 mov eax,[ecx] call [eax+50h] L00482487: mov esi,000000C8h L0048248C: mov ecx,[L00C884DC] mov ecx,[esi+ecx] test ecx,ecx jz L0048249E mov edx,[ecx] call [edx+04h] L0048249E: add esi,00000004h cmp esi,00000130h jl L0048248C mov ecx,[L00C884DC] L004824AF: mov esi,[L00C884E8] test esi,esi jz L004824FC push edi jmp L004824C2 L004824BC: mov ecx,[L00C884DC] L004824C2: mov edi,[esi+44h] cmp esi,ecx jz L004824F5 mov eax,[esi] mov ecx,esi call [eax+2Ch] test eax,eax jz L004824EE mov ecx,[esi+00000098h] test ecx,ecx jz L004824E5 push 00000001h call SUB_L0047D770 L004824E5: mov edx,[esi] mov ecx,esi call [edx+04h] jmp L004824F5 L004824EE: mov eax,[esi] mov ecx,esi call [eax+04h] L004824F5: test edi,edi mov esi,edi jnz L004824BC pop edi L004824FC: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00482500: mov eax,[esp+08h] mov ecx,[esp+04h] push esi push 00000001h push eax push ecx call SUB_L00408640 mov esi,eax add esp,0000000Ch test esi,esi jz L00482547 mov edx,[esi+04h] push 00000972h push SSZ0050C208_C__publish004_client_src_shared_ push edx push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00482547 push SSZ0050C348_CObjectManager__GetObjAtScreenLo call SUB_L004C7EC0 add esp,00000004h xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L00482547: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00482550: sub esp,00000008h push ebx push ebp push esi push edi push L00504264 push SSZ0050C404_tiledata_mul mov dword ptr [esp+18h],00000000h call SUB_L0043FEF0 mov ebp,eax add esp,00000008h test ebp,ebp jnz L00482589 push SSZ0050C404_tiledata_mul push SSZ0050C3D0_CObjectManager__SetItemTileData_ call SUB_L004C7EC0 add esp,00000008h L00482589: mov esi,[esp+20h] mov edi,[esp+1Ch] mov eax,[esi] add esi,00000004h mov [esp+14h],eax push eax mov eax,[L00D1AF40] add eax,edi push eax call SUB_L00401E90 sub edi,00000200h push 00000000h mov eax,edi shl eax,05h add eax,edi lea ecx,[eax+eax*8] lea edx,[00068800h+ecx*4] push edx push ebp call SUB_L004D60A4 push ebp push 00000001h lea eax,[esp+30h] push 00000004h push eax call SUB_L004D6274 mov ebx,edi lea edi,[edi+edi*4] add esp,00000024h mov dword ptr [esp+20h],00000020h shl ebx,05h shl edi,08h L004825ED: mov eax,[L00C88540] mov ecx,[esi] mov edx,[edi+eax] xor edx,ecx test edx,01800000h jz L00482609 mov dword ptr [esp+10h],00000001h L00482609: cmp [edi+eax],ecx jnz L00482619 mov cx,[edi+eax+0Eh] cmp cx,[esi+0Ch] jz L00482627 L00482619: push ebx call SUB_L00409190 mov eax,[L00C88540] add esp,00000004h L00482627: mov edx,[esi] push ebp push 00000001h push 00000004h push esi mov [edi+eax],edx call SUB_L004D6274 mov ecx,[L00C88540] mov al,[esi+04h] add esi,00000004h push ebp push 00000001h push 00000001h push esi mov [edi+ecx+04h],al call SUB_L004D6274 mov eax,[L00C88540] mov dl,[esi+01h] inc esi push ebp push 00000001h push 00000001h push esi mov [edi+eax+05h],dl call SUB_L004D6274 mov edx,[L00C88540] mov ecx,[esi+01h] inc esi push ebp push 00000001h push 00000004h push esi mov [edi+edx+08h],ecx call SUB_L004D6274 mov ecx,[L00C88540] mov ax,[esi+04h] add esp,00000040h add esi,00000004h mov [edi+ecx+0Ch],ax push ebp push 00000001h push 00000002h push esi call SUB_L004D6274 mov eax,[L00C88540] mov dx,[esi+02h] add esi,00000002h push ebp push 00000001h push 00000002h push esi mov [edi+eax+0Eh],dx call SUB_L004D6274 mov edx,[L00C88540] mov cx,[esi+02h] add esi,00000002h push ebp push 00000001h push 00000002h push esi mov [edi+edx+10h],cx call SUB_L004D6274 mov ecx,[L00C88540] mov al,[esi+02h] add esi,00000002h push ebp push 00000001h push 00000001h push esi mov [edi+ecx+12h],al call SUB_L004D6274 mov edx,[L00C88540] add esp,00000040h inc esi push 00000014h lea eax,[edi+edx+13h] push esi push eax call SUB_L004D52C0 push ebp push 00000001h mov ecx,[L00C88540] push 00000014h lea edx,[edi+ecx+13h] push edx call SUB_L004D6274 mov eax,[esp+3Ch] add esp,0000001Ch add esi,00000014h add edi,00000028h inc ebx dec eax mov [esp+20h],eax jnz L004825ED push ebp call SUB_L00440570 mov eax,[esp+14h] xor edi,edi add esp,00000004h cmp eax,edi jz L00482888 mov eax,[L00C884F0] cmp eax,edi jz L004827B1 L0048275C: mov cl,[eax+71h] test cl,cl jz L004827AD cmp eax,eax jnz L00482770 mov ecx,[eax+4Ch] mov [L00C884F0],ecx L00482770: cmp [L00C884F4],eax jnz L00482781 mov edx,[eax+50h] mov [L00C884F4],edx L00482781: mov ecx,[eax+4Ch] cmp ecx,edi jz L0048278E mov edx,[eax+50h] mov [ecx+50h],edx L0048278E: mov ecx,[eax+50h] cmp ecx,edi jz L0048279B mov edx,[eax+4Ch] mov [ecx+4Ch],edx L0048279B: push eax mov byte ptr [eax+71h],00h call SUB_L0040B3C0 mov eax,[L00C884F0] add esp,00000004h L004827AD: cmp eax,edi jnz L0048275C L004827B1: mov eax,[L00C88508] cmp eax,edi jz L004827C9 L004827BA: mov ecx,[eax+54h] mov [eax+58h],edi mov [eax+54h],edi cmp ecx,edi mov eax,ecx jnz L004827BA L004827C9: mov esi,[L00C884E8] mov [L00C88508],edi cmp esi,edi jz L00482888 L004827DD: mov ecx,[L00C88540] xor eax,eax mov ax,[esi+3Ch] lea eax,[eax+eax*4] test dword ptr [ecx+eax*8],01000000h jz L00482810 mov edx,[L00C88508] mov [esi+58h],edi mov eax,edx mov [esi+54h],edx cmp eax,edi jz L0048280A mov [eax+58h],esi L0048280A: mov [L00C88508],esi L00482810: mov edx,[esi] mov ecx,esi call [edx+40h] test eax,00800000h jnz L00482840 xor eax,eax mov ax,[esi+3Ch] cmp eax,00003E02h jc L00482832 cmp eax,00003E0Bh jbe L00482840 L00482832: cmp eax,00003914h jc L0048287D cmp eax,00003929h ja L0048287D L00482840: mov al,[esi+71h] test al,al jnz L0048287D mov byte ptr [esi+71h],01h mov eax,[L00C884F0] cmp eax,edi mov [esi+4Ch],eax jz L0048285C mov ecx,eax mov [ecx+50h],esi L0048285C: mov [esi+50h],edi mov eax,[L00C884F4] cmp eax,edi mov [L00C884F0],esi jnz L00482874 mov [L00C884F4],esi L00482874: push esi call SUB_L0040B3C0 add esp,00000004h L0048287D: mov esi,[esi+44h] cmp esi,edi jnz L004827DD L00482888: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L00482890: push ecx push ebx push ebp push esi push edi push L00504264 push SSZ0050C404_tiledata_mul call SUB_L0043FEF0 mov ebx,eax add esp,00000008h test ebx,ebx jnz L004828BF push SSZ0050C404_tiledata_mul push SSZ0050C3D0_CObjectManager__SetItemTileData_ call SUB_L004C7EC0 add esp,00000008h L004828BF: mov esi,[esp+1Ch] mov ebp,[esp+18h] mov eax,[esi] add esi,00000004h mov [esp+10h],eax push eax mov eax,[L00D1AF40] add eax,ebp push eax call SUB_L00401E90 lea ecx,[ebp+ebp*2+00h] push 00000000h lea edx,[ebp+ecx*4+00h] shl edx,04h add edx,ebp shl edx,02h push edx push ebx call SUB_L004D60A4 push ebx push 00000001h lea eax,[esp+2Ch] push 00000004h push eax call SUB_L004D6274 mov eax,ebp lea edi,[00000000h+ebp*8] shl eax,05h sub edi,ebp add esp,00000024h mov [esp+1Ch],eax mov ebp,00000020h shl edi,07h jmp L00482929 L00482925: mov eax,[esp+1Ch] L00482929: mov ecx,[L00C88544] mov dx,[edi+ecx+04h] cmp dx,[esi+04h] jz L00482943 push eax call SUB_L004090E0 add esp,00000004h L00482943: mov ecx,[L00C88544] mov eax,[esi] push ebx push 00000001h push 00000004h push esi mov [edi+ecx],eax call SUB_L004D6274 mov eax,[L00C88544] mov dx,[esi+04h] add esi,00000004h push ebx push 00000001h push 00000002h push esi mov [edi+eax+04h],dx call SUB_L004D6274 mov ecx,[L00C88544] add esi,00000002h push 00000014h push esi lea edx,[edi+ecx+06h] push edx call SUB_L004D52C0 mov eax,[L00C88544] push ebx push 00000001h push 00000014h lea ecx,[edi+eax+06h] push ecx call SUB_L004D6274 mov ecx,[esp+58h] add esp,0000003Ch add esi,00000014h add edi,0000001Ch inc ecx dec ebp mov [esp+1Ch],ecx jnz L00482925 push ebx call SUB_L00440570 add esp,00000004h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004829D0: push esi push L004FD2A8 push SSZ0050C404_tiledata_mul call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jnz L004829FD push SSZ0050C404_tiledata_mul push SSZ0050C3D0_CObjectManager__SetItemTileData_ call SUB_L004C7EC0 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ L004829FD: push ebx push edi xor ebx,ebx xor edi,edi L00482A03: test bl,1Fh jnz L00482A15 push 00000001h push 00000004h push esi call SUB_L00440490 add esp,0000000Ch L00482A15: mov eax,[L00C88544] push esi push 00000001h push 00000004h lea ecx,[edi+eax] push ecx call SUB_L004404F0 mov edx,[L00C88544] push esi push 00000001h push 00000002h lea eax,[edi+edx+04h] push eax call SUB_L004404F0 mov ecx,[L00C88544] push esi push 00000001h push 00000014h lea edx,[edi+ecx+06h] push edx call SUB_L004404F0 add esp,00000030h add edi,0000001Ch inc ebx cmp edi,00070000h jl L00482A03 xor ebx,ebx xor edi,edi L00482A65: test bl,1Fh jnz L00482A77 push 00000001h push 00000004h push esi call SUB_L00440490 add esp,0000000Ch L00482A77: mov eax,[L00C88540] push esi push 00000001h push 00000004h lea ecx,[edi+eax] push ecx call SUB_L004404F0 mov edx,[L00C88540] push esi push 00000001h push 00000001h lea eax,[edi+edx+04h] push eax call SUB_L004404F0 mov ecx,[L00C88540] push esi push 00000001h push 00000001h lea edx,[edi+ecx+05h] push edx call SUB_L004404F0 mov eax,[L00C88540] push esi push 00000001h push 00000004h lea ecx,[edi+eax+08h] push ecx call SUB_L004404F0 mov edx,[L00C88540] add esp,00000040h push esi push 00000001h lea eax,[edi+edx+0Ch] push 00000002h push eax call SUB_L004404F0 mov ecx,[L00C88540] push esi push 00000001h push 00000002h lea edx,[edi+ecx+0Eh] push edx call SUB_L004404F0 mov eax,[L00C88540] push esi push 00000001h push 00000002h lea ecx,[edi+eax+10h] push ecx call SUB_L004404F0 mov edx,[L00C88540] push esi push 00000001h push 00000001h lea eax,[edi+edx+12h] push eax call SUB_L004404F0 mov ecx,[L00C88540] add esp,00000040h push esi push 00000001h lea edx,[edi+ecx+13h] push 00000014h push edx call SUB_L004404F0 add esp,00000010h add edi,00000028h inc ebx cmp edi,000A0000h jl L00482A65 push esi call SUB_L00440570 add esp,00000004h pop edi pop ebx pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00482B60: push FFFFFFFFh push L004E45D4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi push edi mov eax,[L00C83B64] mov ecx,00001400h cmp eax,ecx mov dword ptr [esp+2Ch],00000001h mov dword ptr [esp+10h],FFFFFFFFh mov dword ptr [esp+18h],00000000h mov edx,00000012h jge L00482C07 cmp eax,edx jge L00482BBD mov esi,[esp+44h] cmp esi,000013EEh jle L00482BBD sub esi,ecx mov [esp+44h],esi L00482BBD: cmp eax,000013EEh jl L00482BD2 mov eax,[esp+44h] cmp eax,edx jg L00482BD2 add eax,ecx mov [esp+44h],eax L00482BD2: mov eax,[L00C83B60] mov ecx,00001000h cmp eax,edx jge L00482BF2 mov esi,[esp+48h] cmp esi,00000FEEh jle L00482BF2 sub esi,ecx mov [esp+48h],esi L00482BF2: cmp eax,00000FEEh jl L00482C07 mov eax,[esp+48h] cmp eax,edx jg L00482C07 add eax,ecx mov [esp+48h],eax L00482C07: mov eax,[esp+38h] cmp ax,4000h jc L00482C28 and eax,0000FFFFh sub eax,00004000h mov [esp+10h],eax mov eax,00000001h mov [esp+38h],eax L00482C28: mov esi,[L00C884DC] mov edi,[esp+34h] mov ebp,[esp+54h] mov ebx,[esp+50h] cmp edi,[esi+7Ch] jz L00482C5A mov esi,[L00C8850C] test esi,esi jz L00482C62 L00482C49: cmp [esi+7Ch],edi jz L00482C5A mov esi,[esi+00000084h] test esi,esi jnz L00482C49 jmp L00482C62 L00482C5A: test esi,esi jnz L00482F31 L00482C62: test edi,40000000h jz L00482E34 cmp ax,2006h jnz L00482D27 push 00000128h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+54h],esi xor edi,edi mov byte ptr [esp+2Ch],02h cmp esi,edi jz L00482D1B mov ecx,esi call SUB_L0047E690 mov eax,[esi+04h] push 000004A2h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi mov byte ptr [esp+3Ch],03h mov dword ptr [esi],L004EED0C mov [esi+000000ACh],edi mov [esi+000000B0h],edi mov [esi+000000B4h],edi mov [esi+000000BCh],edi call SUB_L00476020 add esp,00000010h test al,al jnz L00482CEC push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00482CEC: lea edi,[esi+000000C0h] mov ecx,0000001Ah xor eax,eax mov dword ptr [esi],L004EEE1C rep stosd mov ecx,[esp+34h] mov [esi+72h],al mov [esi+7Ch],ecx mov word ptr [esi+3Ch],2006h mov byte ptr [esp+2Ch],01h jmp L00482DCD L00482D1B: xor esi,esi mov byte ptr [esp+2Ch],01h jmp L00482DCD L00482D27: mov ecx,[L00C88540] and eax,0000FFFFh lea edx,[eax+eax*4] mov ecx,[ecx+edx*8] test ecx,00100000h jz L00482D75 push 000000B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+2Ch],04h jz L00482DB2 mov edx,[esp+3Ch] mov ecx,[esp+38h] push 00000001h push edx push ecx push edi mov ecx,eax call SUB_L00480A50 mov byte ptr [esp+2Ch],01h jmp L00482DCB L00482D75: test ecx,00200000h jz L00482DBB push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+2Ch],05h jz L00482DB2 mov edx,[esp+3Ch] mov ecx,[esp+38h] push 00000001h push edx push ecx push edi mov ecx,eax call SUB_L00480740 mov byte ptr [esp+2Ch],01h jmp L00482DCB L00482DB2: xor eax,eax mov byte ptr [esp+2Ch],01h jmp L00482DCB L00482DBB: movsx edx,[esp+3Ch] push edx push eax push edi call SUB_L0047DF20 add esp,0000000Ch L00482DCB: mov esi,eax L00482DCD: mov eax,ebp mov [esi+72h],bl and eax,0000FFFFh mov ecx,eax mov edx,eax and ecx,00008000h and edx,00004000h and eax,00003FFFh jz L00482E06 test eax,eax jl L00482E01 cmp eax,00000BB8h jge L00482E01 or eax,ecx or eax,edx mov ecx,eax jmp L00482E06 L00482E01: or ecx,edx or ecx,00000001h L00482E06: mov ax,[esp+40h] mov [esi+42h],cx mov ecx,[esp+58h] mov [esi+40h],ax and ecx,000000FFh push ecx push esi call SUB_L0047EB90 add esp,00000008h mov dword ptr [esp+18h],00000001h jmp L00482F75 L00482E34: push 000001E0h call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax test eax,eax mov byte ptr [esp+2Ch],06h jz L00482E66 mov edx,[esp+3Ch] mov ecx,[esp+38h] push edx push ecx push edi mov ecx,eax call SUB_L004810A0 mov esi,eax xor edi,edi jmp L00482E6A L00482E66: xor edi,edi xor esi,esi L00482E6A: mov eax,ebx mov dl,bl and eax,000000FFh and dl,7Fh shr eax,07h mov [esi+00000148h],eax mov eax,ebp and eax,0000FFFFh mov [esi+72h],dl mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh mov byte ptr [esp+2Ch],01h mov [esi+0000018Ch],edi mov [esi+00000190h],edi jnz L00482EB5 mov ecx,edx jmp L00482ECD L00482EB5: cmp eax,edi jl L00482EC8 cmp eax,00000BB8h jge L00482EC8 or eax,ecx or eax,edx mov ecx,eax jmp L00482ECD L00482EC8: or ecx,edx or ecx,00000001h L00482ECD: mov dx,[esp+48h] mov al,[esp+4Ch] mov [esi+42h],cx mov cx,[esp+44h] mov [esp+1Ch],cx mov [esp+1Eh],dx movsx cx,al movsx edx,al sub esp,00000008h mov [esp+28h],cx mov [esi+00000194h],edx mov ecx,[esp+24h] mov dx,[esp+28h] mov eax,esp mov [eax],ecx mov ecx,esi mov [eax+04h],dx call SUB_L0047EFE0 mov eax,[esp+58h] and eax,000000FFh push eax push esi call SUB_L0047EB90 add esp,00000008h mov [esi+0000014Ch],edi jmp L00482F75 L00482F31: mov ecx,[esi+04h] push 00000A66h push SSZ0050C208_C__publish004_client_src_shared_ push ecx push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00482F59 push SSZ0050C430_CObjectManager__HandleMove__eith call SUB_L004C7EC0 add esp,00000004h L00482F59: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00482F75 mov eax,[esi+00000098h] test eax,eax jnz L00482F75 mov eax,[esi] mov ecx,esi call [eax+50h] L00482F75: xor edi,edi cmp esi,edi jz L00482F80 mov eax,[esi+04h] jmp L00482F85 L00482F80: mov eax,FEEDBEEFh L00482F85: push 00000A76h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jnz L00482FAA push SSZ0050C430_CObjectManager__HandleMove__eith call SUB_L004C7EC0 add esp,00000004h L00482FAA: mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L00483081 mov ax,[esp+44h] mov cx,[esp+48h] movsx dx,[esp+4Ch] mov [esp+1Ch],ax mov al,[esp+3Ch] mov [esp+1Eh],cx mov cx,[esp+40h] mov [esp+20h],dx mov [esi+3Eh],al mov eax,[esp+58h] mov [esi+72h],bl and eax,000000FFh mov [esi+40h],cx push eax push esi call SUB_L0047EB90 and ebp,0000FFFFh add esp,00000008h mov eax,ebp mov ecx,eax mov edx,eax and ecx,00008000h and edx,00004000h and eax,00003FFFh jz L00483033 cmp eax,edi jl L0048302E cmp eax,00000BB8h jge L0048302E or ecx,eax or ecx,edx jmp L00483033 L0048302E: or ecx,edx or ecx,00000001h L00483033: mov eax,[esp+10h] mov [esi+42h],cx cmp eax,FFFFFFFFh jnz L0048306D mov eax,[esp+38h] sub esp,00000008h and eax,00003FFFh mov edx,esp mov [esi+3Ch],ax mov eax,[esp+24h] mov cx,[esp+28h] mov [edx],eax mov [edx+04h],cx mov ecx,esi call SUB_L0047EFE0 jmp L00483417 L0048306D: lea edx,[esp+1Ch] push eax push edx push esi call SUB_L0047DAD0 add esp,0000000Ch jmp L00483417 L00483081: mov eax,[L00C88368] mov [esi+00000150h],eax mov eax,[esi+00000188h] cmp eax,00000004h jnz L0048315D mov eax,[esi+20h] xor edi,edi test eax,eax jz L004830B0 mov edx,[esi] mov ecx,esi call [edx+14h] mov edi,00000001h L004830B0: mov ax,[esp+44h] mov cx,[esp+48h] movsx dx,[esp+4Ch] mov [esi+24h],ax mov eax,[esp+38h] and eax,00003FFFh and ebp,0000FFFFh mov [esi+3Ch],ax mov eax,ebp mov [esi+26h],cx mov [esi+28h],dx mov edx,eax mov ecx,eax and bl,7Fh and edx,00008000h and ecx,00004000h and eax,00003FFFh mov dword ptr [esi+00000140h],00000001h mov [esi+72h],bl jnz L0048310C mov ecx,edx jmp L00483124 L0048310C: test eax,eax jl L0048311F cmp eax,00000BB8h jge L0048311F or eax,ecx or eax,edx mov ecx,eax jmp L00483124 L0048311F: or ecx,edx or ecx,00000001h L00483124: mov eax,[esp+58h] xor ebx,ebx and eax,000000FFh mov [esi+42h],cx push eax push esi mov [esi+00000188h],ebx call SUB_L0047EB90 add esp,00000008h cmp edi,ebx mov [esi+0000014Ch],ebx jz L004832DE mov eax,[esi] mov ecx,esi call [eax+10h] jmp L004832DE L0048315D: cmp [esi+0000014Ch],edi jz L00483186 cmp [esi+20h],edi jz L00483180 mov edx,[esi] mov ecx,esi call [edx+14h] mov eax,[esi] mov ecx,esi mov [esi+0000014Ch],edi call [eax+10h] jmp L00483186 L00483180: mov [esi+0000014Ch],edi L00483186: mov eax,[esi+00000188h] cmp eax,edi jnz L00483206 movsx ecx,[esi+24h] mov edi,[esp+44h] cmp ecx,edi jnz L00483260 movsx edx,[esi+26h] cmp edx,[esp+48h] jnz L00483260 movsx cx,[esp+4Ch] cmp [esi+28h],cx jnz L00483260 mov dl,[esi+72h] xor dl,bl test dl,7Fh jnz L00483260 mov edx,[esi+00000148h] xor ecx,ecx test edx,edx mov edx,ebx setnz cl and edx,000000FFh shr edx,07h cmp ecx,edx jnz L00483260 mov cx,[esi+3Ch] cmp cx,[esp+38h] jnz L00483260 mov dl,[esi+0000009Ch] mov cl,[esp+58h] cmp dl,cl jnz L00483260 jmp L004832DE L00483206: lea ecx,[eax+eax*4] mov edi,[esp+44h] movsx edx,[esi+ecx*2+0000014Eh] lea ebp,[esi+ecx*2] cmp edx,edi jnz L00483260 movsx ecx,[ebp+00000150h] cmp ecx,[esp+48h] jnz L00483260 movsx dx,[esp+4Ch] cmp [ebp+00000152h],dx jnz L00483260 cmp [ebp+00000156h],bl jnz L00483260 lea ecx,[eax+eax*4+000000AAh] mov dx,[esi+ecx*2] cmp dx,[esp+38h] jnz L00483260 mov cl,[ebp+00000157h] mov dl,[esp+58h] cmp cl,dl jz L004832DE L00483260: lea edx,[eax+eax*4] mov cx,[esp+48h] mov [esi+edx*2+00000158h],di mov eax,[esi+00000188h] movsx dx,[esp+4Ch] lea eax,[eax+eax*4] mov [esi+eax*2+0000015Ah],cx mov eax,[esi+00000188h] lea eax,[eax+eax*4] mov [esi+eax*2+0000015Ch],dx mov eax,[esi+00000188h] lea ecx,[eax+eax*4] mov [esi+ecx*2+00000160h],bl mov eax,[esi+00000188h] add eax,00000023h lea edx,[eax+eax*4] mov ax,[esp+38h] mov [esi+edx*2],ax mov eax,[esi+00000188h] mov dl,[esp+58h] lea ecx,[eax+eax*4] mov [esi+ecx*2+00000161h],dl mov eax,[esi+00000188h] inc eax mov [esi+00000188h],eax L004832DE: mov eax,[L00C884DC] mov ecx,[eax+00000208h] test ecx,ecx jz L00483417 mov ecx,[esi+7Ch] mov edx,[eax+0000020Ch] cmp ecx,edx jnz L00483417 push 00000003h mov ecx,esi call SUB_L0047FA50 test eax,eax jnz L00483417 mov eax,[esi+00000188h] test eax,eax jle L00483338 lea edx,[eax+eax*4] lea eax,[esi+edx*2+0000014Eh] mov ecx,[esi+edx*2+0000014Eh] mov [esp+10h],ecx mov bx,[eax+04h] jmp L00483346 L00483338: lea edx,[esi+24h] mov eax,[esi+24h] mov [esp+10h],eax mov bx,[edx+04h] L00483346: mov eax,[L00C8C4F8] mov [esp+14h],bx test eax,eax jz L00483359 call SUB_L004A0040 L00483359: movsx edx,[esp+12h] movsx eax,[esp+10h] movsx ecx,bx push 00000001h push 00000064h push ecx push edx push eax mov eax,[L00C884DC] movsx ecx,[eax+28h] movsx edx,[eax+26h] movsx eax,[eax+24h] push ecx push edx push eax call SUB_L004A0080 add esp,00000020h mov [L00C8C500],eax test eax,eax jnz L004833BF push SSZ0050C414_Can_t_get_there__follow_ push 00000003h push eax call SUB_L004BDF40 add esp,0000000Ch mov dword ptr [L00C8C4F8],00000000h mov ecx,[esp+24h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ L004833BF: mov dword ptr [L00C8C4F8],00000001h mov ebx,eax call SUB_L00474610 mov eax,[ebx+24h] test eax,eax jz L004833E0 L004833D7: mov ebx,eax mov eax,[ebx+24h] test eax,eax jnz L004833D7 L004833E0: mov [L00C8C500],ebx mov ecx,[ebx+10h] mov [L00C8C4F4],ecx mov edx,[ebx+14h] mov [L00C8C4F0],edx mov eax,[ebx+18h] mov edx,[L00C884DC] xor ecx,ecx mov [L00C8C4EC],eax mov cl,[edx+72h] mov [L00C8C4FC],ebx mov [L00C8C4E8],ecx L00483417: cmp dword ptr [esp+18h],00000001h jnz L00483427 push esi call SUB_L004848F0 add esp,00000004h L00483427: push 00000012h mov ecx,esi call SUB_L0047FA50 test eax,eax jnz L00483446 mov eax,[esi] mov ecx,esi call [eax+68h] test eax,eax jnz L00483446 mov edx,[esi] mov ecx,esi call [edx+04h] L00483446: mov ecx,[esp+24h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00483460: push esi mov esi,[esp+08h] mov eax,[esi+0000012Ch] test eax,eax jnz L00483591 cmp dword ptr [L00C8853C],00000014h jg L00483591 mov eax,[L00C88368] mov edx,[esi+00000150h] sub eax,edx cmp eax,00003A98h jbe L00483591 call SUB_L004D6F81 mov ecx,[L00C8853C] cdq lea ecx,[00000078h+ecx*4] idiv ecx cmp edx,00000002h jge L00483591 xor eax,eax mov ax,[esi+3Ch] cmp eax,00000015h jnz L004834C7 test edx,edx push 00000001h jmp L004834EB L004834C7: cmp eax,00000005h jnz L004834E0 push 00000000h push 00000000h push 00000001h push 00000000h push eax push 00000011h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L004834E0: cmp eax,00000096h jge L0048350B test edx,edx push 00000000h L004834EB: push 00000000h push 00000001h push 00000000h push 00000005h jz L00483500 push 00000011h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L00483500: push 00000012h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L0048350B: cmp eax,000000C8h jge L00483538 push 00000000h push 00000000h test edx,edx push 00000001h push 00000000h jz L0048352B push 0000000Fh push 00000003h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L0048352B: push 00000014h push 00000004h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L00483538: cmp eax,00000190h jge L00483565 push 00000000h push 00000000h test edx,edx push 00000001h push 00000000h jz L00483558 push 00000005h push 00000009h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L00483558: push 00000003h push 0000000Ah mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L00483565: test edx,edx jz L0048357E push 00000001h push 00000000h push 00000001h push 00000000h push 00000005h push 00000005h mov ecx,esi call SUB_L004817F0 pop esi retn ;------------------------------------------------------------------------------ L0048357E: push 00000000h push 00000000h push 00000001h push 00000000h push 00000005h push 00000006h mov ecx,esi call SUB_L004817F0 L00483591: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004835A0: mov eax,[L00C884D4] push esi test eax,eax jnz L0048366F mov eax,[L00C8836C] mov edx,[L00C85388] sub eax,edx cmp eax,00000003h jbe L0048366F mov esi,[L00C884DC] mov eax,[L00C884D8] cmp eax,[esi+7Ch] jz L004835F3 mov esi,[L00C8850C] test esi,esi jz L0048366F L004835E2: cmp [esi+7Ch],eax jz L004835F3 mov esi,[esi+00000084h] test esi,esi jnz L004835E2 pop esi retn ;------------------------------------------------------------------------------ L004835F3: test esi,esi jz L0048366F mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0048366F movsx eax,[esi+24h] push edi mov edi,[L00C884DC] movsx ecx,[edi+24h] movsx edx,[edi+26h] sub eax,ecx movsx ecx,[esi+26h] sub ecx,edx test eax,eax jge L00483626 or eax,FFFFFFFFh jmp L0048362D L00483626: jle L0048362D mov eax,00000001h L0048362D: test ecx,ecx jge L00483636 or ecx,FFFFFFFFh jmp L0048363D L00483636: jle L0048363D mov ecx,00000001h L0048363D: xor edx,edx L0048363F: cmp [L005072B8+edx*4],eax jnz L00483651 cmp [L005072E0+edx*4],ecx jz L00483657 L00483651: inc edx cmp edx,00000007h jl L0048363F L00483657: xor eax,eax mov al,[edi+72h] pop edi cmp edx,eax jz L0048366F push 00000000h inc edx push FFFFFFFFh push edx call SUB_L00479A90 add esp,0000000Ch L0048366F: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00483680: sub esp,0000000Ch push ebx push ebp push esi mov esi,[L00C88500] xor ebp,ebp push edi cmp esi,ebp jz L00483700 L00483693: mov eax,[esi+04h] push 00000B5Fh push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L004836F3 push 00000012h mov ecx,esi call SUB_L0047FA50 test eax,eax mov al,[esi+70h] jz L004836DF test al,al jz L004836EA lea eax,[esi+24h] 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_L0047EFE0 jmp L004836EA L004836DF: test al,al jnz L004836EA mov edx,[esi] mov ecx,esi call [edx+50h] L004836EA: mov esi,[esi+64h] cmp esi,ebp jnz L00483693 jmp L00483700 L004836F3: push SSZ0050C598_CObjectManager__UpdateMovement__ call SUB_L004C7EC0 add esp,00000004h L00483700: mov esi,[L00C8850C] cmp esi,ebp jz L00483D67 L0048370E: mov ebx,[esi+00000084h] cmp esi,ebp mov edi,00000001h mov [esp+14h],ebx jz L00483726 mov eax,[esi+04h] jmp L0048372B L00483726: mov eax,FEEDBEEFh L0048372B: push 00000B77h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi call SUB_L00476020 add esp,00000010h test al,al jz L00483D46 cmp [esi+00000080h],ebp jnz L00483794 push 00000012h mov ecx,esi call SUB_L0047FA50 test eax,eax jnz L00483794 mov eax,[esi+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 test al,al jnz L00483794 cmp ebx,ebp jz L00483788 L00483772: cmp [ebx+00000080h],ebp jz L00483784 mov ebx,[ebx+00000084h] cmp ebx,ebp jnz L00483772 L00483784: mov [esp+14h],ebx L00483788: mov edx,[esi] mov ecx,esi call [edx+04h] jmp L00483D2D L00483794: mov eax,[esi] mov ecx,esi call [eax+28h] test eax,eax jz L00483864 mov al,[esi+70h] test al,al jnz L00483D2D mov ecx,[L00C884DC] cmp [ecx+0000014Ch],ebp jz L00483D2D mov ax,[ecx+3Ch] and eax,00003FFFh cmp eax,0000000Dh jz L00483804 cmp eax,0000000Fh jz L00483804 cmp eax,00000010h jz L00483804 cmp eax,0000023Eh jz L00483804 cmp eax,00000190h jl L00483832 mov eax,[ecx+000000D0h] cmp eax,ebp jz L00483832 mov edx,[eax] mov ecx,eax call [edx+40h] mov ecx,[L00C884DC] test eax,00800000h jz L00483832 L00483804: cmp [ecx+20h],ebp jz L0048382C mov eax,[ecx] call [eax+14h] mov eax,[L00C8535C] mov ecx,[L00C884DC] inc eax mov [L00C8535C],eax mov edx,[ecx] call [edx+10h] mov ecx,[L00C884DC] jmp L00483832 L0048382C: inc [L00C8535C] L00483832: mov eax,[ecx+00000154h] cmp eax,ebp jnz L0048385A cmp [ecx+000001A8h],ebp jnz L00483852 push ecx call SUB_L00483460 add esp,00000004h jmp L00483D2D L00483852: cmp eax,ebp jz L00483D2D L0048385A: call SUB_L004835A0 jmp L00483D2D L00483864: mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00483D2D mov eax,[esi+00000140h] mov [esp+10h],ebp cmp eax,ebp jnz L0048395B cmp [esi+00000188h],ebp jg L0048395B cmp [esi+0000014Ch],ebp jz L00483913 cmp [esi+00000154h],ebp jnz L004838B2 cmp [esi+000001A8h],ebp jnz L004838B2 push esi call SUB_L00483460 add esp,00000004h L004838B2: mov ax,[esi+3Ch] and eax,00003FFFh cmp eax,0000000Dh jz L004838FA cmp eax,0000000Fh jz L004838FA cmp eax,00000010h jz L004838FA cmp eax,0000023Eh jz L004838FA cmp eax,00000190h jl L004839A5 mov ecx,[esi+000000D0h] cmp ecx,ebp jz L004839A5 mov edx,[ecx] call [edx+40h] test eax,00800000h jz L004839A5 L004838FA: cmp [esi+20h],ebp jz L0048399F mov eax,[esi] mov ecx,esi call [eax+14h] mov [esp+10h],edi jmp L0048399F L00483913: mov ecx,[L00C88368] mov edx,[esi+00000150h] sub ecx,edx cmp ecx,000007D0h ja L00483939 xor eax,eax mov ax,[esi+3Ch] cmp eax,00000050h jz L00483939 cmp eax,00000051h jnz L004839A5 L00483939: cmp [esi+20h],ebp jz L00483949 mov edx,[esi] mov ecx,esi call [edx+14h] mov [esp+10h],edi L00483949: mov [esi+0000014Ch],edi mov dword ptr [esi+00000144h],00000003h jmp L004839A5 L0048395B: mov eax,[L00C88368] mov [esi+00000150h],eax mov eax,[esi+20h] cmp eax,ebp jz L0048397F mov ecx,esi call SUB_L00404600 mov edx,[esi] mov ecx,esi call [edx+14h] mov [esp+10h],edi L0048397F: cmp [esi+000001A8h],ebp jz L0048399F push ebp push esi mov [esi+000001A8h],ebp call SUB_L004093C0 add esp,00000008h cmp eax,ebp jnz L00483D2D L0048399F: inc [esi+00000144h] L004839A5: mov eax,[esi+00000140h] xor ebx,ebx cmp eax,ebp mov [esp+18h],ebx jz L004839C2 dec eax mov ebx,edi mov [esi+00000140h],eax mov [esp+18h],ebx L004839C2: cmp [esi+00000140h],ebp jnz L00483B59 cmp [esi+00000188h],ebp jle L00483B59 movsx edx,[esi+00000158h] movsx eax,[esi+24h] lea ecx,[esi+24h] sub eax,edx cdq mov edi,eax movsx eax,[esi+26h] xor edi,edx sub edi,edx movsx edx,[esi+0000015Ah] sub eax,edx cdq mov ebp,eax mov al,[esi+00000160h] xor ebp,edx movsx ebx,[esi+0000015Ch] sub ebp,edx mov dl,al and dl,7Fh mov [esi+72h],dl movsx edx,[esi+28h] sub edx,ebx xor ebx,ebx cmp edx,00000016h setge bl test ebx,ebx mov [esi+0000019Ch],ebx jz L00483A38 mov [esi+000001A0h],edx L00483A38: and eax,000000FFh lea edx,[esi+00000180h] shr eax,07h mov [esi+00000148h],eax mov ax,[esi+0000015Eh] and eax,00003FFFh mov [esi+3Ch],ax mov eax,ecx mov ebx,[eax] mov [edx],ebx lea ebx,[esi+00000158h] mov ax,[eax+04h] mov [edx+04h],ax mov edx,ebx mov eax,[edx] mov [ecx],eax xor eax,eax mov al,[esi+00000161h] mov dx,[edx+04h] push eax push esi mov [ecx+04h],dx call SUB_L0047EB90 add esp,00000008h cmp edi,00000002h jge L00483B10 cmp ebp,00000002h jge L00483B10 add ebp,edi test ebp,ebp jle L00483B10 cmp word ptr [esi+3Ch],03E8h jc L00483AAE mov word ptr [esi+3Ch],0032h L00483AAE: mov eax,[esi+0000019Ch] test eax,eax jz L00483AE1 xor ecx,ecx mov eax,2E8BA2E9h mov cx,[esi+3Ch] movsx edi,[L00B17F10+ecx*2] mov ecx,[esi+000001A0h] imul ecx sar edx,1 mov eax,edx shr eax,1Fh add edx,eax lea eax,[edi+edx*2] jmp L00483B09 L00483AE1: mov eax,[esi+00000148h] test eax,eax jz L00483AFB xor ecx,ecx mov cx,[esi+3Ch] movsx eax,[L00B17F11+ecx*2] jmp L00483B09 L00483AFB: xor edx,edx mov dx,[esi+3Ch] movsx eax,[L00B17F10+edx*2] L00483B09: dec eax mov [esi+00000140h],eax L00483B10: mov eax,[esi+00000188h] mov ecx,00000001h cmp eax,ecx jle L00483B46 mov eax,ebx L00483B21: 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+00000188h] cmp ecx,edx jl L00483B21 L00483B46: mov eax,[esi+00000188h] mov ebx,[esp+18h] dec eax xor ebp,ebp mov [esi+00000188h],eax L00483B59: mov eax,[esi+00000140h] mov [esi+0000018Ch],ebp cmp eax,ebp mov [esi+00000190h],ebp jz L00483CDD cmp word ptr [esi+3Ch],03E8h jc L00483B81 mov word ptr [esi+3Ch],0032h L00483B81: cmp [esi+0000019Ch],ebp jz L00483BB2 mov ecx,[esi+000001A0h] xor eax,eax mov ax,[esi+3Ch] movsx edi,[L00B17F10+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 L00483BD8 L00483BB2: cmp [esi+00000148h],ebp jz L00483BCA xor edx,edx mov dx,[esi+3Ch] movsx edi,[L00B17F11+edx*2] jmp L00483BD8 L00483BCA: xor eax,eax mov ax,[esi+3Ch] movsx edi,[L00B17F10+eax*2] L00483BD8: cmp edi,ebp jnz L00483C07 cmp [L00C88554],ebp jnz L00483BF7 push ebp push SSZ0050C588_UpdateMovement_ push SSZ0050C574_MovesPerTile____0 call SUB_L004D1020 add esp,0000000Ch L00483BF7: mov eax,[L00C88554] mov edi,00000001h inc eax mov [L00C88554],eax L00483C07: mov ecx,[esi+00000140h] xor eax,eax mov al,[esi+72h] cmp eax,00000007h ja L00483CDD jmp [CASE_PROCTABLE_00483D74+eax*4] CASE_00483D74_PROC0000: lea edx,[ecx+ecx*4] lea eax,[ecx+edx*2] shl eax,1 cdq idiv edi mov [esi+0000018Ch],eax lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 jmp L00483CD4 CASE_00483D74_PROC0001: lea eax,[ecx+ecx*4] lea eax,[ecx+eax*2] jmp L00483C96 CASE_00483D74_PROC0002: lea edx,[ecx+ecx*4] lea eax,[ecx+edx*2] shl eax,1 cdq idiv edi mov [esi+0000018Ch],eax jmp L00483CD7 CASE_00483D74_PROC0003: lea eax,[ecx+ecx*4] mov [esi+0000018Ch],ebp lea eax,[ecx+eax*2] jmp L00483CD1 CASE_00483D74_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+0000018Ch],eax lea eax,[ecx+edx*2] shl eax,1 jmp L00483CD4 CASE_00483D74_PROC0005: lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax L00483C96: shl eax,02h cdq idiv edi mov [esi+00000190h],ebp mov [esi+0000018Ch],eax jmp L00483CDD CASE_00483D74_PROC0006: lea eax,[ecx+ecx*2] shl eax,02h sub eax,ecx neg eax shl eax,1 cdq idiv edi mov [esi+0000018Ch],eax jmp L00483CD7 CASE_00483D74_PROC0007: lea eax,[ecx+ecx*2] mov [esi+0000018Ch],ebp shl eax,02h sub eax,ecx neg eax L00483CD1: shl eax,02h L00483CD4: cdq idiv edi L00483CD7: mov [esi+00000190h],eax L00483CDD: cmp [esp+10h],ebp jz L00483CFF mov eax,[esi] mov ecx,esi call [eax+00000094h] mov edx,[esi] mov ecx,esi call [edx+10h] cmp ebx,ebp jz L00483CFF mov ecx,esi call SUB_L00404600 L00483CFF: mov edi,[esi+6Ch] cmp edi,ebp jz L00483D2D cmp ebx,ebp jz L00483D2D cmp edi,ebp jz L00483D1F L00483D0E: mov ecx,edi call SUB_L00412060 mov edi,[edi+000000B8h] cmp edi,ebp jnz L00483D0E L00483D1F: mov esi,[esi+6Ch] cmp esi,ebp jz L00483D2D mov ecx,esi call SUB_L00412180 L00483D2D: mov esi,[esp+14h] cmp esi,ebp jnz L0048370E call SUB_L00410420 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L00483D46: push SSZ0050C4F8_CObjectManager__UpdateMovement__ call SUB_L004C7EC0 mov eax,[esi] add esp,00000004h mov ecx,esi call [eax+04h] push SSZ0050C4B0_CObjectManager__UpdateMovement__ call SUB_L004C7EC0 add esp,00000004h L00483D67: call SUB_L00410420 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_00483D74: dd CASE_00483D74_PROC0000 dd CASE_00483D74_PROC0001 dd CASE_00483D74_PROC0002 dd CASE_00483D74_PROC0003 dd CASE_00483D74_PROC0004 dd CASE_00483D74_PROC0005 dd CASE_00483D74_PROC0006 dd CASE_00483D74_PROC0007 Align 16 SUB_L00483DA0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E45E8 push eax mov fs:[00000000h],esp push ebx push ebp push esi push edi mov esi,[L00C884EC] mov dword ptr [esp+18h],00000000h test esi,esi jz L00483E05 mov di,[esp+24h] mov ebx,[esp+22h] mov ebp,[esp+20h] L00483DD8: cmp bp,[esi+24h] jnz L00483DFE cmp bx,[esi+26h] jnz L00483DFE cmp di,[esi+28h] jl L00483DFE mov eax,[esi] mov ecx,esi call [eax+70h] movsx ecx,[esi+28h] movsx edx,di add eax,ecx cmp edx,eax jl L00483E1A L00483DFE: mov esi,[esi+48h] test esi,esi jnz L00483DD8 L00483E05: xor eax,eax mov ecx,[esp+10h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L00483E1A: mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00483E30: mov ecx,[esp+04h] mov eax,ecx and eax,0000FFFFh cmp eax,00000EF3h jl L00483E4F cmp eax,00000EF9h jg L00483E4F mov eax,00000001h retn ;------------------------------------------------------------------------------ L00483E4F: cmp cx,1F2Dh jc L00483E63 cmp cx,1F6Ch ja L00483E63 mov eax,00000001h retn ;------------------------------------------------------------------------------ L00483E63: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L00483E70: sub esp,00000010h push esi mov esi,[esp+18h] mov ecx,esi mov eax,[esi] call [eax+2Ch] test eax,eax jz L00483FFE mov ecx,[esi+7Ch] xor edx,edx mov [L00C837D0],ecx mov dx,[esi+3Ch] mov [L00C837CC],edx mov eax,[esi] mov ecx,esi call [eax+60h] test eax,eax jz L00483EF3 mov ecx,[L00B294DC] push ecx push 00000000h push 00000000h push esi call SUB_L00455F70 add esp,00000010h test eax,eax jnz L00483EE5 mov edx,[esi+7Ch] lea eax,[esp+04h] push edx push eax call SUB_L00499850 add esp,00000008h lea ecx,[esp+04h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483EE5: push 00000000h mov ecx,eax call SUB_L004584E0 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483EF3: xor eax,eax mov ax,[esi+3Ch] cmp eax,00000EF6h jg L00483F88 jz L00483F70 cmp eax,00000EF4h jg L00483F51 jz L00483F39 cmp eax,00000383h jz L00483FEB cmp eax,00000EF3h jnz L00483F95 mov edx,[esi+7Ch] push edx push 00000001h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483F39: mov eax,[esi+7Ch] push eax push 00000001h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483F51: cmp eax,00000EF5h jnz L00483F95 mov ecx,[esi+7Ch] push ecx push 00000000h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483F70: mov edx,[esi+7Ch] push edx push 00000000h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483F88: sub eax,00000EF7h jz L00483FEB dec eax jz L00483FD3 dec eax jz L00483FBB L00483F95: mov eax,[esi+7Ch] lea ecx,[esp+0Ch] push eax push ecx call SUB_L00499850 mov ecx,[L00C88300] add esp,00000008h lea edx,[esp+0Ch] push edx call SUB_L004BC750 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483FBB: mov eax,[esi+7Ch] push eax push 00000000h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483FD3: mov ecx,[esi+7Ch] push ecx push 00000002h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ L00483FEB: mov edx,[esi+7Ch] push edx push 00000002h push SSZ0050C61C_scroll call SUB_L0047CBC0 add esp,0000000Ch L00483FFE: pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00484010: sub esp,00000400h push ebx mov ebx,[esp+00000408h] push ebp xor ebp,ebp push esi push edi test ebx,ebx jz L00484037 mov eax,[ebx] mov ecx,ebx call [eax+2Ch] test eax,eax jz L00484037 call SUB_L004BCED0 L00484037: mov eax,[ebx+6Ch] test eax,eax jnz L0048416A mov edx,[ebx] mov ecx,ebx call [edx+2Ch] test eax,eax jz L0048406A mov eax,[ebx+00000080h] test eax,eax jz L0048406A mov ebp,[eax+000000B0h] test ebp,ebp jz L0048406A mov eax,[ebp+4Ch] test eax,eax jz L0048406A mov ebp,eax L0048406A: xor eax,eax mov byte ptr [L00CD9CD2],03h mov ax,[ebx+40h] lea ecx,[esp+10h] push eax push L0050C624 push ecx call SUB_L004D512F mov edx,[ebx] add esp,0000000Ch mov ecx,ebx call [edx+2Ch] test eax,eax jnz L0048416A mov eax,[ebx] mov ecx,ebx call [eax+40h] test ah,08h jz L004840B0 mov eax,00000001h cmp [ebx+40h],ax ja L004840B2 L004840B0: xor eax,eax L004840B2: movsx ecx,[ebx+3Eh] xor edx,edx push eax mov dx,[ebx+3Ch] add ecx,edx push ecx call SUB_L0047FBA0 mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h repne scasb not ecx sub edi,ecx lea edx,[esp+00000210h] 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 L00484151 cmp word ptr [ebx+40h],0001h jbe L00484151 lea edi,[esp+00000210h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+10h] 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 ecx,edx push ebp and ecx,00000003h push 00000003h rep movsb lea eax,[esp+1Ch] push 000003E3h push eax mov ecx,ebx call SUB_L004800A0 pop edi pop esi pop ebp pop ebx add esp,00000400h retn ;------------------------------------------------------------------------------ L00484151: push 00000000h push ebp push 00000003h lea ecx,[esp+0000021Ch] push 000003E3h push ecx mov ecx,ebx call SUB_L004800A0 L0048416A: pop edi pop esi pop ebp pop ebx add esp,00000400h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00484180: mov eax,fs:[00000000h] push FFFFFFFFh push L004E460B push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+28h] push edi mov ecx,esi call SUB_L0047F920 test eax,eax jnz L004841B8 call SUB_L004BCED0 test eax,eax jz L004843D6 L004841B8: mov di,[esp+30h] mov ebx,[L00C88540] xor ebp,ebp cmp di,bp jnz L0048425F cmp word ptr [esi+40h],0001h jbe L0048425F movsx eax,[esi+3Eh] xor ecx,ecx mov cx,[esi+3Ch] add eax,ecx lea edx,[eax+eax*4] mov eax,[ebx+edx*8] test ah,08h jz L0048425F push ebp push ebp push 00000031h push esi call SUB_L00458810 mov ecx,eax add esp,00000010h cmp ecx,ebp jnz L00484223 push SSZ0050C628_CObjectManager__GetObject__Preve call SUB_L004C7EF0 add esp,00000004h pop edi pop esi pop ebp pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ L00484223: mov eax,[ecx+20h] push ecx cdq sub eax,edx mov dword ptr [ecx+0000009Ch],00000001h sar eax,1 mov [ecx+70h],eax mov eax,[ecx+24h] cdq sub eax,edx sar eax,1 mov [ecx+74h],eax call SUB_L00476670 add esp,00000004h pop edi pop esi pop ebp pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ L0048425F: lea eax,[esi+24h] mov ecx,[esi+24h] mov [L00C8844A],ecx mov dx,[eax+04h] mov [L00C8844E],dx mov ax,[esi+3Ch] mov [L00C88520],ax mov cl,[esi+3Eh] mov [L00C88523],cl mov edx,[esi+7Ch] xor eax,eax mov [L00C88524],edx mov ax,[esi+42h] mov edx,eax mov ecx,eax and edx,00008000h and ecx,00004000h and eax,00003FFFh jnz L004842B3 mov eax,edx jmp L004842CB L004842B3: cmp eax,ebp jl L004842C4 cmp eax,00000BB8h jge L004842C4 or eax,ecx or eax,edx jmp L004842CB L004842C4: or ecx,edx or ecx,00000001h mov eax,ecx L004842CB: cmp di,bp mov [L00C88528],ax jnz L004842E2 mov ax,[esi+40h] mov [L00C8852A],ax jmp L004842E9 L004842E2: mov [L00C8852A],di L004842E9: mov cl,[esi+0000009Ch] xor edx,edx mov [L00C88522],cl mov dx,[esi+3Ch] movsx eax,[esi+3Eh] add eax,edx lea eax,[eax+eax*4] mov ecx,[ebx+eax*8] mov [L00C8852C],ecx mov edi,[esi+00000080h] cmp edi,ebp mov [L00C88530],ebp mov [L00C88534],ebp jz L00484365 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L00484354 mov [L00C88534],edi mov eax,00000001h lea ecx,[edi+000000CCh] L0048433F: cmp [ecx],esi jnz L00484349 mov [L00C88538],ax L00484349: inc eax add ecx,00000004h cmp eax,0000001Eh jl L0048433F jmp L00484365 L00484354: mov eax,[edi] mov ecx,edi call [eax+30h] test eax,eax jz L00484365 mov [L00C88530],edi L00484365: mov edx,[esi] mov ecx,esi call [edx+04h] mov eax,[L00B189F8] mov [eax+000000E0h],ebp mov cx,[L00C8852A] mov edx,[L00C88524] push ecx lea eax,[esp+14h] push edx push eax mov dword ptr [L00C88550],00000001h call SUB_L00499BE0 add esp,0000000Ch lea ecx,[esp+10h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 push 000000A8h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebp mov [esp+24h],ebp jz L004843CF mov ecx,eax call SUB_L0043DCB0 jmp L004843D1 L004843CF: xor eax,eax L004843D1: mov [L00C8851C],eax L004843D6: mov ecx,[esp+1Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004843F0: mov eax,[L00C884DC] mov ecx,[esp+04h] cmp ecx,[eax+7Ch] jz L00484418 mov eax,[L00C8850C] test eax,eax jz L00484416 L00484407: cmp [eax+7Ch],ecx jz L00484418 mov eax,[eax+00000084h] test eax,eax jnz L00484407 L00484416: xor eax,eax L00484418: retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484420: push FFFFFFFFh push L004E465C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi push edi mov ecx,[esp+40h] mov eax,[L00C882B8] mov esi,[L00C884DC] xor ebx,ebx cmp ecx,eax mov [esp+20h],ebx jz L0048448B cmp ecx,[esi+7Ch] jz L0048448B mov eax,[L00C8850C] cmp eax,ebx jz L004846D7 L00484467: cmp [eax+7Ch],ecx jz L00484489 mov eax,[eax+00000084h] cmp eax,ebx jnz L00484467 mov ecx,[esp+18h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L00484489: mov esi,eax L0048448B: cmp esi,ebx jz L004846D7 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L004846D7 mov eax,[L00C884DC] mov ebp,[esp+28h] mov [esp+40h],esi cmp ebp,[eax+7Ch] jz L004844CE mov eax,[L00C8850C] cmp eax,ebx jz L004844D9 L004844BD: cmp [eax+7Ch],ebp jz L004844CE mov eax,[eax+00000084h] cmp eax,ebx jnz L004844BD jmp L004844D9 L004844CE: cmp eax,ebx jz L004844D9 mov edx,[eax] mov ecx,eax call [edx+04h] L004844D9: test ebp,40000000h jz L00484624 mov esi,[esp+2Ch] cmp si,2006h jnz L0048458E push 00000128h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+30h],esi cmp esi,ebx mov byte ptr [esp+20h],01h jz L00484652 mov ecx,esi call SUB_L0047E690 mov eax,[esi+04h] push 000004A2h push SSZ0050C208_C__publish004_client_src_shared_ push eax push esi mov byte ptr [esp+30h],02h mov dword ptr [esi],L004EED0C mov [esi+000000ACh],ebx mov [esi+000000B0h],ebx mov [esi+000000B4h],ebx mov [esi+000000BCh],ebx call SUB_L00476020 add esp,00000010h test al,al jnz L00484566 push SSZ0050C120_CObj__CObj__either_pointer__this call SUB_L004C7EC0 add esp,00000004h L00484566: lea edi,[esi+000000C0h] mov ecx,0000001Ah xor eax,eax mov dword ptr [esi],L004EEE1C rep stosd mov [esi+72h],bl mov [esi+7Ch],ebp mov word ptr [esi+3Ch],2006h mov eax,esi jmp L00484654 L0048458E: mov edx,[L00C88540] mov eax,esi and eax,0000FFFFh lea ecx,[eax+eax*4] mov ecx,[edx+ecx*8] test ecx,00100000h jz L004845D9 push 000000B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L00484652 mov ecx,[esp+30h] push 00000001h push ecx push esi push ebp mov ecx,eax call SUB_L00480A50 jmp L00484654 L004845D9: test ecx,00200000h jz L0048460D push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+20h],04h jz L00484652 mov edx,[esp+30h] push 00000001h push edx push esi push ebp mov ecx,eax call SUB_L00480740 jmp L00484654 L0048460D: mov ecx,[esp+30h] and ecx,000000FFh push ecx push eax push ebp call SUB_L0047DF20 add esp,0000000Ch jmp L00484658 L00484624: push 000001E0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebx mov byte ptr [esp+20h],05h jz L00484652 mov edx,[esp+30h] mov ecx,[esp+2Ch] push edx push ecx push ebp mov ecx,eax call SUB_L004810A0 jmp L00484654 L00484652: xor eax,eax L00484654: mov [esp+20h],bl L00484658: mov edx,[esp+44h] and edx,0000FFFFh mov esi,edx mov edi,edx and esi,00008000h and edi,00004000h and edx,00003FFFh jz L00484691 cmp edx,ebx jl L0048468C cmp edx,00000BB8h jge L0048468C or edx,esi or edx,edi jmp L00484693 L0048468C: or esi,edi or esi,00000001h L00484691: mov edx,esi L00484693: mov cx,[esp+38h] mov [eax+42h],dx mov dx,[esp+34h] sub esp,00000008h mov [eax+40h],dx mov dx,[esp+44h] mov [esp+1Ah],dx mov [esp+18h],cx mov esi,[esp+18h] mov edx,esp xor cx,cx mov [edx],esi mov [esp+1Ch],cx mov [edx+04h],cx mov ecx,[esp+48h] push ecx mov ecx,eax call SUB_L0047F190 L004846D7: mov ecx,[esp+18h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004846F0: mov eax,[esp+04h] mov ecx,[L00C88540] and eax,0000FFFFh lea eax,[eax+eax*4] mov eax,[ecx+eax*8] and eax,00200000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484710: mov eax,[esp+04h] mov ecx,[L00C88540] and eax,0000FFFFh lea eax,[eax+eax*4] mov eax,[ecx+eax*8] and eax,00100000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00484730: mov eax,[esp+04h] and eax,0000FFFFh cmp eax,0000028Eh jz L0048474A cmp eax,00000EEDh jz L0048474A xor eax,eax retn ;------------------------------------------------------------------------------ L0048474A: mov eax,00000001h retn ;------------------------------------------------------------------------------ SUB_L00484750: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4686 push eax mov eax,[esp+10h] mov fs:[00000000h],esp sub esp,00000018h push ebp push edi mov edi,[eax+6Ch] xor ebp,ebp cmp edi,ebp jz L004848DA push ebx push esi L0048477D: push 00000024h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+24h],esi cmp esi,ebp mov [esp+30h],ebp jz L0048481F mov dx,[edi+000000E6h] mov ecx,[edi+0000009Ch] mov ax,[edi+000000E4h] mov ebx,[edi+000000A0h] mov [esp+1Ch],dx mov edx,[esp+38h] mov [esp+20h],ecx mov ecx,[edi+000000E0h] mov [esp+18h],ax mov eax,[edx+7Ch] lea ebp,[esi+08h] mov [esp+14h],ecx mov ecx,ebp mov [esp+10h],eax call SUB_L004B3250 mov ecx,[esp+10h] mov edx,[esp+14h] mov [esi],ecx push edx mov ecx,ebp mov byte ptr [esp+34h],01h call SUB_L004B3430 mov ax,[esp+18h] mov cx,[esp+1Ch] mov edx,[esp+20h] mov [esi+18h],ax mov [esi+1Ah],cx mov byte ptr [esi+04h],00h mov [esi+1Ch],edx mov [esi+20h],ebx mov [esp+10h],esi xor ebp,ebp jmp L00484823 L0048481F: mov [esp+10h],ebp L00484823: mov ebx,[L00C8843C] mov dword ptr [esp+30h],FFFFFFFFh cmp ebx,ebp jz L00484878 jnz L0048483B xor eax,eax jmp L004848A2 L0048483B: mov esi,[ebx] push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L00484855 mov [eax],ebp mov [eax+04h],ebp mov [eax+08h],ebp jmp L00484857 L00484855: xor eax,eax L00484857: mov [eax],esi mov [eax+04h],ebx cmp esi,ebp mov [ebx],eax jz L00484867 mov [esi+04h],eax jmp L0048489C L00484867: mov ecx,[L00C88438] mov [L00C8843C],eax cmp ecx,ebp jnz L0048489C jmp L00484897 L00484878: push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L00484890 mov [eax],ebp mov [eax+04h],ebp mov [eax+08h],ebp jmp L00484892 L00484890: xor eax,eax L00484892: mov [L00C8843C],eax L00484897: mov [L00C88438],eax L0048489C: inc [L00C88440] L004848A2: mov ebx,eax cmp ebx,ebp jz L004848CA mov esi,[ebx+08h] cmp esi,ebp jz L004848C3 lea ecx,[esi+08h] call SUB_L004B3270 push esi call SUB_L004D4F9E add esp,00000004h mov [ebx+08h],ebp L004848C3: mov eax,[esp+10h] mov [ebx+08h],eax L004848CA: mov edi,[edi+000000B8h] cmp edi,ebp jnz L0048477D pop esi pop ebx L004848DA: mov ecx,[esp+20h] pop edi pop ebp mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004848F0: push edi mov edi,[L00C8843C] test edi,edi jz L004849C3 push ebx push ebp mov ebp,[esp+10h] push esi L00484906: mov esi,[edi+08h] mov ecx,[ebp+7Ch] mov eax,[esi] cmp eax,ecx jnz L004849B5 mov ebx,[L00CD9CEC] mov dword ptr [L00CD9CEC],00000001h mov cx,[esi+1Ah] mov dx,[esi+18h] push 00000000h push 00000000h push ecx push edx lea ecx,[esi+08h] call SUB_L004C8360 push eax mov ecx,ebp call SUB_L004800A0 mov [L00CD9CEC],ebx mov ecx,[esi+1Ch] mov [eax+0000009Ch],ecx mov edx,[esi+20h] mov [eax+000000A0h],edx mov esi,[edi+04h] mov eax,[edi] test esi,esi jz L00484969 mov [esi],eax jmp L0048496E L00484969: mov [L00C88438],eax L0048496E: test eax,eax jz L00484977 mov [eax+04h],esi jmp L0048497D L00484977: mov [L00C8843C],esi L0048497D: mov ebx,[edi+08h] push edi mov dword ptr [edi+08h],00000000h call SUB_L004D4F9E mov ecx,[L00C88440] add esp,00000004h dec ecx test ebx,ebx mov [L00C88440],ecx jz L004849B1 mov ecx,ebx call SUB_L00484A50 push ebx call SUB_L004D4F9E add esp,00000004h L004849B1: mov edi,esi jmp L004849B8 L004849B5: mov edi,[edi+04h] L004849B8: test edi,edi jnz L00484906 pop esi pop ebp pop ebx L004849C3: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004849D0: mov eax,[L00C88438] test eax,eax jz L00484A4D push esi push edi L004849DB: mov ecx,[eax+08h] mov dl,[ecx+04h] inc dl cmp dl,04h mov [ecx+04h],dl jbe L00484A45 mov ecx,[eax+04h] mov edi,[eax] test ecx,ecx jz L004849F8 mov [ecx],edi jmp L004849FE L004849F8: mov [L00C88438],edi L004849FE: test edi,edi jz L00484A07 mov [edi+04h],ecx jmp L00484A0D L00484A07: mov [L00C8843C],ecx L00484A0D: mov esi,[eax+08h] push eax mov dword ptr [eax+08h],00000000h call SUB_L004D4F9E mov ecx,[L00C88440] add esp,00000004h dec ecx test esi,esi mov [L00C88440],ecx jz L00484A41 mov ecx,esi call SUB_L00484A50 push esi call SUB_L004D4F9E add esp,00000004h L00484A41: mov eax,edi jmp L00484A47 L00484A45: mov eax,[eax] L00484A47: test eax,eax jnz L004849DB pop edi pop esi L00484A4D: retn ;------------------------------------------------------------------------------ Align 4 SUB_L00484A50: add ecx,00000008h jmp SUB_L004B3270 Align 16 SUB_L00484A60: push ecx mov eax,[L00C87D40] mov dword ptr [esp+00h],00000000h test eax,eax jle L00484AEC push ebx mov ebx,[esp+0Ch] push ebp push esi push edi mov edi,L00C867D8 L00484A7F: push ebx push edi call SUB_L004C1C40 mov esi,eax add esp,00000008h cmp esi,FFFFFFFFh jz L00484AD2 L00484A90: push edi call SUB_L004C4300 add esp,00000004h lea ecx,[ebx+esi*2] test eax,eax jle L00484AC1 mov esi,eax L00484AA2: xor eax,eax mov ebp,00000007h mov ax,[ecx] add ecx,00000002h cdq idiv ebp dec esi movsx ax,[edx+SSZ0050C6E0________] mov [ecx-02h],ax jnz L00484AA2 L00484AC1: push ebx push edi call SUB_L004C1C40 mov esi,eax add esp,00000008h cmp esi,FFFFFFFFh jnz L00484A90 L00484AD2: mov eax,[esp+10h] mov ecx,[L00C87D40] inc eax add edi,0000003Ch cmp eax,ecx mov [esp+10h],eax jl L00484A7F pop edi pop esi pop ebp pop ebx L00484AEC: pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00484AF0: mov eax,00004000h call SUB_L004D4B90 mov eax,[esp+00004004h] push ebx lea ecx,[esp+04h] push eax push ecx call SUB_L004C44F0 mov eax,[L00C87D40] add esp,00000008h xor ebx,ebx test eax,eax jle L00484B8F push ebp push esi push edi mov edi,L00C867D8 L00484B23: lea edx,[esp+10h] push edx push edi call SUB_L004C1C40 mov esi,eax add esp,00000008h cmp esi,FFFFFFFFh jz L00484B7F L00484B38: push edi call SUB_L004C4300 add esp,00000004h lea ecx,[esp+esi*2+10h] test eax,eax jle L00484B6A mov esi,eax L00484B4B: xor eax,eax mov ebp,00000007h mov ax,[ecx] add ecx,00000002h cdq idiv ebp dec esi movsx ax,[edx+SSZ0050C6E0________] mov [ecx-02h],ax jnz L00484B4B L00484B6A: lea ecx,[esp+10h] push ecx push edi call SUB_L004C1C40 mov esi,eax add esp,00000008h cmp esi,FFFFFFFFh jnz L00484B38 L00484B7F: mov eax,[L00C87D40] inc ebx add edi,0000003Ch cmp ebx,eax jl L00484B23 pop edi pop esi pop ebp L00484B8F: mov eax,[esp+00004008h] lea edx,[esp+04h] push edx push eax call SUB_L004C4520 add esp,00000008h pop ebx add esp,00004000h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00C88610 jmp L00484BC0 Align 8 L00484BC0: mov eax,ecx push esi mov edx,eax mov esi,00000008h xor ecx,ecx L00484BCC: mov [edx],cl add edx,00000100h dec esi jnz L00484BCC mov [eax+00000800h],ecx mov [eax+00000804h],ecx pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00484BF0: push FFFFFFFFh push L004E46E1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebp push esi mov esi,ecx push edi mov [esp+24h],esi call SUB_L00458F30 push SUB_L004C8100 push SUB_L004C8060 push 0000000Ah lea eax,[esi+000000A8h] xor ebp,ebp push 00000010h push eax mov [esp+48h],ebp mov [esi+0000009Ch],ebp mov [esi+000000A0h],ebp mov [esi+000000A4h],ebp call SUB_L004D549C push SUB_L004C8100 push SUB_L004C8060 push 0000000Ah lea ecx,[esi+00000148h] push 00000010h push ecx mov byte ptr [esp+48h],01h call SUB_L004D549C lea ecx,[esi+000001E8h] mov byte ptr [esp+34h],02h call SUB_L004C8060 mov ecx,esi mov byte ptr [esp+34h],03h mov dword ptr [esi+000001F8h],FFFFFFFFh mov [esi+00000200h],ebp mov [esi+00000204h],ebp mov [esi+00000208h],ebp mov [esi+0000020Ch],ebp mov [esi+00000210h],ebp mov [esi+00000214h],ebp mov [esi+00000218h],ebp mov [esi+0000021Ch],ebp mov dword ptr [esi],L004EF0D0 mov [esi+00000254h],ebp mov [esi+00000258h],ebp mov dword ptr [esi+08h],SSZ0050C81C_OptionsGump mov [esi+14h],ebp mov dword ptr [esi+18h],00000001h call SUB_L00487090 lea edx,[esp+20h] lea eax,[esp+10h] push edx push eax push 000000CAh call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+24h] push ecx push edx push 000000C8h call SUB_L004434A0 lea eax,[esp+2Ch] lea ecx,[esp+24h] push eax push ecx push 000000CBh call SUB_L004434A0 mov edx,[esp+30h] mov eax,[esp+34h] mov dword ptr [esi+000001FCh],0000017Ch mov dword ptr [esi+24h],000001E0h lea ecx,[edx+eax+0000022Bh] mov [esi+20h],ecx mov eax,[L005073D0] sub eax,ecx cdq sub eax,edx sar eax,1 mov [esi+30h],eax mov ecx,[L005073D4] push SSZ0050C800_framedata_for_OptionsGump lea eax,[ecx-000001E0h] cdq sub eax,edx mov edx,[esi+18h] shl edx,03h sar eax,1 push edx mov [esi+34h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050C7EC_OptionsGump_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000034h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004850B0 mov ecx,esi call SUB_L00485AB0 mov ecx,esi call SUB_L00486500 lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx push 00000101h call SUB_L004434A0 lea edx,[esp+24h] lea eax,[esp+20h] push edx push eax push 00000100h call SUB_L004434A0 lea ecx,[esp+38h] lea edx,[esp+34h] push ecx push edx push 000000FFh call SUB_L004434A0 mov eax,[esp+34h] add esp,00000024h cmp eax,ebp jnz L00484E64 cmp [esp+0Ch],ebp jnz L00484E64 cmp [esp+14h],ebp jnz L00484E64 cmp [esp+18h],ebp jnz L00484E64 cmp [esp+1Ch],ebp jnz L00484E64 cmp [esp+20h],ebp jz L00484EA8 L00484E64: push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax cmp eax,ebp mov byte ptr [esp+34h],04h jz L00484E88 push esi mov ecx,eax call SUB_L0048B7C0 jmp L00484E8A L00484E88: xor eax,eax L00484E8A: push 00000168h push 0000002Dh push 00000235h mov ecx,eax mov byte ptr [esp+40h],03h mov [esi+0000021Ch],eax call SUB_L0048BAB0 L00484EA8: push ebp mov ecx,esi call SUB_L00487800 mov ecx,esi call SUB_L00486D00 mov ecx,[esp+2Ch] mov eax,esi pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 8 L00484ED0: push esi mov esi,ecx call SUB_L00484EF0 test byte ptr [esp+08h],01h jz L00484EE8 push esi call SUB_L004D4F9E add esp,00000004h L00484EE8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00484EF0: push FFFFFFFFh push L004E4736 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF0D0 mov eax,[esi+00000254h] mov dword ptr [esp+10h],00000003h test eax,eax jz L00484F44 L00484F25: mov ecx,[eax+000000E0h] push eax mov [esi+00000254h],ecx call SUB_L004D4F9E mov eax,[esi+00000254h] add esp,00000004h test eax,eax jnz L00484F25 L00484F44: mov ecx,[L00C8C488] mov dword ptr [L00C8C48C],00000000h test ecx,ecx jz L00484F5E mov edx,[ecx] push 00000001h call [edx] L00484F5E: mov eax,[esi+000000A0h] push edi xor edi,edi test eax,eax jle L00484F89 L00484F6B: mov eax,[esi+0000009Ch] mov ecx,[eax+edi*4] test ecx,ecx jz L00484F7E mov edx,[ecx] push 00000001h call [edx] L00484F7E: mov eax,[esi+000000A0h] inc edi cmp edi,eax jl L00484F6B L00484F89: mov eax,[esi+0000009Ch] pop edi test eax,eax jz L00484FA7 push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi+0000009Ch],00000000h L00484FA7: lea ecx,[esi+000001E8h] mov byte ptr [esp+10h],02h call SUB_L004C8100 push SUB_L004C8100 push 0000000Ah lea eax,[esi+00000148h] push 00000010h push eax mov byte ptr [esp+20h],01h call SUB_L004D53BE push SUB_L004C8100 push 0000000Ah lea ecx,[esi+000000A8h] push 00000010h push ecx mov byte ptr [esp+20h],00h call SUB_L004D53BE mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00485010: mov edx,[esp+04h] mov eax,[ecx+00000200h] cmp edx,eax jz L00485037 mov eax,[ecx+00000204h] imul eax,edx cdq idiv [esp+08h] mov [ecx+00000200h],eax call SUB_L00486D00 L00485037: retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L00485040: mov eax,[esp+04h] push esi mov esi,ecx test eax,eax mov eax,[esi+00000200h] jnz L0048507E test eax,eax jz L004850A7 mov ecx,[esi+0000021Ch] dec eax test ecx,ecx mov [esi+00000200h],eax jz L004850A0 mov edx,[esi+00000204h] push edx push eax call SUB_L00435670 mov ecx,esi call SUB_L00486D00 pop esi retn 0008h ;------------------------------------------------------------------------------ L0048507E: mov edx,[esi+00000204h] cmp eax,edx jge L004850A7 mov ecx,[esi+0000021Ch] inc eax test ecx,ecx mov [esi+00000200h],eax jz L004850A0 push edx push eax call SUB_L00435670 L004850A0: mov ecx,esi call SUB_L00486D00 L004850A7: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004850B0: push FFFFFFFFh push L004E476C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi push edi mov esi,ecx push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L00485111 push 00000000h push 000000F1h push 000000F3h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000195h push 000000A4h mov ecx,eax call SUB_L00421F40 jmp L00485113 L00485111: xor eax,eax L00485113: mov edi,00000001h or ebx,FFFFFFFFh push edi push esi mov ecx,eax mov [esp+20h],ebx mov dword ptr [eax+000000ACh],000000F2h mov dword ptr [eax+000000A4h],00000014h mov [eax+000000C0h],edi call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov [esp+18h],edi jz L00485184 push 00000000h push 000000F0h push 000000EFh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000195h push 00000102h mov ecx,eax call SUB_L00421F40 jmp L00485186 L00485184: xor eax,eax L00485186: push edi push esi mov ecx,eax mov [esp+20h],ebx mov dword ptr [eax+000000ACh],000000EEh mov dword ptr [eax+000000A4h],00000016h mov [eax+000000C0h],edi call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+18h],00000002h jz L004851F3 push 00000000h push 000000F4h push 000000F6h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000195h push 00000164h mov ecx,eax call SUB_L00421F40 jmp L004851F5 L004851F3: xor eax,eax L004851F5: push edi push esi mov ecx,eax mov [esp+20h],ebx mov dword ptr [eax+000000ACh],000000F5h mov dword ptr [eax+000000A4h],00000017h mov [eax+000000C0h],edi call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax test eax,eax mov dword ptr [esp+18h],00000003h jz L00485262 push 00000000h push 000000F8h push 000000F9h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000195h push 000001C5h mov ecx,eax call SUB_L00421F40 jmp L00485264 L00485262: xor eax,eax L00485264: push edi push esi mov ecx,eax mov [esp+20h],ebx mov dword ptr [eax+000000ACh],000000F7h mov dword ptr [eax+000000A4h],00000015h mov [eax+000000C0h],edi call SUB_L004587A0 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004852A0: push ebx push ebp push esi mov esi,[esp+10h] push edi push esi mov ebp,ecx push SSZ0050C828_OptionsGump__HandleButtonPress__ call SUB_L004C7F50 lea eax,[esi-01h] add esp,00000008h cmp eax,00000016h ja CASE_004856B8_PROC000D xor ecx,ecx mov cl,[eax+CASE_004856F0] jmp [CASE_PROCTABLE_004856B8+ecx*4] CASE_004856B8_PROC0000: mov eax,[ebp+00000220h] mov esi,L00C87D48 add eax,000000F8h L004852E3: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0048530B test cl,cl jz L00485307 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0048530B add eax,00000002h add esi,00000002h test cl,cl jnz L004852E3 L00485307: xor eax,eax jmp L00485310 L0048530B: sbb eax,eax sbb eax,FFFFFFFFh L00485310: test eax,eax jz CASE_004856B8_PROC0003 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004FF650_Password_incorrect_ call SUB_L00455DD0 add esp,00000014h pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0001: mov ecx,[ebp+00000230h] mov al,63h pop edi pop esi mov [ecx+58h],al mov edx,[ebp+00000250h] mov [edx+58h],al mov eax,[ebp+0000024Ch] pop ebp pop ebx mov byte ptr [eax+58h],09h retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0002: mov edx,[ebp+00000224h] mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebp+58h],32h add edx,000000F8h 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+00000224h] mov edx,[ecx] call [edx+00000174h] mov edx,[ebp+00000228h] mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax add edx,000000F8h 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+00000228h] mov edx,[ecx] call [edx+00000174h] pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0004: mov eax,[ebp+00000224h] lea edi,[eax+000000F8h] mov eax,[ebp+00000228h] add eax,000000F8h mov esi,edi L004853F5: mov dl,[esi] mov bl,[eax] mov cl,dl cmp dl,bl jnz L0048541D test cl,cl jz L00485419 mov dl,[esi+01h] mov bl,[eax+01h] mov cl,dl cmp dl,bl jnz L0048541D add esi,00000002h add eax,00000002h test cl,cl jnz L004853F5 L00485419: xor eax,eax jmp L00485422 L0048541D: sbb eax,eax sbb eax,FFFFFFFFh L00485422: test eax,eax jz L00485442 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004FF634_Passwords_did_not_match_ call SUB_L00455DD0 add esp,00000014h pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ L00485442: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C87D48 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb CASE_004856B8_PROC0003: pop edi mov byte ptr [ebp+58h],09h pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0005: mov ecx,[ebp+0000026Ch] mov eax,[L00B294BC] cmp ecx,eax jnz L00485481 call SUB_L00456C40 L00485481: mov eax,[ebp+00000258h] xor esi,esi cmp eax,esi jnz L004854A2 push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [ebp+00000254h],eax jmp L004854E9 L004854A2: cmp [eax+000000E0h],esi jz L004854C4 L004854AA: mov edx,[ebp+00000258h] mov eax,[edx+000000E0h] mov [ebp+00000258h],eax cmp [eax+000000E0h],esi jnz L004854AA L004854C4: push 000000E4h call SUB_L004D4FA9 mov ecx,[ebp+00000258h] add esp,00000004h mov [ecx+000000E0h],eax mov edx,[ebp+00000258h] mov eax,[edx+000000E0h] L004854E9: mov ecx,eax mov [ebp+00000258h],eax mov [ecx+000000E0h],esi mov edx,[ebp+00000258h] mov [edx+14h],esi mov eax,[ebp+00000258h] mov [eax+04h],esi mov ecx,[ebp+00000258h] mov [ecx+08h],esi mov edx,[ebp+00000258h] mov ecx,ebp mov [edx+0Ch],esi mov eax,[ebp+00000258h] mov [eax+10h],esi call SUB_L00485900 pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0006: mov ecx,[ebp+0000026Ch] mov eax,[L00B294BC] cmp ecx,eax jnz L00485546 call SUB_L00456C40 L00485546: mov esi,[ebp+00000258h] test esi,esi jz CASE_004856B8_PROC000D mov eax,[esi+14h] xor ebx,ebx test eax,eax jle L0048557A lea edi,[esi+20h] L00485560: mov eax,[edi] test eax,eax jz L0048556F push eax call SUB_L004D4F9E add esp,00000004h L0048556F: mov eax,[esi+14h] inc ebx add edi,00000014h cmp ebx,eax jl L00485560 L0048557A: mov eax,[ebp+00000254h] xor edx,edx cmp eax,edx jz L004855A8 L00485586: mov ecx,[eax+000000E0h] cmp ecx,esi jz L00485598 mov eax,ecx cmp eax,edx jnz L00485586 jmp L004855A8 L00485598: cmp eax,edx jz L004855A8 mov ecx,[esi+000000E0h] mov [eax+000000E0h],ecx L004855A8: mov ecx,[esi+000000E0h] cmp ecx,edx jz L004855BA mov [ebp+00000258h],ecx jmp L004855D2 L004855BA: cmp eax,edx jz L004855C6 mov [ebp+00000258h],eax jmp L004855D2 L004855C6: mov [ebp+00000254h],edx mov [ebp+00000258h],edx L004855D2: mov ecx,ebp call SUB_L00485900 push esi call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0007: mov edx,[ebp+0000026Ch] mov eax,[L00B294BC] cmp edx,eax jnz L004855FD call SUB_L00456C40 L004855FD: mov edx,[ebp+00000258h] test edx,edx jz CASE_004856B8_PROC000D mov eax,[ebp+00000254h] test eax,eax jz CASE_004856B8_PROC000D L00485619: mov ecx,[eax+000000E0h] cmp ecx,edx jz L00485655 mov eax,ecx test eax,eax jnz L00485619 pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0008: mov eax,[ebp+0000026Ch] mov ecx,[L00B294BC] cmp eax,ecx jnz L00485645 call SUB_L00456C40 L00485645: mov eax,[ebp+00000258h] test eax,eax jz CASE_004856B8_PROC000D mov eax,[eax+000000E0h] L00485655: test eax,eax jz CASE_004856B8_PROC000D mov ecx,ebp mov [ebp+00000258h],eax call SUB_L00485900 pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC0009: test ebp,ebp jz CASE_004856B8_PROC000D mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC000A: mov ecx,ebp call SUB_L00487C00 test ebp,ebp jz CASE_004856B8_PROC000D mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC000B: mov ecx,ebp call SUB_L00487C00 pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004856B8_PROC000C: mov ecx,ebp call SUB_L00487B40 CASE_004856B8_PROC000D: pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_PROCTABLE_004856B8: dd CASE_004856B8_PROC0000 dd CASE_004856B8_PROC0001 dd CASE_004856B8_PROC0002 dd CASE_004856B8_PROC0003 dd CASE_004856B8_PROC0004 dd CASE_004856B8_PROC0005 dd CASE_004856B8_PROC0006 dd CASE_004856B8_PROC0007 dd CASE_004856B8_PROC0008 dd CASE_004856B8_PROC0009 dd CASE_004856B8_PROC000A dd CASE_004856B8_PROC000B dd CASE_004856B8_PROC000C dd CASE_004856B8_PROC000D CASE_004856F0: 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 L00485710: push ecx push ebx push ebp mov ebp,[esp+10h] mov ebx,ecx push esi push edi mov eax,[ebx+00000258h] xor edi,edi cmp eax,edi jz L0048574C cmp ebp,[ebx+0000026Ch] jnz L0048574C mov ecx,[L00D1B304] mov [eax],ecx mov edx,[ebx+00000258h] mov eax,[L00D1B300] mov ecx,ebx mov [edx+04h],eax call SUB_L00485900 L0048574C: mov esi,[ebx+00000258h] cmp esi,edi jz L0048576B mov eax,[ebx+00000260h] cmp ebp,eax jnz L0048576B xor ecx,ecx mov cl,[eax+000000B8h] mov [esi+08h],ecx L0048576B: mov esi,[ebx+00000258h] cmp esi,edi jz L0048578A mov eax,[ebx+00000268h] cmp ebp,eax jnz L0048578A xor edx,edx mov dl,[eax+000000B8h] mov [esi+10h],edx L0048578A: mov esi,[ebx+00000258h] cmp esi,edi jz L004857A9 mov eax,[ebx+00000264h] cmp ebp,eax jnz L004857A9 xor ecx,ecx mov cl,[eax+000000B8h] mov [esi+0Ch],ecx L004857A9: cmp ebp,[ebx+0000025Ch] jnz L004858F2 mov eax,[ebx+00000258h] xor esi,esi mov [esp+10h],edi cmp [eax+14h],edi jle L004857E8 xor ebp,ebp L004857C8: mov eax,[eax+ebp+20h] cmp eax,edi jz L004857D9 push eax call SUB_L004D4F9E add esp,00000004h L004857D9: mov eax,[ebx+00000258h] inc esi add ebp,00000014h cmp esi,[eax+14h] jl L004857C8 L004857E8: mov edx,[ebx+0000025Ch] mov esi,[edx+50h] cmp esi,edi mov [esp+18h],esi jz L004858E5 xor ebp,ebp jmp L00485805 L00485801: mov esi,[esp+18h] L00485805: mov eax,[esi] mov ecx,esi call [eax+00000120h] test eax,eax jz L004858D6 mov ecx,[esi+000000A0h] mov eax,[ecx+000000F4h] cmp eax,edi jz L004858D6 mov edx,[ebx+00000258h] mov [edx+ebp+18h],eax mov eax,[esi+000000A4h] cmp eax,edi jz L00485851 mov ecx,[ebx+00000258h] mov edx,[eax+000000F4h] mov [ecx+ebp+1Ch],edx jmp L0048585B L00485851: mov eax,[ebx+00000258h] mov [eax+ebp+1Ch],edi L0048585B: mov eax,[esi+000000A8h] cmp eax,edi jz L004858C0 lea edi,[eax+000000F8h] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov ecx,[ebx+00000258h] add esp,00000004h mov [ecx+ebp+20h],eax mov edi,[esi+000000A8h] add edi,000000F8h or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+00000258h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[edx+ebp+20h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov esi,[esp+18h] xor edi,edi jmp L004858CA L004858C0: mov ecx,[ebx+00000258h] mov [ecx+ebp+20h],edi L004858CA: mov ecx,[esp+10h] inc ecx add ebp,00000014h mov [esp+10h],ecx L004858D6: mov esi,[esi+44h] cmp esi,edi mov [esp+18h],esi jnz L00485801 L004858E5: mov edx,[ebx+00000258h] mov eax,[esp+10h] mov [edx+14h],eax L004858F2: pop edi pop esi pop ebp pop ebx pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L00485900: sub esp,00000018h push ebp mov ebp,ecx push esi push edi mov eax,[ebp+00000258h] test eax,eax jz L0048593B mov edx,[eax+04h] lea ecx,[esp+0Ch] push 00000014h and edx,BFFFFFFFh push ecx push edx call [USER32.dll!GetKeyNameTextA] mov edx,[ebp+0000026Ch] lea edi,[esp+0Ch] add edx,000000F8h jmp L0048594C L0048593B: mov edx,[ebp+0000026Ch] mov edi,L007049FC add edx,000000F8h L0048594C: 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,[ebp+0000026Ch] mov edx,[ecx] call [edx+00000174h] mov eax,[ebp+00000258h] test eax,eax jz L00485997 mov ecx,[eax+08h] test ecx,ecx jz L00485997 mov eax,[ebp+00000260h] mov byte ptr [eax+000000B8h],01h jmp L004859A4 L00485997: mov ecx,[ebp+00000260h] mov byte ptr [ecx+000000B8h],00h L004859A4: mov ecx,[ebp+00000260h] call SUB_L00422FE0 mov eax,[ebp+00000258h] test eax,eax jz L004859CF mov ecx,[eax+0Ch] test ecx,ecx jz L004859CF mov edx,[ebp+00000264h] mov byte ptr [edx+000000B8h],01h jmp L004859DC L004859CF: mov eax,[ebp+00000264h] mov byte ptr [eax+000000B8h],00h L004859DC: mov ecx,[ebp+00000264h] call SUB_L00422FE0 mov eax,[ebp+00000258h] test eax,eax jz L00485A07 mov ecx,[eax+10h] test ecx,ecx jz L00485A07 mov ecx,[ebp+00000268h] mov byte ptr [ecx+000000B8h],01h jmp L00485A14 L00485A07: mov edx,[ebp+00000268h] mov byte ptr [edx+000000B8h],00h L00485A14: mov ecx,[ebp+00000268h] call SUB_L00422FE0 mov eax,[ebp+0000025Ch] mov esi,[eax+48h] test esi,esi jz L00485A4F L00485A2C: mov edx,[esi] mov edi,[esi+40h] mov ecx,esi call [edx+00000120h] test eax,eax jz L00485A49 test esi,esi jz L00485A49 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L00485A49: test edi,edi mov esi,edi jnz L00485A2C L00485A4F: mov eax,[ebp+00000258h] test eax,eax jz L00485A91 mov ecx,[eax+14h] xor edi,edi test ecx,ecx jle L00485A91 xor esi,esi L00485A64: mov ecx,[esi+eax+20h] mov edx,[esi+eax+1Ch] mov eax,[esi+eax+18h] push 0000000Eh push 00000004h push ecx mov ecx,[ebp+0000025Ch] push edx push eax call SUB_L00424FB0 mov eax,[ebp+00000258h] inc edi add esi,00000014h cmp edi,[eax+14h] jl L00485A64 L00485A91: mov ecx,[ebp+0000025Ch] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L00424FB0 pop edi pop esi pop ebp add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00485AB0: push FFFFFFFFh push L004E481A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000060h mov eax,00000050h push ebx mov [esp+44h],eax mov [esp+4Ch],eax mov eax,00000055h push ebp mov [esp+38h],eax mov [esp+3Ch],eax mov eax,000000D9h push esi mov [esp+44h],eax mov [esp+48h],eax mov al,[L00C8C49D] push edi test al,al mov esi,ecx mov dword ptr [esp+54h],000000E6h mov dword ptr [esp+5Ch],000000FAh jz L00485C3B push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+78h],00000000h jz L00485B61 push 00000000h mov ebp,00000001h push 00000000h push ebp push 00000386h push ebp push 00000010h push 00000000h push 00000988h push 00000988h push esi push 000000ABh push 000000D2h mov ecx,eax call SUB_L0042A0B0 jmp L00485B68 L00485B61: xor eax,eax mov ebp,00000001h L00485B68: mov [esi+00000220h],eax mov byte ptr [eax+000000EEh],08h mov eax,[esi+00000220h] or edi,FFFFFFFFh push ebp push esi mov byte ptr [eax+000000EFh],05h mov ecx,[esi+00000220h] mov [esp+00000080h],edi mov byte ptr [ecx+58h],3Ch mov edx,[esi+00000220h] mov [edx+000000B8h],ebp mov ecx,[esi+00000220h] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov [esp+78h],ebp jz L00485BF1 push 00000000h push 00000993h push 00000992h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000000CBh push 00000110h mov ecx,eax call SUB_L00421F40 jmp L00485BF3 L00485BF1: xor eax,eax L00485BF3: mov [esi+0000022Ch],eax mov dword ptr [eax+000000ACh],00000994h mov eax,[esi+0000022Ch] push ebp push esi mov [esp+00000080h],edi mov byte ptr [eax+58h],3Ch mov ecx,[esi+0000022Ch] mov [ecx+000000A4h],ebp mov edx,[esi+0000022Ch] mov [edx+000000C0h],ebp mov ecx,[esi+0000022Ch] call SUB_L004587A0 jmp L00485C40 L00485C3B: mov ebp,00000001h L00485C40: push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+78h],00000002h jz L00485C7B push 00000014h push 00000981h push 00000000h push 00000000h push 0000008Dh push 00000123h mov ecx,eax call SUB_L004232E0 jmp L00485C7D L00485C7B: xor eax,eax L00485C7D: mov [esi+00000240h],eax mov word ptr [eax+000000D2h],0004h mov eax,[esi+00000240h] mov ecx,FFFFFFFAh push ebp push esi mov eax,[eax+0000009Ch] mov dword ptr [esp+00000080h],FFFFFFFFh mov ebx,[eax+30h] add ebx,ecx mov [eax+30h],ebx mov edx,[esi+00000240h] mov eax,[edx+000000A0h] mov edi,[eax+30h] add edi,ecx mov [eax+30h],edi mov eax,[esi+00000240h] mov byte ptr [eax+58h],09h mov ecx,[esi+00000240h] call SUB_L004587A0 mov eax,[L00C87D44] xor edi,edi test eax,eax jle L00485D14 mov ebp,L00C87AE8 mov ebx,L00C87A98 L00485CF0: mov ecx,[ebx] push ecx mov ecx,[esi+00000240h] push ebp call SUB_L00423640 mov eax,[L00C87D44] inc edi add ebx,00000004h add ebp,0000001Eh cmp edi,eax jl L00485CF0 mov ebp,00000001h L00485D14: mov ecx,[esi+00000240h] push 00000000h push SSZ004FF8D0__new_ call SUB_L00423640 mov eax,[esi+000000A0h] xor ecx,ecx test eax,eax mov [esp+1Ch],ecx jle L00485EB9 mov [esp+18h],ecx L00485D3E: mov edx,[esi+0000009Ch] lea eax,[edx+ecx*4] mov edx,[edx+ecx*4] cmp dword ptr [edx+04h],00000009h jnz L00485EA6 mov ebx,edx call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov ebp,eax mov al,[L00D1A682] push 00000000h mov [esp+24h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 add esp,0000000Ch lea ecx,[esp+24h] lea edx,[esp+14h] add ebx,00000008h push ecx lea eax,[esp+14h] push edx push eax mov ecx,ebx call SUB_L004C8360 push eax call SUB_L004C6930 push edi call SUB_L004C5640 push ebp call SUB_L004C4240 mov ecx,[esp+38h] push ecx call SUB_L004C4270 mov ecx,[esp+30h] xor eax,eax mov [esp+50h],eax mov [esp+4Ch],eax mov eax,[esp+2Ch] mov [esp+58h],ecx mov [esp+54h],eax imul eax,ecx shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[esp+30h] mov ebp,eax imul ecx,[esp+34h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,ebp add esp,00000020h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0050C7E8] lea eax,[esp+30h] push eax push ecx push 00000000h push 00000000h mov ecx,ebx call SUB_L004C8360 mov edx,[esp+20h] push eax push edx push ebp call SUB_L004C6100 push 000000B8h call SUB_L004D4FA9 add esp,00000020h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000003h jz L00485E6E mov ecx,[esp+14h] mov edx,[esp+10h] push FFFFFFFFh push ebp push 00000000h push ecx mov ecx,[esp+28h] push edx push esi mov edx,[esp+ecx+58h] mov ecx,[esp+ecx+68h] add edx,0000001Eh add ecx,00000052h push edx push ecx mov ecx,eax call SUB_L0045B300 jmp L00485E70 L00485E6E: xor eax,eax L00485E70: mov ebx,[esp+18h] push 00000001h add ebx,00000004h push esi mov ecx,eax mov dword ptr [esp+00000080h],FFFFFFFFh mov [esp+20h],ebx mov byte ptr [eax+58h],09h call SUB_L004587A0 push ebp call SUB_L004D4F9E mov ecx,[esp+20h] add esp,00000004h mov ebp,00000001h L00485EA6: mov eax,[esi+000000A0h] inc ecx cmp ecx,eax mov [esp+1Ch],ecx jl L00485D3E L00485EB9: push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000004h jz L00485F07 mov dl,[L0050CC2E] push 00000000h push 00000000h push edx push L007049FC push 00000386h push ebp push 00000869h push 00000867h push esi push 0000006Eh push 00000080h mov ecx,eax call SUB_L00422D00 jmp L00485F09 L00485F07: xor eax,eax L00485F09: mov ebx,00000868h mov [esi+00000244h],eax mov [eax+000000A8h],ebx mov eax,[esi+00000244h] mov edi,0000086Ah push ebp mov [eax+000000ACh],edi mov ecx,[esi+00000244h] push esi mov dword ptr [esp+00000080h],FFFFFFFFh mov byte ptr [ecx+58h],09h mov ecx,[esi+00000244h] call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000005h jz L00485F9E mov dl,[L00C8C49D] push 00000000h push 00000000h push edx push L007049FC push 00000386h push ebp push 00000869h push 00000867h push esi push 000000F2h push 00000080h mov ecx,eax call SUB_L00422D00 jmp L00485FA0 L00485F9E: xor eax,eax L00485FA0: mov [esi+00000248h],eax mov [eax+000000A8h],ebx mov eax,[esi+00000248h] push ebp push esi mov dword ptr [esp+00000080h],FFFFFFFFh mov [eax+000000ACh],edi mov ecx,[esi+00000248h] mov byte ptr [ecx+58h],09h mov ecx,[esi+00000248h] call SUB_L004587A0 push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000006h jz L00486014 push 0000001Eh push 00000050h push 0000097Fh push 00000000h push 00000000h push 0000008Dh push 0000007Ah mov ecx,eax call SUB_L004C1E90 jmp L00486016 L00486014: xor eax,eax L00486016: mov [esi+0000024Ch],eax or ebx,FFFFFFFFh mov byte ptr [eax+58h],63h mov ecx,[esi+0000024Ch] push ebp push esi mov [esp+00000080h],ebx call SUB_L004587A0 mov eax,[L00C87D40] xor edi,edi test eax,eax jle L00486065 mov ebx,L00C867D8 L00486047: mov ecx,[esi+0000024Ch] push 00000000h push ebx call SUB_L004C2210 mov eax,[L00C87D40] inc edi add ebx,0000003Ch cmp edi,eax jl L00486047 or ebx,FFFFFFFFh L00486065: mov ecx,[esi+0000024Ch] push 00000000h push L007049FC call SUB_L004C2580 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000007h jz L004860BA push 00000000h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000000D3h push 000000D2h push 0000008Dh push 0000007Ah mov ecx,eax call SUB_L004220C0 jmp L004860BC L004860BA: xor eax,eax L004860BC: mov [esi+00000230h],eax mov byte ptr [eax+58h],09h mov edx,[esi+00000230h] push ebp push esi mov [esp+00000080h],ebx mov dword ptr [edx+000000A4h],00000002h mov eax,[esi+00000230h] mov [eax+000000C0h],ebp mov ecx,[esi+00000230h] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000008h jz L0048613C push 00000000h push 000009A9h push 000009A8h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000000F2h push 0000012Ch mov ecx,eax call SUB_L00421F40 jmp L0048613E L0048613C: xor eax,eax L0048613E: mov [esi+00000234h],eax mov dword ptr [eax+000000ACh],000009AAh mov ecx,[esi+00000234h] push ebp push esi mov [esp+00000080h],ebx mov byte ptr [ecx+58h],09h mov edx,[esi+00000234h] mov dword ptr [edx+000000A4h],00000003h mov eax,[esi+00000234h] mov [eax+000000C0h],ebp mov ecx,[esi+00000234h] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],00000009h jz L004861D2 push 00000000h push 00000000h push ebp push 00000386h push ebp push 00000010h push 00000000h push 00000988h push 00000988h push esi push 00000091h push 000000D5h mov ecx,eax call SUB_L0042A0B0 jmp L004861D4 L004861D2: xor eax,eax L004861D4: mov [esi+00000224h],eax mov byte ptr [eax+000000EEh],08h mov ecx,[esi+00000224h] mov [esp+78h],ebx mov bl,32h push ebp mov byte ptr [ecx+000000EFh],05h mov edx,[esi+00000224h] push esi mov [edx+58h],bl mov eax,[esi+00000224h] mov [eax+000000B8h],ebp mov ecx,[esi+00000224h] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],0000000Ah jz L00486260 push 00000000h push 00000000h push ebp push 00000386h push ebp push 00000010h push 00000000h push 00000988h push 00000988h push esi push 000000C1h push 000000D4h mov ecx,eax call SUB_L0042A0B0 jmp L00486262 L00486260: xor eax,eax L00486262: mov [esi+00000228h],eax mov byte ptr [eax+000000EEh],08h mov ecx,[esi+00000228h] or edi,FFFFFFFFh push ebp push esi mov byte ptr [ecx+000000EFh],05h mov edx,[esi+00000228h] mov [esp+00000080h],edi mov [edx+58h],bl mov eax,[esi+00000228h] mov [eax+000000B8h],ebp mov ecx,[esi+00000228h] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],0000000Bh jz L004862EE push 00000000h push 00000996h push 00000997h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000000E3h push 000000EAh mov ecx,eax call SUB_L00421F40 jmp L004862F0 L004862EE: xor eax,eax L004862F0: mov [esi+00000238h],eax mov dword ptr [eax+000000ACh],00000995h mov ecx,[esi+00000238h] push ebp push esi mov [esp+00000080h],edi mov [ecx+58h],bl mov edx,[esi+00000238h] mov dword ptr [edx+000000A4h],00000004h mov eax,[esi+00000238h] mov [eax+000000C0h],ebp mov ecx,[esi+00000238h] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+78h],0000000Ch jz L0048637F push 00000000h push 00000993h push 00000992h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000000E2h push 00000131h mov ecx,eax call SUB_L00421F40 jmp L00486381 L0048637F: xor eax,eax L00486381: mov [esi+0000023Ch],eax mov dword ptr [eax+000000ACh],00000994h mov ecx,[esi+0000023Ch] push ebp push esi mov [esp+00000080h],edi mov [ecx+58h],bl mov edx,[esi+0000023Ch] mov dword ptr [edx+000000A4h],00000005h mov eax,[esi+0000023Ch] mov [eax+000000C0h],ebp mov ecx,[esi+0000023Ch] call SUB_L004587A0 lea ecx,[esp+2Ch] push 00000002h lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx push eax push 00000098h push SSZ004FF8B0_Click_to_edit_Profanity_List push ebp call SUB_L00441CD0 mov eax,[esp+2Ch] add esp,0000001Ch mov ecx,eax and ecx,80000001h jns L00486401 dec ecx or ecx,FFFFFFFEh inc ecx L00486401: cmp ecx,ebp jnz L0048640A inc eax mov [esp+10h],eax L0048640A: imul eax,[esp+14h] shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[esp+14h] mov ebx,eax imul ecx,[esp+18h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,ebx shr ecx,02h rep stosd mov ecx,edx lea edx,[esp+64h] and ecx,00000003h rep stosb mov eax,[esp+14h] xor edi,edi push edi push edi mov ecx,[esp+20h] push 00000002h push edx push eax push ebx push 00000098h push SSZ004FF8B0_Click_to_edit_Profanity_List push 00000386h push ebp push edi push edi mov [esp+00000094h],edi mov [esp+00000098h],edi mov [esp+0000009Ch],eax mov [esp+000000A0h],ecx call SUB_L00441160 push 000000B8h call SUB_L004D4FA9 add esp,00000038h mov [esp+28h],eax cmp eax,edi mov dword ptr [esp+78h],0000000Dh jz L004864BD mov ecx,[esp+14h] mov edx,[esp+10h] push FFFFFFFFh push ebx push edi push ecx push edx push esi push 000000A0h push 00000084h mov ecx,eax call SUB_L0045B300 jmp L004864BF L004864BD: xor eax,eax L004864BF: mov [esi+00000250h],eax mov byte ptr [eax+58h],09h mov ecx,[esi+00000250h] push ebp push esi mov dword ptr [esp+00000080h],FFFFFFFFh call SUB_L004587A0 push ebx call SUB_L004D4F9E mov ecx,[esp+74h] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00486500: push FFFFFFFFh push L004E489E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000005Ch push ebx mov ebx,[L00C837F8] mov eax,000000D4h push ebp mov ebp,ecx mov [esp+54h],eax mov [esp+58h],eax mov [esp+5Ch],eax mov eax,00000085h mov ecx,00000041h push esi mov [esp+3Ch],eax mov [esp+44h],eax mov eax,[L00C837F4] mov [esp+50h],ecx mov [esp+64h],ecx xor esi,esi mov ecx,00000069h cmp eax,esi push edi mov dword ptr [esp+58h],00000082h mov [esp+3Ch],ecx mov [esp+44h],ecx mov dword ptr [esp+4Ch],000000A1h mov dword ptr [esp+50h],000000B9h mov [esp+14h],ebx mov [esp+10h],esi jle L00486692 jmp L00486595 L0048658D: mov esi,[esp+1Ch] mov ebx,[esp+14h] L00486595: mov eax,[esp+10h] push 000000E4h test eax,eax jnz L004865B6 call SUB_L004D4FA9 add esp,00000004h mov [ebp+00000254h],eax mov [esp+1Ch],eax jmp L004865C8 L004865B6: call SUB_L004D4FA9 add esp,00000004h mov [esi+000000E0h],eax mov [esp+1Ch],eax L004865C8: mov ecx,00000039h mov esi,ebx mov edi,eax mov dword ptr [esp+24h],00000000h rep movsd mov dword ptr [eax+000000E0h],00000000h mov ecx,[ebx+14h] lea esi,[ebx+18h] lea edi,[eax+18h] lea ecx,[ecx+ecx*4] shl ecx,02h mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[ebx+14h] test ecx,ecx jle L00486671 mov esi,eax mov eax,[esp+14h] add ebx,00000020h sub esi,eax mov [esp+28h],esi L00486618: mov edi,[ebx] test edi,edi jz L00486658 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax or ecx,FFFFFFFFh mov [esi+ebx],edx mov edi,[ebx] 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 esi,[esp+28h] L00486658: mov ecx,[esp+14h] mov eax,[esp+24h] inc eax add ebx,00000014h mov edx,[ecx+14h] mov [esp+24h],eax cmp eax,edx jl L00486618 mov ebx,ecx L00486671: mov eax,[esp+10h] mov ecx,[L00C837F4] mov edx,[ebx+000000E0h] inc eax cmp eax,ecx mov [esp+14h],edx mov [esp+10h],eax jl L0048658D L00486692: mov eax,[ebp+00000254h] push 000000D8h mov [ebp+00000258h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax xor edi,edi cmp eax,edi mov [esp+74h],edi jz L004866D6 push 0000000Ah push edi push 00000046h push 0000013Ah push 000000DCh push 00000082h mov ecx,eax call SUB_L00424C70 jmp L004866D8 L004866D6: xor eax,eax L004866D8: mov ebx,00000001h mov [ebp+0000025Ch],eax or esi,FFFFFFFFh mov byte ptr [eax+58h],04h mov ecx,[ebp+0000025Ch] push ebx push ebp mov [esp+7Ch],esi call SUB_L004587A0 mov eax,[ebp+00000258h] cmp eax,edi jz L0048673E mov ecx,[eax+14h] test ecx,ecx jle L0048673E xor esi,esi L0048670E: mov ecx,[eax+esi+20h] mov edx,[eax+esi+1Ch] mov eax,[eax+esi+18h] push 0000000Eh push 00000004h push ecx mov ecx,[ebp+0000025Ch] push edx push eax call SUB_L00424FB0 mov eax,[ebp+00000258h] inc edi add esi,00000014h cmp edi,[eax+14h] jl L0048670E or esi,FFFFFFFFh L0048673E: mov eax,[ebp+00000258h] test eax,eax jz L0048674E cmp dword ptr [eax+14h],0000000Ah jge L00486763 L0048674E: mov ecx,[ebp+0000025Ch] push 0000000Eh push 00000004h push 00000000h push 00000000h push 00000000h call SUB_L00424FB0 L00486763: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov [esp+74h],ebx jz L004867A2 push 00000000h push 0000099Dh push 0000099Ch push SUB_L004216F0 push 00000000h push 00000002h push ebp push 0000006Fh push 000000A2h mov ecx,eax call SUB_L00421F40 jmp L004867A4 L004867A2: xor eax,eax L004867A4: push ebx push ebp mov ecx,eax mov [esp+7Ch],esi mov dword ptr [eax+000000ACh],0000099Eh mov dword ptr [eax+000000A4h],0000000Ah mov [eax+000000C0h],ebx mov byte ptr [eax+58h],04h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000002h jz L00486812 push 00000000h push 000009A0h push 0000099Fh push SUB_L004216F0 push 00000000h push 00000002h push ebp push 0000006Fh push 000000D7h mov ecx,eax call SUB_L00421F40 jmp L00486814 L00486812: xor eax,eax L00486814: push ebx push ebp mov ecx,eax mov [esp+7Ch],esi mov dword ptr [eax+000000ACh],000009A1h mov dword ptr [eax+000000A4h],0000000Bh mov [eax+000000C0h],ebx mov byte ptr [eax+58h],04h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000003h jz L00486882 push 00000000h push 000009A3h push 000009A2h push SUB_L004216F0 push 00000000h push 00000002h push ebp push 0000006Fh push 0000011Bh mov ecx,eax call SUB_L00421F40 jmp L00486884 L00486882: xor eax,eax L00486884: push ebx push ebp mov ecx,eax mov [esp+7Ch],esi mov dword ptr [eax+000000ACh],000009A4h mov dword ptr [eax+000000A4h],0000000Ch mov [eax+000000C0h],ebx mov byte ptr [eax+58h],04h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000004h jz L004868F2 push 00000000h push 000009A6h push 000009A5h push SUB_L004216F0 push 00000000h push 00000002h push ebp push 0000006Fh push 0000016Fh mov ecx,eax call SUB_L00421F40 jmp L004868F4 L004868F2: xor eax,eax L004868F4: push ebx push ebp mov ecx,eax mov [esp+7Ch],esi mov dword ptr [eax+000000ACh],000009A7h mov dword ptr [eax+000000A4h],0000000Dh mov [eax+000000C0h],ebx mov byte ptr [eax+58h],04h call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000005h jz L00486971 push 00000869h push 00000867h push 00000000h push L007049FC push 00000386h push ebx push 00000869h push 00000867h push ebp push 00000082h push 00000102h mov ecx,eax call SUB_L00422D00 jmp L00486973 L00486971: xor eax,eax L00486973: mov edi,00000868h mov [ebp+00000268h],eax mov [eax+000000A8h],edi mov ecx,[ebp+00000268h] mov [esp+74h],esi mov esi,0000086Ah mov [ecx+000000ACh],esi mov edx,[ebp+00000268h] push ebx push ebp mov byte ptr [edx+58h],04h mov ecx,[ebp+00000268h] call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000006h jz L00486A02 push 00000869h push 00000867h push 00000000h push L007049FC push 00000386h push ebx push 00000869h push 00000867h push ebp push 0000009Eh push 00000102h mov ecx,eax call SUB_L00422D00 jmp L00486A04 L00486A02: xor eax,eax L00486A04: mov [ebp+00000264h],eax mov [eax+000000A8h],edi mov eax,[ebp+00000264h] push ebx push ebp mov dword ptr [esp+7Ch],FFFFFFFFh mov [eax+000000ACh],esi mov ecx,[ebp+00000264h] mov byte ptr [ecx+58h],04h mov ecx,[ebp+00000264h] call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax mov ebx,00000007h test eax,eax mov [esp+74h],ebx jz L00486A8F push 00000869h push 00000867h push 00000000h push L007049FC push 00000386h push 00000001h push 00000869h push 00000867h push ebp push 000000BAh push 00000102h mov ecx,eax call SUB_L00422D00 jmp L00486A91 L00486A8F: xor eax,eax L00486A91: mov [ebp+00000260h],eax mov [eax+000000A8h],edi mov edx,[ebp+00000260h] push 00000001h push ebp mov dword ptr [esp+7Ch],FFFFFFFFh mov [edx+000000ACh],esi mov eax,[ebp+00000260h] mov byte ptr [eax+58h],04h mov ecx,[ebp+00000260h] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov dword ptr [esp+74h],00000008h jz L00486B15 push 00000000h push 00000000h push 00000001h push 00000386h push 00000001h push 00000010h push 00000000h push 0000098Bh push 0000098Bh push ebp push 000000A3h push 0000008Fh mov ecx,eax call SUB_L0042A0B0 jmp L00486B17 L00486B15: xor eax,eax L00486B17: mov [ebp+0000026Ch],eax mov byte ptr [eax+58h],04h mov ecx,[ebp+0000026Ch] push 00000001h push ebp mov dword ptr [esp+7Ch],FFFFFFFFh mov [ecx+000000EEh],bl mov edx,[ebp+0000026Ch] mov byte ptr [edx+000000EFh],05h mov ecx,[ebp+0000026Ch] call SUB_L004587A0 mov eax,[ebp+000000A0h] xor ecx,ecx test eax,eax mov [esp+10h],ecx jle L00486CDB mov [esp+1Ch],ecx L00486B68: mov eax,[ebp+0000009Ch] mov edx,[eax+ecx*4] lea eax,[eax+ecx*4] cmp dword ptr [edx+04h],00000004h jnz L00486CC8 mov ebx,edx call SUB_L004C5630 mov esi,eax call SUB_L004C4230 mov edi,eax mov al,[L00D1A682] push 00000000h mov [esp+2Ch],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 add esp,0000000Ch lea ecx,[esp+24h] lea edx,[esp+20h] add ebx,00000008h push ecx lea eax,[esp+1Ch] push edx push eax mov ecx,ebx call SUB_L004C8360 push eax call SUB_L004C6930 push esi call SUB_L004C5640 push edi call SUB_L004C4240 mov ecx,[esp+40h] push ecx call SUB_L004C4270 mov ecx,[esp+3Ch] xor eax,eax mov [esp+4Ch],eax mov [esp+48h],eax mov eax,[esp+34h] mov [esp+54h],ecx mov [esp+50h],eax imul eax,ecx shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[esp+38h] mov esi,eax imul ecx,[esp+40h] shl ecx,1 mov edx,ecx xor eax,eax mov edi,esi add esp,00000020h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,[L0050C7E8] lea eax,[esp+2Ch] push eax push ecx push 00000000h push 00000000h mov ecx,ebx call SUB_L004C8360 mov edx,[esp+28h] push eax push edx push esi call SUB_L004C6100 push 000000B8h call SUB_L004D4FA9 add esp,00000020h mov [esp+14h],eax test eax,eax mov dword ptr [esp+74h],00000009h jz L00486C98 mov ecx,[esp+20h] mov edx,[esp+18h] push FFFFFFFFh push esi push 00000000h push ecx mov ecx,[esp+2Ch] push edx push ebp mov edx,[esp+ecx+54h] mov ecx,[esp+ecx+6Ch] add edx,0000001Eh add ecx,00000052h push edx push ecx mov ecx,eax call SUB_L0045B300 jmp L00486C9A L00486C98: xor eax,eax L00486C9A: mov ebx,[esp+1Ch] push 00000001h add ebx,00000004h push ebp mov ecx,eax mov dword ptr [esp+7Ch],FFFFFFFFh mov [esp+24h],ebx mov byte ptr [eax+58h],04h call SUB_L004587A0 push esi call SUB_L004D4F9E mov ecx,[esp+14h] add esp,00000004h L00486CC8: mov eax,[ebp+000000A0h] inc ecx cmp ecx,eax mov [esp+10h],ecx jl L00486B68 L00486CDB: mov ecx,ebp call SUB_L00485900 mov ecx,[esp+6Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000068h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00486D00: sub esp,00000028h push ebx push ebp push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+3Ch] push edi mov ecx,[eax+04h] push ecx push 00000A28h push 000001C2h push 00000226h push edi push 00000032h call SUB_L0042C610 add esp,0000001Ch mov [esp+10h],edi mov ebx,FFFFFEE3h L00486D36: mov edx,[esp+10h] mov eax,[esi+000001F8h] cmp eax,edx mov eax,edi jz L00486D49 lea eax,[edi+04h] L00486D49: mov edx,[eax+L004EF080] cmp edi,00000028h jge L00486D5B mov eax,0000000Ah jmp L00486D61 L00486D5B: mov eax,[esi+20h] sub eax,00000039h L00486D61: cmp edi,00000028h lea ecx,[ebx+0000014Ah] jl L00486D6E mov ecx,ebx L00486D6E: mov ebp,[esi+24h] push ebp mov ebp,[esi+20h] push ebp mov ebp,[esi+3Ch] mov ebp,[ebp+04h] add ebp,00000004h push ebp push ecx push eax push edx push SUB_L004B95C0 call SUB_L00443500 mov ebp,[esp+2Ch] add esp,0000001Ch add edi,00000008h inc ebp add ebx,00000042h cmp edi,00000050h mov [esp+10h],ebp jl L00486D36 call SUB_L004C5630 mov [esp+14h],eax call SUB_L004C4230 mov [esp+18h],eax mov al,[L00D1A682] xor ebp,ebp mov [esp+1Ch],al push ebp call SUB_L004C5640 push 00000006h call SUB_L004C4240 push ebp call SUB_L004C4270 mov ecx,[esi+20h] mov edx,[esi+24h] add esp,0000000Ch lea eax,[esp+20h] mov [esp+30h],ecx mov [esp+34h],edx push eax mov eax,[esi+000001F8h] lea ecx,[esp+28h] lea edx,[esp+14h] shl eax,04h push ecx push edx lea ecx,[eax+esi+000000A8h] mov [esp+38h],ebp mov [esp+34h],ebp call SUB_L004C8360 push eax call SUB_L004C6930 mov edx,[L0050C7E8] mov eax,[esi+20h] add esp,00000010h lea ecx,[esp+28h] push ecx push edx mov edx,[esp+18h] push 00000014h sub eax,edx cdq sub eax,edx sar eax,1 push eax mov eax,[esi+000001F8h] shl eax,04h lea ecx,[eax+esi+000000A8h] call SUB_L004C8360 mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax push ecx mov eax,[edx+04h] add eax,00000004h push eax call SUB_L004C6100 mov eax,[esi+000001F8h] mov edx,[L0050C7E8] add esp,0000001Ch mov edi,[esi+20h] lea ecx,[esp+28h] push ebp push ecx shl eax,04h push edx push 00000032h push 00000046h lea ecx,[eax+esi+00000148h] call SUB_L004C8360 mov ecx,[esi+3Ch] push eax push edi add edi,FFFFFF6Ah mov edx,[ecx+04h] push edi add edx,00000004h push edx call SUB_L004C73A0 add esp,00000024h mov edi,00000068h mov ecx,[esi+000000A0h] xor eax,eax cmp ecx,ebp jle L00486F19 L00486EB8: mov ecx,[esi+0000009Ch] mov ebx,[esi+000001F8h] mov ecx,[ecx+ebp*4] mov edx,[ecx+04h] cmp edx,ebx jnz L00486F0E mov edx,[esi+00000200h] inc eax cmp eax,edx mov [esp+10h],eax jle L00486F0E mov eax,[ecx] call [eax+04h] lea ebx,[eax+edi] cmp ebx,00000190h jg L00486F19 mov ecx,[esi+0000009Ch] lea eax,[esp+28h] push eax mov eax,[esi+3Ch] mov ecx,[ecx+ebp*4] push edi mov eax,[eax+04h] mov edx,[ecx] push eax call [edx+08h] mov eax,[esp+10h] mov edi,ebx L00486F0E: mov ecx,[esi+000000A0h] inc ebp cmp ebp,ecx jl L00486EB8 L00486F19: mov ecx,[esp+14h] push ecx call SUB_L004C5640 mov edx,[esp+1Ch] push edx call SUB_L004C4240 mov eax,[esp+24h] push eax call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00486F50: push esi mov esi,ecx mov eax,[esi+000000A4h] mov ecx,[esi+000000A0h] cmp eax,ecx jnz L00486FC4 test eax,eax jz L00486F6B add eax,eax jmp L00486F70 L00486F6B: mov eax,00000020h L00486F70: mov [esi+000000A4h],eax push edi shl eax,02h push eax call SUB_L004D4FA9 mov ecx,[esi+000000A0h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L00486FAA L00486F91: mov ecx,[esi+0000009Ch] inc eax mov edx,[ecx+eax*4-04h] mov [edi+eax*4-04h],edx mov ecx,[esi+000000A0h] cmp eax,ecx jl L00486F91 L00486FAA: mov eax,[esi+0000009Ch] test eax,eax jz L00486FBD push eax call SUB_L004D4F9E add esp,00000004h L00486FBD: mov [esi+0000009Ch],edi pop edi L00486FC4: mov eax,[esi+000000A0h] mov ecx,[esi+0000009Ch] mov edx,[esp+08h] mov [ecx+eax*4],edx mov eax,[esi+000000A0h] inc eax mov [esi+000000A0h],eax pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00486FF0: push FFFFFFFFh push L004E48BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00487050: push esi mov esi,ecx call SUB_L00486FF0 test byte ptr [esp+08h],01h jz L00487068 push esi call SUB_L004D4F9E add esp,00000004h L00487068: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 L00487070: retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00487080: xor eax,eax retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00487090: push FFFFFFFFh push L004E498D mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000098h push ebx push ebp push esi push edi push 00000000h push 00000000h push 00000000h mov ebx,ecx push SSZ00505A2C_options call SUB_L0046E410 push eax push SSZ00505A2C_options call SUB_L0046EA70 add esp,00000018h mov [esp+18h],eax test eax,eax jz L00487740 push 00000000h push 00000000h mov ecx,eax mov dword ptr [esp+18h],FFFFFFFFh mov ebp,00000001h call SUB_L0046FD40 push eax lea ecx,[ebx+000001E8h] call SUB_L004C83F0 L004870FF: mov ecx,[esp+18h] mov eax,ebp push 00000000h push eax inc ebp call SUB_L0046FD40 mov edi,eax test edi,edi jz L00487740 push SSZ0050C8A8__END lea ecx,[esp+0000008Ch] call SUB_L004C8240 lea eax,[esp+00000088h] mov ecx,edi push eax mov dword ptr [esp+000000B4h],00000000h call SUB_L004C8590 lea ecx,[esp+00000088h] mov esi,eax mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 test esi,esi jnz L00487740 push L0050C8A4 lea ecx,[esp+0000009Ch] call SUB_L004C8240 lea ecx,[esp+00000098h] mov dword ptr [esp+000000B0h],00000001h push ecx mov ecx,edi call SUB_L004C8590 lea ecx,[esp+00000098h] mov esi,eax mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 test esi,esi jz L00487271 mov edi,[esp+18h] mov eax,ebp push 00000000h push eax mov ecx,edi inc ebp call SUB_L0046FD40 mov esi,eax push SSZ0050C89C__TAB mov ecx,esi call SUB_L004C8630 test eax,eax jz L00487740 push 00000004h mov ecx,esi call SUB_L004C8610 mov ax,[eax] cmp ax,0041h jc L004871F7 and eax,0000FFFFh sub eax,00000037h mov [esp+10h],eax jmp L00487203 L004871F7: and eax,0000FFFFh sub eax,00000030h mov [esp+10h],eax L00487203: test eax,eax jl L00487740 cmp eax,0000000Ah jge L00487740 mov eax,ebp push 00000000h push eax mov ecx,edi inc ebp call SUB_L0046FD40 mov esi,eax mov eax,ebp inc ebp push 00000000h push eax mov ecx,edi mov [esp+1Ch],ebp call SUB_L0046FD40 test esi,esi mov ebp,eax jz L00487740 test ebp,ebp jz L00487740 mov edx,[esp+10h] push esi shl edx,04h lea edi,[edx+ebx] lea ecx,[edi+000000A8h] call SUB_L004C83F0 push ebp lea ecx,[edi+00000148h] call SUB_L004C83F0 mov ebp,[esp+14h] jmp L004870FF L00487271: cmp dword ptr [esp+10h],FFFFFFFFh jz L00487740 mov ecx,[esp+18h] mov eax,ebp inc ebp push 00000000h push eax mov [esp+1Ch],ebp call SUB_L0046FD40 mov esi,eax test esi,esi jz L00487740 push SSZ0050C890__CHECKBOX mov ecx,esi call SUB_L004C8630 test eax,eax jz L00487378 lea ecx,[esp+24h] call SUB_L004C8060 lea eax,[esp+24h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],00000002h call SUB_L004C8670 lea ecx,[esp+24h] call SUB_L004C8360 push eax call SUB_L00489530 add esp,00000004h test al,al jz L0048735F push 00000030h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+14h],esi test esi,esi mov byte ptr [esp+000000B0h],03h jz L0048734D mov ecx,esi call SUB_L00487F90 mov ecx,[esp+10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [esp+000000B4h],04h mov dword ptr [esi],L004EF244 call SUB_L004C83F0 lea edi,[esi+18h] lea edx,[esp+24h] push edx mov ecx,edi call SUB_L004C83F0 mov ecx,edi mov [esi+28h],ebx call SUB_L004C8360 push eax call SUB_L00489610 add esp,00000004h mov [esi+2Ch],al jmp L0048734F L0048734D: xor esi,esi L0048734F: push esi mov ecx,ebx mov byte ptr [esp+000000B4h],02h call SUB_L00486F50 L0048735F: lea ecx,[esp+24h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L00487378: push SSZ0050C888__COLOR mov ecx,esi call SUB_L004C8630 test eax,eax jnz L0048765C push SSZ0050C85C__HUE mov ecx,esi call SUB_L004C8630 test eax,eax jnz L0048765C push SSZ0050C880__RADIO mov ecx,esi call SUB_L004C8630 test eax,eax jz L00487434 lea ecx,[esp+78h] call SUB_L004C8060 lea eax,[esp+78h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],00000008h call SUB_L004C8670 push 00000100h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov byte ptr [esp+000000B0h],09h jz L00487409 mov edx,[esp+10h] push ebx lea ecx,[esp+7Ch] push esi push ecx push edi push edx mov ecx,eax call SUB_L00488F20 jmp L0048740B L00487409: xor eax,eax L0048740B: push eax mov ecx,ebx mov byte ptr [esp+000000B4h],08h call SUB_L00486F50 lea ecx,[esp+78h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L00487434: push SSZ0050C874__UNIFONT mov ecx,esi call SUB_L004C8630 test eax,eax jz L004874FD lea ecx,[esp+44h] call SUB_L004C8060 lea eax,[esp+44h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],0000000Ah call SUB_L004C8670 push 00000030h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+14h],esi test esi,esi mov byte ptr [esp+000000B0h],0Bh jz L004874D2 mov ecx,esi call SUB_L00487F90 mov ecx,[esp+10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [esp+000000B4h],0Ch mov dword ptr [esi],L004EF28C call SUB_L004C83F0 lea edi,[esi+18h] lea edx,[esp+44h] push edx mov ecx,edi call SUB_L004C83F0 mov ecx,edi mov [esi+28h],ebx call SUB_L004C8360 push eax call SUB_L0048A180 add esp,00000004h mov [esi+2Ch],eax jmp L004874D4 L004874D2: xor esi,esi L004874D4: push esi mov ecx,ebx mov byte ptr [esp+000000B4h],0Ah call SUB_L00486F50 lea ecx,[esp+44h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L004874FD: push SSZ0050C86C__SLIDER mov ecx,esi call SUB_L004C8630 test eax,eax jz L004875A8 lea ecx,[esp+54h] call SUB_L004C8060 lea eax,[esp+54h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],0000000Dh call SUB_L004C8670 lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx push edx mov ecx,esi call SUB_L004C8840 push 00000038h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov byte ptr [esp+000000B0h],0Eh jz L0048757D mov ecx,[esp+1Ch] mov edx,[esp+20h] push ebx push ecx lea ecx,[esp+5Ch] push edx mov edx,[esp+1Ch] push ecx push edi push edx mov ecx,eax call SUB_L004886F0 jmp L0048757F L0048757D: xor eax,eax L0048757F: push eax mov ecx,ebx mov byte ptr [esp+000000B4h],0Dh call SUB_L00486F50 lea ecx,[esp+54h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L004875A8: push SSZ0050C864__DUMMY mov ecx,esi call SUB_L004C8630 test eax,eax jz L00487740 lea ecx,[esp+64h] call SUB_L004C8060 lea eax,[esp+64h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],0000000Fh call SUB_L004C8670 push 0000002Ch call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+14h],esi test esi,esi mov byte ptr [esp+000000B0h],10h jz L00487631 mov ecx,esi call SUB_L00487F90 mov ecx,[esp+10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [esp+000000B4h],11h mov dword ptr [esi],L004EF2BC call SUB_L004C83F0 lea edx,[esp+64h] lea ecx,[esi+18h] push edx call SUB_L004C83F0 mov [esi+28h],ebx jmp L00487633 L00487631: xor esi,esi L00487633: push esi mov ecx,ebx mov byte ptr [esp+000000B4h],0Fh call SUB_L00486F50 lea ecx,[esp+64h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L0048765C: lea ecx,[esp+34h] call SUB_L004C8060 lea eax,[esp+34h] push 00000025h push eax mov ecx,esi mov dword ptr [esp+000000B8h],00000005h call SUB_L004C8670 lea ecx,[esp+34h] call SUB_L004C8360 push eax call SUB_L00489A70 add esp,00000004h test al,al jz L00487727 push SSZ0050C85C__HUE mov ecx,esi call SUB_L004C8630 push 00000034h mov ebp,eax call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+74h],esi test esi,esi mov byte ptr [esp+000000B0h],06h jz L00487711 mov ecx,esi call SUB_L00487F90 mov ecx,[esp+10h] push edi mov [esi+04h],ecx lea ecx,[esi+08h] mov byte ptr [esp+000000B4h],07h mov dword ptr [esi],L004EF274 call SUB_L004C83F0 lea edi,[esi+18h] lea edx,[esp+34h] push edx mov ecx,edi call SUB_L004C83F0 mov ecx,edi mov [esi+28h],ebx call SUB_L004C8360 push eax call SUB_L00489B50 add esp,00000004h mov [esi+2Ch],eax mov [esi+30h],ebp jmp L00487713 L00487711: xor esi,esi L00487713: push esi mov ecx,ebx mov byte ptr [esp+000000B4h],05h call SUB_L00486F50 mov ebp,[esp+14h] L00487727: lea ecx,[esp+34h] mov dword ptr [esp+000000B0h],FFFFFFFFh call SUB_L004C8100 jmp L004870FF L00487740: mov ecx,[esp+000000A8h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,000000A4h retn ;------------------------------------------------------------------------------ Align 8 L00487760: sub esp,00000008h push ebp push esi push edi mov edi,ecx lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] mov ebp,[esp+20h] push ecx mov ecx,[edi+24h] push edx mov edx,[edi+20h] push eax mov eax,[edi+3Ch] push ecx push edx mov ecx,[eax+04h] push ebp add ecx,00000004h push ecx push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000028h test esi,esi jz L004877F4 L004877D2: mov eax,[edi+64h] test eax,eax jnz L004877ED mov al,[esi+58h] test al,al jz L004877E5 cmp al,[edi+58h] jnz L004877ED L004877E5: mov edx,[esi] push ebp mov ecx,esi call [edx+0Ch] L004877ED: mov esi,[esi+44h] test esi,esi jnz L004877D2 L004877F4: pop edi pop esi pop ebp add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00487800: mov edx,[esp+04h] push esi mov esi,ecx mov eax,[esi+000001F8h] cmp eax,edx jz L004878B0 push ebx xor ebx,ebx cmp eax,00000004h jz L00487822 cmp eax,00000009h jnz L00487825 L00487822: mov [esi+58h],bl L00487825: cmp edx,00000004h mov [esi+000001F8h],edx mov [esi+00000200h],ebx mov [esi+00000204h],ebx jz L00487877 cmp edx,00000009h jz L00487877 mov ecx,[esi+000000A0h] cmp ecx,ebx jle L00487866 mov eax,[esi+0000009Ch] push edi L00487852: mov edi,[eax] cmp [edi+04h],edx jnz L0048785F inc [esi+00000204h] L0048785F: add eax,00000004h dec ecx jnz L00487852 pop edi L00487866: mov eax,[esi+00000204h] cmp eax,ebx jz L00487877 dec eax mov [esi+00000204h],eax L00487877: mov ecx,[esi+0000021Ch] cmp ecx,ebx jz L0048788E mov eax,[esi+00000204h] push eax push ebx call SUB_L00435670 L0048788E: mov ecx,esi call SUB_L00486D00 mov eax,[esi+000001F8h] pop ebx cmp eax,00000004h jnz L004878A8 mov [esi+58h],al pop esi retn 0004h ;------------------------------------------------------------------------------ L004878A8: cmp eax,00000009h jnz L004878B0 mov [esi+58h],al L004878B0: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L004878C0: sub esp,0000001Ch mov eax,[esp+20h] push ebx push ebp push esi mov esi,ecx push edi mov ecx,[esp+34h] push 00000000h mov [esi+00000210h],ecx mov ecx,esi mov [esi+0000020Ch],eax mov dword ptr [esi+00000208h],00000001h call SUB_L004584E0 mov ecx,FFFFFEE3h xor edx,edx mov dword ptr [esp+10h],00000000h mov [esp+20h],ecx mov [esp+1Ch],edx mov edi,0000011Dh L0048790C: mov eax,[esp+10h] mov ebx,[esi+000001F8h] cmp ebx,eax mov eax,edx jz L0048791F lea eax,[edx+04h] L0048791F: mov eax,[eax+L004EF080] cmp edi,FFFFFFD3h mov [esp+18h],eax jle L00487935 mov ebx,0000000Ah jmp L0048793B L00487935: mov ebx,[esi+20h] sub ebx,00000039h L0048793B: cmp edi,FFFFFFD3h jle L00487952 lea eax,[edi-0000014Ah] lea ebp,[ecx+0000014Ah] mov [esp+14h],eax jmp L00487958 L00487952: mov ebp,ecx mov [esp+14h],edi L00487958: cmp [esp+30h],ebx jl L004879C7 cmp [esp+34h],ebp jl L004879C7 mov eax,[esp+18h] lea ecx,[esp+28h] lea edx,[esp+24h] push ecx push edx push eax call SUB_L004434A0 mov ecx,[esp+30h] mov eax,[esp+3Ch] add ecx,ebx add esp,0000000Ch cmp eax,ecx jge L004879BF mov edx,[esp+28h] mov eax,[esp+34h] add edx,ebp cmp eax,edx jge L004879BF mov eax,[esp+14h] mov ecx,[esp+34h] mov edx,[esp+30h] add eax,ecx push eax mov eax,[esp+1Ch] sub edx,ebx push edx push eax call SUB_L00443A70 add esp,0000000Ch test ax,ax jnz L00487A56 L004879BF: mov edx,[esp+1Ch] mov ecx,[esp+20h] L004879C7: mov ebx,[esp+10h] sub edi,00000042h inc ebx add edx,00000008h add ecx,00000042h cmp edi,FFFFFE89h mov [esp+10h],ebx mov [esp+1Ch],edx mov [esp+20h],ecx jg L0048790C mov eax,[esi+000000A0h] xor ebx,ebx xor ebp,ebp mov edi,00000068h test eax,eax jle L00487AAE L00487A04: mov edx,[esi+0000009Ch] mov ecx,[edx+ebx*4] mov edx,[esi+000001F8h] mov eax,[ecx+04h] cmp eax,edx jnz L00487A41 mov eax,[esi+00000200h] inc ebp cmp ebp,eax jle L00487A41 mov edx,[ecx] call [edx+04h] add eax,edi cmp eax,00000190h jg L00487AAE mov edx,[esp+34h] cmp edx,edi jl L00487A3F cmp edx,eax jl L00487A6C L00487A3F: mov edi,eax L00487A41: mov eax,[esi+000000A0h] inc ebx cmp ebx,eax jl L00487A04 pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L00487A56: mov ecx,[esp+10h] push ecx mov ecx,esi call SUB_L00487800 pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L00487A6C: mov eax,[esi+0000009Ch] push edi push edx mov edx,[esp+38h] mov ecx,[eax+ebx*4] push edx mov eax,[ecx] call [eax+10h] test eax,eax jz L00487AA4 mov eax,[esi+0000009Ch] mov ecx,[eax+ebx*4] mov [esi+00000218h],edi mov [esi+00000214h],ecx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L00487AA4: mov dword ptr [esi+00000214h],00000000h L00487AAE: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 L00487AC0: xor eax,eax push eax mov [ecx+00000208h],eax mov [ecx+00000214h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L00487AE0: mov eax,[ecx+00000208h] test eax,eax jz L00487B32 mov eax,[ecx+00000214h] test eax,eax jz L00487B0F mov ecx,[ecx+00000218h] mov edx,[eax] push ecx mov ecx,[esp+0Ch] push ecx mov ecx,[esp+0Ch] push ecx mov ecx,eax call [edx+10h] retn 0008h ;------------------------------------------------------------------------------ L00487B0F: mov edx,[esp+08h] mov eax,[ecx+00000210h] push 00000001h push 00000000h sub edx,eax mov eax,[esp+0Ch] push 00000001h push edx sub eax,[ecx+0000020Ch] push eax call SUB_L00457800 L00487B32: retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L00487B40: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000A0h] mov byte ptr [esi+00000270h],00h test eax,eax jle L00487B7D L00487B57: mov eax,[esi+0000009Ch] mov ecx,[eax+edi*4] mov eax,[esi+000001F8h] mov edx,[ecx+04h] cmp edx,eax jnz L00487B72 mov eax,[ecx] call [eax+14h] L00487B72: mov eax,[esi+000000A0h] inc edi cmp edi,eax jl L00487B57 L00487B7D: mov al,[esi+00000270h] test al,al jz L00487B8E mov ecx,esi call SUB_L00486D00 L00487B8E: mov eax,[esi+000001F8h] mov ecx,00000009h cmp eax,ecx jnz L00487BF2 mov eax,[esi+00000244h] cmp [eax+58h],cl jnz L00487BF2 mov byte ptr [eax+000000B8h],00h mov ecx,[esi+00000244h] call SUB_L00422FE0 mov ecx,[esi+0000024Ch] mov eax,[ecx+000000C0h] test eax,eax jz L00487BE0 L00487BCA: push eax call SUB_L004C25E0 mov ecx,[esi+0000024Ch] mov eax,[ecx+000000C0h] test eax,eax jnz L00487BCA L00487BE0: mov ecx,[esi+0000024Ch] push 00000000h push L007049FC call SUB_L004C2580 L00487BF2: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00487C00: sub esp,00000018h push ebp push esi mov ebp,ecx push SSZ0050C99C_OptionsGump__Apply__begin__ mov [esp+0Ch],ebp call SUB_L004C7F50 push SSZ0050C970_OptionsGump__Apply__handle_gener call SUB_L004C7F50 mov byte ptr [L00C8C484],00h mov eax,[ebp+000000A0h] add esp,00000008h xor esi,esi test eax,eax jle L00487C4E L00487C35: mov eax,[ebp+0000009Ch] mov ecx,[eax+esi*4] mov edx,[ecx] call [edx+0Ch] mov eax,[ebp+000000A0h] inc esi cmp esi,eax jl L00487C35 L00487C4E: push ebx push edi push SSZ0050C94C_OptionsGump__Apply__handle_macro call SUB_L004C7F50 mov eax,[L00C837F4] mov esi,[L00C837F8] add esp,00000004h mov dword ptr [esp+14h],00000000h test eax,eax jle L00487CC3 L00487C74: mov eax,[esi+14h] mov ebx,[esi+000000E0h] xor edi,edi test eax,eax jle L00487CA5 lea ebp,[esi+20h] L00487C86: mov eax,[ebp+00h] test eax,eax jz L00487C96 push eax call SUB_L004D4F9E add esp,00000004h L00487C96: mov eax,[esi+14h] inc edi add ebp,00000014h cmp edi,eax jl L00487C86 mov ebp,[esp+10h] L00487CA5: push esi call SUB_L004D4F9E mov eax,[esp+18h] mov ecx,[L00C837F4] add esp,00000004h inc eax cmp eax,ecx mov esi,ebx mov [esp+14h],eax jl L00487C74 L00487CC3: xor eax,eax mov [L00C837F4],eax mov [L00C837F8],eax mov edi,[ebp+00000254h] mov [esp+20h],eax cmp edi,eax mov [esp+14h],edi jz L00487DF8 jmp L00487CEB L00487CE7: mov edi,[esp+14h] L00487CEB: push 000000E4h call SUB_L004D4FA9 mov ebp,eax xor ecx,ecx add esp,00000004h mov [esp+18h],ecx mov [ebp+000000E0h],ecx mov eax,[edi] mov [ebp+00h],eax mov edx,[edi+04h] mov [ebp+04h],edx mov eax,[edi+08h] mov [ebp+08h],eax mov edx,[edi+0Ch] mov [ebp+0Ch],edx mov eax,[edi+10h] mov [ebp+10h],eax mov eax,[edi+14h] cmp eax,ecx mov [ebp+14h],eax jle L00487DBB mov ecx,edi lea esi,[edi+20h] sub ecx,ebp mov [esp+1Ch],esi lea ebx,[ebp+18h] mov [esp+24h],ecx L00487D43: mov edx,[ecx+ebx] mov [ebx],edx mov eax,[esi-04h] mov [ebx+04h],eax mov eax,[esi] test eax,eax jz L00487D9A mov edi,eax or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax or ecx,FFFFFFFFh mov [ebx+08h],edx mov edi,[esi] 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 edi,[esp+14h] mov ecx,[esp+24h] mov esi,[esp+1Ch] jmp L00487DA1 L00487D9A: mov dword ptr [ebx+08h],00000000h L00487DA1: mov eax,[esp+18h] mov edx,[ebp+14h] inc eax add esi,00000014h add ebx,00000014h cmp eax,edx mov [esp+18h],eax mov [esp+1Ch],esi jl L00487D43 L00487DBB: mov eax,[esp+20h] test eax,eax jnz L00487DCB mov [L00C837F8],ebp jmp L00487DD1 L00487DCB: mov [eax+000000E0h],ebp L00487DD1: mov ecx,[L00C837F4] mov edi,[edi+000000E0h] inc ecx mov [esp+20h],ebp test edi,edi mov [esp+14h],edi mov [L00C837F4],ecx jnz L00487CE7 mov ebp,[esp+10h] L00487DF8: push SSZ0050C928_OptionsGump__Apply__save_macros_ call SUB_L004C7F50 call SUB_L00472430 push SSZ0050C900_OptionsGump__Apply__handle_filte call SUB_L004C7F50 mov ecx,[ebp+00000244h] add esp,00000008h cmp byte ptr [ecx+58h],09h jnz L00487F0C mov edx,[ebp+00000248h] mov al,[edx+000000B8h] mov [L00C8C49D],al mov ecx,[ebp+00000240h] mov edx,[ecx+000000D4h] dec edx mov [L00C87D44],edx mov eax,[ebp+00000240h] mov edx,[eax+000000C0h] test edx,edx jz L00487EAA mov ebx,L00C87A98 mov ebp,L00C87AE8 L00487E62: mov eax,[edx+04h] test eax,eax jz L00487EA6 mov edi,[edx] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax repne scasb not ecx sub edi,ecx add ebx,00000004h mov eax,ecx mov esi,edi mov edi,ebp add ebp,0000001Eh shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[edx] mov eax,[ecx+000000F4h] mov [ebx-04h],eax mov edx,[edx+04h] test edx,edx jnz L00487E62 L00487EA6: mov ebp,[esp+10h] L00487EAA: mov ecx,[ebp+00000244h] xor eax,eax mov dl,[ecx+000000B8h] mov [L00C87D40],eax mov [L0050CC2E],dl mov ecx,[ebp+0000024Ch] mov esi,[ecx+000000C0h] test esi,esi jz L00487F0C jmp L00487EDA L00487ED5: mov eax,[L00C87D40] L00487EDA: mov ecx,[esi+04h] test ecx,ecx jz L00487F0C lea ecx,[eax+eax*2] inc eax mov [L00C87D40],eax mov eax,[esi] lea edx,[ecx+ecx*4] add eax,000000F4h push eax lea ecx,[L00C867D8+edx*4] push ecx call SUB_L004C4430 mov esi,[esi+04h] add esp,00000008h test esi,esi jnz L00487ED5 L00487F0C: push SSZ0050C8DC_OptionsGump__Apply__save_filters call SUB_L004C7F50 push 00000000h call SUB_L0047BD90 push 00000001h call SUB_L0047BD90 push SSZ0050C8B0_OptionsGump__Apply__save_config_ call SUB_L004C7F50 add esp,00000010h call SUB_L0045A2C0 call SUB_L0040C940 mov al,[L00C8C484] pop edi test al,al pop ebx jz L00487F62 push 00000001h push 00000000h push 00000001h push 00000000h lea ecx,[ebp+000001E8h] call SUB_L004C8360 push eax call SUB_L00455DD0 add esp,00000014h L00487F62: pop esi pop ebp add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 L00487F70: push esi mov esi,ecx call SUB_L00487FE0 test byte ptr [esp+08h],01h jz L00487F88 push esi call SUB_L004D4F9E add esp,00000004h L00487F88: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00487F90: push FFFFFFFFh push L004E49AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi lea ecx,[esi+08h] call SUB_L004C8060 lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8060 mov ecx,[esp+08h] mov dword ptr [esi],L004EF25C mov eax,esi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00487FE0: push FFFFFFFFh push L004E49CB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00488040: sub esp,00000010h push ebx push esi push edi mov esi,ecx call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov ebx,eax mov al,[L00D1A682] push 00000000h mov [esp+10h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 add esp,0000000Ch lea ecx,[esp+14h] lea edx,[esp+10h] lea eax,[esp+18h] push ecx push edx push eax push 000001B2h lea ecx,[esi+08h] call SUB_L004C8360 push eax call SUB_L004C6B20 push edi call SUB_L004C5640 push ebx call SUB_L004C4240 mov ecx,[esp+28h] push ecx call SUB_L004C4270 mov edx,[esp+30h] add esp,00000020h pop edi pop esi lea eax,[edx+01h] pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004880C0: push ecx push ebx push ebp push esi mov esi,[esp+14h] xor eax,eax push edi mov ax,[esi+02h] mov ebp,[esp+1Ch] mov edi,ecx push eax xor ecx,ecx xor edx,edx mov al,[edi+2Ch] mov cx,[esi] test al,al lea ebx,[esi+04h] push ecx setnz dl push ebx push ebp add edx,000000D2h push 00000046h push edx push SUB_L004B95C0 call SUB_L00443500 call SUB_L004C5630 mov [esp+34h],eax call SUB_L004C4230 mov [esp+38h],eax mov al,[L00D1A682] push 00000000h mov [esp+30h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 mov ecx,[esp+48h] mov edx,[L0050C7E8] add esp,00000028h push 00000000h push ecx push edx push ebp push 00000060h lea ecx,[edi+08h] call SUB_L004C8360 push eax xor eax,eax mov ax,[esi] push eax push 000001B2h push ebx call SUB_L004C73A0 mov ecx,[esp+3Ch] push ecx call SUB_L004C5640 mov edx,[esp+44h] push edx call SUB_L004C4240 mov eax,[esp+3Ch] push eax call SUB_L004C4270 add esp,00000030h pop edi pop esi pop ebp pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488190: push FFFFFFFFh push L004E49E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi mov esi,ecx push SSZ0050C9B8_CheckboxOptionItem__Apply__begin call SUB_L004C7F50 mov al,[esi+2Ch] add esp,00000004h lea edi,[esi+18h] push eax mov ecx,edi call SUB_L004C8360 push eax call SUB_L004898B0 add esp,00000008h lea ecx,[esp+0Ch] push SSZ005006D4_TranslationServerAutomatic call SUB_L004C8240 mov ecx,eax mov dword ptr [esp+24h],00000000h call SUB_L004C8360 push eax mov ecx,edi call SUB_L004C8360 push eax call SUB_L004C4360 add esp,00000008h lea ecx,[esp+0Ch] test eax,eax setz bl mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 test bl,bl jz L0048825E mov ecx,edi call SUB_L004C8360 push eax call SUB_L00489780 mov cl,[esi+2Ch] add esp,00000004h cmp al,cl jz L00488250 pop edi pop esi mov byte ptr [L00505E46],01h mov byte ptr [L00505E47],00h pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00488250: mov byte ptr [L00505E46],00h mov byte ptr [L00505E47],01h L0048825E: mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00488270: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L004C8360 push eax call SUB_L00489780 mov cl,[esi+2Ch] add esp,00000004h cmp al,cl jz L00488298 mov [esi+2Ch],al mov eax,[esi+28h] mov byte ptr [eax+00000270h],01h L00488298: pop esi retn ;------------------------------------------------------------------------------ Align 8 L004882A0: sub esp,00000008h lea eax,[esp+04h] push esi mov esi,ecx lea ecx,[esp+04h] push eax push ecx push 000000D2h call SUB_L004434A0 mov eax,[esp+1Ch] add esp,0000000Ch cmp eax,00000046h jl L004882F2 mov edx,[esp+04h] add edx,00000046h cmp eax,edx jge L004882F2 mov eax,[esp+14h] mov ecx,[esp+18h] cmp eax,ecx jl L004882F2 mov edx,[esp+08h] add edx,ecx cmp eax,edx jge L004882F2 mov al,[esi+2Ch] test al,al setz al mov [esi+2Ch],al L004882F2: mov ecx,[esi+28h] call SUB_L00486D00 xor eax,eax pop esi add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488310: push esi mov esi,ecx call SUB_L00488330 test byte ptr [esp+08h],01h jz L00488328 push esi call SUB_L004D4F9E add esp,00000004h L00488328: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00488330: push FFFFFFFFh push L004E4A0B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00488390: sub esp,0000000Ch lea eax,[esp+04h] lea edx,[esp+00h] add ecx,00000008h push eax lea eax,[esp+0Ch] push edx push eax push 000001B2h call SUB_L004C8360 push eax call SUB_L004C6B20 mov ecx,[esp+14h] lea eax,[ecx+01h] add esp,00000020h retn ;------------------------------------------------------------------------------ L004883C0: sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+1Ch] push edi mov ebp,[esp+24h] mov edi,ecx xor edx,edx mov dx,[esi] xor ecx,ecx mov cx,[esi+02h] lea eax,[esi+04h] push ecx push edx push eax push ebp push 00000046h push 000000D4h push SUB_L004B95C0 mov [esp+2Ch],edi mov [esp+30h],eax call SUB_L00443500 mov eax,[edi+30h] add esp,0000001Ch test eax,eax jz L0048841B mov eax,[edi+2Ch] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor ecx,ecx mov cx,[L00C42D08+edx*8] jmp L0048841E L0048841B: mov ecx,[edi+2Ch] L0048841E: mov al,[L00C8C4A4] test al,al mov eax,ecx jz L00488435 and eax,00007FE0h and ecx,0000001Fh shl eax,1 or eax,ecx L00488435: or al,01h lea ecx,[esp+20h] mov edi,eax lea eax,[esp+24h] push eax push ecx push 000000D4h call SUB_L004434A0 mov eax,[esp+30h] add esp,0000000Ch add eax,ebp mov edx,ebp cmp ebp,eax jge L0048849A mov ebx,[esp+20h] L00488460: mov ecx,00000046h lea eax,[ebx+46h] cmp eax,ecx jle L0048848F L0048846C: xor eax,eax mov ax,[esi] imul eax,edx add eax,ecx cmp word ptr [esi+eax*2+04h],0000h jnz L00488487 mov [esi+eax*2+04h],di mov ebx,[esp+20h] L00488487: inc ecx lea eax,[ebx+46h] cmp ecx,eax jl L0048846C L0048848F: mov ecx,[esp+24h] inc edx add ecx,ebp cmp edx,ecx jl L00488460 L0048849A: call SUB_L004C5630 mov edi,eax call SUB_L004C4230 mov dl,[L00D1A682] push 00000000h mov ebx,eax mov [esp+1Ch],dl call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 mov eax,[esp+34h] mov ecx,[L0050C7E8] mov edx,[esp+1Ch] add esp,0000000Ch push 00000000h push eax push ecx push ebp push 00000060h lea ecx,[edx+08h] call SUB_L004C8360 mov ecx,[esp+28h] push eax xor eax,eax mov ax,[esi] push eax push 000001B2h push ecx call SUB_L004C73A0 push edi call SUB_L004C5640 push ebx call SUB_L004C4240 mov edx,[esp+44h] push edx call SUB_L004C4270 add esp,00000030h pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn 000Ch ;------------------------------------------------------------------------------ L00488520: push esi mov esi,ecx push SSZ0050C9DC_ColorOptionItem__Apply__begin__ call SUB_L004C7F50 mov eax,[esi+2Ch] add esp,00000004h lea ecx,[esi+18h] push eax call SUB_L004C8360 push eax call SUB_L00489DD0 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ Align 16 L00488550: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L004C8360 push eax call SUB_L00489CC0 mov ecx,[esi+2Ch] add esp,00000004h cmp eax,ecx jz L00488578 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000270h],01h L00488578: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00488580: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4A2B push eax mov eax,[L00C8C488] mov fs:[00000000h],esp sub esp,00000008h test eax,eax push esi mov esi,ecx jnz L0048864D lea eax,[esp+08h] lea ecx,[esp+04h] push eax push ecx push 000000D4h call SUB_L004434A0 mov eax,[esp+28h] add esp,0000000Ch cmp eax,00000046h jl L0048864D mov edx,[esp+04h] add edx,00000046h cmp eax,edx jge L0048864D mov eax,[esp+20h] mov ecx,[esp+24h] cmp eax,ecx jl L0048864D mov edx,[esp+08h] add edx,ecx cmp eax,edx jge L0048864D push 000000E8h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00488622 push 00000003h push L007049FC push 00000000h push 00000078h push 00000064h push 00000064h mov ecx,eax call SUB_L00469C80 jmp L00488624 L00488622: xor eax,eax L00488624: mov [L00C8C488],eax mov byte ptr [eax+000000C4h],01h mov ecx,[L00C8C488] push 00000001h push 00000000h mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004587A0 mov [L00C8C48C],esi L0048864D: mov ecx,[esp+0Ch] xor eax,eax pop esi mov fs:[00000000h],ecx add esp,00000014h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488670: push esi mov esi,ecx call SUB_L00488690 test byte ptr [esp+08h],01h jz L00488688 push esi call SUB_L004D4F9E add esp,00000004h L00488688: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00488690: push FFFFFFFFh push L004E4A4B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004886F0: push FFFFFFFFh push L004E4A73 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi lea ebx,[esi+08h] mov ecx,ebx call SUB_L004C8060 lea edi,[esi+18h] mov dword ptr [esp+18h],00000000h mov ecx,edi call SUB_L004C8060 mov ecx,[esp+24h] mov eax,[esp+20h] push ecx mov ecx,ebx mov dword ptr [esp+1Ch],00000001h mov dword ptr [esi],L004EF2A4 mov [esi+04h],eax call SUB_L004C83F0 mov edx,[esp+28h] mov ecx,edi push edx call SUB_L004C83F0 mov eax,[esp+34h] mov ecx,edi mov [esi+28h],eax call SUB_L004C8360 push eax call SUB_L00489EF0 mov ecx,[esp+30h] mov edx,[esp+34h] add esp,00000004h mov [esi+2Ch],eax mov [esi+30h],ecx mov ecx,[esp+10h] mov [esi+34h],edx mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0018h ;------------------------------------------------------------------------------ Align 16 L004887A0: push esi mov esi,ecx call SUB_L004887C0 test byte ptr [esp+08h],01h jz L004887B8 push esi call SUB_L004D4F9E add esp,00000004h L004887B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004887C0: push FFFFFFFFh push L004E4A8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00488820: sub esp,0000000Ch lea eax,[esp+04h] lea edx,[esp+00h] add ecx,00000008h push eax lea eax,[esp+0Ch] push edx push eax push 000001B2h call SUB_L004C8360 push eax call SUB_L004C6B20 mov ecx,[esp+14h] lea eax,[ecx+15h] add esp,00000020h retn ;------------------------------------------------------------------------------ L00488850: push FFFFFFFFh push L004E4AA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000064h push ebx push ebp push esi push edi mov ebp,ecx call SUB_L004C5630 mov [esp+18h],eax call SUB_L004C4230 mov [esp+1Ch],eax mov al,[L00D1A682] push 00000000h mov [esp+24h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 mov ecx,[esp+00000098h] mov edx,[L0050C7E8] mov esi,[esp+00000094h] mov edi,[esp+00000090h] add esp,0000000Ch lea ebx,[edi+04h] push 00000000h push ecx push edx push esi push 00000046h lea ecx,[ebp+08h] call SUB_L004C8360 push eax xor eax,eax mov ax,[edi] push eax push 000001CCh push ebx call SUB_L004C73A0 mov edx,[ebp+00h] add esp,00000024h mov ecx,ebp call [edx+04h] xor ecx,ecx xor edx,edx mov cx,[edi+02h] mov dx,[edi] push ecx lea eax,[eax+esi-15h] push edx push ebx push eax push 00000046h push 000000D5h push SUB_L004B9B80 mov [esp+000000A0h],eax call SUB_L00443500 lea eax,[esp+30h] lea ecx,[esp+2Ch] push eax push ecx push 000000D5h call SUB_L004434A0 mov edx,[esp+38h] xor eax,eax mov ax,[edi+02h] xor ecx,ecx mov cx,[edi] lea esi,[edx+46h] mov edx,[esp+000000ACh] push eax push ecx push ebx push edx push esi push 000000D6h push SUB_L004B9B80 call SUB_L00443500 add esp,00000044h lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push 000000D6h call SUB_L004434A0 mov ecx,[esp+1Ch] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] add esi,ecx mov ecx,[esp+00000090h] push edx push eax push ebx push ecx push esi push 000000D6h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+38h] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] add esi,ecx mov ecx,[esp+000000ACh] push edx push eax push ebx push ecx push esi push 000000D6h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+54h] xor edx,edx mov dx,[edi+02h] add esp,00000044h xor eax,eax add esi,ecx mov ax,[edi] mov ecx,[esp+00000084h] push edx push eax push ebx push ecx push esi push 000000D7h push SUB_L004B9B80 call SUB_L00443500 lea edx,[esp+30h] lea eax,[esp+2Ch] push edx push eax push 000000D7h call SUB_L004434A0 mov ecx,[ebp+2Ch] mov eax,[esp+38h] push ecx lea edx,[esp+60h] push L004FF074 push edx add esi,eax call SUB_L004D512F add esp,00000034h lea eax,[esp+34h] lea ecx,[esp+24h] push eax call SUB_L004C8240 mov ecx,[esp+0000008Ch] mov edx,[L0050C7E8] mov eax,[esp+00000084h] push ecx push edx lea ecx,[esi+06h] push eax push ecx lea ecx,[esp+34h] mov dword ptr [esp+0000008Ch],00000000h call SUB_L004C8360 push eax xor edx,edx mov dx,[edi] push edx push ebx call SUB_L004C6100 lea eax,[esp+30h] lea ecx,[esp+2Ch] push eax push ecx push 000000D8h call SUB_L004434A0 mov ecx,[esp+38h] mov edx,FFFFFFBAh sub edx,ecx mov ecx,[ebp+30h] add esi,edx xor eax,eax mov ax,[edi+02h] xor edx,edx mov dx,[edi] push eax mov eax,[esp+000000B0h] push edx push ebx push eax mov eax,[ebp+2Ch] sub eax,ecx imul eax,esi mov esi,[ebp+34h] cdq sub esi,ecx idiv esi add eax,00000046h push eax push 000000D8h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+5Ch] add esp,00000044h push ecx call SUB_L004C5640 mov edx,[esp+20h] push edx call SUB_L004C4240 mov eax,[esp+28h] push eax call SUB_L004C4270 add esp,0000000Ch lea ecx,[esp+24h] mov dword ptr [esp+7Ch],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+74h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000070h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488B20: push esi mov esi,ecx push SSZ0050C9FC_SliderOptionItem__Apply__begin__ call SUB_L004C7F50 mov eax,[esi+2Ch] add esp,00000004h lea ecx,[esi+18h] push eax call SUB_L004C8360 push eax call SUB_L0048A070 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ Align 16 L00488B50: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L004C8360 push eax call SUB_L00489FB0 mov ecx,[esi+2Ch] add esp,00000004h cmp eax,ecx jz L00488B78 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000270h],01h L00488B78: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00488B80: sub esp,00000008h lea eax,[esp+04h] push esi mov esi,ecx push edi lea ecx,[esp+08h] push eax push ecx push 000000D5h call SUB_L004434A0 mov edi,[esp+14h] lea edx,[esp+18h] lea eax,[esp+14h] push edx push eax push 000000D6h call SUB_L004434A0 mov eax,[esp+20h] lea edx,[esp+24h] push edx lea ecx,[eax+edi] lea edi,[ecx+eax*2] lea eax,[esp+24h] push eax push 000000D7h call SUB_L004434A0 mov ecx,[esp+2Ch] mov edx,[esp+38h] add esp,00000024h add edi,ecx cmp edx,00000046h jg L00488BE8 mov eax,[esi+30h] jmp L00488C07 L00488BE8: lea ecx,[edi+46h] cmp edx,ecx jl L00488BF4 mov eax,[esi+34h] jmp L00488C07 L00488BF4: mov ecx,[esi+30h] mov eax,[esi+34h] sub eax,ecx add edx,FFFFFFBAh imul eax,edx cdq idiv edi add eax,ecx L00488C07: cmp eax,[esi+2Ch] jz L00488C17 mov ecx,[esi+28h] mov [esi+2Ch],eax call SUB_L00486D00 L00488C17: pop edi mov eax,00000001h pop esi add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488C30: push esi mov esi,ecx call SUB_L00488C50 test byte ptr [esp+08h],01h jz L00488C48 push esi call SUB_L004D4F9E add esp,00000004h L00488C48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00488C50: push FFFFFFFFh push L004E4ACB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000000h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L00488CB0: sub esp,0000000Ch lea eax,[esp+04h] lea edx,[esp+00h] add ecx,00000008h push eax lea eax,[esp+0Ch] push edx push eax push 000001B2h call SUB_L004C8360 push eax call SUB_L004C6B20 mov ecx,[esp+14h] lea eax,[ecx+4Ch] add esp,00000020h retn ;------------------------------------------------------------------------------ L00488CE0: sub esp,00000028h push ebx push ebp push esi push edi mov ebp,ecx call SUB_L004C5630 mov [esp+14h],eax call SUB_L004C4230 mov [esp+18h],eax mov al,[L00D1A682] push 00000000h mov [esp+20h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 mov ecx,[esp+50h] mov edx,[L0050C7E8] mov esi,[esp+4Ch] mov edi,[esp+48h] add esp,0000000Ch lea ebx,[edi+04h] push 00000000h push ecx push edx push esi push 00000046h lea ecx,[ebp+08h] call SUB_L004C8360 push eax xor eax,eax mov ax,[edi] push eax push 000001CCh push ebx call SUB_L004C73A0 lea ecx,[esp+44h] lea edx,[esp+34h] push ecx push edx push 000000D0h call SUB_L004434A0 mov eax,[ebp+00h] add esp,00000030h mov ecx,ebp mov word ptr [esp+24h],0054h mov word ptr [esp+26h],0068h mov word ptr [esp+28h],0069h mov word ptr [esp+2Ah],0073h mov word ptr [esp+2Ch],0020h mov word ptr [esp+2Eh],0046h mov word ptr [esp+30h],006Fh mov word ptr [esp+32h],006Eh mov word ptr [esp+34h],0074h mov word ptr [esp+36h],0000h call [eax+04h] lea ebx,[eax+esi-4Ch] xor esi,esi L00488DBD: push esi call SUB_L004C5640 xor ecx,ecx xor edx,edx mov cx,[edi+02h] mov dx,[edi] push ecx lea eax,[edi+04h] push edx mov edx,[ebp+2Ch] push eax xor eax,eax cmp esi,edx push ebx setz al add eax,000000D0h push 00000046h push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+64h] mov edx,[L0050C7E8] mov eax,[esp+30h] push ecx push edx add eax,0000004Ch xor edx,edx push ebx mov dx,[edi] lea ecx,[esp+50h] push eax push ecx lea eax,[edi+04h] push edx push eax call SUB_L004C6100 add esp,0000003Ch add ebx,00000019h inc esi cmp esi,00000003h jl L00488DBD mov eax,[esp+14h] push eax call SUB_L004C5640 mov ecx,[esp+1Ch] push ecx call SUB_L004C4240 mov edx,[esp+24h] push edx call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000028h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L00488E60: push esi mov esi,ecx push SSZ0050CA20_UnifontOptionItem__Apply__begin_ call SUB_L004C7F50 mov eax,[esi+2Ch] add esp,00000004h lea ecx,[esi+18h] push eax call SUB_L004C8360 push eax call SUB_L0048A300 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ Align 16 L00488E90: push esi mov esi,ecx lea ecx,[esi+18h] call SUB_L004C8360 push eax call SUB_L0048A240 mov ecx,[esi+2Ch] add esp,00000004h cmp eax,ecx jz L00488EB8 mov [esi+2Ch],eax mov eax,[esi+28h] mov byte ptr [eax+00000270h],01h L00488EB8: pop esi retn ;------------------------------------------------------------------------------ Align 8 L00488EC0: push esi mov esi,ecx mov eax,[esi] call [eax+04h] mov ecx,[esp+0Ch] mov edx,[esp+10h] sub ecx,edx sub ecx,eax mov eax,51EB851Fh add ecx,0000004Ch imul ecx sar edx,03h mov ecx,edx shr ecx,1Fh add edx,ecx jns L00488EEE xor edx,edx jmp L00488EF8 L00488EEE: cmp edx,00000002h jle L00488EF8 mov edx,00000002h L00488EF8: cmp edx,[esi+2Ch] jz L00488F08 mov ecx,[esi+28h] mov [esi+2Ch],edx call SUB_L00486D00 L00488F08: mov eax,00000001h pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00488F20: push FFFFFFFFh push L004E4B1C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebp push esi mov esi,ecx push edi mov [esp+0Ch],esi lea ebp,[esi+08h] mov ecx,ebp call SUB_L004C8060 lea edi,[esi+18h] mov dword ptr [esp+28h],00000000h mov ecx,edi call SUB_L004C8060 mov dword ptr [esi],L004EF25C lea ecx,[esi+2Ch] mov dword ptr [esp+28h],00000001h call SUB_L004C8060 push SUB_L004C8100 push SUB_L004C8060 lea eax,[esi+3Ch] push 0000000Ch push 00000010h push eax mov byte ptr [esp+3Ch],02h call SUB_L004D549C mov ecx,[esp+34h] mov eax,[esp+30h] push ecx mov ecx,ebp mov byte ptr [esp+2Ch],03h mov dword ptr [esi],L004EF2D4 mov [esi+04h],eax call SUB_L004C83F0 mov edx,[esp+38h] mov ecx,edi push edx call SUB_L004C83F0 mov eax,[esp+40h] mov ecx,edi mov [esi+28h],eax call SUB_L004C8360 push eax call SUB_L0048A3D0 add esp,00000004h lea ecx,[esp+10h] push eax call SUB_L004C8240 lea ecx,[esp+10h] mov byte ptr [esp+28h],04h push ecx lea ecx,[esi+2Ch] call SUB_L004C83F0 lea ecx,[esp+10h] mov byte ptr [esp+28h],03h call SUB_L004C8100 mov ecx,[esp+3Ch] mov dword ptr [esi+000000FCh],00000000h call SUB_L004C8360 mov edi,eax mov ax,[edi] test ax,ax jz L00489029 L00489017: cmp ax,005Bh jz L00489029 mov ax,[edi+02h] add edi,00000002h test ax,ax jnz L00489017 L00489029: cmp word ptr [edi],0000h jz L00489032 add edi,00000002h L00489032: mov ax,[edi] test ax,ax jz L00489095 L0048903A: cmp ax,005Dh jz L00489095 test ax,ax jz L0048906F L00489045: cmp ax,005Dh jz L0048906F cmp ax,007Ch jz L0048906F mov edx,[esi+000000FCh] push eax shl edx,04h add edi,00000002h lea ecx,[edx+esi+3Ch] call SUB_L004C8500 mov ax,[edi] test ax,ax jnz L00489045 L0048906F: mov edx,[esi+000000FCh] inc edx mov [esi+000000FCh],edx mov ax,[edi] test ax,ax jz L0048908D cmp ax,005Dh jz L0048908D add edi,00000002h L0048908D: mov ax,[edi] test ax,ax jnz L0048903A L00489095: mov eax,[esi+000000FCh] xor edi,edi test eax,eax jle L004890BF lea ebp,[esi+3Ch] L004890A4: push ebp lea ecx,[esi+2Ch] call SUB_L004C8590 test eax,eax jnz L004890BF mov eax,[esi+000000FCh] inc edi add ebp,00000010h cmp edi,eax jl L004890A4 L004890BF: cmp edi,[esi+000000FCh] jnz L004890D3 lea eax,[esi+3Ch] lea ecx,[esi+2Ch] push eax call SUB_L004C83F0 L004890D3: mov ecx,[esp+20h] mov eax,esi pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000020h retn 0014h ;------------------------------------------------------------------------------ Align 8 L004890F0: push esi mov esi,ecx call SUB_L00489110 test byte ptr [esp+08h],01h jz L00489108 push esi call SUB_L004D4F9E add esp,00000004h L00489108: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L00489110: push FFFFFFFFh push L004E4B4E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi push SUB_L004C8100 push 0000000Ch lea eax,[esi+3Ch] push 00000010h push eax mov dword ptr [esp+20h],00000001h call SUB_L004D53BE lea ecx,[esi+2Ch] mov byte ptr [esp+10h],00h call SUB_L004C8100 mov dword ptr [esi],L004EF25C lea ecx,[esi+18h] mov dword ptr [esp+10h],00000002h call SUB_L004C8100 lea ecx,[esi+08h] mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L00489190: sub esp,0000000Ch lea eax,[esp+04h] lea edx,[esp+08h] push esi mov esi,ecx lea ecx,[esp+04h] push eax push ecx push edx push 000001B2h lea ecx,[esi+08h] call SUB_L004C8360 push eax call SUB_L004C6B20 mov esi,[esi+000000FCh] mov ecx,[esp+18h] add esp,00000014h lea eax,[esi+esi*4] pop esi lea edx,[ecx+eax*4] lea eax,[eax+edx+01h] add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 L004891E0: sub esp,00000014h push ebx push ebp push esi push edi mov edi,ecx call SUB_L004C5630 mov [esp+14h],eax call SUB_L004C4230 mov [esp+18h],eax mov al,[L00D1A682] push 00000000h mov [esp+20h],al call SUB_L004C5640 push 00000006h call SUB_L004C4240 push 00000000h call SUB_L004C4270 mov ecx,[esp+3Ch] mov edx,[L0050C7E8] mov ebx,[esp+38h] mov esi,[esp+34h] add esp,0000000Ch lea ebp,[esi+04h] push 00000000h push ecx push edx push ebx push 00000046h lea ecx,[edi+08h] call SUB_L004C8360 push eax xor eax,eax mov ax,[esi] push eax push 000001CCh push ebp call SUB_L004C73A0 lea ecx,[esp+44h] lea edx,[esp+34h] push ecx push edx push 000000D0h call SUB_L004434A0 mov eax,[edi] mov ebp,[edi+000000FCh] add esp,00000030h mov ecx,edi call [eax+04h] lea ecx,[ebp+ebp*4+00h] mov dword ptr [esp+28h],00000000h lea ecx,[ecx+ecx*4] sub ebx,ecx test ebp,ebp lea ebx,[eax+ebx-01h] jle L00489315 lea ebp,[edi+3Ch] L00489296: lea eax,[edi+2Ch] mov ecx,ebp push eax call SUB_L004C8590 neg eax sbb eax,eax xor edx,edx mov dx,[esi+02h] xor ecx,ecx mov cx,[esi] push edx push ecx lea ecx,[esi+04h] neg eax push ecx add eax,000000D0h push ebx push 00000046h push eax push SUB_L004B9B80 call SUB_L00443500 mov edx,[esp+4Ch] mov eax,[L0050C7E8] mov ecx,[esp+2Ch] add esp,0000001Ch add ecx,0000004Ch push edx push eax push ebx push ecx mov ecx,ebp call SUB_L004C8360 xor edx,edx push eax mov dx,[esi] lea eax,[esi+04h] push edx push eax call SUB_L004C6100 mov eax,[esp+44h] mov ecx,[edi+000000FCh] add esp,0000001Ch add ebx,00000019h inc eax add ebp,00000010h cmp eax,ecx mov [esp+28h],eax jl L00489296 L00489315: mov eax,[esp+14h] push eax call SUB_L004C5640 mov ecx,[esp+1Ch] push ecx call SUB_L004C4240 mov edx,[esp+24h] push edx call SUB_L004C4270 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000014h retn 000Ch ;------------------------------------------------------------------------------ L00489340: push esi mov esi,ecx push SSZ0050CA44_RadioOptionItem__Apply__begin__ call SUB_L004C7F50 add esp,00000004h lea ecx,[esi+2Ch] call SUB_L004C8360 push eax lea ecx,[esi+18h] call SUB_L004C8360 push eax call SUB_L0048A550 add esp,00000008h pop esi retn ;------------------------------------------------------------------------------ Align 8 L00489370: push FFFFFFFFh push L004E4B68 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_L004C8360 push eax call SUB_L0048A490 add esp,00000004h lea ecx,[esp+08h] push eax call SUB_L004C8240 lea edi,[esi+2Ch] lea ecx,[esp+08h] push edi mov dword ptr [esp+24h],00000000h call SUB_L004C85F0 test eax,eax jz L004893D6 lea eax,[esp+08h] mov ecx,edi push eax call SUB_L004C83F0 mov ecx,[esi+28h] mov byte ptr [ecx+00000270h],01h L004893D6: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+18h] pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 L00489400: push ebx push esi mov esi,ecx push edi mov eax,[esi] mov edi,[esi+000000FCh] call [eax+04h] mov ebx,[esp+18h] mov edx,eax lea eax,[edi+edi*4] lea ecx,[eax+eax*4] mov eax,[esp+14h] sub ecx,ebx add ecx,eax mov eax,51EB851Fh sub ecx,edx inc ecx imul ecx sar edx,03h mov eax,edx shr eax,1Fh add edx,eax jns L0048943C xor edx,edx L0048943C: lea eax,[edi-01h] cmp edx,eax jle L00489445 mov edx,eax L00489445: shl edx,04h lea edi,[esi+2Ch] lea ebx,[edx+esi+3Ch] push edi mov ecx,ebx call SUB_L004C85F0 test eax,eax jz L0048946B push ebx mov ecx,edi call SUB_L004C83F0 mov ecx,[esi+28h] call SUB_L00486D00 L0048946B: pop edi pop esi mov eax,00000001h pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L00489480: mov ecx,[L00C8C48C] push esi xor esi,esi cmp ecx,esi jz L004894BB mov eax,[esp+08h] cmp eax,FFFFFFFFh jz L004894BB cmp [ecx+30h],esi jnz L004894AB lea edx,[eax+eax*4] lea edx,[eax+edx*2] xor eax,eax mov ax,[L00C42D08+edx*8] L004894AB: cmp [ecx+2Ch],eax jz L004894BB mov [ecx+2Ch],eax mov ecx,[ecx+28h] call SUB_L00486D00 L004894BB: mov [L00C8C48C],esi mov [L00C8C488],esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004894D0: push FFFFFFFFh push L004E4B8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 00000274h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L00489519 mov ecx,eax call SUB_L00484BF0 mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L00489519: mov ecx,[esp+04h] xor eax,eax mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489530: push FFFFFFFFh push L004E4BA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push eax lea ecx,[esp+08h] call SUB_L004C81B0 mov eax,[L0050CA70] mov dword ptr [esp+1Ch],00000000h test eax,eax jz L0048958B mov eax,L0050CA70 mov esi,eax L0048956F: mov ecx,[eax] push ecx lea ecx,[esp+08h] call SUB_L004C85B0 test eax,eax jnz L004895E9 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L0048956F L0048958B: push 00000024h lea ecx,[esp+08h] call SUB_L004C88F0 test eax,eax jz L004895C6 mov eax,[L0050CC38] test eax,eax jz L004895C6 mov eax,L0050CC38 mov esi,eax L004895AA: mov edx,[eax] lea ecx,[esp+04h] push edx call SUB_L004C85B0 test eax,eax jnz L004895E9 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L004895AA L004895C6: lea ecx,[esp+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 xor al,al pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004895E9: lea ecx,[esp+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+14h] mov al,01h pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489610: push FFFFFFFFh push L004E4BC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CA70] xor edi,edi test eax,eax mov dword ptr [esp+24h],00000000h jz L00489670 mov eax,L0050CA70 mov esi,eax L00489653: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L004896BB mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00489653 L00489670: push 00000024h lea ecx,[esp+10h] call SUB_L004C88F0 test eax,eax jz L00489754 mov eax,[L0050CC38] xor edi,edi test eax,eax jz L00489754 mov eax,L0050CC38 mov esi,eax L00489699: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L004896EC mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00489699 jmp L00489754 L004896BB: lea edx,[edi+edi*2] lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh mov eax,[L0050CA74+edx*4] mov bl,[eax] call SUB_L004C8100 pop edi mov al,bl pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004896EC: lea eax,[edi+edi*2] shl eax,02h mov cl,[eax+L0050CC40] test cl,cl jz L00489727 mov bl,[eax+L0050CC41] lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 pop edi mov al,bl pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489727: mov edx,[eax+L0050CC3C] lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh mov bl,[edx] call SUB_L004C8100 pop edi mov al,bl pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489754: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi xor al,al pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489780: push FFFFFFFFh push L004E4BE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CA70] xor edi,edi test eax,eax mov dword ptr [esp+24h],00000000h jz L004897E0 mov eax,L0050CA70 mov esi,eax L004897C3: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L00489828 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004897C3 L004897E0: push 00000024h lea ecx,[esp+10h] call SUB_L004C88F0 test eax,eax jz L00489886 mov eax,[L0050CC38] xor edi,edi test eax,eax jz L00489886 mov eax,L0050CC38 mov esi,eax L00489809: mov eax,[eax] lea ecx,[esp+0Ch] push eax call SUB_L004C85B0 test eax,eax jnz L00489857 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00489809 jmp L00489886 L00489828: lea edx,[edi+edi*2] lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh mov bl,[L0050CA78+edx*4] call SUB_L004C8100 pop edi mov al,bl pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489857: lea ecx,[edi+edi*2] mov dword ptr [esp+24h],FFFFFFFFh mov bl,[L0050CC42+ecx*4] lea ecx,[esp+0Ch] call SUB_L004C8100 pop edi mov al,bl pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489886: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi xor al,al pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004898B0: push FFFFFFFFh push L004E4C08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 push SSZ00500E04_FullScreen lea ecx,[esp+10h] mov dword ptr [esp+28h],00000000h call SUB_L004C85B0 mov ebx,[esp+30h] test eax,eax jz L0048990A mov ecx,ebx and ecx,000000FFh push ecx call SUB_L004BCF10 jmp L0048998F L0048990A: push SSZ00500858_PopupHelpEnabled lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489929 test bl,bl setnz dl mov [L00504614],dl jmp L00489992 L00489929: push SSZ0050080C_PopupHelpSticky lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489943 mov [L00C3E64F],bl jmp L00489992 L00489943: push SSZ005007F8_PopupHelpPersistant lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L0048995D mov [L00504624],bl jmp L00489992 L0048995D: push SSZ00500E98_Sound lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489977 push ebx call SUB_L004CD1C0 jmp L0048998F L00489977: push SSZ00500E84_Music lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489992 push ebx call SUB_L004CCC60 L0048998F: add esp,00000004h L00489992: mov eax,[L0050CA70] xor edi,edi test eax,eax jz L004899C1 mov eax,L0050CA70 mov esi,eax L004899A4: mov eax,[eax] lea ecx,[esp+0Ch] push eax call SUB_L004C85B0 test eax,eax jnz L00489A01 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004899A4 L004899C1: push 00000024h lea ecx,[esp+10h] call SUB_L004C88F0 test eax,eax jz L00489A49 mov eax,[L0050CC38] xor edi,edi test eax,eax jz L00489A49 mov eax,L0050CC38 mov esi,eax L004899E2: mov eax,[eax] lea ecx,[esp+0Ch] push eax call SUB_L004C85B0 test eax,eax jnz L00489A0F mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L004899E2 jmp L00489A49 L00489A01: lea ecx,[edi+edi*2] mov edx,[L0050CA74+ecx*4] mov [edx],bl jmp L00489A49 L00489A0F: lea eax,[edi+edi*2] mov dl,01h shl eax,02h mov cl,[eax+L0050CC40] test cl,cl jz L00489A2D cmp [eax+L0050CC41],bl jnz L00489A37 test cl,cl jnz L00489A3D L00489A2D: mov ecx,[eax+L0050CC3C] cmp [ecx],bl jz L00489A3D L00489A37: mov [L00C8C484],dl L00489A3D: mov [eax+L0050CC40],dl mov [eax+L0050CC41],bl L00489A49: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489A70: push FFFFFFFFh push L004E4C28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push eax lea ecx,[esp+08h] call SUB_L004C81B0 mov eax,[L0050CCB8] mov dword ptr [esp+1Ch],00000000h test eax,eax jz L00489ACB mov eax,L0050CCB8 mov esi,eax L00489AAF: mov ecx,[eax] push ecx lea ecx,[esp+08h] call SUB_L004C85B0 test eax,eax jnz L00489B24 mov ecx,[esi+10h] add esi,00000010h test ecx,ecx mov eax,esi jnz L00489AAF L00489ACB: push SSZ0050D5EC__SpeechHue lea ecx,[esp+08h] call SUB_L004C85B0 test eax,eax jnz L00489B24 push SSZ0050D5E0__EmoteHue lea ecx,[esp+08h] call SUB_L004C85B0 test eax,eax jnz L00489B24 push SSZ0050D5CC__PartyMessageColor lea ecx,[esp+08h] call SUB_L004C85B0 test eax,eax jnz L00489B24 lea ecx,[esp+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 xor al,al pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489B24: lea ecx,[esp+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+14h] mov al,01h pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00489B50: push FFFFFFFFh push L004E4C48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CCB8] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L00489BAF mov eax,L0050CCB8 mov esi,eax L00489B92: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L00489BEE mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L00489B92 L00489BAF: push SSZ0050D5EC__SpeechHue lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jz L00489C1D xor esi,esi lea ecx,[esp+08h] mov si,[L00C87EC4] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov eax,esi pop edi pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489BEE: shl edi,04h lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov edx,[edi+L0050CCBC] mov esi,[edx] call SUB_L004C8100 mov eax,esi pop edi pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489C1D: push SSZ0050D5E0__EmoteHue lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jz L00489C5C xor esi,esi lea ecx,[esp+08h] mov si,[L00C87EC0] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov eax,esi pop edi pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489C5C: push SSZ0050D5CC__PartyMessageColor lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jz L00489C98 mov esi,[L0050CEA0] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov eax,esi pop edi pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489C98: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+18h] pop edi xor eax,eax pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00489CC0: push FFFFFFFFh push L004E4C68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CCB8] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L00489D1F mov eax,L0050CCB8 mov esi,eax L00489D02: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L00489D67 mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L00489D02 L00489D1F: push SSZ0050D5EC__SpeechHue lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L00489D94 push SSZ0050D5E0__EmoteHue lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L00489D94 lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi xor eax,eax pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489D67: shl edi,04h lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov edi,[edi+L0050CCC0] call SUB_L004C8100 mov eax,edi pop edi pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489D94: push 000003E8h call SUB_L0047BBB0 mov esi,eax add esp,00000004h lea ecx,[esp+08h] inc esi mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00489DD0: push FFFFFFFFh push L004E4C88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 push SSZ00500830_PopupHelpTextColor lea ecx,[esp+10h] mov dword ptr [esp+28h],00000000h call SUB_L004C85B0 mov ebx,[esp+30h] test eax,eax jz L00489E1D mov [L0050461C],ebx L00489E1D: push SSZ0050D5CC__PartyMessageColor lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489E3C mov [L0050CEA0],ebx mov [L00C87ECC],bx L00489E3C: mov eax,[L0050CCB8] xor edi,edi test eax,eax jz L00489E6B mov eax,L0050CCB8 mov esi,eax L00489E4E: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L00489EDB mov ecx,[esi+10h] add esi,00000010h inc edi mov eax,esi test ecx,ecx jnz L00489E4E L00489E6B: push SSZ0050D5EC__SpeechHue lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489E91 mov eax,[L00C8604C] mov [L00C87EC4],bx mov [L00C87EB4+eax*2],bx L00489E91: push SSZ0050D5E0__EmoteHue lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L00489EB8 mov ecx,[L00C8604C] mov [L00C87EC0],bx mov [L00C87EA8+ecx*2],bx L00489EB8: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489EDB: shl edi,04h mov edx,[edi+L0050CCBC] mov [edx],ebx jmp L00489EB8 Align 16 SUB_L00489EF0: push FFFFFFFFh push L004E4CA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CEA8] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L00489F4F mov eax,L0050CEA8 mov esi,eax L00489F32: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L00489F73 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00489F32 L00489F4F: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi xor eax,eax pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L00489F73: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov eax,[L0050CEAC+edx*4] mov esi,[eax] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00489FB0: push FFFFFFFFh push L004E4CC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CEA8] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L0048A00F mov eax,L0050CEA8 mov esi,eax L00489FF2: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L0048A033 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L00489FF2 L0048A00F: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi xor eax,eax pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048A033: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov esi,[L0050CEB0+edx*4] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A070: push FFFFFFFFh push L004E4CE8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 push SSZ00500C3C_CircleTransRadius lea ecx,[esp+10h] mov dword ptr [esp+28h],00000000h call SUB_L004C85B0 mov ebx,[esp+30h] test eax,eax jz L0048A0C4 push ebx mov ecx,L00515700 call SUB_L00401040 jmp L0048A113 L0048A0C4: push SSZ00500844_PopupHelpPreDelay lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L0048A0DE mov [L00504618],ebx jmp L0048A113 L0048A0DE: push SSZ00500E8C_SoundVol lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L0048A0F8 push ebx call SUB_L004CD130 jmp L0048A110 L0048A0F8: push SSZ00500E78_MusicVol lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L0048A113 push ebx call SUB_L004CCBF0 L0048A110: add esp,00000004h L0048A113: mov eax,[L0050CEA8] xor edi,edi test eax,eax jz L0048A150 mov eax,L0050CEA8 mov esi,eax L0048A125: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048A144 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A125 jmp L0048A150 L0048A144: lea edx,[edi+edi*2] mov eax,[L0050CEAC+edx*4] mov [eax],ebx L0048A150: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A180: push FFFFFFFFh push L004E4D08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CF28] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L0048A1DF mov eax,L0050CF28 mov esi,eax L0048A1C2: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L0048A203 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A1C2 L0048A1DF: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi xor eax,eax pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048A203: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov eax,[L0050CF2C+edx*4] mov esi,[eax] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A240: push FFFFFFFFh push L004E4D28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CF28] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L0048A29F mov eax,L0050CF28 mov esi,eax L0048A282: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L0048A2C3 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A282 L0048A29F: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi xor eax,eax pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048A2C3: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov esi,[L0050CF30+edx*4] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A300: push FFFFFFFFh push L004E4D48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push ebx push esi push edi push eax lea ecx,[esp+10h] call SUB_L004C81B0 push SSZ0050081C_PopupHelpTextFont lea ecx,[esp+10h] mov dword ptr [esp+28h],00000000h call SUB_L004C85B0 mov ebx,[esp+30h] test eax,eax jz L0048A34D mov [L00504620],ebx L0048A34D: push SSZ00500880_ToolTipFont lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jz L0048A365 mov [L0051182C],ebx L0048A365: mov eax,[L0050CF28] xor edi,edi test eax,eax jz L0048A3A2 mov eax,L0050CF28 mov esi,eax L0048A377: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048A396 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A377 jmp L0048A3A2 L0048A396: lea edx,[edi+edi*2] mov eax,[L0050CF2C+edx*4] mov [eax],ebx L0048A3A2: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A3D0: push FFFFFFFFh push L004E4D68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CF80] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L0048A42F mov eax,L0050CF80 mov esi,eax L0048A412: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L0048A456 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A412 L0048A42F: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi mov eax,L007049FC pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048A456: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov eax,[L0050CF84+edx*4] mov esi,[eax] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A490: push FFFFFFFFh push L004E4D88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h mov eax,[esp+20h] push esi push edi push eax lea ecx,[esp+0Ch] call SUB_L004C81B0 mov eax,[L0050CF80] xor edi,edi test eax,eax mov dword ptr [esp+20h],00000000h jz L0048A4EF mov eax,L0050CF80 mov esi,eax L0048A4D2: mov ecx,[eax] push ecx lea ecx,[esp+0Ch] call SUB_L004C85B0 test eax,eax jnz L0048A516 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A4D2 L0048A4EF: lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh call SUB_L004C8100 pop edi mov eax,L007049FC pop esi mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048A516: lea edx,[edi+edi*2] lea ecx,[esp+08h] mov dword ptr [esp+20h],FFFFFFFFh mov esi,[L0050CF88+edx*4] call SUB_L004C8100 mov ecx,[esp+18h] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048A550: push FFFFFFFFh push L004E4DD7 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000134h mov eax,[esp+00000144h] push ebx push ebp push esi push edi push eax lea ecx,[esp+18h] call SUB_L004C81B0 push SSZ00500DE0_GamePlayWindowSize lea ecx,[esp+18h] mov dword ptr [esp+00000150h],00000000h xor bl,bl call SUB_L004C85B0 mov ebp,[esp+00000158h] test eax,eax jz L0048A647 push ebp call SUB_L004C4300 mov ecx,[L00C8C4C4] add esp,00000004h inc eax test ecx,ecx jz L0048A5C8 mov edx,[L00C8C4C0] test edx,edx jz L0048A5F1 L0048A5C8: test ecx,ecx mov [L00C8C4C0],eax jz L0048A5DA push ecx call SUB_L004D4F9E add esp,00000004h L0048A5DA: mov ecx,[L00C8C4C0] push ecx call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [L00C8C4C4],ecx L0048A5F1: push ebp push ecx call SUB_L004C4520 mov eax,[L0050CF80] add esp,00000008h test eax,eax jz L0048A647 mov eax,L0050CF80 mov esi,eax L0048A60B: mov edx,[eax] lea ecx,[esp+14h] push edx call SUB_L004C85B0 test eax,eax jz L0048A63B mov eax,[esi+04h] mov edx,[L00C8C4C4] mov ecx,[eax] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0048A63B mov byte ptr [L00C8C484],01h L0048A63B: mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L0048A60B L0048A647: push SSZ00500DF4_FullScreenRes lea ecx,[esp+18h] call SUB_L004C85B0 test eax,eax jz L0048A6B8 lea eax,[esp+44h] push ebp push eax call SUB_L004C4520 mov eax,[L0050CF80] add esp,00000008h xor edi,edi test eax,eax jz L0048A6B8 mov eax,L0050CF80 mov esi,eax L0048A679: mov ecx,[eax] push ecx lea ecx,[esp+18h] call SUB_L004C85B0 test eax,eax jnz L0048A698 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A679 jmp L0048A6B8 L0048A698: lea eax,[edi+edi*2] lea edx,[esp+44h] push edx mov ecx,[L0050CF84+eax*4] mov edx,[ecx] push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L0048A6B8 mov bl,01h L0048A6B8: mov eax,[L0050CF80] xor edi,edi test eax,eax jz L0048A6FF mov eax,L0050CF80 mov esi,eax L0048A6CA: mov eax,[eax] lea ecx,[esp+14h] push eax call SUB_L004C85B0 test eax,eax jnz L0048A6E9 mov ecx,[esi+0Ch] add esi,0000000Ch inc edi mov eax,esi test ecx,ecx jnz L0048A6CA jmp L0048A6FF L0048A6E9: lea ecx,[edi+edi*2] push ebp mov edx,[L0050CF84+ecx*4] mov eax,[edx] push eax call SUB_L004C4520 add esp,00000008h L0048A6FF: test bl,bl jz L0048A71D mov eax,[L00D1B0F4] test eax,eax jz L0048A71D push 00000000h call SUB_L004BCF10 push 00000001h call SUB_L004BCF10 add esp,00000008h L0048A71D: mov eax,[L0050CF80] mov byte ptr [esp+12h],00h test eax,eax mov byte ptr [esp+13h],00h jz L0048A892 mov edi,L0050CF80 mov esi,edi L0048A73B: push SSZ00500DF4_FullScreenRes lea ecx,[esp+38h] call SUB_L004C8240 mov ecx,[edi] mov byte ptr [esp+0000014Ch],01h push ecx mov ecx,eax call SUB_L004C85B0 test eax,eax jz L0048A77F mov edx,[esi+04h] mov eax,[edx] push eax push SSZ0050D5BC_640x480 call SUB_L004D7A00 add esp,00000008h test eax,eax setz al test al,al jz L0048A77F mov bl,01h jmp L0048A781 L0048A77F: xor bl,bl L0048A781: lea ecx,[esp+34h] mov byte ptr [esp+0000014Ch],00h call SUB_L004C8100 test bl,bl jz L0048A79B mov byte ptr [esp+12h],01h L0048A79B: push SSZ00500DE0_GamePlayWindowSize lea ecx,[esp+28h] call SUB_L004C8240 mov ecx,[edi] mov byte ptr [esp+0000014Ch],02h push ecx mov ecx,eax call SUB_L004C85B0 test eax,eax jz L0048A7DF mov edx,[esi+04h] mov eax,[edx] push eax push SSZ0050D690_800x600 call SUB_L004D7A00 add esp,00000008h test eax,eax setz al test al,al jz L0048A7DF mov bl,01h jmp L0048A7E1 L0048A7DF: xor bl,bl L0048A7E1: lea ecx,[esp+24h] mov byte ptr [esp+0000014Ch],00h call SUB_L004C8100 test bl,bl jz L0048A7FB mov byte ptr [esp+13h],01h L0048A7FB: mov eax,[esi+0Ch] add esi,0000000Ch test eax,eax mov edi,esi jnz L0048A73B mov al,[esp+12h] test al,al jz L0048A892 mov al,[esp+13h] test al,al jz L0048A892 push SSZ0050D5F8_SetSavedRadioConfigOption__canno call SUB_L004C7EF0 add esp,00000004h lea ecx,[esp+34h] push SSZ0050D690_800x600 call SUB_L004C8240 mov esi,eax mov bl,03h push SSZ00500DF4_FullScreenRes lea ecx,[esp+28h] mov [esp+00000150h],bl call SUB_L004C8240 mov edi,eax mov ecx,esi mov byte ptr [esp+0000014Ch],04h call SUB_L004C8360 push eax mov ecx,edi call SUB_L004C8360 push eax call SUB_L0048A550 add esp,00000008h lea ecx,[esp+24h] mov [esp+0000014Ch],bl call SUB_L004C8100 lea ecx,[esp+34h] mov byte ptr [esp+0000014Ch],00h call SUB_L004C8100 L0048A892: lea ecx,[esp+14h] mov dword ptr [esp+0000014Ch],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+00000144h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000140h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048A8C0: push FFFFFFFFh push L004E4E06 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000238h push ebx push ebp push esi push edi xor ebp,ebp push SSZ0050D7D8_SaveConfigOptionsOldWay_Start___ mov [esp+18h],ebp mov [esp+1Ch],ebp mov [esp+20h],ebp call SUB_L004C7F50 call SUB_L0048B270 push SSZ0050D7B4_SaveConfigOptionsOldWay_End_____ call SUB_L004C7F50 push SSZ0050D780_SaveConfigOptions__save_characte call SUB_L004C7F50 call SUB_L0047C5F0 push SSZ0050D74C_SaveConfigOptions__saved_charact call SUB_L004C7F50 add esp,00000010h mov esi,L007049FC mov eax,L00705058 L0048A92C: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0048A954 test cl,cl jz L0048A950 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0048A954 add eax,00000002h add esi,00000002h test cl,cl jnz L0048A92C L0048A950: xor eax,eax jmp L0048A959 L0048A954: sbb eax,eax sbb eax,FFFFFFFFh L0048A959: cmp eax,ebp jz L0048AF16 mov esi,L007049FC mov eax,L00C880F8 L0048A96B: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0048A993 test cl,cl jz L0048A98F mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0048A993 add eax,00000002h add esi,00000002h test cl,cl jnz L0048A96B L0048A98F: xor eax,eax jmp L0048A998 L0048A993: sbb eax,eax sbb eax,FFFFFFFFh L0048A998: cmp eax,ebp jz L0048AF16 mov eax,[L0050CA68] lea ecx,[esp+00000144h] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+0000015Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+58h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+5Ch] push ecx call SUB_L0043FEF0 add esp,00000020h cmp eax,ebp mov [esp+10h],eax jz L0048AF28 test byte ptr [eax+0Ch],10h jnz L0048AAE1 L0048AA17: mov edx,[esp+10h] push edx call SUB_L00472CE0 mov ebx,eax push ebx call SUB_L0048AF50 add esp,00000008h test al,al jnz L0048AAD3 mov edi,[esp+18h] mov eax,[esp+1Ch] cmp edi,eax jnz L0048AA8B test eax,eax jz L0048AA48 add eax,eax jmp L0048AA4D L0048AA48: mov eax,00000008h L0048AA4D: mov [esp+1Ch],eax shl eax,02h push eax call SUB_L004D4FA9 add esp,00000004h mov esi,eax test ebp,ebp jle L0048AA76 mov ecx,[esp+14h] mov edx,edi sub ecx,esi L0048AA6B: mov edi,[ecx+eax] mov [eax],edi add eax,00000004h dec edx jnz L0048AA6B L0048AA76: mov eax,[esp+14h] test eax,eax jz L0048AA87 push eax call SUB_L004D4F9E add esp,00000004h L0048AA87: mov [esp+14h],esi L0048AA8B: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,ebx 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 and ecx,00000003h rep movsb mov ecx,[esp+14h] mov [ecx+ebp],edx mov ecx,[esp+18h] inc ecx add ebp,00000004h mov [esp+18h],ecx L0048AAD3: mov edx,[esp+10h] test byte ptr [edx+0Ch],10h jz L0048AA17 L0048AAE1: mov eax,[esp+10h] push eax call SUB_L00440570 push SSZ0050D718_SaveConfigOptions__strip_any_tra call SUB_L004C7F50 mov edi,[esp+20h] add esp,00000008h test edi,edi jle L0048AB23 mov ecx,[esp+14h] lea esi,[ecx+edi*4] L0048AB07: mov edx,[esi-04h] cmp byte ptr [edx],00h jnz L0048AB23 mov eax,[esi-04h] sub esi,00000004h push eax dec edi call SUB_L004D4F9E add esp,00000004h test edi,edi jg L0048AB07 L0048AB23: mov al,[esp+40h] test al,al jz L0048AF28 lea eax,[esp+40h] push L00500FAC push eax call SUB_L0043FEF0 mov ebp,eax add esp,00000008h test ebp,ebp mov [esp+10h],ebp jnz L0048AB6B lea ecx,[esp+40h] push L00503938 push ecx call SUB_L0043FEF0 mov ebp,eax add esp,00000008h test ebp,ebp mov [esp+10h],ebp jz L0048AF28 L0048AB6B: test edi,edi jle L0048AC05 mov esi,[esp+14h] mov ebx,edi L0048AB79: mov edi,SSZ00500CDC_AcctPassword or ecx,FFFFFFFFh xor eax,eax mov edx,[esi] repne scasb not ecx dec ecx push ecx push edx push SSZ00500CDC_AcctPassword call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ABFB mov edi,SSZ00500D40_RememberAcctPW or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[esi] not ecx dec ecx push ecx push eax push SSZ00500D40_RememberAcctPW call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ABFB mov edi,SSZ00500590_NumPassTries or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx mov ecx,[esi] push ecx push SSZ00500590_NumPassTries call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ABFB mov edx,[esi] push L004EF2EC push edx push SSZ0050D710__s_s push ebp call SUB_L004D571D add esp,00000010h L0048ABFB: add esi,00000004h dec ebx jnz L0048AB79 L0048AC05: push L004EF2EC push SSZ0050D6EC_________________________________ push ebp call SUB_L004D571D mov eax,[L0050CA70] add esp,0000000Ch test eax,eax jz L0048ACD2 mov edx,L0050CA70 mov esi,edx L0048AC2C: mov edi,SSZ00500CDC_AcctPassword or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[edx] not ecx dec ecx push ecx push eax push SSZ00500CDC_AcctPassword call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ACC2 mov edi,SSZ00500D40_RememberAcctPW or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx mov ecx,[esi] push ecx push SSZ00500D40_RememberAcctPW call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ACC2 mov edi,SSZ00500590_NumPassTries or ecx,FFFFFFFFh xor eax,eax mov edx,[esi] repne scasb not ecx dec ecx push ecx push edx push SSZ00500590_NumPassTries call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048ACC2 mov eax,[esi+04h] mov cl,[eax] mov eax,L004FF470 test cl,cl jnz L0048ACAB mov eax,L004FF46C L0048ACAB: mov ecx,[esi] push L004EF2EC push eax push ecx push SSZ0050D6E4__s__s_s push ebp call SUB_L004D571D add esp,00000014h L0048ACC2: mov eax,[esi+0Ch] add esi,0000000Ch test eax,eax mov edx,esi jnz L0048AC2C L0048ACD2: mov eax,[L0050CC38] test eax,eax jz L0048AD95 mov eax,L0050CC38 mov bl,01h mov esi,eax L0048ACE8: mov edx,[eax] lea ecx,[esp+30h] push edx call SUB_L004C8240 push L0050D6E0 lea ecx,[esp+24h] mov dword ptr [esp+00000254h],00000000h call SUB_L004C8240 lea eax,[esp+20h] lea ecx,[esp+30h] push eax mov [esp+00000254h],bl call SUB_L004C8470 lea ecx,[esp+20h] mov byte ptr [esp+00000250h],00h call SUB_L004C8100 lea ecx,[esp+30h] call SUB_L004C8360 push eax call SUB_L00489610 mov cl,[esi+0Ah] add esp,00000004h cmp al,cl jz L0048AD71 test al,al mov eax,L004FF470 jnz L0048AD5A mov eax,L004FF46C L0048AD5A: mov ecx,[esi] push L004EF2EC push eax push ecx push SSZ0050D6E4__s__s_s push ebp call SUB_L004D571D add esp,00000014h L0048AD71: lea ecx,[esp+30h] mov dword ptr [esp+00000250h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L0048ACE8 L0048AD95: mov eax,[L0050CCB8] test eax,eax jz L0048AE26 mov esi,L0050CCBC L0048ADA7: mov eax,[esi] mov ecx,[esi+04h] mov edx,[eax] cmp edx,ecx jz L0048AE1C mov cl,[esi+08h] mov eax,edx test cl,cl jz L0048ADD0 push eax lea ecx,[esp+24h] push L004FF074 push ecx call SUB_L004D512F add esp,0000000Ch jmp L0048AE00 L0048ADD0: mov edx,eax mov ecx,eax and edx,0000001Fh sar ecx,02h shl edx,03h sar eax,07h and ecx,000000F8h push edx and eax,000000F8h push ecx push eax lea edx,[esp+2Ch] push SSZ0050D6D0___02x_02x_02x push edx call SUB_L004D512F add esp,00000014h L0048AE00: mov ecx,[esi-04h] lea eax,[esp+20h] push L004EF2EC push eax push ecx push SSZ0050D6E4__s__s_s push ebp call SUB_L004D571D add esp,00000014h L0048AE1C: mov eax,[esi+0Ch] add esi,00000010h test eax,eax jnz L0048ADA7 L0048AE26: mov eax,[L0050CEA8] test eax,eax jz L0048AE61 mov esi,L0050CEAC L0048AE34: mov edx,[esi] mov ecx,[esi+04h] mov eax,[edx] cmp eax,ecx jz L0048AE57 push L004EF2EC push eax mov eax,[esi-04h] push eax push SSZ0050D6C8__s__d_s push ebp call SUB_L004D571D add esp,00000014h L0048AE57: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L0048AE34 L0048AE61: mov eax,[L0050CF28] test eax,eax jz L0048AE9C mov esi,L0050CF2C L0048AE6F: mov ecx,[esi] mov eax,[ecx] mov ecx,[esi+04h] cmp eax,ecx jz L0048AE92 mov edx,[esi-04h] push L004EF2EC push eax push edx push SSZ0050D6C8__s__d_s push ebp call SUB_L004D571D add esp,00000014h L0048AE92: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L0048AE6F L0048AE9C: mov eax,[L0050CF80] test eax,eax jz L0048AF0A mov edi,L0050CF84 L0048AEAA: mov eax,[edi] mov esi,[edi+04h] mov ebp,[eax] mov eax,ebp L0048AEB3: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0048AEDB test cl,cl jz L0048AED7 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0048AEDB add eax,00000002h add esi,00000002h test cl,cl jnz L0048AEB3 L0048AED7: xor eax,eax jmp L0048AEE0 L0048AEDB: sbb eax,eax sbb eax,FFFFFFFFh L0048AEE0: test eax,eax jz L0048AF00 mov eax,[edi-04h] mov ecx,[esp+10h] push L004EF2EC push ebp push eax push SSZ0050D6E4__s__s_s push ecx call SUB_L004D571D add esp,00000014h L0048AF00: mov eax,[edi+08h] add edi,0000000Ch test eax,eax jnz L0048AEAA L0048AF0A: mov edx,[esp+10h] push edx call SUB_L00440570 jmp L0048AF25 L0048AF16: push SSZ0050D698_Servername_or_CApp__name_no_good mov byte ptr [esp+44h],00h call SUB_L004C7F50 L0048AF25: add esp,00000004h L0048AF28: mov ecx,[esp+00000248h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000244h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048AF50: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4E52 push eax mov fs:[00000000h],esp sub esp,00000120h push ebx push esi push edi mov edi,[esp+0000013Ch] mov esi,SSZ0050D7FC________________________________ mov eax,edi xor ebx,ebx L0048AF7E: mov dl,[eax] mov cl,dl cmp dl,[esi] jnz L0048AFA2 cmp cl,bl jz L0048AF9E mov dl,[eax+01h] mov cl,dl cmp dl,[esi+01h] jnz L0048AFA2 add eax,00000002h add esi,00000002h cmp cl,bl jnz L0048AF7E L0048AF9E: xor eax,eax jmp L0048AFA7 L0048AFA2: sbb eax,eax sbb eax,FFFFFFFFh L0048AFA7: cmp eax,ebx jnz L0048AFB2 mov al,01h jmp L0048B251 L0048AFB2: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[esp+2Ch] mov eax,ecx mov esi,edi mov edi,edx push L00500EE0 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+30h] push ecx call SUB_L004D563E add esp,00000008h cmp eax,ebx jz L0048B24F push eax lea ecx,[esp+20h] call SUB_L004C8240 lea ecx,[esp+1Ch] mov [esp+00000134h],ebx call SUB_L004C8360 mov edi,eax push edi call SUB_L00489530 add esp,00000004h test al,al jnz L0048B0F2 push edi lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CCB8] mov byte ptr [esp+00000134h],01h cmp eax,ebx jz L0048B05C mov eax,L0050CCB8 mov esi,eax L0048B03C: mov edx,[eax] lea ecx,[esp+0Ch] push edx call SUB_L004C85B0 test eax,eax jnz L0048B0E2 mov ecx,[esi+10h] add esi,00000010h cmp ecx,ebx mov eax,esi jnz L0048B03C L0048B05C: push SSZ0050D5EC__SpeechHue lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048B0E2 push SSZ0050D5E0__EmoteHue lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048B0E2 push SSZ0050D5CC__PartyMessageColor lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048B0E2 lea ecx,[esp+0Ch] mov [esp+00000134h],bl call SUB_L004C8100 push edi lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CEA8] mov byte ptr [esp+00000134h],02h cmp eax,ebx jz L0048B11A mov eax,L0050CEA8 mov esi,eax L0048B0C4: mov eax,[eax] lea ecx,[esp+0Ch] push eax call SUB_L004C85B0 test eax,eax jnz L0048B10D mov ecx,[esi+0Ch] add esi,0000000Ch cmp ecx,ebx mov eax,esi jnz L0048B0C4 jmp L0048B11A L0048B0E2: mov [esp+00000134h],bl lea ecx,[esp+0Ch] L0048B0ED: call SUB_L004C8100 L0048B0F2: lea ecx,[esp+1Ch] mov dword ptr [esp+00000134h],FFFFFFFFh call SUB_L004C8100 mov al,01h jmp L0048B251 L0048B10D: mov [esp+00000134h],bl lea ecx,[esp+0Ch] jmp L0048B0ED L0048B11A: lea ecx,[esp+0Ch] mov [esp+00000134h],bl call SUB_L004C8100 push edi lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CF28] mov byte ptr [esp+00000134h],03h cmp eax,ebx jz L0048B168 mov eax,L0050CF28 mov esi,eax L0048B14C: mov ecx,[eax] push ecx lea ecx,[esp+10h] call SUB_L004C85B0 test eax,eax jnz L0048B1B8 mov ecx,[esi+0Ch] add esi,0000000Ch cmp ecx,ebx mov eax,esi jnz L0048B14C L0048B168: lea ecx,[esp+0Ch] mov [esp+00000134h],bl call SUB_L004C8100 push edi lea ecx,[esp+10h] call SUB_L004C81B0 mov eax,[L0050CF80] mov byte ptr [esp+00000134h],04h cmp eax,ebx jz L0048B1D8 mov eax,L0050CF80 mov esi,eax L0048B19A: mov edx,[eax] lea ecx,[esp+0Ch] push edx call SUB_L004C85B0 test eax,eax jnz L0048B1C8 mov ecx,[esi+0Ch] add esi,0000000Ch cmp ecx,ebx mov eax,esi jnz L0048B19A jmp L0048B1D8 L0048B1B8: mov [esp+00000134h],bl lea ecx,[esp+0Ch] jmp L0048B0ED L0048B1C8: mov [esp+00000134h],bl lea ecx,[esp+0Ch] jmp L0048B0ED L0048B1D8: lea ecx,[esp+0Ch] mov [esp+00000134h],bl call SUB_L004C8100 push L0050D6E0 lea ecx,[esp+10h] call SUB_L004C8240 lea eax,[esp+0Ch] lea ecx,[esp+1Ch] push eax mov byte ptr [esp+00000138h],05h call SUB_L004C8470 lea ecx,[esp+0Ch] mov [esp+00000134h],bl call SUB_L004C8100 lea ecx,[esp+1Ch] call SUB_L004C8360 push eax call SUB_L00489530 add esp,00000004h mov dword ptr [esp+00000134h],FFFFFFFFh test al,al lea ecx,[esp+1Ch] jz L0048B24A call SUB_L004C8100 mov al,01h jmp L0048B251 L0048B24A: call SUB_L004C8100 L0048B24F: xor al,al L0048B251: mov ecx,[esp+0000012Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000012Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048B270: push FFFFFFFFh push L004E4E70 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h mov eax,[L0050CA68] push ebx push ebp push esi push edi xor ebx,ebx push L004FD2A8 push eax mov [esp+1Ch],ebx xor ebp,ebp mov [esp+20h],ebx call SUB_L0043FEF0 mov edi,eax add esp,00000008h cmp edi,ebx mov [esp+10h],edi jz L0048B7AD test byte ptr [edi+0Ch],10h jnz L0048B391 L0048B2C3: push edi call SUB_L00472CE0 mov esi,eax push esi mov [esp+24h],esi call SUB_L0048AF50 add esp,00000008h test al,al jnz L0048B387 mov eax,[esp+18h] cmp ebp,eax jnz L0048B343 test eax,eax jz L0048B2F5 lea ecx,[eax+eax] mov [esp+18h],ecx jmp L0048B2FD L0048B2F5: mov dword ptr [esp+18h],00000008h L0048B2FD: mov edx,[esp+18h] lea eax,[00000000h+edx*4] push eax call SUB_L004D4FA9 add esp,00000004h mov esi,eax test ebx,ebx jle L0048B32A mov ecx,[esp+14h] mov edx,ebp sub ecx,esi L0048B31F: mov edi,[ecx+eax] mov [eax],edi add eax,00000004h dec edx jnz L0048B31F L0048B32A: mov eax,[esp+14h] test eax,eax jz L0048B33B push eax call SUB_L004D4F9E add esp,00000004h L0048B33B: mov [esp+14h],esi mov esi,[esp+1Ch] L0048B343: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 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 and ecx,00000003h inc ebp rep movsb mov ecx,[esp+14h] mov edi,[esp+10h] mov [ebx+ecx],edx add ebx,00000004h L0048B387: test byte ptr [edi+0Ch],10h jz L0048B2C3 L0048B391: push edi call SUB_L00440570 push SSZ0050D81C_SaveConfigOptionsOldWay__strip_a call SUB_L004C7F50 add esp,00000008h test ebp,ebp jle L0048B3CB mov edx,[esp+14h] lea esi,[edx+ebp*4] L0048B3AF: mov eax,[esi-04h] cmp byte ptr [eax],00h jnz L0048B3CB mov eax,[esi-04h] sub esi,00000004h push eax dec ebp call SUB_L004D4F9E add esp,00000004h test ebp,ebp jg L0048B3AF L0048B3CB: mov ecx,[L0050CA68] push L00500FAC push ecx call SUB_L0043FEF0 mov edi,eax add esp,00000008h test edi,edi mov [esp+10h],edi jz L0048B7AD test ebp,ebp jle L0048B498 mov esi,[esp+14h] L0048B3F9: mov al,[L007050E4] test al,al jz L0048B472 mov edi,SSZ00500CDC_AcctPassword or ecx,FFFFFFFFh xor eax,eax mov edx,[esi] repne scasb not ecx dec ecx push ecx push edx push SSZ00500CDC_AcctPassword call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B48A mov edi,SSZ00500D40_RememberAcctPW or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[esi] not ecx dec ecx push ecx push eax push SSZ00500D40_RememberAcctPW call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B48A mov edi,SSZ00500590_NumPassTries or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx mov ecx,[esi] push ecx push SSZ00500590_NumPassTries call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B48A mov edi,[esp+10h] L0048B472: mov edx,[esi] push L004EF2F0 push edx push SSZ0050D710__s_s push edi call SUB_L004D571D add esp,00000010h jmp L0048B48E L0048B48A: mov edi,[esp+10h] L0048B48E: add esi,00000004h dec ebp jnz L0048B3F9 L0048B498: push L004EF2F0 push SSZ0050D6EC_________________________________ push edi call SUB_L004D571D mov eax,[L0050CA70] add esp,0000000Ch test eax,eax jz L0048B574 mov esi,L0050CA70 L0048B4BD: mov al,[L007050E4] test al,al jz L0048B536 mov edi,SSZ00500CDC_AcctPassword or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[esi] not ecx dec ecx push ecx push eax push SSZ00500CDC_AcctPassword call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B562 mov edi,SSZ00500D40_RememberAcctPW or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx mov ecx,[esi] push ecx push SSZ00500D40_RememberAcctPW call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B562 mov edi,SSZ00500590_NumPassTries or ecx,FFFFFFFFh xor eax,eax mov edx,[esi] repne scasb not ecx dec ecx push ecx push edx push SSZ00500590_NumPassTries call SUB_L004D71C0 add esp,0000000Ch test eax,eax jz L0048B562 mov edi,[esp+10h] L0048B536: mov eax,[esi+04h] mov cl,[eax] mov eax,L004FF470 test cl,cl jnz L0048B549 mov eax,L004FF46C L0048B549: mov ecx,[esi] push L004EF2F0 push eax push ecx push SSZ0050D6E4__s__s_s push edi call SUB_L004D571D add esp,00000014h jmp L0048B566 L0048B562: mov edi,[esp+10h] L0048B566: mov eax,[esi+0Ch] add esi,0000000Ch test eax,eax jnz L0048B4BD L0048B574: mov eax,[L0050CC38] test eax,eax jz L0048B62B mov eax,L0050CC38 mov bl,01h mov esi,eax L0048B58A: mov edx,[eax] lea ecx,[esp+20h] push edx call SUB_L004C8240 push L0050D6E0 lea ecx,[esp+34h] mov dword ptr [esp+4Ch],00000000h call SUB_L004C8240 lea eax,[esp+30h] lea ecx,[esp+20h] push eax mov [esp+4Ch],bl call SUB_L004C8470 lea ecx,[esp+30h] mov byte ptr [esp+48h],00h call SUB_L004C8100 lea ecx,[esp+20h] call SUB_L004C8360 push eax call SUB_L00489610 mov cl,[esi+0Ah] add esp,00000004h cmp al,cl jz L0048B60A test al,al mov eax,L004FF470 jnz L0048B5F3 mov eax,L004FF46C L0048B5F3: mov ecx,[esi] push L004EF2F0 push eax push ecx push SSZ0050D6E4__s__s_s push edi call SUB_L004D571D add esp,00000014h L0048B60A: lea ecx,[esp+20h] mov dword ptr [esp+48h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esi+0Ch] add esi,0000000Ch test ecx,ecx mov eax,esi jnz L0048B58A L0048B62B: mov eax,[L0050CCB8] test eax,eax jz L0048B6BC mov esi,L0050CCBC L0048B63D: mov eax,[esi] mov ecx,[esi+04h] mov edx,[eax] cmp edx,ecx jz L0048B6B2 mov cl,[esi+08h] mov eax,edx test cl,cl jz L0048B666 push eax lea ecx,[esp+34h] push L004FF074 push ecx call SUB_L004D512F add esp,0000000Ch jmp L0048B696 L0048B666: mov edx,eax mov ecx,eax and edx,0000001Fh sar ecx,02h shl edx,03h sar eax,07h and ecx,000000F8h push edx and eax,000000F8h push ecx push eax lea edx,[esp+3Ch] push SSZ0050D6D0___02x_02x_02x push edx call SUB_L004D512F add esp,00000014h L0048B696: mov ecx,[esi-04h] lea eax,[esp+30h] push L004EF2F0 push eax push ecx push SSZ0050D6E4__s__s_s push edi call SUB_L004D571D add esp,00000014h L0048B6B2: mov eax,[esi+0Ch] add esi,00000010h test eax,eax jnz L0048B63D L0048B6BC: mov eax,[L0050CEA8] test eax,eax jz L0048B6F7 mov esi,L0050CEAC L0048B6CA: mov edx,[esi] mov ecx,[esi+04h] mov eax,[edx] cmp eax,ecx jz L0048B6ED push L004EF2F0 push eax mov eax,[esi-04h] push eax push SSZ0050D6C8__s__d_s push edi call SUB_L004D571D add esp,00000014h L0048B6ED: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L0048B6CA L0048B6F7: mov eax,[L0050CF28] test eax,eax jz L0048B732 mov esi,L0050CF2C L0048B705: mov ecx,[esi] mov eax,[ecx] mov ecx,[esi+04h] cmp eax,ecx jz L0048B728 mov edx,[esi-04h] push L004EF2F0 push eax push edx push SSZ0050D6C8__s__d_s push edi call SUB_L004D571D add esp,00000014h L0048B728: mov eax,[esi+08h] add esi,0000000Ch test eax,eax jnz L0048B705 L0048B732: mov eax,[L0050CF80] test eax,eax jz L0048B7A4 mov edi,L0050CF84 L0048B740: mov eax,[edi] mov esi,[edi+04h] mov ebp,[eax] mov eax,ebp L0048B749: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L0048B771 test cl,cl jz L0048B76D mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L0048B771 add eax,00000002h add esi,00000002h test cl,cl jnz L0048B749 L0048B76D: xor eax,eax jmp L0048B776 L0048B771: sbb eax,eax sbb eax,FFFFFFFFh L0048B776: test eax,eax jz L0048B796 mov eax,[edi-04h] mov ecx,[esp+10h] push L004EF2F0 push ebp push eax push SSZ0050D6E4__s__s_s push ecx call SUB_L004D571D add esp,00000014h L0048B796: mov eax,[edi+08h] add edi,0000000Ch test eax,eax jnz L0048B740 mov edi,[esp+10h] L0048B7A4: push edi call SUB_L00440570 add esp,00000004h L0048B7AD: mov ecx,[esp+40h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000003Ch retn ;------------------------------------------------------------------------------ SUB_L0048B7C0: push FFFFFFFFh push L004E4EA9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 xor ebx,ebx mov ebp,00000001h push SSZ0050D86C_OptScrollBar_framedata push 00000008h mov [esp+28h],ebx mov dword ptr [esi],L004EF2F4 mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],ebx mov [esi+34h],ebx mov [esi+14h],ebx mov [esi+18h],ebp mov [esi+24h],ebp mov [esi+1Ch],ebp mov [esi+20h],ebp call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050D858_OptScrollBar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000ECh mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov [esi+000000A4h],ebx mov [esi+000000ACh],bl call SUB_L004D4FA9 add esp,00000014h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],01h jz L0048B8E1 push ebx push 000000FBh push 000000FAh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L0048B8E3 L0048B8E1: xor eax,eax L0048B8E3: mov [esi+0000009Ch],eax mov [eax+000000A4h],ebx mov eax,[esi+0000009Ch] push ebp push esi mov [esp+28h],bl mov [eax+000000C0h],ebp mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],02h jz L0048B945 push ebx push 000000FDh push 000000FCh push SUB_L004216F0 push ebx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L0048B947 L0048B945: xor eax,eax L0048B947: mov [esi+000000A0h],eax mov [eax+000000A4h],ebp mov ecx,[esi+000000A0h] push ebp push esi mov [esp+28h],bl mov [ecx+000000C0h],ebp mov ecx,[esi+000000A0h] call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L0048B99D push 000000FEh push esi push ebx push ebp push ebx push ebx mov ecx,eax call SUB_L00422790 jmp L0048B99F L0048B99D: xor eax,eax L0048B99F: push ebp push esi mov ecx,eax mov [esp+28h],bl mov [esi+000000A8h],eax call SUB_L004587A0 mov edx,[esp+28h] push ebp push edx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+18h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 16 L0048B9E0: push esi mov esi,ecx call SUB_L0048BA00 test byte ptr [esp+08h],01h jz L0048B9F8 push esi call SUB_L004D4F9E add esp,00000004h L0048B9F8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0048BA00: push FFFFFFFFh push L004E4EC8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF2F4 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L0048BA4D push SSZ0050D858_OptScrollBar_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L0048BA4D: mov eax,[esi+3Ch] test eax,eax jz L0048BA69 push SSZ0050D86C_OptScrollBar_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L0048BA69: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0048BA90: mov eax,[esp+04h] push ecx mov ecx,[ecx+4Ch] push eax call SUB_L00485040 retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0048BAB0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4EEB push eax mov fs:[00000000h],esp sub esp,00000020h mov eax,[esp+30h] push ebp push esi mov esi,ecx xor ebp,ebp mov ecx,[esp+3Ch] push edi mov edx,[esi+3Ch] mov [esi+30h],eax mov [esi+34h],ecx mov eax,[edx+04h] cmp eax,ebp jz L0048BAFB push SSZ0050D858_OptScrollBar_frame0 push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+04h],ebp L0048BAFB: lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx push edx push 00000101h call SUB_L004434A0 lea eax,[esp+48h] lea ecx,[esp+20h] push eax push ecx push 00000100h call SUB_L004434A0 lea edx,[esp+58h] lea eax,[esp+30h] push edx push eax push 000000FFh call SUB_L004434A0 mov eax,[esp+30h] mov ecx,[esp+68h] mov [esi+20h],eax mov [esi+1Ch],eax imul eax,ecx mov [esi+24h],ecx push SSZ0050D858_OptScrollBar_frame0 lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax push ecx mov eax,[edx+04h] add eax,00000004h push eax push ebp push ebp push 00000101h push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esi+20h] mov edx,[esp+00000088h] mov edi,[esp+58h] mov [esp+6Ch],ecx mov ecx,[esi+24h] add esp,00000048h mov eax,ecx mov [esp+20h],ebp sub eax,edx mov [esp+1Ch],ebp cmp edi,eax mov [esp+28h],eax jge L0048BC5A push ebx mov ebx,[esp+40h] L0048BBF1: lea edx,[edi+ebx] push ecx cmp edx,eax jle L0048BC22 mov ecx,[esi+3Ch] mov eax,[esi+20h] push eax lea eax,[esp+28h] mov edx,[ecx+04h] add edx,00000004h push edx push edi push ebp push eax push 00000100h push SUB_L004B95C0 call SUB_L004436C0 add esp,00000020h jmp L0048BC44 L0048BC22: mov edx,[esi+3Ch] mov ecx,[esi+20h] push ecx mov eax,[edx+04h] add eax,00000004h push eax push edi push ebp push 00000100h push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch L0048BC44: mov ecx,[esi+24h] mov ebx,[esp+40h] mov edx,[esp+44h] mov eax,ecx add edi,ebx sub eax,edx cmp edi,eax jl L0048BBF1 pop ebx L0048BC5A: mov eax,[esi+24h] mov ecx,[esi+20h] push eax push ecx mov ecx,[esi+3Ch] sub eax,edx mov ecx,[ecx+04h] add ecx,00000004h push ecx push eax push ebp push 000000FFh push SUB_L004B95C0 call SUB_L00443500 mov eax,[esi+000000A0h] mov edx,[esi+24h] add esp,0000001Ch sub edx,[eax+24h] mov [eax+34h],edx mov ecx,[esi+000000A8h] cmp ecx,ebp jz L0048BCA1 mov eax,[ecx] push 00000001h call [eax] L0048BCA1: push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,ebp mov [esp+34h],ebp jz L0048BCE5 mov ecx,[esi+000000A0h] mov edx,[esi+24h] push 000000FEh push esi mov edi,[ecx+24h] mov ecx,[esi+0000009Ch] sub edx,edi push edx mov edx,[ecx+24h] push 00000001h push edx push ebp mov ecx,eax call SUB_L00422790 jmp L0048BCE7 L0048BCE5: xor eax,eax L0048BCE7: push 00000001h push esi mov ecx,eax mov dword ptr [esp+3Ch],FFFFFFFFh mov [esi+000000A8h],eax call SUB_L004587A0 mov ecx,[esp+2Ch] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,0000002Ch retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0048BD20: mov eax,[esp+08h] mov edx,[esp+04h] push ecx mov ecx,[ecx+4Ch] push eax push edx call SUB_L00485010 retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L0048BD40: mov ecx,[esp+04h] mov eax,[esp+08h] mov [ecx],al and eax,000000FFh test byte ptr [L0050E6E5+eax*8],80h jz L0048BD60 mov word ptr [ecx+01h],0003h retn ;------------------------------------------------------------------------------ L0048BD60: mov word ptr [L00CD8C40],0001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048BD70: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] test byte ptr [L0050E6E5+eax*8],80h jz L0048BD88 mov ax,[ecx+01h] jmp L0048BD98 L0048BD88: mov dx,[L00CD8C40] mov [esp+04h],dx mov eax,[esp+04h] L0048BD98: mov dl,[esp+08h] and eax,0000FFFFh mov [eax+ecx],dl xor edx,edx mov dl,[ecx] inc eax test byte ptr [L0050E6E5+edx*8],80h jz L0048BDB8 mov [ecx+01h],ax retn ;------------------------------------------------------------------------------ L0048BDB8: mov [L00CD8C40],ax retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048BDC0: mov eax,[esp+08h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov edx,[esp+04h] xor ecx,ecx mov cl,[edx] test byte ptr [L0050E6E5+ecx*8],80h jz L0048BDE2 mov cx,[edx+01h] jmp L0048BDF2 L0048BDE2: mov cx,[L00CD8C40] mov [esp+08h],cx mov ecx,[esp+08h] L0048BDF2: and ecx,0000FFFFh mov [ecx+edx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[edx] test byte ptr [L0050E6E5+ecx*8],80h jz L0048BE12 mov [edx+01h],ax retn ;------------------------------------------------------------------------------ L0048BE12: mov [L00CD8C40],ax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048BE20: mov eax,[esp+08h] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[esp+04h] xor ecx,ecx mov cl,[edx] test byte ptr [L0050E6E5+ecx*8],80h jz L0048BE42 mov cx,[edx+01h] jmp L0048BE52 L0048BE42: mov cx,[L00CD8C40] mov [esp+08h],cx mov ecx,[esp+08h] L0048BE52: and ecx,0000FFFFh mov [ecx+edx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[edx] test byte ptr [L0050E6E5+ecx*8],80h jz L0048BE71 mov [edx+01h],ax retn ;------------------------------------------------------------------------------ L0048BE71: mov [L00CD8C40],ax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048BE80: mov edx,[esp+04h] xor eax,eax mov al,[edx] test byte ptr [L0050E6E5+eax*8],80h jz L0048BE98 mov ax,[edx+01h] jmp L0048BEA8 L0048BE98: mov cx,[L00CD8C40] mov [esp+04h],cx mov eax,[esp+04h] L0048BEA8: push ebx mov ebx,[esp+10h] mov ecx,ebx push ebp and eax,0000FFFFh push esi mov esi,[esp+14h] mov ebp,ecx push edi lea edi,[eax+edx] shr ecx,02h rep movsd mov ecx,ebp add eax,ebx and ecx,00000003h rep movsb xor ecx,ecx pop edi mov cl,[edx] pop esi pop ebp pop ebx test byte ptr [L0050E6E5+ecx*8],80h jz L0048BEE5 mov [edx+01h],ax retn ;------------------------------------------------------------------------------ L0048BEE5: mov [L00CD8C40],ax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048BEF0: mov edx,[esp+04h] xor eax,eax mov ecx,[esp+08h] push esi mov al,[edx] mov esi,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi pop esi mov dl,[eax+edx] mov eax,[esp+0Ch] mov [eax],dl mov eax,[ecx] inc eax mov [ecx],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048BF30: mov ecx,[esp+04h] xor eax,eax push esi mov esi,[esp+0Ch] mov al,[ecx] push edi mov edx,[esi] mov edi,[esp+14h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edx 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 retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048BF80: mov ecx,[esp+04h] xor eax,eax push esi mov esi,[esp+0Ch] mov al,[ecx] push edi mov edx,[esi] mov edi,[esp+14h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edx 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 retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048BFD0: mov edx,[esp+04h] xor eax,eax mov ecx,[esp+08h] push esi mov al,[edx] mov esi,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi pop esi add eax,edx mov edx,[esp+0Ch] mov [edx],eax mov eax,[esp+10h] add [ecx],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048C010: push SSZ0050D944_PacketManager__startup__begin__ call SUB_L004C7F20 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048C020: jmp L004C8A40 Align 16 SUB_L0048C030: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov [esp+04h],cl mov ecx,[L0054B29C] mov eax,[esp+04h] and eax,000000FFh cmp ecx,eax jz L0048C096 mov ecx,[L00B294AC] mov [L0054B29C],eax test ecx,ecx jz L0048C07E call SUB_L004ACC50 L0048C07E: call SUB_L004BCED0 test eax,eax jz L0048C091 mov dword ptr [L0054B29C],00000000h L0048C091: jmp SUB_L0040C940 L0048C096: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048C0A0: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+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+06h] and eax,00000002h mov [esp+14h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+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 cl,[esi] mov cx,[L0050E6E4+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 lea edx,[edx+esi+0Bh] and ecx,00000002h inc ecx and ecx,0000FFFFh lea ecx,[ecx+esi+29h] push ecx push edx mov edx,[esp+1Ch] push eax push ebp push edx push ebx push edi call SUB_L0048C3F0 add esp,0000001Ch pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048C1C0: push FFFFFFFFh push L004E4F0B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000C28h push ebx push ebp push esi mov esi,[esp+00000C44h] xor eax,eax xor ebx,ebx mov al,[esi] mov [esp+34h],bx push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+1Ch],eax mov dl,[esi] mov ax,[L0050E6E4+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+06h] and eax,00000002h mov [esp+18h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+14h],eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+24h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh push edi neg ax sbb eax,eax lea edx,[ecx+esi+0Fh] and eax,00000002h mov [esp+24h],edx inc eax and eax,0000FFFFh lea esi,[eax+esi+2Dh] lea eax,[esp+2Ch] push eax call SUB_L0046DEF0 add esp,00000008h cmp esi,ebx mov [esp+00000C40h],ebx jz L0048C342 cmp [esi],bx jz L0048C342 push edi lea ecx,[esp+2Ch] push esi push ecx call SUB_L0046E0C0 add esp,0000000Ch L0048C342: lea ecx,[esp+28h] call SUB_L004C8360 lea edx,[esp+38h] push eax push edx call SUB_L004D76B5 mov [esp+0000083Eh],bx call SUB_L0046E910 mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+18h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[esp+28h] shr ecx,02h rep movsd mov ecx,eax lea eax,[esp+18h] and ecx,00000003h rep movsb lea ecx,[esp+40h] mov [esp+1Bh],bl push ecx mov ecx,[esp+30h] push edx mov edx,[esp+24h] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+34h] push edx push eax push ecx push ebp call SUB_L004C4F00 add esp,00000028h lea ecx,[esp+28h] mov dword ptr [esp+00000C40h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+00000C38h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000C34h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048C3F0: sub esp,00000600h push ebx push ebp push esi push edi mov edi,[esp+00000628h] test edi,edi jz CASE_0048C6D8_PROC0005 mov ebx,[esp+0000062Ch] test ebx,ebx jz CASE_0048C6D8_PROC0005 mov eax,[L00B28A0C] test eax,eax jnz CASE_0048C6D8_PROC0005 mov al,[L0050CC2E] test al,al jz L0048C437 push ebx call SUB_L00484AF0 add esp,00000004h L0048C437: mov eax,[esp+0000061Ch] and eax,000000FFh cmp eax,0000000Ah ja CASE_0048C6D8_PROC0005 jmp [CASE_PROCTABLE_0048C6D8+eax*4] CASE_0048C6D8_PROC0000: mov esi,[esp+00000614h] push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L0048C4C6 push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_0048C6D8_PROC0005 or ecx,FFFFFFFFh mov edx,[esp+00000620h] repne scasb not ecx sub edi,ecx push 00000000h mov eax,ecx mov esi,edi mov edi,L00CD9CB4 push 00000000h shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+0000062Ch] mov byte ptr [L00CD9CD2],02h push ecx push edx push ebx mov ecx,ebp call SUB_L004800A0 pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ L0048C4C6: mov eax,[esp+00000624h] mov ecx,[esp+00000620h] and eax,0000FFFFh push ebx and ecx,0000FFFFh push eax push ecx call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ CASE_0048C6D8_PROC000A: mov esi,[esp+00000614h] push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L0048C640 push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_0048C6D8_PROC0005 or ecx,FFFFFFFFh push 00000001h repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov byte ptr [L00CD9CD2],02h jmp L0048C61D CASE_0048C6D8_PROC0007: mov esi,[esp+00000614h] push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L0048C640 push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_0048C6D8_PROC0005 or ecx,FFFFFFFFh push eax repne scasb not ecx sub edi,ecx mov eax,[esp+00000628h] mov edx,ecx mov esi,edi mov edi,L00CD9CB4 push eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[esp+00000628h] mov byte ptr [L00CD9CD2],02h push ecx push ebx mov ecx,ebp call SUB_L00480170 pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ CASE_0048C6D8_PROC0006: mov esi,[esp+00000614h] cmp esi,FFFFFFFFh jz L0048C640 push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L0048C640 push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_0048C6D8_PROC0005 or ecx,FFFFFFFFh push eax repne scasb not ecx sub edi,ecx push ebp mov edx,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov byte ptr [L00CD9CD2],03h call SUB_L004508C0 add esp,00000004h push eax L0048C61D: mov eax,[esp+0000062Ch] mov ecx,[esp+00000628h] push eax push ecx push ebx mov ecx,ebp call SUB_L004800A0 pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ L0048C640: mov edx,[esp+00000624h] mov eax,[esp+00000620h] and edx,0000FFFFh push ebx and eax,0000FFFFh push edx push eax call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ CASE_0048C6D8_PROC0001: mov eax,[esp+00000614h] push ebx cmp eax,FFFFFFFFh jz L0048C691 push edi lea ecx,[esp+18h] push SSZ0050D974__s___s push ecx call SUB_L004D512F add esp,00000010h jmp L0048C6A3 L0048C691: lea edx,[esp+14h] push SSZ0050D964__System____s push edx call SUB_L004D512F add esp,0000000Ch L0048C6A3: mov ecx,[esp+00000624h] mov edx,[esp+00000620h] lea eax,[esp+10h] and ecx,0000FFFFh push eax and edx,0000FFFFh push ecx push edx call SUB_L004BDF40 add esp,0000000Ch CASE_0048C6D8_PROC0005: pop edi pop esi pop ebp pop ebx add esp,00000600h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0048C6D8: dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC0001 dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC0005 dd CASE_0048C6D8_PROC0006 dd CASE_0048C6D8_PROC0007 dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC0000 dd CASE_0048C6D8_PROC000A Align 16 SUB_L0048C710: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4F2B mov ecx,[L00C8C4D8] push eax mov fs:[00000000h],esp sub esp,00000274h push ebx xor ebx,ebx push ebp push esi cmp ecx,ebx push edi jz L0048C747 mov eax,[ecx] push 00000001h call [eax] mov [L00C8C4D8],ebx L0048C747: or ecx,FFFFFFFFh mov edi,L00C880F8 xor eax,eax lea edx,[esp+00000090h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,edx lea edx,[esp+00000090h] rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L0050D99C repne scasb not ecx sub edi,ecx mov ebp,ecx mov esi,edi or ecx,FFFFFFFFh mov edi,edx repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea edx,[esp+00000090h] and ecx,00000003h rep movsb mov edi,L00705058 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea edx,[esp+00000090h] and ecx,00000003h rep movsb mov edi,L0050D998 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,edx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea eax,[esp+00000090h] and ecx,00000003h push eax rep movsb call SUB_L004CE570 add esp,00000004h mov esi,[esp+00000294h] xor ecx,ecx mov [esp+0000028Ch],ebx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+38h],eax mov dl,[esi] mov ax,[L0050E6E4+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,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+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 mov edi,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 xor edx,edx mov [esp+28h],eax mov dl,[esi] mov ax,[L0050E6E4+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+10h] mov [esp+13h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov dl,[ecx+esi+11h] mov [esp+14h],dl neg ax 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,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+16h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+34h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+18h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+2Ch],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 push esi mov [esp+34h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov si,[eax+esi+1Ch] push esi call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[esp+34h] mov edx,[esp+38h] and ecx,0000FFFFh and eax,0000FFFFh mov [L00C83A3C],ecx mov ecx,[esp+2Ch] and ecx,0000FFFFh mov [L00C882B8],edx mov [L00C83A38],ecx mov ecx,[esp+30h] and ecx,0000FFFFh mov [L00C83A30],eax mov [L00C83A34],ecx mov ecx,[L00C884DC] or esi,FFFFFFFFh and ebx,00003FFFh mov [ecx+7Ch],edx mov edx,[L00C884DC] mov [edx+000001F8h],esi mov eax,[L00C884DC] mov [eax+000001FCh],esi mov ecx,[L00C884DC] mov [ecx+00000200h],esi mov edx,[L00C884DC] mov [edx+3Ch],bx call SUB_L0047CC20 mov eax,[L00C884DC] mov cl,[esp+13h] mov [eax+72h],cl mov eax,[esp+28h] mov edx,[L00C884DC] mov ebx,eax and ebx,0000FFFFh sub esp,00000008h mov [edx+00000194h],ebx mov [esp+28h],di mov [esp+2Ah],bp mov edx,[esp+28h] mov ecx,esp mov [esp+2Ch],ax mov [ecx],edx mov [ecx+04h],ax mov ecx,[L00C884DC] call SUB_L0047EFE0 mov eax,[esp+14h] and ebp,0000FFFFh and eax,000000FFh and edi,0000FFFFh push eax push ebx push ebp push edi call SUB_L00475BF0 mov ecx,[L00B2905C] xor edi,edi add esp,00000010h cmp ecx,edi mov [L00B29044],edi jz L0048CB1C mov edx,[ecx] push 00000001h call [edx] mov [L00B2905C],edi L0048CB1C: mov ecx,[L00B294A4] cmp ecx,edi jz L0048CB32 mov eax,[ecx] push 00000001h call [eax] mov [L00B294A4],edi L0048CB32: mov ecx,[L00B29498] cmp ecx,edi jz L0048CB48 mov edx,[ecx] push 00000001h call [edx] mov [L00B29498],edi L0048CB48: mov ecx,[L00B29488] cmp ecx,edi jz L0048CB5E mov eax,[ecx] push 00000001h call [eax] mov [L00B29488],edi L0048CB5E: push SSZ0050D97C_Welcome_to_Ultima_Online_ push 00000003h push edi call SUB_L004BDF40 add esp,0000000Ch call SUB_L0047D2D0 mov dword ptr [L00C88340],00000001h call SUB_L00404760 cmp [L00500568],edi jz L0048CBC9 mov ebx,[L0050056C] lea ecx,[esp+14h] push 000000A7h push ecx call SUB_L0048BD40 lea edx,[esp+1Ch] push ebx push edx call SUB_L0048BDC0 lea eax,[esp+24h] push 00000001h push eax call SUB_L0048BD70 add esp,00000018h lea ecx,[esp+14h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0048CBC9: mov al,[L0050CCB4] test al,al jz L0048CC13 mov edx,[L00C884DC] lea eax,[esp+14h] push 000000BBh push eax mov ebx,[edx+7Ch] call SUB_L0048BD40 lea ecx,[esp+1Ch] push ebx push ecx call SUB_L0048BE20 lea edx,[esp+24h] push ebx push edx call SUB_L0048BE20 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+14h] push eax call SUB_L004BC750 L0048CC13: mov ecx,[L00C884DC] lea edx,[esp+3Ch] push 00000034h push edx mov ebx,[ecx+7Ch] call SUB_L0048BD40 lea eax,[esp+44h] push EDEDEDEDh push eax call SUB_L0048BE20 lea ecx,[esp+4Ch] push 00000005h push ecx call SUB_L0048BD70 lea edx,[esp+54h] push ebx push edx call SUB_L0048BE20 mov ecx,[L00C88300] add esp,00000020h lea eax,[esp+3Ch] push eax call SUB_L004BC750 push edi call SUB_L004B91A0 lea ecx,[esp+50h] push 000000BDh push ecx call SUB_L0048BD40 mov edx,[L00511E88] mov ecx,esi mov edi,edx xor eax,eax repne scasb not ecx push ecx push edx lea edx,[esp+60h] push edx call SUB_L0048BE80 mov ecx,[L00C88300] add esp,00000018h lea eax,[esp+4Ch] push eax call SUB_L004BC750 mov ecx,[esp+00000284h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,00000280h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048CCC0: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] shr eax,0Eh and ax,0002h or al,01h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048CCE0: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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,[L0050E6E4+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,[L0050E6E4+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,[L0050E6E4+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 [esp+14h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+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 mov ebx,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[esp+14h] and edi,0000FFFFh and edx,000000FFh and ebx,0000FFFFh push edx push FFFFFFFFh and ebp,0000FFFFh and eax,0000FFFFh push FFFFFFFFh push FFFFFFFFh mov [L00C83A3C],edi mov [L00C83A38],ebx mov [L00C83A34],ebp mov [L00C83A30],eax call SUB_L00475BF0 add esp,00000010h mov dword ptr [L00C88340],00000001h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ SUB_L0048CE70: mov ecx,[esp+04h] xor eax,eax push esi mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.14 push eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L0048CEF6 cmp esi,[L00C884DC] jz L0048CEF6 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L0048CECE mov eax,[esi+7Ch] push eax push 00000000h call SUB_L0047ED50 add esp,00000008h test eax,eax jnz L0048CEF6 L0048CECE: mov ecx,[L00C884DC] cmp [ecx+000000C8h],esi jnz L0048CEE6 mov dword ptr [L00C88550],00000000h L0048CEE6: push esi call SUB_L00484750 mov edx,[esi] add esp,00000004h mov ecx,esi call [edx+04h] L0048CEF6: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048CF00: sub esp,00000010h push ebx push ebp push esi mov esi,[esp+20h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+14h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+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 [esp+13h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+0Ah] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+1Ch],eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+18h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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,[L0050E6E4+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,[esp+14h] inc eax mov [esp+12h],dl and eax,0000FFFFh mov al,[eax+esi+11h] mov [esp+24h],al mov eax,[L00C882B8] cmp ecx,eax jnz L0048D1B5 mov ecx,[L00B29054] xor esi,esi cmp ecx,esi jz L0048D08A mov edx,[ecx] push 00000001h call [edx] mov [L00B29054],esi L0048D08A: movsx eax,[esp+24h] and ebx,0000FFFFh mov [L00C85358],esi mov esi,[esp+18h] push ebx mov ebx,[esp+20h] mov ecx,esi mov edx,ebx and ecx,0000FFFFh push eax and edx,0000FFFFh push ecx push edx call SUB_L00475BF0 mov ecx,[L00C884DC] add esp,00000010h mov eax,[ecx] call [eax+14h] mov ecx,[L00C884DC] and edi,00003FFFh movsx ax,[esp+24h] mov [ecx+24h],bx mov edx,[L00C884DC] mov [edx+26h],si mov ecx,[L00C884DC] mov [ecx+28h],ax mov edx,[L00C884DC] mov cl,[esp+12h] mov [edx+3Ch],di mov eax,[L00C884DC] mov [eax+72h],cl mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000094h] mov ecx,[L00C884DC] mov eax,[ecx] call [eax+10h] and ebp,0000FFFFh push ebp call SUB_L0047EB50 mov ecx,[L00C884DC] mov dl,[esp+17h] push FFFFFFFFh push FFFFFFFFh mov [ecx+42h],ax mov eax,[L00C884DC] push FFFFFFFFh push FFFFFFFFh mov bl,[eax+0000009Ch] mov [eax+0000009Ch],dl call SUB_L0047A400 add esp,00000014h call SUB_L004CAF70 mov eax,[L00C884DC] cmp bl,[eax+0000009Ch] jz L0048D1AB mov esi,[L00B294DC] test esi,esi jz L0048D1AB L0048D17A: mov edx,[esi] mov ecx,esi call [edx+000000E8h] test eax,eax jz L0048D1A4 mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0048D1A4 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L004A5350 L0048D1A4: mov esi,[esi+40h] test esi,esi jnz L0048D17A L0048D1AB: mov dword ptr [L00C85384],00000000h L0048D1B5: pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048D1C0: mov edx,[esp+04h] xor eax,eax mov al,[edx] mov ax,[L0050E6E4+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 [esp+04h],cl mov ecx,[L00C884DC] and eax,00000002h inc eax test ecx,ecx jz L0048D215 and eax,0000FFFFh push esi mov esi,[ecx] movsx edx,[eax+edx+01h] push edx call [esi+000000A0h] pop esi L0048D215: mov eax,[esp+04h] and eax,000000FFh push eax call SUB_L0047A290 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048D230: sub esp,00000014h push ebx push ebp push esi mov esi,[esp+24h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+20h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+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+0Ah] mov cx,ax neg cx sbb ecx,ecx mov [esp+1Ch],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+0Bh] and eax,00000002h mov [esp+18h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+14h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and ax,8000h push edi 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+0Eh] and eax,00000002h mov [esp+14h],cl inc eax and eax,0000FFFFh mov dl,[eax+esi+0Fh] mov [esp+2Ch],dl call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L0048D481 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0048D3AE movsx eax,[esp+28h] mov edx,[esi] push eax mov ecx,esi call [edx+000000A0h] L0048D3AE: cmp edi,[L00C882B8] jz L0048D3F2 mov ecx,[esp+10h] mov edx,[esp+14h] mov eax,[esp+18h] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+28h] push eax and ebx,0000FFFFh push ecx and ebp,0000FFFFh push ebx push ebp push 00000000h push 00000000h push edx push edi call SUB_L00482B60 add esp,00000028h pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ L0048D3F2: mov ecx,[L00C884DC] test ecx,ecx jz L0048D481 mov eax,[ecx+20h] mov bl,[ecx+0000009Ch] test eax,eax jz L0048D42F mov eax,[ecx] call [eax+14h] mov ecx,[L00C884DC] mov dl,[esp+10h] mov [ecx+0000009Ch],dl mov ecx,[L00C884DC] mov eax,[ecx] call [eax+10h] jmp L0048D439 L0048D42F: mov dl,[esp+10h] mov [ecx+0000009Ch],dl L0048D439: mov eax,[L00C884DC] cmp bl,[eax+0000009Ch] jz L0048D481 mov esi,[L00B294DC] test esi,esi jz L0048D481 L0048D450: mov edx,[esi] mov ecx,esi call [edx+000000E8h] test eax,eax jz L0048D47A mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0048D47A push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,esi call SUB_L004A5350 L0048D47A: mov esi,[esi+40h] test esi,esi jnz L0048D450 L0048D481: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048D490: push ebx push ebp push esi push edi mov edi,[esp+14h] xor eax,eax mov al,[edi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.14 push eax mov esi,00000004h call SUB_L004843F0 mov ebp,eax add esp,00000004h xor ebx,ebx test ebp,ebp jz L0048D4E1 mov edx,[ebp+00h] mov ecx,ebp call [edx+54h] test eax,eax jz L0048D4E1 mov ebx,ebp L0048D4E1: xor ebp,ebp L0048D4E3: xor eax,eax mov al,[edi] mov ax,[L0050E6E4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,esi inc esi mov cl,[ecx+edi] test cl,cl mov [esp+14h],cl jz L0048D54A neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,esi mov eax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.14 add esi,00000004h test ebx,ebx jz L0048D544 mov ecx,[esp+14h] and ecx,000000FFh mov [ebx+ecx*4+000000BCh],eax L0048D544: inc ebp cmp ebp,00000028h jl L0048D4E3 L0048D54A: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048D550: push FFFFFFFFh push L004E4F4B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push ebp push esi mov esi,[esp+3Ch] xor eax,eax push edi mov al,[esi] mov byte ptr [esp+13h],00h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+24h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+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+0Ah] mov cx,ax neg cx sbb ecx,ecx mov [esp+20h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+0Bh] and eax,00000002h mov [esp+1Ch],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+18h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] push edi 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+0Eh] and eax,00000002h mov [esp+18h],cl inc eax and eax,0000FFFFh mov dl,[eax+esi+0Fh] mov [esp+44h],dl call SUB_L004843F0 add esp,00000004h test eax,eax jz L0048D6CC mov byte ptr [esp+13h],01h L0048D6CC: cmp edi,[L00C882B8] jz L0048D70D mov eax,[esp+14h] mov ecx,[esp+18h] mov edx,[esp+1Ch] push eax mov eax,[esp+24h] push ecx mov ecx,[esp+2Ch] push edx and ebx,0000FFFFh push eax and ebp,0000FFFFh push ebx push ebp push 00000000h push 00000000h push ecx push edi call SUB_L00482B60 add esp,00000028h jmp L0048D79C L0048D70D: mov ecx,[L00C884DC] test ecx,ecx jz L0048D79C mov eax,[ecx+20h] mov bl,[ecx+0000009Ch] test eax,eax jz L0048D749 mov edx,[ecx] call [edx+14h] mov eax,[L00C884DC] mov cl,[esp+14h] mov [eax+0000009Ch],cl mov ecx,[L00C884DC] mov edx,[ecx] call [edx+10h] jmp L0048D753 L0048D749: mov al,[esp+14h] mov [ecx+0000009Ch],al L0048D753: mov ecx,[L00C884DC] cmp bl,[ecx+0000009Ch] jz L0048D79C mov ebx,[L00B294DC] test ebx,ebx jz L0048D79C L0048D76B: mov edx,[ebx] mov ecx,ebx call [edx+000000E8h] test eax,eax jz L0048D795 mov eax,[ebx+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L0048D795 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,ebx call SUB_L004A5350 L0048D795: mov ebx,[ebx+40h] test ebx,ebx jnz L0048D76B L0048D79C: push edi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp mov [esp+14h],ebp jz L0048D7E2 mov edx,[ebp+00h] mov ecx,ebp call [edx+24h] test eax,eax jz L0048D7D6 mov eax,[ebp+00h] mov ecx,ebp call [eax+14h] movsx eax,[esp+40h] mov edx,[ebp+00h] push eax mov ecx,ebp call [edx+000000A0h] jmp L0048D7E2 L0048D7D6: mov dword ptr [esp+14h],00000000h mov ebp,[esp+14h] L0048D7E2: xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ebx,eax mov edi,00000014h test ebx,ebx jz L0048D99F L0048D817: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+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 mov ebp,eax xor eax,eax mov al,[esi] add edi,00000002h mov cx,[L0050E6E4+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 ebp,00008000h mov dl,[eax+esi] mov [esp+24h],dl jz L0048D8A2 and ebp,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 [esp+18h],eax add edi,00000002h jmp L0048D8AA L0048D8A2: mov dword ptr [esp+18h],00000000h L0048D8AA: mov eax,[esp+14h] test eax,eax jz L0048D967 push ebx call SUB_L004843F0 add esp,00000004h mov [esp+40h],eax test eax,eax jnz L0048D930 push ebp call SUB_L004846F0 add esp,00000004h test eax,eax jz L0048D918 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov dword ptr [esp+38h],00000000h jz L0048D90A push 00000001h push 00000000h push ebp push ebx mov ecx,eax call SUB_L00480740 mov dword ptr [esp+38h],FFFFFFFFh mov ebx,eax jmp L0048D93B L0048D90A: xor eax,eax mov dword ptr [esp+38h],FFFFFFFFh mov ebx,eax jmp L0048D93B L0048D918: and ebp,0000FFFFh push 00000000h push ebp push ebx call SUB_L0047DF20 add esp,0000000Ch mov [esp+40h],eax jmp L0048D937 L0048D930: mov edx,[eax] mov ecx,eax call [edx+50h] L0048D937: mov ebx,[esp+40h] L0048D93B: mov eax,[esp+18h] and eax,0000FFFFh push eax call SUB_L0047EB50 mov ecx,[esp+18h] mov [ebx+42h],ax mov eax,[esp+28h] add esp,00000004h and eax,000000FFh push eax push ecx mov ecx,ebx call SUB_L0047F820 L0048D967: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+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 mov ebx,eax add edi,00000004h test ebx,ebx jnz L0048D817 mov ebp,[esp+14h] L0048D99F: test ebp,ebp jz L0048D9AB mov eax,[ebp+00h] mov ecx,ebp call [eax+10h] L0048D9AB: mov al,[L0050CC32] test al,al jz L0048DA73 test ebp,ebp jz L0048DA73 mov al,[esp+13h] test al,al jnz L0048DA73 test byte ptr [ebp+0000009Ch],80h jnz L0048DA73 cmp word ptr [ebp+3Ch],0000h jz L0048DA73 cmp ebp,[L00C884DC] jz L0048DA73 mov eax,[L0050E72C] mov ebp,[ebp+7Ch] mov esi,00008000h mov byte ptr [esp+28h],09h test esi,eax jz L0048DA0F mov word ptr [esp+29h],0003h jmp L0048DA18 L0048DA0F: mov word ptr [L00CD8C40],0001h L0048DA18: push ebp call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+28h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0048DA38 mov ecx,[esp+29h] jmp L0048DA48 L0048DA38: mov dx,[L00CD8C40] mov [esp+40h],dx mov ecx,[esp+40h] L0048DA48: and ecx,0000FFFFh mov [esp+ecx+28h],eax add ecx,00000004h lea eax,[esp+28h] push ecx push eax call SUB_L0048DA90 add esp,00000008h lea ecx,[esp+28h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L0048DA73: mov ecx,[esp+30h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048DA90: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] test byte ptr [L0050E6E5+eax*8],80h mov ax,[esp+08h] jz L0048DAAC mov [ecx+01h],ax retn ;------------------------------------------------------------------------------ L0048DAAC: mov [L00CD8C40],ax retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048DAC0: sub esp,0000001Ch push ebx push ebp push esi mov esi,[esp+2Ch] xor eax,eax xor ebx,ebx mov al,[esi] mov byte ptr [esp+1Ch],00h mov [esp+10h],bl mov [esp+14h],ebx mov ax,[L0050E6E4+eax*8] mov [esp+0Ch],bl and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 test eax,80000000h mov [esp+2Ch],eax jz L0048DB1B and eax,7FFFFFFFh mov ebx,00000001h mov [esp+2Ch],eax L0048DB1B: xor ecx,ecx push edi mov cl,[esi] mov ax,[L0050E6E4+ecx*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 [esp+24h],eax mov edi,00000006h jz L0048DB83 xor edx,edx and eax,00007FFFh mov dl,[esi] mov [esp+24h],eax mov edi,00000007h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+esi+06h] mov [esp+20h],al L0048DB83: test bx,bx jz L0048DBB9 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*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 mov [esp+1Ch],eax add edi,00000002h jmp L0048DBC1 L0048DBB9: mov dword ptr [esp+1Ch],00000001h L0048DBC1: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+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 mov ebx,eax add edi,00000002h test bh,80h jz L0048DBFE mov byte ptr [esp+14h],01h and ebx,00007FFFh L0048DBFE: xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 mov ebp,eax add edi,00000002h test ebp,00008000h jz L0048DC40 mov edx,00000001h and ebp,00007FFFh jmp L0048DC44 L0048DC40: mov edx,[esp+18h] L0048DC44: test ebp,00004000h jz L0048DC57 mov byte ptr [esp+10h],01h and ebp,00003FFFh L0048DC57: mov al,[esp+14h] test al,al jz L0048DC85 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi inc edi mov al,[eax+esi] mov [esp+14h],al L0048DC85: xor ecx,ecx mov cl,[esi] mov cx,[L0050E6E4+ecx*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 [esp+28h],al jz L0048DCDA 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 [esp+18h],eax add edi,00000002h mov edx,eax L0048DCDA: mov al,[esp+10h] test al,al jz L0048DD07 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi mov al,[eax+esi] mov [esp+10h],al L0048DD07: mov eax,[esp+30h] mov ecx,[L00C882B8] cmp eax,ecx pop edi jz L0048DD4C mov ecx,[esp+0Ch] and ebp,0000FFFFh push ecx mov ecx,[esp+28h] push edx mov edx,[esp+18h] push edx mov edx,[esp+24h] push ecx mov ecx,[esp+2Ch] and ebx,0000FFFFh push ebp push ebx push edx mov edx,[esp+3Ch] push ecx push edx push eax call SUB_L00482B60 add esp,00000028h L0048DD4C: pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048DD60: push esi mov esi,[esp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 L0048DDF3 test eax,eax jnz L0048DDD3 mov ecx,[L00C884DC] push eax push eax push 00000003h push eax push SSZ0050D9C4_Illegal_group_ call SUB_L004800A0 pop edi pop esi retn ;------------------------------------------------------------------------------ L0048DDD3: cmp eax,00000001h jnz L0048DDF3 mov ecx,[L00C884DC] push 00000000h push 00000000h push 00000003h push 00000000h push SSZ0050D9B0_Removed_from_group_ call SUB_L004800A0 pop edi pop esi retn ;------------------------------------------------------------------------------ L0048DDF3: cmp edi,[L00C882B8] jnz L0048DE18 push eax call SUB_L004843F0 add esp,00000004h mov ecx,eax push 00000000h push 00000000h push 00000003h push 00000000h push SSZ0050D9A0_Now_grouped_ call SUB_L004800A0 L0048DE18: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048DE20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E4F6B push eax mov fs:[00000000h],esp push ebx push ebp push esi mov esi,[esp+1Ch] xor eax,eax push edi xor ebp,ebp mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 L0048DEC9 push ebp and esi,0000FFFFh push ebp push esi push ebp call SUB_L00458810 mov cl,[L00503141] add esp,00000010h test cl,cl jnz L0048E030 test eax,eax jz L0048E030 push ebp push eax push ebx call SUB_L0045D2D0 jmp L0048E02D L0048DEC9: cmp ebx,[L00C882B8] jnz L0048DED9 mov edi,[L00C884DC] jmp L0048DEE4 L0048DED9: push ebx call SUB_L004843F0 add esp,00000004h mov edi,eax L0048DEE4: cmp si,FFFFh jnz L0048DF77 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L0048DF12 mov esi,[edi+000000B0h] test esi,esi jz L0048DF12 mov eax,[esi] mov ecx,esi call [eax+00000174h] test esi,esi jnz L0048DF54 L0048DF12: push 00000188h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+18h],00000000h jz L0048DF3D push edi push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0041A460 jmp L0048DF3F L0048DF3D: xor eax,eax L0048DF3F: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+20h],FFFFFFFFh mov esi,eax call SUB_L004587A0 L0048DF54: mov al,[L00503141] test al,al jnz L0048E030 test esi,esi jz L0048E030 push esi push 00000000h push ebx call SUB_L0045D2D0 jmp L0048E02D L0048DF77: cmp si,000Ah jz L0048DF83 cmp si,0030h jnz L0048DF9B L0048DF83: mov ecx,esi push 00000000h and ecx,0000FFFFh push 00000000h push ecx push edi call SUB_L00458810 add esp,00000010h mov ebp,eax L0048DF9B: cmp si,1392h jz L0048DFA9 cmp si,1393h jnz L0048DFE0 L0048DFA9: cmp ebx,00000001h jnz L0048DFC6 mov edx,esi push 00000000h and edx,0000FFFFh push 00000000h push edx push edi call SUB_L00458810 add esp,00000010h jmp L0048DFE0 L0048DFC6: test ebx,ebx jnz L0048DFE0 mov ecx,[L00B294AC] test ecx,ecx jz L0048DFE0 mov eax,[ecx] push 00000001h call [eax] mov [L00B294AC],ebx L0048DFE0: cmp si,01F4h jz L0048E001 cmp si,01F5h jz L0048E001 test edi,edi jz L0048E017 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L0048E017 push 00000001h jmp L0048E003 L0048E001: push 00000000h L0048E003: and esi,0000FFFFh push 00000000h push esi push edi call SUB_L00458810 add esp,00000010h mov ebp,eax L0048E017: mov al,[L00503141] test al,al jnz L0048E030 test ebp,ebp jz L0048E030 push 00000000h push ebp push ebx call SUB_L0045D2D0 L0048E02D: add esp,0000000Ch L0048E030: mov ecx,[esp+10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048E050: push FFFFFFFFh push L004E4F8B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,[esp+30h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esp+1Ch],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+18h],eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+14h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 xor ecx,ecx mov [esp+10h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 [esp+38h],eax call SUB_L004843F0 mov esi,eax add esp,00000004h mov ecx,esi mov edx,[esi] call [edx+60h] test eax,eax jz L0048E23E cmp di,139Dh jc L0048E23E push 00000130h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax test eax,eax mov dword ptr [esp+2Ch],00000000h jz L0048E229 mov ecx,[esp+34h] mov edx,[esp+10h] push ecx mov ecx,[esp+18h] push edx mov edx,[esp+20h] push ecx mov ecx,[esp+28h] push edx push ecx push ebp and edi,0000FFFFh push esi push edi push 00000000h push 00000000h mov ecx,eax call SUB_L0043B200 jmp L0048E22B L0048E229: xor eax,eax L0048E22B: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+34h],FFFFFFFFh call SUB_L004587A0 L0048E23E: mov ecx,[esp+24h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048E260: push ebx push esi mov esi,[esp+0Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+10h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+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 cx,[L0050E6E4+ecx*8] and cx,8000h mov dx,cx neg dx sbb edx,edx and edx,00000002h inc edx and edx,0000FFFFh neg cx mov bl,[edx+esi+05h] sbb ecx,ecx and eax,0000FFFFh and ecx,00000002h and edi,0000FFFFh inc ecx and ecx,0000FFFFh movsx edx,[ecx+esi+06h] push edx push eax mov eax,[esp+18h] push edi and eax,000000FFh push eax call SUB_L0047A400 mov ecx,[L00C884DC] add esp,00000010h pop edi mov [ecx+72h],bl pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048E340: push FFFFFFFFh push L004E4FB0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push ebp push esi push edi xor ebp,ebp xor ebx,ebx mov esi,[esp+44h] xor eax,eax mov dword ptr [esp+3Ch],00000001h mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esp+14h],eax mov cl,[esi] mov ax,[L0050E6E4+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+02h] and eax,00000002h mov [esp+44h],dl inc eax and eax,0000FFFFh mov ax,[eax+esi+03h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+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 xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 push esi mov edi,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+20h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+28h],eax call SUB_L0048CCC0 and eax,0000FFFFh mov cl,[eax+esi+0Fh] push esi mov [esp+1Ah],cl call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000008h mov eax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov [esp+1Ch],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+14h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+2Ch],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+16h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+34h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h test edi,edi mov dl,[eax+esi+18h] mov [esp+13h],dl jz L0048E502 push edi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L0048E502 mov eax,[ebp+00h] mov ecx,ebp call [eax+24h] test eax,eax jnz L0048E502 xor ebp,ebp L0048E502: mov eax,[esp+18h] test eax,eax jz L0048E526 push eax call SUB_L004843F0 mov ebx,eax add esp,00000004h test ebx,ebx jz L0048E526 mov edx,[ebx] mov ecx,ebx call [edx+24h] test eax,eax jnz L0048E526 xor ebx,ebx L0048E526: mov cx,[esp+24h] mov ax,[esp+1Ch] mov dx,[esp+28h] mov [esp+1Eh],cx mov cx,[esp+30h] mov [esp+1Ch],ax movzx ax,[esp+12h] mov [esp+2Ah],cx mov [esp+20h],ax movzx cx,[esp+13h] test ebp,ebp mov [esp+28h],dx mov [esp+2Ch],cx jnz L0048E5BB push ebp push 00000001h test ebx,ebx push 00000005h jnz L0048E613 mov esi,[esp+34h] sub esp,00000008h mov edx,esp sub esp,00000008h mov [edx],esi mov [edx+04h],cx mov edx,[esp+38h] mov ecx,esp mov [ecx],edx mov edx,[esp+30h] mov [ecx+04h],ax movzx ax,[esp+60h] add eax,edx push eax call SUB_L004534E0 add esp,00000020h mov ecx,[esp+34h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L0048E5BB: push 00000000h push 00000001h test ebx,ebx push 00000005h jz L0048E5EF movzx cx,[esp+50h] mov esi,[esp+20h] push ebx add ecx,esi push ebp push ecx call SUB_L004536D0 add esp,00000018h mov ecx,[esp+34h] mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L0048E5EF: mov eax,[esp+34h] sub esp,00000008h mov edx,esp mov esi,[esp+28h] push ebp mov [edx],eax mov [edx+04h],cx movzx cx,[esp+5Ch] add ecx,esi push ecx call SUB_L00453630 jmp L0048E635 L0048E613: mov ecx,[esp+28h] push ebx sub esp,00000008h mov esi,[esp+2Ch] mov edx,esp mov [edx],ecx mov [edx+04h],ax movzx dx,[esp+5Ch] add edx,esi push edx call SUB_L00453590 L0048E635: mov ecx,[esp+50h] add esp,0000001Ch mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048E650: sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+1Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+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+06h] and eax,00000002h mov [esp+18h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+14h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 [esp+10h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 [esp+20h],eax xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+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 mov ecx,[esp+10h] mov edx,[esp+14h] push eax mov eax,[esp+24h] push eax mov eax,[esp+20h] push ecx push edx push ebp push eax push ebx push edi mov dword ptr [L00C8C4C8],00000000h call SUB_L00484420 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048E7D0: sub esp,00000030h push ebx push ebp push esi push edi mov edi,[esp+44h] xor eax,eax mov al,[edi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ebx,ebx and eax,0000FFFFh mov esi,00000002h mov dword ptr [L00C8C4C8],00000001h mov [esp+2Ch],eax jle L0048EA3A L0048E821: xor ecx,ecx mov cl,[edi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+28h],eax mov dl,[edi] add esi,00000004h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+24h],eax xor eax,eax mov al,[edi] add esi,00000002h mov cx,[L0050E6E4+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 [esp+20h],dl inc ecx and ecx,0000FFFFh add ecx,esi mov cx,[ecx+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+1Ch],eax xor eax,eax mov al,[edi] add esi,00000002h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esp+18h],eax mov cl,[edi] add esi,00000002h mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+14h],eax mov dl,[edi] add esi,00000002h mov ax,[L0050E6E4+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 mov ebp,eax xor eax,eax mov al,[edi] add esi,00000004h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi mov ax,[eax+edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 add esi,00000002h mov [esp+10h],eax test ebx,ebx jnz L0048E9FF push ebp call SUB_L004843F0 add esp,00000004h mov [esp+44h],eax test eax,eax jz L0048E9FF mov edx,[eax] mov ecx,eax call [edx+30h] test eax,eax jz L0048E9FF mov eax,[esp+44h] mov ecx,[eax+00000080h] test ecx,ecx jz L0048E9F6 mov edx,[ecx] call [edx+24h] test eax,eax jz L0048E9F6 mov eax,[esp+44h] mov ecx,[eax+00000080h] mov ecx,[ecx+0000008Ch] test ecx,ecx jz L0048E9F6 mov edx,[ecx] call [edx+000000DCh] test eax,eax jz L0048E9F6 mov eax,[esp+44h] mov ecx,[eax+00000080h] mov ecx,[ecx+0000008Ch] test ecx,ecx jz L0048E9F6 mov edx,[ecx] push 00000001h call [edx] L0048E9F6: mov ecx,[esp+44h] call SUB_L00480A10 L0048E9FF: mov eax,[esp+10h] mov ecx,[esp+14h] mov edx,[esp+18h] push eax mov eax,[esp+20h] push ebp push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+34h] push eax mov eax,[esp+3Ch] push ecx push edx push eax call SUB_L00484420 mov eax,[esp+4Ch] add esp,00000020h inc ebx cmp ebx,eax jl L0048E821 jmp L0048EA3E L0048EA3A: mov ebp,[esp+44h] L0048EA3E: push ebp mov dword ptr [L00C8C4C8],00000000h call SUB_L004843F0 mov esi,eax xor edi,edi add esp,00000004h cmp esi,edi jz L0048EAE0 mov edx,[esi] mov ecx,esi call [edx+30h] test eax,eax jz L0048EAE0 mov ecx,[esi+000000B0h] cmp ecx,edi jz L0048EAE0 mov eax,[ecx] call [eax+00000118h] mov ecx,[esi+000000B0h] test eax,eax jz L0048EAAC mov [esp+30h],edi mov edx,[ecx+20h] dec edx mov [esp+34h],edi mov [esp+38h],edx mov eax,[ecx+24h] dec eax mov [esp+3Ch],eax mov edx,[ecx] call [edx+00000174h] pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L0048EAAC: mov eax,[ecx] call [eax+000000CCh] test eax,eax jz L0048EAE0 mov ecx,[esi+000000B0h] mov [esp+30h],edi mov edx,[ecx+20h] mov [esp+34h],edi dec edx mov [esp+38h],edx mov eax,[ecx+24h] lea edx,[esp+30h] dec eax push edx mov [esp+40h],eax call SUB_L0043A620 L0048EAE0: pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048EAF0: push FFFFFFFFh push L004E4FE9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi mov ecx,[esp+2Ch] xor eax,eax xor ebx,ebx mov al,[ecx] mov [esp+24h],ebx mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov ax,[L00C88520] cmp ax,2006h mov [esp+2Ch],cl jnz L0048EB81 push 00000128h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov byte ptr [esp+24h],01h jz L0048EC1F mov dx,[L00C88520] mov ecx,[L00C88524] push edx push ecx mov ecx,eax call SUB_L00480D60 mov [esp+24h],bl jmp L0048EC47 L0048EB81: push eax call SUB_L00484710 add esp,00000004h test eax,eax jz L0048EBCD push 000000B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov byte ptr [esp+24h],02h jz L0048EC1F mov dl,[L00C88523] mov cx,[L00C88520] push 00000001h push edx mov edx,[L00C88524] push ecx push edx mov ecx,eax call SUB_L00480A50 mov [esp+24h],bl jmp L0048EC47 L0048EBCD: mov ax,[L00C88520] push eax call SUB_L004846F0 add esp,00000004h test eax,eax jz L0048EC27 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,ebx mov byte ptr [esp+24h],03h jz L0048EC1F mov cl,[L00C88523] mov dx,[L00C88520] push 00000001h push ecx mov ecx,[L00C88524] push edx push ecx mov ecx,eax call SUB_L00480740 mov [esp+24h],bl jmp L0048EC47 L0048EC1F: xor eax,eax mov [esp+24h],bl jmp L0048EC47 L0048EC27: movsx edx,[L00C88523] mov ecx,[L00C88524] xor eax,eax mov ax,[L00C88520] push edx push eax push ecx call SUB_L0047DF20 add esp,0000000Ch L0048EC47: mov edx,[L00C8844A] mov esi,eax mov ax,[L00C8844E] mov [esp+14h],edx mov di,ax xor eax,eax mov ax,[L00C88528] mov cx,dx mov dx,[esp+16h] push eax mov [esp+10h],cx mov [esp+12h],dx mov [esp+14h],di call SUB_L0047EB50 mov [esi+42h],ax mov cx,[L00C8852A] mov [esi+40h],cx mov dl,[L00C88522] mov [esi+0000009Ch],dl mov ecx,[L00C88534] add esp,00000004h cmp ecx,ebx jz L0048ECD3 mov eax,[ecx] call [eax+14h] mov edx,[L00C88534] xor ecx,ecx mov cx,[L00C88538] push ecx push edx mov ecx,esi call SUB_L0047F820 mov ecx,[L00C88534] mov eax,[ecx] call [eax+10h] jmp L0048ED0B L0048ECD3: mov eax,[L00C88530] cmp eax,ebx jz L0048ECF5 mov edx,[esp+0Ch] sub esp,00000008h mov ecx,esp push eax mov [ecx],edx mov [ecx+04h],di mov ecx,esi call SUB_L0047F190 jmp L0048ED0B L0048ECF5: mov ecx,[esp+0Ch] sub esp,00000008h mov eax,esp mov [eax],ecx mov ecx,esi mov [eax+04h],di call SUB_L0047EFE0 L0048ED0B: mov ecx,[L00C8851C] cmp ecx,ebx jz L0048ED21 mov edx,[ecx] push 00000001h call [edx] mov [L00C8851C],ebx L0048ED21: mov al,[esp+2Ch] mov [L00C88550],ebx cmp al,05h jnc L0048ED4B mov eax,[esp+2Ch] and eax,000000FFh mov ecx,[L0050D884+eax*4] push ecx push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch L0048ED4B: mov ecx,[esp+1Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048ED60: push esi mov esi,[esp+08h] xor eax,eax mov al,[esi] mov ax,[L0050E6E4+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,[L0050E6E4+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 [L00C88550],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048EDC0: mov dword ptr [L00C88550],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048EDD0: mov eax,[esp+10h] mov ecx,[esp+08h] sub eax,ecx mov ecx,[esp+0Ch] mov [esp+10h],eax mov eax,[esp+04h] fild dword ptr [esp+10h] sub ecx,eax mov [esp+10h],ecx push ecx fild dword ptr [esp+14h] fpatan fstp dword ptr [esp] call SUB_L004096A0 add eax,00000040h add esp,00000004h cmp eax,00000100h jle L0048EE11 sub eax,00000100h L0048EE11: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048EE20: push esi mov esi,[esp+08h] xor eax,eax mov al,[esi] mov ax,[L0050E6E4+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,[L0050E6E4+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 [L00C884D8],eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048EE80: mov ecx,[esp+04h] xor eax,eax push ebx mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov bl,[eax+ecx] call SUB_L00455E60 cmp bl,01h pop ebx jnz L0048EECE mov ecx,[L00B294B8] test ecx,ecx jz L0048EF62 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00B294B8],00000000h retn ;------------------------------------------------------------------------------ L0048EECE: mov ecx,[L00C8851C] test ecx,ecx jz L0048EEDE mov eax,[ecx] push 00000001h call [eax] L0048EEDE: mov ecx,[L00B294B8] test ecx,ecx jz L0048EEEE mov edx,[ecx] push 00000001h call [edx] L0048EEEE: push esi mov esi,[L00C884E8] test esi,esi mov dword ptr [L00B28A0C],00000001h jz L0048EF1E L0048EF03: mov ecx,[esi+6Ch] test ecx,ecx jz L0048EF17 L0048EF0A: mov eax,[ecx] push 00000001h call [eax] mov ecx,[esi+6Ch] test ecx,ecx jnz L0048EF0A L0048EF17: mov esi,[esi+44h] test esi,esi jnz L0048EF03 L0048EF1E: mov ecx,[L00B294C0] pop esi test ecx,ecx jz L0048EF39 L0048EF29: mov edx,[ecx] push 00000001h call [edx] mov ecx,[L00B294C0] test ecx,ecx jnz L0048EF29 L0048EF39: push 00000001h push 00000001h push 0000002Ah call SUB_L004CC770 mov eax,[L00C884DC] add esp,0000000Ch test eax,eax jz L0048EF62 mov ecx,[eax+00000154h] test ecx,ecx jz L0048EF62 push 00000000h call SUB_L0047C780 pop ecx L0048EF62: retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048EF70: sub esp,0000001Ch push ebx push ebp mov eax,00000001h push esi mov esi,[esp+2Ch] mov [esp+1Ch],eax mov [esp+18h],eax mov [esp+24h],eax xor eax,eax push edi mov al,[esi] mov dword ptr [esp+10h],00000000h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esp+14h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+30h],eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+18h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 esi,eax push edi mov [esp+28h],esi call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L0048F271 mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jz L0048F271 mov eax,[edi] mov ecx,edi call [eax+28h] test eax,eax jz L0048F13F mov eax,[esp+14h] mov ecx,ebx mov edx,ebp and ecx,0000FFFFh and edx,0000FFFFh mov [edi+000001E4h],ecx mov ecx,[esp+30h] mov [edi+000001E0h],edx mov edx,[esp+18h] and eax,0000FFFFh and ecx,0000FFFFh and edx,0000FFFFh and esi,0000FFFFh mov [edi+000001ECh],eax mov [edi+000001E8h],ecx mov [edi+000001F4h],edx mov [edi+000001F0h],esi L0048F13F: mov esi,[L00B294DC] test esi,esi jz L0048F186 L0048F149: mov eax,[esi] mov ecx,esi call [eax+000000ECh] test eax,eax jz L0048F17F mov ecx,[esi+000000A8h] mov eax,[edi+7Ch] cmp ecx,eax jnz L0048F17F mov edx,ebp mov eax,ebx and edx,0000FFFFh and eax,0000FFFFh mov [esi+000000A4h],edx mov [esi+000000A0h],eax L0048F17F: mov esi,[esi+40h] test esi,esi jnz L0048F149 L0048F186: mov esi,[L00B294DC] test esi,esi jz L0048F271 L0048F194: mov edx,[esi] mov ecx,esi call [edx+000000E8h] test eax,eax jz L0048F1A7 cmp [esi+38h],edi jz L0048F1B6 L0048F1A7: mov esi,[esi+40h] test esi,esi jnz L0048F194 pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L0048F1B6: xor edx,edx cmp esi,edx jz L0048F271 cmp [esi+000000CAh],bp jnz L0048F1CD mov [esp+20h],edx L0048F1CD: mov ax,[esp+30h] cmp [esi+000000D2h],ax jnz L0048F1DF mov [esp+1Ch],edx L0048F1DF: mov edi,[esp+24h] cmp [esi+000000CEh],di jz L0048F1F0 mov edx,[esp+28h] L0048F1F0: cmp [esi+000000CCh],bx jz L0048F201 mov dword ptr [esp+10h],00000001h L0048F201: mov ecx,[esp+14h] cmp [esi+000000D4h],cx jz L0048F216 mov dword ptr [esp+10h],00000001h L0048F216: mov eax,[esp+18h] cmp [esi+000000D0h],ax jnz L0048F22B mov dword ptr [esp+10h],00000001h L0048F22B: mov [esi+000000D4h],cx mov cx,[esp+30h] push edx mov edx,[esp+20h] mov [esi+000000D0h],ax mov eax,[esp+24h] mov [esi+000000D2h],cx mov ecx,[esp+14h] push edx push eax push ecx mov ecx,esi mov [esi+000000CCh],bx mov [esi+000000CAh],bp mov [esi+000000CEh],di call SUB_L004A5350 L0048F271: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048F280: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000001h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push edi mov ebp,eax call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L0048F412 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jz L0048F412 mov edx,[edi] mov ecx,edi call [edx+28h] test eax,eax jz L0048F35C mov eax,ebx mov ecx,ebp and eax,0000FFFFh and ecx,0000FFFFh mov [edi+000001E4h],eax mov [edi+000001E0h],ecx L0048F35C: mov esi,[L00B294DC] test esi,esi jz L0048F3A4 L0048F366: mov edx,[esi] mov ecx,esi call [edx+000000ECh] test eax,eax jz L0048F39D mov eax,[esi+000000A8h] mov ecx,[edi+7Ch] cmp eax,ecx jnz L0048F39D mov ecx,ebp mov edx,ebx and ecx,0000FFFFh and edx,0000FFFFh mov [esi+000000A4h],ecx mov [esi+000000A0h],edx L0048F39D: mov esi,[esi+40h] test esi,esi jnz L0048F366 L0048F3A4: mov esi,[L00B294DC] test esi,esi jz L0048F412 L0048F3AE: mov eax,[esi] mov ecx,esi call [eax+000000E8h] test eax,eax jz L0048F3C1 cmp [esi+38h],edi jz L0048F3D0 L0048F3C1: mov esi,[esi+40h] test esi,esi jnz L0048F3AE pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0048F3D0: test esi,esi jz L0048F412 cmp [esi+000000CAh],bp jnz L0048F3E1 xor ecx,ecx jmp L0048F3E5 L0048F3E1: mov ecx,[esp+10h] L0048F3E5: cmp [esi+000000CCh],bx mov eax,00000001h jnz L0048F3F7 mov eax,[esp+14h] L0048F3F7: push 00000000h push 00000000h push ecx push eax mov ecx,esi mov [esi+000000CCh],bx mov [esi+000000CAh],bp call SUB_L004A5350 L0048F412: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0048F420: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000001h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push edi mov ebp,eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L0048F56A mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0048F56A mov edx,[esi] mov ecx,esi call [edx+28h] test eax,eax jz L0048F4FC mov eax,ebx mov ecx,ebp and eax,0000FFFFh and ecx,0000FFFFh mov [esi+000001ECh],eax mov [esi+000001E8h],ecx L0048F4FC: mov edi,[L00B294DC] test edi,edi jz L0048F56A L0048F506: mov edx,[edi] mov ecx,edi call [edx+000000E8h] test eax,eax jz L0048F519 cmp [edi+38h],esi jz L0048F528 L0048F519: mov edi,[edi+40h] test edi,edi jnz L0048F506 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0048F528: test edi,edi jz L0048F56A cmp [edi+000000D2h],bp jnz L0048F539 xor ecx,ecx jmp L0048F53D L0048F539: mov ecx,[esp+10h] L0048F53D: cmp [edi+000000D4h],bx mov eax,00000001h jnz L0048F54F mov eax,[esp+14h] L0048F54F: push 00000000h push 00000000h push ecx push eax mov ecx,edi mov [edi+000000D4h],bx mov [edi+000000D2h],bp call SUB_L004A5350 L0048F56A: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048F580: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov dword ptr [esp+14h],00000000h mov dword ptr [esp+10h],00000001h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push edi mov ebp,eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L0048F6CA mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L0048F6CA mov edx,[esi] mov ecx,esi call [edx+28h] test eax,eax jz L0048F65C mov eax,ebx mov ecx,ebp and eax,0000FFFFh and ecx,0000FFFFh mov [esi+000001F4h],eax mov [esi+000001F0h],ecx L0048F65C: mov edi,[L00B294DC] test edi,edi jz L0048F6CA L0048F666: mov edx,[edi] mov ecx,edi call [edx+000000E8h] test eax,eax jz L0048F679 cmp [edi+38h],esi jz L0048F688 L0048F679: mov edi,[edi+40h] test edi,edi jnz L0048F666 pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L0048F688: test edi,edi jz L0048F6CA cmp [edi+000000CEh],bp jnz L0048F699 xor ecx,ecx jmp L0048F69D L0048F699: mov ecx,[esp+10h] L0048F69D: cmp [edi+000000D0h],bx mov eax,00000001h jnz L0048F6AF mov eax,[esp+14h] L0048F6AF: push 00000000h push 00000000h push ecx push eax mov ecx,edi mov [edi+000000D0h],bx mov [edi+000000CEh],bp call SUB_L004A5350 L0048F6CA: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048F6E0: push FFFFFFFFh push L004E5016 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+28h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+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+06h] mov [esp+2Ch],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+07h] and eax,00000002h mov [esp+10h],dl inc eax and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ebp,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 mov esi,eax mov eax,[L00C882B8] cmp ebp,eax jnz L0048F8C6 push ebx call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jnz L0048F862 push edi call SUB_L004846F0 add esp,00000004h test eax,eax jz L0048F843 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov [esp+24h],ebp jz L0048F835 mov ecx,[esp+2Ch] push 00000001h push ecx push edi push ebx mov ecx,eax call SUB_L00480740 mov dword ptr [esp+24h],FFFFFFFFh mov ebp,eax jmp L0048F87B L0048F835: xor eax,eax mov dword ptr [esp+24h],FFFFFFFFh mov ebp,eax jmp L0048F87B L0048F843: mov edx,[esp+2Ch] and edi,0000FFFFh and edx,000000FFh push edx push edi push ebx call SUB_L0047DF20 add esp,0000000Ch mov ebp,eax jmp L0048F87B L0048F862: mov eax,[ebp+00h] mov ecx,ebp call [eax+50h] mov cl,[esp+2Ch] and edi,00003FFFh mov [ebp+3Ch],di mov [ebp+3Eh],cl L0048F87B: test ebp,ebp jz L0048F9A0 and esi,0000FFFFh push esi call SUB_L0047EB50 mov [ebp+42h],ax mov ecx,[L00C884DC] add esp,00000004h mov edx,[ecx] call [edx+14h] mov eax,[esp+10h] mov ecx,[L00C884DC] and eax,000000FFh push eax push ecx mov ecx,ebp call SUB_L0047F820 mov ecx,[L00C884DC] mov edx,[ecx] jmp L0048F99D L0048F8C6: push ebp call SUB_L004843F0 add esp,00000004h mov [esp+14h],eax test eax,eax jz L0048F9A0 push ebx call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jnz L0048F95D push edi call SUB_L004846F0 add esp,00000004h test eax,eax jz L0048F93E push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000001h jz L0048F930 mov ecx,[esp+2Ch] push 00000001h push ecx push edi push ebx mov ecx,eax call SUB_L00480740 mov dword ptr [esp+24h],FFFFFFFFh mov ebp,eax jmp L0048F965 L0048F930: xor eax,eax mov dword ptr [esp+24h],FFFFFFFFh mov ebp,eax jmp L0048F965 L0048F93E: mov edx,[esp+2Ch] and edi,0000FFFFh and edx,000000FFh push edx push edi push ebx call SUB_L0047DF20 add esp,0000000Ch mov ebp,eax jmp L0048F965 L0048F95D: mov eax,[ebp+00h] mov ecx,ebp call [eax+50h] L0048F965: test ebp,ebp jz L0048F9A0 and esi,0000FFFFh push esi call SUB_L0047EB50 mov esi,[esp+18h] mov [ebp+42h],ax add esp,00000004h mov ecx,esi mov edx,[esi] call [edx+14h] mov eax,[esp+10h] mov ecx,ebp and eax,000000FFh push eax push esi call SUB_L0047F820 mov edx,[esi] mov ecx,esi L0048F99D: call [edx+10h] L0048F9A0: mov ecx,[esp+1Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0048F9C0: sub esp,000001C0h xor eax,eax push ebx push esi mov esi,[esp+000001CCh] push edi mov ebx,00000002h mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 and eax,0000FFFFh dec eax cmp eax,00000007h ja CASE_0048FC40_PROC0004 jmp [CASE_PROCTABLE_0048FC40+eax*4] CASE_0048FC40_PROC0007: xor ecx,ecx pop edi mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+esi+02h] pop esi mov [L00C88307],dl pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_0048FC40_PROC0005: push esi call SUB_L004908A0 add esp,00000004h pop edi pop esi pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_0048FC40_PROC0001: xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+02h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[L00C884DC] test ecx,ecx jz CASE_0048FC40_PROC0004 push eax call SUB_L00403780 pop edi pop esi pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_0048FC40_PROC0000: mov eax,[L00C884DC] test eax,eax jz CASE_0048FC40_PROC0004 xor edi,edi L0048FAA7: xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[L00C884DC] push edi push eax add ebx,00000004h call SUB_L004037B0 inc edi cmp edi,00000005h jl L0048FAA7 pop edi pop esi pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_0048FC40_PROC0002: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea eax,[eax+esi+02h] push eax lea eax,[esp+10h] push eax call SUB_L004C44F0 xor ecx,ecx lea edx,[esp+00000094h] mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea eax,[eax+esi+22h] push eax push edx call SUB_L004C44F0 xor eax,eax lea ecx,[esp+5Ch] mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea eax,[eax+esi+42h] push eax push ecx call SUB_L004C44F0 xor edx,edx lea ecx,[esp+000000E4h] mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea eax,[eax+esi+62h] push eax push ecx call SUB_L004C44F0 lea edx,[esp+2Ch] lea eax,[esp+000000ECh] push edx push SWC0050D9D4_Help_Email push eax lea ecx,[esp+78h] push 00000000h push ecx push 00000000h lea edx,[esp+000000C4h] push 00000000h lea eax,[esp+48h] push edx push eax push 00000000h call SUB_L0049DB20 add esp,00000048h pop edi pop esi pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_0048FC40_PROC0003: xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+02h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push eax push edi call SUB_L00459260 add esp,00000008h CASE_0048FC40_PROC0004: pop edi pop esi pop ebx add esp,000001C0h retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_0048FC40: dd CASE_0048FC40_PROC0000 dd CASE_0048FC40_PROC0001 dd CASE_0048FC40_PROC0002 dd CASE_0048FC40_PROC0003 dd CASE_0048FC40_PROC0004 dd CASE_0048FC40_PROC0005 dd CASE_0048FC40_PROC0004 dd CASE_0048FC40_PROC0007 SUB_L0048FC60: sub esp,000000FCh mov eax,[L0050ECDC] mov byte ptr [esp+04h],BFh test ah,80h jz L0048FC7E mov word ptr [esp+05h],0003h jmp L0048FC87 L0048FC7E: mov word ptr [L00CD8C40],0001h L0048FC87: push 00000009h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+04h] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L0048FCA8 mov ecx,[esp+05h] jmp L0048FCB8 L0048FCA8: mov dx,[L00CD8C40] mov [esp+00h],dx mov ecx,[esp+00h] L0048FCB8: and ecx,0000FFFFh mov [esp+ecx+04h],ax lea eax,[ecx+02h] mov ecx,[esp+04h] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L0048FCE1 mov [esp+05h],ax jmp L0048FCE7 L0048FCE1: mov [L00CD8C40],ax L0048FCE7: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048FD00: sub esp,000000FCh mov eax,[L0050ECDC] mov byte ptr [esp+04h],BFh test ah,80h jz L0048FD1E mov word ptr [esp+05h],0003h jmp L0048FD27 L0048FD1E: mov word ptr [L00CD8C40],0001h L0048FD27: push 0000000Ah call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+04h] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L0048FD48 mov ecx,[esp+05h] jmp L0048FD58 L0048FD48: mov dx,[L00CD8C40] mov [esp+00h],dx mov ecx,[esp+00h] L0048FD58: and ecx,0000FFFFh mov [esp+ecx+04h],ax lea eax,[ecx+02h] mov ecx,[esp+04h] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L0048FD81 mov [esp+05h],ax jmp L0048FD87 L0048FD81: mov [L00CD8C40],ax L0048FD87: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048FDA0: sub esp,000000FCh mov eax,[L0050ECDC] push esi mov esi,00008000h mov byte ptr [esp+08h],BFh test esi,eax jz L0048FDC3 mov word ptr [esp+09h],0003h jmp L0048FDCC L0048FDC3: mov word ptr [L00CD8C40],0001h L0048FDCC: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0048FDF4 mov ecx,[esp+09h] jmp L0048FDFD L0048FDF4: mov [esp+04h],dx mov ecx,[esp+04h] L0048FDFD: and ecx,0000FFFFh mov [esp+ecx+08h],ax mov eax,[esp+08h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,si jz L0048FE28 mov [esp+09h],cx jmp L0048FE32 L0048FE28: mov dx,cx mov [L00CD8C40],dx L0048FE32: test ax,ax jz L0048FE3D mov eax,[esp+09h] jmp L0048FE46 L0048FE3D: mov [esp+04h],dx mov eax,[esp+04h] L0048FE46: and eax,0000FFFFh mov byte ptr [esp+eax+08h],01h mov ecx,[esp+08h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L0048FE6C mov [esp+09h],ax jmp L0048FE72 L0048FE6C: mov [L00CD8C40],ax L0048FE72: mov edx,[esp+00000104h] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0048FE99 mov ecx,[esp+09h] jmp L0048FEA9 L0048FE99: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L0048FEA9: and ecx,0000FFFFh mov [esp+ecx+08h],eax lea eax,[ecx+04h] mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si pop esi jz L0048FED2 mov [esp+05h],ax jmp L0048FED8 L0048FED2: mov [L00CD8C40],ax L0048FED8: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 4 SUB_L0048FEF0: sub esp,000000FCh mov eax,[L0050ECDC] push esi mov esi,00008000h mov byte ptr [esp+08h],BFh test esi,eax jz L0048FF13 mov word ptr [esp+09h],0003h jmp L0048FF1C L0048FF13: mov word ptr [L00CD8C40],0001h L0048FF1C: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0048FF44 mov ecx,[esp+09h] jmp L0048FF4D L0048FF44: mov [esp+04h],dx mov ecx,[esp+04h] L0048FF4D: and ecx,0000FFFFh mov [esp+ecx+08h],ax mov eax,[esp+08h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,si jz L0048FF78 mov [esp+09h],cx jmp L0048FF82 L0048FF78: mov dx,cx mov [L00CD8C40],dx L0048FF82: test ax,ax jz L0048FF8D mov eax,[esp+09h] jmp L0048FF96 L0048FF8D: mov [esp+04h],dx mov eax,[esp+04h] L0048FF96: and eax,0000FFFFh mov byte ptr [esp+eax+08h],02h mov ecx,[esp+08h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L0048FFBC mov [esp+09h],ax jmp L0048FFC2 L0048FFBC: mov [L00CD8C40],ax L0048FFC2: mov edx,[esp+00000104h] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0048FFE9 mov ecx,[esp+09h] jmp L0048FFF9 L0048FFE9: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L0048FFF9: and ecx,0000FFFFh mov [esp+ecx+08h],eax lea eax,[ecx+04h] mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si pop esi jz L00490022 mov [esp+05h],ax jmp L00490028 L00490022: mov [L00CD8C40],ax L00490028: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 4 SUB_L00490040: sub esp,000000FCh push ebx push esi mov esi,[esp+00000108h] push edi push esi call SUB_L004C4300 mov ebx,eax mov eax,[L0050ECDC] mov edi,00008000h add esp,00000004h test edi,eax mov byte ptr [esp+10h],BFh jz L00490077 mov word ptr [esp+11h],0003h jmp L00490080 L00490077: mov word ptr [L00CD8C40],0001h L00490080: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+10h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],di jz L004900A8 mov ecx,[esp+11h] jmp L004900B1 L004900A8: mov [esp+0Ch],dx mov ecx,[esp+0Ch] L004900B1: and ecx,0000FFFFh mov [esp+ecx+10h],ax mov eax,[esp+10h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,di jz L004900DC mov [esp+11h],cx jmp L004900E6 L004900DC: mov dx,cx mov [L00CD8C40],dx L004900E6: test ax,ax jz L004900F1 mov eax,[esp+11h] jmp L004900FA L004900F1: mov [esp+0Ch],dx mov eax,[esp+0Ch] L004900FA: and eax,0000FFFFh mov byte ptr [esp+eax+10h],04h mov ecx,[esp+10h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],di jz L00490120 mov [esp+11h],ax jmp L00490126 L00490120: mov [L00CD8C40],ax L00490126: test ebx,ebx jl L00490197 inc ebx L0049012B: mov ax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov edx,[esp+10h] and edx,000000FFh test [L0050E6E4+edx*8],di jz L00490152 mov ecx,[esp+11h] mov [esp+0Ch],ecx jmp L00490162 L00490152: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L00490162: and ecx,0000FFFFh mov [esp+ecx+10h],ax mov edx,[esp+10h] and edx,000000FFh lea eax,[ecx+02h] test [L0050E6E4+edx*8],di jz L0049018B mov [esp+11h],ax jmp L00490191 L0049018B: mov [L00CD8C40],ax L00490191: add esi,00000002h dec ebx jnz L0049012B L00490197: mov ecx,[L00C88300] lea eax,[esp+10h] push eax call SUB_L004BC750 pop edi pop esi pop ebx add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004901C0: sub esp,000000FCh mov eax,[L0050ECDC] push ebp push esi mov esi,00008000h test esi,eax push edi mov byte ptr [esp+10h],BFh jz L004901E5 mov word ptr [esp+11h],0003h jmp L004901EE L004901E5: mov word ptr [L00CD8C40],0001h L004901EE: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+10h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L0049020F mov ecx,[esp+11h] jmp L0049021F L0049020F: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049021F: and ecx,0000FFFFh mov [esp+ecx+10h],ax lea eax,[ecx+02h] mov ecx,[esp+10h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L00490248 mov [esp+11h],ax jmp L0049024E L00490248: mov [L00CD8C40],ax L0049024E: mov edi,[esp+0000010Ch] push edi call SUB_L004C4300 mov edx,[esp+14h] add esp,00000004h and edx,000000FFh mov ebp,eax test [L0050E6E4+edx*8],si jz L0049027A mov eax,[esp+11h] jmp L00490289 L0049027A: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L00490289: and eax,0000FFFFh mov byte ptr [esp+eax+10h],03h mov ecx,[esp+10h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L004902AF mov [esp+11h],ax jmp L004902B5 L004902AF: mov [L00CD8C40],ax L004902B5: mov edx,[esp+00000110h] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+10h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L004902DC mov ecx,[esp+11h] jmp L004902EC L004902DC: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L004902EC: and ecx,0000FFFFh mov [esp+ecx+10h],eax lea eax,[ecx+04h] mov ecx,[esp+10h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L00490314 mov [esp+11h],ax jmp L0049031A L00490314: mov [L00CD8C40],ax L0049031A: test ebp,ebp jl L0049038B inc ebp L0049031F: mov ax,[edi] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov edx,[esp+10h] and edx,000000FFh test [L0050E6E4+edx*8],si jz L00490346 mov ecx,[esp+11h] mov [esp+0Ch],ecx jmp L00490356 L00490346: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L00490356: and ecx,0000FFFFh mov [esp+ecx+10h],ax mov edx,[esp+10h] and edx,000000FFh lea eax,[ecx+02h] test [L0050E6E4+edx*8],si jz L0049037F mov [esp+11h],ax jmp L00490385 L0049037F: mov [L00CD8C40],ax L00490385: add edi,00000002h dec ebp jnz L0049031F L0049038B: mov ecx,[L00C88300] lea eax,[esp+10h] push eax call SUB_L004BC750 pop edi pop esi pop ebp add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004903B0: sub esp,000000FCh mov eax,[L0050ECDC] mov byte ptr [esp+04h],BFh test ah,80h jz L004903CE mov word ptr [esp+05h],0003h jmp L004903D7 L004903CE: mov word ptr [L00CD8C40],0001h L004903D7: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+04h] mov dx,[L00CD8C40] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L004903FF mov ecx,[esp+05h] jmp L00490408 L004903FF: mov [esp+00h],dx mov ecx,[esp+00h] L00490408: and ecx,0000FFFFh mov [esp+ecx+04h],ax mov eax,[esp+04h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,8000h jz L00490434 mov [esp+05h],cx jmp L0049043E L00490434: mov dx,cx mov [L00CD8C40],dx L0049043E: test ax,ax jz L00490449 mov eax,[esp+05h] jmp L00490452 L00490449: mov [esp+00h],dx mov eax,[esp+00h] L00490452: and eax,0000FFFFh mov byte ptr [esp+eax+04h],06h lea ecx,[eax+01h] mov eax,[esp+04h] and eax,000000FFh mov ax,[L0050E6E4+eax*8] and ax,8000h jz L0049047D mov [esp+05h],cx jmp L00490487 L0049047D: mov dx,cx mov [L00CD8C40],dx L00490487: mov cl,[L00C85FB5] test ax,ax jz L00490498 mov eax,[esp+05h] jmp L004904A1 L00490498: mov [esp+00h],dx mov eax,[esp+00h] L004904A1: and eax,0000FFFFh mov [esp+eax+04h],cl mov ecx,[esp+04h] and ecx,000000FFh inc eax test byte ptr [L0050E6E5+ecx*8],80h jz L004904C6 mov [esp+05h],ax jmp L004904CC L004904C6: mov [L00CD8C40],ax L004904CC: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004904F0: sub esp,000001F4h mov eax,[L0050ECDC] push esi mov esi,00008000h mov byte ptr [esp+08h],BFh test esi,eax jz L00490513 mov word ptr [esp+09h],0003h jmp L0049051C L00490513: mov word ptr [L00CD8C40],0001h L0049051C: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L00490544 mov ecx,[esp+09h] jmp L0049054D L00490544: mov [esp+04h],dx mov ecx,[esp+04h] L0049054D: and ecx,0000FFFFh mov [esp+ecx+08h],ax mov eax,[esp+08h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,si jz L00490578 mov [esp+09h],cx jmp L00490582 L00490578: mov dx,cx mov [L00CD8C40],dx L00490582: test ax,ax jz L0049058D mov eax,[esp+09h] jmp L00490596 L0049058D: mov [esp+04h],dx mov eax,[esp+04h] L00490596: and eax,0000FFFFh mov byte ptr [esp+eax+08h],08h mov ecx,[esp+08h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L004905BC mov [esp+09h],ax jmp L004905C2 L004905BC: mov [L00CD8C40],ax L004905C2: mov eax,[L00C85FB0] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[esp+08h] and edx,000000FFh test [L0050E6E4+edx*8],si jz L004905E7 mov ecx,[esp+09h] jmp L004905F7 L004905E7: mov cx,[L00CD8C40] mov [esp+04h],cx mov ecx,[esp+04h] L004905F7: and ecx,0000FFFFh mov [esp+ecx+08h],eax mov edx,[esp+08h] and edx,000000FFh lea eax,[ecx+04h] test [L0050E6E4+edx*8],si jz L0049061F mov [esp+09h],ax jmp L00490625 L0049061F: mov [L00CD8C40],ax L00490625: mov ecx,[L00C88300] lea eax,[esp+08h] push eax call SUB_L004BC750 mov eax,[L0050ECDC] mov byte ptr [esp+00000100h],BFh test esi,eax jz L0049065A lea ecx,[esp+00000100h] push 00000003h push ecx call SUB_L0048DA90 add esp,00000008h jmp L00490663 L0049065A: mov word ptr [L00CD8C40],0001h L00490663: lea edx,[esp+00000100h] push 00000006h push edx call SUB_L0048BDC0 mov eax,[esp+00000108h] mov dx,[L00CD8C40] and eax,000000FFh add esp,00000008h test [L0050E6E4+eax*8],si jz L0049069B mov eax,[esp+00000101h] jmp L004906A4 L0049069B: mov [esp+04h],dx mov eax,[esp+04h] L004906A4: and eax,0000FFFFh mov byte ptr [esp+eax+00000100h],06h lea ecx,[eax+01h] mov eax,[esp+00000100h] and eax,000000FFh mov ax,[L0050E6E4+eax*8] and ax,si jz L004906D7 mov [esp+00000101h],cx jmp L004906E1 L004906D7: mov dx,cx mov [L00CD8C40],dx L004906E1: mov cl,[L00C85FB5] test ax,ax jz L004906F5 mov eax,[esp+00000101h] jmp L004906FE L004906F5: mov [esp+04h],dx mov eax,[esp+04h] L004906FE: and eax,0000FFFFh mov [esp+eax+00000100h],cl mov ecx,[esp+00000100h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si pop esi jz L0049072D mov [esp+000000FDh],ax jmp L00490733 L0049072D: mov [L00CD8C40],ax L00490733: mov ecx,[L00C88300] lea edx,[esp+000000FCh] push edx call SUB_L004BC750 add esp,000001F4h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00490750: sub esp,000000FCh mov eax,[L0050ECDC] push esi mov esi,00008000h mov byte ptr [esp+08h],BFh test esi,eax jz L00490773 mov word ptr [esp+09h],0003h jmp L0049077C L00490773: mov word ptr [L00CD8C40],0001h L0049077C: push 00000006h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L004907A4 mov ecx,[esp+09h] jmp L004907AD L004907A4: mov [esp+04h],dx mov ecx,[esp+04h] L004907AD: and ecx,0000FFFFh mov [esp+ecx+08h],ax mov eax,[esp+08h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,si jz L004907D8 mov [esp+09h],cx jmp L004907E2 L004907D8: mov dx,cx mov [L00CD8C40],dx L004907E2: test ax,ax jz L004907ED mov eax,[esp+09h] jmp L004907F6 L004907ED: mov [esp+04h],dx mov eax,[esp+04h] L004907F6: and eax,0000FFFFh mov byte ptr [esp+eax+08h],09h mov ecx,[esp+08h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L0049081C mov [esp+09h],ax jmp L00490822 L0049081C: mov [L00CD8C40],ax L00490822: mov eax,[L00C85FB0] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[esp+08h] and edx,000000FFh test [L0050E6E4+edx*8],si jz L00490847 mov ecx,[esp+09h] jmp L00490857 L00490847: mov cx,[L00CD8C40] mov [esp+04h],cx mov ecx,[esp+04h] L00490857: and ecx,0000FFFFh mov [esp+ecx+08h],eax mov edx,[esp+08h] and edx,000000FFh lea eax,[ecx+04h] test [L0050E6E4+edx*8],si pop esi jz L00490880 mov [esp+05h],ax jmp L00490886 L00490880: mov [L00CD8C40],ax L00490886: mov ecx,[L00C88300] lea eax,[esp+04h] push eax call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 4 SUB_L004908A0: push FFFFFFFFh mov eax,fs:[00000000h] push L004E503C push eax mov eax,00001028h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push ebp push esi mov esi,[esp+00001044h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+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+02h] mov [esp+10h],dl mov ecx,[esp+10h] and ecx,000000FFh dec ecx cmp ecx,00000006h ja CASE_00490E48_PROC0005 jmp [CASE_PROCTABLE_00490E48+ecx*4] CASE_00490E48_PROC0000: mov ecx,L00C85E48 call SUB_L0049F8A0 xor edx,edx mov ebx,00000004h mov dl,[esi] mov dword ptr [esp+14h],00000000h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+esi+03h] mov [esp+10h],al mov eax,[esp+10h] and eax,000000FFh mov [esp+18h],eax jle L00490B3F mov dword ptr [esp+10h],L00C85E48 L0049098B: xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edx,[esp+10h] mov ebp,eax push ebp add ebx,00000004h mov [edx],ebp call SUB_L004843F0 mov edi,eax mov eax,[L00B294DC] push eax push 00000000h push 00000000h push edi call SUB_L00455F70 add esp,00000014h test eax,eax jnz L00490B18 push 00000184h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov dword ptr [esp+00001040h],00000000h jz L00490A0E push 00000001h push edi mov ecx,eax call SUB_L004A3E60 mov edi,eax jmp L00490A10 L00490A0E: xor edi,edi L00490A10: mov ecx,[edi+24h] push SSZ004FF604_gump_background imul ecx,[edi+20h] shl ecx,1 push ecx mov dword ptr [esp+00001048h],FFFFFFFFh call SUB_L00475FC0 mov ecx,[edi+54h] mov [edi+5Ch],eax lea edx,[esp+3Ch] lea eax,[esp+34h] push edx push eax push ecx call SUB_L004434A0 mov eax,[esp+24h] add esp,00000014h cmp eax,L00C85ED8 jg L00490A64 mov edx,[edi+2Ch] mov dword ptr [edi+30h],00000000h imul edx,[esp+14h] jmp L00490A77 L00490A64: mov ecx,[esp+14h] mov eax,[edi+28h] mov edx,[edi+2Ch] add ecx,FFFFFFFBh mov [edi+30h],eax imul edx,ecx L00490A77: push 00000001h push 00000000h mov ecx,edi mov [edi+34h],edx call SUB_L004587A0 push 00000001h push 00000000h push 00000001h push FFFFFFFFh push FFFFFFFFh mov ecx,edi call SUB_L00457800 mov eax,[L0050E884] mov byte ptr [esp+1Ch],34h test ah,80h jz L00490AB6 lea eax,[esp+1Ch] push 00000003h push eax call SUB_L0048DA90 add esp,00000008h jmp L00490ABF L00490AB6: mov word ptr [L00CD8C40],0001h L00490ABF: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[esp+1Ch] mov edi,eax push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+20h] mov [esp+eax+20h],edi add eax,00000004h push eax push edx call SUB_L0048DA90 lea eax,[esp+28h] push 00000004h push eax call SUB_L0048BD70 lea ecx,[esp+30h] push ebp push ecx call SUB_L0048BE20 mov ecx,[L00C88300] add esp,0000001Ch lea edx,[esp+1Ch] push edx call SUB_L004BC750 jmp L00490B1F L00490B18: mov ecx,eax call SUB_L004A4380 L00490B1F: mov eax,[esp+14h] mov edx,[esp+10h] mov ecx,[esp+18h] inc eax add edx,00000024h cmp eax,ecx mov [esp+14h],eax mov [esp+10h],edx jl L0049098B L00490B3F: mov eax,[L00C884DC] mov ecx,[eax+7Ch] mov eax,[L00C85E48] cmp ecx,eax jnz L00490B7A L00490B50: mov ecx,[L00C87EC8] mov byte ptr [L00C85FB6],01h test ecx,ecx jz CASE_00490E48_PROC0005 call SUB_L0049EC00 mov ecx,[L00C87EC8] call SUB_L0049ED50 jmp CASE_00490E48_PROC0005 L00490B7A: mov ecx,[L00C87EC8] mov byte ptr [L00C85FB6],00h test ecx,ecx jz CASE_00490E48_PROC0005 call SUB_L0049ED00 mov ecx,[L00C87EC8] call SUB_L0049ED30 jmp CASE_00490E48_PROC0005 CASE_00490E48_PROC0001: 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+03h] and eax,00000002h mov [esp+10h],dl inc eax and eax,0000FFFFh mov eax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ebp,eax mov eax,[L00C85E48] cmp ebp,eax mov edi,00000008h jz L00490C8F mov eax,[L00C884DC] cmp [eax+7Ch],ebp jz L00490C8F mov ecx,L00C85E48 call SUB_L0049F8A0 push ebp call SUB_L004843F0 add esp,00000004h test eax,eax jz L00490C2E mov ecx,[L00B294DC] push ecx push 00000000h push 00000000h push eax call SUB_L00455F70 add esp,00000010h test eax,eax jz L00490C2E mov ecx,eax call SUB_L004A44E0 L00490C2E: mov ebx,[esp+10h] and ebx,000000FFh jle L00490C72 mov ebp,L00C85E48 L00490C3F: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add edi,00000004h mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [ebp+00h],eax add ebp,00000024h dec ebx jnz L00490C3F L00490C72: mov eax,[L00C884DC] mov ecx,[eax+7Ch] mov eax,[L00C85E48] cmp ecx,eax setz dl mov [L00C85FB6],dl jmp CASE_00490E48_PROC0005 L00490C8F: mov ecx,L00C85E48 call SUB_L0049F8A0 mov eax,[esp+10h] and eax,000000FFh jle L00490B50 mov ebx,eax L00490CAA: xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 push eax add edi,00000004h call SUB_L004843F0 mov ecx,[L00B294DC] push ecx push 00000000h push 00000000h push eax call SUB_L00455F70 add esp,00000014h test eax,eax jz L00490CF9 mov ecx,eax call SUB_L004A44E0 L00490CF9: dec ebx jnz L00490CAA jmp L00490B50 CASE_00490E48_PROC0002: neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov eax,[eax+esi+03h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh xor edi,edi lea ebx,[eax+esi+07h] mov esi,ebx L00490D3F: mov ax,[esi] test ax,ax jz L00490D5C push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax inc edi add esi,00000002h cmp edi,00000800h jl L00490D3F L00490D5C: xor esi,esi mov eax,L00C85E48 L00490D63: cmp ebp,[eax] jz L00490D74 add eax,00000024h inc esi cmp eax,L00C85FB0 jl L00490D63 jmp L00490DB5 L00490D74: lea eax,[esp+38h] push L0050D9F0 push eax call SUB_L004C44F0 lea ecx,[esi+esi*8] lea eax,[esp+40h] lea edx,[L00C85E4C+ecx*4] push edx push eax call SUB_L004C4590 lea ecx,[esp+48h] push L0050530C push ecx call SUB_L004C4590 lea edx,[esp+50h] push ebx push edx call SUB_L004C4550 add esp,00000020h L00490DB5: mov ecx,[L00B29068] test ecx,ecx jz L00490DC9 lea eax,[esp+38h] push eax call SUB_L0049FD20 L00490DC9: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax test eax,eax mov dword ptr [esp+00001040h],00000001h jz CASE_00490E48_PROC0005 mov cx,[L00C87ECC] push 00000000h push L0050D9EC push 00000003h lea edx,[esp+44h] push ecx push edx push 00000000h mov ecx,eax call SUB_L004127B0 jmp CASE_00490E48_PROC0005 CASE_00490E48_PROC0006: neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov eax,[eax+esi+03h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [L00C85FB0],eax mov byte ptr [L00C85FB4],01h CASE_00490E48_PROC0005: mov ecx,[esp+00001038h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00001034h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00490E48: dd CASE_00490E48_PROC0000 dd CASE_00490E48_PROC0001 dd CASE_00490E48_PROC0002 dd CASE_00490E48_PROC0002 dd CASE_00490E48_PROC0002 dd CASE_00490E48_PROC0005 dd CASE_00490E48_PROC0006 Align 16 SUB_L00490E70: mov eax,[esp+04h] xor ecx,ecx mov cl,[eax] test byte ptr [L0050E6E5+ecx*8],80h jz L00490E87 mov ax,[eax+01h] retn ;------------------------------------------------------------------------------ L00490E87: mov ax,[L00CD8C40] retn ;------------------------------------------------------------------------------ Align 4 SUB_L00490E90: sub esp,000000FCh mov eax,[L0050ECDC] mov byte ptr [esp+04h],BFh test ah,80h jz L00490EAE mov word ptr [esp+05h],0003h jmp L00490EB7 L00490EAE: mov word ptr [L00CD8C40],0001h L00490EB7: push 00000007h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+04h] mov dx,[L00CD8C40] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L00490EDF mov ecx,[esp+05h] jmp L00490EE8 L00490EDF: mov [esp+00h],dx mov ecx,[esp+00h] L00490EE8: and ecx,0000FFFFh mov [esp+ecx+04h],ax mov eax,[esp+04h] and eax,000000FFh add ecx,00000002h mov ax,[L0050E6E4+eax*8] and ax,8000h jz L00490F14 mov [esp+05h],cx jmp L00490F1E L00490F14: mov dx,cx mov [L00CD8C40],dx L00490F1E: test ax,ax jz L00490F29 mov eax,[esp+05h] jmp L00490F32 L00490F29: mov [esp+00h],dx mov eax,[esp+00h] L00490F32: mov cl,[esp+00000100h] and eax,0000FFFFh mov [esp+eax+04h],cl mov edx,[esp+04h] and edx,000000FFh inc eax test byte ptr [L0050E6E5+edx*8],80h jz L00490F5E mov [esp+05h],ax jmp L00490F64 L00490F5E: mov [L00CD8C40],ax L00490F64: mov ecx,[L00C88300] lea eax,[esp+04h] push eax call SUB_L004BC750 add esp,000000FCh retn ;------------------------------------------------------------------------------ Align 8 SUB_L00490F80: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.14 push eax call SUB_L004843F0 mov ecx,[L00C884DC] add esp,00000004h mov [ecx+00000204h],eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L00490FC0: mov eax,[L00C884DC] mov dword ptr [eax+00000204h],00000000h retn ;------------------------------------------------------------------------------ SUB_L00490FD0: sub esp,00000104h push ebx push ebp mov ebp,[esp+00000110h] xor eax,eax push esi push edi mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebp] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] or ecx,FFFFFFFFh and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea edi,[eax+ebp+04h] xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00B28A88 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+22h] push eax mov [L00B28AAE],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [L00B28AAE],ax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+24h] push eax mov [L00B28AB0],ax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [L00B28AB0],ax mov dl,[ebp+00h] mov cx,[L0050E6E4+edx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov al,[eax+ebp+26h] mov [esp+13h],al mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov al,[eax+ebp+27h] test al,al jz L00491453 neg cx sbb ecx,ecx xor edx,edx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+ebp+28h] mov [L00B28AA6],cl mov dl,[ebp+00h] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+29h] push eax mov [L00B28AA8],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00B28AA8],ax xor eax,eax mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+2Bh] push eax mov [L00B28AAA],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [L00B28AAA],ax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+2Dh] push eax mov [L00B28AAC],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[L00C884DC] mov [L00B28AAC],ax cmp ebx,[ecx+7Ch] jnz L004912E6 mov eax,[L00B28AA8] mov esi,[ecx+000001F8h] and eax,0000FFFFh cmp esi,eax jz L0049120C cmp esi,FFFFFFFFh jz L0049120C mov dl,[L0050CC33] test dl,dl jz L0049120C push eax sub eax,esi push eax lea edx,[esp+1Ch] push SSZ0050DA5C_Your_strength_has_changed_by__d_ push edx call SUB_L004D512F lea eax,[esp+24h] push eax push 00000003h push 00000170h call SUB_L004BDF40 mov ecx,[L00C884DC] add esp,0000001Ch L0049120C: mov esi,[ecx+000001FCh] xor eax,eax mov ax,[L00B28AAA] cmp esi,eax jz L0049125A cmp esi,FFFFFFFFh jz L0049125A mov dl,[L0050CC33] test dl,dl jz L0049125A push eax sub eax,esi push eax lea ecx,[esp+1Ch] push SSZ0050DA28_Your_dexterity_has_changed_by__d push ecx call SUB_L004D512F lea edx,[esp+24h] push edx push 00000003h push 00000170h call SUB_L004BDF40 mov ecx,[L00C884DC] add esp,0000001Ch L0049125A: mov eax,[L00B28AAC] mov esi,[ecx+00000200h] and eax,0000FFFFh cmp esi,eax jz L004912AA cmp esi,FFFFFFFFh jz L004912AA mov dl,[L0050CC33] test dl,dl jz L004912AA push eax sub eax,esi push eax lea eax,[esp+1Ch] push SSZ0050D9F4_Your_intelligence_has_changed_by push eax call SUB_L004D512F lea ecx,[esp+24h] push ecx push 00000003h push 00000170h call SUB_L004BDF40 mov ecx,[L00C884DC] add esp,0000001Ch L004912AA: mov eax,[L00B28AA8] xor edx,edx and eax,0000FFFFh mov [ecx+000001F8h],eax mov eax,[L00C884DC] mov dx,[L00B28AAA] mov [eax+000001FCh],edx mov ecx,[L00B28AAC] mov edx,[L00C884DC] and ecx,0000FFFFh mov [edx+00000200h],ecx L004912E6: xor eax,eax mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+2Fh] push eax mov [L00B28AB2],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [L00B28AB2],ax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+31h] push eax mov [L00B28AB4],ax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [L00B28AB4],ax mov dl,[ebp+00h] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+33h] push eax mov [L00B28AB6],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00B28AB6],ax xor eax,eax mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+35h] push eax mov [L00B28AB8],ax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [L00B28AB8],ax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebp+37h] push eax mov [L00B28ABC],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [L00B28ABC],eax mov dl,[ebp+00h] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+3Bh] push eax mov [L00B28AC0],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00B28AC0],ax xor eax,eax mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+3Dh] mov [L00B28AC2],ax push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00B28AC2],ax xor edi,edi jmp L004914A1 L00491453: xor edi,edi mov byte ptr [L00B28AA6],00h mov [L00B28AA8],di mov [L00B28AAA],di mov [L00B28AAC],di mov [L00B28AB2],di mov [L00B28AB4],di mov [L00B28AB6],di mov [L00B28AB8],di mov [L00B28ABC],edi mov [L00B28AC0],di mov [L00B28AC2],di L004914A1: push ebx call SUB_L004843F0 mov esi,[L00B294DC] add esp,00000004h cmp esi,edi mov ebx,eax jz L004914F7 L004914B6: mov edx,[esi] mov ecx,esi call [edx+000000ECh] test eax,eax jz L004914F0 mov eax,[esi+000000A8h] mov ecx,[ebx+7Ch] cmp eax,ecx jnz L004914F0 mov eax,[L00B28AB0] and eax,0000FFFFh xor ecx,ecx mov cx,[L00B28AAE] mov [esi+000000A0h],eax mov [esi+000000A4h],ecx L004914F0: mov esi,[esi+40h] cmp esi,edi jnz L004914B6 L004914F7: mov ebp,[L00B294DC] cmp ebp,edi jz L00491580 L00491501: mov edx,[ebp+00h] mov ecx,ebp call [edx+000000E8h] test eax,eax jz L00491549 cmp [ebp+38h],ebx jnz L00491549 mov al,[esp+13h] lea edi,[ebp+0000009Ch] mov ecx,00000011h mov esi,L00B28A80 test al,al rep movsd jz L00491536 mov ecx,ebp call SUB_L004A5CF0 L00491536: push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,ebp call SUB_L004A5350 xor edi,edi jmp L00491579 L00491549: mov eax,[ebp+00h] mov ecx,ebp call [eax+000000DCh] test eax,eax jz L00491579 cmp ebx,[L00C884DC] jnz L00491579 mov cx,[L00B28ABC] mov [ebp+000000D8h],cx mov ecx,[ebp+000000E0h] call SUB_L004B1570 L00491579: mov ebp,[ebp+40h] cmp ebp,edi jnz L00491501 L00491580: pop edi pop esi pop ebp pop ebx add esp,00000104h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00491590: push ebx push esi mov esi,[esp+0Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 L004915EE test ebx,ebx jnz L00491632 L004915EE: mov edi,L0050DAA8 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx push eax mov edx,ecx mov esi,edi mov edi,L00CD9CB4 push eax shr ecx,02h rep movsd mov ecx,edx push 00000003h and ecx,00000003h push eax rep movsb mov ecx,[L00C884DC] push SSZ0050DA90_No_longer_following_ call SUB_L004800A0 mov dword ptr [L00C85354],00000000h L00491632: push ebx call SUB_L004843F0 mov edx,eax add esp,00000004h test edx,edx jz L00491684 mov edi,L0050DA8C 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,L00CD9CB4 push 00000003h shr ecx,02h rep movsd mov ecx,eax push 00000000h and ecx,00000003h push SSZ005067C8_Now_following_ rep movsb mov ecx,edx call SUB_L004800A0 mov dword ptr [L00C85354],00000001h L00491684: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491690: push FFFFFFFFh push L004E5066 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi mov esi,[esp+2Ch] xor eax,eax push edi mov al,[esi] mov ebp,00000001h mov ax,[L0050E6E4+eax*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov bl,[ecx+esi] cmp bl,FEh mov [esp+13h],bl jnz L004917CA neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax mov [L00CC1C20],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [L00CC1C20],ax mov eax,[L00CC1C20] xor ebx,ebx mov edi,00000003h test eax,eax jle L00491B40 mov ebp,L00CC3C68 L00491725: xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+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+L00CC1A5C],dl mov al,[esi] mov cx,[L0050E6E4+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 mov dl,[eax+esi] sbb ecx,ecx mov [esp+30h],dl and ecx,00000002h mov eax,[esp+30h] inc ecx and eax,000000FFh and ecx,0000FFFFh add ecx,edi add edi,eax add ecx,esi push ecx push L00508548 push ebp call SUB_L004D512F mov eax,[L00CC1C20] add esp,0000000Ch inc ebx add ebp,00000050h cmp ebx,eax jl L00491725 pop edi pop esi pop ebp pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004917CA: cmp bl,FFh jnz L004918B7 neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax xor eax,eax mov al,[esi] push ebp push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+esi+07h] mov [esp+38h],cl call SUB_L004BD620 mov ecx,[L00B29494] mov dl,[esp+38h] mov eax,edi add esp,00000008h and eax,0000FFFFh test ecx,ecx mov [L00D1B924+eax*2],bp mov [L00D1B8C0+eax*2],bx mov [eax+L00D1B88C],dl jz L00491B40 movzx dx,dl push edx push ebx push ebp push edi call SUB_L004B91C0 mov ecx,[L00B29494] push FFFFFFFFh jmp L00491B3B L004918B7: call SUB_L004B91B0 test al,al jz L00491932 mov ecx,[L00B29494] test ecx,ecx jz L004918E5 push 00000000h call SUB_L004584E0 mov ecx,[L00B29494] mov eax,[ecx+64h] test eax,eax jz L00491928 call SUB_L0041E0F0 jmp L00491928 L004918E5: push 00000260h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov dword ptr [esp+28h],00000000h jz L0049190F push 00000064h push 00000064h mov ecx,eax call SUB_L004B61D0 jmp L00491911 L0049190F: xor eax,eax L00491911: push ebp push 00000000h mov ecx,eax mov dword ptr [esp+30h],FFFFFFFFh mov [L00B29494],eax call SUB_L004587A0 L00491928: push 00000000h call SUB_L004B91A0 add esp,00000004h L00491932: cmp bl,01h mov dword ptr [esp+14h],00000000h jnz L004919A0 push 00000260h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov [esp+28h],ebp jz L00491967 push 00000064h push 00000064h mov ecx,eax call SUB_L004B61D0 mov ebx,eax jmp L00491969 L00491967: xor ebx,ebx L00491969: push ebp push 00000000h mov ecx,ebx mov dword ptr [esp+30h],FFFFFFFFh mov [esp+1Ch],ebx call SUB_L004587A0 xor edi,edi L00491981: push 00000000h push 00000000h push 00000000h push edi mov ecx,ebx call SUB_L004B91C0 inc edi cmp edi,00000032h jl L00491981 push 00000001h mov ecx,ebx call SUB_L004B9190 jmp L004919CE L004919A0: test bl,bl jnz L004919CE mov ecx,0000000Ch xor eax,eax mov edi,L00D1B88C rep stosd stosw mov ecx,00000019h xor eax,eax mov edi,L00D1B8C0 rep stosd mov ecx,00000019h mov edi,L00D1B924 rep stosd L004919CE: mov dword ptr [esp+1Ch],00000000h L004919D6: xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax add ebp,00000002h test bx,bx jz L00491B19 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] add ebp,00000002h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,eax xor eax,eax mov al,[esi] mov dl,[esp+13h] add ebp,00000002h mov [esp+18h],ecx mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp test dl,dl mov al,[eax+esi] mov [esp+30h],al jnz L00491AEE mov edx,[L00B29494] test edx,edx jz L00491AD0 push 00000001h mov ecx,edx call SUB_L004B9190 movzx cx,[esp+30h] mov edx,[esp+18h] mov al,bl push ecx mov ecx,[L00B29494] push edx dec al push edi push eax call SUB_L004B91C0 mov al,[esp+30h] mov ecx,[esp+18h] L00491AD0: and ebx,0000FFFFh mov [L00D1B922+ebx*2],di mov [L00D1B8BE+ebx*2],cx mov [ebx+L00D1B88B],al jmp L00491B07 L00491AEE: cmp dl,01h jnz L00491B07 xor dx,dx dec bl mov dl,al push edx push ecx mov ecx,[esp+1Ch] push edi push ebx call SUB_L004B91C0 L00491B07: mov eax,[esp+1Ch] inc eax cmp eax,00000032h mov [esp+1Ch],eax jl L004919D6 L00491B19: mov ecx,[L00B29494] test ecx,ecx jz L00491B2A push FFFFFFFFh call SUB_L004B7CB0 L00491B2A: mov ecx,[esp+14h] test ecx,ecx jz L00491B40 cmp byte ptr [esp+13h],01h jnz L00491B40 push FFFFFFFFh L00491B3B: call SUB_L004B7CB0 L00491B40: mov ecx,[esp+20h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00491B60: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx push eax mov cl,[esi] mov cx,[L0050E6E4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh mov bl,[ecx+esi+04h] call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L00491C69 cmp bl,01h jnz L00491C12 mov esi,[L00B294DC] test esi,esi jz L00491C69 L00491BD5: mov edx,[esi] mov edi,[esi+40h] mov ecx,esi call [edx+000000DCh] test eax,eax jz L00491C07 cmp [esi+38h],ebp jnz L00491C07 mov ecx,esi mov dword ptr [esi+000000C4h],00000000h call SUB_L004B01D0 mov ecx,[esi+000000E0h] call SUB_L004B1570 L00491C07: test edi,edi mov esi,edi jnz L00491BD5 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L00491C12: test bl,bl jnz L00491C69 mov esi,[L00B294DC] test esi,esi jz L00491C69 L00491C20: mov eax,[esi] mov edi,[esi+40h] mov ecx,esi call [eax+000000DCh] test eax,eax jz L00491C63 cmp [esi+38h],ebp jnz L00491C63 cmp edi,[esi+000000E0h] jnz L00491C41 mov edi,[edi+40h] L00491C41: mov ebx,[L00C88338] mov dword ptr [L00C88338],00000001h test esi,esi jz L00491C5D mov edx,[esi] push 00000001h mov ecx,esi call [edx] L00491C5D: mov [L00C88338],ebx L00491C63: test edi,edi mov esi,edi jnz L00491C20 L00491C69: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491C70: push ebx push esi mov esi,[esp+0Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+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 push eax push ebx push edi call SUB_L0047A500 add esp,0000000Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00491D00: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+14h],eax mov dl,[esi] mov ebx,00000008h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea esi,[eax+esi+08h] L00491D7E: mov edi,00000020h L00491D83: mov ax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000002h dec edi jnz L00491D83 mov ax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov ax,[esi+02h] add esi,00000002h push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000016h dec ebx jnz L00491D7E mov eax,[L00C8830C] test eax,eax jz L00491DE4 mov ecx,[L00D1AF30] mov eax,[esp+14h] add ecx,ebp push eax push ecx call SUB_L00401E90 mov edx,[L00D1AF30] add edx,ebp push edx call SUB_L00401E90 add esp,0000000Ch L00491DE4: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00491DF0: sub esp,0000006Ch push esi push edi lea ecx,[esp+0Ch] call SUB_L004AD790 mov esi,[esp+78h] xor eax,eax push 00000028h lea ecx,[esp+10h] mov al,[esi] mov dword ptr [esp+0Ch],00000028h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi push eax push ecx call SUB_L004D52C0 xor edx,edx add esp,0000000Ch mov dl,[esi] mov ax,[L0050E6E4+edx*8] mov edx,[esp+08h] 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,[esp+08h] mov dl,[esi] add ecx,00000004h mov [esp+08h],ecx mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [esp+34h],ax mov ecx,[esp+34h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[esp+08h] mov dl,[esi] mov [esp+34h],ax mov edi,00000002h mov ax,[L0050E6E4+edx*8] add ecx,edi and eax,00008000h mov [esp+08h],ecx or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [esp+36h],ax mov ecx,[esp+36h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[esp+08h] mov dl,[esi] mov [esp+36h],ax add ecx,edi mov ax,[L0050E6E4+edx*8] mov [esp+08h],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [esp+38h],ax mov ecx,[esp+38h] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ecx,[esp+08h] mov dl,[esi] mov [esp+38h],ax add ecx,edi mov ax,[L0050E6E4+edx*8] mov [esp+08h],ecx and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov ax,[eax+esi] mov [esp+3Ah],ax mov ecx,[esp+3Ah] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+3Ah],ax mov eax,[esp+08h] add eax,edi push esi mov [esp+0Ch],eax call SUB_L0048CCC0 mov ecx,[esp+0Ch] and eax,0000FFFFh add eax,ecx add esp,00000004h mov dx,[eax+esi] mov [esp+3Ch],dx mov eax,[esp+3Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[esp+08h] push esi add ecx,edi mov [esp+40h],ax mov [esp+0Ch],ecx call SUB_L0048CCC0 mov edx,[esp+0Ch] and eax,0000FFFFh add eax,edx add esp,00000004h mov cx,[eax+esi] mov [esp+3Eh],cx mov edx,[esp+3Eh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+3Eh],ax mov eax,[esp+08h] add eax,edi push esi mov [esp+0Ch],eax call SUB_L0048CCC0 mov ecx,[esp+0Ch] and eax,0000FFFFh add eax,ecx add esp,00000004h mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[esp+08h] push esi add ecx,00000004h mov [esp+0Ch],ecx call SUB_L0048CCC0 mov ecx,[esp+0Ch] and eax,0000FFFFh add eax,ecx push 00000028h add eax,esi add ecx,00000028h push eax lea eax,[esp+4Ch] push eax mov [esp+18h],ecx call SUB_L004D52C0 push esi call SUB_L0048CCC0 add esp,00000014h mov edx,[esp+08h] and eax,0000FFFFh add eax,edx mov cx,[eax+esi] mov [esp+68h],cx mov edx,[esp+68h] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+68h],ax mov eax,[esp+08h] add eax,edi push esi mov [esp+0Ch],eax call SUB_L0048CCC0 mov ecx,[esp+0Ch] and eax,0000FFFFh add eax,ecx add esp,00000004h mov ax,[eax+esi] mov [esp+6Ah],ax mov ecx,[esp+6Ah] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[esp+08h] push esi add ecx,edi mov [esp+6Eh],ax mov [esp+0Ch],ecx call SUB_L0048CCC0 mov edx,[esp+0Ch] and eax,0000FFFFh add eax,edx add esp,00000004h mov dx,[eax+esi] mov [esp+6Ch],dx mov eax,[esp+6Ch] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+6Ch],ax mov eax,[esp+08h] add eax,edi push esi mov [esp+0Ch],eax call SUB_L0048CCC0 mov cx,ax mov eax,[esp+0Ch] and ecx,0000FFFFh add ecx,eax inc eax mov dl,[ecx+esi] mov [esp+0Ch],eax lea eax,[esp+74h] lea ecx,[esp+0Ch] push eax push ecx push esi mov [esp+7Eh],dl call SUB_L0048BF30 add esp,00000010h pop edi pop esi add esp,0000006Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00492110: push esi mov esi,[esp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov dl,[esi] mov cx,[L0050E6E4+edx*8] mov edx,[L00C8830C] and ecx,00008000h or ch,40h shr ecx,0Eh test edx,edx jz L004921A8 and ecx,0000FFFFh lea ecx,[ecx+esi+08h] push ecx push eax push edi call SUB_L00401E90 mov edx,[L00D1AF34] add edx,edi push edx call SUB_L00401E90 add esp,00000010h L004921A8: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004921B0: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 L00492241 L00492221: mov ax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov ax,[esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi+05h],ax add esi,00000007h dec ebx jnz L00492221 L00492241: mov eax,[L00C8830C] test eax,eax jz L00492262 push edi push ebp call SUB_L00401E90 mov edx,[L00D1AF38] add edx,ebp push edx call SUB_L00401E90 add esp,0000000Ch L00492262: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492270: push ebx push ebp push esi push edi mov edi,[esp+14h] xor eax,eax mov al,[edi] mov cx,[L0050E6E4+eax*8] and cx,8000h jz L00492291 mov si,[edi+01h] jmp L004922A1 L00492291: mov dx,[L00CD8C40] mov [esp+14h],dx mov esi,[esp+14h] L004922A1: mov ax,cx and esi,0000FFFFh neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh neg cx sbb ecx,ecx mov ebp,eax and ecx,00000002h inc ecx and ecx,0000FFFFh mov ecx,[ecx+edi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov ebx,eax xor eax,eax mov al,[edi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+edi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+14h],eax mov cl,[edi] sub esi,ebp sub esi,00000008h mov ax,[L0050E6E4+ecx*8] mov ecx,[L00C8830C] and eax,00008000h or ah,40h shr eax,0Eh test ecx,ecx jz L0049236C and eax,0000FFFFh push esi lea edx,[eax+edi+08h] push edx call SUB_L0047DC20 mov edi,eax push esi mov esi,[esp+20h] push edi push esi push ebx push 0000000Eh push 0000000Dh call SUB_L0045EBB0 push edi call SUB_L004D4F9E mov eax,[L00D1AF24] push esi add eax,ebx push eax call SUB_L00401E90 mov ecx,[L00D1AF24] add ecx,ebx push ecx call SUB_L00401E90 add esp,00000030h L0049236C: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492380: push ebx push ebp push esi push edi mov edi,[esp+14h] xor eax,eax mov al,[edi] mov cx,[L0050E6E4+eax*8] and cx,8000h jz L004923A1 mov si,[edi+01h] jmp L004923B1 L004923A1: mov dx,[L00CD8C40] mov [esp+14h],dx mov esi,[esp+14h] L004923B1: 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 [esp+14h],al inc ecx and ecx,0000FFFFh mov ecx,[ecx+edi+01h] push ecx call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,eax mov cl,[edi] sub esi,ebx sub esi,00000005h mov ax,[L0050E6E4+ecx*8] mov ecx,[L00C8830C] and eax,00008000h or ah,40h shr eax,0Eh test ecx,ecx jz L00492463 mov ebx,[esp+14h] and eax,0000FFFFh push esi and ebx,000000FFh lea edx,[eax+edi+05h] push edx push ebp push ebx push 00000010h push 0000000Fh call SUB_L0045EBB0 mov eax,[L00D1AF28] push ebp lea ecx,[ebx+eax] push ecx call SUB_L00401E90 mov edx,[L00D1AF28] add ebx,edx push ebx call SUB_L00401E90 add esp,00000024h L00492463: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492470: mov ecx,[esp+04h] xor eax,eax push ebx push esi mov al,[ecx] push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ecx mov esi,eax mov eax,[esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esi],eax lea edi,[esi+04h] mov ebx,00000040h L004924A9: mov ax,[edi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi],ax add edi,00000003h dec ebx jnz L004924A9 mov eax,[esi+000000C4h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edi,[esi] mov [esi+000000C4h],eax mov eax,[L00C8830C] test eax,eax jz L004924F0 push esi push edi call SUB_L00401E90 mov ecx,[L00D1AF3C] add ecx,edi push ecx call SUB_L00401E90 add esp,0000000Ch L004924F0: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492500: push ebp push esi mov esi,[esp+0Ch] xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ebp,eax mov eax,[L00C8830C] test eax,eax jz L0049260C xor ecx,ecx push ebx mov cl,[esi] push edi mov ax,[L0050E6E4+ecx*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 ebp,00000200h mov [ebx],eax lea esi,[ebx+04h] mov edi,00000020h jge L004925A1 L00492578: mov eax,[esi] 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 add esi,00000016h dec edi jnz L00492578 push ebx push ebp call SUB_L00482890 jmp L004925F6 L004925A1: 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 ax,[esi+02h] add esi,00000002h push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax mov ax,[esi+02h] add esi,00000002h push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add esi,00000017h dec edi jnz L004925A1 push ebx push ebp call SUB_L00482550 L004925F6: mov edx,[L00D1AF40] add esp,00000008h add edx,ebp push edx call SUB_L00401E90 add esp,00000004h pop edi pop ebx L0049260C: pop esi pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L00492610: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] xor edi,edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 cmp eax,FFFFFFFFh jz L004926B6 xor ecx,ecx mov cl,[esi] mov cx,[L0050E6E4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh lea edi,[ecx+esi+0Ch] L004926B6: mov ecx,[L00C8830C] test ecx,ecx jz L004926DA push ebp push eax push ebx push edi call SUB_L00446C70 mov edx,[L00D1AF44] add edx,ebx push edx call SUB_L00401E90 add esp,00000014h L004926DA: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004926E0: sub esp,00000020h push esi mov esi,[esp+28h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+04h] push eax mov [esp+0Ch],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+08h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax mov [esp+10h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esp+0Ch],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+0Ch] push eax mov [esp+14h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+10h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+10h] push eax mov [esp+18h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+14h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+14h] push eax mov [esp+1Ch],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esp+18h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+18h] push eax mov [esp+20h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+1Ch],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+1Ch] push eax mov [esp+24h],eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+20h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+20h] push eax mov [esp+28h],eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esp+24h],eax mov eax,[L00C8830C] test eax,eax jz L00492897 lea eax,[esp+08h] push eax push edi call SUB_L00401E90 add esp,00000008h L00492897: pop edi pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004928A0: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[L00C8830C] test ecx,ecx jz L004928DA push eax call SUB_L00401E90 pop ecx L004928DA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004928E0: push ebx push esi mov esi,[esp+0Ch] xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx push eax mov cl,[esi] mov cx,[L0050E6E4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh mov bl,[ecx+esi+04h] call SUB_L004843F0 add esp,00000004h test eax,eax jz L00492945 movsx edx,bl push edx mov ecx,eax call SUB_L004806C0 L00492945: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492950: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx] mov [esp+04h],dl xor edx,edx mov eax,[esp+04h] and eax,000000FFh mov [L00C87E98],eax mov dl,[ecx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+ecx+01h] mov [esp+04h],al xor eax,eax mov edx,[esp+04h] and edx,000000FFh mov [L00C87E9C],edx mov al,[ecx] xor edx,edx mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ecx+02h] mov [L00C87EA0],edx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004929F0: sub esp,00000104h mov ecx,[esp+00000108h] xor eax,eax push esi xor esi,esi mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] mov [esp+04h],cl mov ecx,[L00B29058] cmp ecx,esi jz L00492A39 mov edx,[ecx] push 00000001h call [edx] mov [L00B29058],esi L00492A39: mov ecx,[L00B2905C] cmp ecx,esi jz L00492A4F mov eax,[ecx] push 00000001h call [eax] mov [L00B2905C],esi L00492A4F: mov ecx,[L00B29480] cmp ecx,esi jz L00492A65 mov edx,[ecx] push 00000001h call [edx] mov [L00B29480],esi L00492A65: mov ecx,[L00B29498] cmp ecx,esi jz L00492A7B mov eax,[ecx] push 00000001h call [eax] mov [L00B29498],esi L00492A7B: mov ecx,[L00B29484] cmp ecx,esi jz L00492A91 mov edx,[ecx] push 00000001h call [edx] mov [L00B29484],esi L00492A91: mov ecx,[L00B29488] cmp ecx,esi jz L00492AA9 mov eax,[ecx] push 00000001h call [eax] xor ecx,ecx mov [L00B29488],ecx L00492AA9: mov eax,[esp+04h] and eax,000000FFh cmp eax,00000007h ja CASE_00492C50_PROC0003 jmp [CASE_PROCTABLE_00492C50+eax*4] CASE_00492C50_PROC0007: mov ecx,[L00B294A4] push esi push esi push 00000001h push ecx push SSZ0050DD24_You_have_been_idle_for_too_long_ call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ CASE_00492C50_PROC0002: push SSZ0050DCF8_This_character_already_exists__P jmp L00492AF6 CASE_00492C50_PROC0000: cmp [L00B294A4],esi jz L00492B1F push SSZ0050DCE4_Incorrect_password_ L00492AF6: lea edx,[esp+0Ch] push edx call SUB_L004D512F push esi push esi L00492B02: mov eax,[L00B294A4] push 00000001h lea ecx,[esp+1Ch] push eax push ecx call SUB_L00455DD0 add esp,0000001Ch pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ L00492B1F: lea edx,[esp+08h] push SSZ0050DCB4_You_entered_an_incorrect_passwor push edx call SUB_L004D512F push esi push 00000001h jmp L00492B02 CASE_00492C50_PROC0001: cmp [L00B294A4],esi jz L00492B91 lea edx,[esp+08h] push SSZ0050DC6C_This_character_does_not_exist_an push edx call SUB_L004D512F mov eax,[L00C8604C] mov ecx,[L00B294A4] add esp,00000008h push eax call SUB_L004713A0 mov eax,[L00C8604C] dec eax mov [L00C8604C],eax jns L00492B71 mov [L00C8604C],esi L00492B71: mov ecx,[L00B294A4] push esi push esi push 00000001h lea edx,[esp+14h] push ecx push edx call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ L00492B91: lea eax,[esp+08h] push SSZ0050DC44_Character_does_not_exist___Closi push eax call SUB_L004D512F push esi lea ecx,[esp+14h] push SSZ0050DC34_Access_Denied_ push ecx call SUB_L004D1020 add esp,00000014h push esi call SUB_L004D554B CASE_00492C50_PROC0005: mov eax,[L00B2947C] cmp eax,esi jz L00492BD6 mov edx,[eax] push 00000001h mov ecx,eax call [edx] mov ecx,[L00B29488] mov [L00B2947C],esi L00492BD6: cmp ecx,esi jz L00492BE6 mov eax,[ecx] push 00000001h call [eax] mov [L00B29488],esi L00492BE6: mov ecx,[L00B294A4] push esi push esi push 00000001h push ecx push SSZ0050DBA4_Another_character_from_this_acco call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ CASE_00492C50_PROC0006: mov edx,[L00B294A4] push esi push esi push 00000001h push edx push SSZ0050DB24_An_error_has_occurred_in_the_syn call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ CASE_00492C50_PROC0003: mov eax,[L00B294A4] push esi cmp eax,esi push esi push 00000001h jnz L00492C38 mov eax,[L00B294A0] L00492C38: push eax push SSZ0050DAAC_The_client_could_not_attach_to_t call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000104h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00492C50: dd CASE_00492C50_PROC0000 dd CASE_00492C50_PROC0001 dd CASE_00492C50_PROC0002 dd CASE_00492C50_PROC0003 dd CASE_00492C50_PROC0003 dd CASE_00492C50_PROC0005 dd CASE_00492C50_PROC0006 dd CASE_00492C50_PROC0007 L00492C70: push 00000001h push SSZ00500ED0_uo_cfg call SUB_L00436C30 add esp,00000008h call SUB_L00471EC0 mov eax,[L00B189F8] mov dword ptr [eax+6Ch],00000001h mov ecx,[L00B189F8] call SUB_L00401E90 mov ecx,[L00C87EA4] mov dword ptr [L00C83640],00000001h call SUB_L0046D040 call SUB_L004591E0 call SUB_L004592A0 mov al,[L00503140] test al,al jz L00492CC8 call SUB_L00474E50 L00492CC8: mov ecx,[L00C884DC] mov byte ptr [L005000FC],01h push esi push edi mov edx,[ecx] call [edx+00000094h] call SUB_L00447080 mov esi,eax call SUB_L00447090 mov edi,eax mov ecx,L00515700 cdq sub eax,edx sar eax,1 sub eax,00000005h push eax mov eax,esi cdq sub eax,edx sar eax,1 push eax call SUB_L00401070 mov eax,[L00D1B0F4] test eax,eax jnz L00492D35 call SUB_L00455F00 mov al,[L00503140] test al,al jz L00492D2D push edi push esi push 00000000h push 00000000h call SUB_L004D1490 add esp,00000010h L00492D2D: call SUB_L0040C940 pop edi pop esi retn ;------------------------------------------------------------------------------ L00492D35: mov al,[L00C8C49E] test al,al jz L00492D61 call SUB_L004CF4A0 push 00000001h push SSZ00500ED0_uo_cfg call SUB_L00436C30 add esp,00000008h call SUB_L004CF3D0 call SUB_L0040C940 call SUB_L00474E50 L00492D61: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492D70: mov ecx,[L00B2947C] test ecx,ecx jz L00492D8A mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00B2947C],00000000h L00492D8A: mov eax,[L00B29058] test eax,eax jnz L00492D98 jmp L00492C70 L00492D98: mov ecx,[eax+48h] mov dword ptr [ecx+000000DCh],L00421190 retn ;------------------------------------------------------------------------------ Align 16 SUB_L00492DB0: push ecx push ebx push ebp push esi mov esi,[esp+14h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+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+04h] mov cx,ax neg cx sbb ecx,ecx mov [esp+10h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+05h] and eax,00000002h mov [esp+18h],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebp,eax mov dl,[esi] add ebp,00000018h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov si,ax push edi add esi,0000001Fh call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz CASE_00492F74_PROC0005 mov eax,[edi] mov ecx,edi call [eax+60h] test eax,eax jz CASE_00492F74_PROC0005 mov ebx,[edi+000000B4h] test ebx,ebx jz CASE_00492F74_PROC0005 mov eax,[esp+10h] mov ecx,eax and ecx,000000FFh dec ecx cmp ecx,00000007h ja CASE_00492F74_PROC0005 jmp [CASE_PROCTABLE_00492F74+ecx*4] CASE_00492F74_PROC0006: mov al,[esp+18h] mov ecx,[ebx+00000114h] xor edx,edx cmp al,01h setz dl mov esi,edx mov [ebx+000000D4h],esi mov [ecx+14h],esi test al,al jnz L00492EF2 mov ecx,[ebx+00000114h] lea edx,[esp+10h] push edx lea eax,[esp+1Ch] mov edx,[ecx+54h] push eax push edx jmp L00492F09 L00492EF2: mov edx,[ebx+00000114h] lea eax,[esp+10h] push eax lea ecx,[esp+1Ch] mov eax,[edx+000000A8h] push ecx push eax L00492F09: call SUB_L004434A0 mov eax,[ebx+20h] add esp,0000000Ch cdq sub eax,edx pop edi mov ecx,eax mov eax,[esp+14h] cdq sub eax,edx mov edx,[ebx+00000114h] sar ecx,1 sar eax,1 sub ecx,eax mov [edx+30h],ecx mov eax,[ebx+00000110h] mov [eax+6Ch],esi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ CASE_00492F74_PROC0007: push SSZ0050DD8C_Request_to_edit_denied_ push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ CASE_00492F74_PROC0000: mov ecx,[esp+18h] push esi push ebp push ecx push eax mov ecx,edi call SUB_L00480B90 mov ecx,ebx call SUB_L0043C670 CASE_00492F74_PROC0005: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00492F74: dd CASE_00492F74_PROC0000 dd CASE_00492F74_PROC0000 dd CASE_00492F74_PROC0000 dd CASE_00492F74_PROC0000 dd CASE_00492F74_PROC0000 dd CASE_00492F74_PROC0005 dd CASE_00492F74_PROC0006 dd CASE_00492F74_PROC0007 Align 16 SUB_L00492FA0: push FFFFFFFFh push L004E5078 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push esi push edi mov esi,[esp+24h] xor eax,eax mov dword ptr [esp+1Ch],00000000h mov al,[esi] mov ax,[L0050E6E4+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 bl,[ecx+esi] and eax,00000002h inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dx,[eax+esi+03h] push edx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+05h] mov [esp+0Ch],cx mov edx,[esp+0Ch] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+0Ch],ax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+07h] mov [esp+0Eh],cx mov edx,[esp+0Eh] push edx call jmp_WSOCK32.dll!WSOCK32.15 mov [esp+0Eh],ax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cx,[eax+esi+09h] mov [esp+10h],cx mov edx,[esp+10h] push edx call jmp_WSOCK32.dll!WSOCK32.15 test bl,bl mov [esp+10h],ax jnz L004930F2 and edi,0000FFFFh push edi call SUB_L004CD960 add esp,00000004h pop edi pop esi pop ebx mov ecx,[esp+08h] mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ L004930F2: cmp di,028Eh ja L0049316D mov eax,[L00C8C4D4] test eax,eax jz L0049314E push 00000008h call SUB_L004D5A3E mov esi,eax add esp,00000004h mov [esi],di mov ecx,[esp+0Ch] lea eax,[esi+02h] push 00000008h push esi push 00000008h mov [eax],ecx mov dx,[esp+1Ch] mov [eax+04h],dx mov ecx,[L00C8C4CC] call SUB_L0045C4B0 push esi call SUB_L004D59F6 add esp,00000004h pop edi pop esi pop ebx mov ecx,[esp+08h] mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ L0049314E: push 00000000h push 00000000h push 00000000h lea eax,[esp+18h] push 3F800000h and edi,0000FFFFh push eax push edi call SUB_L004CD720 add esp,00000018h L0049316D: mov ecx,[esp+14h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00493180: push ecx mov edx,[esp+08h] xor eax,eax mov al,[edx] mov ax,[L0050E6E4+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 [esp+00h],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 [esp+08h],cl and eax,00000002h mov ecx,[esp+00h] inc eax and ecx,000000FFh and eax,0000FFFFh movsx edx,[eax+edx+02h] mov eax,[esp+08h] push edx and eax,000000FFh push eax push ecx call SUB_L004CA750 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00493200: push FFFFFFFFh push L004E509B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,[esp+28h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+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+04h] mov cx,ax neg cx sbb ecx,ecx mov [esp+10h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+05h] and eax,00000002h mov [esp+2Ch],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+14h],eax mov dl,[esi] push ebx mov ax,[L0050E6E4+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 lea edi,[ecx+esi+08h] and eax,00000002h inc eax and eax,0000FFFFh lea ebp,[eax+esi+44h] call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L004933E6 mov ebx,[L00B294DC] test ebx,ebx jz L00493317 L004932FD: mov eax,[ebx] mov ecx,ebx call [eax+00000114h] test eax,eax jz L00493310 cmp [ebx+38h],esi jz L00493368 L00493310: mov ebx,[ebx+40h] test ebx,ebx jnz L004932FD L00493317: push 00000140h call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L004933D1 mov ecx,[esp+2Ch] mov edx,[esp+10h] and ecx,000000FFh and edx,000000FFh push ecx mov ecx,[esp+18h] push edx push ecx push ebp push edi push esi push 000001FEh push 00000000h push 00000000h mov ecx,eax call SUB_L00416D30 jmp L004933D3 L00493368: test ebx,ebx jz L00493317 or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx lea edx,[ebx+000000B8h] mov eax,ecx mov esi,edi mov edi,edx lea edx,[ebx+000000F4h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,ebp 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+00000174h] pop edi pop esi pop ebp pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ L004933D1: xor eax,eax L004933D3: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+2Ch],FFFFFFFFh call SUB_L004587A0 L004933E6: mov ecx,[esp+1Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00493400: sub esp,00000018h push ebx push ebp mov ebp,[esp+24h] xor eax,eax push esi push edi mov al,[ebp+00h] xor esi,esi mov [esp+10h],esi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebp] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[ebp+00h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebp+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push edi mov [esp+24h],eax mov ebx,00000006h call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L004936EA mov ecx,[L00B294DC] test ecx,ecx mov [esp+2Ch],ecx jz L004934B9 jmp L00493491 L0049348D: mov ecx,[esp+2Ch] L00493491: mov edx,[ecx] call [edx+00000114h] test eax,eax mov eax,[esp+2Ch] jz L004934A6 cmp [eax+38h],edi jz L004934B3 L004934A6: mov eax,[eax+40h] test eax,eax mov [esp+2Ch],eax jnz L0049348D jmp L004934B9 L004934B3: mov [esp+10h],eax mov esi,eax L004934B9: mov eax,[esp+20h] test ax,ax jbe L004936EA and eax,0000FFFFh mov [esp+20h],eax L004934CF: xor eax,eax mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov ax,[eax+ebp] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov edi,eax mov cl,[ebp+00h] add ebx,00000002h mov [esp+2Ch],edi mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx mov ax,[eax+ebp] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx add ebx,00000002h cmp esi,ecx mov [esp+1Ch],eax jz L004936DB cmp [esi+000000A8h],ecx jz L00493552 cmp di,0001h jc L00493568 lea edx,[edi-01h] mov [esp+14h],edx jmp L0049356E L00493552: mov dx,[esi+000000B4h] cmp di,dx jc L00493568 mov ecx,edi sub ecx,edx mov [esp+14h],ecx jmp L0049356E L00493568: mov [esp+2Ch],ecx mov edi,ecx L0049356E: test ax,ax jbe L00493600 mov esi,[esp+14h] and esi,0000FFFFh lea ecx,[esi+esi*4] lea ecx,[ecx+ecx*4] lea esi,[esi+ecx*8] shl esi,03h and eax,0000FFFFh mov [esp+18h],eax L00493596: xor edx,edx or ecx,FFFFFFFFh mov dl,[ebp+00h] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebx add eax,ebp mov edx,eax xor eax,eax mov edi,edx push edx repne scasb mov eax,[esp+14h] push L00508548 not ecx dec ecx lea ebx,[ebx+ecx+01h] mov ecx,[eax+000000A4h] lea edx,[ecx+esi+02h] push edx call SUB_L004D512F mov eax,[esp+24h] add esp,0000000Ch add esi,00000050h dec eax mov [esp+18h],eax jnz L00493596 mov eax,[esp+1Ch] mov esi,[esp+10h] mov edi,[esp+2Ch] L00493600: cmp ax,0014h jnc L0049368E mov ecx,eax mov eax,[esp+14h] and eax,0000FFFFh and ecx,0000FFFFh lea edx,[eax+eax*4] lea edx,[edx+edx*4] lea eax,[eax+edx*8] lea edx,[ecx+ecx*4] shl edx,04h lea eax,[edx+eax*8] mov edx,00000014h mov [esp+18h],eax sub edx,ecx jmp L0049363E L0049363A: mov esi,[esp+10h] L0049363E: mov ecx,[esi+000000A4h] mov eax,[esp+18h] mov edi,L007049FC lea esi,[ecx+eax+02h] or ecx,FFFFFFFFh xor eax,eax mov [esp+24h],esi repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+24h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+18h] add ecx,00000050h dec edx mov [esp+18h],ecx jnz L0049363A mov eax,[esp+1Ch] mov esi,[esp+10h] mov edi,[esp+2Ch] L0049368E: mov edx,[esp+14h] and edx,0000FFFFh lea ecx,[edx+edx*4] lea ecx,[ecx+ecx*4] lea edx,[edx+ecx*8] mov ecx,[esi+000000A4h] mov [ecx+edx*8],ax mov eax,[esi+000000A8h] test eax,eax jz L004936D1 mov ax,[esi+000000B4h] cmp di,ax jc L004936DB and eax,0000FFFFh and edi,0000FFFFh inc eax cmp edi,eax jg L004936DB L004936D1: mov edx,[esi] mov ecx,esi call [edx+00000174h] L004936DB: mov eax,[esp+20h] dec eax mov [esp+20h],eax jnz L004934CF L004936EA: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493700: sub esp,0000001Ch mov ax,[L0050EA44] push esi mov esi,00008000h mov byte ptr [esp+08h],6Ch and ax,si jz L00493722 mov word ptr [esp+09h],0003h jmp L0049372B L00493722: mov word ptr [L00CD8C40],0001h L0049372B: test ax,ax jz L00493736 mov eax,[esp+09h] jmp L00493745 L00493736: mov ax,[L00CD8C40] mov [esp+04h],ax mov eax,[esp+04h] L00493745: and eax,0000FFFFh mov byte ptr [esp+eax+08h],00h mov ecx,[esp+08h] and ecx,000000FFh inc eax test [L0050E6E4+ecx*8],si jz L0049376B mov [esp+09h],ax jmp L00493771 L0049376B: mov [L00CD8C40],ax L00493771: mov eax,[L00C861D8] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edx,[esp+08h] and edx,000000FFh test [L0050E6E4+edx*8],si jz L00493796 mov ecx,[esp+09h] jmp L004937A6 L00493796: mov cx,[L00CD8C40] mov [esp+04h],cx mov ecx,[esp+04h] L004937A6: and ecx,0000FFFFh lea edx,[esp+08h] mov [esp+ecx+08h],eax add ecx,00000004h push ecx push edx call SUB_L0048DA90 mov eax,[esp+10h] mov cl,[L00C88324] and eax,000000FFh add esp,00000008h test [L0050E6E4+eax*8],si jz L004937E0 mov eax,[esp+09h] jmp L004937F0 L004937E0: mov dx,[L00CD8C40] mov [esp+04h],dx mov eax,[esp+04h] L004937F0: and eax,0000FFFFh mov [esp+eax+08h],cl inc eax push eax lea eax,[esp+0Ch] push eax call SUB_L0048DA90 add esp,00000008h push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L00493829 mov ecx,[esp+09h] jmp L00493839 L00493829: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L00493839: and ecx,0000FFFFh mov [esp+ecx+08h],eax add ecx,00000004h lea eax,[esp+08h] push ecx push eax call SUB_L0048DA90 add esp,00000008h push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L00493878 mov ecx,[esp+09h] jmp L00493888 L00493878: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L00493888: and ecx,0000FFFFh mov [esp+ecx+08h],ax add ecx,00000002h lea eax,[esp+08h] push ecx push eax call SUB_L0048DA90 add esp,00000008h push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si jz L004938C8 mov ecx,[esp+09h] jmp L004938D8 L004938C8: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L004938D8: and ecx,0000FFFFh mov [esp+ecx+08h],ax add ecx,00000002h lea eax,[esp+08h] push ecx push eax call SUB_L0048DA90 add esp,00000008h push 00000000h call jmp_WSOCK32.dll!WSOCK32.9 mov ecx,[esp+08h] and ecx,000000FFh test [L0050E6E4+ecx*8],si pop esi jz L00493916 mov ecx,[esp+05h] jmp L00493926 L00493916: mov dx,[L00CD8C40] mov [esp+00h],dx mov ecx,[esp+00h] L00493926: and ecx,0000FFFFh mov [esp+ecx+04h],ax add ecx,00000002h lea eax,[esp+04h] push ecx push eax call SUB_L0048DA90 lea ecx,[esp+0Ch] push 00000000h push ecx call SUB_L0048BDC0 mov ecx,[L00C88300] add esp,00000010h lea edx,[esp+04h] push edx call SUB_L004BC750 call SUB_L0047BB90 mov byte ptr [L00C88324],00h mov dword ptr [L007050B0],00000000h add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493980: sub esp,00000020h push esi mov esi,[esp+28h] test esi,esi jz L00493D61 mov eax,[esi] push ebx push ebp push edi mov ecx,esi call [eax+1Ch] test eax,eax jz L00493AD9 lea eax,[esi+24h] mov dword ptr [L00C837F0],00000002h mov ecx,eax mov byte ptr [esp+18h],6Ch mov edx,[ecx] mov [L00C837E4],edx mov cx,[ecx+04h] mov [L00C837E8],cx mov dx,[eax] mov eax,[L0050EA44] mov bp,[esi+28h] mov si,[esi+26h] mov [esp+34h],dx test ah,80h jz L004939F4 lea eax,[esp+18h] push 00000003h push eax call SUB_L0048DA90 add esp,00000008h jmp L004939FD L004939F4: mov word ptr [L00CD8C40],0001h L004939FD: lea ecx,[esp+18h] push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+1Ch] mov byte ptr [esp+eax+1Ch],01h inc eax push eax push edx call SUB_L0048DA90 mov eax,[L00C861D8] add esp,0000000Ch push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edi,eax lea eax,[esp+18h] push eax call SUB_L00490E70 and eax,0000FFFFh lea ecx,[esp+1Ch] mov [esp+eax+1Ch],edi add eax,00000004h push eax push ecx call SUB_L0048DA90 mov bl,[L00C88324] lea edx,[esp+24h] push edx call SUB_L00490E70 and eax,0000FFFFh mov [esp+eax+28h],bl inc eax push eax lea eax,[esp+2Ch] push eax call SUB_L0048DA90 add esp,00000018h push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[esp+18h] mov edi,eax push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+1Ch] mov [esp+eax+1Ch],edi add eax,00000004h push eax push edx call SUB_L0048DA90 mov eax,[esp+40h] lea ecx,[esp+24h] push eax push ecx call SUB_L0048BDC0 lea edx,[esp+2Ch] push esi push edx call SUB_L0048BDC0 lea eax,[esp+34h] push ebp push eax call SUB_L0048BDC0 lea ecx,[esp+3Ch] push 00000000h push ecx call SUB_L0048BDC0 add esp,0000002Ch jmp L00493D42 L00493AD9: mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jz L00493C36 mov ecx,[L00C884DC] mov eax,[esi+7Ch] cmp eax,[ecx+7Ch] jz L00493B2A mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jz L00493B17 mov eax,[esi+7Ch] mov ecx,[L00C837DC] cmp eax,ecx jz L00493B17 push esi call SUB_L004BD4B0 add esp,00000004h L00493B17: mov dword ptr [L00C837F0],00000001h mov ecx,[esi+7Ch] mov [L00C837DC],ecx L00493B2A: mov ax,[esi+26h] mov dx,[esi+28h] mov cx,[esi+24h] mov bp,[esi+3Ch] mov esi,[esi+7Ch] mov [esp+10h],ax mov eax,[L0050EA44] mov [esp+14h],dx test ah,80h mov [esp+34h],cx mov byte ptr [esp+18h],6Ch jz L00493B6C lea edx,[esp+18h] push 00000003h push edx call SUB_L0048DA90 add esp,00000008h jmp L00493B75 L00493B6C: mov word ptr [L00CD8C40],0001h L00493B75: lea eax,[esp+18h] push eax call SUB_L00490E70 and eax,0000FFFFh lea ecx,[esp+1Ch] mov byte ptr [esp+eax+1Ch],00h inc eax push eax push ecx call SUB_L0048DA90 mov eax,[L00C861D8] add esp,0000000Ch push eax call jmp_WSOCK32.dll!WSOCK32.8 lea edx,[esp+18h] mov edi,eax push edx call SUB_L00490E70 and eax,0000FFFFh mov [esp+eax+1Ch],edi add eax,00000004h push eax lea eax,[esp+20h] push eax call SUB_L0048DA90 mov bl,[L00C88324] lea ecx,[esp+24h] push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+28h] mov [esp+eax+28h],bl inc eax push eax push edx call SUB_L0048DA90 lea eax,[esp+30h] push esi push eax call SUB_L0048BE20 mov ecx,[esp+54h] lea edx,[esp+38h] push ecx push edx call SUB_L0048BDC0 mov eax,[esp+38h] lea ecx,[esp+40h] push eax push ecx call SUB_L0048BDC0 mov edx,[esp+44h] lea eax,[esp+48h] push edx push eax call SUB_L0048BDC0 lea ecx,[esp+50h] push ebp push ecx call SUB_L0048BDC0 add esp,00000040h jmp L00493D42 L00493C36: lea eax,[esi+24h] mov dword ptr [L00C837F0],00000003h mov edx,eax mov byte ptr [esp+18h],6Ch mov ecx,[edx] mov [L00C837E4],ecx xor ecx,ecx mov dx,[edx+04h] mov [L00C837E8],dx mov cx,[esi+3Ch] mov [L00C837EC],ecx mov dx,[eax] mov eax,[L0050EA44] mov bp,[esi+3Ch] mov bx,[esi+28h] mov si,[esi+26h] test ah,80h mov [esp+34h],dx jz L00493C98 lea eax,[esp+18h] push 00000003h push eax call SUB_L0048DA90 add esp,00000008h jmp L00493CA1 L00493C98: mov word ptr [L00CD8C40],0001h L00493CA1: lea ecx,[esp+18h] push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+1Ch] mov byte ptr [esp+eax+1Ch],01h inc eax push eax push edx call SUB_L0048DA90 mov eax,[L00C861D8] add esp,0000000Ch push eax call jmp_WSOCK32.dll!WSOCK32.8 mov edi,eax lea eax,[esp+18h] push eax call SUB_L00490E70 and eax,0000FFFFh lea ecx,[esp+1Ch] mov [esp+eax+1Ch],edi add eax,00000004h push eax push ecx call SUB_L0048DA90 mov dl,[L00C88324] lea eax,[esp+24h] push edx push eax call SUB_L0048BD70 lea ecx,[esp+2Ch] push 00000000h push ecx call SUB_L0048BE20 mov edx,[esp+50h] lea eax,[esp+34h] push edx push eax call SUB_L0048BDC0 lea ecx,[esp+3Ch] push esi push ecx call SUB_L0048BDC0 lea edx,[esp+44h] push ebx push edx call SUB_L0048BDC0 lea eax,[esp+4Ch] push ebp push eax call SUB_L0048BDC0 add esp,0000003Ch L00493D42: lea ecx,[esp+18h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 call SUB_L0047BB90 pop edi pop ebp mov byte ptr [L00C88324],00h pop ebx L00493D61: pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493D70: push ebx push esi mov esi,[esp+0Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+10h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov bl,[eax+esi+05h] call SUB_L0047BB70 mov eax,[esp+10h] mov [L00C861D8],edi and eax,000000FFh pop edi mov [L00C88324],bl pop esi mov [L00C8831C],eax mov dword ptr [L00C88328],L00493980 pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00493E10: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+14h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax call SUB_L0047BB70 mov edx,[esp+14h] xor eax,eax and edx,000000FFh mov [L00C861D8],edi mov [L00C8831C],edx mov dword ptr [L00C88328],L00493980 mov al,[esi] mov ax,[L0050E6E4+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 dl,[esi] mov ax,[L0050E6E4+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 cl,[esi] mov ax,[L0050E6E4+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 xor eax,eax mov al,[esi] mov ax,[L0050E6E4+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 xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+0Fh] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+13h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebx,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+15h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebp,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov si,[eax+esi+17h] push esi call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[L0070503C] test ecx,ecx jz L00493FF2 and eax,0000FFFFh and ebp,0000FFFFh push eax and ebx,0000FFFFh push ebp and edi,0000FFFFh push ebx push edi call SUB_L0041D7E0 L00493FF2: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494000: sub esp,00000010h push ebx push ebp push esi mov esi,[esp+20h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+24h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax call SUB_L0047BB70 mov edx,[esp+24h] xor eax,eax and edx,000000FFh mov [L00C861D8],edi mov [L00C8831C],edx mov dword ptr [L00C88328],L00493980 mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebp,eax mov cl,[esi] mov [esp+14h],ebp mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+07h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+1Ch],eax mov dl,[esi] mov ax,[L0050E6E4+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 mov [esp+18h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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 mov ebx,eax mov edi,0000000Dh test bx,bx mov dword ptr [esp+24h],00000000h jz L004941A1 and eax,0000FFFFh lea eax,[eax+eax*4] push eax mov [esp+14h],eax call SUB_L004D5A3E mov [esp+28h],eax mov eax,[esp+14h] add esp,00000004h test eax,eax jle L004941A1 mov ebp,[esp+24h] mov ecx,eax mov [esp+10h],ecx L0049415C: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add edi,00000002h mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 and eax,0000FFFFh mov [ebp+00h],eax mov eax,[esp+10h] add ebp,00000004h dec eax mov [esp+10h],eax jnz L0049415C mov ebp,[esp+14h] L004941A1: mov ecx,[L0070503C] test ecx,ecx jz L004941D7 mov eax,[esp+18h] and ebp,0000FFFFh and eax,0000FFFFh and ebx,0000FFFFh push eax mov eax,[esp+20h] and eax,0000FFFFh push eax mov eax,[esp+2Ch] push ebp push eax push ebx call SUB_L0041DA30 L004941D7: mov eax,[esp+24h] pop edi pop esi pop ebp test eax,eax pop ebx jz L004941EC push eax call SUB_L004D59F6 add esp,00000004h L004941EC: add esp,00000010h retn ;------------------------------------------------------------------------------ SUB_L004941F0: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.15 push 00000000h push 00000001h push eax call SUB_L004CC770 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494230: sub esp,0000000Ch push ebx mov ebx,[esp+14h] xor eax,eax push ebp mov al,[ebx] push esi push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,00000005h mov cl,[ebx] mov cx,[L0050E6E4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh test eax,eax mov dl,[ecx+ebx+04h] mov [esp+14h],dl jz L00494415 push eax call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L00494415 mov esi,[edi+000000ACh] xor eax,eax cmp esi,eax jz L004942DC L004942B2: mov ecx,[esi+000000A4h] mov [esi+000000A8h],eax cmp ecx,eax jz L004942CD mov eax,ecx push eax call SUB_L004D4F9E add esp,00000004h L004942CD: xor eax,eax mov [esi+000000A4h],eax mov esi,[esi+44h] cmp esi,eax jnz L004942B2 L004942DC: mov ecx,[edi+000000ACh] mov [esp+10h],eax mov eax,[esp+14h] mov [esp+20h],ecx and eax,000000FFh mov [esp+18h],eax jle L00494415 L004942FD: mov eax,[esp+20h] test eax,eax jz L00494415 xor edx,edx mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov eax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edi,eax xor eax,eax mov al,[ebx] add ebp,00000004h mov dx,[L0050E6E4+eax*8] and dx,8000h mov cx,dx neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebp inc ebp neg dx sbb edx,edx mov cl,[ecx+ebx] and edx,00000002h mov [esp+14h],cl inc edx and edx,0000FFFFh add edx,ebp add edx,ebx mov esi,edx mov edx,[esp+14h] and edx,000000FFh add ebp,edx test esi,esi jz L00494398 test cl,cl jbe L00494398 mov al,[edx+esi-01h] test al,al jz L00494398 mov byte ptr [edx+esi-01h],00h L00494398: mov edx,[esp+20h] test esi,esi mov [edx+000000A8h],edi jz L004943F5 test cl,cl jbe L004943F5 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L004943F5 mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov eax,[esp+24h] mov edi,esi or ecx,FFFFFFFFh mov [eax+000000A4h],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 L004943F5: mov ecx,[esp+20h] mov eax,[esp+10h] inc eax mov edx,[ecx+44h] mov ecx,[esp+18h] cmp eax,ecx mov [esp+20h],edx mov [esp+10h],eax jl L004942FD L00494415: pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00494420: push FFFFFFFFh push L004E50BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx mov ebx,[esp+30h] xor eax,eax push ebp mov al,[ebx] push esi push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov esi,eax mov cl,[ebx] mov [esp+28h],esi mov ax,[L0050E6E4+ecx*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 mov edi,eax mov ebp,00000006h test esi,esi mov [esp+24h],edi jz L00494761 test di,di jz L00494761 and eax,0000FFFFh mov [esp+18h],eax shl eax,04h push eax call SUB_L004D4FA9 mov ecx,[esp+1Ch] add esp,00000004h test ecx,ecx mov [esp+10h],eax jle L0049468B lea esi,[eax+06h] mov [esp+14h],ecx mov [esp+3Ch],esi jmp L004944E4 L004944E0: mov esi,[esp+3Ch] L004944E4: xor edx,edx mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp 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 ebp,00000004h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp 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 ebp,00000002h mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp 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 ebp,00000002h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp 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 ebp,00000002h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp 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 ebp,00000002h mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[ebx] add ebp,00000002h and edi,0000FFFFh mov cx,[L0050E6E4+edx*8] mov [esp+20h],edi and ecx,00008000h lea eax,[edi+01h] or ch,40h push eax shr ecx,0Eh and ecx,0000FFFFh add ecx,ebp add ebp,edi add ecx,ebx mov [esp+20h],ecx call SUB_L004D4FA9 mov ecx,edi mov [esi+06h],eax mov esi,[esp+20h] mov edx,ecx mov edi,eax mov eax,[esp+40h] shr ecx,02h rep movsd mov ecx,edx add eax,00000010h and ecx,00000003h mov [esp+40h],eax rep movsb mov ecx,[eax-0Ah] mov eax,[esp+18h] add esp,00000004h dec eax mov byte ptr [edx+ecx],00h mov [esp+14h],eax jnz L004944E0 mov edi,[esp+24h] mov esi,[esp+28h] L0049468B: push esi call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L00494734 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00494734 mov ebx,[L00B294DC] test ebx,ebx jz L004946DF L004946B7: mov edx,[ebx] mov ecx,ebx call [edx+000000DCh] test eax,eax jz L004946CA cmp [ebx+38h],esi jz L004946D3 L004946CA: mov ebx,[ebx+40h] test ebx,ebx jnz L004946B7 jmp L004946DF L004946D3: test ebx,ebx jz L004946DF mov eax,[ebx] push 00000001h mov ecx,ebx call [eax] L004946DF: push 000000FCh call SUB_L004D4FA9 add esp,00000004h mov [esp+3Ch],eax test eax,eax mov dword ptr [esp+34h],00000000h jz L00494712 mov ecx,[esp+10h] push ecx push edi push esi push 00000000h push 00000064h mov ecx,eax call SUB_L004AF060 mov esi,eax jmp L00494714 L00494712: xor esi,esi L00494714: push 00000001h push 00000000h mov ecx,esi mov dword ptr [esp+3Ch],FFFFFFFFh call SUB_L004587A0 mov ecx,[esi+000000E0h] push 00000000h call SUB_L004584E0 L00494734: mov edi,[esp+18h] test edi,edi jle L00494754 mov edx,[esp+10h] lea esi,[edx+0Ch] L00494743: mov eax,[esi] push eax call SUB_L004D4F9E add esp,00000004h add esi,00000010h dec edi jnz L00494743 L00494754: mov ecx,[esp+10h] push ecx call SUB_L004D4F9E add esp,00000004h L00494761: mov ecx,[esp+2Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494780: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov [esp+14h],eax mov cl,[esi] push edi mov ax,[L0050E6E4+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+0Ah] mov cx,ax neg cx sbb ecx,ecx mov [esp+16h],dl and ecx,00000002h inc ecx and ecx,0000FFFFh neg ax sbb eax,eax mov cl,[ecx+esi+0Bh] and eax,00000002h mov [esp+20h],cl inc eax and eax,0000FFFFh mov dl,[eax+esi+0Ch] mov [esp+17h],dl call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L004948C6 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L004948C6 movzx cx,[esp+1Ch] movzx dx,[esp+12h] mov eax,[esp+14h] push ecx movzx cx,[esp+17h] push edx push eax push ecx push ebx push ebp mov ecx,esi call SUB_L004817F0 L004948C6: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004948D0: push FFFFFFFFh push L004E50DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000034h push ebx push ebp push esi mov esi,[esp+50h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+54h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+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 edi,eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*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,eax mov cl,[esi] mov cx,[L0050E6E4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh mov al,[eax+esi+0Dh] test al,al jz L004949C4 neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh lea edx,[ecx+esi+0Eh] mov [esp+10h],edx L004949C4: push ebx call SUB_L004843F0 mov esi,eax mov eax,[esp+58h] and eax,000000FFh add esp,00000004h sub eax,00000000h jz L00494ADD dec eax jz L00494A91 dec eax jnz L00494C33 test esi,esi jz L00494C33 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L00494C33 mov eax,[esi+000000B0h] test eax,eax jz L00494C33 mov eax,[eax+000000A8h] test eax,eax jz L00494C33 mov edx,[eax+000000C8h] test edi,edi setnz cl mov [edx+000000B8h],cl mov eax,[esi+000000B0h] mov ecx,[eax+000000A8h] mov ecx,[ecx+000000C8h] call SUB_L00422FE0 mov eax,[esi+000000B0h] test ebp,ebp mov ecx,[eax+000000A8h] setnz dl mov eax,[ecx+000000CCh] mov [eax+000000B8h],dl mov ecx,[esi+000000B0h] mov edx,[ecx+000000A8h] mov ecx,[edx+000000CCh] call SUB_L00422FE0 pop edi pop esi pop ebp pop ebx mov ecx,[esp+34h] mov fs:[00000000h],ecx add esp,00000040h retn ;------------------------------------------------------------------------------ L00494A91: test esi,esi jz L00494C33 mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L00494C33 mov esi,[esi+000000B0h] test esi,esi jz L00494C33 mov ecx,[esi+000000A8h] test ecx,ecx jz L00494C33 mov edx,[ecx] push 00000001h call [edx] pop edi pop esi pop ebp pop ebx mov ecx,[esp+34h] mov fs:[00000000h],ecx add esp,00000040h retn ;------------------------------------------------------------------------------ L00494ADD: test esi,esi jz L00494C33 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00494C33 push ebx call SUB_L0047BED0 add esp,00000004h test eax,eax jz L00494BF0 mov eax,[L0050EA5C] mov byte ptr [esp+14h],6Fh test ah,80h mov ebx,00000001h jz L00494B22 mov word ptr [esp+15h],0003h jmp L00494B29 L00494B22: mov [L00CD8C40],bx L00494B29: lea ecx,[esp+14h] push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+18h] mov [esp+eax+18h],bl inc eax push eax push edx call SUB_L0048DA90 add esp,0000000Ch push edi call jmp_WSOCK32.dll!WSOCK32.8 mov esi,eax lea eax,[esp+14h] push eax call SUB_L00490E70 and eax,0000FFFFh lea ecx,[esp+18h] mov [esp+eax+18h],esi add eax,00000004h push eax push ecx call SUB_L0048DA90 add esp,0000000Ch push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea edx,[esp+14h] mov esi,eax push edx call SUB_L00490E70 and eax,0000FFFFh mov [esp+eax+18h],esi add eax,00000004h push eax lea eax,[esp+1Ch] push eax call SUB_L0048DA90 add esp,0000000Ch push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 lea ecx,[esp+14h] mov esi,eax push ecx call SUB_L00490E70 and eax,0000FFFFh lea edx,[esp+18h] mov [esp+eax+18h],esi add eax,00000004h push eax push edx call SUB_L0048DA90 lea eax,[esp+20h] push 00000000h push eax call SUB_L0048BD70 add esp,00000014h pop edi pop esi pop ebp pop ebx mov ecx,[esp+34h] mov fs:[00000000h],ecx add esp,00000040h retn ;------------------------------------------------------------------------------ L00494BF0: push 000000D0h call SUB_L004D4FA9 add esp,00000004h mov [esp+54h],eax test eax,eax mov dword ptr [esp+4Ch],00000000h jz L00494C1E mov ecx,[esp+10h] push ecx push ebp push edi push esi mov ecx,eax call SUB_L004C0BA0 jmp L00494C20 L00494C1E: xor eax,eax L00494C20: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+54h],FFFFFFFFh call SUB_L004587A0 L00494C33: mov ecx,[esp+44h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000040h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00494C50: push FFFFFFFFh push L004E5100 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000038h push ebx push ebp xor eax,eax push esi push edi mov [esp+10h],eax mov [esp+14h],eax mov esi,[esp+58h] mov dword ptr [esp+50h],00000001h mov al,[esi] mov ax,[L0050E6E4+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 [esp+34h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov edi,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov eax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov [esp+5Ch],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+09h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+34h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebx,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebp,eax call SUB_L0048CCC0 and eax,0000FFFFh push esi mov [esp+40h],bx mov [esp+42h],bp mov al,[eax+esi+0Fh] movsx dx,al mov [esp+44h],dx call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000008h mov ax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebx,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+12h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebp,eax call SUB_L0048CCC0 and eax,0000FFFFh mov [esp+44h],bx push esi mov [esp+4Ah],bp mov al,[eax+esi+14h] movsx bx,al mov [esp+4Ch],bx call SUB_L0048CCC0 and eax,0000FFFFh push esi mov al,[eax+esi+15h] mov [esp+38h],al call SUB_L0048CCC0 and eax,0000FFFFh push esi mov cl,[eax+esi+16h] mov [esp+38h],cl call SUB_L0048CCC0 and eax,0000FFFFh push esi mov dl,[eax+esi+17h] mov [esp+38h],dl call SUB_L0048CCC0 and eax,0000FFFFh push esi mov al,[eax+esi+18h] mov [esp+38h],al call SUB_L0048CCC0 and eax,0000FFFFh push esi mov cl,[eax+esi+19h] mov [esp+38h],cl call SUB_L0048CCC0 and eax,0000FFFFh push edi mov dl,[eax+esi+1Ah] mov [esp+38h],dl call SUB_L004843F0 mov esi,eax add esp,00000020h test esi,esi jz L00494E38 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L00494E3C L00494E38: mov esi,[esp+10h] L00494E3C: mov ecx,[esp+58h] push ecx call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L00494E5A mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L00494E5E L00494E5A: mov edi,[esp+14h] L00494E5E: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov edx,[esp+20h] push eax mov eax,[esp+28h] push ecx mov ecx,[esp+30h] push edx mov edx,[esp+38h] push eax push ecx mov ecx,[esp+54h] push edx sub esp,00000008h mov eax,esp sub esp,00000008h mov edx,esp mov [eax],ecx mov cx,[esp+64h] mov [eax+04h],bx mov eax,[esp+60h] mov [edx],eax mov eax,[esp+5Ch] mov [edx+04h],cx mov edx,[esp+58h] push edx push edi push esi push eax call SUB_L00452BD0 mov ecx,[esp+00000080h] add esp,00000038h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000044h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00494ED0: push FFFFFFFFh push L004E5120 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000003Ch push ebx push ebp xor eax,eax push esi push edi mov [esp+10h],eax mov [esp+14h],eax mov esi,[esp+5Ch] mov dword ptr [esp+54h],00000001h push esi call SUB_L0048CCC0 and eax,0000FFFFh push esi mov al,[eax+esi] mov [esp+40h],al call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000008h mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov edi,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov eax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov [esp+60h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+09h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov [esp+38h],eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Bh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebx,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+0Dh] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebp,eax call SUB_L0048CCC0 and eax,0000FFFFh push esi mov [esp+44h],bx mov [esp+46h],bp mov al,[eax+esi+0Fh] movsx cx,al mov [esp+48h],cx call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000008h mov ax,[eax+esi+10h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push esi mov ebx,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov ax,[eax+esi+12h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov ebp,eax push esi call SUB_L0048CCC0 and eax,0000FFFFh mov [esp+48h],bx push esi mov [esp+4Eh],bp mov al,[eax+esi+14h] movsx bx,al mov [esp+50h],bx call SUB_L0048CCC0 and eax,0000FFFFh push esi mov dl,[eax+esi+15h] mov [esp+3Ch],dl call SUB_L0048CCC0 and eax,0000FFFFh push esi mov al,[eax+esi+16h] mov [esp+3Ch],al call SUB_L0048CCC0 and eax,0000FFFFh push esi mov cl,[eax+esi+17h] mov [esp+3Ch],cl call SUB_L0048CCC0 and eax,0000FFFFh push esi mov dl,[eax+esi+18h] mov [esp+3Ch],dl call SUB_L0048CCC0 and eax,0000FFFFh push esi mov al,[eax+esi+19h] mov [esp+3Ch],al call SUB_L0048CCC0 and eax,0000FFFFh push esi mov cl,[eax+esi+1Ah] mov [esp+3Ch],cl call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000020h mov eax,[eax+esi+1Bh] push eax call jmp_WSOCK32.dll!WSOCK32.14 push esi mov ebp,eax call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov esi,[eax+esi+1Fh] push esi call jmp_WSOCK32.dll!WSOCK32.14 push edi mov [esp+1Ch],eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L004950D9 mov edx,[esi] mov ecx,esi call [edx+24h] test eax,eax jnz L004950DD L004950D9: mov esi,[esp+10h] L004950DD: mov eax,[esp+5Ch] push eax call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L004950FB mov edx,[edi] mov ecx,edi call [edx+24h] test eax,eax jnz L004950FF L004950FB: mov edi,[esp+14h] L004950FF: mov eax,[esp+18h] mov ecx,[esp+1Ch] mov edx,[esp+20h] push eax mov eax,[esp+28h] push ebp push ecx mov ecx,[esp+34h] push edx mov edx,[esp+3Ch] push eax mov eax,[esp+44h] push ecx push edx mov edx,[esp+60h] push eax sub esp,00000008h mov ecx,esp sub esp,00000008h mov eax,esp mov [ecx],edx mov dx,[esp+70h] mov [ecx+04h],bx mov ecx,[esp+6Ch] mov [eax],ecx mov ecx,[esp+68h] mov [eax+04h],dx mov eax,[esp+64h] push eax push edi push esi push ecx call SUB_L00450B60 mov ecx,[esp+0000008Ch] add esp,00000040h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000048h retn ;------------------------------------------------------------------------------ SUB_L00495170: push FFFFFFFFh push L004E514C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000138h push ebx mov ebx,[esp+0000014Ch] xor eax,eax push ebp mov al,[ebx] push esi push edi mov ax,[L0050E6E4+eax*8] and ax,8000h mov si,ax neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh mov cl,[esi+ebx] mov [esp+1Ch],cl mov ecx,[esp+1Ch] and ecx,000000FFh sub ecx,00000000h jz L004956CB dec ecx jz L004954D2 dec ecx jnz L0049578C push ebx call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov eax,[eax+ebx+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push ebx call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h mov eax,[eax+ebx+05h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push ebx mov [esp+1Ch],eax call SUB_L0048CCC0 and eax,0000FFFFh push ebx mov dl,[eax+ebx+09h] mov [esp+18h],dl mov ebp,[esp+18h] and ebp,000000FFh call SUB_L0048CCC0 and eax,0000FFFFh or ecx,FFFFFFFFh add ebp,0000000Ah lea edx,[esp+30h] lea edi,[eax+ebx+0Ah] xor eax,eax repne scasb not ecx sub edi,ecx push ebx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L0048CCC0 and eax,0000FFFFh push ebx add eax,ebp inc ebp mov cl,[eax+ebx] mov [esp+20h],cl mov esi,[esp+20h] and esi,000000FFh call SUB_L0048CCC0 and eax,0000FFFFh or ecx,FFFFFFFFh add eax,ebp add ebp,esi add eax,ebx lea edx,[esp+000000A8h] mov edi,eax xor eax,eax repne scasb not ecx sub edi,ecx push ebx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L0048CCC0 and eax,0000FFFFh push ebx add eax,ebp inc ebp mov cl,[eax+ebx] mov [esp+28h],cl mov esi,[esp+28h] and esi,000000FFh call SUB_L0048CCC0 and eax,0000FFFFh or ecx,FFFFFFFFh add eax,ebp add ebp,esi add eax,ebx lea edx,[esp+60h] mov edi,eax xor eax,eax repne scasb not ecx sub edi,ecx push ebx mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L0048CCC0 and eax,0000FFFFh add esp,0000001Ch add eax,ebp mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov [esp+24h],eax add ebp,00000002h call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h add eax,ebp mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov [esp+28h],eax add ebp,00000002h call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h add eax,ebp inc ebp mov cl,[eax+ebx] mov [esp+1Ch],cl mov eax,[esp+1Ch] and eax,000000FFh jle L004953C9 lea esi,[esp+000000EAh] mov edi,eax L0049537B: push ebx call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h add eax,ebp mov ax,[eax+ebx] push eax mov [esi-02h],ax call jmp_WSOCK32.dll!WSOCK32.15 push ebx mov [esi-02h],ax add ebp,00000002h call SUB_L0048CCC0 and eax,0000FFFFh add esp,00000004h add eax,ebp mov ax,[eax+ebx] push eax mov [esi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax add ebp,00000002h add esi,00000004h dec edi jnz L0049537B L004953C9: push ebx call SUB_L0048CCC0 and eax,0000FFFFh add eax,ebp inc ebp mov dl,[eax+ebx] mov eax,[esp+1Ch] push eax mov [esp+1Ch],dl call SUB_L004843F0 mov esi,eax add esp,00000008h test esi,esi jz L0049578C push 000002BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+00000150h],00000001h jz L00495453 mov edx,[esp+1Ch] lea ecx,[esp+000000E8h] push 00000000h push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+2Ch] push ecx push edx lea ecx,[esp+5Ch] lea edx,[esp+000000ACh] push ecx push edx mov edx,[L00704A00] lea ecx,[esp+44h] push ecx push edx push esi mov ecx,eax call SUB_L00414810 mov edi,eax jmp L00495455 L00495453: xor edi,edi L00495455: mov eax,[esp+14h] xor esi,esi and eax,000000FFh mov dword ptr [esp+00000150h],FFFFFFFFh mov [L00704A04],esi mov [esp+14h],eax jle L004954C0 L00495477: push ebx call SUB_L0048CCC0 and eax,0000FFFFh push ebx add eax,ebp inc ebp mov al,[eax+ebx] mov [esp+18h],al call SUB_L0048CCC0 mov ecx,[esp+18h] and eax,0000FFFFh add eax,ebp and ecx,000000FFh add esp,00000008h add eax,ebx add ebp,ecx cmp esi,00000050h jge L004954B7 push eax mov ecx,edi call SUB_L004165D0 L004954B7: mov eax,[esp+14h] inc esi cmp esi,eax jl L00495477 L004954C0: mov ecx,edi call SUB_L004163F0 push 00000001h push 00000000h mov ecx,edi jmp L00495787 L004954D2: 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 edx,edx mov [esp+20h],eax mov dl,[ebx] mov ax,[L0050E6E4+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 [esp+18h],eax xor eax,eax mov al,[ebx] mov ax,[L0050E6E4+eax*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 [esp+24h],eax mov cl,[ebx] mov dx,[L0050E6E4+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,[esp+28h] mov [esp+10h],al mov ax,dx neg ax sbb eax,eax mov ebp,[esp+10h] and eax,00000002h and ebp,000000FFh inc eax or ecx,FFFFFFFFh and eax,0000FFFFh add ebp,0000000Eh mov [esp+14h],esi lea eax,[eax+ebx+0Eh] mov edi,eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax mov ax,dx and ecx,00000003h rep movsb mov si,dx neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh add esi,ebp inc ebp neg ax mov cl,[esi+ebx] mov [esp+10h],cl sbb eax,eax mov ecx,[esp+10h] and eax,00000002h and ecx,000000FFh inc eax lea esi,[esp+00000098h] and eax,0000FFFFh mov [esp+14h],esi add eax,ebp add ebp,ecx add eax,ebx or ecx,FFFFFFFFh mov edi,eax xor eax,eax repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc ebp rep movsb neg dx sbb edx,edx or ecx,FFFFFFFFh and edx,00000002h xor eax,eax inc edx mov edi,edx lea edx,[esp+48h] and edi,0000FFFFh add edi,ebp 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,[esp+20h] push ecx call SUB_L004843F0 mov edx,[esp+1Ch] mov esi,eax push edx call SUB_L004843F0 add esp,00000008h mov edi,eax test esi,esi jz L0049578C mov eax,[esi] mov ecx,esi call [eax+30h] test eax,eax jz L0049578C test edi,edi jz L0049578C mov ecx,[esp+24h] push ecx call SUB_L004843F0 mov ecx,[esi+000000B0h] add esp,00000004h test ecx,ecx jz L0049578C lea edx,[esp+48h] push edx lea edx,[esp+0000009Ch] push edx lea edx,[esp+30h] push edx push eax push edi call SUB_L004137E0 jmp L0049578C L004956CB: 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,[L0050E6E4+ecx*8] and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh lea ebx,[ecx+ebx+05h] call SUB_L004843F0 mov edi,eax add esp,00000004h test edi,edi jz L0049578C mov esi,[L00B294DC] xor ebp,ebp test esi,esi jz L00495749 L00495720: mov edx,[esi] mov ecx,esi call [edx+00000124h] test eax,eax jz L0049573E cmp [esi+38h],edi jnz L0049573E push 00000000h mov ecx,esi mov ebp,esi call SUB_L004584E0 L0049573E: mov esi,[esi+40h] test esi,esi jnz L00495720 test ebp,ebp jnz L0049578C L00495749: push 000000C8h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+00000150h],00000000h jz L00495774 push ebx push edi mov ecx,eax call SUB_L00413070 jmp L00495776 L00495774: xor eax,eax L00495776: push 00000001h mov dword ptr [esp+00000154h],FFFFFFFFh push 00000000h mov ecx,eax L00495787: call SUB_L004587A0 L0049578C: mov ecx,[esp+00000148h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000144h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004957B0: sub esp,0000000Ch mov edx,[esp+10h] xor eax,eax mov al,[edx] mov ax,[L0050E6E4+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 [esp+08h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh mov cl,[ecx+edx+01h] mov [esp+10h],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 [esp+00h],cl and eax,00000002h mov ecx,[esp+00h] inc eax and ecx,000000FFh and eax,0000FFFFh mov dl,[eax+edx+03h] mov eax,[esp+10h] and eax,000000FFh mov [esp+04h],dl mov edx,[esp+04h] mov [L00C861D4],eax mov eax,[esp+08h] and edx,000000FFh and eax,000000FFh mov [L00C861D0],ecx push eax mov [L00C861CC],edx call SUB_L0047C830 add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L00495870: mov eax,fs:[00000000h] mov ecx,[esp+04h] push FFFFFFFFh push L004E516B push eax xor eax,eax mov fs:[00000000h],esp mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+ecx] test al,al jnz L00495932 mov eax,[L00C8C4D4] test eax,eax jz L004958DD push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050DDB4_already_sequencing_ call SUB_L00455DD0 add esp,00000014h mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004958DD: push 00000010h mov dword ptr [L00C8C4D4],00000001h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+08h],00000000h jz L0049591C mov ecx,eax call SUB_L0045C420 mov [L00C8C4CC],eax mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L0049591C: xor eax,eax mov [L00C8C4CC],eax mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L00495932: mov ecx,[L00C8C4D4] test ecx,ecx jnz L00495960 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050DDA4_not_sequencing_ call SUB_L00455DD0 add esp,00000014h mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L00495960: mov ecx,[L00C8C4CC] mov dword ptr [L00C8C4D4],00000000h mov [ecx+0Ch],al mov eax,[L00C8C4CC] mov edx,[eax+04h] mov [eax+08h],edx mov ecx,[L00C8C4CC] mov eax,[ecx+08h] test eax,eax jz L004959A0 push eax call SUB_L0045C520 mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004959A0: test ecx,ecx jz L004959AA mov eax,[ecx] push 00000001h call [eax] L004959AA: mov ecx,[esp+00h] mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004959C0: push FFFFFFFFh push L004E519C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000430h push ebx mov ebx,[esp+00000444h] xor eax,eax push ebp mov al,[ebx] push esi push edi mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+28h],eax mov cl,[ebx] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+20h],eax mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and ax,8000h mov si,ax neg si sbb esi,esi and esi,00000002h inc esi and esi,0000FFFFh neg ax mov cl,[esi+ebx+06h] mov [esp+10h],cl mov edi,[esp+10h] sbb eax,eax and edi,000000FFh and eax,00000002h mov [esp+10h],edi inc eax lea edx,[edi+01h] and eax,0000FFFFh push edx lea ebp,[edi+07h] lea esi,[eax+ebx+07h] call SUB_L004D4FA9 mov ecx,edi mov edi,eax mov edx,ecx mov [esp+1Ch],eax shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,edx xor edx,edx mov byte ptr [ecx+eax],00h mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp mov al,[eax+ebx] mov [esp+14h],al mov edi,[esp+14h] and edi,000000FFh mov [esp+20h],edi lea esi,[edi+edi] push esi call SUB_L004D4FA9 mov [esp+34h],eax push esi call SUB_L004D4FA9 add esp,0000000Ch mov [esp+10h],eax test edi,edi jle L00495C4F lea ecx,[esp+40h] mov esi,eax mov [esp+14h],ecx mov ecx,[esp+2Ch] sub ecx,eax mov [esp+24h],esi mov [esp+34h],ecx mov [esp+30h],edi jmp L00495B24 L00495B20: mov ecx,[esp+34h] L00495B24: xor edx,edx mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+ebx] push eax mov [ecx+esi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov ecx,[esp+34h] xor edx,edx add ebp,00000002h mov [ecx+esi],ax mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+ebx] push eax mov [esi],ax call jmp_WSOCK32.dll!WSOCK32.15 mov [esi],ax xor eax,eax mov al,[ebx] add ebp,00000002h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp mov al,[eax+ebx] test al,al mov [esp+38h],al jz L00495C24 mov esi,[esp+38h] and esi,000000FFh mov [esp+3Ch],esi lea ecx,[esi+01h] push ecx call SUB_L004D4FA9 xor ecx,ecx mov edx,[esp+18h] mov cl,[ebx] mov edi,eax mov [edx],eax mov eax,[esp+18h] mov cx,[L0050E6E4+ecx*8] add esp,00000004h and ecx,00008000h or ch,40h shr ecx,0Eh and ecx,0000FFFFh add ecx,ebp add ebp,esi add ecx,ebx mov edx,ecx mov ecx,esi mov esi,edx mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[eax] mov edi,[esp+1Ch] mov esi,[esp+24h] mov byte ptr [ecx+edx],00h jmp L00495C2E L00495C24: mov eax,[esp+14h] mov dword ptr [eax],00000000h L00495C2E: mov ecx,[esp+14h] mov eax,[esp+30h] add esi,00000002h add ecx,00000004h dec eax mov [esp+24h],esi mov [esp+14h],ecx mov [esp+30h],eax jnz L00495B20 L00495C4F: mov ebx,[esp+2Ch] cmp word ptr [ebx],0000h jnz L00495CBA push 000002BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+00000448h],00000000h jz L00495C9A mov edx,[esp+20h] lea ecx,[esp+40h] push ecx mov ecx,[esp+2Ch] push ebx push edi push edx mov edx,[esp+28h] push ecx push edx mov ecx,eax call SUB_L004B2730 mov esi,eax jmp L00495C9C L00495C9A: xor esi,esi L00495C9C: push 00000001h push 00000000h mov ecx,esi mov dword ptr [esp+00000450h],FFFFFFFFh call SUB_L004587A0 mov [L00B294B8],esi jmp L00495D1A L00495CBA: push 0000054Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+00000448h],00000001h jz L00495D02 mov edx,[esp+10h] lea ecx,[esp+40h] push ecx mov ecx,[esp+24h] push edx mov edx,[esp+30h] push ebx push edi push ecx mov ecx,[esp+2Ch] push edx push ecx push 00000000h push 00000000h mov ecx,eax call SUB_L004B1B60 jmp L00495D04 L00495D02: xor eax,eax L00495D04: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+00000450h],FFFFFFFFh call SUB_L004587A0 L00495D1A: mov edx,[esp+18h] push edx call SUB_L004D4F9E push ebx call SUB_L004D4F9E mov eax,[esp+18h] push eax call SUB_L004D4F9E add esp,0000000Ch test edi,edi jle L00495D54 lea esi,[esp+40h] L00495D3F: mov eax,[esi] test eax,eax jz L00495D4E push eax call SUB_L004D4F9E add esp,00000004h L00495D4E: add esi,00000004h dec edi jnz L00495D3F L00495D54: mov ecx,[esp+00000440h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000043Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L00495D70: mov eax,fs:[00000000h] push FFFFFFFFh push L004E51BB push eax mov fs:[00000000h],esp push ebx push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 push 000000E8h mov esi,eax call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L00495E2E push esi push ebx push edi mov ecx,eax call SUB_L0046A020 jmp L00495E30 L00495E2E: xor eax,eax L00495E30: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00495E60: push ebx push ebp mov ebp,[esp+0Ch] push esi push edi mov edi,ecx xor eax,eax xor ecx,ecx mov ax,[edi+02h] mov cx,[ebp+02h] shr eax,08h shr ecx,08h cmp eax,ecx mov [esp+14h],eax jl L00495E88 mov [esp+14h],ecx L00495E88: mov dl,[edi+01h] mov bl,[ebp+01h] cmp dl,bl jnz L00495FDE fild dword ptr [esp+14h] sub eax,ecx cdq fmul qword ptr [L004EF468] mov esi,eax xor esi,edx sub esi,edx call SUB_L004D5008 cmp esi,eax jg L00495FDE mov ax,[edi+00000086h] cmp ax,[ebp+00000086h] jnz L00495FDE mov cx,[edi+00000088h] cmp cx,[ebp+00000088h] jnz L00495FDE mov edx,[edi+0000008Ch] mov eax,[ebp+0000008Ch] cmp edx,eax jnz L00495FDE lea esi,[ebp+05h] lea eax,[edi+05h] L00495EF8: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00495F20 test cl,cl jz L00495F1C mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00495F20 add eax,00000002h add esi,00000002h test cl,cl jnz L00495EF8 L00495F1C: xor eax,eax jmp L00495F25 L00495F20: sbb eax,eax sbb eax,FFFFFFFFh L00495F25: test eax,eax jnz L00495FDE lea esi,[ebp+25h] lea eax,[edi+25h] L00495F33: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00495F5B test cl,cl jz L00495F57 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00495F5B add eax,00000002h add esi,00000002h test cl,cl jnz L00495F33 L00495F57: xor eax,eax jmp L00495F60 L00495F5B: sbb eax,eax sbb eax,FFFFFFFFh L00495F60: test eax,eax jnz L00495FDE lea esi,[ebp+45h] lea eax,[edi+45h] L00495F6A: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00495F92 test cl,cl jz L00495F8E mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00495F92 add eax,00000002h add esi,00000002h test cl,cl jnz L00495F6A L00495F8E: xor eax,eax jmp L00495F97 L00495F92: sbb eax,eax sbb eax,FFFFFFFFh L00495F97: test eax,eax jnz L00495FDE lea esi,[ebp+65h] lea eax,[edi+65h] L00495FA1: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L00495FC9 test cl,cl jz L00495FC5 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L00495FC9 add eax,00000002h add esi,00000002h test cl,cl jnz L00495FA1 L00495FC5: xor eax,eax jmp L00495FCE L00495FC9: sbb eax,eax sbb eax,FFFFFFFFh L00495FCE: test eax,eax jnz L00495FDE pop edi pop esi pop ebp mov eax,00000001h pop ebx retn 0004h ;------------------------------------------------------------------------------ L00495FDE: pop edi pop esi pop ebp xor eax,eax pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L00495FF0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E51FA push eax mov eax,[L00C8C4D0] mov fs:[00000000h],esp sub esp,00000430h push ebx push ebp xor ebp,ebp push esi cmp eax,ebp push edi jnz L00496076 lea eax,[esp+000000CCh] push eax call SUB_L0049C750 lea ecx,[esp+000001B8h] push ecx call SUB_L0045D980 add esp,00000008h cmp eax,ebp jz L00496053 lea edx,[esp+000000CCh] lea ecx,[esp+000001B4h] push edx call SUB_L00495E60 test eax,eax jnz L00496076 L00496053: mov ecx,[L00C88300] lea eax,[esp+000000CCh] push eax call SUB_L004BC750 lea ecx,[esp+000000CCh] push ecx call SUB_L0045DBA0 add esp,00000004h L00496076: or ecx,FFFFFFFFh mov edi,L00C85FF0 xor eax,eax lea edx,[esp+0000024Ch] repne scasb not ecx sub edi,ecx mov [esp+28h],ebp mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+0000024Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FE9F8 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,[esp+0000024Ch] and ecx,00000003h rep movsb mov edi,L00C86010 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,[L00C8C4D0] mov ecx,ebx and ecx,00000003h cmp eax,ebp rep movsb jz L0049619F or ecx,FFFFFFFFh mov edi,L0050D99C xor eax,eax lea edx,[esp+0000024Ch] 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,[esp+0000024Ch] and ecx,00000003h rep movsb mov edi,L00705058 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,[esp+0000024Ch] and ecx,00000003h rep movsb mov edi,L0050D998 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 L0049619F: lea eax,[esp+0000024Ch] push eax call SUB_L004CE570 mov eax,[L00C8830C] add esp,00000004h cmp eax,ebp jnz L004961C2 mov ecx,[L00C8C4D0] cmp ecx,ebp jz L004961FE L004961C2: push 000000D4h call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,ebp mov [esp+00000448h],ebp jz L004961E7 mov ecx,eax call SUB_L00470790 jmp L004961E9 L004961E7: xor eax,eax L004961E9: mov ecx,[L00C8C4D0] mov dword ptr [esp+00000448h],FFFFFFFFh mov [esp+28h],eax L004961FE: mov ebx,[esp+00000450h] xor edx,edx mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov al,[eax+ebx] mov [esp+18h],al mov eax,[L00C8830C] cmp eax,ebp jnz L00496235 cmp ecx,ebp jz L00496245 L00496235: mov edx,[esp+18h] and edx,000000FFh mov [L00C86194],edx L00496245: xor eax,eax xor esi,esi mov al,[ebx] mov ebp,00000002h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh cmp ecx,esi mov dl,[eax+ebx+01h] mov [esp+20h],dl jnz L004962AC mov eax,[esp+20h] lea ecx,[esp+0000024Ch] and eax,000000FFh push eax push L004FF074 push ecx call SUB_L004D512F mov dl,[esp+2Ch] lea eax,[esp+00000258h] push eax push 00000025h mov [L00C8619C],dl call SUB_L00436F10 add esp,00000014h L004962AC: mov [esp+14h],esi mov [esp+1Ch],esi L004962B4: xor ecx,ecx push 0000001Eh mov cl,[ebx] lea edx,[esp+50h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Eh add eax,ebx push eax push edx call SUB_L004D52C0 xor eax,eax push 0000001Eh mov al,[ebx] lea ecx,[esp+7Ch] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Eh add eax,ebx push eax push ecx call SUB_L004D52C0 mov eax,[L00C8830C] add esp,00000018h test eax,eax mov byte ptr [esp+69h],00h mov byte ptr [esp+00000089h],00h jnz L0049633A mov eax,[L00C8C4D0] test eax,eax jz L004963BA L0049633A: lea edi,[esp+4Ch] or ecx,FFFFFFFFh xor eax,eax mov edx,[esp+1Ch] repne scasb not ecx lea esi,[edx+L00C860FC] sub edi,ecx mov eax,ecx mov [esp+18h],esi mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h lea edx,[edx+L00C86064] rep movsb lea edi,[esp+6Ch] 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,[esp+4Ch] or ecx,FFFFFFFFh repne scasb not ecx dec ecx jz L004963BA mov ecx,[esp+14h] lea edx,[esp+6Ch] push ecx mov ecx,[esp+2Ch] lea eax,[esp+50h] push edx push eax call SUB_L004712E0 L004963BA: mov eax,[esp+1Ch] mov esi,[esp+14h] add eax,0000001Eh inc esi cmp eax,00000096h mov [esp+14h],esi mov [esp+1Ch],eax jl L004962B4 xor ecx,ecx mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] mov ecx,[L00C8830C] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp test ecx,ecx mov al,[eax+ebx] mov [esp+13h],al jnz L004964BF mov ecx,[L00C8C4D0] test ecx,ecx jnz L004964BF test al,al jnz L004964D1 mov ecx,[L00B2905C] test ecx,ecx jz L0049643D mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00B2905C],00000000h L0049643D: mov eax,[L00B294A0] test eax,eax jz L00496D3E xor esi,esi push 000002B8h mov [eax+6Ch],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,esi mov dword ptr [esp+00000448h],00000001h jz L0049648D mov ecx,[L00B294A0] push esi push esi push 00000001h push esi push ecx push SSZ0050DE18_The_Ultima_Online_servers_are_cu push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L0049648F L0049648D: xor eax,eax L0049648F: push 00000001h push esi mov ecx,eax mov dword ptr [esp+00000450h],FFFFFFFFh mov [L00B2905C],eax call SUB_L004587A0 mov ecx,[L00C88300] mov [L00C88370],esi call SUB_L004BA660 jmp L00496D3E L004964BF: test al,al jz L004965FE mov ecx,[L00C8C4D0] test ecx,ecx jnz L0049651B L004964D1: movsx esi,[esp+13h] mov [L00C861C8],esi lea edi,[00000004h+esi*4] push edi call SUB_L004D4FA9 mov edx,eax mov ecx,edi mov [L00C861C4],edx mov edi,edx mov edx,ecx xor eax,eax shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb lea eax,[esi+esi+02h] push eax call SUB_L004D4FA9 mov [L00C861C0],eax mov al,[esp+1Bh] add esp,00000008h L0049651B: movsx eax,al test eax,eax mov dword ptr [esp+14h],00000000h mov [esp+20h],eax jle L004965FE L00496532: xor ecx,ecx mov cl,[ebx] mov cx,[L0050E6E4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebp inc ebp neg cx mov dl,[eax+ebx] mov eax,[L00C8C4D0] sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebp add ebp,00000010h add ecx,ebx test eax,eax mov esi,ecx jnz L004965E9 mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L004965E9 mov eax,[esp+14h] mov ecx,[L00C861C0] movsx dx,dl mov [ecx+eax*2],dx mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov byte ptr [esi+0Fh],00h repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,[L00C861C4] mov ecx,[esp+18h] mov edi,esi add esp,00000004h mov [edx+ecx*4],eax or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[L00C861C4] not ecx sub edi,ecx mov esi,edi mov edi,[esp+14h] mov edx,ecx mov edi,[eax+edi*4] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004965E9: mov eax,[esp+14h] mov ecx,[esp+20h] inc eax cmp eax,ecx mov [esp+14h],eax jl L00496532 L004965FE: xor ecx,ecx mov dword ptr [esp+1Ch],00000000h mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp mov al,[eax+ebx] test al,al mov [esp+13h],al jz L0049684A mov eax,[L00C8C4D0] xor ecx,ecx cmp eax,ecx jnz L00496680 movsx eax,[esp+13h] mov [L00C861A8],eax lea esi,[00000004h+eax*4] push esi call SUB_L004D4FA9 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [L00C861A4],edi push esi rep stosd mov ecx,edx and ecx,00000003h rep stosb call SUB_L004D4FA9 add esp,00000008h mov [L00C861A0],eax xor ecx,ecx L00496680: movsx eax,[esp+13h] cmp eax,ecx mov [esp+1Ch],ecx mov [esp+000000CCh],ecx mov [esp+14h],ecx mov [esp+20h],eax jle L0049684A lea eax,[esp+000000CCh] mov [esp+18h],eax L004966AB: xor ecx,ecx push 0000001Fh mov cl,[ebx] mov cx,[L0050E6E4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebp inc ebp neg cx sbb ecx,ecx mov dl,[eax+ebx] and ecx,00000002h lea eax,[esp+30h] inc ecx mov [esp+2Bh],dl and ecx,0000FFFFh add ecx,ebp add ebp,0000001Fh add ecx,ebx push ecx push eax call SUB_L004D52C0 xor ecx,ecx push 0000001Fh mov cl,[ebx] lea edx,[esp+0000009Ch] mov byte ptr [esp+5Ah],00h mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Fh add eax,ebx push eax push edx call SUB_L004D52C0 mov eax,[L00C8C4D0] add esp,00000018h test eax,eax mov byte ptr [esp+000000AAh],00h jnz L004967B7 lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx jz L004967B7 lea edi,[esp+0000008Ch] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea edi,[esp+2Ch] mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+03h] push eax call SUB_L004D4FA9 movsx esi,[esp+2Bh] mov ecx,[L00C861A4] lea edx,[esp+00000090h] push edx mov [ecx+esi*4],eax mov ecx,[L00C861A4] lea eax,[esp+34h] mov edx,[ecx+esi*4] push eax push SSZ0050D974__s___s push edx call SUB_L004D512F mov eax,[L00C861A0] add esp,00000014h mov [eax+esi*4],esi L004967B7: mov ecx,[esp+14h] test ecx,ecx jle L0049680D lea edi,[esp+000000ACh] lea esi,[esp+2Ch] L004967CA: mov dl,[esi] mov al,dl cmp dl,[edi] jnz L004967EE test al,al jz L004967EA mov dl,[esi+01h] mov al,dl cmp dl,[edi+01h] jnz L004967EE add esi,00000002h add edi,00000002h test al,al jnz L004967CA L004967EA: xor eax,eax jmp L004967F3 L004967EE: sbb eax,eax sbb eax,FFFFFFFFh L004967F3: test eax,eax jz L0049680D mov esi,[esp+1Ch] mov eax,[esp+18h] inc esi add eax,00000004h mov [esp+1Ch],esi mov [esp+18h],eax mov [eax],ecx L0049680D: lea edi,[esp+2Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+000000ACh] 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+14h] and ecx,00000003h inc eax rep movsb mov ecx,[esp+20h] mov [esp+14h],eax cmp eax,ecx jl L004966AB L0049684A: mov eax,[L00C8C4D0] test eax,eax jnz L004969FA mov al,[esp+13h] test al,al jz L004969FA movsx ebp,al lea esi,[00000004h+ebp*4] push esi call SUB_L004D4FA9 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [esp+18h],edi add esp,00000004h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov edi,[esp+1Ch] mov eax,00000000h inc edi mov [esp+edi*4+000000CCh],ebp js L004968B2 lea ecx,[esp+00000164h] L004968A8: mov [ecx],eax inc eax add ecx,00000004h cmp eax,edi jle L004968A8 L004968B2: test edi,edi jle L004968FE mov esi,edi lea ebp,[esp+000001B4h] lea ebx,[esp+edi*4+00000160h] mov [esp+18h],edi L004968CA: push esi call SUB_L0047BBB0 mov edx,[esp+eax*4+00000168h] lea ecx,[esp+eax*4+00000168h] add esp,00000004h dec esi cmp eax,esi mov [ebp+00h],edx jge L004968ED mov eax,[ebx] mov [ecx],eax L004968ED: mov eax,[esp+18h] add ebp,00000004h sub ebx,00000004h dec eax mov [esp+18h],eax jnz L004968CA L004968FE: xor ebp,ebp mov [esp+edi*4+000001B4h],edi test edi,edi jle L004969C0 lea ecx,[esp+000001B4h] mov [esp+18h],edi mov [esp+20h],ecx L0049691E: mov edx,[esp+20h] movsx ecx,[esp+13h] mov eax,[edx] shl eax,02h mov ebx,[esp+eax+000000CCh] cmp ebx,ecx jge L004969A6 mov eax,[esp+eax+000000D0h] mov [esp+1Ch],eax L00496942: cmp ebx,[esp+1Ch] jge L004969A6 mov ecx,[L00C861A4] xor eax,eax mov edi,[ecx+ebx*4] or ecx,FFFFFFFFh repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov eax,[esp+18h] add esp,00000004h mov [eax+ebp*4],edx mov ecx,[L00C861A4] xor eax,eax mov edi,[ecx+ebx*4] 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 movsx eax,[esp+13h] and ecx,00000003h rep movsb mov ecx,[L00C861A0] mov [ecx+ebp*4],ebx inc ebx inc ebp cmp ebx,eax jl L00496942 L004969A6: mov ecx,[esp+20h] mov eax,[esp+18h] add ecx,00000004h dec eax mov [esp+20h],ecx mov [esp+18h],eax jnz L0049691E L004969C0: movsx edi,[esp+13h] xor esi,esi test edi,edi jle L004969E2 L004969CB: mov edx,[L00C861A4] mov eax,[edx+esi*4] push eax call SUB_L004D4F9E add esp,00000004h inc esi cmp esi,edi jl L004969CB L004969E2: mov eax,[L00C861A4] push eax call SUB_L004D4F9E mov ecx,[esp+18h] add esp,00000004h mov [L00C861A4],ecx L004969FA: mov ecx,[L00B2905C] test ecx,ecx jz L00496A14 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00B2905C],00000000h L00496A14: mov ecx,[L00B294A4] test ecx,ecx jz L00496A2E mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00B294A4],00000000h L00496A2E: mov eax,[L00B294A0] test eax,eax jz L00496A3E mov dword ptr [eax+6Ch],00000000h L00496A3E: mov eax,[L00C8830C] test eax,eax jnz L00496D02 mov eax,[L00C8C4D0] test eax,eax jnz L00496D02 mov eax,[L00C861B4] test eax,eax jz L00496A6A push eax call SUB_L004D4F9E add esp,00000004h L00496A6A: mov ecx,[L00C861C8] inc ecx push ecx call SUB_L004D4FA9 mov edx,[L00C861C8] mov [L00C861B4],eax push edx call SUB_L004D4FA9 mov ecx,[L00C861C8] mov ebp,eax add esp,00000008h xor eax,eax test ecx,ecx jle L00496AA7 L00496A99: mov [eax+ebp],al mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L00496A99 L00496AA7: mov eax,[L00C861C4] or ecx,FFFFFFFFh mov edx,[eax] xor eax,eax mov edi,edx repne scasb not ecx dec ecx cmp byte ptr [ecx+edx-01h],30h jl L00496BF5 mov edi,edx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx cmp byte ptr [ecx+edx-01h],39h jg L00496BF5 mov eax,[L00C861C8] xor ebx,ebx test eax,eax jle L00496B7B L00496AEB: mov ecx,[L00C861C4] xor eax,eax mov edx,[ecx+ebx*4] or ecx,FFFFFFFFh mov edi,edx repne scasb not ecx add ecx,FFFFFFFEh cmp byte ptr [edx+ecx],20h jz L00496B11 L00496B08: mov al,[edx+ecx-01h] dec ecx cmp al,20h jnz L00496B08 L00496B11: lea eax,[edx+ecx+01h] mov byte ptr [edx+ecx],00h push eax call SUB_L004D59EB mov esi,[L00BE953C] mov ecx,eax sub eax,esi mov edi,0000000Ch cdq xor eax,edx sub edi,ecx sub eax,edx lea edx,[ecx+0Ch] add esp,00000004h and eax,000000FFh cmp edi,edx jge L00496B4D sub esi,ecx add esi,00000018h mov edx,esi jmp L00496B56 L00496B4D: mov ecx,0000000Ch sub ecx,esi add edx,ecx L00496B56: cmp eax,edx jge L00496B65 mov edx,[L00C861B4] mov [edx+ebx],al jmp L00496B6D L00496B65: mov eax,[L00C861B4] mov [eax+ebx],dl L00496B6D: mov eax,[L00C861C8] inc ebx cmp ebx,eax jl L00496AEB L00496B7B: mov ecx,[L00C861C8] xor edi,edi dec ecx test ecx,ecx jle L00496BF5 mov edx,[L00C861B4] L00496B8E: mov ecx,[L00C861C8] or eax,FFFFFFFFh cmp edi,ecx mov esi,edi jge L00496BCD L00496B9D: mov ebx,[L00C861B8] xor ecx,ecx mov cl,[esi+ebp] cmp byte ptr [ecx+ebx],32h jz L00496BC2 cmp eax,FFFFFFFFh jz L00496BC0 mov cl,[ecx+edx] xor ebx,ebx mov bl,[eax+ebp] cmp cl,[ebx+edx] jnc L00496BC2 L00496BC0: mov eax,esi L00496BC2: mov ecx,[L00C861C8] inc esi cmp esi,ecx jl L00496B9D L00496BCD: cmp eax,edi jz L00496BEA cmp eax,FFFFFFFFh jz L00496BEA mov dl,[eax+ebp] xor ecx,ecx mov cl,[edi+ebp] mov [edi+ebp],dl mov [eax+ebp],cl mov edx,[L00C861B4] L00496BEA: mov eax,[L00C861C8] inc edi dec eax cmp edi,eax jl L00496B8E L00496BF5: push 0000616Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+00000448h],00000002h jz L00496C3A mov ecx,[L00B2949C] push 00000000h push 00000000h push 00000000h push 00000064h push 00000064h push 00000064h push 00000064h push 00000DACh push ecx mov ecx,eax call SUB_L00427B50 mov ebx,eax jmp L00496C3C L00496C3A: xor ebx,ebx L00496C3C: or ecx,FFFFFFFFh mov edi,SSZ0050DDD8_Sorted_by_time_zone___Best_servi xor eax,eax mov [esp+00000448h],ecx repne scasb not ecx sub edi,ecx lea edx,[ebx+000060F8h] 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+000000C4h],000000CDh mov eax,[L00C861C8] xor edi,edi test eax,eax jle L00496CDF L00496C80: mov edx,[L00C861C4] xor ecx,ecx mov cl,[edi+ebp] mov edx,[edx+ecx*4] test edx,edx jz L00496CBB mov esi,[L00C861C0] mov al,[esi+ecx*2] test al,al jge L00496CAF neg al push 000003E3h and eax,000000FFh push edx push eax jmp L00496CCE L00496CAF: xor eax,eax push 00000000h mov ax,[esi+ecx*2] push edx push eax jmp L00496CCE L00496CBB: mov eax,[L00C861C0] xor edx,edx push 00000000h push SSZ0050DDC8_Unknown_Server mov dx,[eax+ecx*2] push edx L00496CCE: mov ecx,ebx call SUB_L00428640 mov eax,[L00C861C8] inc edi cmp edi,eax jl L00496C80 L00496CDF: push ebp call SUB_L004D4F9E add esp,00000004h mov ecx,ebx call SUB_L004286B0 push 00000001h push 00000000h mov ecx,ebx call SUB_L004587A0 mov [L00B294B8],ebx jmp L00496D26 L00496D02: mov ecx,[esp+28h] mov eax,[ecx+0000009Ch] test eax,eax jle L00496D21 push 00000001h push 00000000h mov [L00B294A4],ecx call SUB_L004587A0 jmp L00496D26 L00496D21: call SUB_L0041F7B0 L00496D26: mov eax,[L007050E8] test eax,eax jz L00496D3E mov ecx,[L00B294A4] test ecx,ecx jz L00496D3E mov edx,[ecx] call [edx+54h] L00496D3E: mov ecx,[esp+00000440h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000043Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00496D60: mov eax,fs:[00000000h] push FFFFFFFFh push L004E522C push eax mov fs:[00000000h],esp sub esp,00000338h lea eax,[esp+14h] push eax call SUB_L0049C750 lea ecx,[esp+000002A4h] push ecx call SUB_L0045D980 add esp,00000008h test eax,eax jz L00496DAE lea edx,[esp+14h] lea ecx,[esp+000002A0h] push edx call SUB_L00495E60 test eax,eax jnz L00496DCB L00496DAE: mov ecx,[L00C88300] lea eax,[esp+14h] push eax call SUB_L004BC750 lea ecx,[esp+14h] push ecx call SUB_L0045DBA0 add esp,00000004h L00496DCB: push ebx push ebp push esi push edi or ecx,FFFFFFFFh mov edi,L00C85FF0 xor eax,eax lea edx,[esp+000000BCh] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+000000BCh] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FE9F8 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,[esp+000000BCh] and ecx,00000003h rep movsb mov edi,L00C86010 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,[L00C8C4D0] mov ecx,ebx and ecx,00000003h test eax,eax rep movsb jz L00496EF4 or ecx,FFFFFFFFh mov edi,L0050D99C xor eax,eax lea edx,[esp+000000BCh] 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,[esp+000000BCh] and ecx,00000003h rep movsb mov edi,L00705058 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,[esp+000000BCh] and ecx,00000003h rep movsb mov edi,L0050D998 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 L00496EF4: lea eax,[esp+000000BCh] push eax call SUB_L004CE570 mov ebx,[esp+0000035Ch] xor ecx,ecx mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] lea ecx,[esp+000000C0h] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ebx] mov [esp+18h],dl mov eax,[esp+18h] and eax,000000FFh push eax push L004FF074 push ecx call SUB_L004D512F mov dl,[esp+24h] lea eax,[esp+000000CCh] push eax push 00000025h mov [L00C8619C],dl call SUB_L00436F10 xor ecx,ecx add esp,00000018h mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ebx+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 test al,al mov ebp,00000003h jnz L0049702B mov ecx,[L00B2905C] xor esi,esi cmp ecx,esi jz L00496FAF mov edx,[ecx] push 00000001h call [edx] mov [L00B2905C],esi L00496FAF: mov eax,[L00B294A0] cmp eax,esi jz L004974F7 push 000002B8h mov [eax+6Ch],esi call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,esi mov [esp+00000350h],esi jz L00496FF9 mov ecx,[L00B294A0] push esi push esi push 00000001h push esi push ecx push SSZ0050DE18_The_Ultima_Online_servers_are_cu push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L00496FFB L00496FF9: xor eax,eax L00496FFB: push 00000001h push esi mov ecx,eax mov dword ptr [esp+00000358h],FFFFFFFFh mov [L00B2905C],eax call SUB_L004587A0 mov ecx,[L00C88300] mov [L00C88370],esi call SUB_L004BA660 jmp L004974F7 L0049702B: movsx esi,al mov eax,[L00C861C4] mov [esp+20h],esi test eax,eax mov [L00C861C8],esi jz L0049704A push eax call SUB_L004D4F9E add esp,00000004h L0049704A: inc esi lea edi,[00000000h+esi*4] push edi mov [esp+1Ch],edi call SUB_L004D4FA9 mov edx,eax mov ecx,edi mov [L00C861C4],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,[L00C861C0] test eax,eax jz L0049708D push eax call SUB_L004D4F9E add esp,00000004h L0049708D: lea edi,[esi+esi] push edi call SUB_L004D4FA9 mov [L00C861C0],eax mov eax,[L00C861BC] add esp,00000004h test eax,eax jz L004970B0 push eax call SUB_L004D4F9E add esp,00000004h L004970B0: push esi call SUB_L004D4FA9 mov [L00C861BC],eax mov eax,[L00C861B8] add esp,00000004h test eax,eax jz L004970D0 push eax call SUB_L004D4F9E add esp,00000004h L004970D0: push esi call SUB_L004D4FA9 mov [L00C861B8],eax mov eax,[L00C861B4] add esp,00000004h test eax,eax jz L004970F0 push eax call SUB_L004D4F9E add esp,00000004h L004970F0: push esi call SUB_L004D4FA9 mov [L00C861B4],eax mov eax,[L00C861B0] add esp,00000004h test eax,eax jz L00497110 push eax call SUB_L004D4F9E add esp,00000004h L00497110: push edi call SUB_L004D4FA9 mov [L00C861B0],eax mov eax,[L00C861AC] add esp,00000004h test eax,eax jz L00497130 push eax call SUB_L004D4F9E add esp,00000004h L00497130: mov eax,[esp+18h] push eax call SUB_L004D4FA9 mov [L00C861AC],eax mov eax,[esp+24h] add esp,00000004h xor esi,esi test eax,eax mov [esp+14h],esi jle L004972BE L00497154: xor ecx,ecx mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov [esp+1Ch],eax mov dl,[ebx] add ebp,00000002h mov ax,[L0050E6E4+edx*8] and ax,8000h mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebp add ebp,00000020h add ecx,ebx mov edi,ecx mov cx,ax neg cx sbb ecx,ecx mov [esp+18h],edi and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebp inc ebp mov cl,[ecx+ebx] mov [esp+12h],cl mov cx,ax neg cx sbb ecx,ecx and ecx,00000002h inc ecx and ecx,0000FFFFh add ecx,ebp inc ebp neg ax sbb eax,eax mov dl,[ecx+ebx] and eax,00000002h mov [esp+13h],dl inc eax and eax,0000FFFFh add eax,ebp mov eax,[eax+ebx] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov edx,eax or ecx,FFFFFFFFh xor eax,eax add ebp,00000004h repne scasb not ecx dec ecx jz L004972AD mov eax,[L00C861C0] mov cx,[esp+1Ch] mov edi,[esp+18h] mov [eax+esi*2],cx mov eax,[L00C861BC] mov cl,[esp+12h] mov [eax+esi],cl mov eax,[L00C861B8] mov cl,[esp+13h] mov [eax+esi],cl mov eax,[L00C861B4] mov byte ptr [eax+esi],00h mov ecx,[L00C861B0] mov word ptr [ecx+esi*2],0000h mov eax,[L00C861AC] 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_L004D4FA9 mov ecx,[L00C861C4] mov edi,[esp+1Ch] add esp,00000004h mov [ecx+esi*4],eax or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[L00C861C4] not ecx sub edi,ecx mov esi,edi mov edi,[esp+14h] mov edx,ecx mov edi,[eax+edi*4] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,[esp+14h] L004972AD: mov eax,[esp+20h] inc esi cmp esi,eax mov [esp+14h],esi jl L00497154 L004972BE: mov ecx,[L00B2905C] xor ebx,ebx cmp ecx,ebx jz L004972D6 mov edx,[ecx] push 00000001h call [edx] mov [L00B2905C],ebx L004972D6: mov ecx,[L00B294A4] cmp ecx,ebx jz L004972EC mov eax,[ecx] push 00000001h call [eax] mov [L00B294A4],ebx L004972EC: mov eax,[L00B294A0] cmp eax,ebx jz L004972F8 mov [eax+6Ch],ebx L004972F8: mov ecx,[L00C861C8] push ecx call SUB_L004D4FA9 mov ecx,[L00C861C8] mov ebp,eax add esp,00000004h xor eax,eax cmp ecx,ebx jle L00497323 L00497315: mov [eax+ebp],al mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L00497315 L00497323: cmp [L00C861C8],ebx jle L0049738A L0049732B: mov edx,[L00C861B8] mov esi,[L00BE953C] mov edi,0000000Ch movsx ecx,[edx+ebx] mov eax,ecx sub edi,ecx sub eax,esi cdq xor eax,edx sub eax,edx lea edx,[ecx+0Ch] and eax,000000FFh cmp edi,edx jge L00497360 sub esi,ecx add esi,00000018h mov edx,esi jmp L00497369 L00497360: mov ecx,0000000Ch sub ecx,esi add edx,ecx L00497369: cmp eax,edx jge L00497378 mov edx,[L00C861B4] mov [edx+ebx],al jmp L00497380 L00497378: mov eax,[L00C861B4] mov [eax+ebx],dl L00497380: mov eax,[L00C861C8] inc ebx cmp ebx,eax jl L0049732B L0049738A: mov ecx,[L00C861C8] xor edi,edi lea edx,[ecx-01h] test edx,edx jle L00497403 mov edx,[L00C861B4] L0049739F: or eax,FFFFFFFFh cmp edi,ecx mov esi,edi jge L004973D8 L004973A8: mov ebx,[L00C861B8] xor ecx,ecx mov cl,[esi+ebp] cmp byte ptr [ecx+ebx],32h jz L004973CD cmp eax,FFFFFFFFh jz L004973CB mov cl,[ecx+edx] xor ebx,ebx mov bl,[eax+ebp] cmp cl,[ebx+edx] jnc L004973CD L004973CB: mov eax,esi L004973CD: mov ecx,[L00C861C8] inc esi cmp esi,ecx jl L004973A8 L004973D8: cmp eax,edi jz L004973F5 cmp eax,FFFFFFFFh jz L004973F5 mov dl,[eax+ebp] xor ecx,ecx mov cl,[edi+ebp] mov [edi+ebp],dl mov [eax+ebp],cl mov edx,[L00C861B4] L004973F5: mov ecx,[L00C861C8] inc edi lea eax,[ecx-01h] cmp edi,eax jl L0049739F L00497403: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+00000350h],00000001h jz L0049742C mov ecx,eax call SUB_L004AE130 jmp L0049742E L0049742C: xor eax,eax L0049742E: mov ecx,eax mov dword ptr [esp+00000350h],FFFFFFFFh mov [L00B29484],eax call SUB_L004AE7A0 mov esi,eax mov eax,[L00C861C8] xor ebx,ebx test eax,eax jle L004974B1 L00497452: mov edx,[L00C861C4] xor ecx,ecx mov cl,[ebx+ebp] mov edx,[edx+ecx*4] test edx,edx jz L0049748D mov edi,[L00C861C0] mov al,[edi+ecx*2] test al,al jge L00497481 neg al push 000003E3h and eax,000000FFh push edx push eax jmp L004974A0 L00497481: xor eax,eax push 00000000h mov ax,[edi+ecx*2] push edx push eax jmp L004974A0 L0049748D: mov eax,[L00C861C0] xor edx,edx push 00000000h push SSZ0050DDC8_Unknown_Server mov dx,[eax+ecx*2] push edx L004974A0: mov ecx,esi call SUB_L00428640 mov eax,[L00C861C8] inc ebx cmp ebx,eax jl L00497452 L004974B1: push ebp call SUB_L004D4F9E add esp,00000004h mov ecx,esi call SUB_L004286B0 mov ecx,[L00B29484] push 00000001h push 00000000h call SUB_L004587A0 mov ecx,[L00B29484] push ecx call SUB_L00430400 mov eax,[L007050E8] add esp,00000004h test eax,eax jz L004974F7 mov ecx,[L00B294A4] test ecx,ecx jz L004974F7 mov edx,[ecx] call [edx+54h] L004974F7: mov ecx,[esp+00000348h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000344h retn ;------------------------------------------------------------------------------ SUB_L00497510: mov eax,fs:[00000000h] push FFFFFFFFh push L004E524E push eax mov fs:[00000000h],esp sub esp,000002FCh or ecx,FFFFFFFFh xor eax,eax push ebx push ebp push esi push edi mov edi,L00C85FF0 lea edx,[esp+000000C4h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+000000C4h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FE9F8 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,[esp+000000C4h] and ecx,00000003h rep movsb mov edi,L00C86010 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,[L00C8C4D0] mov ecx,ebx and ecx,00000003h test eax,eax rep movsb jz L00497654 or ecx,FFFFFFFFh mov edi,L0050D99C xor eax,eax lea edx,[esp+000000C4h] 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,[esp+000000C4h] and ecx,00000003h rep movsb mov edi,L00705058 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,[esp+000000C4h] and ecx,00000003h rep movsb mov edi,L0050D998 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 L00497654: lea eax,[esp+000000C4h] push eax call SUB_L004CE570 mov ebx,[esp+00000320h] xor ecx,ecx push 000000D4h mov ebp,00000001h mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov dl,[eax+ebx] mov [esp+24h],dl mov eax,[esp+24h] and eax,000000FFh mov [L00C86194],eax call SUB_L004D4FA9 add esp,00000008h mov [esp+1Ch],eax xor esi,esi cmp eax,esi mov [esp+00000314h],esi jz L004976C9 mov ecx,eax call SUB_L00470790 mov [esp+20h],eax jmp L004976CD L004976C9: mov [esp+20h],esi L004976CD: mov ecx,[esp+20h] mov dword ptr [esp+00000314h],FFFFFFFFh mov [L00B294A4],ecx mov [esp+10h],esi mov [esp+14h],esi L004976EA: xor edx,edx push 0000001Eh mov dl,[ebx] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Eh add eax,ebx push eax lea eax,[esp+4Ch] push eax call SUB_L004D52C0 xor ecx,ecx push 0000001Eh mov cl,[ebx] lea edx,[esp+74h] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Eh add eax,ebx push eax push edx call SUB_L004D52C0 mov eax,[esp+2Ch] lea edi,[esp+5Ch] or ecx,FFFFFFFFh add esp,00000018h lea edx,[eax+L00C860FC] xor eax,eax mov byte ptr [esp+61h],00h mov byte ptr [esp+00000081h],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 mov ecx,[esp+14h] lea edi,[esp+64h] lea edx,[ecx+L00C86064] 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,[esp+44h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx jz L004977D8 mov ecx,[esp+10h] lea edx,[esp+64h] push ecx mov ecx,[esp+24h] lea eax,[esp+48h] push edx push eax call SUB_L004712E0 L004977D8: mov eax,[esp+14h] mov esi,[esp+10h] add eax,0000001Eh inc esi cmp eax,00000096h mov [esp+10h],esi mov [esp+14h],eax jl L004976EA xor ecx,ecx mov cl,[ebx] mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp inc ebp mov al,[eax+ebx] test al,al mov [esp+1Ch],al jz L00497A21 mov eax,[esp+1Ch] and eax,000000FFh mov [esp+1Ch],eax mov [L00C861A8],eax lea esi,[00000004h+eax*4] push esi call SUB_L004D4FA9 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [L00C861A4],edi push esi rep stosd mov ecx,edx and ecx,00000003h rep stosb call SUB_L004D4FA9 mov [L00C861A0],eax mov eax,[esp+24h] add esp,00000008h xor esi,esi test eax,eax mov [esp+10h],esi jle L00497A21 lea eax,[esp+000002B8h] mov [esp+14h],eax jmp L0049788F L0049788B: mov esi,[esp+10h] L0049788F: xor ecx,ecx push 0000001Fh mov cl,[ebx] mov cx,[L0050E6E4+ecx*8] and cx,8000h mov ax,cx neg ax sbb eax,eax and eax,00000002h inc eax and eax,0000FFFFh add eax,ebp inc ebp neg cx sbb ecx,ecx mov dl,[eax+ebx] and ecx,00000002h lea eax,[esp+28h] inc ecx mov [esp+1Fh],dl and ecx,0000FFFFh add ecx,ebp add ebp,0000001Fh add ecx,ebx push ecx push eax call SUB_L004D52C0 xor ecx,ecx push 0000001Fh mov cl,[ebx] lea edx,[esp+00000094h] mov byte ptr [esp+52h],00h mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp add ebp,0000001Fh add eax,ebx push eax push edx call SUB_L004D52C0 lea edi,[esp+3Ch] or ecx,FFFFFFFFh xor eax,eax add esp,00000018h repne scasb not ecx dec ecx mov byte ptr [esp+000000A2h],00h jz L00497993 lea edi,[esp+00000084h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea edi,[esp+24h] mov edx,ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[edx+ecx+03h] push eax call SUB_L004D4FA9 mov ecx,[L00C861A4] lea edx,[esp+00000088h] push edx mov [ecx+esi*4],eax mov ecx,[L00C861A4] lea eax,[esp+2Ch] mov edx,[ecx+esi*4] push eax push SSZ0050D974__s___s push edx call SUB_L004D512F movsx eax,[esp+2Fh] mov ecx,[L00C861A0] add esp,00000014h mov [ecx+esi*4],eax L00497993: test esi,esi jle L004979E4 lea esi,[esp+000000A4h] lea edi,[esp+24h] L004979A2: mov dl,[edi] mov cl,[esi] mov al,dl cmp dl,cl jnz L004979CA test al,al jz L004979C6 mov cl,[edi+01h] mov dl,[esi+01h] mov al,cl cmp cl,dl jnz L004979CA add edi,00000002h add esi,00000002h test al,al jnz L004979A2 L004979C6: xor eax,eax jmp L004979CF L004979CA: sbb eax,eax sbb eax,FFFFFFFFh L004979CF: test eax,eax jz L004979E4 mov eax,[esp+14h] mov edx,[esp+10h] add eax,00000004h mov [esp+14h],eax mov [eax],edx L004979E4: lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 mov eax,[esp+10h] and ecx,00000003h inc eax rep movsb mov ecx,[esp+1Ch] mov [esp+10h],eax cmp eax,ecx jl L0049788B L00497A21: mov ecx,[L00B2905C] xor esi,esi cmp ecx,esi jz L00497A39 mov edx,[ecx] push 00000001h call [edx] mov [L00B2905C],esi L00497A39: mov eax,[L00B294A0] cmp eax,esi jz L00497A45 mov [eax+6Ch],esi L00497A45: mov ecx,[esp+20h] cmp [ecx+0000009Ch],esi jle L00497A61 push 00000001h push esi mov [L00B294A4],ecx call SUB_L004587A0 jmp L00497A66 L00497A61: call SUB_L0041F7B0 L00497A66: mov ecx,[esp+0000030Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000308h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00497A80: sub esp,00000100h push ebp push esi push edi mov ecx,0000003Fh xor eax,eax lea edi,[esp+0Dh] mov byte ptr [esp+0Ch],00h xor edx,edx rep stosd mov ecx,[esp+00000110h] xor ebp,ebp stosw stosb xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+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_00497C30_PROC0005 xor ecx,ecx mov cl,[eax+CASE_00497C48] jmp [CASE_PROCTABLE_00497C30+ecx*4] CASE_00497C30_PROC0000: mov edi,SSZ0050E064_This_account_doesn_t_exist__If_y or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+0Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov edi,SSZ0050DFC8_Either_the_Account_Name_or_Passw jmp L00497B99 CASE_00497C30_PROC0001: mov edi,SSZ0050DFA0_Someone_is_already_using_this_ac or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 and ecx,00000003h rep movsb jmp L00497BBB CASE_00497C30_PROC0002: mov edi,SSZ0050DF24_Your_account_has_been_blocked__P or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 and ecx,00000003h rep movsb jmp L00497BBB CASE_00497C30_PROC0003: mov edi,SSZ0050DECC_Your_account_credentials_are_inv or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+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 and ecx,00000003h rep movsb jmp L00497BBB CASE_00497C30_PROC0005: lea edx,[esp+0Ch] mov edi,SSZ0050DE6C_There_is_some_problem_communicat L00497B99: 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 CASE_00497C30_PROC0004: mov ebp,00000001h L00497BBB: mov ecx,[L00B2905C] test ecx,ecx jz L00497BD5 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00B2905C],00000000h L00497BD5: mov al,[esp+0Ch] test al,al jz L00497C0C mov eax,[L00B294A0] push 00000000h push ebp push 00000001h lea ecx,[esp+18h] push eax push ecx call SUB_L00455DD0 mov edx,[L00B294A0] add esp,00000014h pop edi pop esi mov dword ptr [edx+6Ch],00000001h pop ebp add esp,00000100h retn ;------------------------------------------------------------------------------ L00497C0C: mov eax,[L00B29484] pop edi pop esi pop ebp mov dword ptr [eax+6Ch],00000000h mov ecx,[L00B294A0] mov dword ptr [ecx+6Ch],00000001h add esp,00000100h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00497C30: dd CASE_00497C30_PROC0000 dd CASE_00497C30_PROC0001 dd CASE_00497C30_PROC0002 dd CASE_00497C30_PROC0003 dd CASE_00497C30_PROC0004 dd CASE_00497C30_PROC0005 CASE_00497C48: 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_L00497D50: push FFFFFFFFh push L004E5276 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,[esp+24h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx push eax mov cl,[esi] mov cx,[L0050E6E4+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 lea edi,[edx+esi+04h] and ecx,00000002h inc ecx and ecx,0000FFFFh mov dl,[ecx+esi+40h] mov [esp+2Ch],dl call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L00497EDF mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00497EDF mov ecx,[L00B294DC] push ecx push 00000000h push 00000001h push esi call SUB_L00455F70 mov ebx,eax add esp,00000010h test ebx,ebx jnz L00497EC8 mov ebx,[L00C884DC] lea edx,[esp+0Ch] cmp esi,ebx lea ecx,[esp+10h] setnz al add eax,0000000Ah push edx push ecx push eax call SUB_L004434A0 add esp,0000000Ch test edi,edi push 00000110h jz L00497E5C call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+20h],00000000h jz L00497EA1 mov edx,[esp+28h] push edx push edi jmp L00497E7E L00497E5C: call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+20h],00000001h jz L00497EA1 mov edx,[esp+28h] push edx push L007049FC L00497E7E: mov ecx,[esp+14h] mov edx,[esp+18h] push ecx mov ecx,[L005073D0] push edx push 00000001h push esi push 00000000h sub ecx,edx push 00000000h push ecx mov ecx,eax call SUB_L004A2590 jmp L00497EA3 L00497EA1: xor eax,eax L00497EA3: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+28h],FFFFFFFFh call SUB_L004587A0 pop edi pop esi pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ L00497EC8: mov eax,[ebx+64h] test eax,eax jz L00497ED6 mov ecx,ebx call SUB_L0041E0F0 L00497ED6: push 00000000h mov ecx,ebx call SUB_L004584E0 L00497EDF: mov ecx,[esp+18h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00497F00: push FFFFFFFFh push L004E528B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,[esp+20h] xor eax,eax push edi mov al,[esi] mov dword ptr [esp+10h],00000000h mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L0050E6E4+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 [esp+24h],edx inc ecx and ecx,0000FFFFh add ecx,edi mov cx,[ecx+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 xor eax,eax add edi,00000002h mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add eax,esi test ebx,ebx mov edi,eax jz L00498051 push ebx call SUB_L004843F0 mov ebx,eax add esp,00000004h test ebx,ebx jz L00498055 mov esi,[L00B294DC] test esi,esi jz L00498055 L0049802F: mov edx,[esi] mov ecx,esi call [edx+00000140h] test eax,eax jz L00498042 cmp [esi+38h],ebx jz L0049804B L00498042: mov esi,[esi+40h] test esi,esi jnz L0049802F jmp L00498055 L0049804B: test esi,esi jnz L004980A2 jmp L00498055 L00498051: mov ebx,[esp+10h] L00498055: push 000000A0h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+1Ch],00000000h jz L0049808D mov ecx,[esp+24h] push ebx push edi and ebp,0000FFFFh push ecx push ebp push 00000064h push 00000064h mov ecx,eax call SUB_L0045B6F0 jmp L0049808F L0049808D: xor eax,eax L0049808F: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004587A0 L004980A2: mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004980C0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E52C1 push eax mov fs:[00000000h],esp sub esp,00000044h xor eax,eax push ebx push ebp push esi mov esi,[esp+60h] mov ebp,00008000h push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,ebp or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and eax,ebp or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,ebp or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+06h] push eax mov [L00C8833C],eax call jmp_WSOCK32.dll!WSOCK32.14 xor esi,esi mov [L00C8833C],eax cmp edi,esi jnz L004981F7 mov ecx,[L00B2905C] cmp ecx,esi jz L0049817C mov eax,[ecx] push 00000001h call [eax] mov [L00B2905C],esi L0049817C: push 000002B8h call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax cmp eax,esi mov [esp+5Ch],esi jz L004981B4 mov ecx,[L00B294A0] push esi push esi push 00000001h push 00000001h push ecx push SSZ0050E104_The_server_you_have_selected_is_ push FFFFFFFFh push FFFFFFFFh mov ecx,eax call SUB_L0045BA70 jmp L004981B6 L004981B4: xor eax,eax L004981B6: push 00000001h push esi mov ecx,eax mov dword ptr [esp+64h],FFFFFFFFh mov [L00B2905C],eax call SUB_L004587A0 mov ecx,[L00C88300] mov [L00C88370],esi mov [L00C8C4D0],esi call SUB_L004BA660 pop edi pop esi pop ebp pop ebx mov ecx,[esp+44h] mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ L004981F7: push SSZ0050E0F4_Connecting___ call SUB_L004CE570 mov eax,[L00C88300] add esp,00000004h cmp edi,[eax+00030040h] jz L0049832D push 0003005Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax cmp eax,esi mov dword ptr [esp+5Ch],00000001h jz L0049823D mov ecx,eax call SUB_L004BA6C0 mov ebp,eax jmp L0049823F L0049823D: xor ebp,ebp L0049823F: mov dword ptr [esp+5Ch],FFFFFFFFh L00498247: push ebx push edi mov ecx,ebp call SUB_L004BA9B0 test eax,eax jnz L0049825A inc esi cmp esi,00000003h jl L00498247 L0049825A: cmp esi,00000003h jnz L0049830E mov ecx,[L00B2905C] xor esi,esi cmp ecx,esi jz L0049827B mov edx,[ecx] push 00000001h call [edx] mov [L00B2905C],esi L0049827B: mov eax,[L00B294A0] push esi push 00000001h push 00000001h push eax push SSZ0050DAAC_The_client_could_not_attach_to_t call SUB_L00455DD0 mov ecx,[L00C88300] add esp,00000014h cmp ecx,esi jz L004982A3 mov edx,[ecx] push 00000001h call [edx] L004982A3: push 0003005Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+64h],eax cmp eax,esi mov dword ptr [esp+5Ch],00000002h jz L004982C9 mov ecx,eax call SUB_L004BA6C0 jmp L004982CB L004982C9: xor eax,eax L004982CB: cmp ebp,esi mov dword ptr [esp+5Ch],FFFFFFFFh mov [L00C88300],eax jz L004982E5 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] L004982E5: mov [L00C88370],esi mov [L00C8C4D0],esi pop edi pop esi pop ebp mov dword ptr [L00B29044],00000001h pop ebx mov ecx,[esp+44h] mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ L0049830E: mov ecx,[L00C88300] mov [L00C8C4D8],ecx call SUB_L004BA660 mov eax,ebp mov ebp,00008000h mov [L00C88300],eax xor esi,esi L0049832D: mov ebx,00000001h mov [eax+10h],ebx mov eax,[L0050EB6C] test ebp,eax mov byte ptr [esp+10h],91h jz L0049834C mov word ptr [esp+11h],0003h jmp L00498353 L0049834C: mov [L00CD8C40],bx L00498353: mov eax,[L00C8833C] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+10h] mov dx,[L00CD8C40] and ecx,000000FFh test [L0050E6E4+ecx*8],bp jz L0049837F mov ecx,[esp+11h] jmp L00498388 L0049837F: mov [esp+64h],dx mov ecx,[esp+64h] L00498388: and ecx,0000FFFFh mov [esp+ecx+10h],eax mov eax,[esp+10h] and eax,000000FFh add ecx,00000004h mov ax,[L0050E6E4+eax*8] and ax,bp jz L004983B2 mov [esp+11h],cx jmp L004983BC L004983B2: mov dx,cx mov [L00CD8C40],dx L004983BC: cmp ax,si jz L004983C7 mov eax,[esp+11h] jmp L004983D0 L004983C7: mov [esp+64h],dx mov eax,[esp+64h] L004983D0: and eax,0000FFFFh mov ecx,00000007h mov esi,L00C85FF0 lea edi,[esp+eax+10h] rep movsd movsw lea ecx,[eax+1Eh] mov eax,[esp+10h] and eax,000000FFh mov ax,[L0050E6E4+eax*8] and ax,bp jz L00498407 mov [esp+11h],cx jmp L00498411 L00498407: mov dx,cx mov [L00CD8C40],dx L00498411: test ax,ax jz L0049841C mov eax,[esp+11h] jmp L00498425 L0049841C: mov [esp+64h],dx mov eax,[esp+64h] L00498425: and eax,0000FFFFh mov ecx,00000007h mov esi,L00C85FD0 lea edi,[esp+eax+10h] add eax,0000001Eh rep movsd movsw mov ecx,[esp+10h] and ecx,000000FFh test [L0050E6E4+ecx*8],bp jz L0049845A mov [esp+11h],ax jmp L00498460 L0049845A: mov [L00CD8C40],ax L00498460: mov ecx,[L00C88300] lea edx,[esp+10h] push edx call SUB_L004BC750 mov eax,[L00C88300] mov ecx,[esp+54h] pop edi mov [L00C8C4D0],ebx pop esi mov [eax+14h],ebx pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000050h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004984A0: mov eax,[L00B294A4] sub esp,00000100h test eax,eax jz L00498566 mov ecx,[esp+00000104h] xor eax,eax xor edx,edx mov al,[ecx] mov ax,[L0050E6E4+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 L00498520 jmp [CASE_PROCTABLE_00498570+eax*4] CASE_00498570_PROC0000: lea eax,[esp+00h] push SSZ0050E298_That_character_password_is_inval push eax jmp L0049852A CASE_00498570_PROC0001: lea ecx,[esp+00h] push SSZ0050E278_That_character_does_not_exist_ push ecx jmp L0049852A CASE_00498570_PROC0002: push SSZ0050E24C_That_character_is_being_played_r jmp L00498525 CASE_00498570_PROC0003: lea eax,[esp+00h] push SSZ0050E1E4_That_character_is_not_old_enough push eax jmp L0049852A CASE_00498570_PROC0004: lea ecx,[esp+00h] push SSZ0050E19C_That_character_is_currently_queu push ecx jmp L0049852A L00498520: push SSZ0050E178_Couldn_t_carry_out_your_request_ L00498525: lea edx,[esp+04h] push edx L0049852A: call SUB_L004D512F mov ecx,[L00B2905C] add esp,00000008h test ecx,ecx jz L0049854C mov eax,[ecx] push 00000001h call [eax] mov dword ptr [L00B2905C],00000000h L0049854C: mov ecx,[L00B294A4] push 00000000h push 00000000h push 00000001h lea edx,[esp+0Ch] push ecx push edx call SUB_L00455DD0 add esp,00000014h L00498566: add esp,00000100h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_00498570: dd CASE_00498570_PROC0000 dd CASE_00498570_PROC0001 dd CASE_00498570_PROC0002 dd CASE_00498570_PROC0003 dd CASE_00498570_PROC0004 Align 16 SUB_L00498590: mov eax,[L00B294A4] sub esp,00000008h push ebx xor ebx,ebx cmp eax,ebx jz L004986F8 push ebp push esi push edi xor edi,edi xor esi,esi L004985AA: mov ecx,[L00B294A4] push edi call SUB_L004713A0 mov byte ptr [esi+L00C860FC],00h mov byte ptr [esi+L00C86064],00h add esi,0000001Eh inc edi cmp esi,00000096h jl L004985AA mov ebp,[esp+1Ch] xor eax,eax mov esi,00000001h mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ebp] mov [esp+1Ch],cl mov edx,[esp+1Ch] mov [esp+1Ch],ebx and edx,000000FFh mov [L00C86194],edx L00498611: xor eax,eax or ecx,FFFFFFFFh mov al,[ebp+00h] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,esi add esi,0000003Ch add eax,ebp mov [esp+14h],esi mov edx,eax xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004986B7 mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx lea esi,[ebx+L00C860FC] sub edi,ecx mov eax,ecx mov [esp+10h],esi mov esi,edi mov edi,[esp+10h] 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 lea esi,[ebx+L00C86064] sub edi,ecx mov eax,ecx mov [esp+10h],esi mov esi,edi mov edi,[esp+10h] shr ecx,02h rep movsd mov ecx,eax lea eax,[edx+1Eh] and ecx,00000003h rep movsb mov ecx,[esp+1Ch] push ecx mov ecx,[L00B294A4] push eax push edx call SUB_L004712E0 mov esi,[esp+14h] L004986B7: mov edx,[esp+1Ch] add ebx,0000001Eh inc edx cmp ebx,00000096h mov [esp+1Ch],edx jl L00498611 mov ecx,[L00B2905C] pop edi pop esi pop ebp test ecx,ecx jz L004986EC mov edx,[ecx] push 00000001h call [edx] mov dword ptr [L00B2905C],00000000h L004986EC: mov eax,[L00B294A4] mov dword ptr [eax+6Ch],00000001h L004986F8: pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L00498700: push esi mov esi,[esp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh lea edi,[eax+esi+04h] mov eax,[L007050B0] lea edx,[eax+000000F8h] 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,[L007050B0] mov edx,[ecx] call [edx+00000174h] pop edi mov dword ptr [L007050B0],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00498790: sub esp,00000008h push ebx push ebp push esi mov esi,[esp+18h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+10h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+14h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov cl,[esi] mov ax,[L0050E6E4+ecx*8] and ax,8000h jz L0049882C mov di,[esi+01h] jmp L0049883C L0049882C: mov dx,[L00CD8C40] mov [esp+1Ch],dx mov edi,[esp+1Ch] L0049883C: mov cx,ax and edi,0000FFFFh neg cx sbb ecx,ecx mov edx,FFFFFFF4h and ecx,00000002h inc ecx and ecx,0000FFFFh sub edx,ecx add edi,edx neg ax sbb eax,eax and eax,00000002h inc eax mov ebx,eax lea eax,[edi+01h] push eax call SUB_L004D4FA9 and ebx,0000FFFFh mov ebp,eax push edi lea ecx,[ebx+esi+0Ch] push ecx push ebp call SUB_L004D52C0 mov edx,[esp+20h] mov eax,[esp+24h] mov byte ptr [edi+ebp],00h push ebp mov dword ptr [L00C83644],00000001h mov [L00C8364C],edx mov [L00C83650],eax call SUB_L004D4F9E add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004988C0: push ecx push ebx push ebp push esi mov esi,[esp+14h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebp,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+10h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov cl,[esi] mov dx,[L0050E6E4+ecx*8] and dx,8000h jz L00498959 mov ax,[esi+01h] jmp L00498968 L00498959: mov ax,[L00CD8C40] mov [esp+18h],ax mov eax,[esp+18h] L00498968: mov cx,dx and eax,0000FFFFh neg cx sbb ecx,ecx mov edi,FFFFFFF0h and ecx,00000002h inc ecx and ecx,0000FFFFh sub edi,ecx add eax,edi neg dx sbb edx,edx and edx,00000002h inc edx mov ebx,edx cdq sub eax,edx mov edi,eax sar edi,1 lea ecx,[edi+edi+02h] push ecx call SUB_L004D4FA9 lea edx,[edi+edi] and ebx,0000FFFFh mov ecx,edx mov edi,eax lea esi,[ebx+esi+10h] mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx push eax and ecx,00000003h rep movsb mov word ptr [edx+eax],0000h mov edx,[esp+18h] mov ecx,00000001h mov [L00C8364C],ebp mov [L00C83644],ecx mov [L00C83648],ecx mov [L00C83650],edx call SUB_L004D4F9E add esp,00000008h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L00498A00: push ebx push ebp mov ebp,[esp+0Ch] xor eax,eax push esi push edi mov al,[ebp+00h] mov cx,[L0050E6E4+eax*8] and cx,8000h jz L00498A22 mov si,[ebp+01h] jmp L00498A32 L00498A22: mov dx,[L00CD8C40] mov [esp+14h],dx mov esi,[esp+14h] L00498A32: 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_L004D4FA9 and edi,0000FFFFh mov ebx,eax add edi,ebp push esi push edi push ebx call SUB_L004D52C0 mov byte ptr [ebx+esi],00h call SUB_L004BCEE0 push ebx call SUB_L004D1450 push ebx call SUB_L004D4F9E add esp,00000018h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00498A90: push FFFFFFFFh mov eax,fs:[00000000h] push L004E52DE push eax mov eax,00001F70h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push ebp push esi mov esi,[esp+00001F8Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+13h],cl inc eax and eax,0000FFFFh mov eax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+1Ch],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+05h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov ebp,eax mov cl,[esi] and ebp,0000FFFFh mov cx,[L0050E6E4+ecx*8] lea edx,[ebp+01h] and ecx,00008000h push edx or ch,40h shr ecx,0Eh and ecx,0000FFFFh lea esi,[ecx+esi+07h] call SUB_L004D4FA9 mov ecx,ebp mov edi,eax mov edx,ecx add esp,00000004h shr ecx,02h rep movsd mov ecx,edx mov [esp+24h],eax and ecx,00000003h rep movsb xor edi,edi xor ecx,ecx cmp ebp,edi mov byte ptr [eax+ebp],00h jle L00498B8D L00498B7E: cmp byte ptr [ecx+eax],0Dh jnz L00498B88 mov byte ptr [ecx+eax],00h L00498B88: inc ecx cmp ecx,ebp jl L00498B7E L00498B8D: cmp ebp,00000001h mov [esp+14h],edi mov [esp+20h],edi mov ebx,eax jle L00498C61 lea eax,[esp+40h] mov [esp+18h],eax L00498BA8: push 000000D6h push ebx push 00000006h call SUB_L00441FB0 mov edx,eax add esp,0000000Ch cmp edx,FFFFFFFFh jz L00498BF7 mov edi,ebx or ecx,FFFFFFFFh xor eax,eax mov byte ptr [ebx+edx+01h],00h repne scasb not ecx sub edi,ecx lea ebx,[ebx+edx+02h] mov eax,ecx mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov ecx,[esp+14h] lea eax,[ecx+edx+02h] mov [esp+14h],eax jmp L00498C3E L00498BF7: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,[esp+18h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,ebx or ecx,FFFFFFFFh repne scasb mov eax,[esp+14h] mov edi,ebx not ecx dec ecx lea ecx,[eax+ecx+01h] xor eax,eax mov [esp+14h],ecx or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea ebx,[ebx+ecx+01h] L00498C3E: mov edx,[esp+20h] mov ecx,[esp+18h] inc edx add ecx,00000050h mov [esp+20h],edx mov edx,[esp+14h] inc edx mov [esp+18h],ecx cmp edx,ebp jl L00498BA8 xor edi,edi L00498C61: mov bl,[esp+13h] mov esi,[esp+1Ch] cmp bl,01h jnz L00498C76 cmp esi,[L00500570] jle L00498CF0 L00498C76: push 00002020h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,edi mov [esp+00001F88h],edi jz L00498CB1 xor ecx,ecx lea edx,[esp+40h] test bl,bl setz cl push ecx mov ecx,[esp+24h] push edx push ecx push 00000064h push 00000064h mov ecx,eax call SUB_L004BEFD0 jmp L00498CB3 L00498CB1: xor eax,eax L00498CB3: push 00000001h push edi mov ecx,eax mov dword ptr [esp+00001F90h],FFFFFFFFh call SUB_L004587A0 test bl,bl jnz L00498CEB push esi lea edx,[esp+2Ch] push L004FF074 push edx mov [L0050056C],esi call SUB_L004D512F lea eax,[esp+34h] push eax push 00000034h jmp L00498D0D L00498CEB: cmp bl,01h jnz L00498D15 L00498CF0: push esi lea ecx,[esp+38h] push L004FF074 push ecx mov [L00500570],esi call SUB_L004D512F lea edx,[esp+40h] push edx push 00000035h L00498D0D: call SUB_L00436F10 add esp,00000014h L00498D15: mov eax,[esp+24h] push eax call SUB_L004D4F9E mov ecx,[esp+00001F84h] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00001F7Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L00498D40: mov ecx,[esp+04h] xor eax,eax push esi mov esi,[L00C8C4E0] mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.14 test esi,esi mov [L00C8C4E0],eax jz L00498D8D push esi call SUB_L004843F0 add esp,00000004h test eax,eax jz L00498D8D mov ecx,eax call SUB_L004045B0 L00498D8D: mov eax,[L00C8C4E0] test eax,eax jz L00498DB5 push eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L00498DB5 mov ecx,esi call SUB_L004045B0 push esi call SUB_L004BD570 add esp,00000004h L00498DB5: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00498DC0: push FFFFFFFFh push L004E52FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi mov esi,[esp+2Ch] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov ebx,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebp,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+esi+06h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor ecx,ecx mov cl,[esi] mov cx,[L0050E6E4+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 [esp+18h],edx inc eax and eax,0000FFFFh add eax,edi inc edi mov al,[eax+esi] mov [esp+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 [esp+10h],dl inc ecx and ecx,0000FFFFh add ecx,edi mov ecx,[ecx+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov [esp+30h],eax xor eax,eax mov al,[esi] add edi,00000004h mov ax,[L0050E6E4+eax*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 xor ecx,ecx add edi,00000002h mov cl,[esi] push 000000ACh mov ax,[L0050E6E4+ecx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,edi add eax,esi mov esi,eax call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000000h jz L00498F6D mov edx,[esp+30h] mov ecx,[esp+10h] push esi push edx mov edx,[esp+1Ch] push ecx mov ecx,[esp+24h] push edx push ecx push ebp push ebx mov ecx,eax call SUB_L004B2CB0 jmp L00498F6F L00498F6D: xor eax,eax L00498F6F: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+30h],FFFFFFFFh call SUB_L004587A0 mov ecx,[esp+20h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L00498FA0: push ebx push ebp push esi mov esi,[esp+10h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov edi,eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov ebx,eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 push edi mov ebp,eax call SUB_L004843F0 mov esi,eax add esp,00000004h test esi,esi jz L00499049 mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jz L00499049 xor ecx,ecx test ebp,ebp setz cl push ecx push ebx mov ecx,esi call SUB_L004815B0 L00499049: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L00499050: push FFFFFFFFh push L004E531B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push ebp push esi mov esi,[esp+40h] xor eax,eax push edi mov al,[esi] xor ebp,ebp mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+24h],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov [esp+20h],eax mov dl,[esi] mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+08h] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov [esp+30h],eax xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+esi+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor ecx,ecx mov [esp+2Ch],eax mov cl,[esi] mov ax,[L0050E6E4+ecx*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 edx,edx mov dl,[esi] mov cx,[L0050E6E4+edx*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 [esp+28h],edx inc ecx and ecx,0000FFFFh add ecx,edi mov cx,[ecx+esi] push ecx call jmp_WSOCK32.dll!WSOCK32.15 mov ebx,eax add edi,00000002h test bx,bx mov [esp+1Ch],ebx jz L0049928B mov ebp,ebx and ebp,0000FFFFh lea eax,[00000000h+ebp*4] push eax call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test ebp,ebp jle L00499307 mov ecx,eax mov [esp+14h],ebp mov [esp+44h],ecx L004991D0: xor edx,edx mov dl,[esi] mov ax,[L0050E6E4+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 mov ebx,eax add edi,00000002h and ebx,0000FFFFh lea eax,[ebx+ebx+02h] push eax call SUB_L004D4FA9 mov ecx,[esp+48h] add esp,00000004h xor ebp,ebp mov [ecx],eax mov word ptr [eax+ebx*2],0000h test ebx,ebx jle L00499269 L00499222: mov edx,[esp+44h] mov eax,[edx] xor edx,edx mov dl,[esi] lea ecx,[eax+ebp*2] mov ax,[L0050E6E4+edx*8] mov [esp+18h],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,[esp+18h] add edi,00000002h inc ebp cmp ebp,ebx mov [ecx],ax jl L00499222 L00499269: mov ecx,[esp+44h] mov eax,[esp+14h] add ecx,00000004h dec eax mov [esp+44h],ecx mov [esp+14h],eax jnz L004991D0 mov ebp,[esp+10h] mov ebx,[esp+1Ch] L0049928B: push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax test eax,eax mov dword ptr [esp+3Ch],00000000h jz L004992C9 mov edx,[esp+20h] mov ecx,[esp+24h] push edx mov edx,[esp+2Ch] push ecx mov ecx,[esp+34h] push ebp push edx mov edx,[esp+40h] push ecx push edx mov ecx,eax call SUB_L00443BA0 L004992C9: test bx,bx jz L004992F4 mov edi,ebx and edi,0000FFFFh jle L004992EB mov esi,ebp L004992DA: mov eax,[esi] push eax call SUB_L004D4F9E add esp,00000004h add esi,00000004h dec edi jnz L004992DA L004992EB: push ebp call SUB_L004D4F9E add esp,00000004h L004992F4: mov ecx,[esp+34h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ L00499307: mov ebp,[esp+10h] jmp L0049928B SUB_L00499310: sub esp,00000104h push ebx mov ebx,[esp+0000010Ch] push ebp mov ebp,00008000h mov byte ptr [ebx],9Bh mov eax,[L0050EBBC] test ebp,eax jz L00499338 mov word ptr [ebx+01h],0003h jmp L00499341 L00499338: mov word ptr [L00CD8C40],0001h L00499341: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],bp jz L00499355 mov ax,[ebx+01h] jmp L00499365 L00499355: mov cx,[L00CD8C40] mov [esp+08h],cx mov eax,[esp+08h] L00499365: mov dl,[esp+00000114h] and eax,0000FFFFh xor ecx,ecx mov [eax+ebx],dl mov cl,[ebx] inc eax test [L0050E6E4+ecx*8],bp jz L00499389 mov [ebx+01h],ax jmp L0049938F L00499389: mov [L00CD8C40],ax L0049938F: mov edx,[esp+00000118h] push 00000100h lea eax,[esp+10h] push edx push eax call SUB_L004D52C0 xor ecx,ecx add esp,0000000Ch mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L004993BD mov ax,[ebx+01h] jmp L004993CD L004993BD: mov dx,[L00CD8C40] mov [esp+08h],dx mov eax,[esp+08h] L004993CD: and eax,0000FFFFh push esi push edi mov ecx,00000040h lea esi,[esp+14h] lea edi,[eax+ebx] rep movsd xor ecx,ecx add eax,00000100h mov cl,[ebx] pop edi pop esi test [L0050E6E4+ecx*8],bp jz L00499404 mov [ebx+01h],ax pop ebp pop ebx add esp,00000104h retn ;------------------------------------------------------------------------------ L00499404: pop ebp mov [L00CD8C40],ax pop ebx add esp,00000104h retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499420: mov eax,[esp+04h] push esi mov esi,00008000h mov byte ptr [eax],22h mov ecx,[L0050E7F4] test esi,ecx jz L0049943F mov word ptr [eax+01h],0003h jmp L00499448 L0049943F: mov word ptr [L00CD8C40],0001h L00499448: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L0049945C mov cx,[eax+01h] jmp L0049946C L0049945C: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049946C: and ecx,0000FFFFh xor edx,edx mov byte ptr [ecx+eax],00h mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si jz L0049948B mov [eax+01h],cx jmp L00499492 L0049948B: mov [L00CD8C40],cx L00499492: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L004994A6 mov cx,[eax+01h] jmp L004994B6 L004994A6: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L004994B6: and ecx,0000FFFFh xor edx,edx mov byte ptr [ecx+eax],00h mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si pop esi jz L004994D5 mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L004994D5: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004994E0: push esi mov esi,[esp+08h] mov byte ptr [esi],01h mov eax,[L0050E6EC] test ah,80h jz L004994FA mov word ptr [esi+01h],0003h jmp L00499503 L004994FA: mov word ptr [L00CD8C40],0001h L00499503: push FFFFFFFFh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049951E mov cx,[esi+01h] jmp L0049952E L0049951E: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049952E: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049954E mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L0049954E: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499560: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],02h mov eax,[L0050E6F4] test edi,eax jz L0049957F mov word ptr [esi+01h],0003h jmp L00499588 L0049957F: mov word ptr [L00CD8C40],0001h L00499588: xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049959C mov ax,[esi+01h] jmp L004995AC L0049959C: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L004995AC: mov dl,[esp+10h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L004995CD mov [esi+01h],ax jmp L004995D3 L004995CD: mov [L00CD8C40],ax L004995D3: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L004995E7 mov ax,[esi+01h] jmp L004995F6 L004995E7: mov ax,[L00CD8C40] mov [esp+10h],ax mov eax,[esp+10h] L004995F6: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L00499617 mov [esi+01h],ax jmp L0049961D L00499617: mov [L00CD8C40],ax L0049961D: mov eax,[esp+18h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049963B mov cx,[esi+01h] jmp L0049964B L0049963B: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049964B: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049966C mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049966C: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499680: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],08h mov eax,[L0050E724] test edi,eax jz L0049969F mov word ptr [esi+01h],0003h jmp L004996A8 L0049969F: mov word ptr [L00CD8C40],0001h L004996A8: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L004996C6 mov cx,[esi+01h] jmp L004996D6 L004996C6: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L004996D6: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L004996F6 mov [esi+01h],ax jmp L004996FC L004996F6: mov [L00CD8C40],ax L004996FC: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049971A mov cx,[esi+01h] jmp L0049972A L0049971A: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049972A: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049974B mov [esi+01h],ax jmp L00499751 L0049974B: mov [L00CD8C40],ax L00499751: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049976F mov cx,[esi+01h] jmp L0049977F L0049976F: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049977F: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L004997A0 mov [esi+01h],ax jmp L004997A6 L004997A0: mov [L00CD8C40],ax L004997A6: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L004997BA mov ax,[esi+01h] jmp L004997C9 L004997BA: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L004997C9: mov cl,[esp+1Ch] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L004997EA mov [esi+01h],ax jmp L004997F0 L004997EA: mov [L00CD8C40],ax L004997F0: mov eax,[esp+20h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049980E mov cx,[esi+01h] jmp L0049981E L0049980E: mov dx,[L00CD8C40] mov [esp+1Ch],dx mov ecx,[esp+1Ch] L0049981E: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049983F mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049983F: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499850: push esi mov esi,[esp+08h] mov byte ptr [esi],06h mov eax,[L0050E714] test ah,80h jz L0049986A mov word ptr [esi+01h],0003h jmp L00499873 L0049986A: mov word ptr [L00CD8C40],0001h L00499873: mov eax,[esp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L00499891 mov cx,[esi+01h] jmp L004998A1 L00499891: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L004998A1: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L004998C1 mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L004998C1: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004998D0: push ebx mov ebx,[esp+08h] push esi mov esi,00008000h mov byte ptr [ebx],03h mov eax,[L0050E6FC] test esi,eax jz L004998EF mov word ptr [ebx+01h],0003h jmp L004998F8 L004998EF: mov word ptr [L00CD8C40],0001h L004998F8: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],si jz L0049990C mov ax,[ebx+01h] jmp L0049991C L0049990C: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049991C: mov cl,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cl mov dl,[ebx] inc eax test [L0050E6E4+edx*8],si jz L0049993D mov [ebx+01h],ax jmp L00499943 L0049993D: mov [L00CD8C40],ax L00499943: cmp cl,02h jnz L00499A1B mov ax,[L00C87EC0] mov [esp+18h],ax mov ecx,[esp+18h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov [esp+18h],eax mov dl,[ebx] test [L0050E6E4+edx*8],si jz L00499979 mov ax,[ebx+01h] jmp L00499988 L00499979: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L00499988: mov cx,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L0050E6E4+edx*8],si jz L004999AD mov [ebx+01h],ax jmp L004999B3 L004999AD: mov [L00CD8C40],ax L004999B3: mov ax,[L00C87EBE] mov [esp+18h],ax mov ecx,[esp+18h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov [esp+18h],eax mov dl,[ebx] test [L0050E6E4+edx*8],si jz L004999E0 mov ax,[ebx+01h] jmp L004999EF L004999E0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L004999EF: mov cx,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L0050E6E4+edx*8],si jz L00499AE3 mov [ebx+01h],ax jmp L00499AE9 L00499A1B: mov ax,[L00C87EC4] mov [esp+18h],ax mov ecx,[esp+18h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov [esp+18h],eax mov dl,[ebx] test [L0050E6E4+edx*8],si jz L00499A48 mov ax,[ebx+01h] jmp L00499A57 L00499A48: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L00499A57: mov cx,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L0050E6E4+edx*8],si jz L00499A7C mov [ebx+01h],ax jmp L00499A82 L00499A7C: mov [L00CD8C40],ax L00499A82: mov ax,[L00C87EC2] mov [esp+18h],ax mov ecx,[esp+18h] push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov [esp+18h],eax mov dl,[ebx] test [L0050E6E4+edx*8],si jz L00499AAF mov ax,[ebx+01h] jmp L00499ABE L00499AAF: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L00499ABE: mov cx,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cx mov dl,[ebx] add eax,00000002h test [L0050E6E4+edx*8],si jz L00499AE3 mov [ebx+01h],ax jmp L00499AE9 L00499AE3: mov [L00CD8C40],ax L00499AE9: mov eax,[esp+14h] xor ecx,ecx mov cl,[ebx] lea edx,[eax+01h] test [L0050E6E4+ecx*8],si jz L00499B04 mov ax,[ebx+01h] jmp L00499B13 L00499B04: mov ax,[L00CD8C40] mov [esp+18h],ax mov eax,[esp+18h] L00499B13: mov esi,[esp+10h] mov ecx,edx push ebp and eax,0000FFFFh mov ebp,ecx push edi lea edi,[eax+ebx] add eax,edx shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb xor ecx,ecx pop edi mov cl,[ebx] pop ebp test byte ptr [L0050E6E5+ecx*8],80h jz L00499B4A mov [ebx+01h],ax pop esi pop ebx retn ;------------------------------------------------------------------------------ L00499B4A: pop esi mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499B60: push esi mov esi,[esp+08h] mov byte ptr [esi],05h mov eax,[L0050E70C] test ah,80h jz L00499B7A mov word ptr [esi+01h],0003h jmp L00499B83 L00499B7A: mov word ptr [L00CD8C40],0001h L00499B83: mov eax,[esp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L00499BA1 mov cx,[esi+01h] jmp L00499BB1 L00499BA1: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L00499BB1: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L00499BD1 mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L00499BD1: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00499BE0: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],07h mov eax,[L0050E71C] test edi,eax jz L00499BFF mov word ptr [esi+01h],0003h jmp L00499C08 L00499BFF: mov word ptr [L00CD8C40],0001h L00499C08: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499C26 mov cx,[esi+01h] jmp L00499C36 L00499C26: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L00499C36: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499C56 mov [esi+01h],ax jmp L00499C5C L00499C56: mov [L00CD8C40],ax L00499C5C: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499C7A mov cx,[esi+01h] jmp L00499C8A L00499C7A: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L00499C8A: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499CAC mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L00499CAC: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499CC0: mov eax,[esp+04h] push ebx push ebp push esi mov byte ptr [eax],12h mov ecx,[L0050E774] mov esi,00008000h push edi test esi,ecx jz L00499CE2 mov word ptr [eax+01h],0003h jmp L00499CEB L00499CE2: mov word ptr [L00CD8C40],0001h L00499CEB: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L00499CFF mov cx,[eax+01h] jmp L00499D0F L00499CFF: mov dx,[L00CD8C40] mov [esp+14h],dx mov ecx,[esp+14h] L00499D0F: mov dl,[esp+18h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si jz L00499D31 mov [eax+01h],cx jmp L00499D38 L00499D31: mov [L00CD8C40],cx L00499D38: mov ecx,[esp+20h] xor edx,edx mov dl,[eax] lea ebx,[ecx+01h] test [L0050E6E4+edx*8],si jz L00499D53 mov cx,[eax+01h] jmp L00499D63 L00499D53: mov cx,[L00CD8C40] mov [esp+18h],cx mov ecx,[esp+18h] L00499D63: mov esi,[esp+1Ch] and ecx,0000FFFFh mov edx,ecx mov ecx,ebx mov ebp,ecx lea edi,[edx+eax] shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb lea ecx,[ebx+edx] xor edx,edx mov dl,[eax] pop edi pop esi pop ebp test byte ptr [L0050E6E5+edx*8],80h pop ebx jz L00499D9C mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L00499D9C: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ Align 16 SUB_L00499DB0: push esi mov esi,[esp+08h] mov byte ptr [esi],09h mov eax,[L0050E72C] test ah,80h jz L00499DCA mov word ptr [esi+01h],0003h jmp L00499DD3 L00499DCA: mov word ptr [L00CD8C40],0001h L00499DD3: mov eax,[esp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L00499DF1 mov cx,[esi+01h] jmp L00499E01 L00499DF1: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L00499E01: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L00499E21 mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L00499E21: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L00499E30: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],13h mov eax,[L0050E77C] test edi,eax jz L00499E4F mov word ptr [esi+01h],0003h jmp L00499E58 L00499E4F: mov word ptr [L00CD8C40],0001h L00499E58: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499E76 mov cx,[esi+01h] jmp L00499E86 L00499E76: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L00499E86: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499EA6 mov [esi+01h],ax jmp L00499EAC L00499EA6: mov [L00CD8C40],ax L00499EAC: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L00499EC0 mov ax,[esi+01h] jmp L00499ECF L00499EC0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L00499ECF: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L00499EF0 mov [esi+01h],ax jmp L00499EF6 L00499EF0: mov [L00CD8C40],ax L00499EF6: mov eax,[esp+18h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499F14 mov cx,[esi+01h] jmp L00499F24 L00499F14: mov dx,[L00CD8C40] mov [esp+14h],dx mov ecx,[esp+14h] L00499F24: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L00499F45 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L00499F45: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L00499F50: sub esp,00000030h lea eax,[esp+04h] push ebx push esi push edi push eax push 00000012h call SUB_L004393E0 lea ecx,[esp+14h] lea edx,[esp+18h] push ecx push L004FF074 push edx call SUB_L004D592C mov ebx,[esp+54h] add esp,00000014h mov byte ptr [ebx],00h mov eax,[L0050E6E4] test ah,80h jz L00499F97 push 00000003h push ebx call SUB_L0048DA90 add esp,00000008h jmp L00499FA0 L00499F97: mov word ptr [L00CD8C40],0001h L00499FA0: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],esi add eax,00000004h push eax push ebx call SUB_L0048DA90 add esp,0000000Ch push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 add esp,0000000Ch push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 and eax,0000FFFFh mov byte ptr [eax+ebx],00h inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov esi,[esp+60h] and eax,0000FFFFh mov ecx,00000007h lea edi,[eax+ebx] add eax,0000001Eh rep movsd push eax push ebx movsw call SUB_L0048DA90 mov ecx,00000007h xor eax,eax lea edi,[esp+40h] add esp,00000024h rep stosd push 00000003h stosw call SUB_L0046E410 push eax lea eax,[esp+24h] push eax call SUB_L004D52C0 mov eax,[esp+18h] xor ecx,ecx cmp eax,00000280h push ebx setg cl mov ch,cl mov [esp+2Fh],cl call SUB_L00490E70 and eax,0000FFFFh mov ecx,00000007h lea esi,[esp+2Ch] lea edi,[eax+ebx] rep movsd movsw add eax,0000001Eh push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov cl,[esp+68h] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov dl,[esp+78h] and eax,0000FFFFh mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov cl,[esp+00000088h] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov dl,[esp+00000098h] and eax,0000FFFFh add esp,00000040h mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov cl,[esp+7Ch] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov dl,[esp+0000008Ch] and eax,0000FFFFh mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov cl,[esp+0000009Ch] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov dl,[esp+000000ACh] and eax,0000FFFFh mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 push ebx call SUB_L00490E70 mov cl,[esp+000000BCh] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 add esp,00000044h push ebx call SUB_L00490E70 mov dl,[esp+00000088h] and eax,0000FFFFh mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 mov eax,[esp+68h] add esp,0000000Ch push eax call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 mov ecx,[esp+6Ch] add esp,0000000Ch push ecx call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 mov edx,[esp+70h] push edx push ebx call SUB_L0048BDC0 mov eax,[esp+7Ch] push eax push ebx call SUB_L0048BDC0 mov ecx,[esp+00000088h] push ecx push ebx call SUB_L0048BDC0 mov edx,[esp+000000ACh] push edx push ebx call SUB_L0048BD70 mov eax,[esp+000000B8h] push eax push ebx call SUB_L0048BD70 mov ecx,[esp+000000C4h] push ecx push ebx call SUB_L0048BE20 mov edx,[L00C88300] mov eax,[edx+00030040h] push eax push ebx call SUB_L0048BE20 mov cx,[L00C880E8] add esp,00000044h push ecx push ebx call SUB_L0048BDC0 mov dx,[L00C880E6] push edx push ebx call SUB_L0048BDC0 add esp,00000010h pop edi pop esi pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A2B0: sub esp,00000030h lea eax,[esp+04h] push ebx push ebp push eax push 00000012h call SUB_L004393E0 lea ecx,[esp+10h] lea edx,[esp+14h] push ecx push L004FF074 push edx call SUB_L004D592C mov ebx,[esp+50h] mov ebp,00008000h add esp,00000014h mov byte ptr [ebx],5Dh mov eax,[L0050E9CC] test ebp,eax jz L0049A2F5 mov word ptr [ebx+01h],0003h jmp L0049A2FE L0049A2F5: mov word ptr [L00CD8C40],0001h L0049A2FE: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049A31C mov cx,[ebx+01h] jmp L0049A32C L0049A31C: mov dx,[L00CD8C40] mov [esp+3Ch],dx mov ecx,[esp+3Ch] L0049A32C: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049A34C mov [ebx+01h],ax jmp L0049A352 L0049A34C: mov [L00CD8C40],ax L0049A352: push esi push edi mov ecx,00000007h xor eax,eax lea edi,[esp+20h] lea edx,[esp+20h] rep stosd stosw mov edi,[esp+48h] 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 ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049A39C mov ax,[ebx+01h] jmp L0049A3AC L0049A39C: mov dx,[L00CD8C40] mov [esp+44h],dx mov eax,[esp+44h] L0049A3AC: and eax,0000FFFFh mov ecx,00000007h lea esi,[esp+20h] lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049A3D8 mov [ebx+01h],ax jmp L0049A3DE L0049A3D8: mov [L00CD8C40],ax L0049A3DE: mov ecx,00000007h xor eax,eax lea edi,[esp+20h] push 00000003h rep stosd stosw call SUB_L0046E410 lea edx,[esp+24h] push eax push edx call SUB_L004D52C0 mov ecx,[esp+1Ch] add esp,0000000Ch xor eax,eax cmp ecx,00000280h setg al xor edx,edx mov ah,al mov dl,[ebx] mov [esp+23h],al test [L0050E6E4+edx*8],bp jz L0049A42B mov ax,[ebx+01h] jmp L0049A43A L0049A42B: mov ax,[L00CD8C40] mov [esp+44h],ax mov eax,[esp+44h] L0049A43A: and eax,0000FFFFh mov ecx,00000007h lea esi,[esp+20h] lea edi,[eax+ebx] add eax,0000001Eh rep movsd xor ecx,ecx movsw mov cl,[ebx] pop edi pop esi test [L0050E6E4+ecx*8],bp jz L0049A468 mov [ebx+01h],ax jmp L0049A46E L0049A468: mov [L00CD8C40],ax L0049A46E: mov edx,[esp+48h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049A48C mov cx,[ebx+01h] jmp L0049A49C L0049A48C: mov dx,[L00CD8C40] mov [esp+3Ch],dx mov ecx,[esp+3Ch] L0049A49C: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L0050E6E4+eax*8],bp jz L0049A4BC mov [ebx+01h],cx jmp L0049A4C3 L0049A4BC: mov [L00CD8C40],cx L0049A4C3: mov ecx,[L00C88300] mov eax,[ecx+00030040h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049A4E9 mov cx,[ebx+01h] jmp L0049A4F9 L0049A4E9: mov cx,[L00CD8C40] mov [esp+3Ch],cx mov ecx,[esp+3Ch] L0049A4F9: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],eax mov dl,[ebx] add ecx,00000004h test [L0050E6E4+edx*8],bp jz L0049A51D mov [ebx+01h],cx pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L0049A51D: pop ebp mov [L00CD8C40],cx pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049A530: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],34h mov eax,[L0050E884] test edi,eax jz L0049A54F mov word ptr [esi+01h],0003h jmp L0049A558 L0049A54F: mov word ptr [L00CD8C40],0001h L0049A558: push EDEDEDEDh call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A576 mov cx,[esi+01h] jmp L0049A586 L0049A576: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049A586: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A5A6 mov [esi+01h],ax jmp L0049A5AC L0049A5A6: mov [L00CD8C40],ax L0049A5AC: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049A5C0 mov ax,[esi+01h] jmp L0049A5CF L0049A5C0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049A5CF: mov cl,[esp+10h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049A5F0 mov [esi+01h],ax jmp L0049A5F6 L0049A5F0: mov [L00CD8C40],ax L0049A5F6: mov eax,[esp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A614 mov cx,[esi+01h] jmp L0049A624 L0049A614: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049A624: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A645 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049A645: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049A650: mov eax,[esp+04h] mov byte ptr [eax],2Ch mov ecx,[L0050E844] test ch,80h jz L0049A66A mov word ptr [eax+01h],0003h jmp L0049A673 L0049A66A: mov word ptr [L00CD8C40],0001h L0049A673: xor ecx,ecx mov cl,[eax] test byte ptr [L0050E6E5+ecx*8],80h jz L0049A687 mov cx,[eax+01h] jmp L0049A697 L0049A687: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L0049A697: mov dl,[esp+08h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test byte ptr [L0050E6E5+edx*8],80h jz L0049A6B8 mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L0049A6B8: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ SUB_L0049A6C0: push ebx push esi mov esi,[esp+0Ch] push edi mov edi,00008000h mov byte ptr [esi],3Bh mov eax,[L0050E8BC] test edi,eax jz L0049A6E0 mov word ptr [esi+01h],0003h jmp L0049A6E9 L0049A6E0: mov word ptr [L00CD8C40],0001h L0049A6E9: mov eax,[esp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A707 mov cx,[esi+01h] jmp L0049A717 L0049A707: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049A717: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A737 mov [esi+01h],ax jmp L0049A73D L0049A737: mov [L00CD8C40],ax L0049A73D: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049A751 mov ax,[esi+01h] jmp L0049A760 L0049A751: mov ax,[L00CD8C40] mov [esp+10h],ax mov eax,[esp+10h] L0049A760: mov cl,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049A781 mov [esi+01h],ax jmp L0049A787 L0049A781: mov [L00CD8C40],ax L0049A787: mov eax,[esp+1Ch] test eax,eax mov ebx,eax jz L0049A89D L0049A795: mov cl,[ebx] xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049A7AF mov ax,[esi+01h] mov [esp+18h],eax jmp L0049A7BF L0049A7AF: mov dx,[L00CD8C40] mov [esp+18h],dx mov eax,[esp+18h] L0049A7BF: and eax,0000FFFFh mov [eax+esi],cl xor ecx,ecx mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049A7DC mov [esi+01h],ax jmp L0049A7E2 L0049A7DC: mov [L00CD8C40],ax L0049A7E2: mov eax,[ebx+04h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049A803 mov cx,[esi+01h] mov [esp+10h],ecx jmp L0049A813 L0049A803: mov cx,[L00CD8C40] mov [esp+10h],cx mov ecx,[esp+10h] L0049A813: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],eax mov dl,[esi] lea eax,[ecx+04h] test [L0050E6E4+edx*8],di jz L0049A833 mov [esi+01h],ax jmp L0049A839 L0049A833: mov [L00CD8C40],ax L0049A839: mov ax,[ebx+0Ah] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A85B mov cx,[esi+01h] mov [esp+14h],ecx jmp L0049A86B L0049A85B: mov dx,[L00CD8C40] mov [esp+14h],dx mov ecx,[esp+14h] L0049A86B: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049A88C mov [esi+01h],ax jmp L0049A892 L0049A88C: mov [L00CD8C40],ax L0049A892: mov ebx,[ebx+0Ch] test ebx,ebx jnz L0049A795 L0049A89D: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049A8B0: push ebx push esi mov esi,[esp+0Ch] mov ebx,00008000h push edi mov byte ptr [esi],9Fh mov eax,[L0050EBDC] test ebx,eax jz L0049A8D0 mov word ptr [esi+01h],0003h jmp L0049A8D9 L0049A8D0: mov word ptr [L00CD8C40],0001h L0049A8D9: mov eax,[esp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],bx jz L0049A8F7 mov cx,[esi+01h] jmp L0049A907 L0049A8F7: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049A907: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],bx jz L0049A927 mov [esi+01h],ax jmp L0049A92D L0049A927: mov [L00CD8C40],ax L0049A92D: mov edi,[esp+18h] xor ecx,ecx test edi,edi mov eax,edi jz L0049A941 L0049A939: mov eax,[eax+0Ch] inc ecx test eax,eax jnz L0049A939 L0049A941: push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],bx jz L0049A95B mov cx,[esi+01h] jmp L0049A96B L0049A95B: mov cx,[L00CD8C40] mov [esp+10h],cx mov ecx,[esp+10h] L0049A96B: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L0050E6E4+edx*8],bx jz L0049A98C mov [esi+01h],ax jmp L0049A992 L0049A98C: mov [L00CD8C40],ax L0049A992: test edi,edi jz L0049AA55 L0049A99A: mov eax,[edi+04h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],bx jz L0049A9BB mov cx,[esi+01h] mov [esp+10h],ecx jmp L0049A9CB L0049A9BB: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049A9CB: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],bx jz L0049A9EB mov [esi+01h],ax jmp L0049A9F1 L0049A9EB: mov [L00CD8C40],ax L0049A9F1: mov ax,[edi+0Ah] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],bx jz L0049AA13 mov cx,[esi+01h] mov [esp+14h],ecx jmp L0049AA23 L0049AA13: mov cx,[L00CD8C40] mov [esp+14h],cx mov ecx,[esp+14h] L0049AA23: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L0050E6E4+edx*8],bx jz L0049AA44 mov [esi+01h],ax jmp L0049AA4A L0049AA44: mov [L00CD8C40],ax L0049AA4A: mov edi,[edi+0Ch] test edi,edi jnz L0049A99A L0049AA55: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049AA60: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],56h mov eax,[L0050E994] test edi,eax jz L0049AA7F mov word ptr [esi+01h],0003h jmp L0049AA88 L0049AA7F: mov word ptr [L00CD8C40],0001h L0049AA88: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AAA6 mov cx,[esi+01h] jmp L0049AAB6 L0049AAA6: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049AAB6: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AAD6 mov [esi+01h],ax jmp L0049AADC L0049AAD6: mov [L00CD8C40],ax L0049AADC: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049AAF0 mov ax,[esi+01h] jmp L0049AAFF L0049AAF0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049AAFF: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049AB20 mov [esi+01h],ax jmp L0049AB26 L0049AB20: mov [L00CD8C40],ax L0049AB26: xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049AB3A mov ax,[esi+01h] jmp L0049AB4A L0049AB3A: mov cx,[L00CD8C40] mov [esp+14h],cx mov eax,[esp+14h] L0049AB4A: mov dl,[esp+18h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049AB6B mov [esi+01h],ax jmp L0049AB71 L0049AB6B: mov [L00CD8C40],ax L0049AB71: mov edx,[esp+1Ch] push ebx mov ebx,[esp+24h] add edx,FFFFFFE8h push edx add ebx,0000FFE1h call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AB9D mov cx,[esi+01h] jmp L0049ABAD L0049AB9D: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049ABAD: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049ABCE mov [esi+01h],ax jmp L0049ABD4 L0049ABCE: mov [L00CD8C40],ax L0049ABD4: push ebx call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx pop ebx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049ABEF mov cx,[esi+01h] jmp L0049ABFF L0049ABEF: mov cx,[L00CD8C40] mov [esp+14h],cx mov ecx,[esp+14h] L0049ABFF: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L0050E6E4+edx*8],di jz L0049AC21 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049AC21: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049AC30: push ebx mov ebx,[esp+08h] push ebp mov ebp,00008000h mov byte ptr [ebx],93h mov eax,[L0050EB7C] test ebp,eax jz L0049AC4F mov word ptr [ebx+01h],0003h jmp L0049AC58 L0049AC4F: mov word ptr [L00CD8C40],0001h L0049AC58: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049AC76 mov cx,[ebx+01h] jmp L0049AC86 L0049AC76: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049AC86: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049ACA6 mov [ebx+01h],ax jmp L0049ACAC L0049ACA6: mov [L00CD8C40],ax L0049ACAC: xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049ACC0 mov ax,[ebx+01h] jmp L0049ACCF L0049ACC0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049ACCF: and eax,0000FFFFh xor ecx,ecx mov byte ptr [eax+ebx],00h mov cl,[ebx] inc eax test [L0050E6E4+ecx*8],bp jz L0049ACED mov [ebx+01h],ax jmp L0049ACF3 L0049ACED: mov [L00CD8C40],ax L0049ACF3: xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049AD07 mov ax,[ebx+01h] jmp L0049AD16 L0049AD07: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049AD16: and eax,0000FFFFh xor ecx,ecx mov byte ptr [eax+ebx],00h mov cl,[ebx] inc eax test [L0050E6E4+ecx*8],bp jz L0049AD34 mov [ebx+01h],ax jmp L0049AD3A L0049AD34: mov [L00CD8C40],ax L0049AD3A: push 00000000h call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049AD55 mov cx,[ebx+01h] jmp L0049AD65 L0049AD55: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L0049AD65: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],ax mov dl,[ebx] lea eax,[ecx+02h] test [L0050E6E4+edx*8],bp jz L0049AD86 mov [ebx+01h],ax jmp L0049AD8C L0049AD86: mov [L00CD8C40],ax L0049AD8C: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049ADA0 mov ax,[ebx+01h] jmp L0049ADB0 L0049ADA0: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049ADB0: and eax,0000FFFFh push esi mov esi,[esp+18h] push edi mov ecx,0000000Fh lea edi,[eax+ebx] xor edx,edx add eax,0000003Ch rep movsd mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049ADDC mov [ebx+01h],ax jmp L0049ADE2 L0049ADDC: mov [L00CD8C40],ax L0049ADE2: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049ADF6 mov ax,[ebx+01h] jmp L0049AE06 L0049ADF6: mov cx,[L00CD8C40] mov [esp+14h],cx mov eax,[esp+14h] L0049AE06: mov esi,[esp+20h] and eax,0000FFFFh mov ecx,00000007h xor edx,edx lea edi,[eax+ebx] add eax,0000001Eh rep movsd movsw mov dl,[ebx] pop edi pop esi test [L0050E6E4+edx*8],bp jz L0049AE35 mov [ebx+01h],ax pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049AE35: pop ebp mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049AE40: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],66h mov eax,[L0050EA14] test edi,eax jz L0049AE5F mov word ptr [esi+01h],0003h jmp L0049AE68 L0049AE5F: mov word ptr [L00CD8C40],0001h L0049AE68: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AE86 mov cx,[esi+01h] jmp L0049AE96 L0049AE86: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049AE96: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AEB6 mov [esi+01h],ax jmp L0049AEBC L0049AEB6: mov [L00CD8C40],ax L0049AEBC: push 00000001h call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049AED7 mov cx,[esi+01h] jmp L0049AEE7 L0049AED7: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L0049AEE7: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L0050E6E4+edx*8],di jz L0049AF08 mov [esi+01h],ax jmp L0049AF0E L0049AF08: mov [L00CD8C40],ax L0049AF0E: mov eax,[esp+14h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AF2C mov cx,[esi+01h] jmp L0049AF3C L0049AF2C: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049AF3C: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049AF5D mov [esi+01h],ax jmp L0049AF63 L0049AF5D: mov [L00CD8C40],ax L0049AF63: push 0000FFFFh call jmp_WSOCK32.dll!WSOCK32.9 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049AF81 mov cx,[esi+01h] jmp L0049AF91 L0049AF81: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L0049AF91: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],ax mov dl,[esi] lea eax,[ecx+02h] test [L0050E6E4+edx*8],di jz L0049AFB3 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049AFB3: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049AFC0: push ecx push ebx mov ebx,[esp+0Ch] push ebp mov ebp,00008000h mov byte ptr [ebx],66h mov eax,[L0050EA14] push esi push edi test ebp,eax jz L0049AFE2 mov word ptr [ebx+01h],0003h jmp L0049AFEB L0049AFE2: mov word ptr [L00CD8C40],0001h L0049AFEB: mov edi,[esp+1Ch] test edi,edi jz L0049B219 mov eax,[edi+38h] mov eax,[eax+7Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049B017 mov cx,[ebx+01h] jmp L0049B027 L0049B017: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049B027: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L0050E6E4+eax*8],bp jz L0049B047 mov [ebx+01h],cx jmp L0049B04E L0049B047: mov [L00CD8C40],cx L0049B04E: push 00000001h call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049B069 mov cx,[ebx+01h] jmp L0049B079 L0049B069: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049B079: and ecx,0000FFFFh mov [ecx+ebx],ax xor eax,eax mov al,[ebx] add ecx,00000002h test [L0050E6E4+eax*8],bp jz L0049B09A mov [ebx+01h],cx jmp L0049B0A1 L0049B09A: mov [L00CD8C40],cx L0049B0A1: mov esi,[esp+20h] push esi call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049B0BF mov cx,[ebx+01h] jmp L0049B0CF L0049B0BF: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049B0CF: and ecx,0000FFFFh mov [ecx+ebx],ax xor eax,eax mov al,[ebx] add ecx,00000002h test [L0050E6E4+eax*8],bp jz L0049B0F0 mov [ebx+01h],cx jmp L0049B0F7 L0049B0F0: mov [L00CD8C40],cx L0049B0F7: lea eax,[esi-01h] mov edx,[edi+000000A4h] and eax,0000FFFFh lea ecx,[eax+eax*4] lea ecx,[ecx+ecx*4] lea esi,[eax+ecx*8] shl esi,03h mov di,[edx+esi] push edi call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049B12F mov cx,[ebx+01h] jmp L0049B13F L0049B12F: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049B13F: and ecx,0000FFFFh mov [ecx+ebx],ax xor eax,eax mov al,[ebx] add ecx,00000002h test [L0050E6E4+eax*8],bp jz L0049B160 mov [ebx+01h],cx jmp L0049B167 L0049B160: mov [L00CD8C40],cx L0049B167: test di,di jbe L0049B219 and edi,0000FFFFh mov [esp+20h],esi mov [esp+10h],edi L0049B17E: mov ecx,[esp+1Ch] xor eax,eax mov edx,[ecx+000000A4h] or ecx,FFFFFFFFh lea esi,[esi+edx+02h] mov edi,esi repne scasb not ecx dec ecx mov eax,ecx xor ecx,ecx mov cl,[ebx] inc eax test [L0050E6E4+ecx*8],bp jz L0049B1B3 mov cx,[ebx+01h] mov [esp+18h],ecx jmp L0049B1C3 L0049B1B3: mov dx,[L00CD8C40] mov [esp+18h],dx mov ecx,[esp+18h] L0049B1C3: and ecx,0000FFFFh mov edx,ecx mov ecx,eax mov ebp,ecx add eax,edx lea edi,[edx+ebx] shr ecx,02h rep movsd mov ecx,ebp mov ebp,00008000h and ecx,00000003h rep movsb xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049B1F9 mov [ebx+01h],ax jmp L0049B1FF L0049B1F9: mov [L00CD8C40],ax L0049B1FF: mov esi,[esp+20h] mov eax,[esp+10h] add esi,00000050h dec eax mov [esp+20h],esi mov [esp+10h],eax jnz L0049B17E L0049B219: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049B220: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],6Ch mov eax,[L0050EA44] test edi,eax jz L0049B23F mov word ptr [esi+01h],0003h jmp L0049B248 L0049B23F: mov word ptr [L00CD8C40],0001h L0049B248: xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049B25C mov ax,[esi+01h] jmp L0049B26C L0049B25C: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049B26C: mov dl,[esp+10h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049B28D mov [esi+01h],ax jmp L0049B293 L0049B28D: mov [L00CD8C40],ax L0049B293: mov eax,[L00C861D8] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049B2B2 mov cx,[esi+01h] jmp L0049B2C2 L0049B2B2: mov cx,[L00CD8C40] mov [esp+10h],cx mov ecx,[esp+10h] L0049B2C2: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],eax mov dl,[esi] lea eax,[ecx+04h] test [L0050E6E4+edx*8],di jz L0049B2E2 mov [esi+01h],ax jmp L0049B2E8 L0049B2E2: mov [L00CD8C40],ax L0049B2E8: mov cl,[L00C88324] xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049B302 mov ax,[esi+01h] jmp L0049B312 L0049B302: mov dx,[L00CD8C40] mov [esp+10h],dx mov eax,[esp+10h] L0049B312: and eax,0000FFFFh mov [eax+esi],cl xor ecx,ecx mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049B32F mov [esi+01h],ax jmp L0049B335 L0049B32F: mov [L00CD8C40],ax L0049B335: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B353 mov cx,[esi+01h] jmp L0049B363 L0049B353: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B363: and ecx,0000FFFFh mov [ecx+esi],eax add ecx,00000004h push ecx push esi call SUB_L0048DA90 mov eax,[esp+20h] add esp,00000008h push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B397 mov cx,[esi+01h] jmp L0049B3A7 L0049B397: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B3A7: and ecx,0000FFFFh mov [ecx+esi],ax add ecx,00000002h push ecx push esi call SUB_L0048DA90 mov eax,[esp+24h] add esp,00000008h push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B3DC mov cx,[esi+01h] jmp L0049B3EC L0049B3DC: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B3EC: and ecx,0000FFFFh mov [ecx+esi],ax add ecx,00000002h push ecx push esi call SUB_L0048DA90 mov eax,[esp+28h] add esp,00000008h push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B421 mov cx,[esi+01h] jmp L0049B431 L0049B421: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B431: and ecx,0000FFFFh mov [ecx+esi],ax add ecx,00000002h push ecx push esi call SUB_L0048DA90 mov eax,[esp+2Ch] add esp,00000008h push eax call jmp_WSOCK32.dll!WSOCK32.9 push esi mov edi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+esi],di add eax,00000002h push eax push esi call SUB_L0048DA90 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049B480: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],6Fh mov eax,[L0050EA5C] test edi,eax jz L0049B49F mov word ptr [esi+01h],0003h jmp L0049B4A8 L0049B49F: mov word ptr [L00CD8C40],0001h L0049B4A8: xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049B4BC mov ax,[esi+01h] jmp L0049B4CC L0049B4BC: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049B4CC: mov dl,[esp+10h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049B4ED mov [esi+01h],ax jmp L0049B4F3 L0049B4ED: mov [L00CD8C40],ax L0049B4F3: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B511 mov cx,[esi+01h] jmp L0049B521 L0049B511: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B521: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B541 mov [esi+01h],ax jmp L0049B547 L0049B541: mov [L00CD8C40],ax L0049B547: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B565 mov cx,[esi+01h] jmp L0049B575 L0049B565: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B575: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B595 mov [esi+01h],ax jmp L0049B59B L0049B595: mov [L00CD8C40],ax L0049B59B: mov edx,[esp+1Ch] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B5B9 mov cx,[esi+01h] jmp L0049B5C9 L0049B5B9: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B5C9: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B5E9 mov [esi+01h],ax jmp L0049B5EF L0049B5E9: mov [L00CD8C40],ax L0049B5EF: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049B603 mov ax,[esi+01h] jmp L0049B612 L0049B603: mov ax,[L00CD8C40] mov [esp+10h],ax mov eax,[esp+10h] L0049B612: and eax,0000FFFFh xor ecx,ecx mov byte ptr [eax+esi],00h mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049B631 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049B631: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049B640: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],71h mov eax,[L0050EA6C] test edi,eax jz L0049B65F mov word ptr [esi+01h],0003h jmp L0049B668 L0049B65F: mov word ptr [L00CD8C40],0001h L0049B668: xor eax,eax mov al,[esi] test [L0050E6E4+eax*8],di jz L0049B67C mov ax,[esi+01h] jmp L0049B68C L0049B67C: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049B68C: mov dl,[esp+10h] and eax,0000FFFFh xor ecx,ecx mov [eax+esi],dl mov cl,[esi] inc eax test [L0050E6E4+ecx*8],di jz L0049B6AD mov [esi+01h],ax jmp L0049B6B3 L0049B6AD: mov [L00CD8C40],ax L0049B6B3: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B6D1 mov cx,[esi+01h] jmp L0049B6E1 L0049B6D1: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B6E1: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B701 mov [esi+01h],ax jmp L0049B707 L0049B701: mov [L00CD8C40],ax L0049B707: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B725 mov cx,[esi+01h] jmp L0049B735 L0049B725: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049B735: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049B756 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049B756: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049B760: mov eax,[esp+04h] push esi mov esi,00008000h mov byte ptr [eax],72h mov ecx,[L0050EA74] test esi,ecx jz L0049B77F mov word ptr [eax+01h],0003h jmp L0049B788 L0049B77F: mov word ptr [L00CD8C40],0001h L0049B788: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L0049B79C mov cx,[eax+01h] jmp L0049B7AC L0049B79C: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049B7AC: mov dl,[esp+0Ch] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si jz L0049B7CE mov [eax+01h],cx jmp L0049B7D5 L0049B7CE: mov [L00CD8C40],cx L0049B7D5: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L0049B7E9 mov cx,[eax+01h] jmp L0049B7F9 L0049B7E9: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049B7F9: mov dl,[esp+10h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si jz L0049B81B mov [eax+01h],cx jmp L0049B822 L0049B81B: mov [L00CD8C40],cx L0049B822: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L0049B836 mov cx,[eax+01h] jmp L0049B846 L0049B836: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049B846: mov dl,[esp+14h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si jz L0049B868 mov [eax+01h],cx jmp L0049B86F L0049B868: mov [L00CD8C40],cx L0049B86F: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],si jz L0049B883 mov cx,[eax+01h] jmp L0049B893 L0049B883: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049B893: mov dl,[esp+18h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],si pop esi jz L0049B8B5 mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L0049B8B5: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049B8C0: sub esp,00000008h push ebx mov ebx,[esp+10h] push ebp mov ebp,00008000h mov byte ptr [ebx],71h mov eax,[L0050EA6C] push esi push edi test ebp,eax jz L0049B8E4 mov word ptr [ebx+01h],0003h jmp L0049B8ED L0049B8E4: mov word ptr [L00CD8C40],0001h L0049B8ED: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049B901 mov ax,[ebx+01h] jmp L0049B911 L0049B901: mov cx,[L00CD8C40] mov [esp+1Ch],cx mov eax,[esp+1Ch] L0049B911: mov dl,[esp+20h] and eax,0000FFFFh xor ecx,ecx mov [eax+ebx],dl mov cl,[ebx] inc eax test [L0050E6E4+ecx*8],bp jz L0049B932 mov [ebx+01h],ax jmp L0049B938 L0049B932: mov [L00CD8C40],ax L0049B938: mov esi,[esp+24h] mov eax,[esi+38h] test eax,eax jz L0049B972 mov eax,[eax+7Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049B960 mov cx,[ebx+01h] jmp L0049B99D L0049B960: mov cx,[L00CD8C40] mov [esp+20h],cx mov ecx,[esp+20h] jmp L0049B99D L0049B972: push 00000000h call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049B98D mov cx,[ebx+01h] jmp L0049B99D L0049B98D: mov cx,[L00CD8C40] mov [esp+20h],cx mov ecx,[esp+20h] L0049B99D: and ecx,0000FFFFh mov [ecx+ebx],eax add ecx,00000004h push ecx push ebx call SUB_L0048DA90 mov eax,[esi+000000C4h] add esp,00000008h push eax call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049B9D3 mov cx,[ebx+01h] jmp L0049B9E3 L0049B9D3: mov cx,[L00CD8C40] mov [esp+20h],cx mov ecx,[esp+20h] L0049B9E3: and ecx,0000FFFFh mov [ecx+ebx],eax add ecx,00000004h push ecx push ebx call SUB_L0048DA90 mov edi,[esi+0000009Ch] or ecx,FFFFFFFFh add edi,000000F8h xor eax,eax add esp,00000008h xor edx,edx repne scasb mov dl,[ebx] not ecx dec ecx inc cl test [L0050E6E4+edx*8],bp mov [esp+20h],cl jz L0049BA29 mov ax,[ebx+01h] jmp L0049BA38 L0049BA29: mov ax,[L00CD8C40] mov [esp+1Ch],ax mov eax,[esp+1Ch] L0049BA38: and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 mov eax,[esp+28h] mov esi,[esi+0000009Ch] xor ecx,ecx add esp,00000008h mov cl,[ebx] and eax,000000FFh add esi,000000F8h test [L0050E6E4+ecx*8],bp jz L0049BA74 mov cx,[ebx+01h] jmp L0049BA84 L0049BA74: mov dx,[L00CD8C40] mov [esp+1Ch],dx mov ecx,[esp+1Ch] L0049BA84: and ecx,0000FFFFh mov edx,ecx mov ecx,eax mov ebp,ecx add eax,edx lea edi,[edx+ebx] push eax shr ecx,02h rep movsd mov ecx,ebp push ebx and ecx,00000003h rep movsb call SUB_L0048DA90 mov esi,[esp+2Ch] xor eax,eax mov al,[ebx] add esp,00000008h mov cl,[esi+00000160h] test byte ptr [L0050E6E5+eax*8],80h jz L0049BAC9 mov ax,[ebx+01h] jmp L0049BAD9 L0049BAC9: mov dx,[L00CD8C40] mov [esp+1Ch],dx mov eax,[esp+1Ch] L0049BAD9: and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 mov eax,[esi+00000160h] add esp,00000008h test eax,eax mov dword ptr [esp+14h],00000000h jle L0049BBB6 add esi,0000017Ch mov [esp+1Ch],esi jmp L0049BB12 L0049BB0E: mov esi,[esp+1Ch] L0049BB12: mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax repne scasb mov al,[ebx] not ecx dec ecx inc cl test byte ptr [L0050E6E5+eax*8],80h mov [esp+20h],cl jz L0049BB3A mov ax,[ebx+01h] mov [esp+10h],eax jmp L0049BB4A L0049BB3A: mov dx,[L00CD8C40] mov [esp+10h],dx mov eax,[esp+10h] L0049BB4A: and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 mov ebp,[esp+28h] mov esi,[esi] push ebx and ebp,000000FFh call SUB_L00490E70 mov ecx,ebp and eax,0000FFFFh mov edx,ecx add ebp,eax lea edi,[eax+ebx] push ebp shr ecx,02h rep movsd mov ecx,edx push ebx and ecx,00000003h rep movsb call SUB_L0048DA90 mov ecx,[esp+38h] mov eax,[esp+28h] mov esi,[esp+30h] add esp,00000014h mov edx,[ecx+00000160h] inc eax add esi,00000004h cmp eax,edx mov [esp+14h],eax mov [esp+1Ch],esi jl L0049BB0E L0049BBB6: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049BBC0: mov eax,[esp+04h] mov byte ptr [eax],73h mov ecx,[L0050EA7C] test ch,80h jz L0049BBDA mov word ptr [eax+01h],0003h jmp L0049BBE3 L0049BBDA: mov word ptr [L00CD8C40],0001h L0049BBE3: xor ecx,ecx mov cl,[eax] test byte ptr [L0050E6E5+ecx*8],80h jz L0049BBF7 mov cx,[eax+01h] jmp L0049BC07 L0049BBF7: mov dx,[L00CD8C40] mov [esp+04h],dx mov ecx,[esp+04h] L0049BC07: mov dl,[esp+08h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test byte ptr [L0050E6E5+edx*8],80h jz L0049BC28 mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L0049BC28: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ SUB_L0049BC30: push ebx mov ebx,[esp+08h] push ebp mov ebp,00008000h mov byte ptr [ebx],75h mov eax,[L0050EA8C] test ebp,eax jz L0049BC4F mov word ptr [ebx+01h],0003h jmp L0049BC58 L0049BC4F: mov word ptr [L00CD8C40],0001h L0049BC58: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049BC76 mov cx,[ebx+01h] jmp L0049BC86 L0049BC76: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BC86: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049BCA6 mov [ebx+01h],ax jmp L0049BCAC L0049BCA6: mov [L00CD8C40],ax L0049BCAC: xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049BCC0 mov ax,[ebx+01h] jmp L0049BCCF L0049BCC0: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049BCCF: and eax,0000FFFFh push esi mov esi,[esp+18h] push edi mov ecx,00000007h lea edi,[eax+ebx] rep movsd xor ecx,ecx add eax,0000001Eh movsw mov cl,[ebx] pop edi pop esi test [L0050E6E4+ecx*8],bp jz L0049BD00 mov [ebx+01h],ax pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049BD00: pop ebp mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049BD10: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],7Dh mov eax,[L0050EACC] test edi,eax jz L0049BD2F mov word ptr [esi+01h],0003h jmp L0049BD38 L0049BD2F: mov word ptr [L00CD8C40],0001h L0049BD38: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BD56 mov cx,[esi+01h] jmp L0049BD66 L0049BD56: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BD66: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BD86 mov [esi+01h],ax jmp L0049BD8C L0049BD86: mov [L00CD8C40],ax L0049BD8C: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BDAA mov cx,[esi+01h] jmp L0049BDBA L0049BDAA: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BDBA: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BDDB mov [esi+01h],ax jmp L0049BDE1 L0049BDDB: mov [L00CD8C40],ax L0049BDE1: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BDFF mov cx,[esi+01h] jmp L0049BE0F L0049BDFF: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BE0F: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BE30 mov [esi+01h],ax jmp L0049BE36 L0049BE30: mov [L00CD8C40],ax L0049BE36: mov edx,[esp+1Ch] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BE54 mov cx,[esi+01h] jmp L0049BE64 L0049BE54: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BE64: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BE85 mov [esi+01h],ax jmp L0049BE8B L0049BE85: mov [L00CD8C40],ax L0049BE8B: mov edx,[esp+20h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BEA9 mov cx,[esi+01h] jmp L0049BEB9 L0049BEA9: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BEB9: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BEDB mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049BEDB: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049BEF0: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],95h mov eax,[L0050EB8C] test edi,eax jz L0049BF0F mov word ptr [esi+01h],0003h jmp L0049BF18 L0049BF0F: mov word ptr [L00CD8C40],0001h L0049BF18: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BF36 mov cx,[esi+01h] jmp L0049BF46 L0049BF36: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BF46: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BF66 mov [esi+01h],ax jmp L0049BF6C L0049BF66: mov [L00CD8C40],ax L0049BF6C: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BF8A mov cx,[esi+01h] jmp L0049BF9A L0049BF8A: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BF9A: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BFBB mov [esi+01h],ax jmp L0049BFC1 L0049BFBB: mov [L00CD8C40],ax L0049BFC1: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049BFDF mov cx,[esi+01h] jmp L0049BFEF L0049BFDF: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049BFEF: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049C011 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049C011: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C020: mov eax,[esp+04h] push ebp mov ebp,00008000h mov byte ptr [eax],80h mov ecx,[L0050EAE4] test ebp,ecx jz L0049C03F mov word ptr [eax+01h],0003h jmp L0049C048 L0049C03F: mov word ptr [L00CD8C40],0001h L0049C048: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],bp jz L0049C05C mov cx,[eax+01h] jmp L0049C06C L0049C05C: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049C06C: and ecx,0000FFFFh push esi mov esi,[esp+10h] mov edx,ecx push edi mov ecx,00000007h lea edi,[edx+eax] rep movsd lea ecx,[edx+1Eh] xor edx,edx movsw mov dl,[eax] test [L0050E6E4+edx*8],bp jz L0049C09D mov [eax+01h],cx jmp L0049C0A4 L0049C09D: mov [L00CD8C40],cx L0049C0A4: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],bp jz L0049C0B8 mov cx,[eax+01h] jmp L0049C0C8 L0049C0B8: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049C0C8: mov esi,[esp+18h] 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] pop edi pop esi test [L0050E6E4+edx*8],bp jz L0049C0F9 mov [eax+01h],cx jmp L0049C100 L0049C0F9: mov [L00CD8C40],cx L0049C100: xor ecx,ecx mov cl,[eax] test [L0050E6E4+ecx*8],bp jz L0049C114 mov cx,[eax+01h] jmp L0049C124 L0049C114: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049C124: mov dl,[esp+14h] and ecx,0000FFFFh mov [ecx+eax],dl xor edx,edx mov dl,[eax] inc ecx test [L0050E6E4+edx*8],bp pop ebp jz L0049C146 mov [eax+01h],cx retn ;------------------------------------------------------------------------------ L0049C146: mov [L00CD8C40],cx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049C150: push ebx mov ebx,[esp+08h] push ebp mov ebp,00008000h mov byte ptr [ebx],83h mov eax,[L0050EAFC] test ebp,eax jz L0049C16F mov word ptr [ebx+01h],0003h jmp L0049C178 L0049C16F: mov word ptr [L00CD8C40],0001h L0049C178: xor eax,eax mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049C18C mov ax,[ebx+01h] jmp L0049C19C L0049C18C: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov eax,[esp+0Ch] L0049C19C: and eax,0000FFFFh push esi mov esi,[esp+18h] push edi mov ecx,00000007h lea edi,[eax+ebx] rep movsd xor edx,edx add eax,0000001Eh movsw mov dl,[ebx] pop edi pop esi test [L0050E6E4+edx*8],bp jz L0049C1CC mov [ebx+01h],ax jmp L0049C1D2 L0049C1CC: mov [L00CD8C40],ax L0049C1D2: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C1F0 mov cx,[ebx+01h] jmp L0049C200 L0049C1F0: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C200: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C220 mov [ebx+01h],ax jmp L0049C226 L0049C220: mov [L00CD8C40],ax L0049C226: mov edx,[L00C88300] mov eax,[edx+00030040h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C24C mov cx,[ebx+01h] jmp L0049C25C L0049C24C: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C25C: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C27D mov [ebx+01h],ax pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049C27D: pop ebp mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C290: push esi mov esi,[esp+08h] mov byte ptr [esi],98h mov eax,[L0050EBA4] test ah,80h jz L0049C2AA mov word ptr [esi+01h],0003h jmp L0049C2B3 L0049C2AA: mov word ptr [L00CD8C40],0001h L0049C2B3: mov eax,[esp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049C2D1 mov cx,[esi+01h] jmp L0049C2E1 L0049C2D1: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049C2E1: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049C301 mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L0049C301: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C310: push ebx mov ebx,[esp+08h] push ebp mov ebp,00008000h mov byte ptr [ebx],9Ah mov eax,[L0050EBB4] test ebp,eax jz L0049C32F mov word ptr [ebx+01h],0003h jmp L0049C338 L0049C32F: mov word ptr [L00CD8C40],0001h L0049C338: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C356 mov cx,[ebx+01h] jmp L0049C366 L0049C356: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C366: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C386 mov [ebx+01h],ax jmp L0049C38C L0049C386: mov [L00CD8C40],ax L0049C38C: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C3AA mov cx,[ebx+01h] jmp L0049C3BA L0049C3AA: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C3BA: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C3DA mov [ebx+01h],ax jmp L0049C3E0 L0049C3DA: mov [L00CD8C40],ax L0049C3E0: mov edx,[esp+18h] push edx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C3FE mov cx,[ebx+01h] jmp L0049C40E L0049C3FE: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C40E: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C42E mov [ebx+01h],ax jmp L0049C434 L0049C42E: mov [L00CD8C40],ax L0049C434: push esi mov esi,[esp+20h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb mov al,[ebx] not ecx dec ecx mov edx,ecx inc edx test [L0050E6E4+eax*8],bp jz L0049C45B mov ax,[ebx+01h] jmp L0049C46B L0049C45B: mov cx,[L00CD8C40] mov [esp+14h],cx mov eax,[esp+14h] L0049C46B: mov ecx,edx and eax,0000FFFFh mov ebp,ecx lea edi,[eax+ebx] add eax,edx shr ecx,02h rep movsd mov ecx,ebp xor edx,edx and ecx,00000003h rep movsb mov dl,[ebx] pop edi pop esi test byte ptr [L0050E6E5+edx*8],80h jz L0049C49C mov [ebx+01h],ax pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049C49C: pop ebp mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049C4B0: push ebx mov ebx,[esp+08h] push edi mov edi,00008000h mov byte ptr [ebx],C2h mov eax,[L0050ECF4] test edi,eax jz L0049C4CF mov word ptr [ebx+01h],0003h jmp L0049C4D8 L0049C4CF: mov word ptr [L00CD8C40],0001h L0049C4D8: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],di jz L0049C4F6 mov cx,[ebx+01h] jmp L0049C506 L0049C4F6: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C506: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L0050E6E4+eax*8],di jz L0049C526 mov [ebx+01h],cx jmp L0049C52D L0049C526: mov [L00CD8C40],cx L0049C52D: mov ecx,[esp+14h] push ecx call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],di jz L0049C54B mov cx,[ebx+01h] jmp L0049C55B L0049C54B: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L0049C55B: and ecx,0000FFFFh xor edx,edx mov [ecx+ebx],eax mov dl,[ebx] add ecx,00000004h test [L0050E6E4+edx*8],di jz L0049C57B mov [ebx+01h],cx jmp L0049C582 L0049C57B: mov [L00CD8C40],cx L0049C582: mov eax,[esp+18h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],di jz L0049C5A0 mov cx,[ebx+01h] jmp L0049C5B0 L0049C5A0: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049C5B0: and ecx,0000FFFFh mov [ecx+ebx],eax xor eax,eax mov al,[ebx] add ecx,00000004h test [L0050E6E4+eax*8],di jz L0049C5D0 mov [ebx+01h],cx jmp L0049C5D7 L0049C5D0: mov [L00CD8C40],cx L0049C5D7: xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],di jz L0049C5EB mov ax,[ebx+01h] jmp L0049C5FB L0049C5EB: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov eax,[esp+0Ch] L0049C5FB: mov edx,[L00C8367C] and eax,0000FFFFh lea ecx,[eax+ebx] add eax,00000004h mov [ecx],edx xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],di jz L0049C622 mov [ebx+01h],ax jmp L0049C628 L0049C622: mov [L00CD8C40],ax L0049C628: push ebp push esi mov esi,[esp+24h] push esi call SUB_L004C4300 xor edx,edx add esp,00000004h mov dl,[ebx] test [L0050E6E4+edx*8],di jz L0049C64B mov cx,[ebx+01h] jmp L0049C65B L0049C64B: mov cx,[L00CD8C40] mov [esp+14h],cx mov ecx,[esp+14h] L0049C65B: and ecx,0000FFFFh mov edx,ecx lea ecx,[eax+eax] mov ebp,ecx lea edi,[edx+ebx] lea eax,[edx+eax*2] shr ecx,02h rep movsd mov ecx,ebp xor edx,edx and ecx,00000003h rep movsb mov dl,[ebx] pop esi pop ebp test byte ptr [L0050E6E5+edx*8],80h jz L0049C691 mov [ebx+01h],ax pop edi pop ebx retn ;------------------------------------------------------------------------------ L0049C691: pop edi mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C6A0: push esi mov esi,[esp+08h] mov byte ptr [esi],A0h mov eax,[L0050EBE4] test ah,80h jz L0049C6BA mov word ptr [esi+01h],0003h jmp L0049C6C3 L0049C6BA: mov word ptr [L00CD8C40],0001h L0049C6C3: mov eax,[esp+0Ch] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049C6E1 mov cx,[esi+01h] jmp L0049C6F1 L0049C6E1: mov dx,[L00CD8C40] mov [esp+08h],dx mov ecx,[esp+08h] L0049C6F1: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test byte ptr [L0050E6E5+ecx*8],80h jz L0049C712 mov [esi+01h],ax pop esi retn ;------------------------------------------------------------------------------ L0049C712: mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C720: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov cl,[eax+ecx] push ecx call SUB_L0047ADE0 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049C750: sub esp,0000009Ch push ebx mov ebx,[esp+000000A4h] push ebp mov ebp,00008000h mov byte ptr [ebx],A4h mov eax,[L0050EC04] push esi push edi test ebp,eax jz L0049C77A mov word ptr [ebx+01h],0003h jmp L0049C783 L0049C77A: mov word ptr [L00CD8C40],0001h L0049C783: lea eax,[esp+14h] push eax call SUB_L0045D600 xor ecx,ecx add esp,00000004h mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C7A4 mov ax,[ebx+01h] jmp L0049C7B4 L0049C7A4: mov dx,[L00CD8C40] mov [esp+10h],dx mov eax,[esp+10h] L0049C7B4: mov cl,[esp+15h] and eax,0000FFFFh mov [eax+ebx],cl inc eax push eax push ebx call SUB_L0048DA90 mov edx,[esp+1Eh] add esp,00000008h push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C7E9 mov cx,[ebx+01h] jmp L0049C7F9 L0049C7E9: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049C7F9: and ecx,0000FFFFh mov [ecx+ebx],ax add ecx,00000002h push ecx push ebx call SUB_L0048DA90 xor eax,eax add esp,00000008h mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049C824 mov ax,[ebx+01h] jmp L0049C834 L0049C824: mov cx,[L00CD8C40] mov [esp+10h],cx mov eax,[esp+10h] L0049C834: mov dl,[esp+18h] and eax,0000FFFFh mov [eax+ebx],dl inc eax push eax push ebx call SUB_L0048DA90 xor eax,eax add esp,00000008h mov al,[ebx] test [L0050E6E4+eax*8],bp jz L0049C85F mov ax,[ebx+01h] jmp L0049C86F L0049C85F: mov cx,[L00CD8C40] mov [esp+10h],cx mov eax,[esp+10h] L0049C86F: and eax,0000FFFFh mov ecx,00000008h lea esi,[esp+19h] lea edi,[eax+ebx] add eax,00000020h push eax push ebx rep movsd call SUB_L0048DA90 xor edx,edx add esp,00000008h mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049C8A3 mov ax,[ebx+01h] jmp L0049C8B2 L0049C8A3: mov ax,[L00CD8C40] mov [esp+10h],ax mov eax,[esp+10h] L0049C8B2: and eax,0000FFFFh mov ecx,00000008h lea esi,[esp+39h] lea edi,[eax+ebx] add eax,00000020h push eax push ebx rep movsd call SUB_L0048DA90 xor ecx,ecx add esp,00000008h mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049C8E6 mov ax,[ebx+01h] jmp L0049C8F6 L0049C8E6: mov dx,[L00CD8C40] mov [esp+10h],dx mov eax,[esp+10h] L0049C8F6: and eax,0000FFFFh mov ecx,00000008h lea esi,[esp+59h] lea edi,[eax+ebx] add eax,00000020h push eax push ebx rep movsd call SUB_L0048DA90 push ebx call SUB_L00490E70 and eax,0000FFFFh mov ecx,00000008h lea esi,[esp+00000085h] lea edi,[eax+ebx] add eax,00000020h push eax push ebx rep movsd call SUB_L0048DA90 mov eax,[esp+000000AEh] add esp,00000014h push eax call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 mov ecx,[esp+000000A8h] add esp,0000000Ch push ecx call jmp_WSOCK32.dll!WSOCK32.9 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],si add eax,00000002h push eax push ebx call SUB_L0048DA90 mov edx,[esp+000000ACh] add esp,0000000Ch push edx call jmp_WSOCK32.dll!WSOCK32.8 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],esi add eax,00000004h push eax push ebx call SUB_L0048DA90 mov eax,[esp+000000B0h] add esp,0000000Ch push eax call jmp_WSOCK32.dll!WSOCK32.8 push ebx mov esi,eax call SUB_L00490E70 and eax,0000FFFFh mov [eax+ebx],esi add eax,00000004h push eax push ebx call SUB_L0048DA90 mov ecx,[esp+000000B4h] push ecx push ebx call SUB_L0048BE20 add esp,00000014h pop edi pop esi pop ebp pop ebx add esp,0000009Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049CA00: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],A7h mov eax,[L0050EC1C] test edi,eax jz L0049CA1F mov word ptr [esi+01h],0003h jmp L0049CA28 L0049CA1F: mov word ptr [L00CD8C40],0001h L0049CA28: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CA46 mov cx,[esi+01h] jmp L0049CA56 L0049CA46: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049CA56: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CA77 mov [esi+01h],ax jmp L0049CA7D L0049CA77: mov [L00CD8C40],ax L0049CA7D: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049CA91 mov ax,[esi+01h] jmp L0049CAA0 L0049CA91: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049CAA0: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049CAC2 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CAC2: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049CAD0: push ebx mov ebx,[esp+08h] push ebp mov ebp,00008000h mov byte ptr [ebx],ACh mov eax,[L0050EC44] test ebp,eax jz L0049CAEF mov word ptr [ebx+01h],0003h jmp L0049CAF8 L0049CAEF: mov word ptr [L00CD8C40],0001h L0049CAF8: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CB16 mov cx,[ebx+01h] jmp L0049CB26 L0049CB16: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049CB26: and ecx,0000FFFFh mov [ecx+ebx],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CB46 mov [ebx+01h],ax jmp L0049CB4C L0049CB46: mov [L00CD8C40],ax L0049CB4C: mov edx,[esp+14h] push edx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CB6A mov cx,[ebx+01h] jmp L0049CB7A L0049CB6A: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049CB7A: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CB9B mov [ebx+01h],ax jmp L0049CBA1 L0049CB9B: mov [L00CD8C40],ax L0049CBA1: xor edx,edx mov dl,[ebx] test [L0050E6E4+edx*8],bp jz L0049CBB5 mov ax,[ebx+01h] jmp L0049CBC4 L0049CBB5: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049CBC4: mov cl,[esp+18h] and eax,0000FFFFh xor edx,edx mov [eax+ebx],cl mov dl,[ebx] inc eax test [L0050E6E4+edx*8],bp jz L0049CBE5 mov [ebx+01h],ax jmp L0049CBEB L0049CBE5: mov [L00CD8C40],ax L0049CBEB: push esi mov esi,[esp+20h] push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CC16 mov cx,[ebx+01h] jmp L0049CC26 L0049CC16: mov dx,[L00CD8C40] mov [esp+20h],dx mov ecx,[esp+20h] L0049CC26: and ecx,0000FFFFh mov [ecx+ebx],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[ebx] test [L0050E6E4+ecx*8],bp jz L0049CC47 mov [ebx+01h],ax jmp L0049CC4D L0049CC47: mov [L00CD8C40],ax L0049CC4D: mov edi,esi or ecx,FFFFFFFFh xor eax,eax xor edx,edx repne scasb mov dl,[ebx] not ecx dec ecx mov eax,ecx inc eax test [L0050E6E4+edx*8],bp jz L0049CC70 mov cx,[ebx+01h] jmp L0049CC80 L0049CC70: mov cx,[L00CD8C40] mov [esp+20h],cx mov ecx,[esp+20h] L0049CC80: and ecx,0000FFFFh mov edx,ecx mov ecx,eax mov ebp,ecx add eax,edx lea edi,[edx+ebx] xor edx,edx shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb mov dl,[ebx] pop edi pop esi test byte ptr [L0050E6E5+edx*8],80h jz L0049CCB4 mov [ebx+01h],ax pop ebp pop ebx retn ;------------------------------------------------------------------------------ L0049CCB4: pop ebp mov [L00CD8C40],ax pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049CCC0: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],B6h mov eax,[L0050EC94] test edi,eax jz L0049CCDF mov word ptr [esi+01h],0003h jmp L0049CCE8 L0049CCDF: mov word ptr [L00CD8C40],0001h L0049CCE8: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CD06 mov cx,[esi+01h] jmp L0049CD16 L0049CD06: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049CD16: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CD36 mov [esi+01h],ax jmp L0049CD3C L0049CD36: mov [L00CD8C40],ax L0049CD3C: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049CD50 mov ax,[esi+01h] jmp L0049CD5F L0049CD50: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049CD5F: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049CD80 mov [esi+01h],ax jmp L0049CD86 L0049CD80: mov [L00CD8C40],ax L0049CD86: call SUB_L0046E410 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CD9F mov cx,[esi+01h] jmp L0049CDAF L0049CD9F: mov dx,[L00CD8C40] mov [esp+14h],dx mov ecx,[esp+14h] L0049CDAF: and ecx,0000FFFFh push ebx mov bx,[eax] lea edx,[ecx+esi] mov [ecx+esi],bx mov al,[eax+02h] pop ebx mov [edx+02h],al lea eax,[ecx+03h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CDDF mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CDDF: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CDF0: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],BBh mov eax,[L0050ECBC] test edi,eax jz L0049CE0F mov word ptr [esi+01h],0003h jmp L0049CE18 L0049CE0F: mov word ptr [L00CD8C40],0001h L0049CE18: push ebx mov ebx,[esp+14h] push ebx call jmp_WSOCK32.dll!WSOCK32.8 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CE37 mov cx,[esi+01h] jmp L0049CE47 L0049CE37: mov dx,[L00CD8C40] mov [esp+10h],dx mov ecx,[esp+10h] L0049CE47: and ecx,0000FFFFh mov [ecx+esi],eax lea eax,[ecx+04h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049CE67 mov [esi+01h],ax jmp L0049CE6D L0049CE67: mov [L00CD8C40],ax L0049CE6D: push ebx call jmp_WSOCK32.dll!WSOCK32.8 xor edx,edx pop ebx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049CE88 mov cx,[esi+01h] jmp L0049CE98 L0049CE88: mov cx,[L00CD8C40] mov [esp+0Ch],cx mov ecx,[esp+0Ch] L0049CE98: and ecx,0000FFFFh xor edx,edx mov [ecx+esi],eax mov dl,[esi] lea eax,[ecx+04h] test [L0050E6E4+edx*8],di jz L0049CEB9 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049CEB9: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049CED0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E5343 push eax mov fs:[00000000h],esp sub esp,00000018h xor eax,eax push esi mov esi,[esp+2Ch] mov al,[esi] mov ax,[L0050E6E4+eax*8] and ax,8000h jz L0049CF05 mov cx,[esi+01h] jmp L0049CF15 L0049CF05: mov cx,[L00CD8C40] mov [esp+2Ch],cx mov ecx,[esp+2Ch] L0049CF15: and ecx,0000FFFFh push ebp neg ax sbb eax,eax push edi and eax,00000002h mov edi,ecx inc eax and eax,0000FFFFh mov eax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.14 xor edx,edx mov [esp+10h],eax mov dl,[esi] mov ecx,FFFFFFFCh mov ebp,00000004h mov ax,[L0050E6E4+edx*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh sub ecx,eax add edi,ecx mov eax,edi cdq sub eax,edx mov edi,eax sar edi,1 lea edx,[edi+edi+02h] push edx call SUB_L004D5A3E add esp,00000004h mov [esp+0Ch],eax test edi,edi jle L0049CFCA push ebx mov ebx,eax mov [esp+38h],edi L0049CF89: xor eax,eax mov al,[esi] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh add eax,ebp mov ax,[eax+esi] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [ebx],ax mov eax,[esp+38h] add ebp,00000002h add ebx,00000002h dec eax mov [esp+38h],eax jnz L0049CF89 mov eax,[esp+10h] pop ebx L0049CFCA: push eax lea ecx,[esp+18h] mov word ptr [eax+edi*2],0000h call SUB_L004C81B0 mov ecx,[esp+0Ch] mov dword ptr [esp+2Ch],00000000h push ecx call SUB_L004D59F6 mov edx,[esp+14h] push edx call SUB_L004843F0 add esp,00000008h test eax,eax pop edi pop ebp jz L0049D0BE call SUB_L0045FA50 mov al,[L00504614] test al,al jz L0049D0BE mov ecx,[L00B294C8] test ecx,ecx jz L0049D036 mov al,[L00504624] test al,al jnz L0049D0BE test ecx,ecx jz L0049D036 mov eax,[ecx] push 00000001h call [eax] L0049D036: lea ecx,[esp+2Ch] lea edx,[esp+08h] push ecx push edx call SUB_L00476BC0 push 000000C0h call SUB_L004D4FA9 mov esi,eax add esp,0000000Ch mov [esp+04h],esi test esi,esi mov byte ptr [esp+24h],01h jz L0049D087 lea ecx,[esp+0Ch] call SUB_L004C8360 mov ecx,[esp+08h] push eax mov eax,[esp+30h] push 00000064h push 000000A0h push eax push ecx mov ecx,esi call SUB_L0045FAA0 mov ecx,eax jmp L0049D089 L0049D087: xor ecx,ecx L0049D089: mov al,[L00C3E64F] mov byte ptr [esp+24h],00h test al,al mov [L00B294C8],ecx jnz L0049D0BE mov eax,[ecx+24h] push 00000001h cdq sub eax,edx push 00000000h sar eax,1 neg eax push 00000001h push eax mov eax,[ecx+20h] cdq sub eax,edx sar eax,1 neg eax push eax call SUB_L00457800 L0049D0BE: lea ecx,[esp+0Ch] mov dword ptr [esp+24h],FFFFFFFFh call SUB_L004C8100 mov ecx,[esp+1Ch] pop esi mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049D0E0: mov ecx,[esp+04h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov ax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.15 test al,01h jz L0049D119 push 00000001h call SUB_L004C7C50 add esp,00000004h retn ;------------------------------------------------------------------------------ L0049D119: push 00000000h call SUB_L004C7C50 pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D130: push esi mov esi,[esp+08h] xor eax,eax push edi mov al,[esi] mov ax,[L0050E6E4+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 [esp+0Ch],cl inc eax and eax,0000FFFFh mov ax,[eax+esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 xor edx,edx mov edi,eax mov dl,[esi] mov ax,[L0050E6E4+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 mov ecx,[esp+0Ch] and eax,0000FFFFh and ecx,000000FFh and edi,0000FFFFh push ecx push eax push edi call SUB_L0045AFF0 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D1D0: push esi mov esi,[esp+08h] xor eax,eax mov al,[esi] mov ax,[L0050E6E4+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 dl,[esi] mov ax,[L0050E6E4+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 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049D230: mov eax,fs:[00000000h] push FFFFFFFFh push L004E53B2 push eax mov eax,0001FA04h mov fs:[00000000h],esp call SUB_L004D4B90 push ebp push esi push edi mov edi,[esp+0001FA20h] xor esi,esi L0049D25B: mov al,[esi+edi] test al,al jnz L0049D26A mov cl,[esi+edi+01h] test cl,cl jz L0049D292 L0049D26A: xor ecx,ecx mov ch,[esi+edi+01h] mov cl,al mov eax,esi cdq sub eax,edx add esi,00000002h sar eax,1 cmp esi,0000EA60h mov [esp+eax*2+0000FA10h],cx jg L0049D896 jmp L0049D25B L0049D292: mov eax,esi push 00000002h cdq sub eax,edx lea edx,[esp+0000FA14h] sar eax,1 xor edi,edi push L0050E3EC push edx mov [esp+eax*2+0000FA1Ch],di call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D2DE mov ecx,[L00B29474] cmp ecx,edi jz L0049D896 lea eax,[esp+0000FA18h] push eax call SUB_L0044B9D0 jmp L0049D896 L0049D2DE: push 00000002h lea ecx,[esp+0000FA14h] push L0050E3E4 push ecx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D316 mov ecx,[L00B29474] cmp ecx,edi jz L0049D896 push SWC0050E3A4_Cannot_load_the_requested_page_ call SUB_L0044B9D0 jmp L0049D896 L0049D316: push 00000002h lea edx,[esp+0000FA14h] push L0050E39C push edx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D3BC cmp [L00B29478],edi jz L0049D896 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,00000004h mov [esp+0Ch],ecx cmp ecx,edi mov [esp+0001FA18h],edi jz L0049D398 mov esi,[L00B29478] push SWC0050E354_The_GM_has_ended_this_chat_sessi push edi push 00000064h mov eax,[esi+24h] push 00000096h cdq sub eax,edx mov edx,[esi+34h] sar eax,1 lea eax,[eax+edx-32h] push eax mov eax,[esi+20h] cdq sub eax,edx mov edx,[esi+30h] sar eax,1 lea eax,[eax+edx-4Bh] push eax push edi call SUB_L00450230 L0049D398: mov ecx,[L00B29478] mov dword ptr [esp+0001FA18h],FFFFFFFFh cmp ecx,edi jz L0049D896 mov edx,[ecx] push 00000001h call [edx] jmp L0049D896 L0049D3BC: push 00000002h lea eax,[esp+0000FA14h] push L0050E34C push eax call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D4B9 cmp [L00B29478],edi jnz L0049D896 lea ecx,[esp+0000FA18h] push ecx call SUB_L004C4B90 mov edx,[esp+0000FA1Ch] mov [L00B29454],eax push edx mov ebp,00000004h call SUB_L004C45D0 add esp,00000008h test eax,eax jnz L0049D43D lea edi,[esp+0000FA18h] lea esi,[esp+0000FA18h] L0049D420: cmp word ptr [edi],0000h jz L0049D43D mov ax,[esi+02h] add esi,00000002h push eax inc ebp mov edi,esi call SUB_L004C45D0 add esp,00000004h test eax,eax jz L0049D420 L0049D43D: cmp word ptr [esp+ebp*2+0000FA10h],0000h jz L0049D449 inc ebp L0049D449: lea ecx,[esp+ebp*2+0000FA10h] push ecx push L00B2906C call SUB_L004C4430 push 00000F50h call SUB_L004D4FA9 mov ecx,eax add esp,0000000Ch mov [esp+0Ch],ecx test ecx,ecx mov dword ptr [esp+0001FA18h],00000001h jz L0049D896 mov esi,[L00B29478] push SWC0050E304_A_GM_is_requesting_a_chat_sessio push 00000033h push 00000064h mov eax,[esi+24h] push 00000096h cdq sub eax,edx sar eax,1 sub eax,00000032h push eax mov eax,[esi+20h] cdq sub eax,edx sar eax,1 sub eax,0000004Bh push eax push 00000000h call SUB_L0044FF70 jmp L0049D896 L0049D4B9: push 00000002h lea edx,[esp+0000FA14h] push L0050E2FC push edx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D58A cmp [L00B29478],edi jz L0049D896 mov eax,[esp+0000FA18h] mov ebp,00000004h push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L0049D528 lea edi,[esp+0000FA18h] lea esi,[esp+0000FA18h] L0049D50B: cmp word ptr [edi],0000h jz L0049D528 mov cx,[esi+02h] add esi,00000002h push ecx inc ebp mov edi,esi call SUB_L004C45D0 add esp,00000004h test eax,eax jz L0049D50B L0049D528: cmp word ptr [esp+ebp*2+0000FA10h],0000h jz L0049D534 inc ebp L0049D534: mov dx,[esp+ebp*2+0000FA10h] lea esi,[esp+ebp*2+0000FA10h] push edx call SUB_L004C45D0 add esp,00000004h test eax,eax jnz L0049D56A L0049D550: cmp word ptr [esi],0000h jz L0049D56A mov ax,[esi+02h] add esi,00000002h push eax call SUB_L004C45D0 add esp,00000004h test eax,eax jz L0049D550 L0049D56A: push 00000000h push FFFFFFFFh push FFFFFFFFh lea ecx,[esp+0000FA1Ch] push 00000000h push ecx mov ecx,[L00B29478] call SUB_L004478C0 jmp L0049D896 L0049D58A: push 00000002h lea edx,[esp+0000FA14h] push L0050E2F4 push edx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D5EA mov eax,[L00C882BC] mov dword ptr [L00C42CD4],00000001h cmp eax,edi jz L0049D896 push L007050D8 lea eax,[esp+14h] push 00000009h push eax mov [esp+1Ch],di call SUB_L0049D8B0 add esp,0000000Ch lea ecx,[esp+10h] push ecx mov ecx,[L00C882BC] call SUB_L004BCD40 jmp L0049D896 L0049D5EA: push 00000002h lea edx,[esp+0000FA14h] push L0050E2EC push edx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D61F call SUB_L00469220 lea eax,[esp+0000FA18h] push eax call SUB_L00468F20 add esp,00000004h jmp L0049D896 L0049D61F: push 00000002h lea ecx,[esp+0000FA14h] push L0050E2E4 push ecx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D680 call SUB_L00468330 lea edx,[esp+0000FA18h] push edx call SUB_L00467B00 add esp,00000004h mov dword ptr [L00C42CD4],00000002h call SUB_L00468370 call SUB_L004682E0 test eax,eax jz L0049D896 push SSZ0050E2CC_You_have_a_new_message_ push 00000003h push edi call SUB_L004BDF40 add esp,0000000Ch jmp L0049D896 L0049D680: push 00000002h lea eax,[esp+0000FA14h] push L0050E2C4 push eax call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D6E3 cmp [esp+0000FA10h],di lea eax,[esp+0000FA12h] jz L0049D6C9 L0049D6AC: mov cx,[eax] cmp cx,000Dh jz L0049D6BB cmp cx,000Ah jnz L0049D6BE L0049D6BB: mov [eax],di L0049D6BE: mov cx,[eax] add eax,00000002h test cx,cx jnz L0049D6AC L0049D6C9: lea edx,[esp+0000FA16h] push edi push edx push 00000003h push 0000002Bh call SUB_L004C5150 add esp,00000010h jmp L0049D896 L0049D6E3: push 00000002h lea eax,[esp+0000FA14h] push L0050E2BC push eax call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L0049D896 cmp [L00B29470],edi jz L0049D896 lea ecx,[esp+0000FA18h] push ecx call SUB_L00467970 mov esi,eax add esp,00000004h cmp esi,edi jl L0049D896 mov eax,[L00B29458] cmp eax,00000007h jz L0049D812 cmp eax,0000000Ah jz L0049D793 cmp eax,00000031h jnz L0049D896 mov al,[L00B2945D] test al,al jz L0049D896 push 00000F50h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov dword ptr [esp+0001FA18h],00000006h jz L0049D896 mov edx,[L00B29470] push esi mov ecx,[edx+24h] push ecx mov ecx,[edx+20h] push ecx push edi push edi push edx mov ecx,eax call SUB_L0044F500 jmp L0049D896 L0049D793: mov al,[L00B2945D] test al,al jz L0049D7D0 push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov dword ptr [esp+0001FA18h],00000004h jz L0049D896 mov edx,[L00B29470] push esi push FFFFFFFFh push FFFFFFFFh jmp L0049D884 L0049D7D0: mov al,[L00B2945C] test al,al jz L0049D896 cmp [L00B29460],edi jz L0049D896 push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov dword ptr [esp+0001FA18h],00000005h jz L0049D896 push esi push FFFFFFFFh jmp L0049D87C L0049D812: mov al,[L00B2945D] test al,al jz L0049D848 push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov dword ptr [esp+0001FA18h],00000002h jz L0049D896 mov edx,[L00B29470] push FFFFFFFFh push esi push FFFFFFFFh jmp L0049D884 L0049D848: mov al,[L00B2945C] test al,al jz L0049D896 cmp [L00B29460],edi jz L0049D896 push 00000F54h call SUB_L004D4FA9 add esp,00000004h mov [esp+0Ch],eax cmp eax,edi mov dword ptr [esp+0001FA18h],00000003h jz L0049D896 push FFFFFFFFh push esi L0049D87C: mov edx,[L00B29460] push FFFFFFFFh L0049D884: mov ecx,[edx+24h] push ecx mov ecx,[edx+20h] push ecx push edi push edi push edx mov ecx,eax call SUB_L0044D820 L0049D896: mov ecx,[esp+0001FA10h] pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,0001FA10h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049D8B0: push esi mov esi,[esp+08h] test esi,esi jz L0049DA15 mov eax,[esp+0Ch] dec eax cmp eax,0000000Eh ja L0049D9F1 jmp [CASE_PROCTABLE_0049DA18+eax*4] CASE_0049DA18_PROC0000: push L0050E478 jmp L0049D9F6 CASE_0049DA18_PROC0001: push L0050E470 push esi call SUB_L004C4550 push L00504BBC push esi call SUB_L004C4550 add esp,00000010h pop esi retn ;------------------------------------------------------------------------------ CASE_0049DA18_PROC0002: push L0050E468 push esi call SUB_L004C4550 mov edx,[esp+18h] push edx jmp L0049DA01 CASE_0049DA18_PROC000E: push L0050E460 push esi call SUB_L004C4550 mov eax,[esp+18h] push eax jmp L0049DA01 CASE_0049DA18_PROC0003: push L0050E458 jmp L0049D9F6 CASE_0049DA18_PROC0004: push L0050E450 push esi call SUB_L004C4550 mov edx,[esp+18h] push edx jmp L0049DA01 CASE_0049DA18_PROC0005: push L0050E448 push esi call SUB_L004C4550 mov eax,[esp+18h] push eax jmp L0049DA01 CASE_0049DA18_PROC000D: push L0050E440 jmp L0049D9F6 CASE_0049DA18_PROC0006: push SWC0050E434__x__ push esi call SUB_L004C4550 mov edx,[esp+18h] push edx jmp L0049DA01 CASE_0049DA18_PROC0007: push L0050E42C push esi call SUB_L004C4550 mov eax,[esp+18h] push eax jmp L0049DA01 CASE_0049DA18_PROC000C: push L0050E424 push esi call SUB_L004C4550 push L00504BBC push esi call SUB_L004C4550 add esp,00000010h pop esi retn ;------------------------------------------------------------------------------ CASE_0049DA18_PROC0008: push L0050E41C push esi mov dword ptr [L00C42CD4],00000001h call SUB_L004C4550 push L00504BBC push esi call SUB_L004C4550 add esp,00000010h pop esi retn ;------------------------------------------------------------------------------ CASE_0049DA18_PROC0009: push L0050E414 jmp L0049D9F6 CASE_0049DA18_PROC000A: push L0050E40C push esi call SUB_L004C4550 mov edx,[esp+18h] push edx jmp L0049DA01 CASE_0049DA18_PROC000B: push L0050E404 push esi call SUB_L004C4550 mov eax,[esp+18h] push eax jmp L0049DA01 L0049D9F1: push SWC0050E3F4_ECHO__ L0049D9F6: push esi call SUB_L004C4550 mov ecx,[esp+18h] push ecx L0049DA01: push esi call SUB_L004C4550 push L00504BBC push esi call SUB_L004C4550 add esp,00000018h L0049DA15: pop esi retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_0049DA18: dd CASE_0049DA18_PROC0000 dd CASE_0049DA18_PROC0001 dd CASE_0049DA18_PROC0002 dd CASE_0049DA18_PROC0003 dd CASE_0049DA18_PROC0004 dd CASE_0049DA18_PROC0005 dd CASE_0049DA18_PROC0006 dd CASE_0049DA18_PROC0007 dd CASE_0049DA18_PROC0008 dd CASE_0049DA18_PROC0009 dd CASE_0049DA18_PROC000A dd CASE_0049DA18_PROC000B dd CASE_0049DA18_PROC000C dd CASE_0049DA18_PROC000D dd CASE_0049DA18_PROC000E Align 16 SUB_L0049DA60: mov eax,0001F400h call SUB_L004D4B90 mov eax,[esp+0001F408h] lea ecx,[esp+0000FA00h] push eax push ecx call SUB_L004C44F0 mov eax,[L00C882BC] add esp,00000008h test eax,eax jz L0049DABF mov eax,[esp+0001F404h] lea edx,[esp+0000FA00h] push edx lea ecx,[esp+04h] push eax push ecx mov word ptr [esp+0Ch],0000h call SUB_L0049D8B0 mov ecx,[L00C882BC] add esp,0000000Ch lea edx,[esp+00h] push edx call SUB_L004BCD40 L0049DABF: add esp,0001F400h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049DAD0: mov eax,0000FA00h call SUB_L004D4B90 mov eax,[L00C882BC] test eax,eax jz L0049DB17 mov eax,[esp+0000FA08h] mov ecx,[esp+0000FA04h] push eax lea edx,[esp+04h] push ecx push edx mov word ptr [esp+0Ch],0000h call SUB_L0049D8B0 mov ecx,[L00C882BC] add esp,0000000Ch lea eax,[esp+00h] push eax call SUB_L004BCD40 L0049DB17: add esp,0000FA00h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049DB20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E53CE push eax mov eax,0001F8B4h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx mov ebx,[esp+0001F8C8h] test bl,bl jnz L0049DD88 mov al,[esp+0001F8D8h] test al,al jnz L0049DD88 mov al,[esp+0001F8E0h] test al,al jnz L0049DD88 lea eax,[esp+000004B8h] push SWC00503024_To___ push eax call SUB_L004C4430 mov ecx,[esp+0001F8D4h] lea edx,[esp+000004C0h] push ecx push edx call SUB_L004C4550 lea eax,[esp+000004C8h] push L00502D0C push eax call SUB_L004C4550 mov ecx,[esp+0001F8E8h] lea edx,[esp+000004D0h] push ecx push edx call SUB_L004C4550 lea eax,[esp+000004D8h] push SWC0050E480____dummy___From___ push eax call SUB_L004C4550 mov eax,[esp+0001F914h] add esp,00000028h test eax,eax jz L0049DBEE lea ecx,[esp+000004B8h] push eax push ecx call SUB_L004C4550 add esp,00000008h jmp L0049DC15 L0049DBEE: mov eax,[L005073C8] lea edx,[esp+08h] push 0000000Ah push edx push eax call SUB_L004C4CC0 lea ecx,[esp+14h] lea edx,[esp+000004C4h] push ecx push edx call SUB_L004C4550 add esp,00000014h L0049DC15: lea eax,[esp+000004B8h] push SWC00502FE0__messenger_owo_com___ push eax call SUB_L004C4550 mov al,[esp+0001F8DCh] add esp,00000008h test al,al jz L0049DC49 lea ecx,[esp+000000D0h] push L00C85FF0 push ecx call SUB_L004C44F0 jmp L0049DCC5 L0049DC49: mov eax,[L00C8604C] lea eax,[eax+eax*2] lea eax,[eax+eax*4] mov cl,[L00C860FC+eax*2] lea eax,[L00C860FC+eax*2] test cl,cl jnz L0049DC75 lea edx,[esp+000000D0h] push L00C880F8 push edx jmp L0049DC7E L0049DC75: push eax lea eax,[esp+000000D4h] push eax L0049DC7E: call SUB_L004C44F0 add esp,00000008h lea ecx,[esp+000000D0h] push SSZ00502F0C__of_ push ecx call SUB_L004C4590 mov al,[L00705058] add esp,00000008h test al,al jz L0049DCB3 lea edx,[esp+000000D0h] push L00705058 push edx jmp L0049DCC0 L0049DCB3: lea eax,[esp+000000D0h] push SSZ00502F04_Nowhere push eax L0049DCC0: call SUB_L004C4590 L0049DCC5: add esp,00000008h lea ecx,[esp+000000D0h] lea edx,[esp+000004B8h] push ecx push edx call SUB_L004C4550 lea eax,[esp+000004C0h] push SWC00502FC4____Subject__ push eax call SUB_L004C4550 mov ecx,[esp+0001F8ECh] lea edx,[esp+000004C8h] push ecx push edx call SUB_L004C4550 lea eax,[esp+000004D0h] push SWC00502FB8_____ push eax call SUB_L004C4550 mov ecx,[esp+0001F904h] lea edx,[esp+000004D8h] push ecx push edx call SUB_L004C4550 mov eax,[L00C882BC] add esp,00000028h test eax,eax jz L0049DE03 lea eax,[esp+000004B8h] lea ecx,[esp+0000FEB8h] push eax push 00000007h push ecx mov word ptr [esp+0000FEC4h],0000h call SUB_L0049D8B0 mov ecx,[L00C882BC] add esp,0000000Ch lea edx,[esp+0000FEB8h] push edx call SUB_L004BCD40 pop ebx mov ecx,[esp+0001F8B4h] mov fs:[00000000h],ecx add esp,0001F8C0h retn ;------------------------------------------------------------------------------ L0049DD88: push 00001154h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+0001F8C0h],00000000h jz L0049DE03 mov ecx,[esp+0001F8E8h] mov edx,[esp+0001F8E4h] push ecx mov ecx,[esp+0001F8E4h] push edx mov edx,[esp+0001F8E4h] push ecx mov ecx,[esp+0001F8E4h] push edx mov edx,[esp+0001F8E4h] push ecx mov ecx,[esp+0001F8E4h] push edx mov edx,[esp+0001F8E4h] push ecx push edx mov edx,[L00B29470] push ebx mov ecx,[edx+24h] push ecx mov ecx,[edx+20h] push ecx push 00000000h push 00000000h push edx mov ecx,eax call SUB_L0044E940 L0049DE03: mov ecx,[esp+0001F8B8h] pop ebx mov fs:[00000000h],ecx add esp,0001F8C0h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049DE20: sub esp,00000048h push ebx mov bx,[L0050ECCC] push esi and bx,8000h push edi mov byte ptr [esp+10h],BDh jz L0049DE42 mov word ptr [esp+11h],0003h jmp L0049DE4B L0049DE42: mov word ptr [L00CD8C40],0001h L0049DE4B: mov esi,[L00511E88] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx mov edx,ecx inc edx test bx,bx jz L0049DE6B mov eax,[esp+11h] jmp L0049DE7A L0049DE6B: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049DE7A: mov ecx,edx and eax,0000FFFFh mov ebx,ecx lea edi,[esp+eax+10h] add eax,edx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[esp+10h] pop edi and ecx,000000FFh pop esi pop ebx test byte ptr [L0050E6E5+ecx*8],80h jz L0049DEB3 mov [esp+05h],ax jmp L0049DEB9 L0049DEB3: mov [L00CD8C40],ax L0049DEB9: mov ecx,[L00C88300] lea edx,[esp+04h] push edx call SUB_L004BC750 add esp,00000048h retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049DED0: sub esp,00000044h mov ecx,[esp+48h] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] and eax,00008000h or ah,40h shr eax,0Eh and eax,0000FFFFh mov eax,[eax+ecx] push eax call jmp_WSOCK32.dll!WSOCK32.14 mov ecx,[L0050ECD4] mov byte ptr [esp+00h],BEh test ch,80h jz L0049DF15 mov word ptr [esp+01h],0003h jmp L0049DF1E L0049DF15: mov word ptr [L00CD8C40],0001h L0049DF1E: push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+00h] and ecx,000000FFh test byte ptr [L0050E6E5+ecx*8],80h jz L0049DF3E mov ecx,[esp+01h] jmp L0049DF4E L0049DF3E: mov dx,[L00CD8C40] mov [esp+48h],dx mov ecx,[esp+48h] L0049DF4E: and ecx,0000FFFFh push ebx push esi push edi mov [esp+ecx+0Ch],eax lea eax,[ecx+04h] mov ecx,[esp+0Ch] and ecx,000000FFh mov bx,[L0050E6E4+ecx*8] and bx,8000h jz L0049DF7E mov [esp+0Dh],ax jmp L0049DF84 L0049DF7E: mov [L00CD8C40],ax L0049DF84: mov esi,[L00511E88] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx mov edx,ecx inc edx test bx,bx jz L0049DFA4 mov eax,[esp+0Dh] jmp L0049DFB3 L0049DFA4: mov ax,[L00CD8C40] mov [esp+54h],ax mov eax,[esp+54h] L0049DFB3: mov ecx,edx and eax,0000FFFFh mov ebx,ecx lea edi,[esp+eax+0Ch] add eax,edx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[esp+0Ch] pop edi and ecx,000000FFh pop esi pop ebx test byte ptr [L0050E6E5+ecx*8],80h jz L0049DFEC mov [esp+01h],ax jmp L0049DFF2 L0049DFEC: mov [L00CD8C40],ax L0049DFF2: mov ecx,[L00C88300] lea edx,[esp+00h] push edx call SUB_L004BC750 add esp,00000044h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049E010: push ecx mov eax,[esp+0Ch] mov ecx,[esp+08h] shl eax,06h add eax,ecx push ebx push esi mov dword ptr [esp+08h],00000000h mov esi,[L00516754+eax*4] lea ebx,[L00516754+eax*4] test esi,esi jz L0049E0AA push edi L0049E03B: mov edx,[esi] mov edi,[esi+18h] mov ecx,esi call [edx+1Ch] test eax,eax jz L0049E090 mov eax,[esi+18h] test eax,eax jz L0049E056 mov ecx,[esi+1Ch] mov [eax+1Ch],ecx L0049E056: mov eax,[esi+1Ch] test eax,eax jz L0049E065 mov edx,[esi+18h] mov [eax+18h],edx jmp L0049E06A L0049E065: mov eax,[esi+18h] mov [ebx],eax L0049E06A: mov dword ptr [esi+20h],00000000h mov eax,[L00C884DC] cmp esi,eax jnz L0049E089 call SUB_L0040C940 mov dword ptr [esp+0Ch],00000001h jmp L0049E090 L0049E089: mov edx,[esi] mov ecx,esi call [edx+04h] L0049E090: test edi,edi mov esi,edi jnz L0049E03B mov eax,[esp+0Ch] pop edi test eax,eax jz L0049E0AA mov ecx,[L00C884DC] mov eax,[ecx] call [eax+10h] L0049E0AA: pop esi pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049E0B0: push FFFFFFFFh push L004E53E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch mov eax,[L00C83B58] push ebp push esi push edi mov [esp+0Ch],eax mov edx,[esp+28h] xor ecx,ecx xor ebp,ebp mov esi,[L004FC210] mov cl,[edx] mov [esp+20h],ebp mov ax,[L0050E6E4+ecx*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 [esp+28h],cl and eax,00000002h inc eax cmp esi,00000004h jnz L0049E12B and eax,0000FFFFh cmp byte ptr [eax+edx+01h],00h jz L0049E2BA L0049E12B: mov al,[L0050CC23] test al,al jz L0049E145 cmp cl,04h jnz L0049E14A mov dword ptr [L004FC210],00000004h jmp L0049E167 L0049E145: cmp cl,04h jz L0049E167 L0049E14A: cmp cl,05h jnc L0049E161 mov edx,[esp+28h] and edx,000000FFh mov [L004FC210],edx jmp L0049E167 L0049E161: mov [L004FC210],ebp L0049E167: mov ecx,[L00C884DC] mov [L0054B29C],ebp cmp ecx,ebp mov [L0054B2A0],ebp jz L0049E189 mov [ecx+000000A0h],ebp mov ecx,[L00C884DC] L0049E189: cmp ecx,ebp mov [L0054B298],ebp mov [L0054B294],ebp mov [L0054B290],ebp jz L0049E1B1 mov al,[ecx+70h] test al,al jnz L0049E1B1 mov eax,[ecx] call [eax+50h] mov ecx,[L00C884DC] L0049E1B1: mov esi,[L00C884E8] cmp esi,ebp jz L0049E1E0 L0049E1BB: mov edi,[esi+44h] cmp esi,ecx jz L0049E1DA mov edx,[esi] mov ecx,esi call [edx+2Ch] test eax,eax jnz L0049E1D4 mov eax,[esi] mov ecx,esi call [eax+04h] L0049E1D4: mov ecx,[L00C884DC] L0049E1DA: cmp edi,ebp mov esi,edi jnz L0049E1BB L0049E1E0: mov eax,FFFFD8F1h mov ecx,00000024h mov [L00C83A20],eax mov [L00C83A24],eax or eax,FFFFFFFFh mov edi,L00C83990 rep stosd mov dword ptr [L00C83B58],FFFFFFFFh xor edi,edi L0049E20A: xor esi,esi L0049E20C: push esi push edi call SUB_L0049E010 add esp,00000008h inc esi cmp esi,00000040h jl L0049E20C inc edi cmp edi,00000040h jl L0049E20A call SUB_L00478E40 mov ecx,[L00C884DC] movsx esi,[ecx+24h] movsx edi,[ecx+26h] movsx ebp,[ecx+28h] mov dword ptr [L00C83B58],FFFFFFFFh mov edx,[ecx] mov [esp+10h],si mov [esp+12h],di mov [esp+14h],bp call [edx+14h] mov ecx,[esp+10h] sub esp,00000008h mov eax,esp mov [eax],ecx mov ecx,[L00C884DC] mov [eax+04h],bp call SUB_L0047EFE0 mov edx,[esp+0Ch] push edx push ebp push edi push esi call SUB_L00475BF0 add esp,00000010h call SUB_L0047D2D0 call SUB_L00404760 call SUB_L0040C940 cmp dword ptr [L004FC210],00000004h jnz L0049E2BA mov eax,[L00C884DC] push 00000000h push 00000000h push 00000000h add eax,00000024h push 3F800000h push eax push 00000245h call SUB_L004CD720 add esp,00000018h L0049E2BA: mov ecx,[esp+18h] pop edi pop esi mov fs:[00000000h],ecx pop ebp add esp,00000018h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049E2D0: push esi mov esi,[esp+08h] push edi mov edi,00008000h mov byte ptr [esi],3Ah mov eax,[L0050E8B4] test edi,eax jz L0049E2EF mov word ptr [esi+01h],0003h jmp L0049E2F8 L0049E2EF: mov word ptr [L00CD8C40],0001h L0049E2F8: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.9 xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049E316 mov cx,[esi+01h] jmp L0049E326 L0049E316: mov dx,[L00CD8C40] mov [esp+0Ch],dx mov ecx,[esp+0Ch] L0049E326: and ecx,0000FFFFh mov [ecx+esi],ax lea eax,[ecx+02h] xor ecx,ecx mov cl,[esi] test [L0050E6E4+ecx*8],di jz L0049E347 mov [esi+01h],ax jmp L0049E34D L0049E347: mov [L00CD8C40],ax L0049E34D: xor edx,edx mov dl,[esi] test [L0050E6E4+edx*8],di jz L0049E361 mov ax,[esi+01h] jmp L0049E370 L0049E361: mov ax,[L00CD8C40] mov [esp+0Ch],ax mov eax,[esp+0Ch] L0049E370: mov cl,[esp+14h] and eax,0000FFFFh xor edx,edx mov [eax+esi],cl mov dl,[esi] inc eax test [L0050E6E4+edx*8],di jz L0049E392 mov [esi+01h],ax pop edi pop esi retn ;------------------------------------------------------------------------------ L0049E392: pop edi mov [L00CD8C40],ax pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049E3A0: push FFFFFFFFh push L004E5408 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 lea eax,[esp+1Ch] lea ecx,[esp+14h] push eax xor ebp,ebp push ecx push 000000CAh mov [esp+40h],ebp mov dword ptr [esi],L004EF470 mov dword ptr [esi+08h],SSZ0050E4E4_PartyGump mov [esi+14h],ebp mov dword ptr [esi+18h],00000002h mov [esi+000000ACh],ebp call SUB_L004434A0 lea edx,[esp+2Ch] lea eax,[esp+30h] push edx push eax push 000000C8h call SUB_L004434A0 lea ecx,[esp+40h] lea edx,[esp+28h] push ecx push edx push 000000CBh call SUB_L004434A0 mov eax,[esp+34h] mov ecx,[esp+38h] mov dword ptr [esi+000000A8h],0000017Ch mov dword ptr [esi+24h],000001E0h lea ecx,[eax+ecx+000001C7h] push SSZ0050E4CC_framedata_for_PartyGump mov [esi+20h],ecx mov eax,[L005073D0] sub eax,ecx cdq sub eax,edx sar eax,1 mov [esi+30h],eax mov edx,[L005073D4] lea eax,[edx-000001E0h] cdq sub eax,edx sar eax,1 mov [esi+34h],eax mov eax,[esi+18h] shl eax,03h push eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050E4BC_Party_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] shl ecx,1 mov edi,[edx+04h] xor eax,eax mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx push SSZ0050E4AC_Party_frame1 and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,0000003Ch mov [edx+0Ch],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] lea edi,[esi+000000BCh] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+0Ch] xor eax,eax mov [ecx+02h],dx mov ecx,0000000Ah rep stosd mov ecx,esi mov [esi+000000E4h],ebp call SUB_L0049EE20 lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx push 00000475h mov [esp+1Ch],ebp mov [esp+20h],ebp call SUB_L004434A0 mov ebx,[esp+1Ch] mov eax,000001C2h sub eax,ebx add esp,0000000Ch cdq sub eax,edx mov ebx,00000032h mov edi,eax sar edi,1 add edi,0000002Dh L0049E5A2: mov edx,[esi+3Ch] 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 ebx push edi push 00000475h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch mov ecx,esi push ebp call SUB_L0049F210 add ebx,00000019h inc ebp cmp ebx,0000012Ch jl L0049E5A2 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov eax,[esi+3Ch] push 00000000h mov ecx,[eax+04h] push ecx push 00000A28h push 000001E0h push 000001C2h push 00000000h push 00000000h call SUB_L0042C610 mov ecx,[esp+48h] add esp,0000001Ch mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 L0049E630: push esi mov esi,ecx call SUB_L0049E650 test byte ptr [esp+08h],01h jz L0049E648 push esi call SUB_L004D4F9E add esp,00000004h L0049E648: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0049E650: push FFFFFFFFh push L004E5428 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EF470 mov eax,[esi+3Ch] xor edi,edi mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L0049E698 push SSZ0050E514_party_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L0049E698: mov eax,[esi+3Ch] cmp [eax+0Ch],edi jz L0049E6B7 mov edx,[eax+04h] push SSZ0050E500_party_frame1_pBMP push edx call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L0049E6B7: mov eax,[esi+3Ch] cmp eax,edi jz L0049E6CF push SSZ0050E4F0_party_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L0049E6CF: mov ecx,esi mov [L00C87EC8],edi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L0049E700: sub esp,00000010h push ebx push ebp push esi mov esi,ecx lea eax,[esp+0Ch] push edi lea ecx,[esp+14h] push eax xor ebx,ebx push ecx mov ecx,esi mov [esp+1Ch],ebx mov [esp+18h],ebx call SUB_L00457C90 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+14h] push eax mov eax,[esp+1Ch] mov ebp,[esp+2Ch] push ecx mov ecx,[esi+24h] push edx mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push ecx push edx mov ecx,[eax+04h] push ebp add ecx,00000004h push ecx push SUB_L004B9B80 call SUB_L00443960 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+3Ch] push eax mov eax,[esp+44h] push ecx mov ecx,[esi+24h] push edx mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push ecx push edx push ebp mov ecx,[eax+0Ch] add ecx,00000004h push ecx push SUB_L004B9B80 call SUB_L00443960 mov edi,[esi+50h] add esp,00000050h cmp edi,ebx jz L0049E7B7 L0049E7A8: mov edx,[edi] push ebp mov ecx,edi call [edx+0Ch] mov edi,[edi+44h] cmp edi,ebx jnz L0049E7A8 L0049E7B7: mov eax,[esi+000000B8h] mov cl,[L0050E4A8] cmp cl,[eax+000000B8h] jz L0049E7FF mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] mov edi,[edx+0Ch] 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+000000B8h] mov cl,[eax+000000B8h] mov [L0050E4A8],cl L0049E7FF: lea edx,[esp+1Ch] lea eax,[esp+18h] push edx push eax push 00000475h mov [esp+24h],ebx mov [esp+28h],ebx call SUB_L004434A0 mov ebp,[esp+24h] mov eax,000001C2h sub eax,ebp add esp,0000000Ch cdq sub eax,edx mov edi,00000032h mov ebp,eax sar ebp,1 add ebp,0000002Dh L0049E838: mov ecx,[esi+3Ch] 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 ebp push 00000475h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch mov ecx,esi push ebx call SUB_L0049F210 add edi,00000019h inc ebx cmp edi,0000012Ch jl L0049E838 mov edx,[esp+24h] mov ecx,esi push edx call SUB_L0049E890 pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0049E890: sub esp,00000014h lea eax,[esp+00h] lea edx,[esp+04h] push esi mov esi,ecx push edi lea ecx,[esp+10h] push eax push ecx push edx push SSZ0050E5AC_Party_Manifest push 00000002h call SUB_L00441BC0 mov ecx,[esi+3Ch] mov edi,[esp+34h] mov eax,[esi+20h] push edi mov edx,[ecx+04h] push eax mov eax,[esp+24h] add edx,00000004h push edx mov edx,[esp+2Ch] push SSZ0050E5AC_Party_Manifest push 00000386h add eax,00000014h push 00000002h push eax mov eax,000001C2h sub eax,edx cdq sub eax,edx sar eax,1 push eax call SUB_L004410C0 lea ecx,[esp+3Ch] lea edx,[esp+44h] push ecx lea eax,[esp+44h] push edx push eax push SSZ00505150_Tell push 00000001h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000048h mov eax,[edx+04h] push edi add eax,00000004h push ecx mov ecx,[esp+10h] push eax push SSZ00505150_Tell push 00000386h add ecx,0000001Eh push 00000001h push ecx push 00000028h call SUB_L004410C0 lea edx,[esp+38h] lea eax,[esp+34h] push edx push eax push 00000FA8h call SUB_L004434A0 lea ecx,[esp+34h] lea edx,[esp+3Ch] push ecx lea eax,[esp+3Ch] push edx push eax push SSZ0050E590_Send_the_party_a_message push 00000002h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000040h mov eax,[edx+04h] push edi push ecx mov ecx,[esp+10h] mov edx,[esp+1Ch] add eax,00000004h add ecx,00000133h push eax push SSZ0050E590_Send_the_party_a_message push 00000386h push 00000002h add edx,00000050h push ecx push edx call SUB_L004410C0 mov eax,[esi+000000B8h] add esp,00000020h mov cl,[eax+000000B8h] test cl,cl jz L0049E9FA lea ecx,[esp+08h] lea edx,[esp+10h] push ecx lea eax,[esp+10h] push edx push eax push SSZ0050E57C_Party_can_loot_me push 00000002h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] push edi push ecx mov eax,[edx+0Ch] mov ecx,[esp+24h] mov edx,[esp+30h] add eax,00000004h push eax push SSZ0050E57C_Party_can_loot_me push 00000386h add ecx,0000014Eh push 00000002h add edx,00000050h push ecx push edx jmp L0049EA42 L0049E9FA: lea eax,[esp+08h] lea ecx,[esp+10h] push eax lea edx,[esp+10h] push ecx push edx push SSZ0050E564_Party_CANNOT_loot_me push 00000002h call SUB_L00441BC0 mov ecx,[esi+3Ch] mov eax,[esi+20h] push edi push eax mov edx,[ecx+0Ch] mov eax,[esp+24h] mov ecx,[esp+30h] add edx,00000004h push edx push SSZ0050E564_Party_CANNOT_loot_me push 00000386h add eax,0000014Eh push 00000002h add ecx,00000050h push eax push ecx L0049EA42: call SUB_L004410C0 mov al,[L00C85FB6] add esp,00000034h test al,al jz L0049EB46 lea edx,[esp+08h] lea eax,[esp+10h] push edx lea ecx,[esp+10h] push eax push ecx push SSZ0050E550_Disband_the_party push 00000002h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] push edi push edx mov ecx,[eax+04h] mov edx,[esp+24h] mov eax,[esp+30h] add ecx,00000004h push ecx push SSZ0050E550_Disband_the_party push 00000386h add edx,00000168h push 00000002h add eax,00000050h push edx push eax call SUB_L004410C0 lea ecx,[esp+3Ch] lea edx,[esp+44h] push ecx lea eax,[esp+44h] push edx push eax push SSZ0050E548_Kick push 00000001h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000048h mov eax,[edx+04h] push edi add eax,00000004h push ecx mov ecx,[esp+10h] push eax push SSZ0050E548_Kick push 00000386h add ecx,0000001Eh push 00000001h push ecx push 00000050h call SUB_L004410C0 lea edx,[esp+28h] lea eax,[esp+30h] push edx lea ecx,[esp+30h] push eax push ecx push SSZ0050E538_Add_New_Member push 00000002h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] push edi push edx mov ecx,[eax+04h] mov edx,[esp+44h] mov eax,[esp+50h] add ecx,00000004h push ecx push SSZ0050E538_Add_New_Member push 00000386h add edx,00000181h push 00000002h add eax,00000050h push edx push eax call SUB_L004410C0 add esp,00000054h pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049EB46: lea ecx,[esp+08h] lea edx,[esp+10h] push ecx lea eax,[esp+10h] push edx push eax push SSZ0050E528_Leave_the_party push 00000002h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] push edi push ecx mov eax,[edx+04h] mov ecx,[esp+24h] mov edx,[esp+30h] add eax,00000004h push eax push SSZ0050E528_Leave_the_party push 00000386h add ecx,00000168h push 00000002h add edx,00000050h push ecx push edx call SUB_L004410C0 add esp,00000034h pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 4 L0049EBA0: mov eax,[esp+04h] push esi mov esi,ecx push 00000000h mov ecx,[esp+10h] mov [esi+74h],ecx mov ecx,esi mov [esi+70h],eax mov dword ptr [esi+000000ACh],00000001h call SUB_L004584E0 cmp dword ptr [esi+000000B0h],00000001h jnz L0049EBDB mov dword ptr [esi+000000B0h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L0049EBDB: mov dword ptr [esi+000000B0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000B4h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0049EC00: push esi push edi mov edi,ecx xor esi,esi L0049EC06: push esi mov ecx,edi call SUB_L0049EC20 inc esi cmp esi,0000000Ah jl L0049EC06 pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049EC20: push FFFFFFFFh push L004E544B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L00C85FB6] push edi test al,al mov edi,ecx jz L0049ECE9 push esi push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov esi,[esp+1Ch] mov dword ptr [esp+14h],00000000h test eax,eax jz L0049EC91 push 00000000h push 00000FB3h push 00000FB1h lea edx,[esi+esi*4+0Ah] push SUB_L004216F0 push 00000000h push 00000000h lea ecx,[edx+edx*4] push edi push ecx push 00000050h mov ecx,eax call SUB_L00421F40 jmp L0049EC93 L0049EC91: xor eax,eax L0049EC93: mov [edi+esi*4+000000BCh],eax mov dword ptr [eax+000000ACh],00000FB2h mov eax,[edi+esi*4+000000BCh] lea edx,[esi+14h] or ecx,FFFFFFFFh push 00000001h mov [eax+000000A4h],edx mov edx,[edi+esi*4+000000BCh] mov [esp+18h],ecx push edi mov dword ptr [edx+000000C0h],00000001h mov eax,[edi+esi*4+000000BCh] mov [eax+00000098h],ecx mov ecx,[edi+esi*4+000000BCh] call SUB_L004587A0 pop esi L0049ECE9: mov ecx,[esp+08h] pop edi mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L0049ED00: push esi push edi lea esi,[ecx+000000BCh] mov edi,0000000Ah L0049ED0D: mov ecx,[esi] test ecx,ecx jz L0049ED19 mov eax,[ecx] push 00000001h call [eax] L0049ED19: mov dword ptr [esi],00000000h add esi,00000004h dec edi jnz L0049ED0D pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049ED30: push esi mov esi,ecx mov ecx,[esi+000000E4h] test ecx,ecx jz L0049ED43 mov eax,[ecx] push 00000001h call [eax] L0049ED43: mov dword ptr [esi+000000E4h],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L0049ED50: push FFFFFFFFh push L004E546B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L00C85FB6] push esi test al,al mov esi,ecx jz L0049EE0C push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L0049EDB9 push 00000000h push 00000FAAh push 00000FA8h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000181h push 00000046h mov ecx,eax call SUB_L00421F40 jmp L0049EDBB L0049EDB9: xor eax,eax L0049EDBB: mov [esi+000000E4h],eax mov dword ptr [eax+000000ACh],00000FA9h mov eax,[esi+000000E4h] or ecx,FFFFFFFFh mov [esp+10h],ecx push 00000001h mov dword ptr [eax+000000A4h],00000032h mov edx,[esi+000000E4h] push esi mov dword ptr [edx+000000C0h],00000001h mov eax,[esi+000000E4h] mov [eax+00000098h],ecx mov ecx,[esi+000000E4h] call SUB_L004587A0 L0049EE0C: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049EE20: push FFFFFFFFh push L004E54CD mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push ebp push esi xor ebp,ebp push edi mov esi,ecx mov [esp+10h],ebp mov [esp+14h],ebp mov edi,00000032h or ebx,FFFFFFFFh L0049EE50: push ebp mov ecx,esi call SUB_L0049EC20 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+28h],00000000h jz L0049EE97 push 00000000h push 00000FBFh push 00000FBDh push SUB_L004216F0 push 00000000h push 00000000h push esi push edi push 00000023h mov ecx,eax call SUB_L00421F40 jmp L0049EE99 L0049EE97: xor eax,eax L0049EE99: lea ecx,[ebp+0Ah] push 00000001h mov [eax+000000A4h],ecx push esi mov ecx,eax mov [esp+30h],ebx mov dword ptr [eax+000000ACh],00000FBEh mov dword ptr [eax+000000C0h],00000001h mov [eax+00000098h],ebx call SUB_L004587A0 add edi,00000019h inc ebp cmp edi,0000012Ch jl L0049EE50 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax mov ebp,00000001h test eax,eax mov [esp+28h],ebp jz L0049EF1E push 00000000h push 00000FBFh push 00000FBDh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000136h push 00000046h mov ecx,eax call SUB_L00421F40 jmp L0049EF20 L0049EF1E: xor eax,eax L0049EF20: push ebp push esi mov ecx,eax mov [esp+30h],ebx mov dword ptr [eax+000000ACh],00000FBEh mov dword ptr [eax+000000A4h],0000003Ch mov [eax+000000C0h],ebp mov [eax+00000098h],ebx call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000002h jz L0049EFA4 mov dl,[L00C85FB5] push 00000000h mov [esp+1Ch],dl mov ecx,[esp+1Ch] push 00000000h push ecx push L007049FC push 00000386h push 00000002h push 00000FA9h push 00000FA2h push esi push 0000014Fh push 00000046h mov ecx,eax call SUB_L00422D00 jmp L0049EFA6 L0049EFA4: xor eax,eax L0049EFA6: mov [esi+000000B8h],eax mov [eax+00000098h],ebx mov ecx,[esi+000000B8h] push ebp push esi mov [esp+30h],ebx call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000003h jz L0049F006 push 00000000h push 00000FB0h push 00000FAEh push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000168h push 00000046h mov ecx,eax call SUB_L00421F40 jmp L0049F008 L0049F006: xor eax,eax L0049F008: push ebp push esi mov ecx,eax mov [esp+30h],ebx mov dword ptr [eax+000000ACh],00000FAFh mov dword ptr [eax+000000A4h],00000046h mov [eax+000000C0h],ebp mov [eax+00000098h],ebx call SUB_L004587A0 mov al,[L00C85FB6] test al,al jz L0049F0D0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000004h jz L0049F085 push 00000000h push 00000FAAh push 00000FA8h push SUB_L004216F0 push 00000000h push 00000000h push esi push 00000181h push 00000046h mov ecx,eax call SUB_L00421F40 jmp L0049F087 L0049F085: xor eax,eax L0049F087: mov [esi+000000E4h],eax mov dword ptr [eax+000000ACh],00000FA9h mov edx,[esi+000000E4h] push ebp push esi mov [esp+30h],ebx mov dword ptr [edx+000000A4h],00000032h mov eax,[esi+000000E4h] mov [eax+000000C0h],ebp mov ecx,[esi+000000E4h] mov [ecx+00000098h],ebx mov ecx,[esi+000000E4h] call SUB_L004587A0 L0049F0D0: lea edx,[esp+14h] lea eax,[esp+10h] push edx push eax push 000000F9h call SUB_L004434A0 mov ecx,[esp+1Ch] mov eax,000001C2h sub eax,ecx push 000000ECh cdq sub eax,edx mov edi,eax sar edi,1 sub edi,ecx call SUB_L004D4FA9 add esp,00000010h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000005h jz L0049F13A push 00000000h push 000000F8h push 000000F9h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000001AEh push edi mov ecx,eax call SUB_L00421F40 jmp L0049F13C L0049F13A: xor eax,eax L0049F13C: push ebp push esi mov ecx,eax mov [esp+30h],ebx mov dword ptr [eax+000000ACh],000000F7h mov dword ptr [eax+000000A4h],00000063h mov [eax+000000C0h],ebp mov [eax+00000098h],ebx call SUB_L004587A0 lea ecx,[esp+14h] lea edx,[esp+10h] push ecx push edx push 000000F3h call SUB_L004434A0 mov eax,[esp+1Ch] mov edi,000001A9h push 000000ECh lea eax,[eax+eax*2] sub edi,eax call SUB_L004D4FA9 add esp,00000010h mov [esp+1Ch],eax test eax,eax mov dword ptr [esp+28h],00000006h jz L0049F1CD push 00000000h push 000000F1h push 000000F3h push SUB_L004216F0 push 00000000h push 00000000h push esi push 000001AEh push edi mov ecx,eax call SUB_L00421F40 jmp L0049F1CF L0049F1CD: xor eax,eax L0049F1CF: push ebp push esi mov ecx,eax mov [esp+30h],ebx mov dword ptr [eax+000000A4h],00000062h mov [eax+000000C0h],ebp mov [eax+00000098h],ebx call SUB_L004587A0 mov ecx,[esp+20h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F210: sub esp,0000006Ch push ebx push esi mov esi,ecx xor eax,eax mov [esp+08h],eax mov [esp+0Ch],eax mov ecx,[esi+20h] mov edx,[esi+24h] mov [esp+1Ch],eax mov [esp+20h],eax mov [esp+24h],ecx lea eax,[esp+0Ch] push edi lea ecx,[esp+0Ch] push eax push ecx push 00000475h mov [esp+38h],edx call SUB_L004434A0 mov edx,[esp+18h] mov ebx,[esp+00000088h] mov eax,000001C2h push 0000001Eh sub eax,edx lea ecx,[esp+40h] cdq sub eax,edx lea edx,[ebx+ebx*8] mov edi,eax lea eax,[L00C85E4C+edx*4] sar edi,1 push eax push ecx add edi,0000002Dh call SUB_L004D52C0 lea edx,[esp+48h] lea eax,[ebx+01h] push edx push eax lea ecx,[esp+70h] push SSZ0050E5BC___d___s push ecx call SUB_L004D512F lea edx,[esp+40h] lea eax,[esp+3Ch] push edx lea ecx,[esp+48h] push eax lea edx,[esp+00000080h] push ecx push edx push 00000002h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+5Ch] push eax mov eax,[edx+04h] mov edx,[esp+54h] add eax,00000004h push ecx push eax mov eax,[esp+58h] lea ecx,[esp+00000098h] sub eax,edx push ecx mov ecx,[esp+64h] push 00000386h cdq sub eax,edx push 00000002h mov edx,eax lea eax,[ebx+ebx*4+0Ah] sar edx,1 lea eax,[eax+eax*4] add ecx,edx add eax,ecx mov ecx,[esp+70h] push eax mov eax,[esp+64h] sub eax,ecx cdq sub eax,edx sar eax,1 add eax,edi push eax call SUB_L004410C0 add esp,0000005Ch pop edi pop esi pop ebx add esp,0000006Ch retn 0004h ;------------------------------------------------------------------------------ Align 8 L0049F320: mov eax,[esp+04h] sub esp,00000014h cmp eax,00000063h push esi push edi mov edi,ecx jnz L0049F39D mov eax,[edi+000000B8h] mov ecx,[L00C884DC] mov dl,[eax+000000B8h] xor eax,eax mov [L00C85FB5],dl mov ecx,[ecx+7Ch] L0049F34D: cmp [eax+L00C85E48],ecx jz L0049F361 add eax,00000024h cmp eax,00000168h jl L0049F34D jmp L0049F385 L0049F361: mov eax,[L00C87EC8] cmp [eax+0000009Ch],dl jz L0049F379 call SUB_L004903B0 mov dl,[L00C85FB5] L0049F379: mov ecx,[L00C87EC8] mov [ecx+0000009Ch],dl L0049F385: test edi,edi jz L0049F6B5 mov edx,[edi] push 00000001h mov ecx,edi call [edx] pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F39D: cmp eax,00000062h jnz L0049F3BA test edi,edi jz L0049F6B5 mov eax,[edi] push 00000001h mov ecx,edi call [eax] pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F3BA: cmp eax,00000032h jnz L0049F3DE mov eax,[L00C88318] test eax,eax jnz L0049F6B5 push 00000000h call SUB_L0048FDA0 add esp,00000004h pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F3DE: cmp eax,00000014h jl L0049F482 cmp eax,0000001Eh jge L0049F482 lea esi,[eax+eax*8-000000B4h] mov eax,[L00C85E48+esi*4] test eax,eax jz L0049F6A4 mov cl,[L00C85FB6] test cl,cl jnz L0049F429 push SSZ0050E5E8_You_are_not_the_party_leader__Yo push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F429: push eax call SUB_L0048FEF0 mov esi,[L00C85E48+esi*4] add esp,00000004h mov eax,L00C85E48 L0049F43E: cmp [eax],esi jnz L0049F44C mov dword ptr [eax],00000000h mov byte ptr [eax+04h],00h L0049F44C: add eax,00000024h cmp eax,L00C85FB0 jl L0049F43E mov ecx,[edi+3Ch] push 00000000h mov edx,[ecx+04h] push edx push 00000A28h push 000001E0h push 000001C2h push 00000000h push 00000000h call SUB_L0042C610 add esp,0000001Ch pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F482: cmp eax,00000046h jnz L0049F4EE mov eax,[L00C884DC] mov ecx,[eax+7Ch] xor eax,eax L0049F491: cmp [eax+L00C85E48],ecx jz L0049F4BC add eax,00000024h cmp eax,00000168h jl L0049F491 L0049F4A3: push SSZ00505244_You_are_not_in_a_party_ push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F4BC: push ecx call SUB_L0048FEF0 mov ecx,[edi+3Ch] push 00000000h mov edx,[ecx+04h] push edx push 00000A28h push 000001E0h push 000001C2h push 00000000h push 00000000h call SUB_L0042C610 add esp,00000020h pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F4EE: cmp eax,0000003Ch jnz L0049F5C7 mov eax,[L00C884DC] mov ecx,[eax+7Ch] xor eax,eax L0049F501: cmp [eax+L00C85E48],ecx jz L0049F515 add eax,00000024h cmp eax,00000168h jl L0049F501 jmp L0049F4A3 L0049F515: lea ecx,[esp+08h] push L004FE9F8 push ecx call SUB_L004D512F mov al,[L00C8C4A2] add esp,00000008h test al,al jz L0049F55B mov eax,[L00C87EA4] lea edx,[esp+08h] add eax,0000000Ch push edx push eax call SUB_L004C4430 lea ecx,[esp+10h] push ecx call SUB_L004C4300 mov edx,[L00C87EA4] add esp,0000000Ch mov [edx+08h],eax jmp L0049F59A L0049F55B: mov eax,[L00C87EA4] lea edi,[esp+08h] or ecx,FFFFFFFFh lea edx,[eax+0Ch] 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 xor eax,eax and ecx,00000003h rep movsb mov edx,[L00C87EA4] or ecx,FFFFFFFFh lea edi,[edx+0Ch] repne scasb not ecx dec ecx mov [edx+08h],ecx L0049F59A: mov ecx,[L00C87EA4] mov dword ptr [ecx+00000114h],0000000Bh mov ecx,[L00C87EA4] call SUB_L0046D040 pop edi mov dword ptr [L00C83654],00000000h pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F5C7: cmp eax,0000000Ah jl L0049F6B5 cmp eax,00000014h jge L0049F6B5 lea edx,[eax+eax*8-5Ah] mov ecx,[L00C85E48+edx*4] test ecx,ecx jz L0049F6A4 add eax,FFFFFFF7h push eax lea eax,[esp+0Ch] push L0050C624 push eax call SUB_L004D512F mov al,[L00C8C4A2] add esp,0000000Ch test al,al jz L0049F637 mov edx,[L00C87EA4] lea ecx,[esp+08h] add edx,0000000Ch push ecx push edx call SUB_L004C4430 lea eax,[esp+10h] push eax call SUB_L004C4300 mov ecx,[L00C87EA4] add esp,0000000Ch mov [ecx+08h],eax jmp L0049F677 L0049F637: mov edx,[L00C87EA4] lea edi,[esp+08h] or ecx,FFFFFFFFh xor eax,eax add edx,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 xor eax,eax and ecx,00000003h rep movsb mov edx,[L00C87EA4] or ecx,FFFFFFFFh lea edi,[edx+0Ch] repne scasb not ecx dec ecx mov [edx+08h],ecx L0049F677: mov ecx,[L00C87EA4] mov dword ptr [ecx+00000114h],0000000Bh mov ecx,[L00C87EA4] call SUB_L0046D040 pop edi mov dword ptr [L00C83654],00000000h pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L0049F6A4: push SSZ0050E5C4_There_is_no_one_in_that_party_sl push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch L0049F6B5: pop edi pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 4 L0049F6C0: mov eax,[ecx+000000ACh] test eax,eax jz L0049F6E7 mov eax,[esp+08h] mov edx,[ecx+74h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+70h] push edx call SUB_L00457800 L0049F6E7: retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L0049F6F0: push FFFFFFFFh push L004E54EB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00B29068] test ecx,ecx jnz L0049F78A mov eax,[L00C884DC] mov ecx,[eax+7Ch] xor eax,eax L0049F71A: cmp [eax+L00C85E48],ecx jz L0049F742 add eax,00000024h cmp eax,00000168h jl L0049F71A L0049F72C: xor eax,eax mov [L00B29068],eax mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0049F742: push 000000C4h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0049F72C push SWC0050E628_Party_Chat push 00000064h push 000000C8h push 00000001h push 00000001h mov ecx,eax call SUB_L0049F8C0 mov [L00B29068],eax mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0049F78A: push 00000000h call SUB_L004584E0 mov ecx,[esp+04h] mov eax,[L00B29068] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F7B0: push FFFFFFFFh push L004E550B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00C87EC8] test ecx,ecx jnz L0049F81D push 000000E8h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L0049F7F6 mov ecx,eax call SUB_L0049E3A0 jmp L0049F7F8 L0049F7F6: xor eax,eax L0049F7F8: mov cl,[L00C85FB5] mov [L00C87EC8],eax mov [eax+0000009Ch],cl mov eax,[L00C87EC8] mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L0049F81D: push 00000000h call SUB_L004584E0 mov ecx,[esp+04h] mov eax,[L00C87EC8] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F840: mov eax,ecx push ebx mov cl,01h xor ebx,ebx mov [eax+0000016Dh],cl mov [eax+0000016Eh],cl mov [eax+0000016Ch],bl mov [eax+00000168h],ebx mov edx,eax mov ecx,0000000Ah L0049F866: mov [edx],ebx mov [edx+04h],bl add edx,00000024h dec ecx jnz L0049F866 pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F880: mov edx,[esp+04h] xor eax,eax L0049F886: cmp [ecx],edx jz L0049F898 inc eax add ecx,00000024h cmp eax,0000000Ah jl L0049F886 xor al,al retn 0004h ;------------------------------------------------------------------------------ L0049F898: mov al,01h retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0049F8A0: mov eax,0000000Ah xor edx,edx L0049F8A7: mov [ecx],edx mov [ecx+04h],dl add ecx,00000024h dec eax jnz L0049F8A7 retn ;------------------------------------------------------------------------------ Align 16 SUB_L0049F8C0: push FFFFFFFFh push L004E5575 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi mov esi,ecx push edi mov [esp+18h],esi call SUB_L00458F30 mov eax,[esp+40h] mov ecx,[esp+38h] mov edx,[esp+3Ch] mov [esi+1Ch],eax mov [esi+20h],eax mov eax,[esp+44h] xor ebx,ebx push 000000C8h mov [esp+34h],ebx mov dword ptr [esi],L004EF5E4 mov [esi+24h],eax mov [esi+30h],ecx mov [esi+34h],edx mov [esi+000000C0h],ebx mov [esi+000000BCh],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],01h jz L0049F94C push 00000001h push ebx push 00000080h push ebx push 00000001h push esi mov ecx,eax call SUB_L004356E0 jmp L0049F94E L0049F94C: xor eax,eax L0049F94E: push 000000B0h mov [esp+34h],bl mov [esi+0000009Ch],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],02h jz L0049F97C push esi mov ecx,eax call SUB_L00435210 jmp L0049F97E L0049F97C: xor eax,eax L0049F97E: push 0000009Ch mov [esp+34h],bl mov [esi+000000A0h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],03h jz L0049F9AC push esi mov ecx,eax call SUB_L00434820 jmp L0049F9AE L0049F9AC: xor eax,eax L0049F9AE: push 0000009Ch mov [esp+34h],bl mov [esi+000000A4h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],04h jz L0049F9DC push esi mov ecx,eax call SUB_L00434820 jmp L0049F9DE L0049F9DC: xor eax,eax L0049F9DE: push 0000009Ch mov [esp+34h],bl mov [esi+000000A8h],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],05h jz L0049FA0C push esi mov ecx,eax call SUB_L00434820 jmp L0049FA0E L0049FA0C: xor eax,eax L0049FA0E: push 0000009Ch mov [esp+34h],bl mov [esi+000000ACh],eax call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],06h jz L0049FA3C push esi mov ecx,eax call SUB_L00434820 jmp L0049FA3E L0049FA3C: xor eax,eax L0049FA3E: mov ecx,[esp+48h] mov [esi+000000B0h],eax push ebx xor eax,eax mov ax,[L00C87ECC] push FFFFFFFFh push FFFFFFFFh push ebx push eax push ecx mov ecx,[esi+0000009Ch] mov [esp+48h],bl call SUB_L004359B0 lea edx,[esp+0Ch] lea eax,[esp+1Ch] push edx push eax push 00000A8Ch call SUB_L004434A0 lea ecx,[esp+2Ch] lea edx,[esp+1Ch] push ecx push edx push 00000A8Dh call SUB_L004434A0 lea eax,[esp+3Ch] lea ecx,[esp+2Ch] push eax push ecx push 000000FCh call SUB_L004434A0 mov edx,[esi+20h] mov ecx,[esi+000000A4h] add esp,00000024h push edx push ebx push ebx push 00000A8Ch push ebx call SUB_L004349D0 mov eax,[esi+20h] mov ecx,[esi+24h] push eax mov eax,[esp+10h] sub ecx,eax push ecx mov ecx,[esi+000000A8h] push ebx push 00000A8Ch push ebx call SUB_L004349D0 mov eax,[esp+0Ch] mov ecx,[esi+24h] lea edx,[eax+eax] sub ecx,edx push ecx mov ecx,[esi+000000ACh] push eax push ebx push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+0Ch] mov ecx,[esi+24h] lea edx,[eax+eax] sub ecx,edx mov edx,[esi+20h] push ecx mov ecx,[esi+000000B0h] push eax mov eax,[esp+18h] sub edx,eax push edx push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+0Ch] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx push edx mov ecx,[esi+000000A0h] push eax mov eax,[esp+18h] push eax call SUB_L00435500 mov eax,[esp+0Ch] mov edx,[esi+24h] mov edi,[esi+20h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esp+10h] push edx lea edx,[ecx+ecx] sub edi,edx mov edx,[esp+18h] sub edi,edx add edx,ecx mov ecx,[esi+0000009Ch] push edi push eax push edx call SUB_L00435920 mov ecx,[esi+0000009Ch] push ebx call SUB_L00435D70 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax cmp eax,ebx mov byte ptr [esp+30h],07h jz L0049FBB9 push ebx push 00000A8Fh push 00000A8Fh push L00421580 push ebx push ebx push esi push ebx push ebx mov ecx,eax call SUB_L00421F40 jmp L0049FBBB L0049FBB9: xor eax,eax L0049FBBB: mov ecx,[esi+20h] mov edx,[esp+10h] mov [esi+000000B4h],eax mov edi,[eax+20h] sub ecx,edi push 00000001h sub ecx,edx push esi mov [eax+30h],ecx mov eax,[esi+000000B4h] mov edx,[esi+24h] mov ecx,[esp+14h] mov edi,[eax+24h] mov [esp+38h],bl sub edx,edi sub edx,ecx mov [eax+34h],edx mov ecx,[esi+000000B4h] call SUB_L004587A0 push 00000001h push ebx mov ecx,esi call SUB_L004587A0 mov ecx,[esp+28h] mov [esi+000000B8h],bl mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000028h retn 0014h ;------------------------------------------------------------------------------ Align 16 L0049FC30: push esi mov esi,ecx call SUB_L0049FC50 test byte ptr [esp+08h],01h jz L0049FC48 push esi call SUB_L004D4F9E add esp,00000004h L0049FC48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L0049FC50: push FFFFFFFFh push L004E5588 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF5E4 mov ecx,[esi+0000009Ch] mov dword ptr [esp+10h],00000000h test ecx,ecx jz L0049FC8B mov eax,[ecx] push 00000001h call [eax] L0049FC8B: mov ecx,[esi+000000A0h] test ecx,ecx jz L0049FC9B mov edx,[ecx] push 00000001h call [edx] L0049FC9B: mov ecx,[esi+000000A4h] test ecx,ecx jz L0049FCAB mov eax,[ecx] push 00000001h call [eax] L0049FCAB: mov ecx,[esi+000000A8h] test ecx,ecx jz L0049FCBB mov edx,[ecx] push 00000001h call [edx] L0049FCBB: mov ecx,[esi+000000ACh] test ecx,ecx jz L0049FCCB mov eax,[ecx] push 00000001h call [eax] L0049FCCB: mov ecx,[esi+000000B0h] test ecx,ecx jz L0049FCDB mov edx,[ecx] push 00000001h call [edx] L0049FCDB: mov ecx,[esi+000000B4h] test ecx,ecx jz L0049FCEB mov eax,[ecx] push 00000001h call [eax] L0049FCEB: cmp esi,[L00B29068] jnz L0049FCFD mov dword ptr [L00B29068],00000000h L0049FCFD: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L0049FD20: mov edx,[esp+04h] mov ecx,[ecx+0000009Ch] push 00000000h xor eax,eax mov ax,[L00C87ECC] push FFFFFFFFh push FFFFFFFFh push 00000000h push eax push edx call SUB_L004359B0 retn 0004h ;------------------------------------------------------------------------------ Align 16 L0049FD50: mov eax,[esp+04h] mov edx,[esp+08h] mov byte ptr [ecx+000000B8h],01h mov [ecx+000000BCh],eax mov [ecx+000000C0h],edx retn 0008h ;------------------------------------------------------------------------------ Align 4 L0049FD70: push 00000000h mov byte ptr [ecx+000000B8h],00h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L0049FD90: sub esp,00000010h lea eax,[esp+00h] push esi mov esi,ecx push edi lea ecx,[esp+10h] push eax push ecx push 00000A8Ch call SUB_L004434A0 lea edx,[esp+1Ch] lea eax,[esp+18h] push edx push eax push 00000A8Dh call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+2Ch] push ecx push edx push 000000FCh call SUB_L004434A0 mov edx,[esp+2Ch] mov ecx,[esp+44h] mov eax,[esp+40h] add esp,00000024h lea edi,[edx+edx] mov [esi+24h],ecx sub ecx,edi mov [esi+1Ch],eax push ecx mov ecx,[esp+10h] mov [esi+20h],eax lea edi,[ecx+ecx] sub eax,edi mov edi,[esp+18h] sub eax,edi add edi,ecx mov ecx,[esi+0000009Ch] push eax push edx push edi call SUB_L00435920 mov eax,[esi+000000B4h] mov ecx,[esi+20h] mov edx,[esp+0Ch] sub ecx,[eax+20h] sub ecx,edx mov [eax+30h],ecx mov eax,[esi+000000B4h] mov edx,[esi+24h] mov ecx,[esp+08h] sub edx,[eax+24h] sub edx,ecx mov [eax+34h],edx mov eax,[esi+20h] mov ecx,[esi+000000A4h] push eax push 00000000h push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov edx,[esi+24h] mov eax,[esp+08h] mov ecx,[esi+20h] sub edx,eax push ecx mov ecx,[esi+000000A8h] push edx push 00000000h push 00000A8Ch push 00000000h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx push edx mov ecx,[esi+000000ACh] push eax push 00000000h push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] mov edi,[esp+0Ch] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000B0h] push edx push eax mov eax,[esi+20h] sub eax,edi push eax push 00000A8Dh push 00000001h call SUB_L004349D0 mov eax,[esp+08h] mov edx,[esi+24h] lea ecx,[eax+eax] sub edx,ecx mov ecx,[esi+000000A0h] push edx push eax mov eax,[esp+14h] push eax call SUB_L00435500 pop edi pop esi add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 16 L0049FEF0: mov eax,[esp+08h] mov edx,[esp+04h] push eax push edx call SUB_L0049FD90 retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0049FF10: mov al,[ecx+000000B8h] test al,al jz L0049FF3D mov eax,[esp+08h] mov edx,[ecx+000000C0h] push 00000001h push 00000000h sub eax,edx mov edx,[esp+0Ch] push 00000001h push eax sub edx,[ecx+000000BCh] push edx call SUB_L00457800 L0049FF3D: retn 0008h ;------------------------------------------------------------------------------ L0049FF40: mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+000000A0h] push eax push edx call SUB_L00435670 retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0049FF60: mov eax,[esp+08h] mov edx,[esp+04h] mov ecx,[ecx+0000009Ch] push eax push edx call SUB_L00435DB0 retn 000Ch ;------------------------------------------------------------------------------ Align 16 L0049FF80: mov eax,[esp+04h] mov ecx,[ecx+0000009Ch] push eax call SUB_L00435DE0 retn 0008h ;------------------------------------------------------------------------------ Align 16 L0049FFA0: push esi mov esi,[ecx+50h] test esi,esi jz L0049FFBD push edi mov edi,[esp+0Ch] L0049FFAD: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L0049FFAD pop edi L0049FFBD: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L0049FFD0: push esi push SSZ0050E664_PathManager__startup__begin__ call SUB_L004C7F20 xor esi,esi push 00000008h push 00000001h mov [L00C8C4F8],esi mov [L00C8C50C],esi mov [L00C8C508],esi mov [L00C8C504],esi call SUB_L004D76DA add esp,0000000Ch cmp eax,esi mov [L00C8C50C],eax jnz L004A001D push esi push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A001D: pop esi retn ;------------------------------------------------------------------------------ Align 4 L004A0020: mov eax,[L00C8C50C] test eax,eax jz L004A003C push eax call SUB_L004D59F6 add esp,00000004h mov dword ptr [L00C8C50C],00000000h L004A003C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A0040: mov eax,[L00C8C508] push esi test eax,eax jz L004A005C L004A004A: mov esi,[eax+4Ch] push eax call SUB_L004D59F6 add esp,00000004h mov eax,esi test esi,esi jnz L004A004A L004A005C: mov eax,[L00C8C504] test eax,eax jz L004A0077 L004A0065: mov esi,[eax+4Ch] push eax call SUB_L004D59F6 add esp,00000004h mov eax,esi test esi,esi jnz L004A0065 L004A0077: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A0080: push ebx push ebp push esi push edi xor edi,edi push 00000050h push 00000001h mov [L00C8C4E4],edi call SUB_L004D76DA add esp,00000008h cmp eax,edi mov [L00C8C508],eax jnz L004A00B4 push edi push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A00B4: push 00000050h push 00000001h call SUB_L004D76DA add esp,00000008h cmp eax,edi mov [L00C8C504],eax jnz L004A00DC push edi push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A00DC: push 00000050h push 00000001h call SUB_L004D76DA mov esi,eax add esp,00000008h cmp esi,edi jnz L004A0101 push edi push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A0101: mov ebx,[esp+20h] mov [esi+08h],edi mov edi,[esp+14h] mov edx,[esp+24h] mov eax,edi mov ebp,[esp+28h] sub eax,ebx mov ebx,[esp+18h] mov ecx,ebx mov [esi+10h],edi sub ecx,edx mov edx,[esp+1Ch] sub edx,ebp mov edi,[esp+30h] mov ebp,edx mov [esi+14h],ebx imul ebp,edx mov edx,ecx mov ebx,[esp+20h] imul edx,ecx mov ecx,eax add ebp,edx imul ecx,eax add ebp,ecx mov edx,[esp+1Ch] mov [esp+14h],ebp mov ebp,[esp+24h] fild dword ptr [esp+14h] mov [esi+18h],edx fsqrt fst dword ptr [esi+04h] fstp dword ptr [esi] mov eax,[L00C8C508] mov [eax+4Ch],esi L004A0169: mov eax,[L00C8C508] mov esi,[eax+4Ch] test esi,esi jz L004A0219 mov ecx,[esi+4Ch] mov [eax+4Ch],ecx mov edx,[L00C8C504] mov eax,[edx+4Ch] mov [esi+4Ch],eax mov ecx,[L00C8C504] mov [ecx+4Ch],esi mov eax,[L00C8C4E4] mov ecx,[esp+2Ch] inc eax cmp eax,ecx mov [L00C8C4E4],eax jle L004A01B0 call SUB_L004BCED0 test eax,eax jz L004A0219 L004A01B0: cmp dword ptr [L00C8C4E4],00001388h jg L004A0219 mov eax,[esi+10h] mov edx,eax sub edx,edi cmp ebx,edx jl L004A0204 add eax,edi cmp ebx,eax jg L004A0204 mov eax,[esi+14h] mov ecx,eax sub ecx,edi cmp ebp,ecx jl L004A0204 add eax,edi cmp ebp,eax jg L004A0204 mov eax,[esi+18h] mov ecx,[esp+28h] lea edx,[eax-08h] cmp ecx,edx jl L004A0208 add eax,00000008h cmp ecx,eax jle L004A0220 push ecx push ebp push ebx push esi call SUB_L004A02D0 add esp,00000010h jmp L004A0169 L004A0204: mov ecx,[esp+28h] L004A0208: push ecx push ebp push ebx push esi call SUB_L004A02D0 add esp,00000010h jmp L004A0169 L004A0219: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L004A0220: mov eax,esi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0230: mov edx,[esp+0Ch] push ebx mov ebx,[esp+0Ch] push ebp mov ebp,[esp+1Ch] push esi mov esi,[esp+1Ch] push edi mov edi,[esp+14h] push ebp mov ecx,[L005072E0+esi*4] mov eax,[L005072B8+esi*4] add ecx,ebx push esi add eax,edi push edx push ecx push eax call SUB_L004794B0 add esp,00000014h test eax,eax jnz L004A0270 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A0270: mov ecx,[L005072DC+esi*4] mov eax,[L005072B4+esi*4] lea edx,[esi-01h] push ebp push edx mov edx,[esp+24h] add ecx,ebx add eax,edi push edx push ecx push eax call SUB_L004794B0 add esp,00000014h test eax,eax jnz L004A029F pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A029F: lea eax,[esi+01h] push ebp and eax,00000007h push eax mov ecx,[L005072B8+eax*4] mov edx,[L005072E0+eax*4] mov eax,[esp+24h] add edx,ebx add ecx,edi push eax push edx push ecx call SUB_L004794B0 add esp,00000014h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A02D0: push ebx push ebp push esi mov esi,[esp+10h] push edi xor ebx,ebx L004A02DA: test bl,01h jz L004A0327 mov ecx,[esi+18h] mov edi,[esi+14h] mov ebp,[esi+10h] lea eax,[esp+14h] push eax push ebx push ecx push edi push ebp call SUB_L004A0230 add esp,00000014h test eax,eax jz L004A0376 mov edx,[esp+20h] mov eax,[esp+1Ch] mov ecx,[esp+18h] push edx mov edx,[esp+18h] push eax mov eax,[L005072E0+ebx*4] push ecx mov ecx,[L005072B8+ebx*4] add eax,edi push edx add ecx,ebp push eax push ecx jmp L004A036D L004A0327: mov edi,[L005072E0+ebx*4] mov ebp,[esi+14h] mov edx,[esi+10h] mov eax,[esi+18h] add edi,ebp mov ebp,[L005072B8+ebx*4] add ebp,edx lea edx,[esp+14h] push edx push ebx push eax push edi push ebp call SUB_L004794B0 add esp,00000014h test eax,eax jz L004A0376 mov ecx,[esp+20h] mov edx,[esp+1Ch] mov eax,[esp+18h] push ecx mov ecx,[esp+18h] push edx push eax push ecx push edi push ebp L004A036D: push esi call SUB_L004A0390 add esp,0000001Ch L004A0376: inc ebx cmp ebx,00000008h jl L004A02DA pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0390: push ecx push ebx push ebp push esi mov esi,[esp+14h] push edi fld dword ptr [esi+08h] call SUB_L004D5008 inc eax mov edi,[esp+24h] mov ebx,[esp+20h] mov ebp,[esp+1Ch] mov [esp+10h],eax mov eax,[L00C8C508] mov ecx,[eax+4Ch] test ecx,ecx jz L004A03D4 L004A03BE: cmp [ecx+10h],ebp jnz L004A03CD cmp [ecx+14h],ebx jnz L004A03CD cmp [ecx+18h],edi jz L004A0400 L004A03CD: mov ecx,[ecx+4Ch] test ecx,ecx jnz L004A03BE L004A03D4: mov ecx,[L00C8C504] mov ecx,[ecx+4Ch] test ecx,ecx jz L004A0485 L004A03E5: cmp [ecx+10h],ebp jnz L004A03F4 cmp [ecx+14h],ebx jnz L004A03F4 cmp [ecx+18h],edi jz L004A043E L004A03F4: mov ecx,[ecx+4Ch] test ecx,ecx jnz L004A03E5 jmp L004A0485 L004A0400: test ecx,ecx jz L004A03D4 xor eax,eax lea edx,[esi+2Ch] L004A0409: cmp dword ptr [edx],00000000h jz L004A0417 inc eax add edx,00000004h cmp eax,00000008h jl L004A0409 L004A0417: fild dword ptr [esp+10h] mov [esi+eax*4+2Ch],ecx fcom dword ptr [ecx+08h] fnstsw ax test ah,01h jz L004A0553 fst dword ptr [ecx+08h] fadd dword ptr [ecx+04h] mov [ecx+24h],esi pop edi pop esi pop ebp pop ebx fstp dword ptr [ecx] pop ecx retn ;------------------------------------------------------------------------------ L004A043E: test ecx,ecx jz L004A0485 xor eax,eax lea edx,[esi+2Ch] L004A0447: cmp dword ptr [edx],00000000h jz L004A0455 inc eax add edx,00000004h cmp eax,00000008h jl L004A0447 L004A0455: fild dword ptr [esp+10h] mov [esi+eax*4+2Ch],ecx fcom dword ptr [ecx+08h] fnstsw ax test ah,01h jz L004A0553 fst dword ptr [ecx+08h] fadd dword ptr [ecx+04h] push ecx mov [ecx+24h],esi fstp dword ptr [ecx] call SUB_L004A0560 add esp,00000004h pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A0485: push 00000050h push 00000001h call SUB_L004D76DA mov esi,eax add esp,00000008h test esi,esi jnz L004A04AA push eax push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A04AA: mov edx,[esp+18h] mov eax,ebp mov ebp,[esp+28h] mov [esi+24h],edx mov edx,[esp+2Ch] mov ecx,ebx sub eax,ebp mov ebp,[esp+30h] sub ecx,edx mov edx,edi sub edx,ebp mov [esi+14h],ebx mov ebp,edx mov [esi+18h],edi imul ebp,edx fild dword ptr [esp+10h] fst dword ptr [esi+08h] mov edx,ecx imul edx,ecx mov ecx,eax add ebp,edx imul ecx,eax add ebp,ecx mov edx,[esp+1Ch] mov [esp+24h],ebp mov [esi+10h],edx fild dword ptr [esp+24h] fsqrt fst dword ptr [esi+04h] faddp ST(1),ST fst dword ptr [esi] mov eax,[L00C8C508] fstp dword ptr [esp+1Ch] mov edx,[eax+4Ch] lea ecx,[eax+4Ch] test edx,edx jz L004A052B L004A0514: fld dword ptr [edx] fcomp dword ptr [esp+1Ch] fnstsw ax test ah,01h jz L004A052B lea ecx,[edx+4Ch] mov edx,[edx+4Ch] test edx,edx jnz L004A0514 L004A052B: mov edx,[ecx] xor eax,eax mov [esi+4Ch],edx mov edx,[esp+18h] mov [ecx],esi lea ecx,[edx+2Ch] L004A053B: cmp dword ptr [ecx],00000000h jz L004A0549 inc eax add ecx,00000004h cmp eax,00000008h jl L004A053B L004A0549: mov [edx+eax*4+2Ch],esi pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004A0553: pop edi pop esi pop ebp pop ebx fstp ST(0) pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A0560: sub esp,00000008h push ebx mov ebx,[esp+10h] push ebp push esi fld dword ptr [ebx+08h] push edi call SUB_L004D5008 mov [esp+10h],eax mov dword ptr [esp+1Ch],00000000h lea ebp,[ebx+2Ch] L004A0582: mov esi,[ebp+00h] test esi,esi jz L004A0601 mov eax,[esp+10h] inc eax mov [esp+14h],eax fild dword ptr [esp+14h] fcomp dword ptr [esi+08h] fnstsw ax test ah,01h jz L004A05F0 fild dword ptr [esp+10h] push 00000008h push 00000001h mov [esi+24h],ebx fadd dword ptr [L004E73E0] fst dword ptr [esi+08h] fadd dword ptr [esi+04h] fstp dword ptr [esi] call SUB_L004D76DA mov edi,eax add esp,00000008h test edi,edi jnz L004A05DA push eax push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A05DA: mov [edi],esi mov ecx,[L00C8C50C] mov edx,[ecx+04h] mov [edi+04h],edx mov eax,[L00C8C50C] mov [eax+04h],edi L004A05F0: mov eax,[esp+1Ch] add ebp,00000004h inc eax cmp eax,00000008h mov [esp+1Ch],eax jl L004A0582 L004A0601: mov ecx,[L00C8C50C] add ecx,00000004h mov eax,[ecx] test eax,eax jz L004A06B7 L004A0614: mov edx,[eax+04h] mov ebx,[eax] push eax mov [ecx],edx call SUB_L004D59F6 add esp,00000004h mov dword ptr [esp+1Ch],00000000h lea ebp,[ebx+2Ch] L004A062F: mov esi,[ebp+00h] test esi,esi jz L004A06A4 fld dword ptr [ebx+08h] fadd dword ptr [L004E73E0] fcom dword ptr [esi+08h] fnstsw ax test ah,01h jz L004A0691 fst dword ptr [esi+08h] fadd dword ptr [esi+04h] push 00000008h push 00000001h mov [esi+24h],ebx fstp dword ptr [esi] call SUB_L004D76DA mov edi,eax add esp,00000008h test edi,edi jnz L004A0679 push eax push SSZ0050E65C_Oops_ push SSZ0050E640_Failed_to_calloc_memory_ call SUB_L004D1020 add esp,0000000Ch L004A0679: mov [edi],esi mov eax,[L00C8C50C] mov ecx,[eax+04h] mov [edi+04h],ecx mov edx,[L00C8C50C] mov [edx+04h],edi jmp L004A0693 L004A0691: fstp ST(0) L004A0693: mov eax,[esp+1Ch] add ebp,00000004h inc eax cmp eax,00000008h mov [esp+1Ch],eax jl L004A062F L004A06A4: mov eax,[L00C8C50C] lea ecx,[eax+04h] mov eax,[eax+04h] test eax,eax jnz L004A0614 L004A06B7: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A06C0: sub esp,0000031Ch push ebx push ebp push esi push edi call SUB_L00476750 mov esi,[L00C83640] mov edi,00000001h push 00000011h mov [L00C83640],edi call SUB_L004766D0 add esp,00000004h mov ebx,00000002h mov [L00C83640],esi push 00000000h push ebx push ebx call jmp_WSOCK32.dll!WSOCK32.23 mov ebp,eax cmp ebp,FFFFFFFFh mov [esp+10h],ebp jnz L004A0723 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050E6C8_Socket_Creation_Failed call SUB_L00455DD0 add esp,00000014h jmp L004A09F8 L004A0723: mov cx,[L0050E684] xor eax,eax mov [esp+1Ch],eax push ecx mov [esp+24h],eax mov [esp+20h],bx mov [esp+28h],eax mov [esp+2Ch],eax call jmp_WSOCK32.dll!WSOCK32.9 lea edx,[esp+1Ch] push 00000010h push edx push ebp mov [esp+2Ah],ax call jmp_WSOCK32.dll!WSOCK32.2 cmp eax,FFFFFFFFh jnz L004A077E push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050E6BC_Bind_Failed call SUB_L00455DD0 mov esi,[L00C861C8] add esp,00000014h jmp L004A09AB L004A077E: lea eax,[esp+18h] mov [esp+18h],edi push eax push 8004667Eh push ebp call jmp_WSOCK32.dll!WSOCK32.12 mov ecx,00000080h xor eax,eax lea edi,[esp+0000012Ch] rep stosd mov eax,[L00C861C8] xor edi,edi test eax,eax jle L004A07E6 lea esi,[esp+00000130h] L004A07B4: mov ecx,[L00C861AC] mov [esi-04h],bx mov edx,[ecx+edi*4] push edx call jmp_WSOCK32.dll!WSOCK32.8 mov [esi],eax mov ax,[L0050E684] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [esi-02h],ax mov eax,[L00C861C8] inc edi add esi,00000010h cmp edi,eax jl L004A07B4 L004A07E6: xor eax,eax mov [esp+14h],eax L004A07EC: mov ecx,[L00C861C8] xor ebx,ebx test ecx,ecx jle L004A08C3 lea esi,[esp+0000012Ch] lea edi,[00000000h+eax*4] L004A080A: mov cx,[L0050E684] mov dword ptr [edi+L00C8C51C],00000000h push ecx call jmp_WSOCK32.dll!WSOCK32.9 mov dl,[esp+14h] mov [esp+000000ACh],ax mov [esp+000000AEh],bl mov [esp+000000AFh],dl call [KERNEL32.dll!GetTickCount] mov ecx,[esp+10h] push 00000010h mov ebp,eax push esi push 00000000h lea eax,[esp+000000B8h] push 00000028h push eax push ecx call jmp_WSOCK32.dll!WSOCK32.20 test eax,eax jge L004A088D add ebp,00000FA0h L004A0866: call [KERNEL32.dll!GetTickCount] cmp ebp,eax jl L004A08AE mov eax,[esp+10h] push 00000010h push esi push 00000000h lea edx,[esp+000000B8h] push 00000028h push edx push eax call jmp_WSOCK32.dll!WSOCK32.20 test eax,eax jl L004A0866 L004A088D: call [KERNEL32.dll!GetTickCount] mov [edi+L00C8CF1C],eax mov eax,[L00C861C8] inc ebx add esi,00000010h add edi,00000050h cmp ebx,eax jge L004A08C3 jmp L004A080A L004A08AE: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050E69C_Couldn_t_send_for_4_seconds_ call SUB_L00455DD0 add esp,00000014h L004A08C3: mov eax,[esp+14h] inc eax cmp eax,00000014h mov [esp+14h],eax jl L004A07EC mov edi,[KERNEL32.dll!GetTickCount] call edi mov ebp,eax xor ebx,ebx L004A08E1: mov edx,[esp+10h] push 00000000h push 00000000h push 00000000h lea ecx,[esp+38h] push 00000028h push ecx push edx mov byte ptr [esp+46h],FFh mov byte ptr [esp+47h],FFh call jmp_WSOCK32.dll!WSOCK32.17 test eax,eax jge L004A0931 lea esi,[ebp+00001F40h] L004A090C: call edi cmp esi,eax jl L004A09A1 mov ecx,[esp+10h] push 00000000h push 00000000h push 00000000h lea eax,[esp+38h] push 00000028h push eax push ecx call jmp_WSOCK32.dll!WSOCK32.17 test eax,eax jl L004A090C L004A0931: call edi movsx edx,[esp+2Eh] movsx ecx,[esp+2Fh] test edx,edx jl L004A0975 mov esi,[L00C861C8] cmp edx,esi jge L004A0975 cmp ecx,00000014h jge L004A0975 lea edx,[edx+edx*4] lea ecx,[ecx+edx*4] shl ecx,02h sub eax,[ecx+L00C8CF1C] test eax,eax mov [ecx+L00C8C51C],eax jg L004A0990 mov dword ptr [ecx+L00C8C51C],00000001h jmp L004A0990 L004A0975: push 00000000h push 00000000h push 00000000h push 00000000h push SSZ0050E688_Bogus_return_ping call SUB_L00455DD0 mov esi,[L00C861C8] add esp,00000014h L004A0990: lea eax,[esi+esi*4] inc ebx shl eax,02h cmp ebx,eax jnz L004A08E1 jmp L004A09A7 L004A09A1: mov esi,[L00C861C8] L004A09A7: mov ebp,[esp+10h] L004A09AB: xor eax,eax test esi,esi jle L004A09ED mov edx,L00C8C51C L004A09B6: mov ecx,[L00C861B0] mov edi,00000014h mov word ptr [ecx+eax*2],0000h L004A09C7: mov esi,[edx] test esi,esi jnz L004A09D2 mov esi,000000C8h L004A09D2: mov ecx,[L00C861B0] add edx,00000004h add [ecx+eax*2],si dec edi jnz L004A09C7 mov ecx,[L00C861C8] inc eax cmp eax,ecx jl L004A09B6 L004A09ED: push ebp call jmp_WSOCK32.dll!WSOCK32.3 mov edi,00000001h L004A09F8: call SUB_L00476760 mov esi,[L00C83640] push 00000011h mov [L00C83640],edi call SUB_L004766D0 add esp,00000004h mov [L00C83640],esi pop edi pop esi pop ebp pop ebx add esp,0000031Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0A30: push esi mov esi,[esp+08h] cmp dword ptr [esi+00000374h],FFFFFFFFh jz L004A0AD1 mov eax,[esi+0000035Ch] cmp eax,00000016h jge L004A0AD1 mov eax,[esi+00000358h] cmp eax,00000016h jge L004A0AD1 push esi call SUB_L004A0AE0 add esp,00000004h cmp eax,FFFFFFFFh mov [esi+00000378h],eax jz L004A0AC7 cmp eax,00000001h jz L004A0A9F cmp eax,00000002h jnz L004A0AD1 mov eax,[esi] mov ecx,[eax+74h] test ecx,ecx jz L004A0A8E mov eax,[esi+0000035Ch] cmp eax,00000016h jge L004A0AD1 L004A0A8E: push esi call SUB_L004A0AE0 add esp,00000004h mov [esi+00000374h],eax pop esi retn ;------------------------------------------------------------------------------ L004A0A9F: mov ecx,[esi] mov eax,[ecx+70h] test eax,eax jz L004A0AD1 push esi call SUB_L004A0AE0 add esp,00000004h cmp eax,00000001h mov [esi+00000374h],eax jnz L004A0AD1 mov edx,[esi] pop esi mov dword ptr [edx+70h],00000000h retn ;------------------------------------------------------------------------------ L004A0AC7: mov dword ptr [esi+00000374h],FFFFFFFFh L004A0AD1: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0AE0: mov eax,0000800Ch call SUB_L004D4B90 push esi mov esi,[esp+00008014h] push edi mov edi,[WINMM.dll!mmioRead] mov ecx,[esi] lea eax,[esp+08h] push 00000008h push eax mov edx,[ecx+00000094h] push edx call edi test eax,eax jnz L004A0B25 mov dword ptr [esi+00000370h],00000001h pop edi or eax,FFFFFFFFh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0B25: cmp eax,FFFFFFFFh jz L004A0C4F cmp eax,00000008h jnz L004A0C4F mov ecx,[esp+0Fh] mov eax,[esp+0Eh] mov edx,[esp+0Dh] and ecx,000000FFh shl ecx,08h and eax,000000FFh and edx,000000FFh or ecx,eax mov eax,[esp+0Ch] shl ecx,08h or ecx,edx mov edx,[esp+0Ah] shl ecx,08h and eax,000000FFh and edx,000000FFh or ecx,eax mov eax,[esp+0Bh] and eax,000000FFh sub ecx,00000008h shl eax,08h or eax,edx mov edx,[esp+09h] shl eax,08h and edx,000000FFh or eax,edx mov edx,[esp+08h] shl eax,08h and edx,000000FFh or eax,edx cmp eax,644E5331h ja L004A0CC6 jz L004A0D8E cmp eax,53434C6Ch ja L004A0C5D jz L004A0DC4 cmp eax,444E4553h ja L004A0C39 jz L004A0C01 cmp eax,43444E53h jz L004A0C8A cmp eax,44414553h jnz L004A0C4F push ecx mov ecx,[esi] lea eax,[esp+18h] mov edx,[ecx+00000094h] push eax push edx call edi test eax,eax jnz L004A0C0D mov dword ptr [esi+00000370h],00000001h L004A0C01: pop edi or eax,FFFFFFFFh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0C0D: cmp eax,FFFFFFFFh jz L004A0C4F mov dword ptr [esi+34h],00000010h mov dword ptr [esi+2Ch],00000002h mov dword ptr [esi+30h],00005622h mov dword ptr [esi+38h],0000000Ah pop edi xor eax,eax pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0C39: cmp eax,5343436Ch jz L004A0DC4 cmp eax,5343486Ch jz L004A0D32 L004A0C4F: pop edi mov eax,FFFFFFFEh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0C5D: cmp eax,54475666h ja L004A0CA6 jz L004A0D0B cmp eax,534E4443h jz L004A0C8A cmp eax,54475170h jz L004A0D45 pop edi mov eax,FFFFFFFEh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0C8A: mov eax,[esi] mov edx,[eax+70h] test edx,edx jz L004A0C4F push ecx push esi call SUB_L004A0ED0 add esp,00000008h pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0CA6: cmp eax,5447566Bh jz L004A0D5A cmp eax,54514970h jz L004A0CF6 pop edi mov eax,FFFFFFFEh pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0CC6: cmp eax,6B564754h ja L004A0D6F jz L004A0D5A cmp eax,66564754h ja L004A0D20 jz L004A0D0B cmp eax,654E5331h jz L004A0C01 cmp eax,66325655h jnz L004A0C4F L004A0CF6: push 00000004h push ecx push esi call SUB_L004A0DF0 add esp,0000000Ch pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0D0B: push 00000002h push ecx push esi call SUB_L004A0DF0 add esp,0000000Ch pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0D20: cmp eax,6656554Dh jz L004A0D45 cmp eax,684E5331h jnz L004A0C4F L004A0D32: push ecx push esi call SUB_L004A1260 add esp,00000008h pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0D45: push 00000003h push ecx push esi call SUB_L004A0DF0 add esp,0000000Ch pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0D5A: push 00000001h push ecx push esi call SUB_L004A0DF0 add esp,0000000Ch pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0D6F: cmp eax,6C454353h ja L004A0DAE jz L004A0C01 cmp eax,6C434353h jz L004A0DC4 cmp eax,6C444353h jnz L004A0C4F L004A0D8E: mov edx,[esi] mov eax,[edx+70h] test eax,eax jz L004A0C4F push ecx push esi call SUB_L004A0ED0 add esp,00000008h pop edi pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ L004A0DAE: cmp eax,6C484353h jz L004A0D32 cmp eax,6C4C4353h jnz L004A0C4F L004A0DC4: push ecx mov ecx,[esi] lea eax,[esp+18h] mov edx,[ecx+00000094h] push eax push edx call edi pop edi mov eax,00000004h pop esi add esp,0000800Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0DF0: mov ecx,[esp+08h] push ebp push esi mov esi,[esp+0Ch] mov edx,ecx push edi mov eax,[esi+0Ch] mov ebp,[esi+14h] add edx,ebp lea edi,[eax+000AAE60h] cmp edx,edi jc L004A0E12 mov [esi+14h],eax L004A0E12: mov eax,[esi+14h] push ecx mov ecx,[esi] push eax mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioRead] test eax,eax jnz L004A0E3B mov dword ptr [esi+00000370h],00000001h pop edi pop esi or eax,FFFFFFFFh pop ebp retn ;------------------------------------------------------------------------------ L004A0E3B: cmp eax,FFFFFFFFh jnz L004A0E49 pop edi pop esi mov eax,FFFFFFFEh pop ebp retn ;------------------------------------------------------------------------------ L004A0E49: lea ecx,[esi+00000354h] push ebx mov eax,[ecx] mov edi,00000018h cdq idiv edi mov eax,[esi+14h] 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] mov ebp,00000018h cdq idiv ebp push ecx shl edx,04h mov [edx+esi+000001C4h],ebx mov edx,[esp+1Ch] 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 pop ebx pop edi pop esi mov eax,00000001h pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A0ED0: mov eax,00008008h call SUB_L004D4B90 push ebx push esi mov esi,[esp+00008014h] push edi mov edi,[esp+0000801Ch] lea eax,[esp+14h] mov ecx,[esi] push edi push eax mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioRead] xor ebx,ebx cmp eax,ebx jnz L004A0F1D mov dword ptr [esi+00000370h],00000001h pop edi pop esi or eax,FFFFFFFFh pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ L004A0F1D: cmp eax,FFFFFFFFh jnz L004A0F31 pop edi pop esi mov eax,FFFFFFFEh pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ L004A0F31: mov eax,[esi+38h] push ebp cmp eax,ebx jz L004A10D0 cmp eax,00000007h jz L004A0F91 cmp eax,0000000Ah jnz L004A11CA mov eax,[esi+10h] mov ebp,[esi+18h] shl edi,02h mov ecx,edi lea edx,[eax+000493E0h] add ecx,ebp cmp ecx,edx jc L004A0F65 mov [esi+18h],eax L004A0F65: mov edx,[esp+00008020h] lea eax,[esi+000003C0h] lea ecx,[esi+000003B8h] push eax mov eax,[esi+18h] push ecx push edx lea ecx,[esp+24h] push eax push ecx call SUB_L004D15B3 add esp,00000014h jmp L004A11CE L004A0F91: cmp dword ptr [esi+2Ch],00000002h jnz L004A103B movsx eax,[esp+1Eh] movsx edx,[esp+1Ch] mov [esp+10h],ebx lea ebx,[esi+000003B0h] lea ecx,[esi+000003A8h] lea ebp,[esi+000003ACh] mov [ebx],eax add edi,FFFFFFF4h movsx eax,[esp+22h] mov [ecx],edx mov [esi+000003B4h],eax movsx edx,[esp+20h] mov eax,88888889h mov [ebp+00h],edx mul edi shr edx,04h mov eax,[esi+10h] lea edi,[00000000h+edx*8] add eax,000493E0h sub edi,edx shl edi,04h mov edx,edi add edx,[esi+18h] cmp edx,eax jc L004A1002 mov eax,[esi+10h] mov [esi+18h],eax L004A1002: 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 mov eax,edi cdq push ebp and edx,00000003h push ebx push ecx add eax,edx lea ecx,[esp+28h] sar eax,02h push ecx push eax call SUB_L00410690 add esp,00000020h jmp L004A11CE L004A103B: movsx eax,[esp+1Eh] movsx edx,[esp+1Ch] mov [esp+14h],ebx lea ebx,[esi+000003B0h] lea ecx,[esi+000003A8h] add edi,FFFFFFF4h mov [ebx],eax mov ebp,[esi+18h] movsx eax,[esp+22h] mov [ecx],edx mov [esi+000003B4h],eax movsx edx,[esp+20h] mov eax,88888889h mov [esi+000003ACh],edx mul edi shr edx,03h mov eax,[esi+10h] lea edi,[00000000h+edx*8] sub edi,edx shl edi,04h mov edx,edi add edx,ebp lea ebp,[eax+000493E0h] cmp edx,ebp jc L004A109F mov [esi+18h],eax L004A109F: mov eax,[esi+18h] lea edx,[esp+10h] mov [esp+10h],eax lea eax,[esp+24h] push edx push eax mov eax,edi push ebx cdq and edx,00000003h push ecx add eax,edx lea ecx,[esp+24h] sar eax,02h push ecx push eax call SUB_L00410510 add esp,00000018h jmp L004A11CE L004A10D0: mov eax,[esi+2Ch] mov edi,[esp+1Bh] cmp eax,00000002h jnz L004A1151 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 L004A1128 mov [esi+18h],eax L004A1128: mov eax,edi mov ecx,[esi+18h] cdq and edx,00000003h add eax,edx sar eax,02h cmp eax,ebx jle L004A11CE lea edx,[esp+1Ch] sub edx,ecx L004A1144: mov ebx,[edx+ecx] mov [ecx],ebx add ecx,00000004h dec eax jnz L004A1144 jmp L004A11CE L004A1151: 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 L004A119D mov [esi+18h],eax L004A119D: mov eax,edi mov ecx,[esi+18h] cdq and edx,00000003h add eax,edx sar eax,02h cmp eax,ebx jle L004A11CE lea edx,[esp+1Ch] mov ebx,eax L004A11B5: mov ax,[edx] add edx,00000002h mov [ecx+02h],ax mov [ecx],ax add ecx,00000004h dec ebx jnz L004A11B5 jmp L004A11CE L004A11CA: mov edi,[esp+10h] L004A11CE: cmp dword ptr [esi+00000374h],00000002h jnz L004A11E0 mov edx,[esi] mov dword ptr [edx+74h],00000001h L004A11E0: mov eax,[esi] mov ebx,[KERNEL32.dll!InterlockedIncrement] mov ecx,[eax+74h] test ecx,ecx jz L004A11F8 lea ecx,[esi+00000360h] push ecx call ebx L004A11F8: lea ecx,[esi+0000034Ch] mov eax,[ecx] mov ebp,00000018h cdq 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 mov [edx+esi],edi mov edx,[esi+00000360h] lea ebp,[esi+00000364h] mov [eax+44h],edx mov edx,[ebp+00h] mov [eax+48h],edx mov eax,[esi+18h] push ecx add eax,edi mov [esi+18h],eax call ebx add esi,0000035Ch push esi call ebx push ebp call ebx pop ebp pop edi pop esi mov eax,00000002h pop ebx add esp,00008008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A1260: mov eax,00008000h call SUB_L004D4B90 mov eax,[esp+00008008h] push edi mov edi,[esp+00008008h] push eax lea ecx,[esp+08h] mov edx,[edi] push ecx mov eax,[edx+00000094h] push eax call [WINMM.dll!mmioRead] test eax,eax jnz L004A129D or eax,FFFFFFFFh pop edi add esp,00008000h retn ;------------------------------------------------------------------------------ L004A129D: cmp eax,FFFFFFFFh jnz L004A12AF mov eax,FFFFFFFEh pop edi add esp,00008000h retn ;------------------------------------------------------------------------------ L004A12AF: mov cl,[esp+08h] push ebx cmp cl,FDh push esi mov dword ptr [edi+34h],00000010h mov dword ptr [edi+2Ch],00000001h mov dword ptr [edi+30h],00005622h mov dword ptr [edi+38h],00000000h lea eax,[esp+10h] jz L004A12FC L004A12DA: inc eax xor ecx,ecx xor edx,edx mov cl,[eax] inc eax mov esi,ecx dec ecx test esi,esi jz L004A12F7 inc ecx L004A12EA: xor ebx,ebx mov bl,[eax] shl edx,08h add edx,ebx inc eax dec ecx jnz L004A12EA L004A12F7: cmp byte ptr [eax],FDh jnz L004A12DA L004A12FC: inc eax xor ecx,ecx mov cl,[eax] cmp ecx,0000008Ah jz L004A14FB L004A130D: add ecx,FFFFFF7Fh cmp ecx,00000003h ja L004A14CE jmp [CASE_PROCTABLE_004A1508+ecx*4] CASE_004A1508_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 L004A1342 inc edx L004A1335: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A1335 L004A1342: cmp esi,00000001h jnz L004A135A cmp ecx,0000007Fh jle L004A1388 sub ecx,00000100h mov [edi+34h],ecx jmp L004A14EB L004A135A: cmp esi,00000002h jnz L004A1375 cmp ecx,00007FFFh jle L004A1388 sub ecx,00010000h mov [edi+34h],ecx jmp L004A14EB L004A1375: cmp esi,00000003h jnz L004A1388 cmp ecx,007FFFFFh jle L004A1388 sub ecx,01000000h L004A1388: mov [edi+34h],ecx jmp L004A14EB CASE_004A1508_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 L004A13AF inc edx L004A13A2: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A13A2 L004A13AF: cmp esi,00000001h jnz L004A13C7 cmp ecx,0000007Fh jle L004A13F5 sub ecx,00000100h mov [edi+2Ch],ecx jmp L004A14EB L004A13C7: cmp esi,00000002h jnz L004A13E2 cmp ecx,00007FFFh jle L004A13F5 sub ecx,00010000h mov [edi+2Ch],ecx jmp L004A14EB L004A13E2: cmp esi,00000003h jnz L004A13F5 cmp ecx,007FFFFFh jle L004A13F5 sub ecx,01000000h L004A13F5: mov [edi+2Ch],ecx jmp L004A14EB CASE_004A1508_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 L004A141C inc edx L004A140F: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A140F L004A141C: cmp esi,00000001h jnz L004A1434 cmp ecx,0000007Fh jle L004A1462 sub ecx,00000100h mov [edi+30h],ecx jmp L004A14EB L004A1434: cmp esi,00000002h jnz L004A144F cmp ecx,00007FFFh jle L004A1462 sub ecx,00010000h mov [edi+30h],ecx jmp L004A14EB L004A144F: cmp esi,00000003h jnz L004A1462 cmp ecx,007FFFFFh jle L004A1462 sub ecx,01000000h L004A1462: mov [edi+30h],ecx jmp L004A14EB CASE_004A1508_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 L004A1489 inc edx L004A147C: xor ebx,ebx mov bl,[eax] shl ecx,08h add ecx,ebx inc eax dec edx jnz L004A147C L004A1489: cmp esi,00000001h jnz L004A149E cmp ecx,0000007Fh jle L004A14C9 sub ecx,00000100h mov [edi+38h],ecx jmp L004A14EB L004A149E: cmp esi,00000002h jnz L004A14B6 cmp ecx,00007FFFh jle L004A14C9 sub ecx,00010000h mov [edi+38h],ecx jmp L004A14EB L004A14B6: cmp esi,00000003h jnz L004A14C9 cmp ecx,007FFFFFh jle L004A14C9 sub ecx,01000000h L004A14C9: mov [edi+38h],ecx jmp L004A14EB L004A14CE: inc eax xor ecx,ecx xor edx,edx mov cl,[eax] inc eax mov esi,ecx dec ecx test esi,esi jz L004A14EB inc ecx L004A14DE: xor ebx,ebx mov bl,[eax] shl edx,08h add edx,ebx inc eax dec ecx jnz L004A14DE L004A14EB: xor ecx,ecx mov cl,[eax] cmp ecx,0000008Ah jnz L004A130D L004A14FB: pop esi pop ebx xor eax,eax pop edi add esp,00008000h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A1508: dd CASE_004A1508_PROC0000 dd CASE_004A1508_PROC0001 dd CASE_004A1508_PROC0002 dd CASE_004A1508_PROC0003 Align 16 SUB_L004A1520: sub esp,00000088h push ebx mov ebx,[esp+00000090h] push esi 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 L004A1632 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 L004A1632 mov ecx,[L00C8D924] 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 L004A15CD mov edx,[ebx] lea eax,[esp+10h] push eax mov eax,[edx+00000084h] push eax call SUB_L0046FE40 test eax,eax jz L004A15CD cmp dword ptr [esp+10h],FFFFFFFFh jz L004A15CD mov ecx,eax call SUB_L004C8360 mov esi,eax L004A15CD: mov eax,[L00C8D91C] test eax,eax jz L004A1621 mov ecx,[L00C8D920] test ecx,ecx jz L004A1621 test esi,esi jz L004A1621 lea ecx,[esp+28h] lea edx,[esp+24h] push ecx lea ecx,[esp+14h] push edx push ecx push esi call eax lea edx,[esp+24h] mov eax,00000280h push edx mov edx,[esp+24h] sub eax,edx push 0000001Fh cdq sub eax,edx push 000000C8h sar eax,1 push eax push esi shr edi,1 push edi push ebp call [L00C8D920] add esp,0000002Ch L004A1621: mov eax,[ebx] push 00000000h mov eax,[eax+18h] push eax mov ecx,[eax] call [ecx+00000080h] pop ebp L004A1632: pop edi pop esi pop ebx add esp,00000088h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A1640: push esi mov esi,[esp+08h] mov eax,[esi] test dword ptr [eax],00080000h jnz L004A1662 mov eax,[eax+00000094h] test eax,eax jz L004A1662 push 00000000h push eax call [WINMM.dll!mmioClose] L004A1662: mov eax,[esi+0Ch] test eax,eax jz L004A1672 push eax call SUB_L004D59F6 add esp,00000004h L004A1672: mov eax,[esi+10h] test eax,eax jz L004A1682 push eax call SUB_L004D59F6 add esp,00000004h L004A1682: lea eax,[esi+000001BCh] mov ecx,00000018h L004A168D: mov dword ptr [eax],00000000h add eax,00000010h dec ecx jnz L004A168D mov eax,[esi] mov ecx,[eax+70h] test ecx,ecx jz L004A16B6 lea eax,[esi+3Ch] mov ecx,00000018h L004A16AA: mov dword ptr [eax],00000000h add eax,00000010h dec ecx jnz L004A16AA L004A16B6: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 L004A16C0: 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 L004A16F4 mov edx,[eax+00000098h] push edx call [KERNEL32.dll!GetCurrentThread] push eax call [KERNEL32.dll!SetThreadPriority] L004A16F4: push esi call SUB_L00410C40 add esp,00000004h test eax,eax jnz L004A1940 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] L004A1734: 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 L004A179F mov edx,[esi] push edi add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] L004A1774: 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 L004A1774 mov ecx,[esi] push edi add ecx,0000008Ch push ecx call [KERNEL32.dll!InterlockedExchange] L004A179F: cmp edi,00000004h jz L004A1927 cmp edi,00000002h jnz L004A1734 xor edi,edi push edi call ebp push esi call SUB_L004A0A30 add esp,00000004h mov eax,[esi+0000033Ch] cmp eax,edi jnz L004A17DB mov edx,[esi] cmp [edx+70h],edi jz L004A17DB push esi call SUB_L00410E40 add esp,00000004h mov [esi+00000368h],edi L004A17DB: cmp [ebx],edi jz L004A1865 mov eax,[esi] mov ecx,[eax+00000088h] cmp ecx,00000001h jg L004A1808 push ebx push esi call SUB_L004CA090 push esi call SUB_L004A1520 push esi call SUB_L004C8A50 add esp,00000010h jmp L004A181F L004A1808: mov eax,[ebx+0Ch] cmp eax,00000002h jz L004A1815 cmp eax,00000001h jnz L004A181F L004A1815: push ebx push esi call SUB_L004CA090 add esp,00000008h L004A181F: mov eax,[esi] test dword ptr [eax],00040000h jz L004A183D mov eax,[eax+000000A0h] cmp eax,edi jz L004A183D call eax test eax,eax jnz L004A1929 L004A183D: 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] push esi call SUB_L004C95D0 add esp,00000004h L004A1865: mov edx,[esi] add edx,00000084h push edx call [KERNEL32.dll!InterlockedIncrement] mov eax,[esi+00000358h] cmp eax,edi jnz L004A1897 mov eax,[esi] cmp [eax+70h],edi jz L004A1929 mov eax,[esi+0000035Ch] cmp eax,edi jz L004A1929 L004A1897: mov eax,[esi] cmp [eax+70h],edi jz L004A1734 xor edi,edi mov ecx,[esi+00000368h] sub ecx,00000005h mov [esp+10h],ecx mov edx,[eax+00000084h] mov [esp+14h],edx mov eax,[esp+14h] mov ecx,[esp+10h] sub eax,ecx cmp eax,00000001h jl L004A18F6 L004A18CA: push 00000000h call ebp push 00000003h call ebp mov edx,[esi+00000368h] sub edx,00000005h mov [esp+10h],edx mov eax,edi inc edi cmp eax,00000064h jg L004A18F6 mov ecx,[esp+14h] mov edx,[esp+10h] sub ecx,edx cmp ecx,00000001h jge L004A18CA L004A18F6: mov eax,[esp+14h] mov ecx,[esp+10h] mov edx,[esi] sub ecx,eax mov [edx+00000088h],ecx mov eax,[esi] mov ecx,[eax+00000088h] test ecx,ecx jge L004A1734 mov dword ptr [eax+00000088h],00000000h jmp L004A1734 L004A1927: xor edi,edi L004A1929: call [KERNEL32.dll!GetTickCount] push esi mov [esi+000003E4h],eax call SUB_L00410C80 add esp,00000004h jmp L004A1942 L004A1940: xor edi,edi L004A1942: push esi call SUB_L00410FA0 mov eax,[esi] mov ebx,[KERNEL32.dll!InterlockedExchange] add esp,00000004h add eax,0000008Ch push 00000005h push eax call ebx cmp [esi+000003A4h],edi jz L004A19B2 mov ecx,[esp+1Ch] mov esi,[ecx+04h] push esi mov edx,[esi+000003E4h] mov ebp,[esi+000003E0h] mov eax,[esi] sub edx,ebp mov [eax+00000080h],edx call SUB_L004A1640 push esi call SUB_L00410DE0 push esi call SUB_L004C9FA0 mov ecx,[esi] add esp,0000000Ch add ecx,0000008Ch push 00000006h push ecx call ebx mov edx,[esi] push esi mov [edx+04h],edi call SUB_L004D59F6 add esp,00000004h L004A19B2: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A19C0: push ebx push ebp push esi push edi push 00000B2Ch push 00000001h call SUB_L004D76DA mov esi,eax xor ebx,ebx add esp,00000008h cmp esi,ebx jz L004A1B6A mov edi,[esp+1Ch] mov eax,[esp+18h] mov [esi],edi mov [edi+00000090h],eax mov ecx,[esi] mov [ecx+18h],ebx mov edx,[esi] mov [edx+1Ch],ebx mov eax,[esi] mov [eax+00000084h],ebx mov ecx,[esp+14h] push esi push ecx call SUB_L004A1B80 add esp,00000008h test eax,eax jnz L004A1B61 push esi mov [edi+04h],esi call SUB_L00410CD0 push esi call SUB_L004C9DB0 mov edx,[esi] mov ebp,[KERNEL32.dll!InterlockedExchange] add esp,00000008h add edx,0000008Ch push ebx push edx call ebp cmp edi,ebx jz L004A1B6A mov eax,[edi+04h] mov dword ptr [eax+000003A4h],00000001h mov eax,[edi] test eax,00010000h jz L004A1AA7 push edi push ebx push L004A16C0 call SUB_L004D7767 add esp,0000000Ch cmp eax,FFFFFFFFh mov [edi+0000009Ch],eax jz L004A1B6A lea esi,[edi+0000008Ch] push 00000001h push esi call ebp cmp eax,00000002h jz L004A1A9B mov ebx,[KERNEL32.dll!Sleep] L004A1A8D: push 00000014h call ebx push 00000001h push esi call ebp cmp eax,00000002h jnz L004A1A8D L004A1A9B: push 00000002h push esi call ebp mov eax,edi pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004A1AA7: mov esi,[edi+04h] push edi call SUB_L004A1D60 mov eax,[esi+000003A4h] add esp,00000004h cmp eax,ebx jz L004A1B6A mov esi,[edi+04h] mov ecx,[esi+000003E4h] mov edx,[esi+000003E0h] sub ecx,edx mov edx,[esi] mov [edx+00000080h],ecx mov eax,[esi] test dword ptr [eax],00080000h jnz L004A1AF6 mov eax,[eax+00000094h] cmp eax,ebx jz L004A1AF6 push ebx push eax call [WINMM.dll!mmioClose] L004A1AF6: mov eax,[esi+0Ch] cmp eax,ebx jz L004A1B06 push eax call SUB_L004D59F6 add esp,00000004h L004A1B06: mov eax,[esi+10h] cmp eax,ebx jz L004A1B16 push eax call SUB_L004D59F6 add esp,00000004h L004A1B16: lea eax,[esi+000001BCh] mov ecx,00000018h L004A1B21: mov [eax],ebx add eax,00000010h dec ecx jnz L004A1B21 mov eax,[esi] cmp [eax+70h],ebx jz L004A1B40 lea eax,[esi+3Ch] mov ecx,00000018h L004A1B38: mov [eax],ebx add eax,00000010h dec ecx jnz L004A1B38 L004A1B40: push esi call SUB_L00410DE0 push esi call SUB_L004C9FA0 mov ecx,[esi] add esp,00000008h add ecx,0000008Ch push 00000006h push ecx call ebp mov edx,[esi] mov [edx+04h],ebx L004A1B61: push esi call SUB_L004D59F6 add esp,00000004h L004A1B6A: pop edi pop esi pop ebp xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A1B80: push ebx push esi mov esi,[esp+10h] xor ebx,ebx mov [esi+00000370h],ebx mov eax,[esi] test dword ptr [eax],00080000h jnz L004A1BAD mov ecx,[esp+0Ch] push ebx push ebx push ecx call [WINMM.dll!mmioOpenA] mov edx,[esi] mov [edx+00000094h],eax L004A1BAD: mov eax,[esi] mov eax,[eax+00000094h] cmp eax,ebx jnz L004A1BC1 pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L004A1BC1: push ebx push 00004000h push ebx push eax call [WINMM.dll!mmioSetBuffer] test eax,eax jz L004A1BDB pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L004A1BDB: mov edx,[esi] lea ecx,[esp+10h] push 00000004h push ecx mov eax,[edx+00000094h] push eax call [WINMM.dll!mmioRead] mov ecx,[esi] push 00000001h push FFFFFFFCh mov edx,[ecx+00000094h] push edx call [WINMM.dll!mmioSeek] mov [esi+0000037Ch],eax mov eax,[esp+10h] cmp eax,44414553h jz L004A1C27 cmp eax,6C484353h jz L004A1C27 cmp eax,684E5331h jz L004A1C27 xor eax,eax jmp L004A1C2C L004A1C27: mov eax,00000001h L004A1C2C: mov ecx,[esi] mov [ecx+70h],eax lea eax,[esi+3Ch] mov ecx,00000018h L004A1C39: mov [eax],ebx add eax,00000010h dec ecx jnz L004A1C39 lea eax,[esi+000001BCh] mov ecx,00000018h L004A1C4C: mov [eax],ebx add eax,00000010h dec ecx jnz L004A1C4C push 000AAE60h push 00000001h call SUB_L004D76DA add esp,00000008h cmp eax,ebx mov [esi+0Ch],eax mov [esi+14h],eax jnz L004A1C75 pop esi mov eax,00000002h pop ebx retn ;------------------------------------------------------------------------------ L004A1C75: push 000493E0h push 00000001h call SUB_L004D76DA add esp,00000008h cmp eax,ebx mov [esi+10h],eax mov [esi+18h],eax jnz L004A1C96 pop esi mov eax,00000002h pop ebx retn ;------------------------------------------------------------------------------ L004A1C96: push edi mov edx,00000004h L004A1C9C: mov edi,[esi+0Ch] mov ecx,0002AB98h xor eax,eax dec edx rep stosd mov edi,[esi+10h] mov ecx,000124F8h rep stosd jnz L004A1C9C 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 edx,[esi] mov dword ptr [esi+00000374h],00000004h cmp [edx+70h],ebx jz L004A1D21 mov edi,00000015h mov eax,[esi+0000035Ch] cmp eax,edi jge L004A1D48 L004A1CF9: push esi call SUB_L004A0AE0 add esp,00000004h cmp eax,FFFFFFFFh jz L004A1D48 push esi call SUB_L004A0AE0 add esp,00000004h cmp eax,FFFFFFFFh jz L004A1D48 mov eax,[esi+0000035Ch] cmp eax,edi jl L004A1CF9 jmp L004A1D48 L004A1D21: mov edi,00000014h mov eax,[esi+00000358h] cmp eax,edi jge L004A1D48 L004A1D30: push esi call SUB_L004A0AE0 add esp,00000004h cmp eax,FFFFFFFFh jz L004A1D48 mov eax,[esi+00000358h] cmp eax,edi jl L004A1D30 L004A1D48: xor eax,eax mov ecx,[esi+00000360h] cmp ecx,ebx mov ecx,[esi] setz al pop edi mov [ecx+74h],eax pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ SUB_L004A1D60: push ecx mov eax,[esp+08h] push esi mov esi,[eax+04h] mov eax,[esi] mov ecx,[eax] and ecx,00030000h cmp ecx,00030000h jnz L004A1D8F mov edx,[eax+00000098h] push edx call [KERNEL32.dll!GetCurrentThread] push eax call [KERNEL32.dll!SetThreadPriority] L004A1D8F: push esi call SUB_L00410C40 add esp,00000004h test eax,eax jnz L004A1FDD mov eax,[esi] push ebx push ebp push edi 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] L004A1DD2: 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 L004A1E3D mov edx,[esi] push edi add edx,0000008Ch push edx call [KERNEL32.dll!InterlockedExchange] L004A1E12: 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 L004A1E12 mov ecx,[esi] push edi add ecx,0000008Ch push ecx call [KERNEL32.dll!InterlockedExchange] L004A1E3D: cmp edi,00000004h jz L004A1FC5 cmp edi,00000002h jnz L004A1DD2 xor edi,edi push edi call ebp push esi call SUB_L004A0A30 add esp,00000004h mov eax,[esi+0000033Ch] cmp eax,edi jnz L004A1E79 mov edx,[esi] cmp [edx+70h],edi jz L004A1E79 push esi call SUB_L00410E40 add esp,00000004h mov [esi+00000368h],edi L004A1E79: cmp [ebx],edi jz L004A1F03 mov eax,[esi] mov ecx,[eax+00000088h] cmp ecx,00000001h jg L004A1EA6 push ebx push esi call SUB_L004CA090 push esi call SUB_L004A1520 push esi call SUB_L004C8A50 add esp,00000010h jmp L004A1EBD L004A1EA6: mov eax,[ebx+0Ch] cmp eax,00000002h jz L004A1EB3 cmp eax,00000001h jnz L004A1EBD L004A1EB3: push ebx push esi call SUB_L004CA090 add esp,00000008h L004A1EBD: mov eax,[esi] test dword ptr [eax],00040000h jz L004A1EDB mov eax,[eax+000000A0h] cmp eax,edi jz L004A1EDB call eax test eax,eax jnz L004A1FC5 L004A1EDB: 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] push esi call SUB_L004C95D0 add esp,00000004h L004A1F03: mov edx,[esi] add edx,00000084h push edx call [KERNEL32.dll!InterlockedIncrement] mov eax,[esi+00000358h] cmp eax,edi jnz L004A1F35 mov eax,[esi] cmp [eax+70h],edi jz L004A1FC5 mov eax,[esi+0000035Ch] cmp eax,edi jz L004A1FC5 L004A1F35: mov eax,[esi] cmp [eax+70h],edi jz L004A1DD2 xor edi,edi mov ecx,[esi+00000368h] sub ecx,00000005h mov [esp+18h],ecx mov edx,[eax+00000084h] mov [esp+10h],edx mov eax,[esp+10h] mov ecx,[esp+18h] sub eax,ecx cmp eax,00000001h jl L004A1F94 L004A1F68: push 00000000h call ebp push 00000003h call ebp mov edx,[esi+00000368h] sub edx,00000005h mov [esp+18h],edx mov eax,edi inc edi cmp eax,00000064h jg L004A1F94 mov ecx,[esp+10h] mov edx,[esp+18h] sub ecx,edx cmp ecx,00000001h jge L004A1F68 L004A1F94: mov eax,[esp+10h] mov ecx,[esp+18h] mov edx,[esi] sub ecx,eax mov [edx+00000088h],ecx mov eax,[esi] mov ecx,[eax+00000088h] test ecx,ecx jge L004A1DD2 mov dword ptr [eax+00000088h],00000000h jmp L004A1DD2 L004A1FC5: call [KERNEL32.dll!GetTickCount] push esi mov [esi+000003E4h],eax call SUB_L00410C80 add esp,00000004h pop edi pop ebp pop ebx L004A1FDD: push esi call SUB_L00410FA0 mov eax,[esi] add esp,00000004h add eax,0000008Ch push 00000005h push eax call [KERNEL32.dll!InterlockedExchange] pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2000: mov eax,[esp+04h] mov [L00C8D920],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2010: mov eax,[esp+04h] mov [L00C8D91C],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2020: mov eax,[esp+04h] mov [L00C8D924],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2030: mov eax,ecx mov dword ptr [eax],00000000h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2040: push esi push edi mov edi,ecx mov esi,[edi] test esi,esi jz L004A205C L004A204A: mov eax,esi mov esi,[esi+08h] push eax call SUB_L004D4F9E add esp,00000004h test esi,esi jnz L004A204A L004A205C: mov dword ptr [edi],00000000h pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A2070: mov eax,[esp+04h] test eax,eax jnz L004A207D xor al,al retn 0004h ;------------------------------------------------------------------------------ L004A207D: cmp eax,DDDDDDDDh setnz al retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004A2090: push FFFFFFFFh push L004E55A8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] mov [esi+0000009Ch],eax mov eax,[esp+2Ch] xor edi,edi lea ebx,[esi+24h] mov dword ptr [esi],L004EF778 mov [esi+000000A0h],ecx mov [esi+000000A4h],eax mov [esi+000000ACh],edi mov eax,[L0050ED64+eax*4] lea ebp,[esi+20h] push ebx push ebp push eax mov [esp+28h],edi mov [esp+30h],eax mov dword ptr [esi+08h],SSZ0050ED98_pointer_gump call SUB_L004434A0 push SSZ0050ED80_framedata_for_pointgump push 00000008h mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050ED70_point_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov ecx,[ebp+00h] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax push 00000000h mov ecx,[esp+50h] push 00000000h push ecx push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esp+4Ch] add esp,00000038h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004A21D0: push esi mov esi,ecx call SUB_L004A21F0 test byte ptr [esp+08h],01h jz L004A21E8 push esi call SUB_L004D4F9E add esp,00000004h L004A21E8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A21F0: push FFFFFFFFh push L004E55C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004EF778 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L004A223D push SSZ0050ED70_point_frame0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004A223D: mov eax,[esi+3Ch] test eax,eax jz L004A2259 push SSZ0050EDA8_point_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004A2259: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004A2280: push 00000000h call SUB_L00476670 push 00000000h call SUB_L00490E90 add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A22A0: push 00000000h call SUB_L00476670 push 00000001h call SUB_L00490E90 add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A22C0: sub esp,00000018h xor eax,eax push esi mov esi,ecx push edi cmp [esi+6Ch],eax jz L004A2377 cmp [L00C83640],eax jz L004A2377 mov [esp+08h],eax mov [esp+0Ch],eax lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esi+3Ch] mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edi,[esp+24h] mov esi,[edx+04h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004A2377 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L004A2377: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 4 L004A2380: sub esp,0000000Ch push esi mov esi,ecx mov byte ptr [esp+07h],00h mov edx,[esi+000000ACh] inc edx mov eax,edx mov [esi+000000ACh],edx cmp eax,0000000Ah jle L004A23AE mov dword ptr [esi+000000ACh],00000000h mov byte ptr [esp+07h],01h L004A23AE: mov edx,[esi+000000A0h] push ebp lea eax,[esp+0Ch] push edi lea ecx,[esp+14h] push eax mov eax,[esi+0000009Ch] push ecx push edx push eax call SUB_L00446A10 mov eax,[L00B189F8] add esp,00000010h test eax,eax jz L004A2443 mov edi,[L00C88348] mov eax,[esp+14h] mov ebp,[esp+10h] push ebx mov ebx,[L00C8834C] add eax,edi add ebp,ebx mov [esp+18h],eax mov [esp+14h],ebp call SUB_L00447080 mov ebp,eax call SUB_L00447090 mov ecx,[esp+18h] cmp ecx,edi jge L004A2414 mov ecx,edi mov [esp+18h],ecx L004A2414: mov edx,[esp+14h] cmp edx,ebx jge L004A2422 mov edx,ebx mov [esp+14h],edx L004A2422: sub ebp,[esi+20h] add edi,ebp cmp ecx,edi jle L004A2431 mov ecx,edi mov [esp+18h],ecx L004A2431: sub eax,[esi+24h] add eax,ebx pop ebx cmp edx,eax jle L004A244B mov edx,eax mov [esp+10h],edx jmp L004A244B L004A2443: mov edx,[esp+10h] mov ecx,[esp+14h] L004A244B: mov ebp,[esi+34h] mov edi,[esi+30h] push 00000001h push 00000000h sub edx,ebp push 00000001h sub ecx,edi push edx push ecx mov ecx,esi call SUB_L00457800 mov ecx,[esi+000000A0h] mov eax,[L00C884DC] mov edx,[esi+0000009Ch] push ecx movsx ecx,[eax+26h] push edx push ecx movsx edx,[eax+24h] push edx call SUB_L0048EDD0 cdq and edx,0000001Fh add esp,00000010h add eax,edx sar eax,05h inc eax pop edi cmp eax,00000007h pop ebp jle L004A249C xor eax,eax L004A249C: mov ecx,[esi+000000A4h] mov ecx,[L0050ED64+ecx*4] add ecx,eax mov al,[esp+07h] test al,al jz L004A24E6 mov dword ptr [L00CD8C24],00000022h mov edx,[esi+24h] mov eax,[esi+20h] push edx mov edx,[esi+3Ch] push eax mov eax,[edx+04h] add eax,00000004h push eax push 00000000h push 00000000h push ecx push SUB_L004B9C60 call SUB_L00443500 add esp,0000001Ch pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004A24E6: mov edx,[esi+24h] mov eax,[esi+20h] push edx mov edx,[esi+3Ch] push eax mov eax,[edx+04h] add eax,00000004h push eax push 00000000h push 00000000h push ecx push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L004A2510: mov eax,[esp+04h] add eax,FFFFFFFDh cmp eax,00000010h ja CASE_004A256C_PROC0003 xor ecx,ecx mov cl,[eax+CASE_004A257C] jmp [CASE_PROCTABLE_004A256C+ecx*4] CASE_004A256C_PROC0000: mov edx,[esp+08h] mov eax,[edx+60h] test eax,eax jz CASE_004A256C_PROC0003 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_004A256C_PROC0002: mov eax,[esp+08h] mov ecx,[eax+58h] test ecx,ecx jz CASE_004A256C_PROC0003 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_004A256C_PROC0001: mov ecx,[esp+08h] mov eax,[ecx+58h] test eax,eax jz CASE_004A256C_PROC0003 cmp word ptr [eax+3Ch],204Eh jnz CASE_004A256C_PROC0003 mov eax,00000001h retn ;------------------------------------------------------------------------------ CASE_004A256C_PROC0003: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A256C: dd CASE_004A256C_PROC0000 dd CASE_004A256C_PROC0001 dd CASE_004A256C_PROC0002 dd CASE_004A256C_PROC0003 CASE_004A257C: db 00h, 00h, 03h, 03h, 03h, 03h, 03h, 03h, 01h, 03h, 02h, 03h, 03h, 03h, 03h, 03h db 02h Align 4 SUB_L004A2590: push FFFFFFFFh push L004E5656 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp push esi mov ebp,ecx push edi mov [esp+0Ch],ebp call SUB_L00458F30 mov dword ptr [ebp+00h],L004EF8EC mov cl,[L0050CCB4] xor eax,eax test cl,cl mov [esp+18h],eax jz L004A25DB mov dword ptr [ebp+00000104h],00000FA1h mov [ebp+00000108h],eax L004A25DB: mov dword ptr [ebp+08h],SSZ0050EE34_paperdoll_gump mov [ebp+60h],eax mov [ebp+000000F8h],eax mov [ebp+000000F4h],eax mov [ebp+000000F0h],eax mov [ebp+000000ECh],eax mov [ebp+00000100h],eax mov [ebp+000000FCh],eax mov ecx,[L00B29048] push ebx cmp ecx,eax jz L004A26A2 mov esi,[L00B29040] xor ecx,ecx cmp esi,eax jle L004A26B0 mov edx,L00B28AC8 L004A262D: cmp byte ptr [edx],00h jz L004A263C inc ecx add edx,0000001Ch cmp ecx,esi jl L004A262D jmp L004A26B0 L004A263C: lea edx,[00000000h+ecx*8] sub edx,ecx shl edx,02h mov esi,[edx+L00B28ADC] mov [ebp+30h],esi mov esi,[edx+L00B28AE0] mov [ebp+34h],esi mov esi,[edx+L00B28AD0] mov [ebp+64h],esi mov esi,[L00B29040] cmp ecx,esi jge L004A26B0 lea ebx,[esi-01h] cmp ecx,ebx jge L004A2691 lea edi,[edx+L00B28AC8] mov edx,ebx sub edx,ecx L004A267E: lea eax,[edi+1Ch] mov ecx,00000007h mov esi,eax dec edx rep movsd mov edi,eax jnz L004A267E xor eax,eax L004A2691: cmp ebx,eax mov [L00B29040],ebx jnz L004A26B0 mov [L00B29048],eax jmp L004A26B0 L004A26A2: mov ecx,[esp+24h] mov edx,[esp+28h] mov [ebp+30h],ecx mov [ebp+34h],edx L004A26B0: mov ecx,[esp+30h] cmp ecx,eax mov [ebp+38h],ecx jz L004A26C1 mov [ecx+000000B0h],ebp L004A26C1: cmp ecx,[L00C884DC] jnz L004A26D5 mov dword ptr [ebp+000000ACh],00000001h jmp L004A26DB L004A26D5: mov [ebp+000000ACh],eax L004A26DB: lea esi,[ebp+24h] lea edi,[ebp+20h] push esi push edi push 000007D0h mov [ebp+50h],eax mov [ebp+4Ch],eax mov [ebp+48h],eax mov [ebp+44h],eax mov [ebp+40h],eax mov dword ptr [ebp+54h],000007D0h call SUB_L004434A0 lea ebx,[ebp+2Ch] lea eax,[ebp+28h] push ebx push eax push 000007EEh call SUB_L004434A0 push SSZ0050EE14_framedata_for_CPaperdollGump push 00000010h mov dword ptr [ebp+14h],00000000h mov dword ptr [ebp+18h],00000002h call SUB_L00475FC0 xor ecx,ecx mov [ebp+3Ch],eax mov [eax],ecx push SSZ0050EE04_paperdoll_frame mov [eax+04h],ecx mov edx,[edi] imul edx,[esi] lea eax,[edx+edx+04h] push eax call SUB_L00475FC0 mov ecx,[ebp+3Ch] push SSZ0050EDF0_paperdoll_frame1 mov [ecx+04h],eax mov ecx,[edi] imul ecx,[esi] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+28h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+28h] imul ecx,[ebx] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebx] mov edi,[esp+70h] mov ecx,[eax+0Ch] xor eax,eax mov [ecx+02h],dx or ecx,FFFFFFFFh mov dword ptr [ebp+0000009Ch],00000000h lea edx,[ebp+000000B0h] 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] mov eax,[ebp+3Ch] mov edx,[ebp+28h] push ecx mov ecx,[eax+0Ch] push edx add ecx,00000004h push ecx push 00000000h push 00000000h push 000007EEh push SUB_L004B9B80 call SUB_L00443500 add esp,0000004Ch mov edi,00000001h mov dword ptr [ebp+000000A4h],FFFFFFFFh mov dword ptr [ebp+000000A8h],00000000h push 000000ECh mov [ebp+0000010Ch],edi call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax test eax,eax mov byte ptr [esp+1Ch],01h pop ebx jz L004A289E push 00000000h push 000007ECh push 000007EBh push L0041DCB0 push 00000000h push 00000000h push ebp push 000000E9h push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A28A0 L004A289E: xor eax,eax L004A28A0: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007EDh call SUB_L004587A0 mov eax,[ebp+000000ACh] test eax,eax jz L004A2C12 mov al,[esp+40h] push 000000ECh test al,al jnz L004A292A call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],02h jz L004A2911 push 00000000h push 000007E6h push 000007E5h push L0041DC40 push 00000000h push 00000000h push ebp push 000000CDh push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A2913 L004A2911: xor eax,eax L004A2913: mov [ebp+000000A0h],eax mov byte ptr [esp+18h],00h mov dword ptr [eax+000000ACh],000007E7h jmp L004A297F L004A292A: call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],03h jz L004A2968 push 00000000h push 000007E9h push 000007E8h push L0041DC40 push 00000000h push 00000000h push ebp push 000000CDh push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A296A L004A2968: xor eax,eax L004A296A: mov [ebp+000000A0h],eax mov byte ptr [esp+18h],00h mov dword ptr [eax+000000ACh],000007EAh L004A297F: mov ecx,[ebp+000000A0h] push edi push ebp call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],04h jz L004A29CC push 00000000h push 000007DDh push 000007DCh push L0041E1A0 push 00000000h push 00000000h push ebp push 0000007Ch push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A29CE L004A29CC: xor eax,eax L004A29CE: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007DEh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],05h jz L004A2A29 push 00000000h push 000007E0h push 000007DFh push L0041E1C0 push 00000000h push 00000000h push ebp push 00000097h push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A2A2B L004A2A29: xor eax,eax L004A2A2B: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007E1h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],06h jz L004A2A88 push 00000000h push 000007E3h push 000007E2h push L0041E200 push 00000000h push 00000000h push ebp push 000000B3h push 000000B9h mov ecx,eax call SUB_L00421F40 mov esi,eax jmp L004A2A8A L004A2A88: xor esi,esi L004A2A8A: push edi push ebp mov ecx,esi mov byte ptr [esp+20h],00h mov dword ptr [esi+000000ACh],000007E4h call SUB_L004587A0 call SUB_L004C7C40 test eax,eax jnz L004A2AB1 mov [esi+000000C4h],edi L004A2AB1: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],07h jz L004A2AF1 push 00000000h push 000007D7h push 000007D6h push L0041E250 push 00000000h push 00000000h push ebp push 00000047h push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A2AF3 L004A2AF1: xor eax,eax L004A2AF3: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007D8h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],08h jz L004A2B4B push 00000000h push 000007F0h push 000007EFh push L0041E2F0 push 00000000h push 00000000h push ebp push 0000002Ch push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A2B4D L004A2B4B: xor eax,eax L004A2B4D: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007F1h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],09h jz L004A2BA5 push 00000000h push 000007DAh push 000007D9h push L0041E270 push 00000000h push 00000000h push ebp push 00000062h push 000000B9h mov ecx,eax call SUB_L00421F40 jmp L004A2BA7 L004A2BA5: xor eax,eax L004A2BA7: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h mov dword ptr [eax+000000ACh],000007DBh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+40h],eax test eax,eax mov byte ptr [esp+18h],0Ah jz L004A2C02 push 00000000h push SUB_L0041E070 push 00000000h push 00000000h push ebp push 00000118h push 000000F5h push 00000102h push 000000DFh mov ecx,eax call SUB_L004220C0 jmp L004A2C04 L004A2C02: xor eax,eax L004A2C04: push edi push ebp mov ecx,eax mov byte ptr [esp+20h],00h call SUB_L004587A0 L004A2C12: mov ecx,[esp+10h] mov [ebp+0000010Ch],edi pop edi mov eax,ebp pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 4 L004A2C30: push esi mov esi,ecx call SUB_L004A2C50 test byte ptr [esp+08h],01h jz L004A2C48 push esi call SUB_L004D4F9E add esp,00000004h L004A2C48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A2C50: push FFFFFFFFh push L004E5668 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi push edi mov edi,ecx mov [esp+10h],edi mov dword ptr [edi],L004EF8EC mov esi,[L00B294DC] mov ebp,[L00B28A78] xor ebx,ebx cmp esi,ebx mov [esp+1Ch],ebx jz L004A2CC0 L004A2C8C: mov eax,[esi+40h] mov ecx,esi mov [L00B28A78],eax mov edx,[esi] call [edx+000000A0h] test eax,eax jz L004A2CB6 cmp [esi+000000C0h],edi jnz L004A2CB6 cmp esi,ebx jz L004A2CB6 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004A2CB6: mov esi,[L00B28A78] cmp esi,ebx jnz L004A2C8C L004A2CC0: mov [L00B28A78],ebp mov eax,[edi+0000009Ch] cmp eax,ebx jz L004A2CE4 push SSZ0050EE88_nameBMP push eax call SUB_L00476000 add esp,00000008h mov [edi+0000009Ch],ebx L004A2CE4: mov ecx,[edi+3Ch] mov eax,[ecx+04h] cmp eax,ebx jz L004A2D02 push SSZ0050EE70_paperdoll_frame_pBMP push eax call SUB_L00476000 mov edx,[edi+3Ch] add esp,00000008h mov [edx+04h],ebx L004A2D02: mov eax,[edi+3Ch] mov eax,[eax+0Ch] cmp eax,ebx jz L004A2D20 push SSZ0050EE58_paperdoll_frame1_pBMP push eax call SUB_L00476000 mov ecx,[edi+3Ch] add esp,00000008h mov [ecx+0Ch],ebx L004A2D20: mov eax,[edi+3Ch] cmp eax,ebx jz L004A2D38 push SSZ0050EE44_paperdoll_framedata push eax call SUB_L00476000 add esp,00000008h mov [edi+3Ch],ebx L004A2D38: mov ecx,edi mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004A2D60: push ebx mov ebx,[esp+0Ch] push ebp push esi push edi mov edi,[esp+14h] mov esi,ecx mov ebp,00000001h push 00000000h mov [esi+000000F4h],ebp mov [esi+70h],edi mov [esi+74h],ebx call SUB_L004584E0 cmp [esi+00000100h],ebp jnz L004A2D9A mov dword ptr [esi+00000100h],00000002h jmp L004A2DAC L004A2D9A: mov [esi+00000100h],ebp call [KERNEL32.dll!GetTickCount] mov [esi+000000FCh],eax L004A2DAC: push 00000000h push ebx push edi mov ecx,esi call SUB_L004A37B0 mov [esi+000000A4h],eax mov cl,[L0050CCB4] test cl,cl jz L004A2E1F mov ecx,[esi+000000ACh] test ecx,ecx jz L004A2E1F cmp eax,FFFFFFFFh jnz L004A2E1F mov edx,[esi+00000104h] lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx push edx call SUB_L004434A0 add esp,0000000Ch cmp edi,00000050h jl L004A2E1F cmp ebx,00000004h jl L004A2E1F mov eax,[esp+14h] add eax,00000050h cmp edi,eax jg L004A2E1F mov ecx,[esp+18h] add ecx,00000004h cmp ebx,ecx jg L004A2E1F mov dword ptr [esi+000000A4h],0000FFFFh mov [esi+000000A8h],ebp L004A2E1F: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A2E30: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+000000ECh] mov [esi+000000F4h],edi cmp eax,edi jz L004A2E54 mov [esi+000000ECh],edi mov [esi+00000100h],edi jmp L004A2E74 L004A2E54: cmp dword ptr [esi+00000100h],00000002h jnz L004A2E74 mov eax,[esp+10h] mov ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov [esi+00000100h],edi call SUB_L004A3C70 L004A2E74: push edi mov dword ptr [esi+000000A4h],FFFFFFFFh mov [esi+000000A8h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A2EA0: push ebx mov ebx,[esp+08h] push esi mov esi,ecx push edi mov edi,[esp+14h] mov eax,[esi+000000F4h] test eax,eax jz L004A2F00 mov eax,[esi+00000100h] test eax,eax jbe L004A2F00 mov edx,[esi+70h] mov eax,ebx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004A2EE3 mov edx,[esi+74h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004A2F00 L004A2EE3: push edi push ebx mov ecx,esi mov dword ptr [esi+000000ECh],00000001h mov dword ptr [esi+00000100h],00000000h call SUB_L004A3880 L004A2F00: mov eax,[esi+000000F4h] test eax,eax jz L004A2F2C cmp dword ptr [esi+000000A4h],FFFFFFFFh jnz L004A2F2C mov eax,[esi+74h] mov ecx,[esi+70h] push 00000001h push 00000000h sub edi,eax push 00000001h sub ebx,ecx push edi push ebx mov ecx,esi call SUB_L00457800 L004A2F2C: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A2F40: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+00000100h] mov ecx,00000001h cmp edx,ecx jnz L004A2FA6 sub edi,[esi+000000FCh] cmp edi,eax jbe L004A2FA6 mov eax,[esi+000000F4h] mov dword ptr [esi+00000100h],00000000h test eax,eax jnz L004A2F91 mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L004A39E0 pop edi pop esi retn ;------------------------------------------------------------------------------ L004A2F91: mov edx,[esi+74h] mov eax,[esi+70h] mov [esi+000000ECh],ecx push edx push eax mov ecx,esi call SUB_L004A3880 L004A2FA6: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2FB0: mov dword ptr [ecx+0000010Ch],00000001h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A2FC0: sub esp,00000038h push ebx push ebp push esi push edi mov esi,ecx push SSZ0050EE90_ReDraw_Paperdoll_Gump_ call [KERNEL32.dll!OutputDebugStringA] mov ecx,[L00C884DC] mov dword ptr [L00B2904C],00000001h mov eax,[esi+38h] cmp eax,ecx jnz L004A3019 mov ecx,[esi+3Ch] xor edx,edx xor ebp,ebp mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebp push ebp push edx push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L004A3048 L004A3019: mov eax,[esi+3Ch] 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+54h] push 00000000h inc eax push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch xor ebp,ebp L004A3048: mov edx,[esi+24h] mov ecx,[esi+20h] sub edx,00000016h mov [esp+40h],ecx lea eax,[esp+28h] mov [esp+44h],edx lea ecx,[esp+2Ch] push eax lea edx,[esp+34h] lea edi,[esi+000000B0h] push ecx push edx push edi push 00000001h mov ebx,00000108h mov [esp+4Ch],ebp mov [esp+50h],ebp call SUB_L00441BC0 mov eax,[esi+38h] mov ecx,[L00C884DC] add esp,00000014h cmp eax,ecx jz L004A3098 mov ebx,00000107h L004A3098: mov eax,[esi+3Ch] mov edx,[esi+20h] push ebp push 0000000Dh lea ecx,[esp+40h] push ebp push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx push 000000BAh push edi push 00000386h push 00000001h push ebx push 00000027h call SUB_L00441160 mov eax,[esi+38h] add esp,00000030h cmp eax,ebp jz L004A3672 mov edx,[esi+3Ch] 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 00000017h push 000007D2h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+38h] mov edx,[L00C884DC] add esp,0000001Ch mov ecx,[eax+7Ch] mov eax,[edx+7Ch] cmp ecx,eax jnz L004A314F mov dword ptr [L00CD8C24],00000386h mov eax,[esi+3Ch] 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 000000C4h push 00000025h push 000007D2h push SUB_L004B9C60 call SUB_L00443500 add esp,0000001Ch L004A314F: mov al,[L0050CCB4] test al,al jz L004A31AE cmp [esi+000000ACh],ebp jz L004A31AE call SUB_L004682E0 test eax,eax jz L004A3175 mov dword ptr [esi+00000104h],00000FA0h jmp L004A317F L004A3175: mov dword ptr [esi+00000104h],00000FA1h L004A317F: mov eax,[esi+3Ch] 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+00000104h] push 00000004h push 00000050h push eax push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L004A31AE: mov edx,[esi+38h] mov ebx,00000190h xor edi,edi mov dword ptr [esp+1Ch],00000001h mov ax,[edx+3Ch] cmp ax,bx jz L004A3216 cmp ax,0192h jz L004A3216 cmp ax,0191h jz L004A320C cmp ax,0193h jz L004A320C cmp ax,03DBh jnz L004A3202 mov cl,[edx+0000009Ch] mov edi,00000001h shr cl,1 and cl,01h mov eax,000003EAh movzx cx,cl or ecx,ebx mov [esp+10h],ecx jmp L004A3236 L004A3202: mov [esp+1Ch],ebp mov [esp+10h],ebx jmp L004A321F L004A320C: mov dword ptr [esp+10h],00000191h jmp L004A321A L004A3216: mov [esp+10h],ebx L004A321A: mov edi,00000001h L004A321F: mov ecx,[esp+1Ch] xor eax,eax mov ax,[edx+42h] cmp ecx,00000001h jnz L004A32ED mov ecx,[esp+10h] L004A3236: cmp [edx+42h],bp jnz L004A326C mov edx,[esi+3Ch] and ecx,0000FFFFh mov eax,[edx+04h] xor edx,edx mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] sub ecx,00000184h push edx push eax push 00000013h push 00000008h push ecx push SUB_L004B9B80 jmp L004A32E5 L004A326C: cmp edi,00000001h jnz L004A32AC dec eax xor edx,edx and eax,00003FFFh and ecx,0000FFFFh mov [L00CD8C24],eax mov eax,[esi+3Ch] mov eax,[eax+04h] mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] sub ecx,00000184h push edx push eax push 00000013h push 00000008h push ecx push L004B9CC0 jmp L004A32E5 L004A32AC: dec eax xor edx,edx and eax,00003FFFh and ecx,0000FFFFh mov [L00CD8C24],eax mov eax,[esi+3Ch] mov eax,[eax+04h] mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] sub ecx,00000184h push edx push eax push 00000013h push 00000008h push ecx push SUB_L004B9C60 L004A32E5: call SUB_L00443500 add esp,0000001Ch L004A32ED: mov eax,[esi+38h] cmp word ptr [eax+3Ch],03DBh jnz L004A337E lea ecx,[esp+24h] lea edx,[esp+20h] push ecx push edx push 0000EE3Bh call SUB_L004434A0 mov eax,[esi+38h] add esp,0000000Ch mov ax,[eax+42h] cmp ax,bp jbe L004A3351 dec eax xor edx,edx and eax,00003FFFh mov [L00CD8C24],eax mov ecx,[esi+3Ch] mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx add eax,00000004h push ecx push eax push 00000013h push 00000008h push 0000C72Bh push L004B9CC0 jmp L004A3376 L004A3351: mov edx,[esi+3Ch] 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 00000013h push 00000008h push 0000C72Bh push SUB_L004B9B80 L004A3376: call SUB_L00443500 add esp,0000001Ch L004A337E: mov edi,[esi+38h] mov ebx,[L00C88540] mov [esp+14h],edi mov dword ptr [esp+18h],L0050EDD4 mov ecx,[edi+000000FCh] mov edx,L0050EDB8 cmp ecx,ebp jz L004A33C4 xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[ebx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C56Ah jnz L004A33C4 mov [esp+18h],edx L004A33C4: mov ecx,[edi+00000114h] cmp ecx,ebp jz L004A33F0 xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[ebx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C560h jnz L004A33F0 mov [esp+18h],edx L004A33F0: mov [esp+20h],ebp jmp L004A33FC L004A33F6: mov ebx,[L00C88540] L004A33FC: mov eax,[esp+18h] xor edx,edx mov dl,[eax+ebp] mov eax,[esp+1Ch] test eax,eax mov ebp,edx jnz L004A3418 cmp ebp,00000015h jnz L004A3658 L004A3418: mov ecx,[edi+ebp*4+000000C8h] test ecx,ecx jz L004A3578 lea eax,[ebp-03h] cmp eax,00000010h ja CASE_004A367C_PROC0003 xor edx,edx mov dl,[eax+CASE_004A368C] jmp [CASE_PROCTABLE_004A367C+edx*4] CASE_004A367C_PROC0000: mov eax,[edi+00000128h] test eax,eax jnz L004A3578 jmp CASE_004A367C_PROC0003 CASE_004A367C_PROC0002: mov eax,[edi+00000120h] test eax,eax jnz L004A3578 jmp CASE_004A367C_PROC0003 CASE_004A367C_PROC0001: mov eax,[edi+00000120h] test eax,eax jz CASE_004A367C_PROC0003 cmp word ptr [eax+3Ch],204Eh jz L004A3578 CASE_004A367C_PROC0003: xor eax,eax xor edi,edi mov ax,[ecx+3Ch] lea ecx,[esp+34h] lea edx,[esp+24h] push ecx lea eax,[eax+eax*4] push edx mov di,[ebx+eax*8+0Ch] add edi,0000C350h lea ebx,[edi+00002710h] push ebx call SUB_L004434A0 add esp,0000000Ch cmp word ptr [esp+10h],0191h jnz L004A34B6 mov eax,[esp+24h] test eax,eax jz L004A34B6 mov edi,ebx L004A34B6: mov ecx,[esp+14h] mov eax,[ecx+ebp*4+000000C8h] mov ax,[eax+42h] test ax,ax jbe L004A3546 dec eax and eax,00003FFFh mov [L00CD8C24],eax mov ecx,[ecx+ebp*4+000000C8h] mov edx,[ecx] call [edx+40h] test eax,00040000h mov eax,[esi+3Ch] mov eax,[eax+04h] jz L004A351A 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 push edi push L004B9CC0 call SUB_L00443500 mov edi,[esp+30h] add esp,0000001Ch jmp L004A3658 L004A351A: 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 push edi push SUB_L004B9C60 call SUB_L00443500 mov edi,[esp+30h] add esp,0000001Ch jmp L004A3658 L004A3546: mov eax,[esi+3Ch] 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 push edi push SUB_L004B9B80 call SUB_L00443500 mov edi,[esp+30h] add esp,0000001Ch jmp L004A3658 L004A3578: cmp [esi+000000A4h],ebp jnz L004A3658 mov eax,[esi+000000A8h] test eax,eax jnz L004A3658 mov ax,[L00C88528] test ax,ax jz L004A3618 dec eax and eax,00003FFFh mov [L00CD8C24],eax xor eax,eax mov ax,[L00C88520] mov edx,[esi+3Ch] lea eax,[eax+eax*4] lea ecx,[ebx+eax*8] mov eax,[ebx+eax*8] test eax,00040000h mov eax,[edx+04h] jz L004A35EF xor edx,edx mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] push edx push eax xor eax,eax push 00000013h mov ax,[ecx+0Ch] push 00000008h add eax,0000C350h push eax push L004B9DD0 jmp L004A3650 L004A35EF: xor edx,edx mov dx,[eax+02h] add eax,00000004h push edx xor edx,edx mov dx,[eax-04h] push edx push eax xor eax,eax push 00000013h mov ax,[ecx+0Ch] push 00000008h add eax,0000C350h push eax push L004B9D40 jmp L004A3650 L004A3618: mov ecx,[esi+3Ch] 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 xor eax,eax push 00000013h mov ax,[L00C88520] push 00000008h lea edx,[eax+eax*4] xor eax,eax mov ax,[ebx+edx*8+0Ch] add eax,0000C350h push eax push L004B9BB0 L004A3650: call SUB_L00443500 add esp,0000001Ch L004A3658: mov ebp,[esp+20h] inc ebp cmp ebp,00000019h mov [esp+20h],ebp jl L004A33F6 mov ecx,[esi+38h] call SUB_L004045B0 L004A3672: pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A367C: dd CASE_004A367C_PROC0000 dd CASE_004A367C_PROC0001 dd CASE_004A367C_PROC0002 dd CASE_004A367C_PROC0003 CASE_004A368C: db 00h, 00h, 03h, 03h, 03h, 03h, 03h, 03h, 01h, 03h, 02h, 03h, 03h, 03h, 03h, 03h db 02h Align 4 L004A36A0: sub esp,00000028h push ebx push ebp push esi push edi mov edi,ecx xor ebp,ebp cmp dword ptr [edi+0000010Ch],00000001h jnz L004A36BF call SUB_L004A2FC0 mov [edi+0000010Ch],ebp L004A36BF: cmp [edi+64h],ebp jz L004A36CC mov eax,[edi+3Ch] mov esi,[eax+0Ch] jmp L004A36D2 L004A36CC: mov ecx,[edi+3Ch] mov esi,[ecx+04h] L004A36D2: lea edx,[esp+10h] lea eax,[esp+14h] push edx push eax mov ecx,edi mov [L00B2904C],ebp mov [esp+1Ch],ebp mov [esp+18h],ebp call SUB_L00457C90 mov eax,[esp+14h] mov ecx,[esp+10h] xor edx,edx mov [esp+18h],eax mov [esp+1Ch],ecx mov dx,[esi] mov ebx,[esp+3Ch] add edx,eax xor eax,eax mov [esp+20h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+18h] push ecx push ebx mov [esp+2Ch],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004A3799 lea edx,[esp+28h] lea eax,[esp+18h] push edx push eax push ebx call SUB_L00457DF0 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[L00B189FC] push ecx mov ecx,[esp+20h] push edx mov edx,[esp+28h] push eax push ecx xor eax,eax mov ax,[esi+02h] xor ecx,ecx mov cx,[esi] push edx push eax lea edx,[esp+4Ch] push ecx add esi,00000004h push edx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000034h cmp esi,ebp jz L004A3799 L004A3786: mov eax,[esi] lea ecx,[esp+28h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] cmp esi,ebp jnz L004A3786 L004A3799: pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004A37B0: push ecx mov eax,[ecx+64h] push ebx push ebp push esi test eax,eax push edi jnz L004A3868 mov edi,[ecx+38h] mov ebx,[esp+1Ch] mov ebp,[esp+18h] mov dword ptr [esp+10h],00000018h L004A37D3: mov ecx,[esp+10h] xor eax,eax mov al,[ecx+L0050EDB8] mov esi,eax mov eax,[edi+esi*4+000000C8h] test eax,eax jz L004A3859 cmp esi,0000000Bh jz L004A3803 cmp esi,00000010h jz L004A3803 mov eax,[esp+20h] test eax,eax jnz L004A380C cmp esi,00000015h jnz L004A380C L004A3803: call SUB_L004BCED0 test eax,eax jz L004A3859 L004A380C: mov edx,[edi+esi*4+000000C8h] xor eax,eax mov ax,[edx+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] test eax,eax jle L004A3859 cmp eax,0000FFF6h jge L004A3859 cmp ebp,00000008h jl L004A3859 cmp ebx,00000013h jl L004A3859 lea ecx,[ebx-13h] lea edx,[ebp-08h] push ecx add eax,0000C350h push edx push eax call SUB_L00443A70 add esp,0000000Ch test ax,ax jnz L004A3873 L004A3859: mov eax,[esp+10h] dec eax mov [esp+10h],eax jns L004A37D3 L004A3868: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ L004A3873: mov eax,esi pop edi pop esi pop ebp pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004A3880: mov eax,fs:[00000000h] push FFFFFFFFh push L004E568B push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi mov esi,ecx push edi mov ecx,[esi+000000A4h] cmp ecx,FFFFFFFFh jz L004A39C8 cmp ecx,0000FF14h jge L004A393E mov eax,[esi+38h] xor ebx,ebx mov [esi+000000A8h],ebx mov edi,[eax+ecx*4+000000C8h] cmp edi,ebx jz L004A39C8 mov ecx,[L00C884DC] cmp eax,ecx jnz L004A38E8 mov eax,[ecx] call [eax+00000098h] test eax,eax jz L004A38F5 L004A38E8: call SUB_L004BCED0 test eax,eax jz L004A39C8 L004A38F5: push ebx push edi call SUB_L00484180 mov eax,[L00C8851C] add esp,00000008h cmp eax,ebx jz L004A390E mov [eax+0000009Ch],esi L004A390E: mov dword ptr [esi+0000010Ch],00000001h mov [esi+000000F4h],ebx mov [esi+000000ECh],ebx mov [esi+00000100h],ebx pop edi pop esi pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ L004A393E: mov al,[L0050CCB4] xor ebx,ebx cmp al,bl jz L004A39C8 cmp [esi+000000ACh],ebx jz L004A39C8 mov eax,[esi+00000104h] lea ecx,[esp+0Ch] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004434A0 mov eax,[esi+000000A8h] add esp,0000000Ch cmp eax,ebx jz L004A39C8 push 000000A8h call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax cmp eax,ebx mov [esp+20h],ebx jz L004A399E mov cx,[esi+00000104h] push ecx mov ecx,eax call SUB_L0043E110 jmp L004A39A0 L004A399E: xor eax,eax L004A39A0: push SSZ0050EEA8_Drag_the_mailbag_to_another_play push 00000003h mov [esi+00000108h],eax push ebx mov dword ptr [esp+2Ch],FFFFFFFFh mov dword ptr [eax+000000A0h],00000001h call SUB_L004BDF40 add esp,0000000Ch L004A39C8: mov ecx,[esp+18h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004A39E0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E56C1 push eax mov fs:[00000000h],esp sub esp,00000010h push ebx mov ebx,[esp+28h] push esi push edi mov edi,[esp+2Ch] push 00000001h push ebx mov esi,ecx push edi call SUB_L004A37B0 cmp eax,FFFFFFFFh jz L004A3AA6 mov ecx,[esi+38h] mov esi,[ecx+eax*4+000000C8h] test esi,esi jz L004A3C57 mov eax,[L00C88318] test eax,eax jz L004A3A5F mov eax,[L00C88328] test eax,eax jz L004A3A5F mov ecx,[L00C87E7C] test ecx,ecx jnz L004A3A5F push esi call eax add esp,00000004h pop edi pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L004A3A5F: call SUB_L004BCED0 test eax,eax jz L004A3A71 push esi call SUB_L00484010 add esp,00000004h L004A3A71: mov edx,[esi+7Ch] lea eax,[esp+14h] push edx push eax call SUB_L00499DB0 add esp,00000008h lea ecx,[esp+14h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 pop edi pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L004A3AA6: lea edx,[esp+2Ch] lea eax,[esp+30h] push edx push eax push 000007D2h call SUB_L004434A0 add esp,0000000Ch cmp edi,00000017h jl L004A3B2B cmp ebx,000000C4h jl L004A3B2B mov ecx,[esp+30h] add ecx,00000017h cmp edi,ecx jg L004A3B2B mov edx,[esp+2Ch] add edx,000000C4h cmp ebx,edx jg L004A3B2B push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L004A3B23 mov ecx,[L00C884DC] push 00000000h push esi push 00000003h mov edx,[ecx+0000011Ch] push 000003E3h push SSZ0050EEF4_Character_Profile push edx mov ecx,eax call SUB_L004110B0 L004A3B23: mov dword ptr [esp+24h],FFFFFFFFh L004A3B2B: mov al,[L0050CCB4] test al,al jz L004A3BC7 mov eax,[esi+000000ACh] test eax,eax jz L004A3BC7 mov edx,[esi+00000104h] lea eax,[esp+10h] lea ecx,[esp+0Ch] push eax push ecx push edx call SUB_L004434A0 add esp,0000000Ch cmp edi,00000050h jl L004A3BC7 cmp ebx,00000004h jl L004A3BC7 mov eax,[esp+0Ch] add eax,00000050h cmp edi,eax jg L004A3BC7 mov ecx,[esp+10h] add ecx,00000004h cmp ebx,ecx jg L004A3BC7 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+24h],00000001h jz L004A3BBF mov edx,[L00C884DC] push 00000000h push esi push 00000003h mov ecx,[edx+0000011Ch] push 000003E3h push SSZ0050EEEC_Mailbag push ecx mov ecx,eax call SUB_L004110B0 L004A3BBF: mov dword ptr [esp+24h],FFFFFFFFh L004A3BC7: mov edx,[esi+38h] mov ecx,[L00C884DC] mov eax,[edx+7Ch] mov edx,[ecx+7Ch] cmp eax,edx jnz L004A3C57 lea edx,[esp+2Ch] lea eax,[esp+30h] push edx push eax push 000007D2h call SUB_L004434A0 add esp,0000000Ch cmp edi,00000025h jl L004A3C57 cmp ebx,000000C4h jl L004A3C57 mov ecx,[esp+30h] add ecx,00000025h cmp edi,ecx jg L004A3C57 mov edx,[esp+2Ch] add edx,000000C4h cmp ebx,edx jg L004A3C57 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+24h],00000002h jz L004A3C57 mov ecx,[L00C884DC] push 00000000h push esi push 00000003h mov edx,[ecx+0000011Ch] push 000003E3h push SSZ0050E5AC_Party_Manifest push edx mov ecx,eax call SUB_L004110B0 L004A3C57: mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004A3C70: mov eax,00002014h call SUB_L004D4B90 push ebx push esi push edi mov esi,ecx mov eax,[L00C88318] test eax,eax jnz L004A3E28 mov eax,[esi+64h] test eax,eax jz L004A3CA4 call SUB_L0041E0F0 pop edi pop esi pop ebx add esp,00002014h retn 0008h ;------------------------------------------------------------------------------ L004A3CA4: mov ebx,[esp+00002028h] mov edi,[esp+00002024h] push 00000001h push ebx push edi mov ecx,esi call SUB_L004A37B0 cmp eax,FFFFFFFFh jz L004A3D36 mov ecx,[esi+38h] mov esi,[ecx+eax*4+000000C8h] test esi,esi jz L004A3E28 mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004A3D14 cmp word ptr [esi+3Ch],0033h jz L004A3D14 mov ecx,[L00C884DC] push 00000000h push 00000000h push 00000003h push 000003E3h push SSZ0050EF08_I_am_dead_and_cannot_do_that_ call SUB_L004800A0 pop edi pop esi pop ebx add esp,00002014h retn 0008h ;------------------------------------------------------------------------------ L004A3D14: test dword ptr [esi+7Ch],40000000h jz L004A3E28 push esi call SUB_L00483E70 add esp,00000004h pop edi pop esi pop ebx add esp,00002014h retn 0008h ;------------------------------------------------------------------------------ L004A3D36: lea eax,[esp+10h] lea ecx,[esp+0Ch] push eax push ecx push 000007D2h call SUB_L004434A0 add esp,0000000Ch cmp edi,00000017h jl L004A3D9A cmp ebx,000000C4h jl L004A3D9A mov edx,[esp+0Ch] add edx,00000017h cmp edi,edx jg L004A3D9A mov eax,[esp+10h] add eax,000000C4h cmp ebx,eax jg L004A3D9A mov ecx,[esi+38h] lea eax,[esp+1Ch] mov edx,[ecx+7Ch] push edx push eax call SUB_L004AC490 mov ecx,[L00C88300] add esp,00000008h test ecx,ecx jz L004A3D9A lea edx,[esp+1Ch] push edx call SUB_L004BC750 L004A3D9A: mov al,[L0050CCB4] test al,al jz L004A3DEB mov eax,[esi+000000ACh] test eax,eax jz L004A3DEB mov edx,[esi+00000104h] lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx push edx call SUB_L004434A0 add esp,0000000Ch cmp edi,00000050h jl L004A3DEB cmp ebx,00000004h jl L004A3DEB mov eax,[esp+14h] add eax,00000050h cmp edi,eax jg L004A3DEB mov ecx,[esp+18h] add ecx,00000004h cmp ebx,ecx jg L004A3DEB call SUB_L0045B1F0 L004A3DEB: mov edx,[esi+38h] mov ecx,[L00C884DC] mov eax,[edx+7Ch] mov edx,[ecx+7Ch] cmp eax,edx jnz L004A3E28 cmp edi,00000025h jl L004A3E28 cmp ebx,000000C4h jl L004A3E28 mov edx,[esp+0Ch] add edx,00000025h cmp edi,edx jg L004A3E28 mov eax,[esp+10h] add eax,000000C4h cmp ebx,eax jg L004A3E28 call SUB_L0049F7B0 L004A3E28: pop edi pop esi pop ebx add esp,00002014h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A3E40: push esi mov esi,ecx call SUB_L004A4540 test byte ptr [esp+08h],01h jz L004A3E58 push esi call SUB_L004D4F9E add esp,00000004h L004A3E58: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A3E60: push FFFFFFFFh push L004E56E3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp mov ebp,ecx push esi mov [esp+14h],ebp call SUB_L00458F30 mov edx,[esp+28h] mov dword ptr [ebp+00h],L004EFA60 mov eax,[L00C884DC] xor ebx,ebx cmp edx,eax mov [esp+20h],ebx jz L004A3EE8 mov esi,[L00C8D948] cmp esi,00000008h jnz L004A3EDA mov ecx,[L00C8D928] cmp ecx,ebx jz L004A3EC5 mov eax,[ecx] push 00000001h call [eax] mov esi,[L00C8D948] mov edx,[esp+28h] L004A3EC5: mov eax,L00C8D928 L004A3ECA: mov ecx,[eax+04h] mov [eax],ecx add eax,00000004h cmp eax,L00C8D948 jl L004A3ECA dec esi L004A3EDA: mov [L00C8D928+esi*4],ebp inc esi mov [L00C8D948],esi L004A3EE8: push edi mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx lea esi,[ebp+000000A4h] sub edi,ecx mov eax,ecx mov [esp+2Ch],esi mov esi,edi mov edi,[esp+2Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov [ebp+000000C2h],bl mov [ebp+000000C4h],bx mov [ebp+000000C6h],bx mov [ebp+000000C8h],bx mov [ebp+000000CAh],bx mov [ebp+000000CCh],bx mov [ebp+000000CEh],bx mov [ebp+000000D0h],bx mov [ebp+000000D2h],bx mov [ebp+000000D4h],bx mov edi,L007049FC or ecx,FFFFFFFFh mov [ebp+000000D8h],ebx lea esi,[ebp+000000E8h] repne scasb not ecx sub edi,ecx mov [esp+2Ch],esi mov eax,ecx mov esi,edi mov edi,[esp+2Ch] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h cmp edx,ebx rep movsb mov [ebp+00000106h],bl mov [ebp+00000108h],bx mov [ebp+0000010Ah],bx mov [ebp+0000010Ch],bx mov [ebp+0000010Eh],bx mov [ebp+00000110h],bx mov [ebp+00000112h],bx mov [ebp+00000114h],bx mov [ebp+00000116h],bx mov [ebp+00000118h],bx mov [ebp+0000011Ch],ebx mov dword ptr [ebp+00000128h],00000001h mov dword ptr [ebp+08h],SSZ00506804_status_gump mov [ebp+60h],ebx mov [ebp+00000140h],ebx mov [ebp+0000013Ch],ebx mov [ebp+00000138h],ebx mov [ebp+00000134h],ebx mov [ebp+00000148h],ebx mov [ebp+00000144h],ebx mov [ebp+00000154h],ebx mov [ebp+00000150h],ebx mov [ebp+0000014Ch],ebx mov [ebp+00000164h],ebx mov [ebp+00000160h],ebx mov [ebp+0000015Ch],ebx mov [ebp+00000158h],ebx mov [ebp+00000174h],ebx mov [ebp+00000170h],ebx mov [ebp+0000016Ch],ebx mov [ebp+00000168h],ebx mov [ebp+00000178h],ebx mov [ebp+0000017Dh],bl mov [ebp+38h],edx jz L004A407E cmp [edx+0000008Ch],ebx jz L004A4078 mov [edx+00000090h],ebp jmp L004A407E L004A4078: mov [edx+0000008Ch],ebp L004A407E: lea eax,[ebp+24h] lea esi,[ebp+20h] push eax push esi push 00000802h mov dword ptr [ebp+54h],00000802h mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L004434A0 mov eax,[esi] mov ecx,[ebp+38h] add eax,00000007h add esp,0000000Ch and al,F8h mov [ebp+1Ch],eax mov [esi],eax mov eax,[L00C884DC] cmp ecx,eax lea eax,[ebp+2Ch] lea ecx,[ebp+28h] push eax push ecx jnz L004A40D0 push 00000803h jmp L004A40D5 L004A40D0: push 00000804h L004A40D5: call SUB_L004434A0 add esp,0000000Ch lea edx,[esp+14h] lea eax,[esp+10h] push edx push eax call SUB_L00476BC0 mov edi,[ebp+28h] mov ecx,[esp+18h] mov eax,edi add esp,00000008h cdq sub eax,edx sar eax,1 sub ecx,eax mov eax,[ebp+2Ch] mov [esp+2Ch],eax mov [ebp+30h],ecx cdq sub eax,edx mov edx,eax mov eax,[esp+14h] sar edx,1 sub eax,edx cmp ecx,ebx mov [ebp+34h],eax jge L004A4120 mov [ebp+30h],ebx L004A4120: cmp eax,ebx jge L004A4127 mov [ebp+34h],ebx L004A4127: cmp [esp+30h],ebx jz L004A417C mov eax,[L005073D0] mov ecx,[ebp+30h] add ecx,edi lea edx,[eax-01h] cmp ecx,edx jl L004A4144 sub eax,edi dec eax mov [ebp+30h],eax L004A4144: mov ecx,[esp+2Ch] mov eax,[ebp+34h] mov edx,ecx add edx,eax mov eax,[L005073D4] lea edi,[eax-01h] cmp edx,edi jl L004A4161 sub eax,ecx dec eax mov [ebp+34h],eax L004A4161: mov eax,[ebp+30h] mov ecx,[ebp+34h] mov dword ptr [ebp+64h],00000001h mov [ebp+00000080h],eax mov [ebp+00000084h],ecx jmp L004A41B4 L004A417C: mov eax,[L005073D0] mov ecx,[esi] mov edx,[ebp+30h] add edx,ecx lea edi,[eax-01h] cmp edx,edi jl L004A4195 sub eax,ecx dec eax mov [ebp+30h],eax L004A4195: mov ecx,[ebp+24h] mov eax,[ebp+34h] mov edx,ecx add edx,eax mov eax,[L005073D4] lea edi,[eax-01h] cmp edx,edi jl L004A41B1 sub eax,ecx dec eax mov [ebp+34h],eax L004A41B1: mov [ebp+64h],ebx L004A41B4: mov edx,[ebp+64h] push SSZ004FF1A4_framedata_for_CStatusGump push 00000018h mov [ebp+00000124h],edx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000003h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF194_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ00503A70_status_frame1 mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+28h] imul eax,[ebp+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ0050EF28_status_frame2 mov [edx+0Ch],eax mov ecx,[ebp+28h] imul ecx,[ebp+2Ch] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000020h mov [edx+14h],eax mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] xor eax,eax shl ecx,1 mov edi,[edx+14h] mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+14h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+14h] mov [ecx+02h],dx mov ecx,ebp mov [ebp+00000130h],ebx mov [ebp+0000012Ch],ebx call SUB_L004A4380 push 00000001h push 00000001h push 00000001h push 00000001h mov ecx,ebp call SUB_L004A5350 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],01h pop edi jz L004A4356 push ebx push SUB_L0041E070 push ebx push ebx push ebp push 00000088h push 00000107h push 00000070h push 000000F0h mov ecx,eax call SUB_L004220C0 jmp L004A4358 L004A4356: xor eax,eax L004A4358: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl call SUB_L004587A0 mov ecx,[esp+18h] mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004A4380: push FFFFFFFFh push L004E5706 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov eax,[esi+38h] test eax,eax jz L004A44CC mov eax,[eax+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 test al,al jz L004A44CC push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004A43FA push 00000000h push 0000093Ah push 00000938h push SUB_L004216F0 push 00000002h push 00000000h push esi push 00000014h push 00000010h mov ecx,eax call SUB_L00421F40 jmp L004A43FC L004A43FA: xor eax,eax L004A43FC: mov [esi+0000012Ch],eax mov dword ptr [eax+000000A4h],00000000h mov ecx,[esi+0000012Ch] push edi mov edi,00000001h mov dword ptr [esp+14h],FFFFFFFFh mov [ecx+000000C0h],edi mov ecx,[esi+0000012Ch] push edi push esi call SUB_L004587A0 mov edx,[esi+0000012Ch] push 000000ECh mov [edx+000000C8h],edi call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov [esp+14h],edi jz L004A447B push 00000000h push 0000093Ah push 00000939h push SUB_L004216F0 push 00000002h push 00000000h push esi push 00000021h push 00000010h mov ecx,eax call SUB_L00421F40 jmp L004A447D L004A447B: xor eax,eax L004A447D: mov [esi+00000130h],eax mov [eax+000000A4h],edi mov eax,[esi+00000130h] push edi push esi mov dword ptr [esp+1Ch],FFFFFFFFh mov [eax+000000C0h],edi mov ecx,[esi+00000130h] call SUB_L004587A0 mov ecx,[esi+00000130h] push 00000000h push 00000000h push 00000000h mov [ecx+000000C8h],edi push 00000000h mov ecx,esi mov [esi+00000128h],edi call SUB_L004A5350 pop edi L004A44CC: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A44E0: push esi mov esi,ecx mov ecx,[esi+0000012Ch] test ecx,ecx jz L004A44FD mov eax,[ecx] push 00000001h call [eax] mov dword ptr [esi+0000012Ch],00000000h L004A44FD: mov ecx,[esi+00000130h] test ecx,ecx jz L004A4517 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [esi+00000130h],00000000h L004A4517: push 00000000h push 00000000h push 00000000h push 00000000h mov ecx,esi mov dword ptr [esi+00000128h],00000001h call SUB_L004A5350 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4540: push FFFFFFFFh push L004E5718 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi mov dword ptr [esi],L004EFA60 mov ecx,[L00C8D948] xor ebx,ebx xor eax,eax cmp ecx,ebx mov [esp+18h],ebx jle L004A45B1 mov edx,L00C8D928 L004A457C: cmp [edx],esi jz L004A458A inc eax add edx,00000004h cmp eax,ecx jl L004A457C jmp L004A45B1 L004A458A: cmp eax,ecx jge L004A45B1 lea edi,[ecx-01h] cmp eax,edi jge L004A45AB mov edx,edi lea ecx,[L00C8D928+eax*4] sub edx,eax L004A45A0: mov eax,[ecx+04h] mov [ecx],eax add ecx,00000004h dec edx jnz L004A45A0 L004A45AB: mov [L00C8D948],edi L004A45B1: mov ecx,esi call SUB_L004A5EB0 mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,ebx jz L004A45D6 push SSZ00503AA8_status_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],ebx L004A45D6: mov eax,[esi+3Ch] mov eax,[eax+0Ch] cmp eax,ebx jz L004A45F4 push SSZ00503A94_status_frame1_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+0Ch],ebx L004A45F4: mov edx,[esi+3Ch] mov eax,[edx+14h] cmp eax,ebx jz L004A4612 push SSZ0050EF38_status_frame2_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+14h],ebx L004A4612: mov eax,[esi+3Ch] cmp eax,ebx jz L004A462A push SSZ00503A80_status_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L004A462A: mov ecx,esi mov dword ptr [esp+18h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+10h] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004A4650: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov ecx,[esi+0000014Ch] add esp,00000004h test ecx,ecx jz L004A4681 L004A4667: mov esi,[ecx+00000150h] test ecx,ecx jz L004A4677 mov eax,[ecx] push 00000001h call [eax] L004A4677: test esi,esi mov ecx,esi jnz L004A4667 pop esi retn 0008h ;------------------------------------------------------------------------------ L004A4681: test esi,esi jz L004A468D mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004A468D: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A46A0: mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[esp+0Ch] mov dword ptr [esi+0000013Ch],00000001h mov [esi+70h],eax mov [esi+74h],ecx mov eax,[L00C88318] test eax,eax jz L004A474C mov eax,[L00C88328] test eax,eax jz L004A474C mov eax,[L00C87E7C] test eax,eax jnz L004A474C mov al,[L0050CC2D] test al,al jz L004A4740 mov ecx,[esi+38h] test ecx,ecx jz L004A4740 mov edx,[ecx] call [edx+24h] test eax,eax jz L004A4740 mov al,[L00C88324] test al,al jz L004A4740 cmp al,01h jnz L004A4714 mov ecx,[esi+38h] mov eax,[ecx] call [eax+000000A4h] test al,al jz L004A4727 mov al,[L00C88324] L004A4714: cmp al,02h jnz L004A4735 mov ecx,[esi+38h] mov edx,[ecx] call [edx+000000A8h] test al,al jnz L004A4735 L004A4727: mov eax,[esi+38h] mov ecx,[eax+7Ch] push ecx call SUB_L00473EF0 jmp L004A4749 L004A4735: mov edx,[esi+38h] push edx call SUB_L00493980 jmp L004A4749 L004A4740: mov eax,[esi+38h] push eax call SUB_L00493980 L004A4749: add esp,00000004h L004A474C: push edi mov edi,[esi+0000014Ch] test edi,edi jz L004A476C L004A4757: push 00000000h mov ecx,edi call SUB_L004584E0 mov edi,[edi+00000150h] test edi,edi jnz L004A4757 jmp L004A4775 L004A476C: push 00000000h mov ecx,esi call SUB_L004584E0 L004A4775: mov eax,[esi+00000148h] pop edi cmp eax,00000001h jnz L004A478F mov dword ptr [esi+00000148h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L004A478F: mov dword ptr [esi+00000148h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+00000144h],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004A47B0: push esi push edi mov esi,ecx push 00000012h call [USER32.dll!GetAsyncKeyState] test ax,ax jz L004A47C8 mov ecx,esi call SUB_L004A5EB0 L004A47C8: mov eax,[esi+00000154h] xor edi,edi cmp eax,edi jz L004A4B2B xor ecx,ecx mov cl,[esi+0000017Ch] dec ecx cmp ecx,00000007h ja CASE_004A4B7C_PROC0002 jmp [CASE_PROCTABLE_004A4B7C+ecx*4] CASE_004A4B7C_PROC0000: mov [eax+0000015Ch],esi mov eax,[esi+00000154h] mov [esi+00000158h],eax mov ecx,[eax+00000160h] cmp ecx,edi jz L004A482F mov ecx,[ecx+0000015Ch] cmp ecx,edi jz L004A482F mov [esi+00000160h],ecx mov eax,[eax+00000160h] mov ecx,[eax+0000015Ch] mov [ecx+00000164h],esi L004A482F: mov ecx,[esi+00000154h] mov eax,[ecx+00000164h] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov eax,[eax+0000015Ch] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov [esi+00000164h],eax mov edx,[ecx+00000164h] mov eax,[edx+0000015Ch] mov [eax+00000160h],esi jmp CASE_004A4B7C_PROC0002 CASE_004A4B7C_PROC0001: mov [eax+00000158h],esi mov eax,[esi+00000154h] mov [esi+0000015Ch],eax mov ecx,[eax+00000160h] cmp ecx,edi jz L004A48AC mov ecx,[ecx+00000158h] cmp ecx,edi jz L004A48AC mov [esi+00000160h],ecx mov ecx,[eax+00000160h] mov edx,[ecx+00000158h] mov [edx+00000164h],esi L004A48AC: mov ecx,[esi+00000154h] mov eax,[ecx+00000164h] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov eax,[eax+00000158h] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov [esi+00000164h],eax mov eax,[ecx+00000164h] mov ecx,[eax+00000158h] mov [ecx+00000160h],esi jmp CASE_004A4B7C_PROC0002 CASE_004A4B7C_PROC0003: mov [eax+00000164h],esi mov eax,[esi+00000154h] mov [esi+00000160h],eax mov ecx,[eax+00000158h] cmp ecx,edi jz L004A4929 mov ecx,[ecx+00000164h] cmp ecx,edi jz L004A4929 mov [esi+00000158h],ecx mov edx,[eax+00000158h] mov eax,[edx+00000164h] mov [eax+0000015Ch],esi L004A4929: mov ecx,[esi+00000154h] mov eax,[ecx+0000015Ch] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov eax,[eax+00000164h] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov [esi+0000015Ch],eax mov ecx,[ecx+0000015Ch] mov edx,[ecx+00000164h] mov [edx+00000158h],esi jmp CASE_004A4B7C_PROC0002 CASE_004A4B7C_PROC0007: mov [eax+00000160h],esi mov eax,[esi+00000154h] mov [esi+00000164h],eax mov ecx,[eax+00000158h] cmp ecx,edi jz L004A49A3 mov ecx,[ecx+00000160h] cmp ecx,edi jz L004A49A3 mov [esi+00000158h],ecx mov eax,[eax+00000158h] mov ecx,[eax+00000160h] mov [ecx+0000015Ch],esi L004A49A3: mov ecx,[esi+00000154h] mov eax,[ecx+0000015Ch] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov eax,[eax+00000160h] cmp eax,edi jz CASE_004A4B7C_PROC0002 mov [esi+0000015Ch],eax mov edx,[ecx+0000015Ch] mov eax,[edx+00000160h] mov [eax+00000158h],esi CASE_004A4B7C_PROC0002: mov ecx,[esi+00000154h] mov eax,[ecx+0000014Ch] cmp eax,edi jnz L004A4A91 mov [esi+0000014Ch],ecx mov [esi+00000150h],edi mov [ecx+0000014Ch],ecx mov ecx,[esi+00000154h] mov [ecx+00000150h],esi mov eax,[esi+00000154h] mov edx,[esi+30h] cmp edx,[eax+30h] jge L004A4A35 mov eax,[esi+0000014Ch] mov [eax+00000168h],esi mov ecx,[esi+0000014Ch] mov edx,[esi+00000154h] mov [ecx+0000016Ch],edx jmp L004A4A4D L004A4A35: mov ecx,[esi+0000014Ch] mov [ecx+00000168h],eax mov edx,[esi+0000014Ch] mov [edx+0000016Ch],esi L004A4A4D: mov eax,[esi+00000154h] mov ecx,[esi+34h] mov edx,[eax+34h] cmp ecx,edx mov edx,[esi+0000014Ch] jge L004A4A80 mov [edx+00000170h],esi mov eax,[esi+0000014Ch] mov ecx,[esi+00000154h] mov [eax+00000174h],ecx jmp L004A4B25 L004A4A80: mov [edx+00000170h],eax mov eax,[esi+0000014Ch] jmp L004A4B1F L004A4A91: mov [esi+0000014Ch],eax mov [esi+00000150h],edi mov ecx,[eax+00000150h] cmp ecx,edi jz L004A4AB3 L004A4AA7: mov eax,ecx mov ecx,[eax+00000150h] cmp ecx,edi jnz L004A4AA7 L004A4AB3: mov [eax+00000150h],esi mov eax,[esi+0000014Ch] mov edx,[esi+30h] push ebx mov ecx,[eax+00000168h] cmp edx,[ecx+30h] jge L004A4AD4 mov [eax+00000168h],esi L004A4AD4: mov eax,[esi+0000014Ch] mov edx,[esi+30h] mov ecx,[eax+0000016Ch] cmp edx,[ecx+30h] jle L004A4AEE mov [eax+0000016Ch],esi L004A4AEE: mov eax,[esi+0000014Ch] mov edx,[esi+34h] mov ecx,[eax+00000170h] cmp edx,[ecx+34h] jge L004A4B08 mov [eax+00000170h],esi L004A4B08: mov eax,[esi+0000014Ch] mov edx,[esi+34h] mov ecx,[eax+00000174h] mov ebx,[ecx+34h] cmp edx,ebx pop ebx jle L004A4B25 L004A4B1F: mov [eax+00000174h],esi L004A4B25: mov [esi+00000154h],edi L004A4B2B: push edi call SUB_L00476670 mov eax,[esi+00000134h] add esp,00000004h cmp eax,edi mov [esi+0000013Ch],edi jz L004A4B55 mov [esi+00000134h],edi mov [esi+00000148h],edi pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004A4B55: cmp dword ptr [esi+00000148h],00000002h jnz L004A4B75 mov eax,[esp+10h] mov ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov [esi+00000148h],edi call SUB_L004A4BA0 L004A4B75: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A4B7C: dd CASE_004A4B7C_PROC0000 dd CASE_004A4B7C_PROC0001 dd CASE_004A4B7C_PROC0002 dd CASE_004A4B7C_PROC0003 dd CASE_004A4B7C_PROC0002 dd CASE_004A4B7C_PROC0002 dd CASE_004A4B7C_PROC0002 dd CASE_004A4B7C_PROC0007 Align 8 SUB_L004A4BA0: push esi mov esi,ecx mov eax,[esi+64h] test eax,eax jz L004A4BE5 mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jz L004A4BC0 call SUB_L004BCED0 test eax,eax jz L004A4BC7 L004A4BC0: mov ecx,esi call SUB_L0041E0F0 L004A4BC7: mov eax,[esi+64h] test eax,eax jz L004A4BE5 mov ecx,[L00B189F8] test ecx,ecx jz L004A4BEC mov edx,[esi+38h] push edx call SUB_L004742A0 pop esi retn 0008h ;------------------------------------------------------------------------------ L004A4BE5: mov ecx,esi call SUB_L004A5EB0 L004A4BEC: pop esi retn 0008h ;------------------------------------------------------------------------------ L004A4BF0: mov eax,[L00C88318] test eax,eax jz L004A4C06 push 00000013h call SUB_L004766D0 add esp,00000004h retn 0008h ;------------------------------------------------------------------------------ L004A4C06: push 00000000h call SUB_L004D0FB0 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A4C20: push ebx push ebp push esi mov esi,ecx mov ecx,[esp+14h] xor ebp,ebp mov ebx,[esi+0000013Ch] push edi mov edi,[esp+14h] cmp ebx,ebp jz L004A4C74 cmp [esi+00000148h],ebp jbe L004A4C74 mov edx,[esi+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004A4C64 mov edx,[esi+74h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004A4C74 L004A4C64: mov dword ptr [esi+00000134h],00000001h mov [esi+00000148h],ebp L004A4C74: cmp ebx,ebp jz CASE_004A4DCC_PROC0002 cmp [esi+0000014Ch],ebp jz L004A4CDF mov edx,[esi+74h] mov ebp,[esi+30h] mov ebx,[esi+34h] sub ecx,edx mov edx,[esi+70h] push 00000001h push 00000000h push 00000001h sub edi,edx push ecx push edi mov ecx,esi call SUB_L00457800 mov edi,[esi+0000014Ch] test edi,edi jz CASE_004A4DCC_PROC0002 L004A4CB1: cmp edi,esi jz L004A4CCE mov eax,[esi+34h] mov ecx,[esi+30h] push 00000000h push 00000000h sub eax,ebx push 00000001h sub ecx,ebp push eax push ecx mov ecx,edi call SUB_L00457800 L004A4CCE: mov edi,[edi+00000150h] test edi,edi jnz L004A4CB1 pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004A4CDF: mov eax,[esi+74h] mov edx,[esi+70h] push 00000001h push ebp sub ecx,eax push 00000001h sub edi,edx push ecx push edi mov ecx,esi call SUB_L00457800 cmp [esi+64h],ebp jz CASE_004A4DCC_PROC0002 mov [esi+00000154h],ebp mov edi,[L00B294DC] cmp edi,ebp jz CASE_004A4DCC_PROC0002 L004A4D14: cmp edi,esi jz L004A4D3B mov edx,[edi] mov ecx,edi call [edx+000000E8h] test eax,eax jz L004A4D3B cmp [edi+64h],ebp jz L004A4D3B push edi mov ecx,esi call SUB_L004A5E00 test al,al mov [esp+18h],al jnz L004A4D49 L004A4D3B: mov edi,[edi+40h] cmp edi,ebp jnz L004A4D14 pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004A4D49: mov [esi+0000017Ch],al mov eax,[esp+18h] and eax,000000FFh mov [esi+00000154h],edi dec eax cmp eax,00000007h ja CASE_004A4DCC_PROC0002 jmp [CASE_PROCTABLE_004A4DCC+eax*4] CASE_004A4DCC_PROC0000: mov ecx,[edi+30h] mov eax,[edi+28h] add ecx,eax mov [esi+30h],ecx mov edx,[edi+34h] mov [esi+34h],edx pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_004A4DCC_PROC0001: mov eax,[edi+30h] mov ecx,[esi+28h] sub eax,ecx mov [esi+30h],eax mov ecx,[edi+34h] mov [esi+34h],ecx pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_004A4DCC_PROC0003: mov edx,[edi+30h] mov [esi+30h],edx mov eax,[edi+34h] mov ecx,[edi+2Ch] pop edi add eax,ecx mov [esi+34h],eax pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ CASE_004A4DCC_PROC0007: mov ecx,[edi+30h] mov eax,[esi+2Ch] mov [esi+30h],ecx mov edx,[edi+34h] sub edx,eax mov [esi+34h],edx CASE_004A4DCC_PROC0002: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A4DCC: dd CASE_004A4DCC_PROC0000 dd CASE_004A4DCC_PROC0001 dd CASE_004A4DCC_PROC0002 dd CASE_004A4DCC_PROC0003 dd CASE_004A4DCC_PROC0002 dd CASE_004A4DCC_PROC0002 dd CASE_004A4DCC_PROC0002 dd CASE_004A4DCC_PROC0007 Align 8 L004A4DF0: sub esp,00000028h push esi mov esi,ecx mov eax,[esi+00000178h] add eax,000000F8h push eax call SUB_L0047B750 add esp,00000004h test eax,eax jz L004A4E28 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ004FF33C_Unacceptable_name_ call SUB_L00455DD0 add esp,00000014h pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ L004A4E28: mov ecx,[esi+00000178h] mov edx,[esi+38h] add ecx,000000F8h mov eax,[edx+7Ch] push ecx lea ecx,[esp+08h] push eax push ecx call SUB_L0049BC30 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+04h] push edx call SUB_L004BC750 call SUB_L00456C40 pop esi add esp,00000028h retn ;------------------------------------------------------------------------------ Align 16 L004A4E70: 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 L004A4EB5 sub edi,[esi+00000144h] cmp edi,eax jbe L004A4EB5 mov eax,[esi+0000013Ch] mov dword ptr [esi+00000148h],00000000h test eax,eax jz L004A4EB5 mov [esi+00000134h],ecx L004A4EB5: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A4EC0: sub esp,00000010h mov eax,[esp+28h] push ebx push ebp push esi mov esi,ecx mov ecx,[esp+30h] push edi cmp cx,ax ja L004A4EF8 test ax,ax jz L004A4EF8 and ecx,0000FFFFh and eax,0000FFFFh mov [esp+34h],ecx fild dword ptr [esp+34h] mov [esp+34h],eax fidiv dword ptr [esp+34h] jmp L004A4EFE L004A4EF8: fld dword ptr [L004E73E0] L004A4EFE: fild dword ptr [esp+2Ch] mov edi,[esp+24h] mov ebx,[esp+28h] mov [esp+10h],edi mov [esp+14h],ebx fmul ST,ST(1) call SUB_L004D5008 mov ecx,[esp+30h] lea eax,[eax+edi-01h] mov [esp+18h],eax mov eax,[esi+38h] lea edx,[ebx+ecx-01h] mov [esp+1Ch],edx mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 fstp ST(0) call SUB_L0049F880 mov esi,[esp+3Ch] test al,al lea ebp,[esi+04h] jnz L004A4F9B xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx push eax push ebp push ebx push edi push 00000805h push SUB_L004B9B80 call SUB_L00443500 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+60h] push edx push ebp push ebx lea eax,[esp+3Ch] push edi push eax push ecx push SUB_L004B9B80 call SUB_L004436C0 add esp,0000003Ch pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ L004A4F9B: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx push eax push ebp push ebx push edi push 00000028h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esp+60h] add esp,0000001Ch test eax,eax mov [L00CD8C24],eax jz L004A4FF8 xor ecx,ecx xor edx,edx mov cx,[esi+02h] mov dx,[esi] push ecx mov ecx,[esp+44h] push edx push ebp push ebx lea eax,[esp+20h] push edi push eax push ecx push SUB_L004B9C60 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ L004A4FF8: xor edx,edx xor eax,eax mov dx,[esi+02h] mov ax,[esi] push edx mov edx,[esp+44h] push eax push ebp push ebx lea ecx,[esp+20h] push edi push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0024h ;------------------------------------------------------------------------------ Align 8 SUB_L004A5030: push esi mov esi,ecx push edi xor eax,eax mov ecx,[esi+24h] mov edx,[esi+3Ch] imul ecx,[esi+20h] mov edi,[edx+14h] 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+64h] test eax,eax jz L004A533E mov eax,[esi+38h] mov ecx,[L00C884DC] cmp eax,ecx jnz L004A522D mov eax,[eax+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 mov ecx,[L00C884DC] test al,al mov al,[ecx+0000009Ch] jnz L004A5164 test al,04h jz L004A50B8 mov edx,[esi+3Ch] mov cx,[esi+000000CCh] push 00000000h push 00000808h mov eax,[edx+14h] mov dx,[esi+000000CAh] push eax push ecx push edx jmp L004A50F8 L004A50B8: test al,08h push 00000000h jz L004A50DC mov eax,[esi+3Ch] mov dx,[esi+000000CCh] push 00000809h mov ecx,[eax+14h] mov ax,[esi+000000CAh] push ecx push edx push eax jmp L004A50F8 L004A50DC: mov ecx,[esi+3Ch] mov ax,[esi+000000CCh] push 00000806h mov edx,[ecx+14h] mov cx,[esi+000000CAh] push edx push eax push ecx L004A50F8: push 0000000Bh push 0000006Dh push 0000000Ch push 00000022h mov ecx,esi call SUB_L004A4EC0 mov edx,[esi+3Ch] mov cx,[esi+000000D4h] push 00000000h push 00000806h mov eax,[edx+14h] mov dx,[esi+000000D2h] push eax push ecx push edx push 0000000Bh push 0000006Dh push 00000019h push 00000022h mov ecx,esi call SUB_L004A4EC0 mov eax,[esi+3Ch] mov dx,[esi+000000D0h] push 00000000h push 00000806h mov ecx,[eax+14h] mov ax,[esi+000000CEh] push ecx push edx push eax push 0000000Bh push 0000006Dh push 00000026h push 00000022h mov ecx,esi call SUB_L004A4EC0 pop edi pop esi retn ;------------------------------------------------------------------------------ L004A5164: test al,04h jz L004A5188 mov edx,[esi+3Ch] mov cx,[esi+000000CCh] push 00000170h push 00000029h mov eax,[edx+14h] mov dx,[esi+000000CAh] push eax push ecx push edx jmp L004A51C4 L004A5188: test al,08h jz L004A51A9 mov eax,[esi+3Ch] mov dx,[esi+000000CCh] push 00000035h push 00000029h mov ecx,[eax+14h] mov ax,[esi+000000CAh] push ecx push edx push eax jmp L004A51C4 L004A51A9: mov ecx,[esi+3Ch] mov ax,[esi+000000CCh] push 00000000h push 00000029h mov edx,[ecx+14h] mov cx,[esi+000000CAh] push edx push eax push ecx L004A51C4: push 0000000Bh push 0000006Dh push 00000014h push 00000022h mov ecx,esi call SUB_L004A4EC0 mov edx,[esi+3Ch] mov cx,[esi+000000D4h] push 00000481h push 00000029h mov eax,[edx+14h] mov dx,[esi+000000D2h] push eax push ecx push edx push 0000000Bh push 0000006Dh push 00000021h push 00000022h mov ecx,esi call SUB_L004A4EC0 mov eax,[esi+3Ch] mov dx,[esi+000000D0h] push 00000010h push 00000029h mov ecx,[eax+14h] mov ax,[esi+000000CEh] push ecx push edx push eax push 0000000Bh push 0000006Dh push 0000002Eh push 00000022h mov ecx,esi call SUB_L004A4EC0 pop edi pop esi retn ;------------------------------------------------------------------------------ L004A522D: mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 call SUB_L0049F880 test al,al jnz L004A526F mov edx,[esi+3Ch] mov cx,[esi+000000CCh] push 00000000h push 00000806h mov eax,[edx+14h] mov dx,[esi+000000CAh] push eax push ecx push edx push 0000000Bh push 0000006Dh push 00000026h push 00000022h mov ecx,esi call SUB_L004A4EC0 pop edi pop esi retn ;------------------------------------------------------------------------------ L004A526F: mov eax,[esi+38h] mov al,[eax+0000009Ch] test al,04h jz L004A529C mov ecx,[esi+3Ch] mov ax,[esi+000000CCh] push 00000170h push 00000029h mov edx,[ecx+14h] mov cx,[esi+000000CAh] push edx push eax push ecx jmp L004A52D8 L004A529C: test al,08h jz L004A52BD mov edx,[esi+3Ch] mov cx,[esi+000000CCh] push 00000035h push 00000029h mov eax,[edx+14h] mov dx,[esi+000000CAh] push eax push ecx push edx jmp L004A52D8 L004A52BD: mov eax,[esi+3Ch] mov dx,[esi+000000CCh] push 00000000h push 00000029h mov ecx,[eax+14h] mov ax,[esi+000000CAh] push ecx push edx push eax L004A52D8: push 0000000Bh push 0000006Dh push 00000014h push 00000022h mov ecx,esi call SUB_L004A4EC0 mov ecx,[esi+3Ch] mov ax,[esi+000000D4h] push 00000481h push 00000029h mov edx,[ecx+14h] mov cx,[esi+000000D2h] push edx push eax push ecx push 0000000Bh push 0000006Dh push 00000021h push 00000022h mov ecx,esi call SUB_L004A4EC0 mov edx,[esi+3Ch] mov cx,[esi+000000D0h] push 00000010h push 00000029h mov eax,[edx+14h] mov dx,[esi+000000CEh] push eax push ecx push edx push 0000000Bh push 0000006Dh push 0000002Eh push 00000022h mov ecx,esi call SUB_L004A4EC0 L004A533E: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5350: sub esp,00000060h push ebx push ebp mov ebp,ecx xor ebx,ebx push esi push edi mov eax,[ebp+38h] cmp eax,ebx jz L004A5A85 cmp [ebp+00000128h],ebx jnz L004A5378 mov dword ptr [ebp+00000128h],00000001h L004A5378: mov eax,[eax+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 test al,al jz L004A53B9 mov esi,L00C85E4C L004A538F: mov ecx,[ebp+38h] mov eax,[esi-04h] mov edx,[ecx+7Ch] cmp edx,eax jnz L004A53AE lea eax,[ebp+000000A4h] push 0000001Eh push eax push esi call SUB_L004D52C0 add esp,0000000Ch L004A53AE: add esi,00000024h cmp esi,L00C85FB4 jl L004A538F L004A53B9: mov al,[ebp+0000017Dh] test al,al jz L004A5408 mov eax,[L00C88318] cmp eax,ebx jz L004A5408 mov ecx,[ebp+38h] push ebx push ebx push ebx mov edx,[ecx+7Ch] push ebx push edx lea eax,[esp+44h] push ebx push eax call SUB_L0049B220 add esp,0000001Ch lea ecx,[esp+30h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 call SUB_L0047BB90 mov byte ptr [L00C88324],00h mov byte ptr [ebp+0000017Dh],00h L004A5408: cmp [ebp+00000128h],ebx jz L004A5A85 mov edx,[ebp+20h] mov eax,[ebp+24h] mov [esp+28h],edx lea ecx,[esp+10h] mov [esp+2Ch],eax lea edx,[esp+18h] push ecx lea eax,[esp+20h] push edx push eax push L004FEBE4 push 00000001h mov [ebp+00000128h],ebx mov [esp+34h],ebx mov [esp+38h],ebx call SUB_L00441BC0 mov ecx,[ebp+3Ch] xor edx,edx mov eax,[ecx+04h] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[ebp+54h] add eax,00000004h push ecx push eax push ebx push ebx push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[ebp+38h] add esp,00000030h mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 call SUB_L0049F880 test al,al jnz L004A556E mov ecx,[ebp+38h] mov eax,[L00C884DC] cmp ecx,eax jnz L004A54E5 cmp [eax+00000154h],ebx jz L004A54C5 mov edx,[ebp+3Ch] 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 ebx push ebx push 00000807h jmp L004A5561 L004A54C5: mov eax,[ebp+3Ch] 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 push 00000803h jmp L004A5561 L004A54E5: call SUB_L00481700 cmp eax,00000004h jz L004A5543 cmp eax,00000003h jz L004A5543 mov eax,[ebp+38h] push eax call SUB_L00406470 add esp,00000004h cmp eax,ebx mov [L00CD8C24],eax jnz L004A551E mov ecx,[ebp+3Ch] xor edx,edx mov eax,[ecx+0Ch] xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx jmp L004A5556 L004A551E: mov edx,[ebp+3Ch] 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 ebx push ebx push 00000804h push SUB_L004B9C60 jmp L004A5566 L004A5543: mov eax,[ebp+3Ch] xor ecx,ecx xor edx,edx mov eax,[eax+0Ch] mov cx,[eax+02h] mov dx,[eax] push ecx push edx L004A5556: add eax,00000004h push eax push ebx push ebx push 00000804h L004A5561: push SUB_L004B9B80 L004A5566: call SUB_L00443500 add esp,0000001Ch L004A556E: lea esi,[ebp+000000A4h] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx mov [esp+14h],esi jnz L004A5592 cmp [ebp+00000178h],ebx jz L004A5A85 L004A5592: mov ecx,ebp call SUB_L004A5030 mov edi,esi or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+48h] repne scasb not ecx sub edi,ecx mov dword ptr [esp+28h],00000104h mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax mov eax,[ebp+64h] and ecx,00000003h cmp eax,ebx rep movsb jnz L004A55FC mov eax,[ebp+3Ch] mov edx,[ebp+20h] lea ecx,[esp+20h] push ecx mov ecx,[eax+14h] mov eax,[esp+14h] push edx add ecx,00000004h lea edx,[esp+50h] push ecx push edx push 00000386h add eax,0000002Bh push 00000001h push eax push 00000056h call SUB_L004410C0 add esp,00000020h L004A55FC: mov ecx,[ebp+64h] mov eax,[ebp+20h] cmp ecx,ebx mov [esp+28h],eax jnz L004A5930 mov cl,[ebp+000000C2h] test cl,cl jnz L004A563E mov edx,[ebp+3Ch] lea ecx,[esp+20h] push ecx mov ecx,[esp+14h] push eax mov eax,[edx+14h] add eax,00000004h add ecx,00000062h push eax push L0050EF68 push 00000386h push 00000001h push ecx jmp L004A5662 L004A563E: lea edx,[esp+20h] push edx push eax mov eax,[ebp+3Ch] mov edx,[esp+18h] mov ecx,[eax+14h] add ecx,00000004h add edx,00000062h push ecx push L0050EF64 push 00000386h push 00000001h push edx L004A5662: push 00000056h call SUB_L004410C0 xor eax,eax add esp,00000020h mov ax,[ebp+000000C4h] lea ecx,[esp+48h] push eax push L0050EF60 push ecx call SUB_L004D512F mov ecx,[ebp+3Ch] mov eax,[ebp+20h] lea edx,[esp+2Ch] push edx mov edx,[ecx+14h] mov ecx,[esp+20h] push eax add edx,00000004h lea eax,[esp+5Ch] push edx push eax push 00000386h add ecx,0000003Eh push 00000001h push ecx push 00000056h call SUB_L004410C0 xor edx,edx lea eax,[esp+74h] mov dx,[ebp+000000C6h] push edx push L0050EF60 push eax call SUB_L004D512F mov eax,[ebp+3Ch] mov edx,[ebp+20h] lea ecx,[esp+58h] push ecx mov ecx,[eax+14h] mov eax,[esp+4Ch] push edx add ecx,00000004h lea edx,[esp+00000088h] push ecx push edx push 00000386h add eax,0000004Ah push 00000001h push eax push 00000056h call SUB_L004410C0 xor ecx,ecx add esp,00000058h mov cx,[ebp+000000C8h] lea edx,[esp+48h] push ecx push L0050EF60 push edx call SUB_L004D512F mov edx,[ebp+3Ch] mov ecx,[ebp+20h] lea eax,[esp+2Ch] push eax mov eax,[edx+14h] mov edx,[esp+20h] push ecx add eax,00000004h lea ecx,[esp+5Ch] push eax push ecx push 00000386h add edx,00000056h push 00000001h push edx push 00000056h call SUB_L004410C0 xor eax,eax xor ecx,ecx mov ax,[ebp+000000CCh] mov cx,[ebp+000000CAh] push eax push ecx lea edx,[esp+7Ch] push SSZ0050EF58__u__u push edx call SUB_L004D512F mov edx,[ebp+3Ch] mov ecx,[ebp+20h] lea eax,[esp+5Ch] push eax mov eax,[edx+14h] mov edx,[esp+50h] push ecx add eax,00000004h lea ecx,[esp+0000008Ch] push eax push ecx push 00000386h add edx,0000003Eh push 00000001h push edx push 000000ADh call SUB_L004410C0 xor eax,eax add esp,0000005Ch mov ax,[ebp+000000D4h] xor ecx,ecx mov cx,[ebp+000000D2h] push eax push ecx lea edx,[esp+50h] push SSZ0050EF58__u__u push edx call SUB_L004D512F mov edx,[ebp+3Ch] mov ecx,[ebp+20h] lea eax,[esp+30h] push eax mov eax,[edx+14h] mov edx,[esp+24h] push ecx add eax,00000004h lea ecx,[esp+60h] push eax push ecx push 00000386h add edx,0000004Ah push 00000001h push edx push 000000ADh call SUB_L004410C0 xor eax,eax xor ecx,ecx mov ax,[ebp+000000D0h] mov cx,[ebp+000000CEh] push eax push ecx lea edx,[esp+00000080h] push SSZ0050EF58__u__u push edx call SUB_L004D512F mov edx,[ebp+3Ch] mov ecx,[ebp+20h] add esp,00000040h lea eax,[esp+20h] push eax mov eax,[edx+14h] mov edx,[esp+14h] push ecx add eax,00000004h lea ecx,[esp+50h] push eax push ecx push 00000386h add edx,00000056h push 00000001h push edx push 000000ADh call SUB_L004410C0 mov eax,[ebp+000000D8h] push eax push L0050EF60 lea ecx,[esp+70h] push ecx call SUB_L004D512F mov ecx,[ebp+3Ch] mov eax,[ebp+20h] lea edx,[esp+4Ch] push edx mov edx,[ecx+14h] mov ecx,[esp+40h] push eax add edx,00000004h lea eax,[esp+7Ch] push edx push eax push 00000386h add ecx,00000062h push 00000001h push ecx push 000000ADh call SUB_L004410C0 xor edx,edx add esp,0000004Ch mov dx,[ebp+000000DCh] lea eax,[esp+48h] push edx push L0050EF60 push eax call SUB_L004D512F mov eax,[ebp+3Ch] mov edx,[ebp+20h] lea ecx,[esp+2Ch] push ecx mov ecx,[eax+14h] mov eax,[esp+20h] push edx add ecx,00000004h lea edx,[esp+5Ch] push ecx push edx push 00000386h add eax,0000006Eh push 00000001h push eax push 00000056h call SUB_L004410C0 xor ecx,ecx lea edx,[esp+74h] mov cx,[ebp+000000DEh] push ecx push L0050EF60 push edx call SUB_L004D512F mov edx,[ebp+3Ch] mov ecx,[ebp+20h] lea eax,[esp+58h] push eax mov eax,[edx+14h] mov edx,[esp+4Ch] push ecx add eax,00000004h lea ecx,[esp+00000088h] push eax push ecx push 00000386h add edx,0000006Eh push 00000001h push edx push 000000ADh call SUB_L004410C0 add esp,00000058h L004A5930: mov eax,[ebp+2Ch] mov ecx,[ebp+38h] mov dword ptr [esp+28h],0000008Ah mov [esp+2Ch],eax mov edx,[ecx+7Ch] mov ecx,L00C85E48 push edx call SUB_L0049F880 test al,al jnz L004A5960 mov ebx,00000386h mov esi,00000001h jmp L004A5973 L004A5960: mov eax,[ebp+38h] push eax call SUB_L00406470 add esp,00000004h mov ebx,eax mov esi,00000003h L004A5973: mov ecx,[ebp+38h] mov edx,[ecx+7Ch] mov ecx,L00C85E48 push edx call SUB_L0049F880 test al,al mov eax,[ebp+64h] jz L004A5A48 test eax,eax jz L004A5A85 mov ecx,[ebp+2Ch] mov edx,[ebp+3Ch] imul ecx,[ebp+28h] mov edi,[edx+0Ch] 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,[ebp+38h] mov ecx,[L00C884DC] cmp eax,ecx jz L004A59FC mov edx,[ebp+3Ch] mov ecx,[ebp+28h] lea eax,[esp+20h] push eax mov eax,[edx+0Ch] mov edx,[esp+14h] push ecx mov ecx,[esp+1Ch] add eax,00000004h push eax push ecx push ebx add edx,00000004h push esi push edx push 00000010h call SUB_L004410C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000060h retn 0010h ;------------------------------------------------------------------------------ L004A59FC: mov eax,[eax+7Ch] mov ecx,L00C85E48 push eax call SUB_L0049F880 test al,al jz L004A5A85 mov eax,[ebp+3Ch] mov edx,[ebp+28h] lea ecx,[esp+20h] push ecx mov ecx,[eax+0Ch] add ecx,00000004h push edx mov edx,[esp+18h] push ecx push SSZ0050EF4C____SELF___ push 00000481h add edx,00000004h push esi push edx push 00000010h call SUB_L004410C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,00000060h retn 0010h ;------------------------------------------------------------------------------ L004A5A48: test eax,eax jz L004A5A85 mov eax,[ebp+38h] mov ecx,[L00C884DC] cmp eax,ecx jz L004A5A85 mov eax,[ebp+3Ch] mov edx,[ebp+28h] lea ecx,[esp+20h] push ecx mov ecx,[eax+0Ch] mov eax,[esp+14h] push edx mov edx,[esp+1Ch] add ecx,00000004h push ecx push edx push ebx add eax,0000000Eh push esi push eax push 00000010h call SUB_L004410C0 add esp,00000020h L004A5A85: pop edi pop esi pop ebp pop ebx add esp,00000060h retn 0010h ;------------------------------------------------------------------------------ Align 4 L004A5A90: sub esp,00000018h push ebx push ebp mov ebp,ecx push esi lea eax,[esp+0Ch] push edi lea ecx,[esp+14h] push eax xor esi,esi push ecx mov ecx,ebp mov [esp+1Ch],esi mov [esp+18h],esi call SUB_L00457C90 mov eax,[ebp+64h] cmp eax,esi mov eax,[ebp+3Ch] jnz L004A5AC3 mov esi,[eax+04h] jmp L004A5AC6 L004A5AC3: mov esi,[eax+0Ch] L004A5AC6: mov edi,[eax+14h] mov eax,[esp+14h] mov ecx,[esp+10h] xor edx,edx mov [esp+18h],eax mov [esp+1Ch],ecx mov dx,[esi] mov ebx,[esp+2Ch] add edx,eax xor eax,eax mov [esp+20h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+18h] push ecx push ebx mov [esp+2Ch],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004A5BC7 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+14h] push eax mov eax,[esp+1Ch] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+3Ch] push ecx mov ecx,[esp+44h] push edx push eax xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] push ecx push edx push eax add edi,00000004h push ebx push edi push SUB_L004B9B80 call SUB_L00443960 mov esi,[ebp+50h] add esp,00000050h test esi,esi jz L004A5BC7 L004A5B88: mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L004A5BA3 mov eax,[esi+000000C8h] mov ecx,[ebp+64h] cmp eax,ecx jz L004A5BB8 L004A5BA3: mov eax,[esi] mov ecx,esi call [eax+000000E4h] test eax,eax jnz L004A5BC0 mov eax,[ebp+64h] test eax,eax jz L004A5BC0 L004A5BB8: mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] L004A5BC0: mov esi,[esi+44h] test esi,esi jnz L004A5B88 L004A5BC7: pop edi pop esi pop ebp pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004A5BE0: push esi push edi mov edi,[ecx+38h] test edi,edi jz L004A5C4C mov eax,[ecx+64h] test eax,eax jnz L004A5BF8 mov eax,[ecx+3Ch] mov ecx,[eax+04h] jmp L004A5BFE L004A5BF8: mov ecx,[ecx+3Ch] mov ecx,[ecx+0Ch] L004A5BFE: mov edx,[esp+0Ch] xor eax,eax mov ax,[ecx] test edx,edx jl L004A5C4C mov esi,[esp+10h] test esi,esi jl L004A5C4C cmp edx,eax jge L004A5C4C push ebx xor ebx,ebx mov bx,[ecx+02h] cmp esi,ebx pop ebx jge L004A5C4C imul eax,esi add eax,edx cmp word ptr [ecx+eax*2+04h],0000h jnz L004A5C42 mov edx,[edi+7Ch] mov ecx,L00C85E48 push edx call SUB_L0049F880 test al,al jz L004A5C4C L004A5C42: pop edi mov eax,00000001h pop esi retn 0008h ;------------------------------------------------------------------------------ L004A5C4C: pop edi xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A5C60: sub esp,00000014h push esi mov esi,ecx mov eax,[esi+38h] mov ecx,[eax+7Ch] push ecx mov ecx,L00C85E48 call SUB_L0049F880 test al,al jnz L004A5C88 mov [esi+0000017Dh],al pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L004A5C88: mov eax,[esp+1Ch] sub eax,00000000h jz L004A5CC2 dec eax jnz L004A5CE9 push 0000000Bh lea edx,[esp+08h] push L004FF074 push edx call SUB_L004D512F lea eax,[esp+10h] mov byte ptr [esi+0000017Dh],01h push eax push 00000056h call SUB_L0047C940 add esp,00000014h pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ L004A5CC2: push 0000001Dh lea ecx,[esp+08h] push L004FF074 push ecx call SUB_L004D512F lea edx,[esp+10h] mov byte ptr [esi+0000017Dh],01h push edx push 00000056h call SUB_L0047C940 add esp,00000014h L004A5CE9: pop esi add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ SUB_L004A5CF0: push FFFFFFFFh push L004E573B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx mov ebx,ecx mov eax,[ebx+00000178h] test eax,eax jnz L004A5DE6 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004A5D5B mov cx,[ebx+28h] 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_L0042A340 jmp L004A5D5D L004A5D5B: xor eax,eax L004A5D5D: push ebp push esi lea ebp,[ebx+000000A4h] push edi or ecx,FFFFFFFFh mov [ebx+00000178h],eax lea edx,[eax+000000F8h] mov edi,ebp xor eax,eax mov [esp+1Ch],ecx 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+00000178h] mov dword ptr [ecx+000000C4h],00000001h mov ecx,[ebx+00000178h] mov edx,[ecx] call [edx+00000174h] mov ecx,[ebx+00000178h] push 00000001h push ebx call SUB_L004587A0 mov edi,L007049FC 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 L004A5DE6: mov ecx,[esp+08h] pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A5E00: push ebx mov ebx,[esp+08h] push esi mov esi,[ecx+30h] mov eax,[ebx+34h] mov edx,[ebx+30h] push edi mov edi,[ecx+34h] sub edi,eax mov eax,[ecx+28h] sub esi,edx mov edx,eax neg edx cmp esi,edx jle L004A5E99 cmp esi,eax jge L004A5E99 mov ecx,[ecx+2Ch] mov eax,ecx neg eax cmp edi,eax jle L004A5E99 cmp edi,ecx jge L004A5E99 mov eax,edi cdq mov ecx,eax mov eax,esi xor ecx,edx sub ecx,edx cdq xor eax,edx sub eax,edx cmp eax,ecx jle L004A5E71 test esi,esi jl L004A5E5F mov eax,[ebx+0000015Ch] test eax,eax jnz L004A5E99 pop edi pop esi mov al,01h pop ebx retn 0004h ;------------------------------------------------------------------------------ L004A5E5F: mov eax,[ebx+00000158h] test eax,eax jnz L004A5E99 pop edi pop esi mov al,02h pop ebx retn 0004h ;------------------------------------------------------------------------------ L004A5E71: test edi,edi jl L004A5E87 mov eax,[ebx+00000164h] test eax,eax jnz L004A5E99 pop edi pop esi mov al,04h pop ebx retn 0004h ;------------------------------------------------------------------------------ L004A5E87: mov eax,[ebx+00000160h] test eax,eax jnz L004A5E99 pop edi pop esi mov al,08h pop ebx retn 0004h ;------------------------------------------------------------------------------ L004A5E99: pop edi pop esi xor al,al pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004A5EB0: mov eax,[ecx+0000014Ch] push esi xor esi,esi cmp eax,esi jz L004A609E cmp eax,ecx jnz L004A5EE9 mov eax,[eax+00000150h] cmp eax,esi mov edx,eax jz L004A5EE1 L004A5ED1: mov [eax+0000014Ch],edx mov eax,[eax+00000150h] cmp eax,esi jnz L004A5ED1 L004A5EE1: mov [ecx+0000014Ch],edx jmp L004A5F11 L004A5EE9: mov edx,[eax+00000150h] cmp edx,ecx jz L004A5EFF L004A5EF3: mov eax,edx mov edx,[eax+00000150h] cmp edx,ecx jnz L004A5EF3 L004A5EFF: mov edx,[eax+00000150h] mov edx,[edx+00000150h] mov [eax+00000150h],edx L004A5F11: mov eax,[ecx+0000014Ch] cmp [eax+00000150h],esi jnz L004A5F8A mov [eax+0000014Ch],esi mov eax,[ecx+0000014Ch] mov [eax+00000158h],esi mov edx,[ecx+0000014Ch] mov [edx+0000015Ch],esi mov eax,[ecx+0000014Ch] mov [eax+00000160h],esi mov edx,[ecx+0000014Ch] mov [edx+00000164h],esi mov eax,[ecx+0000014Ch] mov [eax+00000168h],esi mov edx,[ecx+0000014Ch] mov [edx+0000016Ch],esi mov eax,[ecx+0000014Ch] mov [eax+00000170h],esi mov edx,[ecx+0000014Ch] mov [edx+00000174h],esi jmp L004A603A L004A5F8A: mov [eax+00000168h],eax mov eax,[ecx+0000014Ch] mov [eax+0000016Ch],eax mov eax,[ecx+0000014Ch] mov [eax+00000170h],eax mov eax,[ecx+0000014Ch] mov [eax+00000174h],eax mov eax,[ecx+0000014Ch] mov eax,[eax+00000150h] cmp eax,esi jz L004A603A push ebx push edi L004A5FC6: mov edx,[ecx+0000014Ch] mov ebx,[eax+30h] mov edi,[edx+00000168h] cmp ebx,[edi+30h] jge L004A5FE0 mov [edx+00000168h],eax L004A5FE0: mov edx,[ecx+0000014Ch] mov ebx,[eax+30h] mov edi,[edx+0000016Ch] cmp ebx,[edi+30h] jle L004A5FFA mov [edx+0000016Ch],eax L004A5FFA: mov edx,[ecx+0000014Ch] mov ebx,[eax+34h] mov edi,[edx+00000170h] cmp ebx,[edi+34h] jge L004A6014 mov [edx+00000170h],eax L004A6014: mov edx,[ecx+0000014Ch] mov ebx,[eax+34h] mov edi,[edx+00000174h] cmp ebx,[edi+34h] jle L004A602E mov [edx+00000174h],eax L004A602E: mov eax,[eax+00000150h] cmp eax,esi jnz L004A5FC6 pop edi pop ebx L004A603A: mov eax,[ecx+00000158h] cmp eax,esi jz L004A604A mov [eax+0000015Ch],esi L004A604A: mov eax,[ecx+0000015Ch] cmp eax,esi jz L004A605A mov [eax+00000158h],esi L004A605A: mov eax,[ecx+00000160h] cmp eax,esi jz L004A606A mov [eax+00000164h],esi L004A606A: mov eax,[ecx+00000164h] cmp eax,esi jz L004A607A mov [eax+00000160h],esi L004A607A: mov [ecx+00000150h],esi mov [ecx+0000014Ch],esi mov [ecx+0000015Ch],esi mov [ecx+00000158h],esi mov [ecx+00000164h],esi mov [ecx+00000160h],esi L004A609E: pop esi retn ;------------------------------------------------------------------------------ SUB_L004A60A0: push FFFFFFFFh push L004E576E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi call SUB_L00458F30 mov eax,[esp+1Ch] mov ecx,[esp+20h] mov [esi+30h],eax mov eax,[esp+24h] xor edi,edi mov dword ptr [esi],L004EFBD4 cmp eax,edi mov [esp+14h],edi mov dword ptr [esi+08h],SSZ0050EF6C_stack_gump mov [esi+60h],edi mov [esi+0000009Ch],edi mov [esi+34h],ecx mov [esi+64h],edi mov [esi+38h],eax jz L004A6101 mov [eax+00000094h],esi L004A6101: push ebx push ebp lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx push ebp push 0000085Ch mov dword ptr [esi+54h],0000085Ch mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004434A0 mov eax,[ebp+00h] push SSZ004FF1A4_framedata_for_CStatusGump add eax,00000007h push 00000008h and al,F8h mov [esi+14h],edi mov [esi+1Ch],eax mov [ebp+00h],eax mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF194_status_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebx] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebx] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[esi+38h] mov dword ptr [esi+000000A0h],00000000h lea edx,[esi+000000ACh] mov ax,[ecx+40h] push eax push L004FF074 push edx mov [esi+000000A8h],eax mov [esi+000000A4h],eax call SUB_L004D512F push esi call SUB_L00456DC0 add esp,0000002Ch mov ecx,esi push 00000001h call SUB_L004A6530 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax pop ebp mov byte ptr [esp+18h],01h test eax,eax pop ebx jz L004A6239 push 00000845h push esi push 00000088h push 00000000h push 00000010h push 0000001Ch mov ecx,eax call SUB_L00422790 jmp L004A623B L004A6239: xor eax,eax L004A623B: mov [esi+000000B4h],eax mov word ptr [eax+000000B4h],0846h mov ecx,[esi+000000B4h] push 00000001h push esi mov byte ptr [esp+1Ch],00h call SUB_L004587A0 mov eax,[esi+000000A8h] mov ecx,[esi+000000A4h] push eax push ecx mov ecx,[esi+000000B4h] call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax test eax,eax mov byte ptr [esp+14h],02h jz L004A62B3 push 00000000h push 0000085Eh push 0000085Dh push SUB_L0041E500 push 00000000h push 00000000h push esi push 00000025h push 00000066h mov ecx,eax call SUB_L00421F40 jmp L004A62B5 L004A62B3: xor eax,eax L004A62B5: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h mov dword ptr [eax+000000ACh],0000081Ch call SUB_L004587A0 mov ecx,[esp+0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004A62F0: push esi mov esi,ecx call SUB_L004A6310 test byte ptr [esp+08h],01h jz L004A6308 push esi call SUB_L004D4F9E add esp,00000004h L004A6308: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A6310: push FFFFFFFFh push L004E5788 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004EFBD4 mov eax,[esi+3Ch] xor edi,edi mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L004A6358 push SSZ0050EF88_stack_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004A6358: mov eax,[esi+3Ch] cmp eax,edi jz L004A6370 push SSZ0050EF78_stack_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004A6370: mov eax,[esi+38h] cmp eax,edi jz L004A6385 cmp [eax+00000094h],edi jz L004A6385 mov [eax+00000094h],edi L004A6385: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004A63B0: mov eax,[esp+04h] push esi mov esi,ecx push 00000000h mov ecx,[esp+10h] mov [esi+74h],ecx mov ecx,esi mov dword ptr [esi+0000009Ch],00000001h mov [esi+70h],eax call SUB_L004584E0 push esi call SUB_L00456DC0 add esp,00000004h mov ecx,esi push 00000000h call SUB_L004A6530 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004A63F0: push esi mov esi,ecx mov eax,[esi+000000A8h] imul eax,[esp+08h] cdq idiv [esp+0Ch] mov [esi+000000A4h],eax push eax lea eax,[esi+000000ACh] push L004FF074 push eax call SUB_L004D512F add esp,0000000Ch mov ecx,esi push 00000000h call SUB_L004A6530 pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004A6430: mov edx,[esp+04h] push ebp cmp edx,0000000Dh mov ebp,ecx jnz L004A6445 call SUB_L0041E500 pop ebp retn 0004h ;------------------------------------------------------------------------------ L004A6445: cmp edx,00000030h jl L004A644F cmp edx,00000039h jle L004A6458 L004A644F: cmp edx,00000008h jnz L004A652B L004A6458: test edx,edx jz L004A652B mov eax,[ebp+000000A0h] push esi test eax,eax push edi jnz L004A64A4 mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebp+000000A0h],00000001h repne scasb not ecx lea esi,[ebp+000000ACh] sub edi,ecx mov eax,ecx mov [esp+10h],esi mov esi,edi mov edi,[esp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004A64A4: lea esi,[ebp+000000ACh] or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx dec ecx cmp edx,00000008h jnz L004A64C8 test ecx,ecx jz L004A64F8 mov [ecx+ebp+000000ABh],al jmp L004A64F8 L004A64C8: cmp edx,00000030h jnz L004A64D1 test ecx,ecx jz L004A64F8 L004A64D1: lea edi,[ecx+ebp+000000ACh] push esi mov [edi],dl mov byte ptr [ecx+ebp+000000ADh],00h call SUB_L004D59EB mov ecx,[ebp+000000A8h] add esp,00000004h cmp eax,ecx jle L004A64F8 mov byte ptr [edi],00h L004A64F8: push esi call SUB_L004D59EB add esp,00000004h mov ecx,ebp mov [ebp+000000A4h],eax push 00000000h call SUB_L004A6530 mov ecx,[ebp+000000A8h] mov edx,[ebp+000000A4h] push ecx mov ecx,[ebp+000000B4h] push edx call SUB_L00422C90 pop edi pop esi L004A652B: pop ebp retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A6530: sub esp,00000024h push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx+20h] mov ecx,[ebx+24h] mov edx,[ebx+3Ch] dec eax dec ecx mov [esp+1Ch],ebp mov [esp+24h],eax mov [esp+20h],ebp mov [esp+28h],ecx mov eax,[edx+04h] xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push esi push edi push ecx add eax,00000004h push edx push eax mov eax,[ebx+54h] push ebp push ebp push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[ebx+20h] lea edi,[ebx+000000ACh] mov [esp+48h],ecx or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+24h] repne scasb not ecx sub edi,ecx mov [esp+4Ch],edx lea edx,[esp+38h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax lea edx,[esp+34h] and ecx,00000003h lea eax,[esp+30h] rep movsb lea ecx,[esp+2Ch] mov [esp+40h],ebp push ecx push edx push eax push L004FEBE4 push 00000001h mov [esp+58h],ebp call SUB_L00441BC0 lea edi,[esp+4Ch] or ecx,FFFFFFFFh xor eax,eax add esp,00000030h repne scasb not ecx dec ecx jz L004A6633 lea ecx,[esp+10h] lea edx,[esp+18h] push ecx lea eax,[esp+18h] push edx lea ecx,[esp+24h] push eax push ecx push 00000001h call SUB_L00441BC0 mov ecx,[ebx+3Ch] mov eax,[ebx+20h] lea edx,[esp+38h] push edx mov edx,[ecx+04h] mov ecx,[esp+28h] push eax add edx,00000004h lea eax,[esp+38h] push edx push eax push 00000386h add ecx,0000002Ah push 00000001h push ecx push 0000001Dh call SUB_L004410C0 add esp,00000034h jmp L004A6637 L004A6633: mov [esp+14h],ebp L004A6637: cmp [L00B294BC],ebx jnz L004A669C mov edi,L004FED04 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+1Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[ebx+20h] shr ecx,02h rep movsd mov ecx,eax mov eax,[ebx+3Ch] and ecx,00000003h rep movsb lea ecx,[esp+24h] push ecx mov ecx,[eax+04h] mov eax,[esp+14h] push edx add ecx,00000004h lea edx,[esp+24h] push ecx mov ecx,[esp+20h] push edx push 00000386h add eax,0000002Ah push 00000001h add ecx,0000001Eh push eax push ecx call SUB_L004410C0 add esp,00000020h L004A669C: pop edi pop esi pop ebp pop ebx add esp,00000024h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004A66B0: push FFFFFFFFh push L004E586F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+24h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+0000009Ch],L004F003C mov [esp+30h],ebx mov al,[esp+13h] mov [ebp+00000114h],ebx mov [ebp+00000110h],al mov [ebp+00000118h],ebx mov [ebp+0000011Ch],ebx mov cl,[esp+13h] mov [ebp+00000124h],ebx mov [ebp+00000120h],cl mov [ebp+00000128h],ebx mov [ebp+0000012Ch],ebx mov dl,[esp+13h] mov [ebp+00000134h],ebx mov [ebp+00000130h],dl mov [ebp+00000138h],ebx mov [ebp+0000013Ch],ebx push ebp mov byte ptr [esp+34h],04h mov dword ptr [ebp+00h],L004EFEC8 mov dword ptr [ebp+0000009Ch],L004EFEC4 call SUB_L00430400 push SSZ0050EFB0_framedata_for_professiongump push 00000008h mov [ebp+000000ECh],bl mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h mov dword ptr [ebp+20h],00000280h mov dword ptr [ebp+24h],000001E0h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ0050EFA8_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000014h mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,ebp call SUB_L004A9EA0 mov eax,[ebp+00000114h] mov ecx,[ebp+00000118h] cmp eax,ecx mov [esp+18h],eax jz L004A687C L004A67F5: mov eax,[eax] mov [esp+14h],eax mov edi,[eax+00000124h] mov ecx,[eax+00000128h] cmp edi,ecx jz L004A6863 L004A680B: mov eax,[edi] mov esi,[ebp+00000114h] mov [esp+1Ch],eax mov eax,[ebp+00000118h] cmp esi,eax jz L004A6854 L004A6821: mov ecx,[esp+1Ch] mov edx,[esi] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004A6844 mov eax,[ebp+00000118h] add esi,00000004h cmp esi,eax jnz L004A6821 jmp L004A6854 L004A6844: mov esi,[esi] cmp esi,ebx jz L004A6854 mov eax,[esp+14h] mov [esi+00000130h],eax L004A6854: mov ecx,[esp+14h] add edi,00000004h cmp edi,[ecx+00000128h] jnz L004A680B L004A6863: mov eax,[esp+18h] mov ecx,[ebp+00000118h] add eax,00000004h cmp eax,ecx mov [esp+18h],eax jnz L004A67F5 L004A687C: mov ecx,ebp mov [ebp+0000010Ch],ebx mov [ebp+00000108h],ebx call SUB_L004A7820 mov ecx,ebp mov [ebp+000000A0h],ebx mov [ebp+000000A4h],ebx call SUB_L004A85C0 push 000000B4h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],05h jz L004A68E4 mov edx,ebp lea ecx,[ebp+0000009Ch] neg edx sbb edx,edx push ebx and edx,ecx mov ecx,eax push edx push 0000119Eh push 0000119Dh push 0000119Ah call SUB_L004A8F90 jmp L004A68E6 L004A68E4: xor eax,eax L004A68E6: push 00000001h push ebx push 00000001h push 00000164h push 000000C8h mov ecx,eax mov byte ptr [esp+44h],04h mov [ebp+000000B0h],eax call SUB_L00457800 mov ecx,[ebp+000000B0h] push 00000001h push ebp call SUB_L004587A0 push 0000002Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L004A693B mov dl,[esp+13h] mov [eax+20h],ebx mov [eax+1Ch],dl mov [eax+24h],ebx mov [eax+28h],ebx mov dword ptr [eax],L004EFEC0 jmp L004A693D L004A693B: xor eax,eax L004A693D: mov [ebp+000000C0h],eax mov [eax+18h],ebp mov eax,[ebp+000000C0h] mov ecx,00000041h push 000000BCh mov [eax+04h],ecx mov eax,[ebp+000000C0h] mov [eax+08h],ecx mov eax,ebp neg eax sbb eax,eax lea ecx,[ebp+0000009Ch] and eax,ecx mov ecx,[ebp+000000C0h] mov [ecx+10h],eax mov dword ptr [ecx+0Ch],0000000Bh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],06h jz L004A699E mov ecx,eax call SUB_L004A93E0 jmp L004A69A0 L004A699E: xor eax,eax L004A69A0: mov ecx,[ebp+000000C0h] mov [ebp+000000C4h],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000001h mov eax,[ebp+000000C4h] mov esi,0000002Dh mov edi,0000000Ah mov ecx,0000002Ch mov [eax+000000B0h],esi mov eax,[ebp+000000C4h] mov byte ptr [esp+30h],04h mov [eax+000000ACh],edi mov eax,[ebp+000000C4h] mov edx,[eax+000000ACh] cmp edx,ecx jle L004A69FA mov ecx,edx L004A69FA: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A6A06 mov ecx,edx L004A6A06: mov [eax+000000B4h],ecx mov ecx,[ebp+000000C4h] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov eax,[ebp+000000C4h] push 00000001h push ebx push 00000001h mov [eax+6Ch],ebx mov ecx,[ebp+000000C4h] push 00000089h push 000001F4h call SUB_L00457800 mov ecx,[ebp+000000C4h] push 00000001h push ebp call SUB_L004587A0 mov ecx,[ebp+000000C4h] mov eax,[ebp+000000C0h] mov [esp+1Ch],ecx lea edx,[esp+1Ch] lea ecx,[eax+1Ch] push edx push 00000001h mov eax,[ecx+08h] push eax call SUB_L004AB2A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],07h jz L004A6AB3 mov ecx,eax call SUB_L004A93E0 jmp L004A6AB5 L004A6AB3: xor eax,eax L004A6AB5: mov ecx,[ebp+000000C0h] mov [ebp+000000C8h],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000002h mov eax,[ebp+000000C8h] mov ecx,0000000Bh mov byte ptr [esp+30h],04h mov [eax+000000B0h],esi mov eax,[ebp+000000C8h] mov [eax+000000ACh],edi mov eax,[ebp+000000C8h] mov edx,[eax+000000ACh] cmp edx,ecx jle L004A6B05 mov ecx,edx L004A6B05: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A6B11 mov ecx,edx L004A6B11: mov [eax+000000B4h],ecx mov ecx,[ebp+000000C8h] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov eax,[ebp+000000C8h] push 00000001h push ebx push 00000001h mov [eax+6Ch],ebx mov ecx,[ebp+000000C8h] push 000000A7h push 000001F4h call SUB_L00457800 mov ecx,[ebp+000000C8h] push 00000001h push ebp call SUB_L004587A0 mov ecx,[ebp+000000C8h] mov eax,[ebp+000000C0h] mov [esp+1Ch],ecx lea edx,[esp+1Ch] lea ecx,[eax+1Ch] push edx push 00000001h mov eax,[ecx+08h] push eax call SUB_L004AB2A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],08h jz L004A6BBE mov ecx,eax call SUB_L004A93E0 jmp L004A6BC0 L004A6BBE: xor eax,eax L004A6BC0: mov ecx,[ebp+000000C0h] mov [ebp+000000CCh],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000003h mov eax,[ebp+000000CCh] mov byte ptr [esp+30h],04h mov ecx,edi mov [eax+000000B0h],esi mov eax,[ebp+000000CCh] mov [eax+000000ACh],edi mov eax,[ebp+000000CCh] mov edx,[eax+000000ACh] cmp edx,edi jle L004A6C0D mov ecx,edx L004A6C0D: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A6C19 mov ecx,edx L004A6C19: mov [eax+000000B4h],ecx mov ecx,[ebp+000000CCh] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov eax,[ebp+000000CCh] push 00000001h push ebx push 00000001h mov [eax+6Ch],ebx mov ecx,[ebp+000000CCh] push 000000C5h push 000001F4h call SUB_L00457800 mov ecx,[ebp+000000CCh] push 00000001h push ebp call SUB_L004587A0 mov ecx,[ebp+000000CCh] mov eax,[ebp+000000C0h] mov [esp+1Ch],ecx lea edx,[esp+1Ch] lea ecx,[eax+1Ch] push edx push 00000001h mov eax,[ecx+08h] push eax call SUB_L004AB2A0 push 0000002Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebx jz L004A6CC9 mov cl,[esp+13h] mov [eax+20h],ebx mov [eax+1Ch],cl mov [eax+24h],ebx mov [eax+28h],ebx mov dword ptr [eax],L004EFEC0 jmp L004A6CCB L004A6CC9: xor eax,eax L004A6CCB: mov [ebp+000000D0h],eax mov [eax+18h],ebp mov eax,[ebp+000000D0h] mov ecx,00000064h push 000000BCh mov [eax+04h],ecx mov eax,[ebp+000000D0h] mov [eax+08h],ecx mov eax,ebp neg eax sbb eax,eax lea ecx,[ebp+0000009Ch] and eax,ecx mov ecx,[ebp+000000D0h] mov [ecx+10h],eax mov dword ptr [ecx+0Ch],0000000Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],09h jz L004A6D2C mov ecx,eax call SUB_L004A93E0 jmp L004A6D2E L004A6D2C: xor eax,eax L004A6D2E: mov ecx,[ebp+000000D0h] mov [ebp+000000D4h],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000004h mov eax,[ebp+000000D4h] push 00000001h push ebx push 00000001h mov dword ptr [eax+000000B0h],00000032h mov edx,[ebp+000000D4h] push 00000100h push 000001F4h mov [edx+6Ch],ebx mov ecx,[ebp+000000D4h] mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000D4h] push 00000001h push ebp call SUB_L004587A0 mov eax,[ebp+000000D4h] mov ecx,00000032h mov edx,[eax+000000ACh] cmp edx,ecx jle L004A6DA7 mov ecx,edx L004A6DA7: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A6DB3 mov ecx,edx L004A6DB3: mov [eax+000000B4h],ecx mov ecx,[ebp+000000D4h] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov ecx,[ebp+000000D0h] mov eax,[ebp+000000D4h] add ecx,0000001Ch lea edx,[esp+1Ch] mov [esp+1Ch],eax push edx mov eax,[ecx+08h] push 00000001h push eax call SUB_L004AB2A0 push 000001D8h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi cmp esi,ebx mov byte ptr [esp+30h],0Ah jz L004A6E6E push ebx push ebx push 00000001h push 00000386h push 00000001h push 0000001Eh push ebx push 00000019h push 00000069h push ebp push ebx push ebx mov ecx,esi call SUB_L00429680 mov dword ptr [esi],L004EFD48 mov dword ptr [esi+000000BCh],00000001h mov word ptr [esi+000001CEh],0023h mov word ptr [esi+000001CCh],02B8h mov [esi+000001D0h],ebx jmp L004A6E70 L004A6E6E: xor esi,esi L004A6E70: mov edi,SSZ0050EF9C_Click_here or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000B4h],esi repne scasb not ecx sub edi,ecx lea edx,[esi+000000F8h] mov eax,ecx mov esi,edi mov edi,edx push 00000001h shr ecx,02h rep movsd mov ecx,eax push ebx and ecx,00000003h push 00000001h rep movsb mov ecx,[ebp+000000B4h] push 00000100h push 0000015Eh mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000B4h] mov dword ptr [ecx+00000098h],FFFFFFFFh mov edx,[ebp+000000B4h] mov [edx+6Ch],ebx mov ecx,[ebp+000000B4h] mov eax,[ecx] call [eax+00000174h] mov eax,ebp lea ecx,[ebp+0000009Ch] neg eax sbb eax,eax push 00000001h and eax,ecx mov ecx,[ebp+000000B4h] push ebp mov [ecx+000001D0h],eax mov eax,[ebp+000000B4h] mov dword ptr [eax+000001D4h],00000007h mov ecx,[ebp+000000B4h] call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],0Bh jz L004A6F3F mov ecx,eax call SUB_L004A93E0 jmp L004A6F41 L004A6F3F: xor eax,eax L004A6F41: mov ecx,[ebp+000000D0h] mov [ebp+000000D8h],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000005h mov eax,[ebp+000000D8h] push 00000001h push ebx push 00000001h mov dword ptr [eax+000000B0h],00000032h mov ecx,[ebp+000000D8h] push 00000121h push 000001F4h mov [ecx+6Ch],ebx mov ecx,[ebp+000000D8h] mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000D8h] push 00000001h push ebp call SUB_L004587A0 mov eax,[ebp+000000D8h] mov ecx,00000032h mov edx,[eax+000000ACh] cmp edx,ecx jle L004A6FBA mov ecx,edx L004A6FBA: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A6FC6 mov ecx,edx L004A6FC6: mov [eax+000000B4h],ecx mov ecx,[ebp+000000D8h] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov eax,[ebp+000000D0h] mov edx,[ebp+000000D8h] mov [esp+1Ch],edx lea edx,[esp+1Ch] lea ecx,[eax+1Ch] push edx push 00000001h mov eax,[ecx+08h] push eax call SUB_L004AB2A0 push 000001D8h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi cmp esi,ebx mov byte ptr [esp+30h],0Ch jz L004A7081 push ebx push ebx push 00000001h push 00000386h push 00000001h push 0000001Eh push ebx push 00000019h push 00000069h push ebp push ebx push ebx mov ecx,esi call SUB_L00429680 mov dword ptr [esi],L004EFD48 mov dword ptr [esi+000000BCh],00000001h mov word ptr [esi+000001CEh],0023h mov word ptr [esi+000001CCh],02B8h mov [esi+000001D0h],ebx jmp L004A7083 L004A7081: xor esi,esi L004A7083: mov edi,SSZ0050EF9C_Click_here or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000B8h],esi repne scasb not ecx sub edi,ecx lea edx,[esi+000000F8h] mov eax,ecx mov esi,edi mov edi,edx push 00000001h shr ecx,02h rep movsd mov ecx,eax push ebx and ecx,00000003h push 00000001h rep movsb mov ecx,[ebp+000000B8h] push 00000121h push 0000015Eh mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000B8h] mov dword ptr [ecx+00000098h],FFFFFFFFh mov edx,[ebp+000000B8h] mov [edx+6Ch],ebx mov ecx,[ebp+000000B8h] mov eax,[ecx] call [eax+00000174h] mov eax,ebp lea ecx,[ebp+0000009Ch] neg eax sbb eax,eax push 00000001h and eax,ecx mov ecx,[ebp+000000B8h] push ebp mov [ecx+000001D0h],eax mov eax,[ebp+000000B8h] mov dword ptr [eax+000001D4h],00000008h mov ecx,[ebp+000000B8h] call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],0Dh jz L004A7152 mov ecx,eax call SUB_L004A93E0 jmp L004A7154 L004A7152: xor eax,eax L004A7154: mov ecx,[ebp+000000D0h] mov [ebp+000000DCh],eax mov [eax+000000A8h],ecx mov dword ptr [eax+000000A4h],00000006h mov eax,[ebp+000000DCh] push 00000001h push ebx push 00000001h mov dword ptr [eax+000000B0h],00000032h mov ecx,[ebp+000000DCh] push 0000013Fh push 000001F4h mov [ecx+6Ch],ebx mov ecx,[ebp+000000DCh] mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000DCh] push 00000001h push ebp call SUB_L004587A0 mov eax,[ebp+000000DCh] xor ecx,ecx mov edx,[eax+000000ACh] cmp edx,ebx jle L004A71CA mov ecx,edx L004A71CA: mov edx,[eax+000000B0h] cmp ecx,edx jle L004A71D6 mov ecx,edx L004A71D6: mov [eax+000000B4h],ecx mov ecx,[ebp+000000DCh] push 00000001h push ebx mov eax,[ecx+000000B4h] push 00000001h push ebx lea eax,[eax+eax*2] shl eax,05h cdq idiv [ecx+000000B0h] mov ecx,[ecx+000000A0h] mov edx,[ecx+30h] sub eax,edx push eax call SUB_L00457800 mov esi,[ebp+000000D0h] mov edx,[ebp+000000DCh] add esi,0000001Ch mov [esp+14h],edx mov edi,[esi+08h] mov eax,[esi+0Ch] sub eax,edi sar eax,02h cmp eax,00000001h jnc L004A72EE mov ecx,esi call SUB_L004AB510 cmp eax,00000001h jbe L004A724C mov ecx,esi call SUB_L004AB510 mov [esp+18h],eax jmp L004A7254 L004A724C: mov dword ptr [esp+18h],00000001h L004A7254: mov ecx,esi call SUB_L004AB510 add eax,[esp+18h] mov [esp+20h],eax jns L004A7267 xor eax,eax L004A7267: lea ecx,[00000000h+eax*4] push ecx call SUB_L004D4FA9 mov edx,[esi+04h] add esp,00000004h mov ecx,esi mov [esp+18h],eax push eax push edi push edx call SUB_L004AB4B0 lea ecx,[esp+14h] mov [esp+1Ch],eax push ecx push 00000001h push eax mov ecx,esi call SUB_L004AB4E0 mov edx,[esp+1Ch] mov eax,[esi+08h] add edx,00000004h mov ecx,esi push edx push eax push edi call SUB_L004AB4B0 mov ecx,[esi+08h] mov edx,[esi+04h] push ecx push edx mov ecx,esi call SUB_L00447780 mov eax,[esi+04h] push eax call SUB_L004D4F9E mov edi,[esp+1Ch] mov eax,[esp+24h] add esp,00000004h lea ecx,[edi+eax*4] mov [esi+0Ch],ecx mov ecx,esi call SUB_L004AB510 lea edx,[edi+eax*4+04h] mov [esi+04h],edi mov [esi+08h],edx jmp L004A737C L004A72EE: mov eax,edi sub eax,edi sar eax,02h cmp eax,00000001h jnc L004A733E lea ecx,[edi+04h] push ecx push edi push edi mov ecx,esi call SUB_L004AB4B0 mov eax,[esi+08h] lea edx,[esp+14h] mov ecx,eax push edx sub ecx,edi mov edx,00000001h sar ecx,02h sub edx,ecx mov ecx,esi push edx push eax call SUB_L004AB4E0 mov ecx,[esi+08h] mov eax,edi cmp edi,ecx jz L004A7378 L004A732F: mov edx,[esp+14h] mov [eax],edx add eax,00000004h cmp eax,ecx jnz L004A732F jmp L004A7378 L004A733E: push edi lea eax,[edi-04h] push edi push eax mov ecx,esi call SUB_L004AB4B0 mov ecx,[esi+08h] lea eax,[ecx-04h] cmp edi,eax jz L004A7364 L004A7355: mov edx,[eax-04h] sub eax,00000004h sub ecx,00000004h cmp eax,edi mov [ecx],edx jnz L004A7355 L004A7364: lea eax,[edi+04h] cmp edi,eax jz L004A7378 L004A736B: mov ecx,[esp+14h] mov [edi],ecx add edi,00000004h cmp edi,eax jnz L004A736B L004A7378: add dword ptr [esi+08h],00000004h L004A737C: push 000001D8h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+20h],esi cmp esi,ebx mov byte ptr [esp+30h],0Eh jz L004A73DE push ebx push ebx push 00000001h push 00000386h push 00000001h push 0000001Eh push ebx push 00000019h push 00000069h push ebp push ebx push ebx mov ecx,esi call SUB_L00429680 mov dword ptr [esi],L004EFD48 mov dword ptr [esi+000000BCh],00000001h mov word ptr [esi+000001CEh],0023h mov word ptr [esi+000001CCh],02B8h mov [esi+000001D0h],ebx jmp L004A73E0 L004A73DE: xor esi,esi L004A73E0: mov edi,SSZ0050EF9C_Click_here or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000BCh],esi repne scasb not ecx sub edi,ecx lea edx,[esi+000000F8h] mov eax,ecx mov esi,edi mov edi,edx push 00000001h shr ecx,02h rep movsd mov ecx,eax push ebx and ecx,00000003h push 00000001h rep movsb mov ecx,[ebp+000000BCh] push 0000013Fh push 0000015Eh mov byte ptr [esp+44h],04h call SUB_L00457800 mov ecx,[ebp+000000BCh] mov dword ptr [ecx+00000098h],FFFFFFFFh mov edx,[ebp+000000BCh] mov [edx+6Ch],ebx mov ecx,[ebp+000000BCh] mov eax,[ecx] call [eax+00000174h] mov eax,ebp lea ecx,[ebp+0000009Ch] neg eax sbb eax,eax push 00000001h and eax,ecx mov ecx,[ebp+000000BCh] push ebp mov [ecx+000001D0h],eax mov eax,[ebp+000000BCh] mov dword ptr [eax+000001D4h],00000009h mov ecx,[ebp+000000BCh] call SUB_L004587A0 push 00006178h call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],0Fh jz L004A74BF push 000000D6h push 000000E0h push 00000BB8h push ebp mov ecx,eax call SUB_L004AA730 jmp L004A74C1 L004A74BF: xor eax,eax L004A74C1: mov [ebp+000000A4h],eax mov dword ptr [eax+00006164h],00000009h mov eax,[ebp+000000A4h] lea ecx,[ebp+0000009Ch] mov byte ptr [esp+30h],04h mov dword ptr [eax+00006170h],0000000Ah mov eax,ebp neg eax sbb eax,eax xor esi,esi and eax,ecx mov ecx,[ebp+000000A4h] mov [ecx+0000616Ch],eax mov eax,[L00CC1C20] cmp eax,ebx jle L004A754B L004A750B: xor ecx,ecx mov cl,[esi+L00CC1CF4] push ecx mov ecx,ebp call SUB_L00420C10 test al,al jz L004A7541 xor eax,eax mov ecx,[ebp+000000A4h] mov al,[esi+L00CC1CF4] push ebx lea edx,[eax+eax*4] shl edx,04h add edx,L00CC3C68 push edx push esi call SUB_L00428640 L004A7541: mov eax,[L00CC1C20] inc esi cmp esi,eax jl L004A750B L004A754B: mov eax,[ebp+000000A4h] mov [eax+6Ch],ebx mov ecx,[ebp+000000A4h] call SUB_L004286B0 mov ecx,[ebp+000000A4h] push 00000001h push ebp call SUB_L004587A0 mov ecx,[ebp+000000A4h] push 00000001h push ebx push 00000001h push 00000089h push 00000078h call SUB_L00457800 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],10h jz L004A75C4 push ebx push 000015A6h push 000015A4h push L0041F250 push ebx push ebx push ebp push 000001BDh push 00000262h mov ecx,eax call SUB_L00421F40 jmp L004A75C6 L004A75C4: xor eax,eax L004A75C6: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+38h],04h mov dword ptr [eax+000000ACh],000015A5h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+20h],eax cmp eax,ebx mov byte ptr [esp+30h],11h jz L004A761F push ebx push 000015A3h push 000015A1h push L0041F350 push ebx push ebx push ebp push 000001BDh push 0000024Ah mov ecx,eax call SUB_L00421F40 jmp L004A7621 L004A761F: xor eax,eax L004A7621: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+38h],04h mov dword ptr [eax+000000ACh],000015A2h call SUB_L004587A0 mov ecx,[ebp+00000108h] push ecx mov ecx,ebp call SUB_L004A7EC0 mov ecx,[esp+28h] mov [L00C880E1],bl mov [L00C880DF],bl mov [L00C880DD],bl pop edi mov [ebp+000000E8h],ebx mov [ebp+000000E4h],ebx mov [ebp+000000E0h],ebx mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 L004A7690: push esi mov esi,ecx call SUB_L004A76B0 test byte ptr [esp+08h],01h jz L004A76A8 push esi call SUB_L004D4F9E add esp,00000004h L004A76A8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A76B0: push FFFFFFFFh push L004E58EB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi mov dword ptr [esi],L004EFEC8 mov dword ptr [esi+0000009Ch],L004EFEC4 xor ebx,ebx mov [esp+20h],ebx mov ebp,[esi+000000C0h] cmp ebp,ebx mov [esp+14h],ebp jz L004A7736 mov dword ptr [ebp+00h],L004EFEC0 mov eax,[ebp+24h] mov ecx,[ebp+20h] lea edi,[ebp+1Ch] push eax push ecx mov ecx,edi mov byte ptr [esp+28h],05h call SUB_L00447780 mov eax,[edi+04h] push eax call SUB_L004D4F9E mov [edi+04h],ebx mov [edi+08h],ebx mov [edi+0Ch],ebx push ebp mov dword ptr [ebp+00h],L004F003C call SUB_L004D4F9E add esp,00000008h L004A7736: mov edi,[esi+000000D0h] cmp edi,ebx mov [esp+14h],edi jz L004A7766 mov dword ptr [edi],L004EFEC0 lea ecx,[edi+1Ch] mov byte ptr [esp+20h],06h call SUB_L004AB0D0 push edi mov dword ptr [edi],L004F003C call SUB_L004D4F9E add esp,00000004h L004A7766: mov eax,[esi+00000134h] push eax mov [esp+18h],eax call SUB_L004D4F9E mov [esi+00000134h],ebx mov [esi+00000138h],ebx mov [esi+0000013Ch],ebx mov eax,[esi+00000124h] push eax mov [esp+1Ch],eax call SUB_L004D4F9E mov [esi+00000124h],ebx mov [esi+00000128h],ebx mov [esi+0000012Ch],ebx mov eax,[esi+00000114h] push eax mov [esp+20h],eax call SUB_L004D4F9E mov eax,esi add esp,0000000Ch neg eax sbb eax,eax lea ecx,[esi+0000009Ch] and eax,ecx mov [esi+00000114h],ebx mov [esi+00000118h],ebx mov [esi+0000011Ch],ebx mov ecx,esi mov dword ptr [eax],L004F003C mov dword ptr [esp+20h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 16 L004A7810: mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004A7820: sub esp,0000012Ch push ebx push esi mov esi,ecx xor ebx,ebx push edi mov [esp+14h],ebx mov eax,[esi+24h] mov ecx,[esi+20h] imul ecx,eax mov edx,[esi+3Ch] mov [esp+1Ch],eax mov [esp+10h],ebx mov dword ptr [esp+18h],000001B8h mov edi,[edx+04h] xor eax,eax shl ecx,1 mov edx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,edx push ebx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov ecx,[eax+04h] push ecx push 00000A28h push 00000160h push 00000222h push 00000050h push 00000050h call SUB_L0042C610 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] push edx mov edx,[ecx+04h] push eax add edx,00000004h push edx push 00000039h push 00000091h push 0000058Bh push SUB_L004B95C0 call SUB_L00443500 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax push 0000002Ch push 000000DEh push 00000589h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+20h] mov [esp+00000080h],ecx mov cl,[esi+000000ECh] add esp,00000054h mov [esp+24h],ebx test cl,cl mov [esp+20h],ebx mov [esp+28h],eax mov edi,000001F4h jz L004A7C28 lea edx,[esp+20h] push edx push eax mov eax,[esi+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx push SSZ0050EFF8_Strength push 00000001h push 00000001h push 00000092h push 00000168h call SUB_L004410C0 mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+40h] push edx mov edx,[ecx+04h] add edx,00000004h push eax push edx push SSZ0050EFEC_Dexterity push 00000001h push 00000001h push 000000B0h push 00000168h call SUB_L004410C0 mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000040h lea eax,[esp+20h] push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax push SSZ0050EFDC_Intelligence push 00000001h push 00000001h push 000000CEh push 00000168h call SUB_L004410C0 mov ecx,[esi+000000C4h] lea eax,[esp+58h] mov edx,[ecx+000000B4h] push edx push L004FF074 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+4Ch] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+6Ch] push ecx push edx push 00000001h push 00000001h push 00000092h push 000001CCh call SUB_L004410C0 mov eax,[esi+000000C8h] add esp,0000004Ch lea edx,[esp+38h] mov ecx,[eax+000000B4h] push ecx push L004FF074 push edx call SUB_L004D512F mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+2Ch] push eax mov eax,[edx+04h] add eax,00000004h push ecx push eax lea ecx,[esp+50h] push ecx push 00000001h push 00000001h push 000000B0h push 000001CCh call SUB_L004410C0 mov edx,[esi+000000CCh] lea ecx,[esp+64h] mov eax,[edx+000000B4h] push eax push L004FF074 push ecx call SUB_L004D512F mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+58h] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[esp+78h] push edx push eax push 00000001h push 00000001h push 000000CEh push 000001CCh call SUB_L004410C0 mov eax,[esi+000000E0h] add esp,00000058h lea edx,[esp+38h] lea ecx,[eax+eax*4] shl ecx,04h add ecx,L00CC3C68 push ecx push L00508548 push edx call SUB_L004D512F mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[esp+4Ch] push eax push ecx push 00000001h push 00000001h push 0000010Eh push 00000168h call SUB_L004416F0 mov eax,[esi+000000E4h] lea edx,[eax+eax*4] lea eax,[esp+64h] shl edx,04h add edx,L00CC3C68 push edx push L00508548 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+48h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+78h] push ecx push edx push 00000001h push 00000001h push 0000012Fh push 00000168h call SUB_L004416F0 mov eax,[esi+000000E8h] add esp,00000058h lea eax,[eax+eax*4] shl eax,04h add eax,L00CC3C68 lea ecx,[esp+38h] push eax push L00508548 push ecx call SUB_L004D512F mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+1Ch] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[esp+4Ch] push edx push eax push 00000001h push 00000001h push 0000014Dh push 00000168h call SUB_L004416F0 mov ecx,[esi+000000D4h] mov [esp+44h],edi lea eax,[esp+64h] mov edx,[ecx+000000B4h] push edx push L004FF074 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+48h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+78h] push ecx push edx push 00000001h push 00000001h push 0000010Eh push 000001CCh call SUB_L004416F0 mov eax,[esi+000000D8h] add esp,00000058h lea edx,[esp+38h] mov ecx,[eax+000000B4h] push ecx push L004FF074 push edx call SUB_L004D512F mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+1Ch] push eax mov eax,[edx+04h] push ecx add eax,00000004h lea ecx,[esp+4Ch] push eax push ecx push 00000001h push 00000001h push 0000012Fh push 000001CCh call SUB_L004416F0 mov edx,[esi+000000DCh] lea ecx,[esp+64h] mov eax,[edx+000000B4h] push eax push L004FF074 push ecx call SUB_L004D512F mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+48h] push edx mov edx,[ecx+04h] push eax add edx,00000004h lea eax,[esp+78h] push edx push eax push 00000001h push 00000001h push 0000014Dh push 000001CCh call SUB_L004416F0 add esp,00000058h L004A7C28: mov eax,[esi+00000138h] mov [esp+18h],edi mov edi,[esi+00000134h] cmp edi,eax jz L004A7DF4 push ebp L004A7C41: mov ecx,[edi] mov eax,[ecx+000000A4h] test eax,eax jz L004A7D3A push 00000012h call SUB_L004C5BC0 mov edx,[edi] add esp,00000004h mov eax,[edx+000000A4h] push 00000000h push 00000000h push 00000000h mov ebp,[eax+00000100h] push SSZ0050EFD0_professn call SUB_L0046E410 push eax push SSZ0050EFD0_professn call SUB_L0046EA70 add esp,00000018h lea ecx,[esp+38h] lea edx,[esp+10h] inc ebp push ecx lea ecx,[esp+38h] push edx push ecx push 00000091h push 00000000h push ebp mov ecx,eax call SUB_L0046FD40 mov ecx,eax call SUB_L004C8360 push eax call SUB_L004C6B20 mov ebp,[esp+24h] mov ecx,[edi] mov eax,00000055h add esp,00000014h sub eax,ebp mov ebx,[ecx+34h] cdq sub eax,edx mov edx,[ecx+000000A4h] mov ebp,eax push 00000000h sar ebp,1 push 00000000h push 00000000h add ebp,ebx mov ebx,[edx+00000100h] push SSZ0050EFD0_professn call SUB_L0046E410 push eax push SSZ0050EFD0_professn call SUB_L0046EA70 add esp,00000018h inc ebx mov ecx,eax push 00000000h push ebx call SUB_L0046FD40 mov edx,[edi] lea ecx,[esp+14h] push 00000000h push ecx mov ecx,[edx+30h] push 00000000h sub ecx,00000091h push ebp push ecx mov ecx,eax call SUB_L004C8360 mov edx,[esi+20h] push eax mov eax,[esi+3Ch] push edx push 00000091h mov ecx,[eax+04h] add ecx,00000004h push ecx jmp L004A7DDA L004A7D3A: push 00000000h push 00000000h push 00000000h push SSZ0050EFD0_professn call SUB_L0046E410 push eax push SSZ0050EFD0_professn call SUB_L0046EA70 add esp,00000018h mov ecx,eax push 00000000h push 00000000h call SUB_L0046FD40 mov ebx,eax lea edx,[esp+38h] lea eax,[esp+10h] push edx lea ecx,[esp+38h] push eax push ecx push 00000091h mov ecx,ebx call SUB_L004C8360 push eax call SUB_L004C6B20 mov ecx,[esp+24h] mov eax,00000055h sub eax,ecx push 00000012h cdq sub eax,edx mov edx,[edi] mov ebp,eax mov eax,[edx+34h] sar ebp,1 add ebp,eax call SUB_L004C5BC0 mov ecx,[edi] add esp,00000018h lea eax,[esp+14h] mov edx,[ecx+30h] push 00000000h push eax push 00000000h sub edx,00000091h push ebp push edx mov ecx,ebx call SUB_L004C8360 mov ecx,[esi+3Ch] push eax mov eax,[esi+20h] mov edx,[ecx+04h] push eax add edx,00000004h push 00000091h push edx L004A7DDA: call SUB_L004C73A0 mov eax,[esi+00000138h] add edi,00000004h add esp,00000024h cmp edi,eax jnz L004A7C41 pop ebp L004A7DF4: mov eax,[esi+00000108h] mov ecx,[esi+24h] mov edx,[esi+20h] push ecx test eax,eax push edx jz L004A7E20 mov ecx,[esi+3Ch] mov eax,[eax+00000104h] mov edx,[ecx+04h] add edx,00000004h push edx push 00000033h push 000000E7h push eax jmp L004A7E36 L004A7E20: mov eax,[esi+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000033h push 000000E7h push 00001580h L004A7E36: push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebx add esp,0000012Ch retn ;------------------------------------------------------------------------------ Align 4 L004A7E50: sub esp,00000008h lea eax,[esp+04h] push esi mov esi,ecx lea ecx,[esp+04h] push eax push ecx push 000015A9h call SUB_L004434A0 mov eax,[esp+1Ch] add esp,0000000Ch cmp eax,000000E7h jle L004A7EAA mov edx,[esp+04h] add edx,000000E7h cmp eax,edx jge L004A7EAA mov eax,[esp+14h] cmp eax,00000033h jle L004A7EAA mov ecx,[esp+08h] add ecx,00000033h cmp eax,ecx jge L004A7EAA mov edx,[esi+0000009Ch] lea ecx,[esi+0000009Ch] push 00000000h call [edx] L004A7EAA: pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004A7EC0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E592A push eax mov fs:[00000000h],esp sub esp,0000010Ch push ebx push ebp push esi mov esi,ecx xor ebx,ebx mov ebp,[esp+00000128h] mov eax,[esi+000000C4h] cmp ebp,ebx push edi mov [eax+6Ch],ebx mov ecx,[esi+000000C8h] mov [ecx+6Ch],ebx mov edx,[esi+000000CCh] mov [edx+6Ch],ebx mov eax,[esi+000000D4h] mov [eax+6Ch],ebx mov ecx,[esi+000000D8h] mov [ecx+6Ch],ebx mov edx,[esi+000000DCh] mov [edx+6Ch],ebx mov eax,[esi+000000B4h] mov [eax+6Ch],ebx mov ecx,[esi+000000B8h] mov [ecx+6Ch],ebx mov edx,[esi+000000BCh] mov [edx+6Ch],ebx mov [esi+000000ECh],bl mov [L00C8D94C],bl jnz L004A8074 mov ebp,[esi+00000114h] mov eax,[esi+00000118h] cmp ebp,eax mov edi,00000064h jz L004A7FFA L004A7F68: mov eax,[ebp+00h] mov cl,[eax+00000109h] test cl,cl jz L004A7FE9 push 000000ACh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,ebx mov [esp+00000124h],ebx jz L004A7F9F mov ecx,[ebp+00h] push esi push ecx mov ecx,eax call SUB_L004A8C50 jmp L004A7FA1 L004A7F9F: xor eax,eax L004A7FA1: lea ecx,[esi+00000130h] lea edx,[esp+14h] mov [esp+14h],eax push edx mov eax,[ecx+08h] push 00000001h push eax mov dword ptr [esp+00000130h],FFFFFFFFh call SUB_L004AB2A0 mov ecx,[esp+14h] push 00000001h push ebx push 00000001h push edi push 000001F4h call SUB_L00457800 mov ecx,[esp+14h] push 00000001h push esi call SUB_L004587A0 add edi,0000004Fh L004A7FE9: mov eax,[esi+00000118h] add ebp,00000004h cmp ebp,eax jnz L004A7F68 L004A7FFA: push 000000ACh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,ebx mov dword ptr [esp+00000124h],00000001h jz L004A8025 push esi push ebx mov ecx,eax call SUB_L004A8C50 jmp L004A8027 L004A8025: xor eax,eax L004A8027: mov edx,[esi+00000138h] mov [esp+10h],eax lea ecx,[esi+00000130h] lea eax,[esp+10h] push eax push 00000001h push edx mov dword ptr [esp+00000130h],FFFFFFFFh call SUB_L004AB2A0 mov ecx,[esp+10h] push 00000001h push ebx push 00000001h push edi push 000001F4h call SUB_L00457800 mov ecx,[esp+10h] push 00000001h push esi call SUB_L004587A0 jmp L004A844E L004A8074: mov al,[ebp+00000108h] test al,al jz L004A81AB mov ebx,[ebp+00000124h] mov eax,[ebp+00000128h] cmp ebx,eax mov dword ptr [esp+10h],00000064h jz L004A844E L004A809E: mov eax,[ebx] mov edi,[esi+00000114h] mov [esp+14h],eax mov eax,[esi+00000118h] cmp edi,eax jz L004A8180 L004A80B8: mov ecx,[esp+14h] mov edx,[edi] push ecx push edx call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004A80DF mov eax,[esi+00000118h] add edi,00000004h cmp edi,eax jz L004A8180 jmp L004A80B8 L004A80DF: mov edi,[edi] test edi,edi jz L004A8180 push 000000ACh call SUB_L004D4FA9 add esp,00000004h mov [esp+14h],eax test eax,eax mov dword ptr [esp+00000124h],00000002h jz L004A8114 push esi push edi mov ecx,eax call SUB_L004A8C50 jmp L004A8116 L004A8114: xor eax,eax L004A8116: mov edx,[esi+00000138h] mov [esp+18h],eax lea ecx,[esi+00000130h] lea eax,[esp+18h] push eax push 00000001h push edx mov dword ptr [esp+00000130h],FFFFFFFFh call SUB_L004AB2A0 mov edi,[esp+10h] mov ecx,[esp+18h] push 00000001h push 00000000h push 00000001h push edi push 000001F4h call SUB_L00457800 mov ecx,[esp+18h] push 00000001h push esi call SUB_L004587A0 mov eax,[ebp+00000128h] add ebx,00000004h add edi,0000004Fh cmp ebx,eax mov [esp+10h],edi jz L004A844E jmp L004A809E L004A8180: mov eax,[ebx] lea ecx,[esp+1Ch] push eax push SSZ0050F014_Couldn_t_find_Profession__s_in_p push ecx call SUB_L004D512F push 00000000h lea edx,[esp+2Ch] push SSZ0050F004_Profession_Gump push edx call SUB_L004D1020 add esp,00000018h jmp L004A8455 L004A81AB: mov eax,[esi+000000C4h] mov ebx,00000001h mov [eax+6Ch],ebx mov ecx,[esi+000000C8h] mov [ecx+6Ch],ebx mov edx,[esi+000000CCh] mov [edx+6Ch],ebx mov eax,[esi+000000D4h] mov [eax+6Ch],ebx mov ecx,[esi+000000D8h] xor eax,eax mov [ecx+6Ch],ebx mov edx,[esi+000000DCh] mov [edx+6Ch],ebx mov ecx,[esi+000000C4h] mov [esi+000000ECh],bl mov ax,[ebp+0000010Ah] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A8207 mov eax,edx L004A8207: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A8213 mov eax,edx L004A8213: mov [ecx+000000B4h],eax mov ecx,[esi+000000C8h] xor eax,eax mov ax,[ebp+0000010Ch] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A8234 mov eax,edx L004A8234: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A8240 mov eax,edx L004A8240: mov [ecx+000000B4h],eax mov ecx,[esi+000000CCh] xor eax,eax mov ax,[ebp+0000010Eh] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A8261 mov eax,edx L004A8261: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A826D mov eax,edx L004A826D: mov [ecx+000000B4h],eax mov edi,[esi+000000C4h] push ebx push 00000000h mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push ebx push 00000000h lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov edi,[esi+000000C8h] push ebx push 00000000h push ebx mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push 00000000h lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov edi,[esi+000000CCh] push ebx push 00000000h push ebx mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push 00000000h lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov ecx,[ebp+00000114h] xor eax,eax mov ax,[ecx+02h] mov ecx,[esi+000000D4h] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A831B mov eax,edx L004A831B: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A8327 mov eax,edx L004A8327: mov [ecx+000000B4h],eax mov edx,[ebp+00000114h] xor eax,eax mov ax,[edx] mov [esi+000000E0h],eax mov ecx,[ebp+00000114h] xor eax,eax mov ax,[ecx+06h] mov ecx,[esi+000000D8h] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A835C mov eax,edx L004A835C: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A8368 mov eax,edx L004A8368: mov [ecx+000000B4h],eax mov edx,[ebp+00000114h] xor eax,eax mov ax,[edx+04h] mov [esi+000000E4h],eax mov ecx,[ebp+00000114h] xor eax,eax mov ax,[ecx+0Ah] mov ecx,[esi+000000DCh] mov edx,[ecx+000000ACh] cmp eax,edx jge L004A839E mov eax,edx L004A839E: mov edx,[ecx+000000B0h] cmp eax,edx jle L004A83AA mov eax,edx L004A83AA: mov [ecx+000000B4h],eax mov edx,[ebp+00000114h] mov edi,[esi+000000D4h] xor eax,eax mov ax,[edx+08h] push ebx mov [esi+000000E8h],eax mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push 00000000h lea eax,[eax+eax*2] push ebx shl eax,05h cdq idiv [edi+000000B0h] mov edi,[ecx+30h] push 00000000h sub eax,edi push eax call SUB_L00457800 mov edi,[esi+000000D8h] push ebx push 00000000h push ebx mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push 00000000h lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov edi,[esi+000000DCh] push ebx push 00000000h push ebx mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] push 00000000h lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 L004A844E: mov ecx,esi call SUB_L004A7820 L004A8455: mov ecx,[esp+0000011Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000118h retn 0004h ;------------------------------------------------------------------------------ SUB_L004A8470: mov eax,fs:[00000000h] push FFFFFFFFh push L004E595B push eax mov fs:[00000000h],esp sub esp,00000024h push esi xor esi,esi push edi push esi push esi push esi push SSZ0050EFD0_professn call SUB_L0046E410 push eax push SSZ0050EFD0_professn call SUB_L0046EA70 mov edi,eax add esp,00000018h cmp edi,esi jnz L004A84C2 pop edi xor eax,eax pop esi mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ L004A84C2: push ebx push ebp push 00000010h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,esi mov [esp+3Ch],esi jz L004A84E5 mov ecx,eax call SUB_L004C8060 mov ebp,eax jmp L004A84E7 L004A84E5: xor ebp,ebp L004A84E7: mov dword ptr [esp+3Ch],FFFFFFFFh L004A84EF: mov eax,esi push 00000000h push eax mov ecx,edi inc esi call SUB_L0046FD40 push L007049FC lea ecx,[esp+18h] mov ebx,eax call SUB_L004C8240 lea eax,[esp+14h] mov ecx,ebx push eax mov dword ptr [esp+40h],00000001h call SUB_L004C8590 lea ecx,[esp+14h] mov ebx,eax mov dword ptr [esp+3Ch],FFFFFFFFh call SUB_L004C8100 test ebx,ebx jz L004A84EF mov ebx,[esp+44h] inc esi cmp ebx,FFFFFFFFh push 00000000h jnz L004A8546 dec esi jmp L004A858D L004A8546: push ebx mov ecx,edi call SUB_L0046FD40 push eax mov ecx,ebp call SUB_L004C8470 push L004FD294 lea ecx,[esp+28h] call SUB_L004C8240 lea ecx,[esp+24h] mov dword ptr [esp+3Ch],00000002h push ecx mov ecx,ebp call SUB_L004C8470 lea ecx,[esp+24h] mov dword ptr [esp+3Ch],FFFFFFFFh call SUB_L004C8100 push 00000000h add esi,ebx L004A858D: push esi mov ecx,edi call SUB_L0046FD40 push eax mov ecx,ebp call SUB_L004C8470 mov ecx,[esp+34h] mov eax,ebp pop ebp pop ebx pop edi pop esi mov fs:[00000000h],ecx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004A85C0: push FFFFFFFFh push L004E597B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov eax,[esi+00000108h] test eax,eax jz L004A85EE mov eax,[eax+00000100h] inc eax push eax jmp L004A85FD L004A85EE: mov al,[L00C8D94C] test al,al jz L004A85FB push 00000000h jmp L004A85FD L004A85FB: push FFFFFFFFh L004A85FD: mov ecx,esi call SUB_L004A8470 mov edi,eax test edi,edi jz L004A869B mov ecx,[esi+000000A0h] test ecx,ecx jz L004A8628 mov edx,[ecx] push 00000001h call [edx] mov dword ptr [esi+000000A0h],00000000h L004A8628: push 00000104h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax test eax,eax mov dword ptr [esp+14h],00000000h jz L004A865A push 00000001h push 00000000h push 00002022h push 00000000h push esi mov ecx,eax call SUB_L00463A90 jmp L004A865C L004A865A: xor eax,eax L004A865C: push 00000001h mov ecx,edi mov dword ptr [esp+18h],FFFFFFFFh mov [esi+000000A0h],eax call SUB_L004C8360 mov ecx,[esi+000000A0h] push eax call SUB_L00463F60 mov ecx,[esi+000000A0h] push 000000D6h push 000000DBh push 00000089h push 00000078h call SUB_L00463DF0 L004A869B: mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A86B0: mov eax,[esp+04h] push ebx push ebp push esi mov ebp,[eax+000000A4h] push edi test ebp,ebp mov esi,ecx jnz L004A87B9 mov ebx,00000001h mov [L00C8D94C],bl mov edi,[esi+00000134h] cmp edi,[esi+00000138h] jz L004A86F9 L004A86E1: mov ecx,[edi] test ecx,ecx jz L004A86EC mov edx,[ecx] push ebx call [edx] L004A86EC: mov eax,[esi+00000138h] add edi,00000004h cmp edi,eax jnz L004A86E1 L004A86F9: mov edx,[esi+00000138h] mov ecx,[esi+00000134h] mov eax,edx cmp eax,edx jz L004A8719 L004A870B: mov edi,[eax] add eax,00000004h mov [ecx],edi add ecx,00000004h cmp eax,edx jnz L004A870B L004A8719: mov eax,[esi+00000138h] mov [esi+00000138h],ecx mov ecx,[esi+000000C4h] mov [esp+14h],eax xor edi,edi mov [ecx+6Ch],ebx mov edx,[esi+000000C8h] mov [edx+6Ch],ebx mov eax,[esi+000000CCh] mov [eax+6Ch],ebx mov ecx,[esi+000000D4h] mov [ecx+6Ch],ebx mov edx,[esi+000000D8h] mov [edx+6Ch],ebx mov eax,[esi+000000DCh] mov [eax+6Ch],ebx mov ecx,[esi+000000B4h] mov [esi+000000ECh],bl mov [ecx+6Ch],ebx mov edx,[esi+000000B8h] mov [edx+6Ch],ebx mov eax,[esi+000000BCh] mov [eax+6Ch],ebx mov ecx,[esi+000000A0h] cmp ecx,edi mov [esi+000000E0h],edi mov [esi+000000E4h],edi mov [esi+000000E8h],edi jz L004A883A mov edx,[ecx] push ebx call [edx] mov ecx,esi mov [esi+000000A0h],edi call SUB_L004A7820 jmp L004A883A L004A87B9: mov edi,[esi+00000134h] mov eax,[esi+00000138h] cmp edi,eax jz L004A87E6 mov ebx,00000001h L004A87CE: mov ecx,[edi] test ecx,ecx jz L004A87D9 mov eax,[ecx] push ebx call [eax] L004A87D9: mov eax,[esi+00000138h] add edi,00000004h cmp edi,eax jnz L004A87CE L004A87E6: mov edx,[esi+00000138h] mov ecx,[esi+00000134h] mov eax,edx cmp eax,edx jz L004A8806 L004A87F8: mov edi,[eax] add eax,00000004h mov [ecx],edi add ecx,00000004h cmp eax,edx jnz L004A87F8 L004A8806: mov edx,[esi+00000138h] mov [esi+00000138h],ecx push ebp mov ecx,esi mov [esp+18h],edx call SUB_L004A7EC0 mov eax,[esi+00000108h] mov ecx,[esi+0000010Ch] cmp ecx,eax jz L004A8834 mov [esi+0000010Ch],eax L004A8834: mov [esi+00000108h],ebp L004A883A: mov ecx,esi call SUB_L004A85C0 mov ecx,esi call SUB_L004A7820 pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 L004A8850: mov eax,[esp+04h] push ebx push ebp push esi cmp eax,0000000Bh push edi mov ebx,ecx ja CASE_004A8C18_PROC0001 jmp [CASE_PROCTABLE_004A8C18+eax*4] CASE_004A8C18_PROC0000: mov eax,[ebx+6Ch] test eax,eax jz L004A887A mov eax,[eax+00000130h] mov [ebx+6Ch],eax L004A887A: mov esi,[ebx+00000098h] mov eax,[ebx+0000009Ch] lea edi,[ebx-0000009Ch] cmp esi,eax jz L004A88A9 L004A8890: mov ecx,[esi] test ecx,ecx jz L004A889C mov edx,[ecx] push 00000001h call [edx] L004A889C: mov eax,[edi+00000138h] add esi,00000004h cmp esi,eax jnz L004A8890 L004A88A9: mov ecx,[edi+00000134h] mov eax,[edi+00000138h] lea esi,[edi+00000130h] push ecx push eax push eax call SUB_L004AB530 add esp,0000000Ch mov ebp,eax mov eax,[esi+08h] mov ecx,esi push eax push ebp call SUB_L00447780 mov [esi+08h],ebp mov ecx,[ebx+6Ch] push ecx mov ecx,edi call SUB_L004A7EC0 mov ecx,edi call SUB_L004A85C0 jmp CASE_004A8C18_PROC0001 CASE_004A8C18_PROC000B: lea ecx,[ebx-0000009Ch] call SUB_L004A7820 jmp CASE_004A8C18_PROC0001 CASE_004A8C18_PROC0007: mov edx,[ebx+08h] push 00000000h mov dword ptr [edx+6Ch],00000001h mov dword ptr [ebx+0Ch],00000000h mov ecx,[ebx+08h] call SUB_L004584E0 jmp CASE_004A8C18_PROC0001 CASE_004A8C18_PROC0008: mov eax,[ebx+08h] push 00000000h mov dword ptr [eax+6Ch],00000001h mov dword ptr [ebx+0Ch],00000001h mov ecx,[ebx+08h] call SUB_L004584E0 jmp CASE_004A8C18_PROC0001 CASE_004A8C18_PROC0009: mov ecx,[ebx+08h] push 00000000h mov dword ptr [ecx+6Ch],00000001h mov dword ptr [ebx+0Ch],00000002h mov ecx,[ebx+08h] call SUB_L004584E0 jmp CASE_004A8C18_PROC0001 CASE_004A8C18_PROC000A: mov eax,[ebx+0Ch] sub eax,00000000h jz L004A8AB6 dec eax jz L004A8A17 dec eax jnz CASE_004A8C18_PROC0001 mov edx,[ebx+08h] mov edi,[edx+00006174h] cmp edi,00000027h jnz L004A898D mov eax,00000029h jmp L004A89D0 L004A898D: cmp edi,00000028h jnz L004A8999 mov eax,0000002Ah jmp L004A89D0 L004A8999: mov eax,[L00CC1C20] xor ebp,ebp xor esi,esi test eax,eax jle L004A89CD L004A89A6: xor eax,eax lea ecx,[ebx-0000009Ch] mov al,[esi+L00CC1CF4] push eax call SUB_L00420C10 test al,al jnz L004A89C3 cmp edi,esi jl L004A89C3 inc ebp L004A89C3: mov eax,[L00CC1C20] inc esi cmp esi,eax jl L004A89A6 L004A89CD: lea eax,[edi+ebp] L004A89D0: xor ecx,ecx mov cl,[eax+L00CC1CF4] mov eax,ecx or ecx,FFFFFFFFh mov [ebx+4Ch],eax mov edx,[ebx+20h] lea edi,[eax+eax*4] xor eax,eax shl edi,04h add edi,L00CC3C68 add edx,000000F8h 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+20h] jmp L004A8B50 L004A8A17: mov eax,[ebx+08h] mov edi,[eax+00006174h] cmp edi,00000027h jnz L004A8A2C mov eax,00000029h jmp L004A8A6F L004A8A2C: cmp edi,00000028h jnz L004A8A38 mov eax,0000002Ah jmp L004A8A6F L004A8A38: mov eax,[L00CC1C20] xor ebp,ebp xor esi,esi test eax,eax jle L004A8A6C L004A8A45: xor ecx,ecx mov cl,[esi+L00CC1CF4] push ecx lea ecx,[ebx-0000009Ch] call SUB_L00420C10 test al,al jnz L004A8A62 cmp edi,esi jl L004A8A62 inc ebp L004A8A62: mov eax,[L00CC1C20] inc esi cmp esi,eax jl L004A8A45 L004A8A6C: lea eax,[edi+ebp] L004A8A6F: xor edx,edx or ecx,FFFFFFFFh mov dl,[eax+L00CC1CF4] mov eax,edx mov [ebx+48h],eax mov edx,[ebx+1Ch] lea edi,[eax+eax*4] xor eax,eax shl edi,04h add edi,L00CC3C68 add edx,000000F8h 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+1Ch] jmp L004A8B50 L004A8AB6: mov eax,[ebx+08h] mov edi,[eax+00006174h] cmp edi,00000027h jnz L004A8ACB mov eax,00000029h jmp L004A8B0E L004A8ACB: cmp edi,00000028h jnz L004A8AD7 mov eax,0000002Ah jmp L004A8B0E L004A8AD7: mov eax,[L00CC1C20] xor ebp,ebp xor esi,esi test eax,eax jle L004A8B0B L004A8AE4: xor ecx,ecx mov cl,[esi+L00CC1CF4] push ecx lea ecx,[ebx-0000009Ch] call SUB_L00420C10 test al,al jnz L004A8B01 cmp edi,esi jl L004A8B01 inc ebp L004A8B01: mov eax,[L00CC1C20] inc esi cmp esi,eax jl L004A8AE4 L004A8B0B: lea eax,[edi+ebp] L004A8B0E: xor edx,edx or ecx,FFFFFFFFh mov dl,[eax+L00CC1CF4] mov eax,edx mov [ebx+44h],eax mov edx,[ebx+18h] lea edi,[eax+eax*4] xor eax,eax shl edi,04h add edi,L00CC3C68 add edx,000000F8h 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+18h] L004A8B50: mov edx,[ecx] call [edx+00000174h] CASE_004A8C18_PROC0001: mov eax,[ebx+38h] lea ecx,[ebx-0000009Ch] pop edi pop esi mov dl,[eax+000000B4h] pop ebp mov [L00C880E0],dl mov eax,[ecx+000000D8h] pop ebx mov dl,[eax+000000B4h] mov [L00C880DE],dl mov eax,[ecx+000000DCh] mov dl,[eax+000000B4h] mov [L00C880DC],dl mov al,[ecx+000000E0h] mov [L00C880E1],al mov dl,[ecx+000000E4h] mov [L00C880DF],dl mov al,[ecx+000000E8h] mov [L00C880DD],al mov edx,[ecx+000000C4h] mov eax,[edx+000000B4h] mov edx,0000000Ah cmp eax,edx mov [L00C880F2],dl jl L004A8BD7 mov [L00C880F2],al L004A8BD7: mov eax,[ecx+000000C8h] mov eax,[eax+000000B4h] mov [L00C880F1],dl cmp eax,edx jl L004A8BF2 mov [L00C880F1],al L004A8BF2: mov eax,[ecx+000000CCh] mov eax,[eax+000000B4h] mov [L00C880F0],dl cmp eax,edx jl L004A8C0D mov [L00C880F0],al L004A8C0D: call SUB_L004A7820 retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004A8C18: dd CASE_004A8C18_PROC0000 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0001 dd CASE_004A8C18_PROC0007 dd CASE_004A8C18_PROC0008 dd CASE_004A8C18_PROC0009 dd CASE_004A8C18_PROC000A dd CASE_004A8C18_PROC000B Align 16 SUB_L004A8C50: push FFFFFFFFh push L004E5998 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov ecx,[esp+20h] mov edx,[esp+24h] xor eax,eax push SSZ0050ED80_framedata_for_pointgump push 00000008h mov [esp+20h],eax mov dword ptr [esi],L004F0040 mov dword ptr [esi+08h],SSZ0050F080_profession_button mov [esi+000000A4h],ecx mov [esi+000000A0h],edx mov [esi+000000A8h],al mov [esi+0000009Ch],eax mov [esi+14h],eax mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi lea ebx,[esi+20h] rep stosd mov ecx,edx and ecx,00000003h rep stosb lea edi,[esi+24h] push edi push ebx push 00000589h call SUB_L004434A0 mov eax,[ebx] push SSZ0050EFA8_frame0 imul eax,[edi] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,0000001Ch mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[edi] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004A8D70 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 4 L004A8D40: push esi mov esi,ecx call SUB_L004A8D60 test byte ptr [esp+08h],01h jz L004A8D58 push esi call SUB_L004D4F9E add esp,00000004h L004A8D58: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A8D60: mov dword ptr [ecx],L004F0040 jmp SUB_L00458FF0 Align 8 SUB_L004A8D70: push ebx push esi mov esi,ecx push edi mov eax,[esi+000000A4h] test eax,eax jz L004A8D92 mov cl,[esi+000000A8h] mov ebx,[eax+00000104h] test cl,cl jz L004A8DA5 inc ebx jmp L004A8DA5 L004A8D92: mov bl,[esi+000000A8h] neg bl sbb ebx,ebx and ebx,00000002h add ebx,00001580h L004A8DA5: mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] 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+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax push 00000000h push 00000000h push 00000589h push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx push 00000008h push 00000009h push ebx push SUB_L004B9B80 call SUB_L00443500 add esp,00000038h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 L004A8E20: sub esp,00000018h xor eax,eax push esi mov esi,ecx mov [esp+08h],eax mov [esp+04h],eax lea eax,[esp+04h] push edi lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esi+3Ch] mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edi,[esp+24h] mov esi,[edx+04h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004A8EC2 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L004A8EC2: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 8 L004A8ED0: dd L00A881C6 db 00h; db 00h; db 01h; db E8h; '¨' db 94h; '"' db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db C2h; '‚' db 08h; db 00h; db 90h; '?' L004A8EE0: push esi mov esi,ecx push 00000000h mov byte ptr [esi+000000A8h],00h call SUB_L00476670 add esp,00000004h mov ecx,esi call SUB_L004A8D70 mov ecx,[esi+000000A0h] push esi call SUB_L004A86B0 pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004A8F10: mov dword ptr [ecx],L004F003C retn ;------------------------------------------------------------------------------ Align 16 SUB_L004A8F20: push esi mov esi,ecx call SUB_L00458F30 xor eax,eax mov dword ptr [esi],L004F01B4 mov [esi+000000A0h],eax mov [esi+000000B0h],eax mov [esi+000000ACh],eax mov [esi+000000A8h],eax mov [esi+0000009Ch],eax mov [esi+000000A5h],al mov [esi+000000A4h],al mov [esi+14h],eax mov dword ptr [esi+08h],SSZ0050F094_Simple_button mov dword ptr [esi+18h],00000001h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 4 L004A8F70: push esi mov esi,ecx call SUB_L004A9120 test byte ptr [esp+08h],01h jz L004A8F88 push esi call SUB_L004D4F9E add esp,00000004h L004A8F88: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A8F90: push FFFFFFFFh push L004E59B8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov ecx,[esp+34h] mov edx,[esp+24h] mov [esi+000000A0h],ecx mov ecx,[esp+28h] mov [esi+000000B0h],edx mov edx,[esp+2Ch] mov [esi+000000ACh],ecx mov ecx,[esp+30h] xor eax,eax push SSZ0050ED80_framedata_for_pointgump push 00000008h mov [esp+24h],eax mov dword ptr [esi],L004F01B4 mov dword ptr [esi+08h],SSZ0050F094_Simple_button mov [esi+000000A8h],edx mov [esi+0000009Ch],ecx mov [esi+000000A5h],al mov [esi+000000A4h],al mov [esi+14h],eax mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi lea ebp,[esi+24h] rep stosd mov ecx,edx lea ebx,[esi+20h] and ecx,00000003h push ebp rep stosb mov eax,[esi+000000B0h] push ebx push eax call SUB_L004434A0 mov ecx,[ebx] push SSZ0050EFA8_frame0 imul ecx,[ebp+00h] lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,0000001Ch mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[ebx] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[ebp+00h] mov eax,[edx+04h] mov [eax+02h],cx mov al,[esi+000000A4h] test al,al jz L004A9099 mov edx,[esi+000000A8h] mov [esp+34h],edx jmp L004A90B9 L004A9099: mov al,[esi+000000A5h] test al,al jz L004A90AF mov eax,[esi+000000ACh] mov [esp+34h],eax jmp L004A90B9 L004A90AF: mov ecx,[esi+000000B0h] mov [esp+34h],ecx L004A90B9: mov ecx,[ebx] mov edx,[esi+3Ch] imul ecx,[ebp+00h] 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,[ebp+00h] mov edx,[esi+3Ch] mov ecx,[ebx] push eax mov eax,[edx+04h] push ecx mov ecx,[esp+3Ch] add eax,00000004h push eax push 00000007h push 0000000Ah push ecx push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esp+30h] add esp,0000001Ch mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004A9120: mov dword ptr [ecx],L004F01B4 jmp SUB_L00458FF0 Align 8 L004A9130: mov eax,[esp+04h] test eax,eax jle L004A9156 mov edx,[esp+08h] test edx,edx jle L004A9156 push esi mov esi,[ecx+20h] cmp eax,esi pop esi jge L004A9156 cmp edx,[ecx+24h] jge L004A9156 mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L004A9156: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004A9160: mov edx,ecx push ebx push esi push edi mov al,[edx+000000A4h] test al,al jz L004A9177 mov esi,[edx+000000A8h] jmp L004A918F L004A9177: mov al,[edx+000000A5h] test al,al jz L004A9189 mov esi,[edx+000000ACh] jmp L004A918F L004A9189: mov esi,[edx+000000B0h] L004A918F: mov ecx,[edx+20h] mov edi,[edx+3Ch] imul ecx,[edx+24h] mov edi,[edi+04h] xor eax,eax shl ecx,1 mov ebx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,[edx+24h] mov ecx,[edx+20h] mov edx,[edx+3Ch] push eax push ecx mov eax,[edx+04h] add eax,00000004h push eax push 00000007h push 0000000Ah push esi push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 L004A91E0: dd L00A581C6 db 00h; db 00h; db 01h; db C2h; '‚' db 08h; db 00h; db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' L004A91F0: dd L00A581C6 db 00h; db 00h; db 00h; db C3h; 'ƒ' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' SUB_L004A9200: sub esp,00000018h push esi mov esi,ecx xor eax,eax push edi mov cl,[esi+000000A4h] mov [esp+0Ch],eax cmp cl,al mov [esp+08h],eax jz L004A9223 mov edi,[esi+000000A8h] jmp L004A9239 L004A9223: cmp [esi+000000A5h],al jz L004A9233 mov edi,[esi+000000ACh] jmp L004A9239 L004A9233: mov edi,[esi+000000B0h] L004A9239: lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esi+3Ch] mov ecx,[esp+0Ch] xor esi,esi mov eax,[edx+04h] mov edx,[esp+08h] mov [esp+10h],ecx mov [esp+14h],edx mov si,[eax] add esi,ecx xor ecx,ecx mov [esp+18h],esi mov cx,[eax+02h] mov esi,[esp+24h] add ecx,edx lea edx,[esp+10h] mov [esp+1Ch],ecx push edx push esi call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004A92BA mov eax,[L005073D4] mov ecx,[L005073D0] mov edx,[L00B189FC] push eax mov eax,[esp+0Ch] push ecx mov ecx,[esp+14h] push edx push eax push ecx push esi push edi push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004A92BA: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004A92D0: mov edx,ecx push ebx push esi push edi mov ecx,[edx+20h] mov edi,[edx+3Ch] imul ecx,[edx+24h] mov esi,[edx+000000A8h] mov byte ptr [edx+000000A4h],01h mov edi,[edi+04h] xor eax,eax shl ecx,1 mov ebx,ecx add edi,00000004h shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,[edx+24h] mov ecx,[edx+20h] mov edx,[edx+3Ch] push eax push ecx mov eax,[edx+04h] add eax,00000004h push eax push 00000007h push 0000000Ah push esi push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 L004A9330: push esi mov esi,ecx push 00000000h mov byte ptr [esi+000000A4h],00h call SUB_L00476670 mov al,[esi+000000A4h] add esp,00000004h test al,al jz L004A9356 mov edx,[esi+000000A8h] jmp L004A936E L004A9356: mov al,[esi+000000A5h] test al,al jz L004A9368 mov edx,[esi+000000ACh] jmp L004A936E L004A9368: mov edx,[esi+000000B0h] L004A936E: mov ecx,[esi+20h] push ebx imul ecx,[esi+24h] push edi mov edi,[esi+3Ch] shl ecx,1 mov edi,[edi+04h] mov ebx,ecx xor eax,eax add edi,00000004h shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb mov eax,[esi+24h] mov ecx,[esi+20h] push eax mov eax,[esi+3Ch] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push 00000007h push 0000000Ah push edx push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+0000009Ch] add esp,0000001Ch test ecx,ecx pop edi pop ebx jz L004A93CD mov eax,[esi+000000A0h] mov edx,[ecx] push eax call [edx] L004A93CD: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004A93E0: push FFFFFFFFh push L004E59F1 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebp push esi mov esi,ecx push edi mov [esp+1Ch],esi call SUB_L00458F30 xor ebp,ebp mov dword ptr [esi+0000009Ch],L004F003C mov [esp+2Ch],ebp lea eax,[esp+0Ch] lea ecx,[esp+18h] push eax push ecx push 000000D7h mov byte ptr [esp+38h],01h mov dword ptr [esi],L004F032C mov dword ptr [esi+0000009Ch],L004F0328 mov [esi+000000A8h],ebp call SUB_L004434A0 lea edx,[esp+18h] lea eax,[esp+20h] push edx push eax push 000000D5h call SUB_L004434A0 lea ecx,[esp+24h] lea edx,[esp+28h] push ecx push edx push 000000D6h call SUB_L004434A0 mov eax,[esp+34h] mov ecx,[esp+38h] push SSZ0050ED80_framedata_for_pointgump push 00000008h lea edx,[ecx+eax*2] mov ecx,[esp+44h] add eax,edx mov [esi+000000A0h],ebp add eax,ecx mov [esi+000000ACh],ebp mov [esi+20h],eax mov eax,[esp+38h] mov [esi+24h],eax mov dword ptr [esi+000000B0h],00000064h mov [esi+000000B4h],ebp mov dword ptr [esi+08h],SSZ0050F0A4_slidergump mov [esi+14h],ebp mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050EFA8_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000A4h mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L004D4FA9 add esp,00000038h mov [esp+20h],eax cmp eax,ebp mov byte ptr [esp+2Ch],02h jz L004A9539 push esi mov ecx,eax call SUB_L004A9790 jmp L004A953B L004A9539: xor eax,eax L004A953B: push 00000001h push esi mov ecx,eax mov byte ptr [esp+34h],01h mov [esi+000000A0h],eax call SUB_L004587A0 mov ecx,esi call SUB_L004A95C0 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 8 L004A9570: push esi mov esi,ecx call SUB_L004A9590 test byte ptr [esp+08h],01h jz L004A9588 push esi call SUB_L004D4F9E add esp,00000004h L004A9588: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A9590: mov eax,ecx lea edx,[ecx+0000009Ch] neg eax sbb eax,eax mov dword ptr [ecx],L004F032C and eax,edx mov dword ptr [edx],L004F0328 mov dword ptr [eax],L004F003C jmp SUB_L00458FF0 Align 16 SUB_L004A95C0: sub esp,00000010h lea eax,[esp+08h] push esi mov esi,ecx push edi lea ecx,[esp+14h] push eax push ecx push 000000D7h call SUB_L004434A0 lea edx,[esp+1Ch] lea eax,[esp+14h] push edx push eax push 000000D5h call SUB_L004434A0 lea ecx,[esp+28h] lea edx,[esp+24h] push ecx push edx push 000000D6h call SUB_L004434A0 mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] 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+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax push 00000000h push 00000000h push 000000D5h push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,00000040h push ecx mov ecx,[eax+04h] add ecx,00000004h push edx mov edx,[esp+10h] push ecx push 00000000h push edx push 000000D6h push SUB_L004B95C0 call SUB_L00443500 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esp+2Ch] push ecx mov ecx,[esp+2Ch] add eax,00000004h add edx,ecx push eax push 00000000h push edx push 000000D6h push SUB_L004B95C0 call SUB_L00443500 mov eax,[esi+24h] push eax mov edx,[esi+3Ch] mov ecx,[esi+20h] push ecx mov ecx,[esp+48h] mov eax,[edx+04h] mov edx,[esp+4Ch] add eax,00000004h push eax lea eax,[ecx+edx*2] push 00000000h push eax push 000000D6h push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,00000054h push ecx mov ecx,[eax+04h] mov eax,[esp+10h] push edx mov edx,[esp+10h] add ecx,00000004h push ecx push 00000000h lea ecx,[edx+eax*2] add eax,ecx push eax push 000000D7h push SUB_L004B95C0 call SUB_L00443500 add esp,0000001Ch pop edi pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004A9710: mov edx,[ecx+14h] push esi mov esi,[ecx+10h] mov eax,2AAAAAABh sub edx,esi imul edx,[esp+08h] imul edx sar edx,04h mov eax,edx shr eax,1Fh add edx,eax mov eax,esi add edx,esi pop esi cmp edx,eax jge L004A973A mov edx,eax L004A973A: mov eax,[ecx+14h] cmp edx,eax jle L004A9743 mov edx,eax L004A9743: mov [ecx+18h],edx mov eax,[ecx+0Ch] test eax,eax jz L004A9757 mov ecx,[ecx+08h] mov edx,[eax] push ecx mov ecx,eax call [edx] L004A9757: retn 0004h ;------------------------------------------------------------------------------ Align 8 L004A9760: mov eax,[ecx+6Ch] test eax,eax jz L004A978B mov edx,[esp+04h] test edx,edx jl L004A978B mov eax,[esp+08h] test eax,eax jl L004A978B cmp edx,[ecx+20h] jge L004A978B cmp eax,[ecx+24h] jge L004A978B push eax push edx call SUB_L00456DF0 retn 0008h ;------------------------------------------------------------------------------ L004A978B: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ SUB_L004A9790: push FFFFFFFFh push L004E5A08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov eax,[esp+20h] push SSZ0050ED80_framedata_for_pointgump push 00000008h mov dword ptr [esp+20h],00000000h mov dword ptr [esi],L004F04A0 mov [esi+0000009Ch],eax mov dword ptr [esi+08h],SSZ0050F0A4_slidergump mov dword ptr [esi+14h],00000000h mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi lea ebx,[esi+20h] rep stosd mov ecx,edx and ecx,00000003h rep stosb lea edi,[esi+24h] push edi push ebx push 000000D8h call SUB_L004434A0 mov eax,[ebx] push SSZ0050EFA8_frame0 imul eax,[edi] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[edi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[edi] mov edx,[esi+3Ch] mov ecx,[ebx] push eax push ecx mov eax,[edx+04h] add eax,00000004h push eax push 00000000h push 00000000h push 000000D8h push SUB_L004B95C0 call SUB_L00443500 mov ecx,[esp+48h] add esp,00000038h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 8 L004A9890: push esi mov esi,ecx call SUB_L004A98B0 test byte ptr [esp+08h],01h jz L004A98A8 push esi call SUB_L004D4F9E add esp,00000004h L004A98A8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004A98B0: mov dword ptr [ecx],L004F04A0 jmp SUB_L00458FF0 Align 8 L004A98C0: mov eax,[ecx+6Ch] test eax,eax jnz L004A98CC xor eax,eax retn 0008h ;------------------------------------------------------------------------------ L004A98CC: mov eax,[esp+08h] mov edx,[esp+04h] push eax push edx call SUB_L00456DF0 retn 0008h ;------------------------------------------------------------------------------ Align 4 L004A98E0: mov eax,[esp+04h] push ecx mov byte ptr [ecx+000000A0h],01h mov [ecx+70h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A9900: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx add eax,00000004h push eax push 00000000h push 00000000h push 000000D8h push SUB_L004B95C0 call SUB_L00443500 add esp,00000020h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004A9940: push ecx push esi mov esi,ecx mov al,[esi+000000A0h] test al,al jz L004A99C7 mov edx,[esi+30h] mov ecx,[esi+70h] push ebx push ebp mov ebp,[esp+14h] push edi mov edi,[esi+34h] mov eax,edx sub eax,ecx mov ecx,edi add eax,ebp mov [esp+10h],edx test ecx,ecx jge L004A9970 xor ecx,ecx L004A9970: mov ebp,[esi+0000009Ch] mov ebx,[ebp+24h] cmp ecx,ebx jle L004A997F mov ecx,ebx L004A997F: test eax,eax jge L004A9985 xor eax,eax L004A9985: mov ebx,[ebp+20h] add ebx,FFFFFFFBh cmp eax,ebx jle L004A9991 mov eax,ebx L004A9991: push 00000001h push 00000000h sub ecx,edi push 00000001h sub eax,edx push ecx push eax mov ecx,esi call SUB_L00457800 mov eax,[esi+30h] mov ecx,[esp+10h] pop edi pop ebp cmp eax,ecx pop ebx jz L004A99C7 mov esi,[esi+0000009Ch] push eax mov edx,[esi+0000009Ch] lea ecx,[esi+0000009Ch] call [edx] L004A99C7: pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004A99D0: push esi mov esi,[esp+08h] push SSZ0050F2DC_Alchemy push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A99E9 pop esi retn ;------------------------------------------------------------------------------ L004A99E9: push SSZ0050F2D4_Anatomy push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A02 mov eax,00000001h pop esi retn ;------------------------------------------------------------------------------ L004A9A02: push SSZ0050F2C8_AnimalLore push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A1B mov eax,00000002h pop esi retn ;------------------------------------------------------------------------------ L004A9A1B: push SSZ0050F2C0_ItemID push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A34 mov eax,00000003h pop esi retn ;------------------------------------------------------------------------------ L004A9A34: push SSZ0050F2B4_ArmsLore push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A4D mov eax,00000004h pop esi retn ;------------------------------------------------------------------------------ L004A9A4D: push SSZ0050F2A8_Parrying push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A66 mov eax,00000005h pop esi retn ;------------------------------------------------------------------------------ L004A9A66: push SSZ0050F2A0_Begging push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A7F mov eax,00000006h pop esi retn ;------------------------------------------------------------------------------ L004A9A7F: push SSZ004FF520_Blacksmith push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9A98 mov eax,00000007h pop esi retn ;------------------------------------------------------------------------------ L004A9A98: push SSZ0050F294_Bowcraft push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9AB1 mov eax,00000008h pop esi retn ;------------------------------------------------------------------------------ L004A9AB1: push SSZ0050F288_Peacemaking push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9ACA mov eax,00000009h pop esi retn ;------------------------------------------------------------------------------ L004A9ACA: push SSZ0050F280_Camping push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9AE3 mov eax,0000000Ah pop esi retn ;------------------------------------------------------------------------------ L004A9AE3: push SSZ0050F274_Carpentry push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9AFC mov eax,0000000Bh pop esi retn ;------------------------------------------------------------------------------ L004A9AFC: push SSZ0050F268_Cartography push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B15 mov eax,0000000Ch pop esi retn ;------------------------------------------------------------------------------ L004A9B15: push SSZ0050F260_Cooking push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B2E mov eax,0000000Dh pop esi retn ;------------------------------------------------------------------------------ L004A9B2E: push SSZ0050F250_DetectHidden push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B47 mov eax,0000000Eh pop esi retn ;------------------------------------------------------------------------------ L004A9B47: push SSZ0050F244_Enticement push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B60 mov eax,0000000Fh pop esi retn ;------------------------------------------------------------------------------ L004A9B60: push SSZ0050F22C_EvaluateIntelligence push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B79 mov eax,00000010h pop esi retn ;------------------------------------------------------------------------------ L004A9B79: push SSZ0050F224_Healing push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9B92 mov eax,00000011h pop esi retn ;------------------------------------------------------------------------------ L004A9B92: push SSZ0050F21C_Fishing push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9BAB mov eax,00000012h pop esi retn ;------------------------------------------------------------------------------ L004A9BAB: push SSZ0050F208_ForensicEvaluation push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9BC4 mov eax,00000013h pop esi retn ;------------------------------------------------------------------------------ L004A9BC4: push SSZ0050F200_Herding push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9BDD mov eax,00000014h pop esi retn ;------------------------------------------------------------------------------ L004A9BDD: push SSZ0050F1F8_Hiding push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9BF6 mov eax,00000015h pop esi retn ;------------------------------------------------------------------------------ L004A9BF6: push SSZ0050F1EC_Provocation push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C0F mov eax,00000016h pop esi retn ;------------------------------------------------------------------------------ L004A9C0F: push SSZ0050F1E0_Inscription push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C28 mov eax,00000017h pop esi retn ;------------------------------------------------------------------------------ L004A9C28: push SSZ0050F1D4_Lockpicking push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C41 mov eax,00000018h pop esi retn ;------------------------------------------------------------------------------ L004A9C41: push SSZ0050F1CC_Magery push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C5A mov eax,00000019h pop esi retn ;------------------------------------------------------------------------------ L004A9C5A: push SSZ0050F1BC_ResistingSpells push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C73 mov eax,0000001Ah pop esi retn ;------------------------------------------------------------------------------ L004A9C73: push SSZ0050F1B4_Tactics push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9C8C mov eax,0000001Bh pop esi retn ;------------------------------------------------------------------------------ L004A9C8C: push SSZ0050F1A8_Snooping push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9CA5 mov eax,0000001Ch pop esi retn ;------------------------------------------------------------------------------ L004A9CA5: push SSZ0050F198_Musicianship push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9CBE mov eax,0000001Dh pop esi retn ;------------------------------------------------------------------------------ L004A9CBE: push SSZ0050F18C_Poisoning push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9CD7 mov eax,0000001Eh pop esi retn ;------------------------------------------------------------------------------ L004A9CD7: push SSZ0050F184_Archery push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9CF0 mov eax,0000001Fh pop esi retn ;------------------------------------------------------------------------------ L004A9CF0: push SSZ0050F178_SpiritSpeak push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D09 mov eax,00000020h pop esi retn ;------------------------------------------------------------------------------ L004A9D09: push SSZ0050F16C_Stealing push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D22 mov eax,00000021h pop esi retn ;------------------------------------------------------------------------------ L004A9D22: push SSZ0050F160_Tailoring push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D3B mov eax,00000022h pop esi retn ;------------------------------------------------------------------------------ L004A9D3B: push SSZ0050F150_AnimalTaming push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D54 mov eax,00000023h pop esi retn ;------------------------------------------------------------------------------ L004A9D54: push SSZ0050F13C_TasteIdentification push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D6D mov eax,00000024h pop esi retn ;------------------------------------------------------------------------------ L004A9D6D: push SSZ0050F130_Tinkering push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D86 mov eax,00000025h pop esi retn ;------------------------------------------------------------------------------ L004A9D86: push SSZ0050F124_Tracking push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9D9F mov eax,00000026h pop esi retn ;------------------------------------------------------------------------------ L004A9D9F: push SSZ0050F118_Veterinary push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9DB8 mov eax,00000027h pop esi retn ;------------------------------------------------------------------------------ L004A9DB8: push SSZ0050F108_Swordsmanship push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9DD1 mov eax,00000028h pop esi retn ;------------------------------------------------------------------------------ L004A9DD1: push SSZ0050F0F8_MaceFighting push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9DEA mov eax,00000029h pop esi retn ;------------------------------------------------------------------------------ L004A9DEA: push SSZ0050F0F0_Fencing push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E03 mov eax,0000002Ah pop esi retn ;------------------------------------------------------------------------------ L004A9E03: push SSZ0050F0E4_Wrestling push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E1C mov eax,0000002Bh pop esi retn ;------------------------------------------------------------------------------ L004A9E1C: push SSZ0050F0D4_Lumberjacking push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E35 mov eax,0000002Ch pop esi retn ;------------------------------------------------------------------------------ L004A9E35: push SSZ0050F0CC_Mining push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E4E mov eax,0000002Dh pop esi retn ;------------------------------------------------------------------------------ L004A9E4E: push SSZ0050F0C0_Meditation push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E67 mov eax,0000002Eh pop esi retn ;------------------------------------------------------------------------------ L004A9E67: push SSZ0050F0B8_Stealth push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004A9E80 mov eax,0000002Fh pop esi retn ;------------------------------------------------------------------------------ L004A9E80: push SSZ0050F0B0_Disarm push esi call SUB_L004D7A00 add esp,00000008h neg eax sbb eax,eax pop esi and al,CFh add eax,00000030h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004A9EA0: sub esp,0000011Ch push ebx push ebp push esi push edi push L00500F54 mov [esp+2Ch],ecx push SSZ0050F3B8_prof_txt call SUB_L0043FEF0 xor ebp,ebp add esp,00000008h cmp eax,ebp mov [esp+24h],eax jnz L004A9EEC push SSZ0050F3B8_prof_txt push SSZ0050F380_C__publish004_client_src_shared_ push SSZ00500EE8_File__s__Function_CApp__readConf call SUB_L004C7EC0 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,0000011Ch retn ;------------------------------------------------------------------------------ L004A9EEC: mov [esp+10h],ebp mov cl,[eax+0Ch] test cl,10h jnz L004AA716 mov ebx,00000004h L004A9F01: push eax lea eax,[esp+30h] push 000000FFh push eax call SUB_L004D78B0 add esp,0000000Ch test eax,eax jz L004AA716 lea ecx,[esp+2Ch] push SSZ0050F378_Begin push ecx call SUB_L004D5B80 add esp,00000008h test eax,eax jz L004A9F9C push 00000134h call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004A9F91 mov dl,[esp+1Bh] mov cl,[esp+1Bh] mov [eax+00000110h],dl mov [eax+00000114h],ebp mov [eax+00000118h],ebp mov [eax+0000011Ch],ebp mov [eax+00000120h],cl mov [eax+00000124h],ebp mov [eax+00000128h],ebp mov [eax+0000012Ch],ebp mov [eax+00000130h],ebp mov byte ptr [eax+00000109h],00h mov [esp+10h],eax jmp L004AA708 L004A9F91: xor eax,eax mov [esp+10h],eax jmp L004AA708 L004A9F9C: lea edx,[esp+2Ch] push L0050F374 push edx call SUB_L004D5B80 add esp,00000008h test eax,eax jz L004AA10F mov eax,[esp+28h] mov edi,[eax+00000118h] mov ecx,[eax+0000011Ch] lea esi,[eax+00000110h] sub ecx,edi sar ecx,02h cmp ecx,00000001h jnc L004AA07A mov ecx,esi call SUB_L004AB510 cmp eax,00000001h jbe L004A9FF1 mov ecx,esi call SUB_L004AB510 mov ebx,eax jmp L004A9FF6 L004A9FF1: mov ebx,00000001h L004A9FF6: mov ecx,esi call SUB_L004AB510 mov ebp,eax add ebp,ebx mov eax,ebp jns L004AA007 xor eax,eax L004AA007: lea edx,[00000000h+eax*4] push edx call SUB_L004D4FA9 add esp,00000004h mov ebx,eax mov eax,[esi+04h] mov ecx,esi push ebx push edi push eax call SUB_L004AB4B0 lea ecx,[esp+10h] mov [esp+14h],eax push ecx push 00000001h push eax mov ecx,esi call SUB_L004AB4E0 mov edx,[esp+14h] mov eax,[esi+08h] add edx,00000004h mov ecx,esi push edx push eax push edi call SUB_L004AB4B0 mov ecx,[esi+08h] mov edx,[esi+04h] push ecx push edx mov ecx,esi call SUB_L00447780 mov eax,[esi+04h] push eax call SUB_L004D4F9E lea ecx,[ebx+ebp*4] add esp,00000004h mov [esi+0Ch],ecx mov ecx,esi call SUB_L004AB510 jmp L004AA5A3 L004AA07A: mov eax,edi sub eax,edi sar eax,02h cmp eax,00000001h jnc L004AA0CD lea eax,[edi+04h] mov ecx,esi push eax push edi push edi call SUB_L004AB4B0 mov eax,[esi+08h] lea ecx,[esp+10h] mov edx,eax push ecx sub edx,edi mov ecx,00000001h sar edx,02h sub ecx,edx push ecx push eax mov ecx,esi call SUB_L004AB4E0 mov eax,[esi+08h] cmp edi,eax jz L004AA0C5 L004AA0B9: mov edx,[esp+10h] mov [edi],edx add edi,ebx cmp edi,eax jnz L004AA0B9 L004AA0C5: add [esi+08h],ebx jmp L004AA708 L004AA0CD: lea eax,[edi-04h] push edi push edi push eax mov ecx,esi mov [esp+20h],eax call SUB_L004AB4B0 mov ecx,[esi+08h] lea eax,[ecx-04h] cmp edi,eax jz L004AA0F4 L004AA0E8: sub eax,ebx sub ecx,ebx cmp eax,edi mov edx,[eax] mov [ecx],edx jnz L004AA0E8 L004AA0F4: lea eax,[edi+04h] cmp edi,eax jz L004AA107 L004AA0FB: mov ecx,[esp+10h] mov [edi],ecx add edi,ebx cmp edi,eax jnz L004AA0FB L004AA107: add [esi+08h],ebx jmp L004AA708 L004AA10F: lea edx,[esp+2Ch] push SSZ0050F36C_____ push edx call SUB_L004D563E mov esi,eax add esp,00000008h cmp esi,ebp jz L004AA708 push SSZ0050F364_Name push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA171 push SSZ0050F35C______ push ebp call SUB_L004D563E mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,[esp+10h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb jmp L004AA708 L004AA171: push SSZ0050F350_TrueName push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA1BF push L0050F34C push ebp call SUB_L004D563E mov ecx,[esp+18h] mov edi,eax xor eax,eax add esp,00000008h lea edx,[ecx+00000080h] 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 jmp L004AA708 L004AA1BF: push SSZ0050F344_Desc push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA1F4 push SSZ0050F35C______ push ebp call SUB_L004D563E push eax call SUB_L004D59EB mov ecx,[esp+1Ch] add esp,0000000Ch mov [ecx+00000100h],eax jmp L004AA708 L004AA1F4: push SSZ0050F338_TopLevel push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA237 push SSZ0050F35C______ push ebp call SUB_L004D563E push SSZ00501064_true push eax call SUB_L004D7A00 add esp,00000010h test eax,eax jnz L004AA708 mov edx,[esp+10h] mov byte ptr [edx+00000109h],01h jmp L004AA708 L004AA237: push SSZ0050F330_Gump push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA26C push SSZ0050F36C_____ push ebp call SUB_L004D563E push eax call SUB_L004D59EB mov ecx,[esp+1Ch] add esp,0000000Ch mov [ecx+00000104h],eax jmp L004AA708 L004AA26C: push SSZ0050F328_Type push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA2BB push SSZ0050F36C_____ push ebp call SUB_L004D563E push SSZ0050F31C_Category push eax call SUB_L004D7A00 add esp,00000010h test eax,eax jnz L004AA2AB mov edx,[esp+10h] mov byte ptr [edx+00000108h],01h jmp L004AA708 L004AA2AB: mov eax,[esp+10h] mov byte ptr [eax+00000108h],00h jmp L004AA708 L004AA2BB: push SSZ0050F310_Children push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA49D push SSZ0050F308________ push ebp call SUB_L004D563E mov esi,eax add esp,00000008h cmp esi,ebp jz L004AA708 L004AA2E9: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [esp+20h],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,[esp+10h] mov edi,[ecx+00000128h] mov edx,[ecx+0000012Ch] lea esi,[ecx+00000120h] sub edx,edi sar edx,02h cmp edx,00000001h jnc L004AA3F4 mov ecx,esi call SUB_L004AB510 cmp eax,00000001h jbe L004AA35D mov ecx,esi call SUB_L004AB510 mov ebp,eax jmp L004AA362 L004AA35D: mov ebp,00000001h L004AA362: mov ecx,esi call SUB_L004AB510 mov ebx,eax add ebx,ebp mov eax,ebx jns L004AA373 xor eax,eax L004AA373: shl eax,02h push eax call SUB_L004D4FA9 mov ecx,[esi+04h] add esp,00000004h mov ebp,eax push ebp push edi push ecx mov ecx,esi call SUB_L004AB4B0 lea edx,[esp+20h] mov ecx,esi push edx push 00000001h push eax mov [esp+20h],eax call SUB_L004AB4E0 mov eax,[esp+14h] mov ecx,[esi+08h] add eax,00000004h push eax push ecx push edi mov ecx,esi call SUB_L004AB4B0 mov edx,[esi+08h] mov eax,[esi+04h] push edx push eax mov ecx,esi call SUB_L00447780 mov ecx,[esi+04h] push ecx call SUB_L004D4F9E lea edx,[ebp+ebx*4+00h] add esp,00000004h mov ecx,esi mov [esi+0Ch],edx call SUB_L004AB510 lea eax,[ebp+eax*4+04h] mov [esi+04h],ebp mov [esi+08h],eax mov ebx,00000004h xor ebp,ebp jmp L004AA480 L004AA3F4: mov eax,edi sub eax,edi sar eax,02h cmp eax,00000001h jnc L004AA443 lea ecx,[edi+04h] push ecx push edi push edi mov ecx,esi call SUB_L004AB4B0 mov eax,[esi+08h] lea edx,[esp+20h] mov ecx,eax push edx sub ecx,edi mov edx,00000001h sar ecx,02h sub edx,ecx mov ecx,esi push edx push eax call SUB_L004AB4E0 mov ecx,[esi+08h] mov eax,edi cmp edi,ecx jz L004AA47D L004AA435: mov edx,[esp+20h] mov [eax],edx add eax,ebx cmp eax,ecx jnz L004AA435 jmp L004AA47D L004AA443: lea eax,[edi-04h] push edi push edi push eax mov ecx,esi mov [esp+20h],eax call SUB_L004AB4B0 mov ecx,[esi+08h] lea eax,[ecx-04h] cmp edi,eax jz L004AA46A L004AA45E: sub eax,ebx sub ecx,ebx cmp eax,edi mov edx,[eax] mov [ecx],edx jnz L004AA45E L004AA46A: lea eax,[edi+04h] cmp edi,eax jz L004AA47D L004AA471: mov ecx,[esp+20h] mov [edi],ecx add edi,ebx cmp edi,eax jnz L004AA471 L004AA47D: add [esi+08h],ebx L004AA480: push SSZ0050F308________ push ebp call SUB_L004D563E mov esi,eax add esp,00000008h cmp esi,ebp jnz L004AA2E9 jmp L004AA708 L004AA49D: push SSZ0050F300_Skill push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA64E push SSZ0050F308________ push ebp call SUB_L004D563E push eax call SUB_L004A99D0 push SSZ0050F308________ push ebp mov esi,eax call SUB_L004D563E push eax call SUB_L004D59EB mov edx,[esp+28h] mov [esp+34h],si mov [esp+36h],ax add esp,00000018h mov edi,[edx+00000118h] mov eax,[edx+0000011Ch] lea esi,[edx+00000110h] sub eax,edi sar eax,02h cmp eax,00000001h jnc L004AA5B9 mov ecx,esi call SUB_L004AB510 cmp eax,00000001h jbe L004AA51F mov ecx,esi call SUB_L004AB510 mov ebx,eax jmp L004AA524 L004AA51F: mov ebx,00000001h L004AA524: mov ecx,esi call SUB_L004AB510 mov ebp,eax add ebp,ebx mov eax,ebp jns L004AA535 xor eax,eax L004AA535: lea ecx,[00000000h+eax*4] push ecx call SUB_L004D4FA9 mov edx,[esi+04h] add esp,00000004h mov ebx,eax mov ecx,esi push ebx push edi push edx call SUB_L004AB4B0 lea ecx,[esp+1Ch] mov [esp+14h],eax push ecx push 00000001h push eax mov ecx,esi call SUB_L004AB4E0 mov edx,[esp+14h] mov eax,[esi+08h] add edx,00000004h mov ecx,esi push edx push eax push edi call SUB_L004AB4B0 mov ecx,[esi+08h] mov edx,[esi+04h] push ecx push edx mov ecx,esi call SUB_L00447780 mov eax,[esi+04h] push eax call SUB_L004D4F9E lea ecx,[ebx+ebp*4] add esp,00000004h mov [esi+0Ch],ecx mov ecx,esi call SUB_L004AB510 L004AA5A3: lea edx,[ebx+eax*4+04h] xor ebp,ebp mov [esi+08h],edx mov [esi+04h],ebx mov ebx,00000004h jmp L004AA708 L004AA5B9: mov eax,edi sub eax,edi sar eax,02h cmp eax,00000001h jnc L004AA60C lea eax,[edi+04h] mov ecx,esi push eax push edi push edi call SUB_L004AB4B0 mov eax,[esi+08h] lea ecx,[esp+1Ch] mov edx,eax push ecx sub edx,edi mov ecx,00000001h sar edx,02h sub ecx,edx push ecx push eax mov ecx,esi call SUB_L004AB4E0 mov eax,[esi+08h] cmp edi,eax jz L004AA604 L004AA5F8: mov edx,[esp+1Ch] mov [edi],edx add edi,ebx cmp edi,eax jnz L004AA5F8 L004AA604: add [esi+08h],ebx jmp L004AA708 L004AA60C: lea eax,[edi-04h] push edi push edi push eax mov ecx,esi mov [esp+20h],eax call SUB_L004AB4B0 mov ecx,[esi+08h] lea eax,[ecx-04h] cmp edi,eax jz L004AA633 L004AA627: sub eax,ebx sub ecx,ebx cmp eax,edi mov edx,[eax] mov [ecx],edx jnz L004AA627 L004AA633: lea eax,[edi+04h] cmp edi,eax jz L004AA646 L004AA63A: mov ecx,[esp+1Ch] mov [edi],ecx add edi,ebx cmp edi,eax jnz L004AA63A L004AA646: add [esi+08h],ebx jmp L004AA708 L004AA64E: push SSZ0050F2F8_Stat push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA708 push SSZ0050F308________ push ebp call SUB_L004D563E mov esi,eax push L0050F2F4 push esi call SUB_L004D7A00 add esp,00000010h test eax,eax jnz L004AA6A4 push SSZ0050F308________ push ebp call SUB_L004D563E push eax call SUB_L004D59EB mov edx,[esp+1Ch] add esp,0000000Ch mov [edx+0000010Ah],ax jmp L004AA708 L004AA6A4: push L0050F2F0 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA6D7 push SSZ0050F2E8________ push ebp call SUB_L004D563E push eax call SUB_L004D59EB mov ecx,[esp+1Ch] add esp,0000000Ch mov [ecx+0000010Ch],ax jmp L004AA708 L004AA6D7: push L0050F2E4 push esi call SUB_L004D7A00 add esp,00000008h test eax,eax jnz L004AA708 push SSZ0050F2E8________ push ebp call SUB_L004D563E push eax call SUB_L004D59EB mov edx,[esp+1Ch] add esp,0000000Ch mov [edx+0000010Eh],ax L004AA708: mov eax,[esp+24h] test byte ptr [eax+0Ch],10h jz L004A9F01 L004AA716: pop edi pop esi pop ebp pop ebx add esp,0000011Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AA730: push FFFFFFFFh push L004E5A49 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L0045D130 xor ebx,ebx mov ecx,ebp mov [esp+1Ch],ebx mov dword ptr [ebp+00h],L004F0614 call SUB_L004280D0 or ecx,FFFFFFFFh mov [ebp+0000616Ah],bl mov [ebp+0000009Ch],ecx mov [ebp+000000CCh],ebx mov [ebp+000000C8h],ebx mov [ebp+000000D0h],ebx mov [ebp+000000DCh],ecx mov [ebp+000000D8h],ecx mov [ebp+000000D4h],ecx mov edi,L007049FC xor eax,eax mov dword ptr [ebp+08h],SSZ004FFC64_scrollchoice_gump repne scasb not ecx sub edi,ecx lea edx,[ebp+000060F8h] mov eax,ecx mov esi,edi mov edi,edx mov edx,[esp+28h] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+2Ch] and ecx,00000003h push SSZ004FFC44_framedata_for_CScrollChoiceGump rep movsb mov ecx,[esp+28h] mov [ebp+60h],ebx mov [ebp+5Ch],ebx mov [ebp+00006148h],ecx mov ecx,[esp+34h] mov esi,00000001h push 00000008h mov [ebp+00006154h],esi mov [ebp+00006168h],bl mov [ebp+000000ACh],ebx mov [ebp+000000A8h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+000000B4h],ebx mov [ebp+000000B0h],ebx mov [ebp+64h],ebx mov [ebp+54h],edx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov [ebp+20h],eax mov [ebp+24h],ecx mov [ebp+30h],ebx mov [ebp+34h],ebx mov [ebp+14h],ebx mov [ebp+18h],esi call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov cl,[ebp+00006168h] cmp cl,bl jz L004AA8F5 mov eax,[ebp+20h] mov dword ptr [ebp+000000B8h],0000004Ah mov dword ptr [ebp+000000BCh],0000000Ah lea edx,[eax-1Eh] mov [ebp+000000C0h],edx mov edx,[ebp+24h] lea edi,[edx-43h] jmp L004AA91B L004AA8F5: mov eax,[ebp+20h] mov dword ptr [ebp+000000B8h],00000014h mov dword ptr [ebp+000000BCh],0000000Ah lea edx,[eax-14h] mov [ebp+000000C0h],edx mov edx,[ebp+24h] lea edi,[edx-19h] L004AA91B: add eax,FFFFFFEDh cmp cl,bl mov [ebp+000000C4h],edi mov [ebp+00006158h],eax mov [ebp+0000615Ch],ebx jz L004AA939 add edx,FFFFFFBCh jmp L004AA93C L004AA939: add edx,FFFFFFEBh L004AA93C: push 000000BCh mov [ebp+00006160h],edx call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L004AA985 mov ecx,[ebp+00006160h] mov edx,[ebp+0000615Ch] push 000000FEh push ebp push ecx mov ecx,[ebp+00006158h] add edx,00000015h push esi dec ecx push edx push ecx mov ecx,eax call SUB_L00422790 jmp L004AA987 L004AA985: xor eax,eax L004AA987: push esi push ebp mov ecx,eax mov [esp+24h],bl mov [ebp+0000614Ch],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L004AA9E0 mov ecx,[ebp+00006158h] mov edx,[ebp+0000615Ch] push ebx push 000000FBh push 000000FAh push L00420E60 push ebx push 00000002h push ebp dec ecx push edx push ecx mov ecx,eax call SUB_L00421F40 jmp L004AA9E2 L004AA9E0: xor eax,eax L004AA9E2: push esi push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],000000FAh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L004AAA3F mov ecx,[ebp+00006158h] mov edx,[ebp+00006160h] push ebx push 000000FDh push 000000FCh push L00420EA0 push ebx push 00000002h push ebp dec ecx push edx push ecx mov ecx,eax call SUB_L00421F40 jmp L004AAA41 L004AAA3F: xor eax,eax L004AAA41: push esi push ebp mov ecx,eax mov [esp+24h],bl mov dword ptr [eax+000000ACh],000000FCh call SUB_L004587A0 mov ecx,ebp call SUB_L004286B0 mov ecx,[esp+14h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 16 L004AAA80: push esi mov esi,ecx call SUB_L004AAAA0 test byte ptr [esp+08h],01h jz L004AAA98 push esi call SUB_L004D4F9E add esp,00000004h L004AAA98: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AAAA0: jmp SUB_L00428100 Align 16 L004AAAB0: mov eax,[ecx+6Ch] test eax,eax jz L004AAAC1 mov eax,[esp+04h] push eax call SUB_L0041CE70 L004AAAC1: retn 0004h ;------------------------------------------------------------------------------ Align 16 L004AAAD0: push ecx mov eax,[esp+08h] push esi mov esi,ecx push edi cmp eax,[esi+000000B8h] jl L004AAB69 cmp eax,[esi+000000C0h] jg L004AAB69 mov edi,[esp+14h] mov eax,[esi+000000BCh] cmp edi,eax jl L004AAB69 cmp edi,[esi+000000C4h] jg L004AAB69 lea eax,[esp+14h] lea ecx,[esp+10h] push eax mov eax,[esi+00006164h] lea edx,[esp+0Ch] push ecx push edx push L004FEBE4 push eax call SUB_L00441BC0 mov eax,edi mov edi,[esi+000000BCh] sub eax,edi mov ecx,[esi+000000CCh] cdq idiv [esp+24h] mov edx,[esi+000000C8h] add esp,00000014h add eax,edx cmp eax,ecx jge L004AAB69 mov ecx,[esi+0000616Ch] mov dword ptr [esi+6Ch],00000000h test ecx,ecx jz L004AAB69 mov [esi+00006174h],eax mov eax,[esi+00006170h] mov edx,[ecx] push eax call [edx] L004AAB69: pop edi pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 4 L004AAB70: push esi mov esi,ecx call SUB_L004AAB90 test byte ptr [esp+08h],01h jz L004AAB88 push esi call SUB_L004D4F9E add esp,00000004h L004AAB88: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AAB90: mov dword ptr [ecx],L004EFD48 jmp SUB_L0042A570 Align 8 L004AABA0: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov ecx,[esi+000001D0h] add esp,00000004h test ecx,ecx jz L004AABC2 mov edx,[esi+000001D4h] mov eax,[ecx] push edx call [eax] L004AABC2: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004AABD0: mov eax,[ecx+000000D4h] mov dl,[eax+000000B4h] mov [L00C880E0],dl mov eax,[ecx+000000D8h] mov dl,[eax+000000B4h] mov [L00C880DE],dl mov eax,[ecx+000000DCh] mov dl,[eax+000000B4h] mov [L00C880DC],dl mov al,[ecx+000000E0h] mov [L00C880E1],al mov dl,[ecx+000000E4h] mov [L00C880DF],dl mov al,[ecx+000000E8h] mov [L00C880DD],al mov edx,[ecx+000000C4h] mov eax,[edx+000000B4h] mov edx,0000000Ah cmp eax,edx mov [L00C880F2],dl jl L004AAC48 mov [L00C880F2],al L004AAC48: mov eax,[ecx+000000C8h] mov eax,[eax+000000B4h] mov [L00C880F1],dl cmp eax,edx jl L004AAC63 mov [L00C880F1],al L004AAC63: mov ecx,[ecx+000000CCh] mov eax,[ecx+000000B4h] mov [L00C880F0],dl cmp eax,edx jl L004AAC7E mov [L00C880F0],al L004AAC7E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004AAC80: push FFFFFFFFh push L004E5A68 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h mov al,[esp+30h] push ebx push ebp push esi push edi mov [esp+20h],al mov edi,ecx xor eax,eax mov [esp+1Ch],edi mov [esp+24h],eax mov [esp+28h],eax mov [esp+2Ch],eax mov ebp,[esp+40h] mov [esp+38h],eax mov dword ptr [esp+14h],00000002h L004AACC8: xor ebx,ebx xor esi,esi L004AACCC: mov eax,[edi+20h] test eax,eax jz L004AAD0A mov ecx,[edi+24h] sub ecx,eax sar ecx,02h cmp esi,ecx jnc L004AAD0A mov edx,eax mov eax,[edx+esi*4] mov [esp+18h],eax mov edx,[eax+000000B4h] add ebx,edx cmp eax,ebp jz L004AAD07 mov ecx,[esp+28h] lea eax,[esp+18h] push eax push ecx lea ecx,[esp+28h] call SUB_L004AB100 L004AAD07: inc esi jmp L004AACCC L004AAD0A: sub ebx,[edi+04h] jz L004AAE3D mov ecx,[esp+24h] mov eax,ebx cdq sub eax,edx mov edx,[ecx] mov ecx,[ecx+04h] mov edi,[edx+000000B4h] mov esi,[ecx+000000B4h] mov ecx,[edx+000000ACh] sar eax,1 mov ebp,edi sub ebx,eax sub ebp,eax mov [esp+10h],edi cmp ebp,ecx jge L004AAD53 mov ebp,[esp+10h] mov edi,ecx sub edi,ebp add edi,eax add ebx,edi sub eax,edi mov edi,ebp L004AAD53: mov ebp,esi sub ebp,ebx cmp ebp,ecx jge L004AAD63 sub ecx,esi add ecx,ebx add eax,ecx sub ebx,ecx L004AAD63: mov ebp,[edx+000000B0h] mov ecx,edi sub ecx,eax cmp ecx,ebp jle L004AAD7B mov ecx,edi sub ecx,ebp sub ecx,eax add ebx,ecx sub eax,ecx L004AAD7B: mov ecx,esi sub ecx,ebx cmp ecx,ebp jle L004AAD8D mov ecx,esi sub ecx,ebp sub ecx,eax add ebx,ecx sub eax,ecx L004AAD8D: sub edi,eax mov eax,[edx+000000ACh] cmp edi,eax jge L004AAD9B mov edi,eax L004AAD9B: mov eax,[edx+000000B0h] cmp edi,eax jle L004AADA7 mov edi,eax L004AADA7: mov [edx+000000B4h],edi mov edx,[esp+24h] push 00000001h push 00000000h mov edi,[edx] push 00000001h push 00000000h mov eax,[edi+000000B4h] mov ecx,[edi+000000A0h] lea eax,[eax+eax*2] shl eax,05h cdq idiv [edi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov eax,[esp+24h] sub esi,ebx mov eax,[eax+04h] mov ecx,[eax+000000ACh] cmp esi,ecx jge L004AADF2 mov esi,ecx L004AADF2: mov ecx,[eax+000000B0h] cmp esi,ecx jle L004AADFE mov esi,ecx L004AADFE: mov [eax+000000B4h],esi mov ecx,[esp+24h] push 00000001h push 00000000h mov esi,[ecx+04h] push 00000001h push 00000000h mov eax,[esi+000000B4h] mov ecx,[esi+000000A0h] lea eax,[eax+eax*2] shl eax,05h cdq idiv [esi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov ebp,[esp+40h] mov edi,[esp+1Ch] L004AAE3D: mov edx,[esp+24h] mov eax,[esp+28h] push edx push eax push eax call SUB_L004AB530 add esp,0000000Ch mov esi,eax mov eax,[esp+28h] lea ecx,[esp+20h] push eax push esi call SUB_L00447780 mov eax,[esp+14h] mov [esp+28h],esi dec eax mov [esp+14h],eax jnz L004AACC8 xor esi,esi xor ebx,ebx L004AAE78: mov eax,[edi+20h] test eax,eax jz L004AAEB8 mov ecx,[edi+24h] sub ecx,eax sar ecx,02h cmp ebx,ecx jnc L004AAEB8 mov edx,eax mov eax,[edx+ebx*4] mov [esp+40h],eax mov edx,[eax+000000B4h] add esi,edx cmp eax,ebp jz L004AAEB5 mov ecx,[esp+28h] lea eax,[esp+40h] push eax push 00000001h push ecx lea ecx,[esp+2Ch] call SUB_L004AB2A0 L004AAEB5: inc ebx jmp L004AAE78 L004AAEB8: mov eax,[edi+08h] cmp esi,eax jge L004AAF9F mov ebp,[esp+24h] sub eax,esi xor ecx,ecx mov ebx,eax mov [esp+40h],ecx L004AAED1: mov eax,[esp+28h] test ebp,ebp jz L004AAF36 mov edx,eax sub edx,ebp sar edx,02h cmp ecx,edx jnc L004AAF36 mov ecx,[ebp+ecx*4+00h] mov esi,[ecx+000000B4h] mov eax,[ecx+000000B0h] cmp esi,eax jge L004AAF2B sub eax,esi mov edx,eax cmp edx,ebx jl L004AAF2B jle L004AAF04 mov edx,ebx L004AAF04: lea eax,[edx+esi] mov esi,[ecx+000000ACh] cmp eax,esi jge L004AAF13 mov eax,esi L004AAF13: mov esi,[ecx+000000B0h] cmp eax,esi jle L004AAF1F mov eax,esi L004AAF1F: mov [ecx+000000B4h],eax mov ebp,[esp+24h] sub ebx,edx L004AAF2B: mov ecx,[esp+40h] inc ecx mov [esp+40h],ecx jmp L004AAED1 L004AAF36: cmp eax,eax mov edx,eax mov ecx,ebp jz L004AAF50 L004AAF3E: mov esi,[eax] add eax,00000004h mov [ecx],esi add ecx,00000004h cmp eax,edx jnz L004AAF3E mov ebp,[esp+24h] L004AAF50: mov [esp+28h],ecx xor ebx,ebx L004AAF56: mov eax,[edi+20h] test eax,eax jz L004AAFA3 mov ecx,[edi+24h] sub ecx,eax sar ecx,02h cmp ebx,ecx jnc L004AAFA3 mov edx,eax push 00000001h push 00000000h push 00000001h mov esi,[edx+ebx*4] push 00000000h mov eax,[esi+000000B4h] mov ecx,[esi+000000A0h] lea eax,[eax+eax*2] shl eax,05h cdq idiv [esi+000000B0h] sub eax,[ecx+30h] push eax call SUB_L00457800 mov ebp,[esp+24h] inc ebx jmp L004AAF56 L004AAF9F: mov ebp,[esp+24h] L004AAFA3: push ebp call SUB_L004D4F9E mov ecx,[esp+34h] add esp,00000004h mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 L004AAFD0: push esi push edi mov edi,[esp+0Ch] mov esi,ecx lea eax,[edi-01h] cmp eax,00000005h ja L004AB029 jmp [CASE_PROCTABLE_004AB0A0+eax*4] CASE_004AB0A0_PROC0000: mov eax,[esi+18h] mov ecx,[eax+000000C4h] jmp L004AB02B CASE_004AB0A0_PROC0001: mov ecx,[esi+18h] mov ecx,[ecx+000000C8h] jmp L004AB02B CASE_004AB0A0_PROC0002: mov edx,[esi+18h] mov ecx,[edx+000000CCh] jmp L004AB02B CASE_004AB0A0_PROC0003: mov eax,[esi+18h] mov ecx,[eax+000000D4h] jmp L004AB02B CASE_004AB0A0_PROC0004: mov ecx,[esi+18h] mov ecx,[ecx+000000D8h] jmp L004AB02B CASE_004AB0A0_PROC0005: mov edx,[esi+18h] mov ecx,[edx+000000DCh] jmp L004AB02B L004AB029: xor ecx,ecx L004AB02B: mov eax,[esi+14h] dec eax cmp eax,00000005h ja L004AB07D jmp [CASE_PROCTABLE_004AB0B8+eax*4] CASE_004AB0B8_PROC0000: mov eax,[esi+18h] mov eax,[eax+000000C4h] jmp L004AB07F CASE_004AB0B8_PROC0001: mov edx,[esi+18h] mov eax,[edx+000000C8h] jmp L004AB07F CASE_004AB0B8_PROC0002: mov eax,[esi+18h] mov eax,[eax+000000CCh] jmp L004AB07F CASE_004AB0B8_PROC0003: mov edx,[esi+18h] mov eax,[edx+000000D4h] jmp L004AB07F CASE_004AB0B8_PROC0004: mov eax,[esi+18h] mov eax,[eax+000000D8h] jmp L004AB07F CASE_004AB0B8_PROC0005: mov edx,[esi+18h] mov eax,[edx+000000DCh] jmp L004AB07F L004AB07D: xor eax,eax L004AB07F: push eax push ecx mov ecx,esi call SUB_L004AAC80 mov ecx,[esi+10h] test ecx,ecx jz L004AB097 mov edx,[esi+0Ch] mov eax,[ecx] push edx call [eax] L004AB097: mov [esi+14h],edi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004AB0A0: dd CASE_004AB0A0_PROC0000 dd CASE_004AB0A0_PROC0001 dd CASE_004AB0A0_PROC0002 dd CASE_004AB0A0_PROC0003 dd CASE_004AB0A0_PROC0004 dd CASE_004AB0A0_PROC0005 CASE_PROCTABLE_004AB0B8: dd CASE_004AB0B8_PROC0000 dd CASE_004AB0B8_PROC0001 dd CASE_004AB0B8_PROC0002 dd CASE_004AB0B8_PROC0003 dd CASE_004AB0B8_PROC0004 dd CASE_004AB0B8_PROC0005 SUB_L004AB0D0: push ecx push esi mov esi,ecx mov eax,[esi+04h] push eax mov [esp+08h],eax call SUB_L004D4F9E add esp,00000004h xor eax,eax mov [esi+04h],eax mov [esi+08h],eax mov [esi+0Ch],eax pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AB100: sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov edi,[esp+1Ch] mov eax,[esi+08h] mov ecx,[esi+0Ch] mov edx,[esi+04h] mov ebp,edi sub ecx,eax sub ebp,edx sar ecx,02h sar ebp,02h cmp ecx,00000001h mov [esp+14h],ebp jnc L004AB1F9 test edx,edx jz L004AB13F mov ecx,eax sub ecx,edx sar ecx,02h cmp ecx,00000001h ja L004AB144 L004AB13F: mov ecx,00000001h L004AB144: test edx,edx jnz L004AB14C xor eax,eax jmp L004AB151 L004AB14C: sub eax,edx sar eax,02h L004AB151: add eax,ecx test eax,eax mov [esp+10h],eax jge L004AB15D xor eax,eax L004AB15D: lea edx,[00000000h+eax*4] push edx call SUB_L004D4FA9 mov ebx,[esi+04h] add esp,00000004h cmp ebx,edi mov [esp+1Ch],eax mov ebp,eax jz L004AB18E L004AB17A: push ebx push ebp call SUB_L004AB560 add ebx,00000004h add esp,00000008h add ebp,00000004h cmp ebx,edi jnz L004AB17A L004AB18E: mov eax,[esp+20h] push eax push ebp call SUB_L004AB560 mov ecx,[esi+08h] add esp,00000008h add ebp,00000004h push ebp push ecx push edi mov ecx,esi call SUB_L004AB4B0 mov edx,[esi+08h] mov eax,[esi+04h] push edx push eax mov ecx,esi call SUB_L00447780 mov ecx,[esi+04h] push ecx call SUB_L004D4F9E mov edi,[esp+20h] mov edx,[esp+14h] add esp,00000004h mov ecx,esi lea eax,[edi+edx*4] mov [esi+0Ch],eax call SUB_L004AB510 mov ebp,[esp+14h] lea ecx,[edi+eax*4+04h] mov eax,edi mov [esi+04h],edi mov [esi+08h],ecx pop edi lea eax,[eax+ebp*4] pop esi pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L004AB1F9: mov edx,eax sub edx,edi sar edx,02h cmp edx,00000001h jnc L004AB247 lea ecx,[edi+04h] push ecx push eax push edi mov ecx,esi call SUB_L004AB4B0 mov eax,[esi+08h] mov ebx,[esp+20h] mov edx,eax mov ecx,00000001h sub edx,edi push ebx sar edx,02h sub ecx,edx push ecx push eax mov ecx,esi call SUB_L004AB4E0 mov ecx,[esi+08h] mov eax,edi cmp edi,ecx jz L004AB283 L004AB23A: mov edx,[ebx] mov [eax],edx add eax,00000004h cmp eax,ecx jnz L004AB23A jmp L004AB283 L004AB247: push eax push eax add eax,FFFFFFFCh mov ecx,esi push eax call SUB_L004AB4B0 mov ecx,[esi+08h] lea eax,[ecx-04h] cmp edi,eax jz L004AB26D L004AB25E: mov edx,[eax-04h] sub eax,00000004h sub ecx,00000004h cmp eax,edi mov [ecx],edx jnz L004AB25E L004AB26D: lea eax,[edi+04h] cmp edi,eax jz L004AB283 mov ecx,[esp+20h] L004AB278: mov edx,[ecx] mov [edi],edx add edi,00000004h cmp edi,eax jnz L004AB278 L004AB283: mov eax,[esi+08h] pop edi add eax,00000004h mov [esi+08h],eax mov eax,[esi+04h] pop esi lea eax,[eax+ebp*4] pop ebp pop ebx add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004AB2A0: sub esp,00000008h push ebx push ebp push esi push edi mov ebp,[esp+20h] mov edi,ecx mov [esp+10h],edi mov eax,[edi+08h] mov ecx,[edi+0Ch] sub ecx,eax sar ecx,02h cmp ecx,ebp jnc L004AB3CA mov edx,[edi+04h] test edx,edx jz L004AB2D6 mov ecx,eax sub ecx,edx sar ecx,02h cmp ebp,ecx jc L004AB2D8 L004AB2D6: mov ecx,ebp L004AB2D8: test edx,edx jnz L004AB2E0 xor eax,eax jmp L004AB2E5 L004AB2E0: sub eax,edx sar eax,02h L004AB2E5: add eax,ecx test eax,eax mov [esp+14h],eax jge L004AB2F1 xor eax,eax L004AB2F1: lea edx,[00000000h+eax*4] push edx call SUB_L004D4FA9 mov ebx,[esp+20h] mov [esp+24h],eax mov ecx,eax mov eax,[edi+04h] add esp,00000004h cmp eax,ebx jz L004AB324 L004AB312: test ecx,ecx jz L004AB31A mov edx,[eax] mov [ecx],edx L004AB31A: add eax,00000004h add ecx,00000004h cmp eax,ebx jnz L004AB312 L004AB324: test ebp,ebp mov eax,ecx jbe L004AB342 mov esi,[esp+24h] mov edx,ebp L004AB330: test eax,eax jz L004AB33C mov edi,[esi] mov [eax],edi mov edi,[esp+10h] L004AB33C: add eax,00000004h dec edx jnz L004AB330 L004AB342: mov edi,[edi+08h] lea esi,[00000000h+ebp*4] cmp ebx,edi lea edx,[esi+ecx] jz L004AB36D mov eax,edx sub eax,esi sub eax,ecx add eax,ebx L004AB35B: test edx,edx jz L004AB363 mov ecx,[eax] mov [edx],ecx L004AB363: add eax,00000004h add edx,00000004h cmp eax,edi jnz L004AB35B L004AB36D: mov esi,[esp+10h] mov eax,[esi+04h] push eax mov [esp+28h],eax call SUB_L004D4F9E mov edx,[esp+24h] mov eax,[esp+18h] add esp,00000004h lea ecx,[edx+eax*4] mov [esi+0Ch],ecx mov ecx,[esi+04h] test ecx,ecx jnz L004AB3AD xor eax,eax mov [esi+04h],edx mov eax,ebp pop edi lea eax,[edx+eax*4] mov [esi+08h],eax pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004AB3AD: mov eax,[esi+08h] mov [esi+04h],edx sub eax,ecx pop edi sar eax,02h add eax,ebp lea eax,[edx+eax*4] mov [esi+08h],eax pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004AB3CA: mov edx,[esp+1Ch] mov ecx,eax sub ecx,edx sar ecx,02h cmp ecx,ebp jnc L004AB447 lea ebx,[00000000h+ebp*4] cmp edx,eax lea esi,[ebx+edx] jz L004AB401 mov ecx,esi sub ecx,ebx L004AB3EB: test esi,esi jz L004AB3F7 mov edi,[ecx] mov [esi],edi mov edi,[esp+10h] L004AB3F7: add ecx,00000004h add esi,00000004h cmp ecx,eax jnz L004AB3EB L004AB401: mov eax,[edi+08h] mov esi,[esp+24h] mov ecx,eax sub ecx,edx sar ecx,02h sub ebp,ecx jz L004AB421 L004AB413: test eax,eax jz L004AB41B mov ecx,[esi] mov [eax],ecx L004AB41B: add eax,00000004h dec ebp jnz L004AB413 L004AB421: mov ecx,[edi+08h] mov eax,edx cmp edx,ecx jz L004AB435 L004AB42A: mov edx,[esi] mov [eax],edx add eax,00000004h cmp eax,ecx jnz L004AB42A L004AB435: mov eax,[edi+08h] add eax,ebx mov [edi+08h],eax pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004AB447: test ebp,ebp jbe L004AB49F shl ebp,02h mov ecx,eax mov esi,eax sub ecx,ebp cmp ecx,eax jz L004AB46A L004AB458: test esi,esi jz L004AB460 mov ebx,[ecx] mov [esi],ebx L004AB460: add ecx,00000004h add esi,00000004h cmp ecx,eax jnz L004AB458 L004AB46A: mov ecx,[edi+08h] mov eax,ecx sub eax,ebp cmp edx,eax jz L004AB484 L004AB475: mov esi,[eax-04h] sub eax,00000004h sub ecx,00000004h cmp eax,edx mov [ecx],esi jnz L004AB475 L004AB484: lea ecx,[edx+ebp] mov eax,edx cmp edx,ecx jz L004AB49C mov edx,[esp+24h] L004AB491: mov esi,[edx] mov [eax],esi add eax,00000004h cmp eax,ecx jnz L004AB491 L004AB49C: add [edi+08h],ebp L004AB49F: pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 8 SUB_L004AB4B0: mov ecx,[esp+04h] mov edx,[esp+08h] cmp ecx,edx jz L004AB4D7 mov eax,[esp+0Ch] push esi L004AB4C1: test eax,eax jz L004AB4C9 mov esi,[ecx] mov [eax],esi L004AB4C9: add ecx,00000004h add eax,00000004h cmp ecx,edx jnz L004AB4C1 pop esi retn 000Ch ;------------------------------------------------------------------------------ L004AB4D7: mov eax,[esp+0Ch] retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004AB4E0: mov eax,[esp+08h] test eax,eax jbe L004AB502 mov edx,[esp+0Ch] mov ecx,eax mov eax,[esp+04h] push esi L004AB4F3: test eax,eax jz L004AB4FB mov esi,[edx] mov [eax],esi L004AB4FB: add eax,00000004h dec ecx jnz L004AB4F3 pop esi L004AB502: retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004AB510: mov edx,[ecx+04h] test edx,edx jnz L004AB51A xor eax,eax retn ;------------------------------------------------------------------------------ L004AB51A: mov eax,[ecx+08h] sub eax,edx sar eax,02h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AB530: mov ecx,[esp+04h] mov edx,[esp+08h] cmp ecx,edx jz L004AB551 mov eax,[esp+0Ch] push esi L004AB541: mov esi,[ecx] add ecx,00000004h mov [eax],esi add eax,00000004h cmp ecx,edx jnz L004AB541 pop esi retn ;------------------------------------------------------------------------------ L004AB551: mov eax,[esp+0Ch] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AB560: mov eax,[esp+04h] test eax,eax jz L004AB570 mov ecx,[esp+08h] mov edx,[ecx] mov [eax],edx L004AB570: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AB580: push FFFFFFFFh push L004E5AA9 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00458F30 mov eax,[esp+38h] mov edx,[esp+2Ch] mov ecx,[esp+3Ch] mov [esi+0000009Ch],eax lea eax,[esi+000000C4h] xor edi,edi push edx push eax mov [esp+2Ch],edi mov [esi+000000A0h],edi mov [esi+000000A4h],ecx mov [esi+000000ACh],edi mov [esi+000000B0h],edi mov [esi+000000B4h],edi mov [esi+000000B8h],edi mov [esi+000000BCh],edi mov [esi+000000C0h],edi mov dword ptr [esi],L004F078C mov dword ptr [esi+08h],SSZ0050F3F0_profile_gump call SUB_L004C44F0 mov ecx,[esp+38h] lea ebx,[esi+000008C4h] push ecx push ebx call SUB_L004C4430 mov edx,[esp+44h] lea ebp,[esi+000018C4h] push edx push ebp call SUB_L004C4430 mov eax,[esp+48h] lea ecx,[esi+000010C4h] push eax push ecx call SUB_L004C4430 mov edx,[esp+54h] lea eax,[esi+000020C4h] push edx push eax call SUB_L004C4430 mov eax,[esi+0000009Ch] add esp,00000028h cmp eax,edi mov eax,ebp jnz L004AB65E mov eax,ebx L004AB65E: push eax mov [esi+000028C4h],eax call SUB_L004C4300 lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx push ebp push 00000820h mov [esi+000028C8h],eax mov dword ptr [esi+54h],00000820h call SUB_L004434A0 mov ecx,[ebp+00h] mov dword ptr [ebx],0000012Ch lea ebp,[esi+2Ch] lea ebx,[esi+28h] push ebp push ebx push 000009D4h mov [esi+1Ch],ecx mov dword ptr [esi+30h],000000AAh mov dword ptr [esi+34h],0000005Ah call SUB_L004434A0 push SSZ0050F3DC_profile_framedata push 00000010h mov [esi+14h],edi mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050F3CC_profile_frame1 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebx] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+3Ch] 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 push 000009D4h push SUB_L004B9B80 call SUB_L00443500 add esp,00000048h lea eax,[esp+10h] lea ecx,[esp+18h] push eax push ecx push 0000082Eh call SUB_L004434A0 push 000000BCh call SUB_L004D4FA9 add esp,00000010h mov [esp+30h],eax test eax,eax mov byte ptr [esp+24h],01h jz L004AB7B9 mov edx,[esi+24h] mov ecx,[esp+10h] sub edx,ecx push 0000001Fh sub edx,00000038h push esi push edx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00422790 jmp L004AB7BB L004AB7B9: xor eax,eax L004AB7BB: push 00000001h push esi mov ecx,eax mov byte ptr [esp+2Ch],00h mov [esi+000000A8h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov byte ptr [esp+24h],02h jz L004AB810 push 00000000h push 0000082Dh push 0000082Dh push SUB_L0041E070 push 00000000h push 00000000h push esi push 00000000h push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004AB812 L004AB810: xor eax,eax L004AB812: push 00000001h push esi mov ecx,eax mov byte ptr [esp+2Ch],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax test eax,eax mov byte ptr [esp+24h],03h jz L004AB86C mov ecx,[esi+24h] mov ebx,[esp+10h] push 00000000h push 0000082Eh push 0000082Eh push L004212C0 sub ecx,ebx push 00000000h push 00000000h sub ecx,00000003h push esi push ecx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004AB86E L004AB86C: xor eax,eax L004AB86E: push 00000001h push esi mov ecx,eax mov byte ptr [esp+2Ch],00h mov dword ptr [eax+000000ACh],0000082Fh call SUB_L004587A0 mov edx,[esi+24h] mov eax,[esi+20h] push 00000000h push edx push eax mov ecx,esi call SUB_L004ABBB0 push 00000001h push 00000000h mov ecx,esi call SUB_L004587A0 mov ecx,[esp+1Ch] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0014h ;------------------------------------------------------------------------------ Align 8 L004AB8C0: push esi mov esi,ecx call SUB_L004AB8E0 test byte ptr [esp+08h],01h jz L004AB8D8 push esi call SUB_L004D4F9E add esp,00000004h L004AB8D8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AB8E0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E5ACB push eax mov eax,00002008h mov fs:[00000000h],esp call SUB_L004D4B90 push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F078C mov eax,[L00C88300] xor edi,edi cmp eax,edi mov [esp+00002018h],edi jz L004AB9FF call SUB_L004BCED0 test eax,eax jz L004AB946 lea eax,[esi+000010C4h] lea ecx,[esi+000008C4h] push eax push ecx call SUB_L004C4320 add esp,00000008h test eax,eax jnz L004AB970 L004AB946: cmp [esi+0000009Ch],edi jz L004AB9FF lea edx,[esi+000020C4h] lea eax,[esi+000018C4h] push edx push eax call SUB_L004C4320 add esp,00000008h test eax,eax jz L004AB9FF L004AB970: mov edi,[esi+000028C4h] push ebx mov ebx,[esi+000000A4h] push ebp mov ebp,[esi+0000009Ch] lea ecx,[esp+14h] push 000000B8h push ecx call SUB_L0048BD40 lea edx,[esp+1Ch] push 00000001h push edx call SUB_L0048BD70 lea eax,[esp+24h] push ebx push eax call SUB_L0048BE20 lea ecx,[esp+2Ch] push ebp push ecx call SUB_L0048BDC0 push edi call SUB_L004C4300 lea edx,[esp+38h] push eax push edx call SUB_L0048BDC0 mov ax,[edi] add esp,0000002Ch test ax,ax pop ebp pop ebx jz L004AB9ED L004AB9D3: push eax lea eax,[esp+10h] push eax call SUB_L0048BDC0 mov ax,[edi+02h] add edi,00000002h add esp,00000008h test ax,ax jnz L004AB9D3 L004AB9ED: lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 xor edi,edi L004AB9FF: mov edx,[esi+3Ch] mov eax,[edx+04h] cmp eax,edi jz L004ABA1D push SSZ0050F400_profile_frame0 push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+04h],edi L004ABA1D: mov ecx,[esi+3Ch] mov eax,[ecx+0Ch] cmp eax,edi jz L004ABA3B push SSZ0050F3CC_profile_frame1 push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+0Ch],edi L004ABA3B: mov eax,[esi+3Ch] cmp eax,edi jz L004ABA53 push SSZ0050F3DC_profile_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004ABA53: mov ecx,esi mov dword ptr [esp+00002018h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+00002010h] pop edi pop esi mov fs:[00000000h],ecx add esp,00002014h retn ;------------------------------------------------------------------------------ Align 8 L004ABA80: sub esp,00000018h push ebx push esi push edi mov edi,ecx lea eax,[esp+0Ch] lea ecx,[esp+10h] push eax push ecx mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov eax,[edi+64h] test eax,eax jnz L004ABAB8 mov edx,[edi+3Ch] mov esi,[edx+04h] jmp L004ABABE L004ABAB8: mov eax,[edi+3Ch] mov esi,[eax+0Ch] L004ABABE: mov eax,[esp+10h] mov ecx,[esp+0Ch] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] mov ebx,[esp+28h] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004ABB55 mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 mov eax,[edi+64h] add esp,00000028h test eax,eax jnz L004ABB55 mov esi,[edi+50h] test esi,esi jz L004ABB55 L004ABB46: mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L004ABB46 L004ABB55: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 4 L004ABB60: mov eax,[ecx+64h] test eax,eax jnz L004ABB6F mov eax,[ecx+3Ch] mov eax,[eax+04h] jmp L004ABB75 L004ABB6F: mov ecx,[ecx+3Ch] mov eax,[ecx+0Ch] L004ABB75: mov edx,[esp+04h] test edx,edx jl L004ABBA2 mov ecx,[esp+08h] test ecx,ecx jl L004ABBA2 push esi xor esi,esi mov si,[eax] cmp edx,esi pop esi jge L004ABBA2 xor edx,edx mov dx,[eax+02h] cmp ecx,edx jge L004ABBA2 mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L004ABBA2: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004ABBB0: push ebx mov ebx,ecx push esi push edi mov esi,[ebx+48h] test esi,esi jz L004ABC54 push ebp mov ebp,[esp+14h] L004ABBC5: mov eax,[esi] mov ecx,esi call [eax+000000D4h] test eax,eax jz L004ABC14 mov eax,[esi+30h] mov edi,[ebx+20h] mov ecx,eax sub ecx,edi add ecx,ebp mov [esi+000000A4h],ecx mov ecx,[ebx+20h] mov edx,[esi+000000A4h] sub eax,ecx mov ecx,[esi+000000B0h] add eax,ebp mov [esi+000000A8h],eax mov eax,[esp+18h] mov [esi+30h],edx mov edx,[ebx+24h] sub eax,edx add ecx,eax mov [esi+000000B0h],ecx jmp L004ABC48 L004ABC14: mov edi,[ebx+20h] mov ecx,[esi+30h] mov eax,edi cdq sub eax,edx sar eax,1 cmp ecx,eax jle L004ABC2C sub ecx,edi add ecx,ebp mov [esi+30h],ecx L004ABC2C: mov edi,[ebx+24h] mov ecx,[esi+34h] mov eax,edi cdq sub eax,edx sar eax,1 cmp ecx,eax jle L004ABC48 mov eax,[esp+18h] sub ecx,edi add ecx,eax mov [esi+34h],ecx L004ABC48: mov esi,[esi+40h] test esi,esi jnz L004ABBC5 pop ebp L004ABC54: mov ecx,[ebx+3Ch] mov eax,[ecx+04h] test eax,eax jz L004ABC76 push SSZ0050F400_profile_frame0 push eax call SUB_L00476000 mov edx,[ebx+3Ch] add esp,00000008h mov dword ptr [edx+04h],00000000h L004ABC76: mov eax,[esp+14h] mov ecx,[ebx+20h] imul ecx,eax push SSZ004FF270_text_frame0 mov [ebx+24h],eax lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[ebx+3Ch] add esp,00000008h mov [ecx+04h],eax mov ecx,[ebx+20h] imul ecx,[ebx+24h] mov edx,[ebx+3Ch] 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+3Ch] mov dx,[ebx+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebx+3Ch] mov dx,[ebx+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,ebx call SUB_L004ABCF0 pop edi pop esi pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004ABCF0: sub esp,0000002Ch push ebx push ebp push esi push edi mov esi,ecx call SUB_L004C5630 push 00000001h mov ebp,eax call SUB_L004C5640 lea eax,[esp+18h] lea ecx,[esp+24h] push eax push ecx push 0000082Dh call SUB_L004434A0 mov edi,[esp+24h] lea edx,[esp+24h] lea eax,[esp+30h] push edx push eax push 0000082Eh call SUB_L004434A0 mov edx,[esi+3Ch] mov ecx,[esp+30h] dec edi push ecx mov eax,[edx+04h] mov ecx,[esi+54h] push edi push eax push 00000002h push ecx call SUB_L004B5FF0 mov edx,[esi+000000B8h] mov eax,[esi+20h] mov edi,0000001Eh lea ecx,[esp+48h] sub edi,edx mov edx,[esi+24h] sub edx,00000046h sub eax,00000046h mov [esp+68h],edx push ecx lea edx,[esp+44h] mov [esp+68h],eax lea ecx,[esp+50h] push edx add eax,FFFFFFA6h lea ebx,[esi+000000C4h] push ecx push eax push ebx mov dword ptr [esp+74h],0000003Ch mov dword ptr [esp+70h],0000005Ah call SUB_L004C6B20 add esp,00000044h lea edx,[esp+2Ch] mov ecx,[esi+20h] lea eax,[edi+1Ah] push 00000000h push edx mov edx,[esp+3Ch] push 00000860h push eax mov eax,[esp+3Ch] push eax sub edx,eax mov eax,[esi+3Ch] push ebx push ecx push edx mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C73A0 mov ebx,[esp+34h] mov eax,[esi+20h] mov edx,[esi+3Ch] add edi,ebx mov dword ptr [esp+50h],00000028h mov [esp+58h],eax mov ecx,[edx+04h] add eax,FFFFFFABh push ecx push 00000000h push eax push edi lea edx,[esp+60h] push 00000028h push edx push 0000005Ch call SUB_L004AC050 mov eax,[esi+20h] add esp,00000040h lea ecx,[esp+18h] lea edx,[esp+10h] push ecx sub eax,00000032h push edx mov edx,[esp+34h] mov [esp+3Ch],eax lea ecx,[esp+24h] sub eax,edx lea ebx,[esi+000018C4h] push ecx push eax push ebx add edi,0000002Ch call SUB_L004C6B20 mov eax,[L0050F3C8] mov ecx,[esi+20h] lea edx,[esp+40h] push 00000000h push edx mov edx,[esp+50h] push eax mov eax,[esp+4Ch] push edi push eax sub edx,eax mov eax,[esi+3Ch] push ebx push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C73A0 mov eax,[esi+000000C0h] add esp,00000038h test eax,eax jz L004ABF06 cmp [esi+000028C4h],ebx jnz L004ABF06 mov ecx,[esp+34h] lea edx,[esp+24h] lea eax,[esp+28h] push edx mov edx,[esi+000028C8h] push eax sub ecx,[esp+34h] push ecx push ebx push edx call SUB_L004C6FD0 mov ecx,[L0050F3C8] mov edx,[esp+38h] lea eax,[esp+40h] add edx,edi push eax mov eax,[esp+44h] push ecx mov ecx,[esp+44h] add ecx,eax mov eax,[esi+3Ch] push edx mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push L005118FC add ecx,00000004h push edx push ecx call SUB_L004C6100 mov eax,[esp+40h] mov ecx,[esp+68h] add esp,00000030h lea edx,[eax+edi] cmp edx,ecx jle L004ABF0A sub eax,ecx mov ecx,[esi+000000B8h] add eax,edi add ecx,eax mov [esi+000000B8h],ecx mov ecx,esi call SUB_L004ABCF0 pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ L004ABF06: mov eax,[esp+10h] L004ABF0A: lea ebx,[esi+000008C4h] add edi,eax cmp word ptr [ebx],0000h jz L004AC008 mov eax,[esi+20h] mov ecx,[esi+3Ch] mov [esp+34h],eax add eax,FFFFFFABh mov edx,[ecx+04h] push edx push 00000009h push eax push edi lea eax,[esp+3Ch] push 00000028h push eax push 0000005Fh call SUB_L004AC050 mov eax,[esi+20h] lea ecx,[esp+34h] lea edx,[esp+2Ch] push ecx sub eax,00000032h push edx mov edx,[esp+50h] mov [esp+58h],eax lea ecx,[esp+40h] sub eax,edx push ecx push eax push ebx add edi,0000001Ah call SUB_L004C6B20 mov eax,[L0050F3C4] mov ecx,[esi+20h] lea edx,[esp+5Ch] push 00000000h push edx mov edx,[esp+6Ch] push eax mov eax,[esp+68h] push edi push eax sub edx,eax mov eax,[esi+3Ch] push ebx push ecx mov ecx,[eax+04h] push edx add ecx,00000004h push ecx call SUB_L004C73A0 mov eax,[esi+000000C0h] add esp,00000054h test eax,eax jz L004AC004 cmp [esi+000028C4h],ebx jnz L004AC004 mov ecx,[esp+34h] lea edx,[esp+28h] lea eax,[esp+24h] push edx mov edx,[esi+000028C8h] push eax sub ecx,[esp+34h] push ecx push ebx push edx call SUB_L004C6FD0 mov ecx,[L0050F3C4] mov edx,[esp+3Ch] lea eax,[esp+40h] add edx,edi push eax mov eax,[esp+44h] push ecx mov ecx,[esp+40h] add ecx,eax mov eax,[esi+3Ch] push edx mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push L005118FC add ecx,00000004h push edx push ecx call SUB_L004C6100 add esp,00000030h L004AC004: add edi,[esp+10h] L004AC008: mov ecx,[esi+000000B8h] mov ebx,[esi+24h] mov edx,ecx sub edx,ebx lea eax,[edx+edi+50h] test eax,eax jge L004AC01F xor eax,eax L004AC01F: cmp ecx,eax mov [esi+000000BCh],eax jle L004AC036 mov ecx,esi mov [esi+000000B8h],eax call SUB_L004ABCF0 L004AC036: push ebp call SUB_L004C5640 add esp,00000004h pop edi pop esi pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AC050: sub esp,0000001Ch push ebx push ebp push esi mov esi,[esp+2Ch] lea eax,[esp+1Ch] push edi lea ecx,[esp+10h] push eax push ecx push esi call SUB_L004434A0 lea edx,[esp+30h] lea ecx,[esp+24h] lea eax,[esi+01h] push edx push ecx push eax mov [esp+2Ch],eax call SUB_L004434A0 lea edx,[esp+40h] lea ecx,[esp+48h] lea eax,[esi+02h] push edx push ecx push eax mov [esp+40h],eax call SUB_L004434A0 mov edi,[esp+6Ch] mov ebx,[esp+5Ch] mov ebp,[esp+58h] xor edx,edx mov dx,[edi+02h] xor ecx,ecx mov cx,[edi] lea eax,[edi+04h] push edx mov edx,[esp+64h] push ecx push eax push edx push ebx push ebp push esi push SUB_L004B9B80 mov [esp+0000008Ch],eax call SUB_L004436C0 mov eax,[esp+54h] mov ecx,[ebp+08h] mov edx,ebx mov [esp+78h],ecx mov ecx,[esp+00000084h] lea esi,[eax+ebx] mov eax,[esp+74h] add esp,00000044h sub edx,eax add ecx,edx cmp esi,ecx mov [ebp+08h],ecx jge L004AC149 mov edx,[esp+44h] mov eax,[esp+3Ch] add eax,edx mov [esp+38h],eax L004AC106: mov eax,[esp+48h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] push ecx mov ecx,[esp+3Ch] push edx mov edx,[esp+1Ch] push eax push ecx push esi push ebp push edx push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esp+38h] mov edx,[esp+60h] add esi,eax mov eax,[esp+50h] mov ecx,ebx add esp,00000020h sub ecx,eax add ecx,edx cmp esi,ecx jl L004AC106 L004AC149: mov edx,[esp+34h] xor ecx,ecx mov [ebp+08h],edx mov cx,[edi+02h] xor edx,edx push ecx mov dx,[edi] mov ecx,[esp+4Ch] sub ebx,eax mov eax,[esp+44h] push edx mov edx,[esp+44h] push ecx add ebx,eax mov eax,[esp+28h] push edx push ebx push ebp push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 8 L004AC190: push esi mov esi,ecx mov eax,[esi+000000B0h] mov dword ptr [esi+000000ACh],00000000h cmp eax,00000002h jnz L004AC1CC mov eax,[esi+64h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L004AC20F call SUB_L0041E0F0 push 00000000h call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L004AC1CC: mov eax,[esi+64h] test eax,eax jnz L004AC20F mov eax,[esi+0000009Ch] test eax,eax jnz L004AC1E6 call SUB_L004BCED0 test eax,eax jz L004AC20F L004AC1E6: mov eax,[esi+000000C0h] test eax,eax jnz L004AC20F call SUB_L00456C40 push esi call SUB_L00456DC0 add esp,00000004h mov ecx,esi mov dword ptr [esi+000000C0h],00000001h call SUB_L004ABCF0 L004AC20F: push 00000000h call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 L004AC220: mov eax,[ecx+000000BCh] imul eax,[esp+04h] cdq idiv [esp+08h] cmp eax,[ecx+000000B8h] jz L004AC243 mov [ecx+000000B8h],eax call SUB_L004ABCF0 L004AC243: retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004AC250: mov eax,[ecx+000000C0h] test eax,eax jz L004AC269 mov dword ptr [ecx+000000C0h],00000000h jmp SUB_L004ABCF0 L004AC269: retn ;------------------------------------------------------------------------------ Align 8 L004AC270: push esi push edi mov edi,[esp+0Ch] mov esi,ecx cmp edi,0000E025h jg L004AC379 jz L004AC35C cmp edi,0000001Bh jg L004AC343 jz L004AC339 mov eax,edi sub eax,00000008h jz L004AC317 dec eax jz L004AC312 CASE_004AC464_PROC0003: cmp edi,0000000Dh jz L004AC2B5 push edi call SUB_L004C5F00 add esp,00000004h test eax,eax jz L004AC312 L004AC2B5: mov eax,[esi+000028C4h] push eax call SUB_L004C4300 add esp,00000004h cmp eax,000001FFh jge L004AC312 cmp eax,[esi+000028C8h] jl L004AC2EE L004AC2D3: mov ecx,[esi+000028C4h] dec eax mov dx,[ecx+eax*2+02h] mov [ecx+eax*2+04h],dx mov ecx,[esi+000028C8h] cmp eax,ecx jge L004AC2D3 L004AC2EE: mov eax,[esi+000028C8h] mov ecx,[esi+000028C4h] mov [ecx+eax*2],di mov eax,[esi+000028C8h] inc eax mov ecx,esi mov [esi+000028C8h],eax call SUB_L004ABCF0 L004AC312: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004AC317: mov eax,[esi+000028C8h] test eax,eax jle L004AC312 dec eax push 0000E02Eh mov [esi+000028C8h],eax mov eax,[esi] mov ecx,esi call [eax+44h] pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004AC339: call SUB_L00456C40 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004AC343: mov eax,edi sub eax,0000E023h jz CASE_004AC464_PROC0002 dec eax jz CASE_004AC464_PROC0000 jmp CASE_004AC464_PROC0003 L004AC35C: mov eax,[esi+000028C8h] test eax,eax jle L004AC312 dec eax mov ecx,esi mov [esi+000028C8h],eax call SUB_L004ABCF0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004AC379: lea eax,[edi-0000E026h] cmp eax,00000008h ja CASE_004AC464_PROC0003 jmp [CASE_PROCTABLE_004AC464+eax*4] CASE_004AC464_PROC0008: mov ecx,[esi+000028C8h] mov eax,[esi+000028C4h] cmp word ptr [eax+ecx*2],0000h jz L004AC312 lea ecx,[ecx+ecx-02h] L004AC3AA: mov dx,[ecx+eax+04h] add ecx,00000002h mov [ecx+eax],dx mov eax,[esi+000028C4h] cmp word ptr [ecx+eax],0000h jnz L004AC3AA mov ecx,esi call SUB_L004ABCF0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_004AC464_PROC0001: mov eax,[esi+000028C4h] mov edi,[esi+000028C8h] push eax call SUB_L004C4300 add esp,00000004h cmp edi,eax jz L004AC312 inc edi mov ecx,esi mov [esi+000028C8h],edi call SUB_L004ABCF0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_004AC464_PROC0002: mov ecx,[esi+000028C4h] push ecx call SUB_L004C4300 mov ecx,[esi+000028C8h] add esp,00000004h cmp ecx,eax jz L004AC312 mov edx,[esi+000028C4h] push edx call SUB_L004C4300 add esp,00000004h mov ecx,esi mov [esi+000028C8h],eax call SUB_L004ABCF0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ CASE_004AC464_PROC0000: mov eax,[esi+000028C8h] test eax,eax jz L004AC312 mov ecx,esi mov dword ptr [esi+000028C8h],00000000h call SUB_L004ABCF0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004AC464: dd CASE_004AC464_PROC0000 dd CASE_004AC464_PROC0001 dd CASE_004AC464_PROC0002 dd CASE_004AC464_PROC0003 dd CASE_004AC464_PROC0003 dd CASE_004AC464_PROC0003 dd CASE_004AC464_PROC0003 dd CASE_004AC464_PROC0003 dd CASE_004AC464_PROC0008 Align 16 SUB_L004AC490: push esi mov esi,[esp+08h] push 000000B8h push esi call SUB_L0048BD40 push 00000000h push esi call SUB_L0048BD70 mov eax,[esp+1Ch] push eax push esi call SUB_L0048BE20 add esp,00000018h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AC4C0: push FFFFFFFFh mov eax,fs:[00000000h] push L004E5AEE push eax mov eax,00001410h mov fs:[00000000h],esp call SUB_L004D4B90 push ebx push ebp push esi mov esi,[esp+0000142Ch] lea eax,[esp+14h] push edi lea ecx,[esp+14h] push eax xor ebx,ebx push ecx push esi mov [esp+20h],ebx call SUB_L0048BF80 add esp,0000000Ch xor edi,edi L004AC505: lea edx,[esp+13h] lea eax,[esp+14h] push edx push eax push esi call SUB_L0048BEF0 mov al,[esp+1Fh] add esp,0000000Ch mov [esp+edi+20h],al inc edi cmp al,bl jnz L004AC505 mov [esp+edi+20h],bl xor ebp,ebp lea edi,[esp+00000C20h] L004AC532: lea ecx,[esp+10h] lea edx,[esp+14h] push ecx push edx push esi call SUB_L0048BF30 mov ax,[esp+1Ch] add esp,0000000Ch mov [edi],ax inc ebp add edi,00000002h cmp ax,bx jnz L004AC532 mov [esp+ebp*2+00000C20h],bx xor ebp,ebp lea edi,[esp+00000420h] L004AC567: lea eax,[esp+10h] lea ecx,[esp+14h] push eax push ecx push esi call SUB_L0048BF30 mov ax,[esp+1Ch] add esp,0000000Ch mov [edi],ax inc ebp add edi,00000002h cmp ax,bx jnz L004AC567 mov esi,[L00B294DC] mov [esp+ebp*2+00000420h],bx cmp esi,ebx jz L004AC5C0 L004AC59D: mov edx,[esi] mov ecx,esi call [edx+00000164h] test eax,eax jz L004AC5B9 mov eax,[esi+000000A4h] mov ecx,[esp+18h] cmp eax,ecx jz L004AC60E L004AC5B9: mov esi,[esi+40h] cmp esi,ebx jnz L004AC59D L004AC5C0: push 000028CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov [esp+00001428h],ebx jz L004AC60E mov esi,[L00C884DC] mov ecx,[esp+18h] xor edx,edx push ecx mov ebp,[esi+7Ch] cmp ecx,ebp lea ecx,[esp+00000424h] setz dl push edx push ecx lea edx,[esp+00000C2Ch] lea ecx,[esp+2Ch] push edx push ecx mov ecx,eax call SUB_L004AB580 L004AC60E: mov ecx,[esp+00001420h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000141Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AC630: push FFFFFFFFh push L004E5B08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov dword ptr [esi],L004F0900 mov al,[L00C8C4A4] xor ebx,ebx mov dword ptr [L00C8D954],00000421h cmp al,bl mov [esp+18h],ebx jz L004AC67D mov dword ptr [L00C8D954],00000841h L004AC67D: mov eax,[esp+20h] mov ecx,[esp+24h] mov [L00B294AC],esi mov dword ptr [esi+08h],SSZ0050F49C_radar_gump push ebp mov [esi+60h],ebx mov [esi+38h],ebx lea ebp,[esi+24h] mov [esi+000000A8h],ebx mov [esi+30h],eax mov eax,[esp+2Ch] lea edi,[esi+20h] mov [esi+000000A4h],ebx push ebp mov [esi+000000A0h],ebx push edi mov [esi+0000009Ch],ebx push eax mov [esi+000000B0h],ebx mov [esi+000000ACh],ebx mov [esi+34h],ecx mov [esi+64h],ebx mov [esi+54h],eax mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 mov eax,[edi] push SSZ0050F490_radar_zbuf mov [esi+1Ch],eax cdq sub eax,edx mov ecx,eax mov eax,[ebp+00h] cdq sub eax,edx sar eax,1 sar ecx,1 mov [esi+000200BAh],ax mov [esi+000200B8h],cx movsx edx,cx movsx eax,ax imul edx,eax push edx call SUB_L00475FC0 push SSZ0050F474_framedata_for_CRadarGump push 00000010h mov [esi+000200C0h],eax mov dword ptr [esi+28h],00000028h mov dword ptr [esi+2Ch],00000014h mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050F464_radar_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb movsx eax,[esi+000200BAh] movsx ecx,[esi+000200B8h] imul eax,ecx lea edx,[eax+eax+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax movsx ecx,[esi+000200BAh] movsx edx,[esi+000200B8h] imul ecx,edx mov edx,[esi+3Ch] shl ecx,1 xor eax,eax mov edi,[edx+04h] mov edx,ecx add edi,00000004h push SSZ0050F454_radar_frame1 shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+3Ch] mov dx,[esi+000200B8h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+000200BAh] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+2Ch] imul eax,[esi+28h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push SSZ0050F440_radar_rotated_frame mov [edx+0Ch],eax mov ecx,[esi+2Ch] imul ecx,[esi+28h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov dx,[esi+20h] mov [esi+000200BCh],eax mov [eax],dx mov eax,[esi+000200BCh] mov cx,[ebp+00h] mov [eax+02h],cx mov ecx,[esi+20h] imul ecx,[ebp+00h] mov edi,[esi+000200BCh] 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+000200BCh] xor ecx,ecx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[esi+54h] push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+2Ch] mov edx,[esi+3Ch] 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 add esp,00000050h and ecx,00000003h rep stosb movsx eax,[esi+000200B8h] cdq sub eax,edx mov [esi+000200C6h],bx mov [esi+000200C4h],bx mov ecx,[L00C83B64] sar eax,1 sub ecx,eax push L004FD2A8 movsx eax,[esi+000200BAh] cdq sub eax,edx mov [esi+000200B4h],cx mov edx,[L00C83B60] push SSZ00503974_radarcol_mul sar eax,1 sub edx,eax mov [esi+000200B6h],dx call SUB_L0043FEF0 add esp,00000008h mov edi,eax cmp edi,ebx pop ebp jz L004AC94F push edi push 00010000h lea eax,[esi+000000B4h] push 00000002h push eax call SUB_L004404F0 push edi call SUB_L00440570 add esp,00000014h jmp L004AC961 L004AC94F: push SSZ00503974_radarcol_mul push SSZ0050F410_CRadarGump__CRadarGump__cannot_o call SUB_L004C7EF0 add esp,00000008h L004AC961: mov ecx,esi mov [esi+000200C8h],ebx call SUB_L004ACC50 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004AC990: push esi mov esi,ecx call SUB_L004AC9B0 test byte ptr [esp+08h],01h jz L004AC9A8 push esi call SUB_L004D4F9E add esp,00000004h L004AC9A8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AC9B0: push FFFFFFFFh push L004E5B28 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F0900 xor edi,edi mov [L00B294AC],edi mov eax,[esi+000200BCh] cmp eax,edi mov [esp+14h],edi jz L004AC9FE push SSZ0050F4EC_radar_rotFrame push eax call SUB_L00476000 add esp,00000008h mov [esi+000200BCh],edi L004AC9FE: mov eax,[esi+000200C0h] cmp eax,edi jz L004ACA1C push SSZ0050F4E0_radar_zBuf push eax call SUB_L00476000 add esp,00000008h mov [esi+000200C0h],edi L004ACA1C: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L004ACA3A push SSZ0050F4CC_radar_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004ACA3A: mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,edi jz L004ACA58 push SSZ0050F4B8_radar_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L004ACA58: mov eax,[esi+3Ch] cmp eax,edi jz L004ACA70 push SSZ0050F4A8_radar_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004ACA70: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L004ACA90: mov eax,[esp+04h] push esi mov esi,ecx push 00000000h mov ecx,[esp+10h] mov [esi+74h],ecx mov ecx,esi mov dword ptr [esi+000000A4h],00000001h mov [esi+70h],eax call SUB_L004584E0 cmp dword ptr [esi+000000B0h],00000001h jnz L004ACACB mov dword ptr [esi+000000B0h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L004ACACB: mov dword ptr [esi+000000B0h],00000001h call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004ACAF0: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+0000009Ch] mov [esi+000000A4h],edi cmp eax,edi jz L004ACB20 push edi mov [esi+0000009Ch],edi mov [esi+000000B0h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004ACB20: cmp dword ptr [esi+000000B0h],00000002h jnz L004ACB49 mov [esi+000000B0h],edi call SUB_L004BCED0 test eax,eax jz L004ACB49 mov eax,[esp+10h] mov ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00447D90 L004ACB49: push edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004ACB60: push ebx push ebp push esi push edi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov eax,[esi+000000A4h] mov ebp,[esp+1Ch] mov ecx,[esp+18h] add esp,00000004h test eax,eax jz L004ACBC2 mov eax,[esi+000000B0h] test eax,eax jbe L004ACBC2 mov edx,[esi+70h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004ACBAE mov edx,[esi+74h] mov eax,ebp sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004ACBC2 L004ACBAE: mov dword ptr [esi+0000009Ch],00000001h mov dword ptr [esi+000000B0h],00000000h L004ACBC2: mov edi,[esi+30h] mov edx,[esi+70h] mov ebx,[esi+34h] mov eax,edi sub eax,edx mov edx,[esi+74h] add eax,ecx mov ecx,ebx sub ecx,edx mov edx,[esi+20h] add ecx,ebp lea ebp,[edx+eax] cmp ebp,000000A0h jge L004ACBEF mov eax,000000A0h sub eax,edx L004ACBEF: mov edx,[esi+24h] lea ebp,[edx+ecx] cmp ebp,000000A0h jge L004ACC04 mov ecx,000000A0h sub ecx,edx L004ACC04: mov edx,[L005073D0] add edx,FFFFFF60h cmp eax,edx jle L004ACC16 mov eax,edx L004ACC16: mov edx,[L005073D4] add edx,FFFFFF60h cmp ecx,edx jle L004ACC28 mov ecx,edx L004ACC28: mov edx,[esi+000000A4h] test edx,edx jz L004ACC45 push 00000001h push 00000000h sub ecx,ebx push 00000001h sub eax,edi push ecx push eax mov ecx,esi call SUB_L00457800 L004ACC45: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004ACC50: sub esp,00000038h push ebx push ebp mov ebp,ecx push esi mov ecx,[L00C83B64] xor eax,eax push edi cmp ecx,00001400h movsx edi,[ebp+000200B8h] setge al mov [esp+1Ch],eax mov eax,edi cdq sub eax,edx mov dword ptr [esp+18h],00000000h sar eax,1 sub ecx,eax mov esi,ecx movsx ecx,[ebp+000200BAh] mov eax,ecx mov [esp+38h],esi cdq sub eax,edx mov edx,[L00C83B60] sar eax,1 sub edx,eax lea eax,[edi+esi] mov [esp+40h],eax mov [esp+3Ch],edx lea eax,[ecx+edx] imul ecx,edi mov edi,[ebp+000200C0h] mov ebx,ecx mov [esp+44h],eax xor eax,eax shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb movsx ecx,[ebp+000200BAh] movsx eax,[ebp+000200B8h] imul ecx,eax mov edi,[ebp+3Ch] 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,[ebp+3Ch] mov edi,edx mov [esp+14h],edi mov eax,[ecx+04h] add eax,00000004h cmp word ptr [ebp+000200BAh],0000h mov [esp+2Ch],eax mov eax,[ebp+000200C0h] mov [esp+28h],eax jle L004ACF5C L004ACD24: cmp word ptr [ebp+000200B8h],0000h mov [esp+10h],esi mov dword ptr [esp+24h],00000000h jle L004ACF3F jmp L004ACD48 L004ACD40: mov esi,[esp+10h] mov edi,[esp+14h] L004ACD48: mov eax,[esp+1Ch] test eax,eax jz L004ACE15 cmp esi,00001400h jl L004ACD74 cmp esi,00001800h jge L004ACD74 test edi,edi jl L004ACD74 cmp edi,00001000h jle L004ACE15 L004ACD74: xor bl,bl L004ACD76: mov esi,[L00C8D954] L004ACD7C: cmp esi,00007FFFh jnz L004ACDA4 push 000000F3h push 000000F3h push 000000F3h call SUB_L00446A60 mov si,ax add esp,0000000Ch and esi,0000FFFFh L004ACDA4: mov edi,[L0054B29C] mov eax,[L0054B2A0] sub edi,eax js L004ACDC9 mov ecx,[L00C884DC] test ecx,ecx jz L004ACDCB mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004ACDCB L004ACDC9: xor edi,edi L004ACDCB: mov al,[L00C8C4A4] test al,al jz L004ACEBC 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,[L00528280+eax*4] mov edx,[L00529280+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L00527280+esi*4] jmp L004ACEF2 L004ACE15: mov ecx,[esp+1Ch] mov eax,esi test ecx,ecx mov ebx,edi jnz L004ACE4F test esi,esi jge L004ACE2B lea eax,[esi+00001400h] L004ACE2B: cmp eax,00001400h jl L004ACE37 sub eax,00001400h L004ACE37: test edi,edi jge L004ACE41 lea ebx,[edi+00001000h] L004ACE41: cmp ebx,00001000h jl L004ACE4F sub ebx,00001000h L004ACE4F: cdq and edx,00000007h add eax,edx mov ecx,eax mov eax,ebx sar ecx,03h imul ecx,[L00C83A2C] cdq and edx,00000007h add eax,edx sar eax,03h add ecx,eax push ecx push 00000000h call SUB_L0045EE00 and edi,00000007h and esi,00000007h add esp,00000008h lea ecx,[esi+edi*8] lea edx,[eax+ecx*2] lea eax,[eax+ecx*2+04h] mov dx,[ecx+edx+04h] mov bl,[ecx+eax+02h] cmp dx,4000h jnc L004ACD76 cmp dx,0002h jz L004ACD76 and edx,0000FFFFh xor esi,esi mov si,[ebp+edx*2+000000B4h] jmp L004ACD7C L004ACEBC: 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,[L00528280+edx*4] mov edx,[L00527280+ecx*4] shl esi,05h or eax,edx add esi,edi mov edx,[L00529280+esi*4] L004ACEF2: mov ecx,[esp+2Ch] or eax,edx or al,01h mov esi,[esp+10h] mov [ecx],ax mov eax,[esp+28h] add bl,80h add ecx,00000002h mov [eax],bl inc eax movsx edx,[ebp+000200B8h] mov [esp+28h],eax mov eax,[esp+24h] inc esi inc eax cmp eax,edx mov [esp+2Ch],ecx mov [esp+10h],esi mov [esp+24h],eax jl L004ACD40 mov edx,[esp+3Ch] mov edi,[esp+14h] mov esi,[esp+38h] L004ACF3F: mov eax,[esp+18h] inc edi movsx ecx,[ebp+000200BAh] inc eax mov [esp+14h],edi cmp eax,ecx mov [esp+18h],eax jl L004ACD24 L004ACF5C: sar esi,03h mov [esp+18h],esi jns L004ACF71 mov dword ptr [esp+18h],00000000h mov esi,[esp+18h] L004ACF71: mov ecx,edx sar ecx,03h jns L004ACF7A xor ecx,ecx L004ACF7A: movsx edi,[ebp+000200B8h] mov eax,[L00C83A28] sar edi,03h add edi,esi dec eax cmp edi,eax mov [esp+24h],edi jle L004ACF98 mov [esp+24h],eax L004ACF98: movsx ebx,[ebp+000200BAh] mov eax,[L00C83A2C] sar ebx,03h add ebx,ecx lea esi,[eax-01h] cmp ebx,esi mov [esp+28h],ebx jle L004ACFBA mov [esp+28h],esi mov ebx,esi L004ACFBA: mov edi,ecx cmp ecx,ebx mov [esp+14h],edi jg L004AD22A L004ACFC8: mov ebx,[esp+18h] mov ecx,[esp+24h] mov esi,ebx mov [esp+10h],ebx cmp esi,ecx jg L004AD219 L004ACFDE: lea esi,[00000000h+ebx*8] xor ecx,ecx cmp esi,00001400h mov esi,[esp+1Ch] setge cl xor ecx,esi jnz L004AD208 imul eax,ebx lea edx,[esp+34h] lea ecx,[esp+20h] add eax,edi push edx push ecx push eax push 00000002h push 00000001h call SUB_L0045EF20 mov esi,eax mov eax,[esp+34h] add esp,00000014h test eax,eax jz L004AD1FF jle L004AD1FF jmp L004AD032 L004AD02E: mov esi,[esp+30h] L004AD032: movsx ecx,[esi+02h] mov edx,[esp+14h] lea eax,[00000000h+ebx*8] add ecx,eax mov di,[esi] movsx eax,[esi+03h] movsx ebx,[esi+04h] shl edx,03h add eax,edx mov dx,[esi+05h] cmp dx,0400h jbe L004AD060 xor edx,edx L004AD060: add esi,00000007h mov [esp+30h],esi mov esi,[esp+38h] cmp ecx,esi jl L004AD1E4 cmp ecx,[esp+40h] jge L004AD1E4 cmp eax,[esp+3Ch] jl L004AD1E4 cmp eax,[esp+44h] jge L004AD1E4 sub eax,[esp+3Ch] movsx esi,[ebp+000200B8h] imul eax,esi sub eax,[esp+38h] add eax,ecx mov ecx,[ebp+000200C0h] mov [esp+2Ch],eax lea esi,[eax+ecx] xor ecx,ecx lea eax,[ebx+00000080h] mov cl,[esi] cmp eax,ecx jl L004AD1E4 add bl,80h test dx,dx mov [esi],bl jnz L004AD0E0 and edi,0000FFFFh xor esi,esi mov si,[ebp+edi*2+000080B4h] jmp L004AD109 L004AD0E0: and edx,0000FFFFh and edi,0000FFFFh xor eax,eax xor esi,esi mov ax,[ebp+edi*2+000080B4h] lea ecx,[edx+edx*4] lea edx,[edx+ecx*2] lea eax,[eax+edx*4] mov si,[L00C42C90+eax*2] L004AD109: cmp esi,00007FFFh jnz L004AD131 push 000000F3h push 000000F3h push 000000F3h call SUB_L00446A60 mov si,ax add esp,0000000Ch and esi,0000FFFFh L004AD131: mov edi,[L0054B29C] mov eax,[L0054B2A0] sub edi,eax js L004AD156 mov ecx,[L00C884DC] test ecx,ecx jz L004AD158 mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004AD158 L004AD156: xor edi,edi L004AD158: mov al,[L00C8C4A4] test al,al jz L004AD19B 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,[L00528280+eax*4] mov edx,[L00529280+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L00527280+esi*4] jmp L004AD1D1 L004AD19B: 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,[L00528280+edx*4] mov ebx,[L00527280+ecx*4] shl esi,05h or eax,ebx add esi,edi mov edx,[L00529280+esi*4] L004AD1D1: or eax,edx mov edx,[ebp+3Ch] or al,01h mov ecx,[edx+04h] mov edx,[esp+2Ch] mov [ecx+edx*2+04h],ax L004AD1E4: mov eax,[esp+20h] mov ebx,[esp+10h] sub eax,00000007h test eax,eax mov [esp+20h],eax jg L004AD02E mov edi,[esp+14h] L004AD1FF: mov eax,[L00C83A2C] mov edx,[esp+3Ch] L004AD208: mov ecx,[esp+24h] inc ebx cmp ebx,ecx mov [esp+10h],ebx jle L004ACFDE L004AD219: mov ecx,[esp+28h] inc edi cmp edi,ecx mov [esp+14h],edi jle L004ACFC8 L004AD22A: mov esi,[L00C88500] test esi,esi mov [esp+28h],esi jz L004AD3EA L004AD23C: mov di,[esi+3Ch] movsx ebx,[esi+24h] movsx eax,[esi+26h] movsx ecx,[esi+28h] mov si,[esi+42h] mov [esp+30h],si mov esi,[esp+38h] cmp ebx,esi jl L004AD3D7 cmp ebx,[esp+40h] jge L004AD3D7 cmp eax,edx jl L004AD3D7 cmp eax,[esp+44h] jge L004AD3D7 movsx esi,[ebp+000200B8h] sub eax,edx imul eax,esi mov esi,[esp+38h] sub eax,esi mov esi,[ebp+000200C0h] add eax,ebx xor ebx,ebx mov bl,[esi+eax] add esi,eax mov [esp+2Ch],eax lea eax,[ecx+00000080h] cmp eax,ebx jl L004AD3D7 mov eax,[esp+30h] add cl,80h test ax,ax mov [esi],cl jnz L004AD2D0 and edi,0000FFFFh xor esi,esi mov si,[ebp+edi*2+000080B4h] jmp L004AD2F8 L004AD2D0: and eax,0000FFFFh and edi,0000FFFFh xor ecx,ecx xor esi,esi mov cx,[ebp+edi*2+000080B4h] lea edx,[eax+eax*4] lea eax,[eax+edx*2] lea ecx,[ecx+eax*4] mov si,[L00C42C90+ecx*2] L004AD2F8: cmp esi,00007FFFh jnz L004AD320 push 000000F3h push 000000F3h push 000000F3h call SUB_L00446A60 mov si,ax add esp,0000000Ch and esi,0000FFFFh L004AD320: mov edi,[L0054B29C] mov eax,[L0054B2A0] sub edi,eax js L004AD345 mov ecx,[L00C884DC] test ecx,ecx jz L004AD347 mov edx,[ecx] call [edx+00000098h] test eax,eax jz L004AD347 L004AD345: xor edi,edi L004AD347: mov al,[L00C8C4A4] test al,al jz L004AD38A 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,[L00528280+eax*4] mov edx,[L00529280+ecx*4] or eax,edx shl eax,1 add esi,edi mov edx,[L00527280+esi*4] jmp L004AD3C0 L004AD38A: 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,[L00528280+edx*4] mov ebx,[L00527280+ecx*4] shl esi,05h or eax,ebx add esi,edi mov edx,[L00529280+esi*4] L004AD3C0: or eax,edx mov edx,[ebp+3Ch] or al,01h mov ecx,[edx+04h] mov edx,[esp+2Ch] mov [ecx+edx*2+04h],ax mov edx,[esp+3Ch] L004AD3D7: mov eax,[esp+28h] mov esi,[eax+64h] test esi,esi mov [esp+28h],esi jnz L004AD23C L004AD3EA: call [KERNEL32.dll!GetTickCount] mov ecx,ebp mov [ebp+000200C8h],eax call SUB_L004AD410 pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AD410: sub esp,00000020h push ebx push ebp push esi mov esi,ecx xor ebp,ebp xor ecx,ecx mov eax,[esi+000200BCh] mov [esi+000200C6h],bp mov [esi+000200C4h],bp xor edx,edx mov cx,[eax+02h] mov dx,[eax] push edi push ecx add eax,00000004h push edx push eax mov eax,[esi+54h] push ebp push ebp push eax push SUB_L004B9B80 mov [esp+3Ch],ebp call SUB_L00443500 mov ecx,[esi+20h] add esp,0000001Ch mov eax,ecx xor ebx,ebx cdq sub eax,edx mov [esp+18h],ebx mov edi,eax mov eax,[esi+24h] sar edi,1 dec edi cmp eax,ebp mov [esp+14h],edi mov [esp+10h],ebp mov [esp+24h],ebp jle L004AD564 jmp L004AD485 L004AD483: xor ebp,ebp L004AD485: movsx edx,[esi+000200B8h] imul edx,ebx mov ebx,[esi+3Ch] xor eax,eax mov [esp+1Ch],eax mov ebx,[ebx+04h] lea edx,[ebx+edx*2+04h] mov ebx,[esi+000200BCh] mov [esp+28h],edx mov edx,ecx imul edx,[esp+10h] add edx,edi test ecx,ecx lea edx,[ebx+edx*2+04h] jle L004AD520 mov ebx,[esp+10h] mov ebp,[esp+14h] sub ebx,ebp mov [esp+2Ch],ebx mov ebx,[esp+28h] L004AD4CC: movsx ebp,[esi+000200B8h] inc edi inc eax add ebx,00000002h cmp eax,ebp lea edx,[edx+ecx*2+02h] jge L004AD51C test edi,edi jl L004AD51C cmp edi,ecx jge L004AD51C mov ebp,[esp+2Ch] add ebp,edi test ebp,ebp jl L004AD51C cmp ebp,[esi+24h] jge L004AD51C mov ebp,[L00C8D954] xor ecx,ecx mov cx,[edx] cmp ecx,ebp jnz L004AD50C mov cx,[ebx] mov [edx],cx L004AD50C: mov ebp,[esp+1Ch] mov ecx,[esi+20h] inc ebp cmp ebp,ecx mov [esp+1Ch],ebp jl L004AD4CC L004AD51C: mov edi,[esp+14h] L004AD520: mov eax,[esp+20h] inc eax test al,01h mov [esp+20h],eax jz L004AD533 inc [esp+10h] jmp L004AD541 L004AD533: mov eax,[esp+18h] dec edi inc eax mov [esp+14h],edi mov [esp+18h],eax L004AD541: movsx edx,[esi+000200BAh] mov ebx,[esp+18h] cmp ebx,edx jge L004AD564 mov eax,[esp+24h] mov edx,[esi+24h] inc eax cmp eax,edx mov [esp+24h],eax jl L004AD483 L004AD564: mov ecx,esi mov word ptr [esi+000200C6h],0064h call SUB_L004AD580 pop edi pop esi pop ebp pop ebx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AD580: inc word ptr [ecx+000200C6h] cmp word ptr [ecx+000200C6h],0005h push esi jc L004AD63F mov si,[ecx+000200C4h] mov word ptr [ecx+000200C6h],0000h test si,si jnz L004AD615 mov eax,[ecx+000200BCh] 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+000200C4h],dx mov cl,[L00C8C4A4] test cl,cl jz L004AD5F8 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 pop esi mov word ptr [eax+edx*2+04h],FFFFh retn ;------------------------------------------------------------------------------ L004AD5F8: 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 pop esi mov word ptr [eax+edx*2+04h],7FFFh retn ;------------------------------------------------------------------------------ L004AD615: mov edx,[ecx+000200BCh] push edi 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+000200C4h],0000h pop edi L004AD63F: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004AD650: sub esp,00000018h push esi mov esi,ecx lea eax,[esp+04h] push edi lea ecx,[esp+0Ch] push eax xor edi,edi push ecx mov ecx,esi mov [esp+14h],edi mov [esp+10h],edi call SUB_L00457C90 cmp [esi+64h],edi jnz L004AD67F mov esi,[esi+000200BCh] jmp L004AD685 L004AD67F: mov edx,[esi+3Ch] mov esi,[edx+0Ch] L004AD685: mov eax,[esp+0Ch] mov ecx,[esp+08h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] mov edi,[esp+24h] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004AD6FF mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L004AD6FF: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004AD710: mov eax,[ecx+64h] test eax,eax jnz L004AD71F mov ecx,[ecx+000200BCh] jmp L004AD725 L004AD71F: mov eax,[ecx+3Ch] mov ecx,[eax+0Ch] L004AD725: mov edx,[esp+04h] xor eax,eax mov ax,[ecx] push esi test edx,edx jl L004AD760 mov esi,[esp+0Ch] test esi,esi jl L004AD760 cmp edx,eax jge L004AD760 push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L004AD760 imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2+04h],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L004AD760: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004AD770: push esi mov esi,ecx call [KERNEL32.dll!GetTickCount] sub eax,[esi+000200C8h] cmp eax,000001F4h jc L004AD78D mov ecx,esi call SUB_L004ACC50 L004AD78D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004AD790: 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_L004AD7E0: push esi push edi mov edi,[esp+0Ch] mov esi,ecx push 00000028h push edi push esi call SUB_L004D52C0 mov ax,[edi+2Ah] push 00000028h 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] lea ecx,[esi+34h] push eax push ecx mov [esi+32h],dx call SUB_L004D52C0 mov dx,[edi+62h] add esp,00000018h 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 retn 0004h ;------------------------------------------------------------------------------ SUB_L004AD860: push esi push edi mov ecx,00002000h xor eax,eax mov edi,L00C959C4 rep stosd call SUB_L004AD8C0 mov eax,[L00504FF0] xor edi,edi cmp eax,FFFFFFFFh mov dword ptr [L00C8D9C0],FFFFFFFFh jz L004AD8BA mov esi,L00504FF0 L004AD890: mov eax,[esi+04h] push eax push SSZ0050F4FC_goto call SUB_L004D7A00 add esp,00000008h test eax,eax jz L004AD8B4 mov eax,[esi+08h] add esi,00000008h inc edi cmp eax,FFFFFFFFh jnz L004AD890 pop edi pop esi retn ;------------------------------------------------------------------------------ L004AD8B4: mov [L00C8D9C0],edi L004AD8BA: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004AD8C0: sub esp,000000D8h push ebx push esi push L004FD2A8 push SSZ0050F570_regions_mul call SUB_L0043FEF0 mov esi,eax xor ebx,ebx add esp,00000008h cmp esi,ebx jnz L004AD8FD push SSZ0050F570_regions_mul push SSZ0050F530_RegionManager__readRegionsIntoMe call SUB_L004C7EF0 add esp,00000008h pop esi pop ebx add esp,000000D8h retn ;------------------------------------------------------------------------------ L004AD8FD: push SSZ0050F504_RegionManager__readRegionsIntoMe call SUB_L004C7EF0 push esi push 00000001h lea eax,[esp+14h] push 00000002h push eax mov [esp+1Ch],ebx call SUB_L004404F0 add esp,00000014h cmp eax,00000001h jz L004AD934 push esi call SUB_L00440570 add esp,00000004h pop esi pop ebx add esp,000000D8h retn ;------------------------------------------------------------------------------ L004AD934: mov eax,[esp+08h] push ebp cmp ax,FACEh push edi jnc L004ADC03 push ebx push ebx push esi call SUB_L00440490 mov ecx,0000000Ah xor eax,eax lea edi,[esp+5Ah] add esp,0000000Ch rep stosd mov [esp+78h],bx mov [esp+76h],bx mov [esp+7Ah],bl xor ebp,ebp L004AD96C: push esi push 00000001h lea ecx,[esp+00000088h] push 00000028h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000B0h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000B2h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000B4h] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000B6h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000B8h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000BAh] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000BCh] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000C0h] push 00000004h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 lea ecx,[esp+00000080h] push 00000028h lea edx,[esp+18h] push ecx push edx call SUB_L004D52C0 mov ax,[esp+000000B6h] mov cx,[esp+000000B8h] mov dx,[esp+000000BAh] mov [esp+4Ah],ax mov ax,[esp+000000BCh] mov [esp+4Ch],cx mov cx,[esp+000000BEh] mov [esp+50h],ax movsx eax,[esp+48h] mov [esp+4Eh],dx mov dx,[esp+000000C0h] mov eax,[L00C959C4+eax*4] add esp,0000000Ch cmp eax,ebx mov [esp+46h],cx mov [esp+48h],dx jz L004ADAF0 push eax call SUB_L004D4F9E add esp,00000004h L004ADAF0: push 00000066h call SUB_L004D4FA9 mov edx,eax add esp,00000004h cmp edx,ebx jz L004ADB44 mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd 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 mov edi,edx jmp L004ADB46 L004ADB44: xor edi,edi L004ADB46: movsx ecx,[esp+3Ch] lea edx,[esp+14h] push 00000028h push edx push edi mov [L00C959C4+ecx*4],edi call SUB_L004D52C0 mov ax,[esp+4Ah] push 00000028h mov [edi+28h],ax mov cx,[esp+50h] mov [edi+2Ah],cx mov dx,[esp+52h] mov [edi+2Ch],dx mov ax,[esp+54h] mov [edi+2Eh],ax mov cx,[esp+56h] mov [edi+30h],cx mov dx,[esp+58h] lea eax,[esp+5Eh] lea ecx,[edi+34h] push eax push ecx mov [edi+32h],dx call SUB_L004D52C0 mov dx,[esp+0000008Eh] mov [edi+5Ch],dx mov ax,[esp+00000090h] mov [edi+5Eh],ax mov cl,[esp+00000092h] mov [edi+62h],cl mov ecx,[L00D1AF2C] movsx eax,[esp+54h] mov edx,[esp+62h] add eax,ecx push edx push eax call SUB_L00401E90 add esp,00000020h inc ebp cmp ebp,00002000h jl L004AD96C push esi call SUB_L00440570 add esp,00000004h pop edi pop ebp pop esi pop ebx add esp,000000D8h retn ;------------------------------------------------------------------------------ L004ADC03: jnz L004ADED3 xor ebp,ebp L004ADC0B: push esi push 00000001h lea ecx,[esp+00000088h] push 00000028h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000B0h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000B2h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000B4h] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000B6h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000B8h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000BAh] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000BCh] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000BEh] push 00000004h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000C2h] push 00000028h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+000000EAh] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+000000ECh] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+000000EEh] push eax push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 movsx edx,[esp+000000A8h] mov eax,[L00C959C4+edx*4] cmp eax,ebx jz L004ADDA0 push eax call SUB_L004D4F9E add esp,00000004h L004ADDA0: push 00000066h call SUB_L004D4FA9 mov edx,eax add esp,00000004h cmp edx,ebx jz L004ADDF4 mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd 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 mov edi,edx jmp L004ADDF6 L004ADDF4: xor edi,edi L004ADDF6: movsx eax,[esp+000000A8h] lea ecx,[esp+00000080h] push 00000028h push ecx push edi mov [L00C959C4+eax*4],edi call SUB_L004D52C0 mov dx,[esp+000000B6h] push 00000028h mov [edi+28h],dx mov ax,[esp+000000BCh] mov [edi+2Ah],ax mov cx,[esp+000000BEh] mov [edi+2Ch],cx mov dx,[esp+000000C0h] mov [edi+2Eh],dx mov ax,[esp+000000C2h] mov [edi+30h],ax mov cx,[esp+000000C4h] lea edx,[esp+000000CAh] lea eax,[edi+34h] push edx push eax mov [edi+32h],cx call SUB_L004D52C0 mov cx,[esp+000000FAh] mov [edi+5Ch],cx mov dx,[esp+000000FCh] mov [edi+5Eh],dx mov al,[esp+000000FEh] mov [edi+62h],al mov eax,[L00D1AF2C] movsx edx,[esp+000000C0h] mov ecx,[esp+000000CEh] add edx,eax push ecx push edx call SUB_L00401E90 add esp,00000020h inc ebp cmp ebp,00002000h jl L004ADC0B push esi call SUB_L00440570 add esp,00000004h pop edi pop ebp pop esi pop ebx add esp,000000D8h retn ;------------------------------------------------------------------------------ L004ADED3: xor ebp,ebp L004ADED5: push esi push 00000001h lea eax,[esp+1Ch] push 00000028h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+44h] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+46h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+48h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+4Ah] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+4Ch] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+4Eh] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+50h] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+52h] push 00000004h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+56h] push 00000028h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+7Eh] push 00000002h push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+00000080h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea eax,[esp+00000082h] push 00000002h push eax call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea ecx,[esp+00000084h] push eax push ecx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 push esi push eax lea edx,[esp+00000085h] push 00000002h push edx call SUB_L004404F0 add esp,00000010h cmp eax,00000001h jnz L004AE113 movsx eax,[esp+3Ch] mov eax,[L00C959C4+eax*4] cmp eax,ebx jz L004AE080 push eax call SUB_L004D4F9E add esp,00000004h L004AE080: push 00000066h call SUB_L004D4FA9 mov edx,eax add esp,00000004h cmp edx,ebx jz L004AE0D4 mov ecx,0000000Ah xor eax,eax mov edi,edx rep stosd 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 mov ecx,edx jmp L004AE0D6 L004AE0D4: xor ecx,ecx L004AE0D6: movsx edx,[esp+3Ch] lea eax,[esp+14h] push eax mov [L00C959C4+edx*4],ecx call SUB_L004AD7E0 movsx edx,[esp+3Ch] mov eax,[L00D1AF2C] mov ecx,[esp+4Ah] add edx,eax push ecx push edx call SUB_L00401E90 add esp,00000008h inc ebp cmp ebp,00002000h jl L004ADED5 L004AE113: push esi call SUB_L00440570 add esp,00000004h pop edi pop ebp pop esi pop ebx add esp,000000D8h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AE130: push FFFFFFFFh push L004E5B95 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+14h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004F0A74 mov [L00B294BC],ebp mov [ebp+00000100h],ebx mov eax,[L00C8C4B8] mov [esp+20h],ebx mov [ebp+000000F0h],eax mov esi,[L00C861C8] xor eax,eax cmp esi,ebx jle L004AE1B6 mov edx,[L00C861C0] mov ecx,[L00C861C4] L004AE193: cmp [ecx],ebx jz L004AE1A4 xor edi,edi mov di,[edx] cmp edi,[ebp+000000F0h] jz L004AE1B1 L004AE1A4: inc eax add ecx,00000004h add edx,00000002h cmp eax,esi jl L004AE193 jmp L004AE1B6 L004AE1B1: cmp eax,FFFFFFFFh jnz L004AE1CF L004AE1B6: mov edx,[L00C861C0] xor ecx,ecx mov cx,[edx] mov [ebp+000000F0h],ecx mov ecx,[L00C861C0] jmp L004AE1F3 L004AE1CF: mov edx,[L00C861C0] xor ecx,ecx mov cx,[edx+eax*2] xor edx,edx mov [ebp+000000F0h],ecx mov ecx,[L00C861C0] mov dx,[ecx+eax*2] mov [L00C8C4B8],edx L004AE1F3: mov esi,[L00C861C8] xor eax,eax cmp esi,ebx jle L004AE21E mov edi,[ebp+000000F0h] mov edx,ecx L004AE207: xor ebx,ebx mov bx,[edx] cmp ebx,edi jz L004AE327 inc eax add edx,00000002h cmp eax,esi jl L004AE207 xor ebx,ebx L004AE21E: mov byte ptr [ebp+000000B0h],00h L004AE225: mov ecx,[ebp+000000F0h] mov eax,000001E0h mov [ebp+0000009Ch],ecx mov ecx,00000280h push SSZ004FF288_framedata_for_CBritMapGump push 00000008h mov [ebp+20h],ecx mov [ebp+24h],eax mov [ebp+30h],ebx mov [ebp+34h],ebx mov [ebp+000000A0h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A8h],ecx mov [ebp+000000ACh],eax mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push 0000616Ch mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx call SUB_L004D4FA9 add esp,00000014h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+20h],01h jz L004AE382 push ebx push 00000001h push ebx push 0000013Ch push 00000190h push 0000005Ah push 00000096h push 00000DACh push ebp mov ecx,eax call SUB_L00427B50 jmp L004AE384 L004AE327: mov edx,[L00C861C4] xor ebx,ebx cmp [edx+eax*4],ebx jz L004AE21E xor eax,eax L004AE33A: xor edx,edx mov dx,[ecx] cmp edx,edi jz L004AE377 inc eax add ecx,00000002h cmp eax,esi jl L004AE33A xor eax,eax L004AE34D: mov edi,eax or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp+000000B0h] 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 L004AE225 L004AE377: mov ecx,[L00C861C4] mov eax,[ecx+eax*4] jmp L004AE34D L004AE382: xor eax,eax L004AE384: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+28h],00h mov [ebp+00000100h],eax call SUB_L004587A0 mov eax,[ebp+00000100h] push 000000ECh mov byte ptr [eax+00006169h],00h call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+20h],02h jz L004AE3E2 push ebx push 00000589h push 00000589h push ebx push ebx push ebx push ebp push 00000186h push 00000096h mov ecx,eax call SUB_L00421F40 jmp L004AE3E4 L004AE3E2: xor eax,eax L004AE3E4: push 00000001h push ebp mov ecx,eax mov byte ptr [esp+28h],00h mov dword ptr [eax+000000ACh],00000589h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L004AE43D push ebx push 000015EAh push 000015E8h push L00421E60 push ebx push ebx push ebp push 00000190h push 000000A0h mov ecx,eax call SUB_L00421F40 jmp L004AE43F L004AE43D: xor eax,eax L004AE43F: mov [ebp+000000FCh],eax mov dword ptr [eax+000000ACh],000015E9h mov eax,[ebp+000000FCh] push 00000001h push ebp mov byte ptr [esp+28h],00h mov dword ptr [eax+00000098h],000186AFh mov ecx,[ebp+000000FCh] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov byte ptr [esp+20h],04h jz L004AE4B5 push ebx push ebx push ebx push 00000481h push 00000009h push 00000010h push 00000002h push 0000001Eh push 000000A0h push ebp push 000001A2h push 000000F0h mov ecx,eax call SUB_L0042A340 mov ebx,eax L004AE4B5: xor edx,edx lea edi,[ebp+000000B0h] or ecx,FFFFFFFFh xor eax,eax mov [ebx+000000F4h],edx lea esi,[ebx+000000F8h] repne scasb not ecx sub edi,ecx mov [esp+10h],esi mov eax,ecx mov esi,edi mov edi,[esp+10h] push 00000001h shr ecx,02h rep movsd mov ecx,eax push ebp and ecx,00000003h mov byte ptr [esp+28h],00h rep movsb mov ecx,ebx mov [ebx+000000BCh],edx call SUB_L004587A0 mov edx,[ebx] mov ecx,ebx call [edx+00000174h] push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+20h],05h jz L004AE54E push 00000000h push 000015A6h push 000015A4h push L00421E40 push 00000000h push 00000000h push ebp push 000001BDh push 00000262h mov ecx,eax call SUB_L00421F40 jmp L004AE550 L004AE54E: xor eax,eax L004AE550: mov [ebp+000000F4h],eax mov dword ptr [eax+000000ACh],000015A5h mov eax,[ebp+000000F4h] push 00000001h push ebp mov byte ptr [esp+28h],00h mov dword ptr [eax+00000098h],000186B3h mov ecx,[ebp+000000F4h] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+20h],06h jz L004AE5C6 push 00000000h push 000015A3h push 000015A1h push L00421E80 push 00000000h push 00000000h push ebp push 000001BDh push 0000024Ah mov ecx,eax call SUB_L00421F40 jmp L004AE5C8 L004AE5C6: xor eax,eax L004AE5C8: mov [ebp+000000F8h],eax mov dword ptr [eax+000000ACh],000015A2h mov ecx,[ebp+000000F8h] push 00000001h push ebp mov byte ptr [esp+28h],00h mov dword ptr [ecx+00000098h],000186B2h mov ecx,[ebp+000000F8h] call SUB_L004587A0 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax test eax,eax mov byte ptr [esp+20h],07h jz L004AE640 push 00000000h push 00000000h push 00000000h push 00000481h push 00000009h push 00000010h push 00000002h push 0000001Eh push 0000012Ch push ebp push 0000003Ch push 000000E6h mov ecx,eax call SUB_L0042A340 mov ebx,eax jmp L004AE642 L004AE640: xor ebx,ebx L004AE642: mov edi,SSZ0050F57C_Select_which_shard_to_play_on_ or ecx,FFFFFFFFh xor eax,eax mov dword ptr [ebx+000000F4h],00000000h repne scasb not ecx sub edi,ecx lea edx,[ebx+000000F8h] mov eax,ecx mov esi,edi mov edi,edx push 00000001h shr ecx,02h rep movsd mov ecx,eax push ebp and ecx,00000003h mov byte ptr [esp+28h],00h rep movsb mov ecx,ebx mov dword ptr [ebx+000000BCh],00000000h call SUB_L004587A0 mov edx,[ebx] mov ecx,ebx call [edx+00000174h] mov ecx,[esp+18h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 L004AE6B0: push esi mov esi,ecx call SUB_L004AE6D0 test byte ptr [esp+08h],01h jz L004AE6C8 push esi call SUB_L004D4F9E add esp,00000004h L004AE6C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AE6D0: push FFFFFFFFh push L004E5BA8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F0A74 xor edi,edi mov [L00B29484],edi mov [L00B294BC],edi mov eax,[esi+3Ch] mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L004AE724 push SSZ004FF2BC_CityChoice_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004AE724: mov eax,[esi+3Ch] cmp eax,edi jz L004AE73C push SSZ004FF2A4_CityChoice_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004AE73C: mov ecx,[esi+00000100h] cmp ecx,edi jz L004AE74C mov edx,[ecx] push 00000001h call [edx] L004AE74C: mov ecx,[esi+000000F8h] cmp ecx,edi jz L004AE75C mov eax,[ecx] push 00000001h call [eax] L004AE75C: mov ecx,[esi+000000F4h] cmp ecx,edi jz L004AE76C mov edx,[ecx] push 00000001h call [edx] L004AE76C: mov ecx,[esi+000000FCh] cmp ecx,edi jz L004AE77C mov eax,[ecx] push 00000001h call [eax] L004AE77C: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004AE7A0: mov eax,[ecx+00000100h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AE7B0: mov edx,[L00C861C8] sub esp,00000084h xor eax,eax push ebx mov ebx,[esp+0000008Ch] push ebp push esi test edx,edx push edi mov ebp,ecx jle L004AE7EA mov ecx,[L00C861C0] L004AE7D5: xor esi,esi mov si,[ecx] cmp esi,ebx jz L004AE87B inc eax add ecx,00000002h cmp eax,edx jl L004AE7D5 L004AE7EA: xor eax,eax L004AE7EC: mov edi,eax or ecx,FFFFFFFFh xor eax,eax push ebx repne scasb not ecx sub edi,ecx lea eax,[esp+18h] mov edx,ecx mov esi,edi mov edi,L00705058 push L004FF074 shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h rep movsb call SUB_L004D512F lea ecx,[esp+20h] push ecx push 00000080h call SUB_L00436F10 lea edx,[esp+24h] push ebx push edx call SUB_L0049C6A0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+10h] push eax call SUB_L004BC750 mov [L00C880D8],ebx mov ecx,[ebp+00000100h] test ebp,ebp mov dword ptr [ecx+00006154h],00000000h jz L004AE86E mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L004AE86E: pop edi pop esi pop ebp pop ebx add esp,00000084h retn 0008h ;------------------------------------------------------------------------------ L004AE87B: mov ecx,[L00C861C4] mov eax,[ecx+eax*4] jmp L004AE7EC Align 8 L004AE890: mov eax,[ecx+3Ch] mov ecx,[esp+04h] test ecx,ecx mov eax,[eax+04h] jl L004AE8CF mov edx,[esp+08h] test edx,edx jl L004AE8CF push esi xor esi,esi mov si,[eax] add esi,000000C8h cmp ecx,esi pop esi jge L004AE8CF xor ecx,ecx mov cx,[eax+02h] add ecx,00000096h cmp edx,ecx jge L004AE8CF mov eax,00000001h retn 0008h ;------------------------------------------------------------------------------ L004AE8CF: xor eax,eax retn 0008h ;------------------------------------------------------------------------------ Align 16 L004AE8E0: cmp dword ptr [esp+04h],0000000Dh jnz L004AE8EC mov eax,[ecx] call [eax+54h] L004AE8EC: retn 0004h ;------------------------------------------------------------------------------ Align 4 L004AE8F0: mov edx,[L00C861C8] sub esp,00000084h xor eax,eax push ebx push ebp mov ebp,ecx push esi test edx,edx mov ebx,[ebp+000000F0h] push edi jle L004AE929 mov ecx,[L00C861C0] L004AE914: xor esi,esi mov si,[ecx] cmp esi,ebx jz L004AE9B8 inc eax add ecx,00000002h cmp eax,edx jl L004AE914 L004AE929: xor eax,eax L004AE92B: mov edi,eax or ecx,FFFFFFFFh xor eax,eax push ebx repne scasb not ecx sub edi,ecx lea eax,[esp+18h] mov edx,ecx mov esi,edi mov edi,L00705058 push L004FF074 shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h rep movsb call SUB_L004D512F lea ecx,[esp+20h] push ecx push 00000080h call SUB_L00436F10 lea edx,[esp+24h] push ebx push edx call SUB_L0049C6A0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+10h] push eax call SUB_L004BC750 mov [L00C880D8],ebx mov ecx,[ebp+00000100h] test ebp,ebp mov dword ptr [ecx+00006154h],00000000h jz L004AE9AD mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L004AE9AD: pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004AE9B8: mov ecx,[L00C861C4] mov eax,[ecx+eax*4] jmp L004AE92B Align 16 L004AE9D0: sub esp,00000084h xor eax,eax push ebx push ebp push esi mov esi,[L00C861C8] test esi,esi push edi mov ebp,ecx jle L004AEAC1 mov ecx,[L00C861C0] mov ebx,[ebp+000000F0h] mov edx,ecx L004AE9FA: xor edi,edi mov di,[edx] cmp edi,ebx jz L004AEA16 inc eax add edx,00000002h cmp eax,esi jl L004AE9FA pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004AEA16: mov edx,[L00C861C4] cmp dword ptr [edx+eax*4],00000000h jz L004AEAC1 xor eax,eax L004AEA28: xor edi,edi mov di,[ecx] cmp edi,ebx jz L004AEACC inc eax add ecx,00000002h cmp eax,esi jl L004AEA28 xor eax,eax L004AEA3F: mov edi,eax or ecx,FFFFFFFFh xor eax,eax push ebx repne scasb not ecx sub edi,ecx push L004FF074 mov eax,ecx mov esi,edi mov edi,L00705058 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+1Ch] push ecx call SUB_L004D512F lea edx,[esp+20h] push edx push 00000080h call SUB_L00436F10 lea eax,[esp+24h] push ebx push eax call SUB_L0049C6A0 add esp,0000001Ch lea ecx,[esp+10h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov [L00C880D8],ebx mov edx,[ebp+00000100h] test ebp,ebp mov dword ptr [edx+00006154h],00000000h jz L004AEAC1 mov eax,[ebp+00h] push 00000001h mov ecx,ebp call [eax] L004AEAC1: pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004AEACC: mov eax,[edx+eax*4] jmp L004AEA3F Align 16 L004AEAE0: mov edx,[L00C861C8] sub esp,00000084h xor eax,eax push ebx push ebp mov ebp,ecx push esi test edx,edx mov ebx,[ebp+0000009Ch] push edi jle L004AEB19 mov ecx,[L00C861C0] L004AEB04: xor esi,esi mov si,[ecx] cmp esi,ebx jz L004AEBA8 inc eax add ecx,00000002h cmp eax,edx jl L004AEB04 L004AEB19: xor eax,eax L004AEB1B: mov edi,eax or ecx,FFFFFFFFh xor eax,eax push ebx repne scasb not ecx sub edi,ecx lea eax,[esp+18h] mov edx,ecx mov esi,edi mov edi,L00705058 push L004FF074 shr ecx,02h rep movsd mov ecx,edx push eax and ecx,00000003h rep movsb call SUB_L004D512F lea ecx,[esp+20h] push ecx push 00000080h call SUB_L00436F10 lea edx,[esp+24h] push ebx push edx call SUB_L0049C6A0 mov ecx,[L00C88300] add esp,0000001Ch lea eax,[esp+10h] push eax call SUB_L004BC750 mov [L00C880D8],ebx mov ecx,[ebp+00000100h] test ebp,ebp mov dword ptr [ecx+00006154h],00000000h jz L004AEB9D mov edx,[ebp+00h] push 00000001h mov ecx,ebp call [edx] L004AEB9D: pop edi pop esi pop ebp pop ebx add esp,00000084h retn ;------------------------------------------------------------------------------ L004AEBA8: mov ecx,[L00C861C4] mov eax,[ecx+eax*4] jmp L004AEB1B Align 16 SUB_L004AEBC0: sub esp,0000001Ch lea eax,[esp+10h] push edi mov edi,[esp+2Ch] lea ecx,[esp+2Ch] push eax push ecx push edi call SUB_L004434A0 lea edx,[esp+24h] lea ecx,[esp+10h] lea eax,[edi+01h] push edx push ecx push eax mov [esp+24h],eax call SUB_L004434A0 lea edx,[esp+34h] lea ecx,[esp+20h] lea eax,[edi+02h] push edx push ecx push eax mov [esp+34h],eax call SUB_L004434A0 mov eax,[esp+50h] add esp,00000024h test eax,eax jz L004AECED mov eax,[esp+04h] test eax,eax jz L004AECED mov eax,[esp+08h] test eax,eax jz L004AECED push ebx push ebp mov ebp,[esp+3Ch] push esi xor edx,edx xor ecx,ecx mov esi,[ebp+08h] mov ebx,[ebp+00h] sub esi,ebx mov ebx,[esp+3Ch] inc esi mov dx,[ebx+02h] mov cx,[ebx] lea eax,[ebx+04h] push edx mov edx,[esp+38h] push ecx mov [esp+48h],eax push eax mov eax,[esp+3Ch] push edx push eax push ebp push edi push SUB_L004B9B80 call SUB_L004436C0 mov edi,[esp+58h] add esp,00000020h cmp edi,esi jge L004AECB3 L004AEC77: mov eax,[esp+40h] xor ecx,ecx mov cx,[ebx+02h] xor edx,edx mov dx,[ebx] push ecx mov ecx,[esp+38h] push edx mov edx,[esp+38h] push eax push ecx mov ecx,[esp+28h] lea eax,[edi+edx] push eax push ebp push ecx push SUB_L004B9B80 call SUB_L004436C0 mov ecx,[esp+30h] add esp,00000020h add edi,ecx cmp edi,esi jl L004AEC77 L004AECB3: xor edx,edx mov ecx,[esp+40h] mov dx,[ebx+02h] xor eax,eax mov ax,[ebx] mov ebx,[esp+30h] push edx mov edx,[esp+38h] push eax mov eax,[esp+1Ch] sub esi,eax mov eax,[esp+24h] push ecx add esi,ebx push edx push esi push ebp push eax push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h pop esi pop ebp pop ebx L004AECED: pop edi add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AED00: push FFFFFFFFh push L004E5BF4 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi call SUB_L00458F30 mov ecx,[esp+20h] xor ebx,ebx mov dword ptr [esi],L004F0BE8 mov eax,[esp+1Ch] mov dword ptr [esi+08h],SSZ0050F5C4_shop_gump mov [esi+60h],ebx mov [esi+000000F0h],ebx mov [esi+000000ECh],ebx mov [esi+000000E8h],ebx mov [esi+000000E4h],ebx mov [esi+34h],ecx mov ecx,[esp+24h] mov [esi+000000F8h],ebx mov [esi+000000F4h],ebx mov [esi+000000C4h],ebx cmp ecx,ebx mov [esp+14h],ebx mov [esi+000000B8h],ebx mov [esi+000000C8h],bx mov [esi+000000D0h],ebx mov [esi+000000D8h],bx mov [esi+30h],eax mov [esi+38h],ecx jz L004AEDB8 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L004AEDB8 mov eax,[esi+38h] cmp [eax+0000008Ch],ebx jz L004AEDB2 mov [eax+00000090h],esi jmp L004AEDB8 L004AEDB2: mov [eax+0000008Ch],esi L004AEDB8: push ebp lea eax,[esi+24h] push edi lea ebp,[esi+20h] push eax push ebp push 00000870h mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov dword ptr [esi+54h],00000870h call SUB_L004434A0 mov eax,[ebp+00h] push SSZ0050F5AC_framedata_for_CShopGump push 00000008h mov [esi+1Ch],eax mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050F59C_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000BCh mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[ebp+00h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [esi+0000009Ch],0000001Eh mov dword ptr [esi+000000A4h],000000E4h mov dword ptr [esi+000000A0h],0000003Ah mov dword ptr [esi+000000A8h],000000ECh mov [esi+000000D4h],ebx call SUB_L004D4FA9 add esp,00000020h mov [esp+24h],eax pop edi cmp eax,ebx mov byte ptr [esp+18h],01h pop ebp jz L004AEED9 push 00000828h push esi push 000000BCh push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00422790 jmp L004AEEDB L004AEED9: xor eax,eax L004AEEDB: push 00000001h push esi mov ecx,eax mov [esp+1Ch],bl mov [esi+000000DCh],eax call SUB_L004587A0 mov ecx,[esi+000000DCh] push 00000001h push ebx call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov byte ptr [esp+14h],02h jz L004AEF38 push ebx push L0041E670 push ebx push 00000002h push esi push 0000003Dh push 000000FBh push 00000030h push 000000E8h mov ecx,eax call SUB_L004220C0 jmp L004AEF3A L004AEF38: xor eax,eax L004AEF3A: push 00000001h push esi mov ecx,eax mov [esp+1Ch],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov byte ptr [esp+14h],03h jz L004AEF89 push ebx push L0041E540 push ebx push 00000002h push esi push 000000CEh push 000000FCh push 000000C0h push 000000EAh mov ecx,eax call SUB_L004220C0 jmp L004AEF8B L004AEF89: xor eax,eax L004AEF8B: push 00000001h push esi mov ecx,eax mov [esp+1Ch],bl call SUB_L004587A0 mov eax,[esi+38h] mov ecx,[eax+00000130h] mov edx,[ecx+000000ACh] mov [esi+000000ACh],edx mov eax,[eax+00000130h] mov ecx,[eax+000000ACh] mov byte ptr [esi+000000B4h],1Ah mov [esi+000000B0h],ecx mov ecx,esi mov [esi+000000BCh],ebx call SUB_L004B01D0 push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [esp+1Ch],eax cmp eax,ebx mov byte ptr [esp+14h],04h jz L004AF00D mov edx,[esi+34h] mov ecx,[esi+30h] push ebx add edx,000000D6h push esi add ecx,000000AAh push edx push ecx mov ecx,eax call SUB_L004B0A70 jmp L004AF00F L004AF00D: xor eax,eax L004AF00F: push 00000001h push ebx mov ecx,eax mov [esp+1Ch],bl mov [esi+000000E0h],eax call SUB_L004587A0 mov ecx,[esp+0Ch] mov eax,esi pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004AF040: push esi mov esi,ecx call SUB_L004AF470 test byte ptr [esp+08h],01h jz L004AF058 push esi call SUB_L004D4F9E add esp,00000004h L004AF058: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004AF060: push FFFFFFFFh push L004E5C34 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov ebp,ecx push edi mov [esp+18h],ebp call SUB_L00458F30 mov eax,[esp+38h] xor ebx,ebx mov dword ptr [ebp+00h],L004F0BE8 mov dword ptr [ebp+08h],SSZ0050F5C4_shop_gump mov [ebp+60h],ebx mov [ebp+000000F0h],ebx mov [ebp+000000ECh],ebx mov [ebp+000000E8h],ebx mov [ebp+000000E4h],ebx mov [ebp+000000F8h],ebx mov [ebp+000000F4h],ebx mov [ebp+000000C4h],ebx cmp ax,bx mov [esp+24h],ebx mov dword ptr [ebp+000000B8h],00000001h mov [ebp+000000C8h],ax jz L004AF1C4 and eax,0000FFFFh shl eax,04h push eax call SUB_L004D4FA9 mov edx,[esp+40h] xor ecx,ecx mov cx,[ebp+000000C8h] mov [ebp+000000D0h],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 [esp+10h],ebx and ecx,00000003h rep movsb cmp [ebp+000000C8h],bx jbe L004AF1CA lea esi,[edx+0Ch] mov [esp+38h],ebx mov [esp+3Ch],esi jmp L004AF141 L004AF13D: mov esi,[esp+3Ch] L004AF141: mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov ecx,[ebp+000000D0h] mov edx,[esp+3Ch] add esp,00000004h mov [ecx+edx+0Ch],eax mov edi,[esi] or ecx,FFFFFFFFh xor eax,eax repne scasb mov edx,[ebp+000000D0h] not ecx sub edi,ecx mov [esp+14h],edx mov edx,[esp+38h] mov esi,edi mov edi,[esp+14h] mov eax,ecx shr ecx,02h mov edi,[edi+edx+0Ch] add edx,00000010h rep movsd mov ecx,eax mov eax,[esp+10h] and ecx,00000003h inc eax rep movsb mov esi,[esp+3Ch] xor ecx,ecx mov cx,[ebp+000000C8h] add esi,00000010h cmp eax,ecx mov [esp+10h],eax mov [esp+38h],edx mov [esp+3Ch],esi jl L004AF13D jmp L004AF1CA L004AF1C4: mov [ebp+000000D0h],ebx L004AF1CA: mov ecx,[esp+34h] mov edx,[esp+2Ch] mov eax,[esp+30h] cmp ecx,ebx mov [ebp+30h],edx mov [ebp+34h],eax mov [ebp+38h],ecx jz L004AF205 mov edx,[ecx] call [edx+2Ch] test eax,eax jz L004AF205 mov eax,[ebp+38h] cmp [eax+0000008Ch],ebx jz L004AF1FF mov [eax+00000090h],ebp jmp L004AF205 L004AF1FF: mov [eax+0000008Ch],ebp L004AF205: lea eax,[ebp+24h] lea esi,[ebp+20h] push eax push esi push 00000872h mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov dword ptr [ebp+54h],00000872h call SUB_L004434A0 mov eax,[esi] push SSZ0050F5AC_framedata_for_CShopGump push 00000008h mov [ebp+1Ch],eax mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ0050F59C_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push 000000BCh mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[esi] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [ebp+0000009Ch],0000001Eh mov dword ptr [ebp+000000A4h],000000E4h mov dword ptr [ebp+000000A0h],0000003Ah mov dword ptr [ebp+000000A8h],000000ECh mov [ebp+000000D4h],ebx mov [ebp+000000D8h],bx call SUB_L004D4FA9 add esp,00000020h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+24h],01h jz L004AF325 push 00000828h push ebp push 000000BCh push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00422790 jmp L004AF327 L004AF325: xor eax,eax L004AF327: push 00000001h push ebp mov ecx,eax mov [esp+2Ch],bl mov [ebp+000000DCh],eax call SUB_L004587A0 mov ecx,[ebp+000000DCh] push 00000001h push ebx call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+24h],02h jz L004AF384 push ebx push L0041E670 push ebx push 00000002h push ebp push 0000003Dh push 000000FBh push 00000030h push 000000E8h mov ecx,eax call SUB_L004220C0 jmp L004AF386 L004AF384: xor eax,eax L004AF386: push 00000001h push ebp mov ecx,eax mov [esp+2Ch],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+24h],03h jz L004AF3D5 push ebx push L0041E540 push ebx push 00000002h push ebp push 000000CEh push 000000FCh push 000000C0h push 000000EAh mov ecx,eax call SUB_L004220C0 jmp L004AF3D7 L004AF3D5: xor eax,eax L004AF3D7: push 00000001h push ebp mov ecx,eax mov [esp+2Ch],bl call SUB_L004587A0 mov ecx,ebp mov [ebp+000000B0h],ebx mov [ebp+000000ACh],ebx mov [ebp+000000CCh],bx mov [ebp+000000CAh],bx call SUB_L004B01D0 push 000000E4h call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+24h],04h jz L004AF440 mov ecx,[ebp+34h] mov edx,[ebp+30h] push 00000001h add ecx,000000D6h push ebp add edx,000000AAh push ecx push edx mov ecx,eax call SUB_L004B0A70 jmp L004AF442 L004AF440: xor eax,eax L004AF442: push 00000001h push ebx mov ecx,eax mov [esp+2Ch],bl mov [ebp+000000E0h],eax call SUB_L004587A0 mov ecx,[esp+1Ch] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0014h ;------------------------------------------------------------------------------ Align 4 SUB_L004AF470: push FFFFFFFFh push L004E5C48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F0BE8 xor edi,edi mov dword ptr [esp+14h],00000000h cmp [esi+000000C8h],di mov dword ptr [esi+000000C4h],00000001h jbe L004AF4D9 push ebx xor ebx,ebx L004AF4B4: mov eax,[esi+000000D0h] mov eax,[ebx+eax+0Ch] push eax call SUB_L004D4F9E xor ecx,ecx add esp,00000004h mov cx,[esi+000000C8h] inc edi add ebx,00000010h cmp edi,ecx jl L004AF4B4 pop ebx L004AF4D9: mov eax,[esi+000000D0h] test eax,eax jz L004AF4EC push eax call SUB_L004D4F9E add esp,00000004h L004AF4EC: mov eax,[esi+000000D4h] test eax,eax jz L004AF514 L004AF4F6: mov edx,[esi+000000D4h] mov eax,edx mov edi,[edx+0Ch] push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000D4h],edi test edi,edi jnz L004AF4F6 L004AF514: mov eax,[esi+38h] test eax,eax jz L004AF534 mov ecx,[eax+00000130h] call SUB_L00480A10 mov eax,[esi+38h] mov ecx,[eax+00000134h] call SUB_L00480A10 L004AF534: mov eax,[esi+000000E0h] test eax,eax jz L004AF558 mov dword ptr [eax+000000B8h],00000000h mov ecx,[esi+000000E0h] test ecx,ecx jz L004AF558 mov edx,[ecx] push 00000001h call [edx] L004AF558: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004AF580: sub esp,000000A8h push ebx push ebp push esi push edi mov edi,ecx xor ebp,ebp mov [esp+20h],edi mov eax,[edi+000000BCh] mov [esp+14h],eax mov eax,[edi+000000B8h] cmp eax,ebp jz L004AF5CA mov ecx,[esp+000000C0h] mov edx,[esp+000000BCh] push ecx push edx mov ecx,edi call SUB_L004AF840 pop edi pop esi pop ebp pop ebx add esp,000000A8h retn 0008h ;------------------------------------------------------------------------------ L004AF5CA: lea eax,[esp+28h] lea ecx,[esp+34h] push eax push ecx push 00000032h call SUB_L004434A0 lea edx,[esp+38h] lea eax,[esp+3Ch] push edx push eax push 00000039h call SUB_L004434A0 add esp,00000018h mov ecx,edi push ebp call SUB_L004584E0 mov ecx,[edi+000000F8h] mov ebx,[esp+000000BCh] mov esi,[esp+000000C0h] mov eax,00000001h cmp ecx,eax mov [edi+000000C0h],ebp mov [edi+000000ECh],eax mov [edi+70h],ebx mov [edi+74h],esi jnz L004AF632 mov dword ptr [edi+000000F8h],00000002h jmp L004AF644 L004AF632: mov [edi+000000F8h],eax call [KERNEL32.dll!GetTickCount] mov [edi+000000F4h],eax L004AF644: cmp ebx,[edi+0000009Ch] jl L004AF827 cmp ebx,[edi+000000A4h] jg L004AF827 mov eax,[edi+000000A0h] lea ecx,[eax+06h] cmp esi,ecx jl L004AF827 cmp esi,[edi+000000A8h] jg L004AF827 mov ebx,[edi+000000ACh] sub esi,eax sub esi,00000006h cmp ebx,ebp mov [esp+24h],esi jz L004AF69D mov edx,[ebx] mov ecx,ebx call [edx+78h] cmp eax,ebp jz L004AF69D xor ebp,ebp mov bp,[eax+06h] L004AF69D: test ebx,ebx jz L004AF6C3 mov eax,[ebx+000000A8h] mov ecx,[ebx+000000A4h] push eax push ecx lea edx,[esp+40h] push SSZ0050F5D8__s_at__dgp push edx call SUB_L004D512F add esp,00000010h jmp L004AF6F1 L004AF6C3: mov edi,SSZ0050F5D0__null_ or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+38h] 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,[esp+24h] mov edi,[esp+20h] L004AF6F1: lea ecx,[esp+1Ch] push 00000000h lea edx,[esp+14h] push ecx lea eax,[esp+20h] push edx push eax lea ecx,[esp+48h] push 00000064h push ecx push 00000009h call SUB_L00441CD0 mov eax,[esp+2Ch] add esp,0000001Ch cmp eax,ebp jle L004AF71D L004AF71B: mov ebp,eax L004AF71D: cmp ebp,0000002Ch mov eax,0000002Ch jl L004AF729 mov eax,ebp L004AF729: add eax,00000012h cmp esi,eax jle L004AF7E2 test ebx,ebx jz L004AF827 sub esi,00000012h cmp ebp,0000002Ch mov eax,0000002Ch jl L004AF74B mov eax,ebp L004AF74B: mov ebx,[ebx+44h] sub esi,eax test ebx,ebx jnz L004AF77D mov eax,[esp+14h] test eax,eax jnz L004AF71D mov edx,[edi+38h] mov eax,[edx+00000134h] mov eax,[eax+000000ACh] test eax,eax jz L004AF71D mov ebx,eax mov dword ptr [esp+14h],00000001h test ebx,ebx jz L004AF71D L004AF77D: mov edx,[ebx] mov ecx,ebx call [edx+78h] test eax,eax jz L004AF790 xor ebp,ebp mov bp,[eax+06h] jmp L004AF792 L004AF790: xor ebp,ebp L004AF792: mov eax,[ebx+000000A8h] mov ecx,[ebx+000000A4h] push eax push ecx lea edx,[esp+40h] push SSZ0050F5D8__s_at__dgp push edx call SUB_L004D512F lea eax,[esp+2Ch] push 00000000h lea ecx,[esp+24h] push eax lea edx,[esp+30h] push ecx push edx lea eax,[esp+58h] push 00000064h push eax push 00000009h call SUB_L00441CD0 mov eax,[esp+3Ch] add esp,0000002Ch cmp eax,ebp jle L004AF71D jmp L004AF71B L004AF7E2: test ebx,ebx jz L004AF827 mov eax,[esp+14h] mov dword ptr [edi+000000C0h],00000001h test eax,eax mov [edi+000000B0h],ebx jz L004AF819 mov ecx,edi mov byte ptr [edi+000000B4h],1Bh call SUB_L004B01D0 pop edi pop esi pop ebp pop ebx add esp,000000A8h retn 0008h ;------------------------------------------------------------------------------ L004AF819: mov ecx,edi mov byte ptr [edi+000000B4h],1Ah call SUB_L004B01D0 L004AF827: pop edi pop esi pop ebp pop ebx add esp,000000A8h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004AF840: sub esp,000000A0h lea eax,[esp+10h] push ebx push ebp push esi mov esi,ecx push edi lea ecx,[esp+2Ch] push eax push ecx push 00000032h call SUB_L004434A0 lea edx,[esp+30h] lea eax,[esp+34h] push edx push eax push 00000039h call SUB_L004434A0 add esp,00000018h mov ecx,esi push 00000000h call SUB_L004584E0 mov ecx,[esi+000000F8h] mov ebx,[esp+000000B4h] mov edi,[esp+000000B8h] mov eax,00000001h cmp ecx,eax mov dword ptr [esi+000000C0h],00000000h mov [esi+000000ECh],eax mov [esi+70h],ebx mov [esi+74h],edi jnz L004AF8B9 mov dword ptr [esi+000000F8h],00000002h jmp L004AF8CB L004AF8B9: mov [esi+000000F8h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000F4h],eax L004AF8CB: cmp ebx,[esi+0000009Ch] jl L004AFA96 cmp ebx,[esi+000000A4h] jg L004AFA96 mov eax,[esi+000000A0h] lea ecx,[eax+06h] cmp edi,ecx jl L004AFA96 cmp edi,[esi+000000A8h] jg L004AFA96 mov bp,[esi+000000CAh] sub edi,eax mov edx,[esi+000000D0h] sub edi,00000006h mov [esp+14h],edi mov edi,ebp and edi,0000FFFFh xor eax,eax shl edi,04h mov ax,[edx+edi+04h] add eax,00004000h push eax call SUB_L004B9530 add esp,00000004h test eax,eax jz L004AF942 xor ebx,ebx mov bx,[eax+06h] jmp L004AF944 L004AF942: xor ebx,ebx L004AF944: mov ecx,[esi+000000D0h] xor edx,edx mov dx,[ecx+edi+0Ah] lea eax,[ecx+edi] push edx lea ecx,[esp+34h] mov eax,[eax+0Ch] push eax push SSZ0050F5D8__s_at__dgp push ecx call SUB_L004D512F lea edx,[esp+28h] push 00000000h lea eax,[esp+24h] push edx lea ecx,[esp+34h] push eax push ecx lea edx,[esp+50h] push 00000064h push edx push 00000009h call SUB_L00441CD0 mov eax,[esp+3Ch] add esp,0000002Ch cmp eax,ebx jle L004AF994 L004AF992: mov ebx,eax L004AF994: cmp ebx,0000002Ch mov eax,0000002Ch jl L004AF9A0 mov eax,ebx L004AF9A0: mov edx,[esp+14h] add eax,00000012h cmp edx,eax jle L004AFA75 mov cx,[esi+000000C8h] cmp bp,cx jnc L004AFA75 sub edx,00000012h cmp ebx,0000002Ch mov eax,0000002Ch jl L004AF9CE mov eax,ebx L004AF9CE: sub edx,eax inc ebp cmp bp,cx mov [esp+14h],edx jnc L004AF994 mov eax,[esi+000000D0h] mov edi,ebp and edi,0000FFFFh xor ecx,ecx shl edi,04h mov cx,[eax+edi+04h] add ecx,00004000h push ecx call SUB_L004B9530 add esp,00000004h test eax,eax jz L004AFA0D xor ebx,ebx mov bx,[eax+06h] jmp L004AFA0F L004AFA0D: xor ebx,ebx L004AFA0F: mov edx,[esi+000000D0h] xor eax,eax push 00000000h mov ax,[edx+edi+04h] push eax call SUB_L0047FBA0 mov ecx,[esi+000000D0h] xor edx,edx mov dx,[ecx+edi+0Ah] push edx push eax lea eax,[esp+40h] push SSZ0050F5D8__s_at__dgp push eax call SUB_L004D512F lea ecx,[esp+30h] push 00000000h lea edx,[esp+2Ch] push ecx lea eax,[esp+3Ch] push edx push eax lea ecx,[esp+58h] push 00000064h push ecx push 00000009h call SUB_L00441CD0 mov eax,[esp+44h] add esp,00000034h cmp eax,ebx jle L004AF994 jmp L004AF992 L004AFA75: cmp bp,[esi+000000C8h] jnc L004AFA96 mov ecx,esi mov dword ptr [esi+000000C0h],00000001h mov [esi+000000CCh],bp call SUB_L004B01D0 L004AFA96: pop edi pop esi pop ebp pop ebx add esp,000000A0h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004AFAB0: mov eax,[ecx+000000E4h] push esi xor esi,esi cmp eax,esi mov [ecx+000000ECh],esi jz L004AFADC push esi mov [ecx+000000E4h],esi mov [ecx+000000F8h],esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L004AFADC: cmp dword ptr [ecx+000000F8h],00000002h jnz L004AFAFA mov eax,[ecx+000000C0h] mov [ecx+000000F8h],esi cmp eax,esi jz L004AFAFA call SUB_L0041EC40 L004AFAFA: push esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004AFB10: push ebx push esi mov esi,ecx push edi mov ecx,[esp+14h] mov edi,[esp+10h] mov ebx,[esi+000000ECh] test ebx,ebx jz L004AFB67 mov eax,[esi+000000F8h] test eax,eax jbe L004AFB67 mov edx,[esi+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004AFB53 mov edx,[esi+74h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004AFB67 L004AFB53: mov dword ptr [esi+000000E4h],00000001h mov dword ptr [esi+000000F8h],00000000h L004AFB67: test ebx,ebx jz L004AFBB1 mov eax,[esi+000000C0h] test eax,eax jnz L004AFBB1 mov edx,[esi+74h] mov ebx,[esi+70h] push 00000001h push 00000000h sub ecx,edx push 00000001h sub edi,ebx push ecx push edi mov ecx,esi call SUB_L00457800 mov eax,[esi+30h] mov ecx,[esi+000000E0h] add eax,000000AAh mov [ecx+30h],eax mov edx,[esi+34h] mov eax,[esi+000000E0h] add edx,000000D6h mov [eax+34h],edx L004AFBB1: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004AFBC0: mov eax,[ecx+000000B8h] push esi push edi xor esi,esi xor edi,edi test eax,eax jz L004AFC08 mov di,[ecx+000000C8h] mov esi,edi and esi,0000FFFFh mov eax,esi imul eax,[esp+0Ch] cdq idiv [esp+10h] test di,di jz L004AFBF7 cmp eax,esi jl L004AFBF7 lea eax,[esi-01h] L004AFBF7: mov [ecx+000000CAh],ax call SUB_L004B01D0 pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ L004AFC08: mov eax,[ecx+38h] push ebx push ebp mov ebp,[eax+00000130h] test ebp,ebp jz L004AFC29 mov esi,[ebp+000000ACh] test esi,esi jz L004AFC29 L004AFC21: mov esi,[esi+44h] inc edi test esi,esi jnz L004AFC21 L004AFC29: mov ebx,[eax+00000134h] test ebx,ebx jz L004AFC45 mov esi,[ebx+000000ACh] test esi,esi jz L004AFC45 L004AFC3D: mov esi,[esi+44h] inc edi test esi,esi jnz L004AFC3D L004AFC45: mov eax,edi imul eax,[esp+14h] cdq idiv [esp+18h] test edi,edi jz L004AFC5C cmp eax,edi jl L004AFC5C lea eax,[edi-01h] L004AFC5C: test ebp,ebp mov dword ptr [ecx+000000BCh],00000000h mov edx,00000001h jz L004AFCAB mov esi,[ebp+000000ACh] test eax,eax jz L004AFCC9 L004AFC79: test esi,esi jz L004AFCAB mov esi,[esi+44h] dec eax test esi,esi jnz L004AFC95 test ebx,ebx jz L004AFC95 mov esi,[ebx+000000ACh] mov [ecx+000000BCh],edx L004AFC95: test eax,eax jnz L004AFC79 mov [ecx+000000ACh],esi call SUB_L004B01D0 pop ebp pop ebx pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ L004AFCAB: test eax,eax jz L004AFCC9 test ebx,ebx jz L004AFCC9 mov esi,[ebx+000000ACh] mov [ecx+000000BCh],edx L004AFCBF: test esi,esi jz L004AFCC9 mov esi,[esi+44h] dec eax jnz L004AFCBF L004AFCC9: mov [ecx+000000ACh],esi call SUB_L004B01D0 pop ebp pop ebx pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004AFCE0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000F8h] mov ecx,00000001h cmp edx,ecx jnz L004AFD4F sub edi,[esi+000000F4h] cmp edi,eax jbe L004AFD4F mov eax,[esi+000000ECh] mov dword ptr [esi+000000F8h],00000000h test eax,eax jnz L004AFD49 mov eax,[esi+000000C0h] test eax,eax jz L004AFD4F mov eax,[L00C88318] test eax,eax jz L004AFD4F mov esi,[esi+000000B0h] test esi,esi jz L004AFD4F push esi call [L00C88328] add esp,00000004h pop edi pop esi retn ;------------------------------------------------------------------------------ L004AFD49: mov [esi+000000E4h],ecx L004AFD4F: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004AFD60: sub esp,00000008h mov edx,ecx push ebx push ebp mov ebp,[esp+18h] mov eax,[edx+000000D4h] push esi test eax,eax push edi mov [esp+14h],edx mov dword ptr [esp+10h],00000000h jz L004AFD93 L004AFD83: cmp [eax+04h],ebp jz L004AFD93 mov [esp+10h],eax mov eax,[eax+0Ch] test eax,eax jnz L004AFD83 L004AFD93: mov ebx,[esp+1Ch] mov esi,[edx+38h] mov ecx,ebx and ecx,000000FFh mov ecx,[esi+ecx*4+000000C8h] mov ecx,[ecx+000000ACh] test ecx,ecx jz L004AFDBF L004AFDB3: cmp [ecx+7Ch],ebp jz L004AFDBF mov ecx,[ecx+44h] test ecx,ecx jnz L004AFDB3 L004AFDBF: xor esi,esi mov si,[ecx+40h] test eax,eax jnz L004AFE71 mov edi,[esp+24h] test edi,edi jle L004AFEAA cmp bl,1Bh jz L004AFDE6 test esi,esi jle L004AFEAA L004AFDE6: push 00000010h call SUB_L004D4FA9 add esp,00000004h cmp bl,1Bh mov [eax],bl mov [eax+04h],ebp mov [eax+0Ah],di jnz L004AFE0C cmp di,0001h jbe L004AFE1F mov word ptr [eax+0Ah],0001h jmp L004AFE1F L004AFE0C: cmp bl,1Ah jnz L004AFE1F and edi,0000FFFFh cmp edi,esi jle L004AFE1F mov [eax+0Ah],si L004AFE1F: mov ecx,[esp+10h] mov dword ptr [eax+0Ch],00000000h test ecx,ecx jz L004AFE31 mov [ecx+0Ch],eax L004AFE31: mov esi,[esp+14h] mov ecx,[esi+000000D4h] test ecx,ecx jnz L004AFE51 mov edx,[esi+000000E0h] mov [esi+000000D4h],eax mov [edx+000000BCh],eax L004AFE51: mov ecx,[esi+000000E0h] call SUB_L004B1220 mov ecx,[esi+000000E0h] call SUB_L004B1570 pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004AFE71: mov ebp,[esp+24h] xor ecx,ecx mov cx,[eax+0Ah] add ecx,ebp cmp bl,1Bh jnz L004AFEB4 cmp ecx,00000001h jle L004AFEBF mov ecx,00000001h L004AFE8C: mov [eax+0Ah],cx L004AFE90: mov ecx,[edx+000000E0h] call SUB_L004B1220 mov eax,[esp+14h] mov ecx,[eax+000000E0h] call SUB_L004B1570 L004AFEAA: pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ L004AFEB4: cmp bl,1Ah jnz L004AFEBF cmp ecx,esi jle L004AFEBF mov ecx,esi L004AFEBF: cmp ecx,000003E7h jle L004AFECE mov ecx,000003E7h jmp L004AFE8C L004AFECE: test ecx,ecx jg L004AFE8C mov ecx,[esp+10h] test ecx,ecx jz L004AFEE0 mov esi,[eax+0Ch] mov [ecx+0Ch],esi L004AFEE0: cmp [edx+000000D4h],eax jnz L004AFEF1 mov ecx,[eax+0Ch] mov [edx+000000D4h],ecx L004AFEF1: mov ecx,[edx+000000E0h] cmp [ecx+000000BCh],eax jnz L004AFF10 mov edx,[eax+0Ch] test edx,edx jnz L004AFF0A mov edx,[esp+10h] L004AFF0A: mov [ecx+000000BCh],edx L004AFF10: push eax call SUB_L004D4F9E mov edx,[esp+18h] add esp,00000004h jmp L004AFE90 Align 16 SUB_L004AFF30: push ecx push ebx push ebp mov ebp,ecx push esi push edi mov dword ptr [esp+10h],00000000h mov eax,[ebp+000000D4h] test eax,eax jz L004AFF6F mov ecx,[esp+18h] mov edx,[ebp+000000D0h] and ecx,0000FFFFh shl ecx,04h mov ecx,[ecx+edx] L004AFF5F: cmp [eax+04h],ecx jz L004AFF6F mov [esp+10h],eax mov eax,[eax+0Ch] test eax,eax jnz L004AFF5F L004AFF6F: mov esi,[esp+18h] mov ecx,[ebp+000000D0h] and esi,0000FFFFh xor edi,edi shl esi,04h test eax,eax mov di,[ecx+esi+08h] jnz L004B0002 mov ebx,[esp+1Ch] test ebx,ebx jle L004B003B test edi,edi jle L004B003B push 00000010h call SUB_L004D4FA9 mov edx,[ebp+000000D0h] add esp,00000004h mov ecx,[edx+esi] mov dx,[esp+18h] mov [eax+0Ah],bx and ebx,0000FFFFh cmp ebx,edi mov [eax+04h],ecx mov [eax+08h],dx jle L004AFFD2 mov [eax+0Ah],di L004AFFD2: mov ecx,[esp+10h] mov dword ptr [eax+0Ch],00000000h test ecx,ecx jz L004AFFE4 mov [ecx+0Ch],eax L004AFFE4: mov ecx,[ebp+000000D4h] test ecx,ecx jnz L004B0025 mov ecx,[ebp+000000E0h] mov [ebp+000000D4h],eax mov [ecx+000000BCh],eax jmp L004B0025 L004B0002: mov esi,[esp+1Ch] xor ecx,ecx mov cx,[eax+0Ah] add ecx,esi cmp ecx,edi jle L004B0014 mov ecx,edi L004B0014: cmp ecx,000003E7h jle L004B0043 mov ecx,000003E7h L004B0021: mov [eax+0Ah],cx L004B0025: mov ecx,[ebp+000000E0h] call SUB_L004B1220 mov ecx,[ebp+000000E0h] call SUB_L004B1570 L004B003B: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B0043: test ecx,ecx jg L004B0021 mov esi,[esp+10h] test esi,esi jz L004B0055 mov edx,[eax+0Ch] mov [esi+0Ch],edx L004B0055: cmp [ebp+000000D4h],eax jnz L004B0066 mov ecx,[eax+0Ch] mov [ebp+000000D4h],ecx L004B0066: mov ecx,[ebp+000000E0h] cmp [ecx+000000BCh],eax jnz L004B0092 mov edx,[eax+0Ch] test edx,edx jz L004B008C push eax mov [ecx+000000BCh],edx call SUB_L004D4F9E add esp,00000004h jmp L004B0025 L004B008C: mov [ecx+000000BCh],esi L004B0092: push eax call SUB_L004D4F9E add esp,00000004h jmp L004B0025 Align 4 SUB_L004B00A0: sub esp,00000050h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+000000B8h] test eax,eax jnz L004B01BB mov eax,[esi+000000D4h] xor edi,edi test eax,eax jz L004B01BB mov ebx,[esp+64h] L004B00CB: cmp [eax+04h],ebx jz L004B00E3 mov edi,eax mov eax,[eax+0Ch] test eax,eax jnz L004B00CB pop edi pop esi pop ebp pop ebx add esp,00000050h retn 0004h ;------------------------------------------------------------------------------ L004B00E3: test eax,eax jz L004B01BB mov dl,[eax] mov ebp,[esi+38h] mov ecx,edx and ecx,000000FFh mov ecx,[ebp+ecx*4+000000C8h] mov ecx,[ecx+000000ACh] test ecx,ecx jz L004B0115 L004B0109: cmp [ecx+7Ch],ebx jz L004B014D mov ecx,[ecx+44h] test ecx,ecx jnz L004B0109 L004B0115: test edi,edi jz L004B011F mov ecx,[eax+0Ch] mov [edi+0Ch],ecx L004B011F: cmp [esi+000000D4h],eax jnz L004B0130 mov edx,[eax+0Ch] mov [esi+000000D4h],edx L004B0130: mov ecx,[esi+000000E0h] cmp [ecx+000000BCh],eax jnz L004B0199 mov edx,[eax+0Ch] test edx,edx jz L004B0193 mov [ecx+000000BCh],edx jmp L004B0199 L004B014D: test ecx,ecx jz L004B0115 cmp dl,1Ah jnz L004B01BB mov dx,[ecx+40h] cmp dx,[eax+0Ah] jnc L004B01BB mov [eax+0Ah],dx and edx,0000FFFFh push edx call SUB_L0047FE80 push eax lea edx,[esp+18h] push SSZ0050F608__s_dropped_to_quantity___d__ push edx call SUB_L004D512F lea eax,[esp+20h] push eax push 00000000h push 00000000h call SUB_L004BDF40 add esp,0000001Ch jmp L004B01B0 L004B0193: mov [ecx+000000BCh],edi L004B0199: push eax call SUB_L004D4F9E push SSZ0050F5E4_Item_removed_from_shopping_list_ push 00000000h push 00000000h call SUB_L004BDF40 add esp,00000010h L004B01B0: mov ecx,[esi+000000E0h] call SUB_L004B1570 L004B01BB: pop edi pop esi pop ebp pop ebx add esp,00000050h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B01D0: sub esp,000000B0h push ebx push ebp push esi push edi mov edi,ecx mov eax,[edi+000000BCh] mov [esp+24h],eax mov eax,[edi+000000B8h] test eax,eax jz L004B0200 call SUB_L004B05E0 pop edi pop esi pop ebp pop ebx add esp,000000B0h retn ;------------------------------------------------------------------------------ L004B0200: lea ecx,[esp+38h] lea edx,[esp+3Ch] push ecx push edx push 00000032h call SUB_L004434A0 mov eax,[edi+3Ch] 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,[edi+54h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[edi+000000A4h] mov eax,[edi+000000A0h] mov edx,[edi+0000009Ch] mov ebp,[edi+000000ACh] sub ecx,00000002h add eax,00000002h mov [esp+44h],ecx mov ecx,[edi+000000A8h] mov [esp+40h],eax add esp,00000028h add edx,00000002h sub ecx,00000002h add eax,00000006h mov [esp+14h],edx test ebp,ebp mov [esp+20h],ecx mov [esp+10h],eax jz L004B05B4 jmp L004B0294 L004B0288: mov ecx,[esp+20h] mov edx,[esp+14h] mov eax,[esp+10h] L004B0294: mov esi,[ebp+00000080h] test esi,esi jz L004B05B4 cmp eax,ecx jg L004B05D0 cmp ebp,[edi+000000ACh] jz L004B02D5 lea esi,[eax+12h] cmp esi,ecx jge L004B02D1 lea ecx,[esp+14h] push ecx mov ecx,[edi+3Ch] mov ecx,[ecx+04h] push ecx push 00000039h push eax push edx call SUB_L004AEBC0 add esp,00000014h L004B02D1: mov [esp+10h],esi L004B02D5: mov edx,[ebp+00h] mov ecx,ebp call [edx+78h] test eax,eax mov [esp+34h],eax jz L004B02EB mov bx,[eax+06h] jmp L004B02F0 L004B02EB: mov ebx,0000002Ch L004B02F0: mov edx,[edi+000000B0h] mov eax,[ebp+000000A8h] mov ecx,[ebp+000000A4h] mov esi,ebp sub esi,edx push eax neg esi sbb esi,esi push ecx lea edx,[esp+48h] and esi,000001FEh push SSZ0050F5D8__s_at__dgp push edx add esi,00000021h call SUB_L004D512F lea eax,[esp+40h] push 00000000h lea ecx,[esp+3Ch] push eax lea edx,[esp+44h] push ecx push edx lea eax,[esp+60h] push 00000064h push eax push 00000009h call SUB_L00441CD0 mov eax,[esp+54h] mov ecx,ebx and ecx,0000FFFFh add esp,0000002Ch cmp eax,ecx jle L004B0358 mov ebx,eax L004B0358: mov ecx,[edi+3Ch] mov eax,[edi+20h] push 00000000h push 00000000h lea edx,[esp+1Ch] push 00000000h push edx mov edx,[ecx+04h] mov ecx,[esp+20h] add edx,00000004h push eax push edx mov edx,[esp+2Ch] lea eax,[esp+58h] and esi,0000FFFFh push 00000064h push eax push esi add ecx,00000002h push 00000009h add edx,00000032h push ecx push edx call SUB_L00441160 mov eax,[ebp+00000080h] add esp,00000030h mov cl,[eax+0000009Dh] mov eax,[edi+000000D4h] cmp cl,1Bh jnz L004B03E5 test eax,eax jz L004B03C3 mov ecx,[ebp+7Ch] L004B03B7: cmp [eax+04h],ecx jz L004B03D1 mov eax,[eax+0Ch] test eax,eax jnz L004B03B7 L004B03C3: xor eax,eax mov ecx,00000001h and eax,0000FFFFh jmp L004B0405 L004B03D1: test eax,eax jz L004B03C3 mov ax,[eax+0Ah] mov ecx,00000001h and eax,0000FFFFh jmp L004B0405 L004B03E5: test eax,eax jz L004B03F8 mov ecx,[ebp+7Ch] L004B03EC: cmp [eax+04h],ecx jz L004B0445 mov eax,[eax+0Ch] test eax,eax jnz L004B03EC L004B03F8: xor eax,eax L004B03FA: xor ecx,ecx and eax,0000FFFFh mov cx,[ebp+40h] L004B0405: sub ecx,eax lea edx,[esp+40h] push ecx push L004FF074 push edx call SUB_L004D512F add esp,0000000Ch lea eax,[esp+30h] lea ecx,[esp+28h] lea edx,[esp+2Ch] push eax push ecx lea eax,[esp+48h] push edx push eax push 00000009h call SUB_L00441BC0 add esp,00000014h cmp bx,002Ch jnc L004B044F mov eax,0000002Ch jmp L004B0456 L004B0445: test eax,eax jz L004B03F8 mov ax,[eax+0Ah] jmp L004B03FA L004B044F: mov eax,ebx and eax,0000FFFFh L004B0456: mov edx,[edi+20h] lea ecx,[esp+14h] push ecx mov ecx,[edi+3Ch] push edx mov edx,[ecx+04h] lea ecx,[esp+48h] add edx,00000004h push edx mov edx,[esp+3Ch] push ecx mov ecx,[esp+20h] add eax,edx push esi mov esi,[esp+40h] push 00000009h lea edx,[eax+ecx-1Dh] mov eax,[esp+34h] sub eax,esi push edx push eax call SUB_L004410C0 mov esi,[esp+54h] add esp,00000020h test esi,esi jz L004B0557 mov ecx,[edi+3Ch] xor edx,edx mov eax,[ecx+04h] mov dx,[eax] add eax,00000004h push edx push eax call SUB_L004B9E80 mov ax,[ebp+42h] add esp,00000008h test ax,ax jz L004B0517 cmp ax,EA60h jbe L004B04D2 mov dword ptr [L00CD8C24],00000001h jmp L004B04DD L004B04D2: and eax,0000FFFFh dec eax mov [L00CD8C24],eax L004B04DD: cmp bx,002Ch jnc L004B0500 mov ecx,ebx mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx cdq sub eax,edx mov edx,[esp+10h] sar eax,1 add eax,edx push eax jmp L004B0505 L004B0500: mov ecx,[esp+10h] push ecx L004B0505: mov edx,[esp+18h] lea eax,[esp+18h] push edx push eax push esi push L004B9840 jmp L004B054F L004B0517: cmp bx,002Ch jnc L004B053A mov ecx,ebx mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx cdq sub eax,edx mov edx,[esp+10h] sar eax,1 add eax,edx push eax jmp L004B053F L004B053A: mov ecx,[esp+10h] push ecx L004B053F: mov edx,[esp+18h] lea eax,[esp+18h] push edx push eax push esi push SUB_L004B95C0 L004B054F: call SUB_L004B9EA0 add esp,00000014h L004B0557: cmp bx,002Ch jnc L004B0564 mov eax,0000002Ch jmp L004B056C L004B0564: and ebx,0000FFFFh mov eax,ebx L004B056C: mov ecx,[esp+10h] mov ebp,[ebp+44h] add ecx,eax test ebp,ebp mov [esp+10h],ecx jnz L004B0288 mov eax,[esp+24h] test eax,eax jnz L004B05A8 mov ecx,[edi+38h] mov dword ptr [esp+24h],00000001h mov edx,[ecx+00000134h] mov ebp,[edx+000000ACh] test ebp,ebp jnz L004B0288 L004B05A8: mov ecx,[esp+20h] mov edx,[esp+14h] mov eax,[esp+10h] L004B05B4: cmp eax,ecx jg L004B05D0 lea ecx,[esp+14h] push ecx mov ecx,[edi+3Ch] mov ecx,[ecx+04h] push ecx push 00000039h push eax push edx call SUB_L004AEBC0 add esp,00000014h L004B05D0: pop edi pop esi pop ebp pop ebx add esp,000000B0h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B05E0: sub esp,000000B0h push ebx push ebp push esi push edi mov edi,ecx lea eax,[esp+3Ch] lea ecx,[esp+38h] push eax push ecx push 00000032h call SUB_L004434A0 mov edx,[edi+3Ch] 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,[edi+54h] push 00000000h push 00000000h push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[edi+000000A4h] mov eax,[edi+000000A0h] mov edx,[edi+0000009Ch] mov si,[edi+000000CAh] sub ecx,00000002h add eax,00000002h mov [esp+48h],ecx mov ecx,[edi+000000A8h] mov [esp+44h],eax add esp,00000028h add edx,00000002h sub ecx,00000002h add eax,00000006h cmp si,[edi+000000C8h] mov [esp+18h],edx mov [esp+24h],ecx mov [esp+28h],esi mov [esp+10h],eax jnc L004B095D jmp L004B0686 L004B067E: mov esi,[esp+28h] mov eax,[esp+10h] L004B0686: cmp eax,ecx jg L004B0979 cmp si,[edi+000000CAh] jz L004B06BA lea ebx,[eax+12h] cmp ebx,ecx jge L004B06B6 lea ecx,[esp+18h] push ecx mov ecx,[edi+3Ch] mov ecx,[ecx+04h] push ecx push 00000039h push eax push edx call SUB_L004AEBC0 add esp,00000014h L004B06B6: mov [esp+10h],ebx L004B06BA: mov edx,[edi+000000D0h] mov ebx,esi and ebx,0000FFFFh xor eax,eax shl ebx,04h mov ax,[edx+ebx+04h] add eax,00004000h push eax call SUB_L004B9530 add esp,00000004h mov [esp+14h],eax test eax,eax jz L004B06EE mov bp,[eax+06h] jmp L004B06F3 L004B06EE: mov ebp,0000002Ch L004B06F3: sub si,[edi+000000CCh] mov ecx,[edi+000000D0h] neg si lea eax,[ecx+ebx] sbb esi,esi xor edx,edx mov dx,[eax+0Ah] mov ecx,[eax+0Ch] push edx push ecx lea eax,[esp+48h] and esi,000001FEh push SSZ0050F5D8__s_at__dgp push eax add esi,00000021h call SUB_L004D512F lea ecx,[esp+3Ch] push 00000000h lea edx,[esp+44h] push ecx lea eax,[esp+4Ch] push edx push eax lea ecx,[esp+60h] push 00000064h push ecx push 00000009h call SUB_L00441CD0 mov eax,[esp+5Ch] mov edx,ebp and edx,0000FFFFh add esp,0000002Ch cmp eax,edx jle L004B075F mov ebp,eax L004B075F: mov edx,[edi+3Ch] mov ecx,[edi+20h] push 00000000h push 00000000h lea eax,[esp+20h] push 00000000h push eax mov eax,[edx+04h] mov edx,[esp+20h] add eax,00000004h push ecx push eax mov eax,[esp+30h] lea ecx,[esp+58h] and esi,0000FFFFh push 00000064h push ecx push esi add edx,00000002h push 00000009h add eax,00000032h push edx push eax call SUB_L00441160 mov eax,[edi+000000D4h] add esp,00000030h test eax,eax jz L004B07BF mov ecx,[edi+000000D0h] mov ecx,[ecx+ebx] L004B07B3: cmp [eax+04h],ecx jz L004B0810 mov eax,[eax+0Ch] test eax,eax jnz L004B07B3 L004B07BF: xor eax,eax L004B07C1: mov edx,[edi+000000D0h] xor ecx,ecx and eax,0000FFFFh mov cx,[edx+ebx+08h] lea edx,[esp+40h] sub ecx,eax push ecx push L004FF074 push edx call SUB_L004D512F lea eax,[esp+38h] lea ecx,[esp+3Ch] push eax lea edx,[esp+44h] push ecx lea eax,[esp+54h] push edx push eax push 00000009h call SUB_L00441BC0 add esp,00000020h cmp bp,002Ch jnc L004B081A mov eax,0000002Ch jmp L004B0821 L004B0810: test eax,eax jz L004B07BF mov ax,[eax+0Ah] jmp L004B07C1 L004B081A: mov eax,ebp and eax,0000FFFFh L004B0821: mov edx,[edi+20h] lea ecx,[esp+18h] push ecx mov ecx,[edi+3Ch] push edx mov edx,[ecx+04h] lea ecx,[esp+48h] add edx,00000004h push edx mov edx,[esp+38h] push ecx mov ecx,[esp+30h] push esi mov esi,[esp+24h] add eax,edx push 00000009h lea eax,[eax+esi-1Dh] push eax mov eax,[esp+50h] sub ecx,eax push ecx call SUB_L004410C0 mov eax,[esp+34h] add esp,00000020h test eax,eax jz L004B0924 mov edx,[edi+3Ch] xor ecx,ecx mov eax,[edx+04h] mov cx,[eax] add eax,00000004h push ecx push eax call SUB_L004B9E80 mov edx,[edi+000000D0h] add esp,00000008h mov bx,[edx+ebx+06h] test bx,bx jz L004B08E8 cmp bx,EA60h jbe L004B08A5 mov dword ptr [L00CD8C24],00000001h jmp L004B08B2 L004B08A5: and ebx,0000FFFFh dec ebx mov [L00CD8C24],ebx L004B08B2: cmp bp,002Ch jnc L004B08D1 mov ecx,ebp mov eax,0000002Ch and ecx,0000FFFFh sub eax,ecx cdq sub eax,edx sar eax,1 add eax,esi push eax jmp L004B08D2 L004B08D1: push esi L004B08D2: mov edx,[esp+1Ch] mov ecx,[esp+18h] lea eax,[esp+1Ch] push edx push eax push ecx push L004B9840 jmp L004B091C L004B08E8: cmp bp,002Ch jnc L004B0907 mov edx,ebp mov eax,0000002Ch and edx,0000FFFFh sub eax,edx cdq sub eax,edx sar eax,1 add eax,esi push eax jmp L004B0908 L004B0907: push esi L004B0908: mov eax,[esp+1Ch] mov edx,[esp+18h] lea ecx,[esp+1Ch] push eax push ecx push edx push SUB_L004B95C0 L004B091C: call SUB_L004B9EA0 add esp,00000014h L004B0924: cmp bp,002Ch jnc L004B0931 mov ebp,0000002Ch jmp L004B0937 L004B0931: and ebp,0000FFFFh L004B0937: mov eax,[esp+28h] mov ecx,[esp+24h] mov edx,[esp+18h] add esi,ebp inc eax mov [esp+10h],esi cmp ax,[edi+000000C8h] mov [esp+28h],eax jc L004B067E mov eax,esi L004B095D: cmp eax,ecx jg L004B0979 lea ecx,[esp+18h] push ecx mov ecx,[edi+3Ch] mov ecx,[ecx+04h] push ecx push 00000039h push eax push edx call SUB_L004AEBC0 add esp,00000014h L004B0979: pop edi pop esi pop ebp pop ebx add esp,000000B0h retn ;------------------------------------------------------------------------------ Align 16 L004B0990: sub esp,00000018h push ebp push esi mov esi,ecx lea eax,[esp+08h] push edi lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebp,ebp mov edi,[eax+04h] mov bp,[edi] mov edi,[esp+28h] add ebp,ecx xor ecx,ecx mov [esp+1Ch],ebp mov eax,[eax+04h] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push edi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004B0A43 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[esi+3Ch] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+14h] mov eax,[eax+04h] push ecx mov ecx,[esp+1Ch] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push edi push eax push SUB_L004B9B80 call SUB_L00443960 add esp,00000028h L004B0A43: mov esi,[esi+50h] test esi,esi jz L004B0A59 L004B0A4A: mov edx,[esi] push edi mov ecx,esi call [edx+0Ch] mov esi,[esi+44h] test esi,esi jnz L004B0A4A L004B0A59: pop edi pop esi pop ebp add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B0A70: push FFFFFFFFh push L004E5C9F mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi call SUB_L00458F30 mov eax,[esp+28h] mov ecx,[esp+1Ch] mov edx,[esp+20h] xor edi,edi mov dword ptr [esi],L004F0D5C mov [esi+000000ACh],eax mov eax,[esp+24h] mov dword ptr [esi+08h],SSZ0050F640_bill_gump mov [esi+60h],edi mov [esi+000000D8h],edi mov [esi+000000D4h],edi mov [esi+000000D0h],edi mov [esi+000000CCh],edi mov [esi+000000E0h],edi mov [esi+000000DCh],edi mov [esi+000000B4h],edi mov [esi+30h],ecx mov [esi+34h],edx mov [esi+38h],edi mov [esi+000000B8h],eax mov eax,[eax+000000D4h] mov ecx,esi mov [esp+14h],edi mov [esi+000000BCh],eax call SUB_L004B1220 mov eax,[esi+000000ACh] mov [esi+50h],edi cmp eax,edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi jz L004B0B2D mov dword ptr [esi+54h],00000873h jmp L004B0B34 L004B0B2D: mov dword ptr [esi+54h],00000871h L004B0B34: mov ecx,[esi+54h] push ebx push ebp lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx push ebp push ecx call SUB_L004434A0 mov edx,[ebp+00h] push SSZ0050F628_framedata_for_CBillGump push 00000008h mov [esi+1Ch],edx mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ0050F59C_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push 000000BCh mov [edx+04h],eax mov ecx,[ebp+00h] imul ecx,[ebx] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx+02h],dx mov dword ptr [esi+0000009Ch],00000020h mov dword ptr [esi+000000A4h],000000E4h mov dword ptr [esi+000000A0h],00000042h mov dword ptr [esi+000000A8h],0000009Ch call SUB_L004D4FA9 add esp,00000020h mov [esp+30h],eax pop ebp mov byte ptr [esp+18h],01h test eax,eax pop ebx jz L004B0C35 push 00000828h push esi push 0000009Ah push 00000001h push 00000042h push 000000ECh mov ecx,eax call SUB_L00422790 jmp L004B0C37 L004B0C35: xor eax,eax L004B0C37: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h mov [esi+000000C8h],eax call SUB_L004587A0 mov ecx,[esi+000000C8h] push 00000001h push 00000000h call SUB_L00422C90 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+14h],02h jz L004B0C98 push 00000000h push L0041E820 push 00000000h push 00000002h push esi push 0000003Eh push 000000FBh push 00000032h push 000000E8h mov ecx,eax call SUB_L004220C0 jmp L004B0C9A L004B0C98: xor eax,eax L004B0C9A: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+14h],03h jz L004B0CEC push 00000000h push L0041E7B0 push 00000000h push 00000002h push esi push 000000ABh push 000000FBh push 0000009Ch push 000000E8h mov ecx,eax call SUB_L004220C0 jmp L004B0CEE L004B0CEC: xor eax,eax L004B0CEE: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+14h],04h jz L004B0D3A push 00000000h push L0041EF20 push 00000000h push 00000000h push esi push 000000DAh push 00000036h push 000000C4h push 00000022h mov ecx,eax call SUB_L004220C0 jmp L004B0D3C L004B0D3A: xor eax,eax L004B0D3C: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+28h],eax test eax,eax mov byte ptr [esp+14h],05h jz L004B0D8E push 00000000h push L0041EFC0 push 00000000h push 00000000h push esi push 000000D7h push 000000DFh push 000000C8h push 000000CFh mov ecx,eax call SUB_L004220C0 jmp L004B0D90 L004B0D8E: xor eax,eax L004B0D90: push 00000001h push esi mov ecx,eax mov byte ptr [esp+1Ch],00h call SUB_L004587A0 mov ecx,esi call SUB_L004B1570 mov ecx,[esp+0Ch] mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0010h ;------------------------------------------------------------------------------ Align 8 L004B0DC0: push esi mov esi,ecx call SUB_L004B0DE0 test byte ptr [esp+08h],01h jz L004B0DD8 push esi call SUB_L004D4F9E add esp,00000004h L004B0DD8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B0DE0: push FFFFFFFFh push L004E5CB8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004F0D5C mov eax,[esi+000000B8h] xor edx,edx cmp eax,edx mov [esp+10h],edx jz L004B0E29 mov [eax+000000E0h],edx mov ecx,[esi+000000B8h] cmp ecx,edx jz L004B0E29 mov eax,[ecx] push 00000001h call [eax] L004B0E29: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004B0E50: push esi mov esi,ecx push 00000000h mov ecx,[esi+000000B8h] call SUB_L004584E0 mov ecx,[esp+08h] mov edx,[esp+0Ch] mov [esi+70h],ecx mov ecx,[esi+000000E0h] mov eax,00000001h mov dword ptr [esi+000000B0h],00000000h cmp ecx,eax mov [esi+000000D4h],eax mov [esi+74h],edx jnz L004B0E9B mov dword ptr [esi+000000E0h],00000002h pop esi retn 0008h ;------------------------------------------------------------------------------ L004B0E9B: mov [esi+000000E0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000DCh],eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B0EC0: mov edx,[ecx+000000CCh] xor eax,eax cmp edx,eax mov [ecx+000000D4h],eax jz L004B0EE8 push eax mov [ecx+000000CCh],eax mov [ecx+000000E0h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B0EE8: cmp dword ptr [ecx+000000E0h],00000002h jnz L004B0EF7 mov [ecx+000000E0h],eax L004B0EF7: push eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B0F10: push ebx push esi mov esi,ecx push edi mov ecx,[esp+14h] mov edi,[esp+10h] mov ebx,[esi+000000D4h] test ebx,ebx jz L004B0F67 mov eax,[esi+000000E0h] test eax,eax jbe L004B0F67 mov edx,[esi+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004B0F53 mov edx,[esi+74h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004B0F67 L004B0F53: mov dword ptr [esi+000000CCh],00000001h mov dword ptr [esi+000000E0h],00000000h L004B0F67: test ebx,ebx jz L004B0FB1 mov eax,[esi+000000B0h] test eax,eax jnz L004B0FB1 mov edx,[esi+74h] mov ebx,[esi+70h] push 00000001h push 00000000h sub ecx,edx push 00000001h sub edi,ebx push ecx push edi mov ecx,esi call SUB_L00457800 mov eax,[esi+30h] mov ecx,[esi+000000B8h] sub eax,000000AAh mov [ecx+30h],eax mov edx,[esi+34h] mov eax,[esi+000000B8h] sub edx,000000D6h mov [eax+34h],edx L004B0FB1: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B0FC0: sub esp,00000024h push ebx mov ebx,ecx push ebp xor ebp,ebp cmp [ebx+000000B4h],ebp jz L004B1160 push esi push edi mov edi,L00C880F8 or ecx,FFFFFFFFh xor eax,eax mov [esp+1Ch],ebp repne scasb not ecx dec ecx jnz L004B100F mov edi,SSZ0050C7C4_NoName or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00C880F8 shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004B100F: lea ecx,[esp+20h] lea edx,[esp+14h] push ecx lea eax,[esp+14h] push edx push eax push L00C880F8 push 00000005h call SUB_L00441BC0 mov eax,[esp+24h] add esp,00000014h add eax,00000002h cmp eax,0000007Ch mov [esp+10h],eax jle L004B1046 mov eax,0000007Ch mov [esp+10h],eax L004B1046: mov esi,[ebx+000000C4h] add esi,00000006h mov ecx,esi mov [ebx+000000C4h],esi cmp ecx,eax jge L004B1063 mov dword ptr [esp+1Ch],00000001h L004B1063: jle L004B106B mov [ebx+000000C4h],eax L004B106B: imul eax,[esp+14h] shl eax,1 push SSZ0050F64C_signature push eax call SUB_L00475FC0 mov ecx,[esp+18h] mov esi,eax imul ecx,[esp+1Ch] shl ecx,1 mov edx,ecx xor eax,eax mov edi,esi shr ecx,02h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esp+18h] mov edx,[esp+1Ch] dec edx mov [esp+2Ch],ebp lea ecx,[eax-01h] mov [esp+38h],edx mov edx,[esp+28h] mov [esp+34h],ecx lea ecx,[esp+2Ch] mov [esp+30h],ebp push ecx push eax push esi push L00C880F8 push 00000386h push 00000005h push edx push ebp call SUB_L004410C0 mov eax,[ebx+20h] mov ecx,[ebx+3Ch] add esp,00000028h mov edi,esi lea edx,[eax+eax*2] mov dword ptr [esp+18h],00000000h shl edx,05h add edx,eax mov eax,[ecx+04h] lea ebp,[eax+edx*4+00000094h] mov eax,[esp+14h] test eax,eax jle L004B1133 L004B1103: mov ecx,[ebx+000000C4h] push ecx push edi push ebp call SUB_L004B9B80 mov eax,[ebx+20h] mov edx,[esp+1Ch] mov ecx,[esp+20h] add esp,0000000Ch lea ebp,[ebp+eax*2+00h] mov eax,[esp+18h] inc eax lea edi,[edi+edx*2] cmp eax,ecx mov [esp+18h],eax jl L004B1103 L004B1133: push SSZ0050F64C_signature push esi call SUB_L00476000 mov eax,[esp+24h] add esp,00000008h test eax,eax pop edi pop esi jnz L004B1160 mov ecx,[ebx+000000B8h] mov dword ptr [ebx+000000B4h],00000000h call SUB_L0041EF40 L004B1160: pop ebp pop ebx add esp,00000024h retn ;------------------------------------------------------------------------------ Align 16 L004B1170: mov eax,[ecx+000000B8h] push esi push edi xor esi,esi mov edi,[eax+000000D4h] mov eax,edi test eax,eax jz L004B118E L004B1186: mov eax,[eax+0Ch] inc esi test eax,eax jnz L004B1186 L004B118E: mov eax,esi imul eax,[esp+0Ch] cdq idiv [esp+10h] test esi,esi jz L004B11A5 cmp eax,esi jl L004B11A5 lea eax,[esi-01h] L004B11A5: mov [ecx+000000BCh],edi pop edi test eax,eax pop esi jz L004B11C3 L004B11B1: mov edx,[ecx+000000BCh] dec eax mov edx,[edx+0Ch] mov [ecx+000000BCh],edx jnz L004B11B1 L004B11C3: call SUB_L004B1570 retn 000Ch ;------------------------------------------------------------------------------ Align 8 L004B11D0: push esi push edi mov esi,ecx call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000E0h] mov ecx,00000001h cmp edx,ecx jnz L004B1215 sub edi,[esi+000000DCh] cmp edi,eax jbe L004B1215 mov eax,[esi+000000D4h] mov dword ptr [esi+000000E0h],00000000h test eax,eax jz L004B1215 mov [esi+000000CCh],ecx L004B1215: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B1220: push edi mov edi,[ecx+000000B8h] mov dword ptr [ecx+000000C0h],00000000h mov edx,[edi+000000D4h] test edx,edx jz L004B12C1 push ebx push ebp mov ebp,[ecx+000000ACh] push esi L004B1248: test ebp,ebp jz L004B1275 mov esi,[edi+000000D0h] 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+000000C0h] add eax,ebx jmp L004B12B1 L004B1275: mov esi,[edi+38h] xor eax,eax mov al,[edx] mov eax,[esi+eax*4+000000C8h] mov eax,[eax+000000ACh] test eax,eax jz L004B129C mov esi,[edx+04h] L004B1290: cmp esi,[eax+7Ch] jz L004B129C mov eax,[eax+44h] test eax,eax jnz L004B1290 L004B129C: xor esi,esi mov si,[edx+0Ah] imul esi,[eax+000000A8h] mov eax,[ecx+000000C0h] add eax,esi L004B12B1: mov [ecx+000000C0h],eax mov edx,[edx+0Ch] test edx,edx jnz L004B1248 pop esi pop ebp pop ebx L004B12C1: pop edi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B12D0: push FFFFFFFFh push L004E5CE6 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi push edi mov edi,ecx lea eax,[esp+1Ch] lea ecx,[esp+20h] push eax push ecx push 00000032h mov dword ptr [esp+20h],00000000h call SUB_L004434A0 mov eax,[edi+000000BCh] mov ebx,[edi+000000A0h] add esp,0000000Ch mov [esp+10h],eax test eax,eax jz L004B14B4 add ebx,0000000Ah L004B1325: mov esi,[edi+48h] mov edx,[esp+10h] mov eax,[L00B28A78] xor ebp,ebp test esi,esi mov [esp+14h],edx mov [esp+18h],eax jz L004B13B4 L004B133F: mov ecx,[esi+40h] mov [L00B28A78],ecx mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L004B13AA mov eax,[esi+000000C0h] test eax,eax jz L004B13AA mov ecx,[esp+10h] mov eax,[esi+000000A4h] cmp eax,[ecx+04h] jnz L004B13AA mov edx,[edi+000000A8h] sub edx,00000002h cmp ebx,edx jle L004B138A test esi,esi jz L004B13AA mov eax,[esi] push 00000001h mov ecx,esi call [eax] jmp L004B13AA L004B138A: mov [esi+34h],ebx mov ecx,[edi+000000A8h] sub ecx,ebx lea eax,[ecx-02h] cmp eax,00000011h jle L004B13A2 mov eax,00000011h L004B13A2: mov [esi+24h],eax mov ebp,00000001h L004B13AA: mov esi,[L00B28A78] test esi,esi jnz L004B133F L004B13B4: mov edx,[esp+18h] test ebp,ebp mov [L00B28A78],edx jnz L004B149E push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,ebp mov [esp+2Ch],ebp jz L004B1401 mov ecx,[edi+000000A4h] push ebp push 00000037h push 00000037h push L0041ED80 push ebp push 00000002h push edi sub ecx,0000002Ah push ebx push ecx mov ecx,eax call SUB_L00421F40 jmp L004B1403 L004B1401: xor eax,eax L004B1403: mov esi,[esp+10h] mov dword ptr [eax+000000C0h],00000001h mov [eax+000000D4h],ebp push 00000001h mov edx,[esi+04h] push edi mov ecx,eax mov dword ptr [esp+34h],FFFFFFFFh mov [eax+000000A4h],edx call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax cmp eax,ebp mov dword ptr [esp+2Ch],00000001h jz L004B1471 mov ecx,[edi+000000A4h] push ebp push 00000038h push 00000038h push L0041EE50 push ebp push 00000002h push edi sub ecx,00000016h push ebx push ecx mov ecx,eax call SUB_L00421F40 jmp L004B1473 L004B1471: xor eax,eax L004B1473: mov dword ptr [eax+000000C0h],00000001h mov [eax+000000D4h],ebp mov edx,[esi+04h] push 00000001h push edi mov ecx,eax mov dword ptr [esp+34h],FFFFFFFFh mov [eax+000000A4h],edx call SUB_L004587A0 L004B149E: mov eax,[esp+10h] add ebx,0000001Ch mov eax,[eax+0Ch] test eax,eax mov [esp+10h],eax jnz L004B1325 L004B14B4: mov esi,[edi+48h] mov eax,[L00B28A78] test esi,esi mov [esp+18h],eax jz L004B1554 L004B14C8: mov ecx,[esi+40h] mov [L00B28A78],ecx mov edx,[esi] mov ecx,esi call [edx+000000E4h] test eax,eax jz L004B152D mov eax,[esi+000000C0h] test eax,eax jz L004B152D mov eax,[edi+000000BCh] xor ebp,ebp test eax,eax jz L004B1521 mov ecx,[esp+14h] test ecx,ecx jz L004B1521 mov edx,[ecx+0Ch] cmp eax,edx jz L004B1521 mov ebx,[esi+000000A4h] L004B150A: cmp [eax+04h],ebx mov ecx,[eax+0Ch] jnz L004B1517 mov ebp,00000001h L004B1517: cmp ecx,edx mov eax,ecx jnz L004B150A test ebp,ebp jnz L004B152D L004B1521: test esi,esi jz L004B152D mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004B152D: mov esi,[L00B28A78] test esi,esi jnz L004B14C8 mov ecx,[esp+18h] pop edi pop esi pop ebp mov [L00B28A78],ecx pop ebx mov ecx,[esp+14h] mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ L004B1554: mov ecx,[esp+24h] pop edi pop esi pop ebp mov [L00B28A78],eax pop ebx mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B1570: sub esp,000000A8h push ebx push ebp push esi mov esi,ecx lea eax,[esp+28h] push edi lea ecx,[esp+30h] push eax push ecx push 00000032h xor ebp,ebp call SUB_L004434A0 mov edx,[esi+3Ch] 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+54h] push ebp push ebp push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+0000009Ch] mov edx,[esi+000000A4h] mov ebx,[esi+000000A0h] mov eax,[esi+000000A8h] mov edi,[esi+000000BCh] add esp,00000028h add ecx,00000002h sub edx,00000002h add ebx,00000002h sub eax,00000002h test edi,edi mov [esp+14h],ecx mov [esp+1Ch],edx mov [esp+18h],ebx mov [esp+20h],eax jz L004B17EC jmp L004B1601 L004B15FD: mov eax,[esp+20h] L004B1601: cmp ebx,eax jg L004B17EC mov eax,[esi+000000ACh] test eax,eax jnz L004B1640 mov ecx,[esi+000000B8h] xor eax,eax mov al,[edi] mov edx,[ecx+38h] mov eax,[edx+eax*4+000000C8h] mov ebp,[eax+000000ACh] test ebp,ebp jz L004B1640 mov eax,[edi+04h] L004B1634: cmp eax,[ebp+7Ch] jz L004B1640 mov ebp,[ebp+44h] test ebp,ebp jnz L004B1634 L004B1640: lea ecx,[esp+10h] lea edx,[esp+24h] push ecx lea eax,[esp+2Ch] push edx push eax push L004FEBE4 push 00000009h call SUB_L00441BC0 xor ecx,ecx lea edx,[esp+48h] mov cx,[edi+0Ah] push ecx push L004FF074 push 00000080h push edx call SUB_L004D7912 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+38h] push eax mov eax,[edx+04h] mov edx,[esp+38h] push ecx add eax,00000004h lea ecx,[esp+60h] push eax mov eax,[esp+44h] push ecx push 0000021Fh add edx,ebx push 00000009h push edx push eax call SUB_L004410C0 mov eax,[esi+000000ACh] add esp,00000044h test eax,eax jz L004B16DE mov edx,[esi+000000B8h] xor ecx,ecx mov cx,[edi+08h] mov eax,[edx+000000D0h] lea edx,[esp+34h] shl ecx,04h mov ecx,[ecx+eax+0Ch] push ecx push L00508548 push 00000080h push edx jmp L004B16F8 L004B16DE: test ebp,ebp jz L004B1700 mov eax,[ebp+000000A4h] lea ecx,[esp+34h] push eax push L00508548 push 00000080h push ecx L004B16F8: call SUB_L004D7912 add esp,00000010h L004B1700: mov ecx,[esp+1Ch] mov eax,[esi+20h] sub ecx,00000028h lea edx,[esp+14h] mov [esp+1Ch],ecx mov ecx,[esi+3Ch] push edx push eax mov edx,[ecx+04h] mov ecx,[esp+18h] add edx,00000004h lea eax,[esp+3Ch] push edx mov edx,[esp+20h] push eax push 0000021Fh add ecx,ebx push 00000009h add edx,0000001Eh push ecx push edx call SUB_L004416F0 mov ecx,[esp+3Ch] mov eax,[esi+000000ACh] add esp,00000020h add ecx,00000028h test eax,eax mov [esp+1Ch],ecx jz L004B1784 mov ecx,[esi+000000B8h] xor eax,eax mov ax,[edi+08h] mov edx,[ecx+000000D0h] shl eax,04h xor ecx,ecx mov cx,[eax+edx+0Ah] lea edx,[esp+34h] push ecx push SSZ0050F658_at__d_g_p_ push 00000080h push edx jmp L004B179E L004B1784: test ebp,ebp jz L004B17A6 mov eax,[ebp+000000A8h] lea ecx,[esp+34h] push eax push SSZ0050F658_at__d_g_p_ push 00000080h push ecx L004B179E: call SUB_L004D7912 add esp,00000010h L004B17A6: mov ecx,[esi+3Ch] mov eax,[esi+20h] lea edx,[esp+14h] push edx mov edx,[ecx+04h] mov ecx,[esp+14h] push eax add edx,00000004h lea eax,[esp+3Ch] push edx push eax mov eax,[esp+24h] push 0000021Fh lea edx,[ecx+ebx+0Dh] push 00000009h add eax,0000001Eh push edx push eax call SUB_L004410C0 mov edi,[edi+0Ch] add esp,00000020h add ebx,0000001Ch test edi,edi jnz L004B15FD L004B17EC: mov ecx,[esi+20h] mov edx,[esi+24h] xor eax,eax mov [esp+1Ch],ecx mov [esp+18h],eax mov [esp+14h],eax mov eax,[esi+000000C0h] lea ecx,[esp+34h] push eax push L004FF074 push 00000080h push ecx mov [esp+30h],edx call SUB_L004D7912 lea edx,[esp+20h] lea eax,[esp+34h] push edx lea ecx,[esp+3Ch] push eax lea edx,[esp+4Ch] push ecx push edx push 00000009h call SUB_L00441BC0 mov eax,[esi+000000ACh] mov edx,[esi+3Ch] mov ecx,[esi+20h] add esp,00000024h test eax,eax lea eax,[esp+14h] push eax mov eax,[edx+04h] push ecx jz L004B1876 mov edx,[esp+18h] add eax,00000004h lea ecx,[esp+3Ch] push eax push ecx push 00000386h add edx,000000ACh push 00000009h push edx jmp L004B1903 L004B1876: mov edx,[esp+18h] add eax,00000004h lea ecx,[esp+3Ch] push eax push ecx push 00000386h add edx,000000ABh push 00000009h push edx push 00000046h call SUB_L004410C0 mov eax,[esi+000000B8h] xor ecx,ecx lea edx,[esp+54h] mov cx,[eax+000000D8h] push ecx push L004FF074 push 00000080h push edx call SUB_L004D7912 lea eax,[esp+40h] lea ecx,[esp+54h] push eax lea edx,[esp+5Ch] push ecx lea eax,[esp+6Ch] push edx push eax push 00000009h call SUB_L00441BC0 mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,00000044h lea ecx,[esp+14h] push ecx mov ecx,[eax+04h] mov eax,[esp+14h] push edx add ecx,00000004h lea edx,[esp+3Ch] push ecx push edx push 00000386h add eax,000000ABh push 00000009h push eax L004B1903: push 000000BCh call SUB_L004410C0 add esp,00000020h mov ecx,esi call SUB_L004B12D0 pop edi pop esi pop ebp pop ebx add esp,000000A8h retn ;------------------------------------------------------------------------------ Align 16 L004B1930: sub esp,00000038h push ebp push esi mov esi,ecx lea eax,[esp+0Ch] push edi lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov dword ptr [esp+14h],00000000h mov dword ptr [esp+18h],00000000h call SUB_L00457C90 mov ecx,[esp+0Ch] mov edx,[esp+10h] mov eax,[esi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebp,ebp mov edi,[eax+04h] mov bp,[edi] mov edi,[esp+48h] add ebp,ecx xor ecx,ecx mov [esp+1Ch],ebp mov eax,[eax+04h] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push edi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004B1A9C mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[esi+3Ch] push ecx mov ecx,[L00B189FC] push edx mov edx,[esp+18h] mov eax,[eax+04h] push ecx mov ecx,[esp+18h] push edx push ecx xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx push ecx add eax,00000004h push edi push eax push SUB_L004B9B80 call SUB_L00443960 lea edx,[esp+4Ch] lea eax,[esp+3Ch] push edx push eax push edi call SUB_L00457DF0 mov ecx,[esi+0000009Ch] mov edx,[esp+48h] mov eax,[esp+4Ch] add edx,ecx mov ecx,[esi+000000A8h] mov ebp,[esp+40h] mov [esp+48h],edx mov edx,[esi+000000A0h] add eax,edx mov edx,[esp+44h] mov [esp+4Ch],eax mov eax,[esi+000000A4h] add ecx,edx lea edx,[esp+48h] add eax,ebp push edx push edi mov [esp+58h],eax mov [esp+5Ch],ecx call SUB_L00457DB0 add esp,0000003Ch test eax,eax jz L004B1A60 lea eax,[esp+34h] lea ecx,[esp+14h] push eax push ecx push edi call SUB_L00457DF0 add esp,0000000Ch mov edi,00000001h jmp L004B1A62 L004B1A60: xor edi,edi L004B1A62: mov esi,[esi+50h] test esi,esi jz L004B1A9C L004B1A69: mov edx,[esi] mov ecx,esi call [edx+000000D4h] test eax,eax jz L004B1A85 mov eax,[esi] lea ecx,[esp+24h] push ecx mov ecx,esi call [eax+0Ch] jmp L004B1A95 L004B1A85: test edi,edi jz L004B1A95 mov edx,[esi] lea eax,[esp+34h] push eax mov ecx,esi call [edx+0Ch] L004B1A95: mov esi,[esi+44h] test esi,esi jnz L004B1A69 L004B1A9C: pop edi pop esi pop ebp add esp,00000038h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B1AB0: sub esp,00000008h push esi mov esi,ecx mov ecx,[esp+10h] test ecx,ecx jl L004B1B52 mov edx,[esp+14h] test edx,edx jl L004B1B52 mov eax,[esi+20h] cmp ecx,eax jge L004B1B52 push edi mov edi,[esi+24h] cmp edx,edi pop edi jge L004B1B52 imul eax,edx add eax,ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] cmp word ptr [edx+eax*2+04h],0000h jz L004B1AFD L004B1AF1: mov eax,00000001h pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L004B1AFD: lea eax,[esp+14h] lea ecx,[esp+10h] push eax push ecx mov ecx,esi call SUB_L00457C90 mov esi,[esi+48h] test esi,esi jz L004B1B52 L004B1B15: mov edx,[esp+10h] mov eax,[esp+14h] mov [esp+08h],edx lea ecx,[esp+04h] lea edx,[esp+08h] push ecx push edx mov ecx,esi mov [esp+0Ch],eax call SUB_L00457D20 mov ecx,[esp+04h] mov edx,[esp+08h] mov eax,[esi] push ecx push edx mov ecx,esi call [eax+10h] test eax,eax jnz L004B1AF1 mov esi,[esi+40h] test esi,esi jnz L004B1B15 L004B1B52: xor eax,eax pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004B1B60: push FFFFFFFFh push L004E5D19 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000020h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+1Ch],ebp call SUB_L00458F30 mov eax,[esp+40h] mov ecx,[esp+44h] mov edx,[esp+4Ch] mov dword ptr [ebp+00h],L004F0ED0 mov edi,[esp+48h] mov [ebp+30h],eax mov ax,[esp+50h] xor ebx,ebx mov [ebp+34h],ecx mov dword ptr [ebp+08h],SSZ0050F664_objpicker_gump mov [ebp+60h],ebx mov dword ptr [ebp+54h],00000910h mov [ebp+64h],ebx mov [ebp+000000B4h],ebx mov [ebp+000000D4h],ax mov [ebp+000000A8h],ebx or ecx,FFFFFFFFh xor eax,eax mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+0000009Ch],ebx mov [ebp+000000B0h],ebx mov [ebp+000000ACh],ebx mov [ebp+000000B8h],edx repne scasb not ecx sub edi,ecx lea edx,[ebp+000000E0h] mov eax,ecx mov esi,edi mov edi,edx mov [esp+38h],ebx shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+54h] and ecx,00000003h rep movsb lea ecx,[eax+eax] mov [ebp+000000BCh],eax push ecx call SUB_L004D4FA9 mov ecx,[ebp+000000BCh] mov esi,[esp+5Ch] shl ecx,1 mov edx,ecx mov edi,eax shr ecx,02h mov [ebp+000000D8h],eax rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebp+000000BCh] shl eax,1 push eax call SUB_L004D4FA9 mov ecx,[ebp+000000BCh] mov esi,[esp+64h] shl ecx,1 mov edx,ecx mov edi,eax shr ecx,02h mov [ebp+000000DCh],eax add esp,00000008h rep movsd mov ecx,edx mov [esp+40h],ebx and ecx,00000003h rep movsb cmp [ebp+000000BCh],ebx jle L004B1D51 mov esi,[esp+60h] lea eax,[ebp+00000130h] mov [esp+44h],esi mov [esp+50h],eax jmp L004B1CAD L004B1CA9: mov esi,[esp+44h] L004B1CAD: mov edi,[esi] cmp edi,ebx jnz L004B1CEA mov ecx,[ebp+000000D8h] mov eax,[esp+40h] xor edx,edx push ebx mov dx,[ecx+eax*2] push edx call SUB_L0047FBA0 mov esi,eax or ecx,FFFFFFFFh mov edi,esi xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov ecx,[esp+5Ch] mov edx,eax add esp,0000000Ch mov [ecx],edx jmp L004B1D06 L004B1CEA: or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov eax,[esp+54h] add esp,00000004h mov [eax],edx mov esi,[esi] L004B1D06: 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,[esp+40h] mov ecx,edx mov edx,[esp+44h] and ecx,00000003h rep movsb mov esi,[esp+50h] mov ecx,00000004h add esi,ecx add edx,ecx mov ecx,[ebp+000000BCh] inc eax cmp eax,ecx mov [esp+40h],eax mov [esp+50h],esi mov [esp+44h],edx jl L004B1CA9 L004B1D51: lea eax,[esp+10h] lea ecx,[esp+14h] push eax mov eax,[esp+4Ch] lea edx,[esp+1Ch] push ecx push edx push eax push 00000001h mov [ebp+000000C0h],ebx mov dword ptr [ebp+000000CCh],FFFFFFFFh mov [ebp+000000D0h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L00441BC0 mov ecx,[ebp+54h] lea eax,[ebp+24h] lea esi,[ebp+20h] push eax push esi push ecx call SUB_L004434A0 push SSZ004FFBCC_framedata_for_CDumbGump push 00000008h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+3Ch] 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 mov eax,[ebp+54h] push ebx push eax push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi] mov edx,[ebp+24h] add esp,0000004Ch mov [esp+28h],ecx lea eax,[esp+10h] mov [esp+2Ch],edx lea ecx,[esp+14h] push eax lea edx,[esp+1Ch] push ecx lea edi,[ebp+000000E0h] push edx push edi push 00000001h mov dword ptr [ebp+00000530h],00000028h mov dword ptr [ebp+00000534h],0000002Fh mov dword ptr [ebp+00000538h],00000101h mov dword ptr [ebp+0000053Ch],0000005Bh mov [esp+34h],ebx mov [esp+38h],ebx call SUB_L00441BC0 mov edx,[ebp+3Ch] mov ecx,[esi] lea eax,[esp+34h] push eax mov eax,[edx+04h] add eax,00000004h push ecx mov ecx,[esp+2Ch] push eax push edi push 00000386h add ecx,00000012h push 00000001h push ecx push 00000027h call SUB_L004410C0 push 000001CCh call SUB_L004D4FA9 add esp,00000038h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+38h],01h jz L004B1F13 push ebx push ebx push 00000001h push 00000386h push 00000001h push 0000001Eh push ebx push 00000010h push 000000DAh push ebp push 00000067h push 00000027h mov ecx,eax call SUB_L0042A340 jmp L004B1F15 L004B1F13: xor eax,eax L004B1F15: mov [ebp+00000540h],eax mov dword ptr [eax+000000BCh],00000001h mov ecx,[ebp+00000540h] push 00000001h push ebp mov [esp+40h],bl call SUB_L004587A0 mov ecx,ebp call SUB_L004B2170 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+38h],02h jz L004B1F73 push ebx push L004205F0 push ebx push 00000002h push ebp push 0000004Fh push 00000023h push 0000003Dh push 00000016h mov ecx,eax call SUB_L004220C0 jmp L004B1F75 L004B1F73: xor eax,eax L004B1F75: push 00000001h push ebp mov ecx,eax mov [esp+40h],bl mov [ebp+00000544h],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+38h],03h jz L004B1FC4 push ebx push L004206A0 push ebx push 00000002h push ebp push 0000004Fh push 00000112h push 0000003Dh push 00000105h mov ecx,eax call SUB_L004220C0 jmp L004B1FC6 L004B1FC4: xor eax,eax L004B1FC6: push 00000001h push ebp mov ecx,eax mov [esp+40h],bl mov [ebp+00000548h],eax call SUB_L004587A0 mov ecx,[esp+30h] pop edi mov eax,ebp pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,0000002Ch retn 0024h ;------------------------------------------------------------------------------ Align 16 L004B2000: push esi mov esi,ecx call SUB_L004B2020 test byte ptr [esp+08h],01h jz L004B2018 push esi call SUB_L004D4F9E add esp,00000004h L004B2018: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B2020: push FFFFFFFFh push L004E5D38 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebp push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004F0ED0 mov eax,[esi+000000D0h] xor ebp,ebp xor ecx,ecx xor edx,edx cmp eax,ebp mov [esp+24h],ebp jz L004B2070 mov ecx,[esi+000000D8h] mov edx,[esi+000000DCh] mov cx,[ecx+eax*2-02h] mov dx,[edx+eax*2-02h] L004B2070: cmp [L00C88300],ebp jz L004B20AE mov ax,[esi+000000D0h] push edx mov edx,[esi+000000B8h] push ecx mov cx,[esi+000000D4h] push eax push ecx lea eax,[esp+1Ch] push edx push eax call SUB_L0049BD10 add esp,00000018h lea ecx,[esp+0Ch] push ecx mov ecx,[L00C88300] call SUB_L004BC750 L004B20AE: mov eax,[esi+000000D8h] push edi push eax call SUB_L004D4F9E mov eax,[esi+000000DCh] push eax call SUB_L004D4F9E mov eax,[esi+000000BCh] add esp,00000008h xor edi,edi cmp eax,ebp jle L004B20F7 push ebx lea ebx,[esi+00000130h] L004B20DD: mov eax,[ebx] push eax call SUB_L004D4F9E mov eax,[esi+000000BCh] add esp,00000004h inc edi add ebx,00000004h cmp edi,eax jl L004B20DD pop ebx L004B20F7: mov ecx,[esi+00000540h] pop edi cmp ecx,ebp jz L004B210E mov edx,[ecx] push 00000001h call [edx] mov [esi+00000540h],ebp L004B210E: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,ebp jz L004B212C push SSZ0050F688_objpicker_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],ebp L004B212C: mov eax,[esi+3Ch] cmp eax,ebp jz L004B2144 push SSZ0050F674_objpicker_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebp L004B2144: mov ecx,esi mov dword ptr [esp+24h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+1Ch] pop esi pop ebp mov fs:[00000000h],ecx add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B2170: sub esp,00000008h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+3Ch] mov ecx,[eax+04h] push ecx push 00000008h push 00000008h push 00000008h call SUB_L00446A60 mov edx,[esi+0000053Ch] mov ecx,[esi+00000534h] add esp,0000000Ch push eax mov eax,[esi+00000538h] push edx mov edx,[esi+00000530h] push eax push ecx push edx call SUB_L004420B0 mov eax,[esi+000000B4h] mov edi,[esi+00000530h] add esp,00000018h mov [esp+10h],edi test eax,eax jz L004B21D1 sub edi,[esi+000000C4h] mov [esp+10h],edi L004B21D1: mov ecx,[esi+3Ch] mov eax,[esi+20h] mov ebp,[esi+000000C0h] push eax mov edx,[ecx+04h] mov [esp+18h],ebp add edx,00000004h push edx call SUB_L004B9E80 mov eax,[esi+000000BCh] add esp,00000008h cmp ebp,eax jge L004B22DB L004B21FF: cmp edi,[esi+00000538h] jg L004B22DB mov eax,[esi+000000D8h] mov ax,[eax+ebp*2] cmp ax,4000h ja L004B22C8 and eax,0000FFFFh add eax,00004000h push eax call SUB_L004B9530 mov ecx,eax add esp,00000004h test ecx,ecx jnz L004B224B push 00004000h call SUB_L004B9530 mov ecx,eax add esp,00000004h test ecx,ecx jz L004B22C8 L004B224B: mov edi,[esi+00000534h] mov eax,[esi+0000053Ch] xor edx,edx xor ebx,ebx mov dx,[ecx+06h] mov bx,[ecx+04h] lea ebp,[edi+edx] cmp ebp,eax jge L004B2275 sub eax,edi sub eax,edx cdq sub eax,edx sar eax,1 add edi,eax L004B2275: mov edx,[esi+000000DCh] mov ebp,[esp+14h] mov ax,[edx+ebp*2] test ax,ax jz L004B22A7 and eax,0000FFFFh push edi mov edi,[esp+14h] mov [L00CD8C24],eax lea eax,[esi+00000530h] push edi push eax push ecx push L004B9840 jmp L004B22BA L004B22A7: push edi mov edi,[esp+14h] lea eax,[esi+00000530h] push edi push eax push ecx push SUB_L004B95C0 L004B22BA: call SUB_L004B9EA0 add esp,00000014h add edi,ebx mov [esp+10h],edi L004B22C8: mov eax,[esi+000000BCh] inc ebp cmp ebp,eax mov [esp+14h],ebp jl L004B21FF L004B22DB: mov al,[L00C8C4A4] test al,al jz L004B235D mov eax,[esi+00000534h] mov edi,[esi+3Ch] mov edx,[esi+00000530h] lea ecx,[eax-01h] mov edi,[edi+04h] imul ecx,[esi+20h] add ecx,edx lea ecx,[edi+ecx*2+04h] mov edi,eax cmp edi,[esi+0000053Ch] jg L004B235D L004B230D: cmp edx,[esi+00000538h] jg L004B2339 L004B2315: 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+00000538h] cmp edx,eax jle L004B2315 L004B2339: mov edx,[esi+00000530h] mov ebx,[esi+00000538h] mov ebp,[esi+20h] mov eax,edx sub eax,ebx add eax,ebp inc edi lea ecx,[ecx+eax*2-02h] mov eax,[esi+0000053Ch] cmp edi,eax jle L004B230D L004B235D: pop edi pop esi pop ebp pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 L004B2370: mov eax,[ecx+3Ch] mov edx,[esp+04h] push esi mov ecx,[eax+04h] xor eax,eax test edx,edx mov ax,[ecx] jl L004B23B1 mov esi,[esp+0Ch] test esi,esi jl L004B23B1 cmp edx,eax jge L004B23B1 push edi xor edi,edi mov di,[ecx+02h] cmp esi,edi pop edi jge L004B23B1 imul eax,esi add eax,edx xor edx,edx pop esi cmp [ecx+eax*2+04h],dx setnz dl mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L004B23B1: xor eax,eax pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B23C0: mov eax,[ecx+0000009Ch] push esi xor esi,esi cmp eax,esi mov [ecx+000000A4h],esi jz L004B23EC push esi mov [ecx+0000009Ch],esi mov [ecx+000000B0h],esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L004B23EC: cmp dword ptr [ecx+000000B0h],00000002h jnz L004B240A mov eax,[esp+0Ch] mov edx,[esp+08h] push eax push edx mov [ecx+000000B0h],esi call SUB_L004B2650 L004B240A: push esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B2420: push ebx push ebp push esi push edi mov ebx,ecx push 00000000h or ebp,FFFFFFFFh call SUB_L004D0FB0 mov eax,[ebx+000000B4h] add esp,00000004h test eax,eax jnz L004B24F5 mov ecx,[ebx+00000530h] mov eax,[esp+14h] cmp eax,ecx jl L004B24F5 cmp eax,[ebx+00000538h] jg L004B24F5 mov edx,[esp+18h] mov esi,[ebx+00000534h] cmp edx,esi jl L004B24F5 cmp edx,[ebx+0000053Ch] jg L004B24F5 mov si,[ebx+000000C0h] sub eax,ecx mov ecx,[ebx+000000BCh] mov edi,eax mov eax,esi and eax,0000FFFFh cmp eax,ecx jge L004B24E8 L004B2495: test edi,edi jle L004B24EA mov ecx,[ebx+000000D8h] xor edx,edx mov dx,[ecx+eax*2] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h test eax,eax jnz L004B24C9 push 00004000h call SUB_L004B9530 add esp,00000004h test eax,eax jz L004B24D3 L004B24C9: xor ecx,ecx mov cx,[eax+04h] sub edi,ecx jmp L004B24D6 L004B24D3: sub edi,0000002Ch L004B24D6: mov ecx,[ebx+000000BCh] inc esi mov eax,esi and eax,0000FFFFh cmp eax,ecx jl L004B2495 L004B24E8: test edi,edi L004B24EA: jge L004B24F5 and esi,0000FFFFh dec esi mov ebp,esi L004B24F5: cmp ebp,[ebx+000000CCh] jz L004B2553 mov edx,[ebx+00000540h] cmp ebp,FFFFFFFFh mov [ebx+000000CCh],ebp jnz L004B251B add edx,000000F8h mov edi,L007049FC jmp L004B2528 L004B251B: mov edi,[ebx+ebp*4+00000130h] add edx,000000F8h L004B2528: 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+00000540h] mov edx,[ecx] call [edx+00000174h] L004B2553: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 L004B2560: push esi mov esi,ecx mov eax,[esi+000000B4h] test eax,eax jz L004B264B mov eax,[esi+000000C0h] mov ecx,[esi+000000D8h] xor edx,edx mov dx,[ecx+eax*2] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h test eax,eax jnz L004B25A3 push 00004000h call SUB_L004B9530 add esp,00000004h L004B25A3: mov ecx,[esi+000000C8h] push ebx test ecx,ecx push ebp mov edx,ecx jle L004B25DF test eax,eax jz L004B25CF mov ebp,[esi+000000C4h] xor ebx,ebx mov bx,[eax+04h] sub ebx,00000006h cmp ebp,ebx jl L004B25ED mov edx,00000003h jmp L004B25ED L004B25CF: cmp dword ptr [esi+000000C4h],00000026h jl L004B25ED mov edx,00000003h jmp L004B25ED L004B25DF: cmp dword ptr [esi+000000C4h],00000006h jg L004B25ED mov edx,FFFFFFFDh L004B25ED: mov ebp,[esi+000000C4h] add ebp,edx mov [esi+000000C4h],ebp mov edx,ebp pop ebp pop ebx test ecx,ecx jle L004B2632 test eax,eax jz L004B2612 xor ecx,ecx mov cx,[eax+04h] dec ecx cmp edx,ecx jl L004B2644 L004B2612: mov eax,[esi+000000C0h] mov ecx,esi inc eax mov dword ptr [esi+000000B4h],00000000h mov [esi+000000C0h],eax call SUB_L004B2170 pop esi retn ;------------------------------------------------------------------------------ L004B2632: test eax,eax jz L004B263A test edx,edx jg L004B2644 L004B263A: mov dword ptr [esi+000000B4h],00000000h L004B2644: mov ecx,esi call SUB_L004B2170 L004B264B: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B2650: push esi mov esi,ecx push edi mov eax,[esi+000000B4h] test eax,eax jnz L004B2725 mov ecx,[esi+00000530h] mov eax,[esp+0Ch] cmp eax,ecx jl L004B2725 cmp eax,[esi+00000538h] jg L004B2725 mov edx,[esp+10h] mov edi,[esi+00000534h] cmp edx,edi jl L004B2725 cmp edx,[esi+0000053Ch] jg L004B2725 mov di,[esi+000000C0h] sub eax,ecx mov ecx,[esi+000000BCh] push ebx mov ebx,eax mov eax,edi and eax,0000FFFFh cmp eax,ecx jge L004B2709 L004B26BB: test ebx,ebx jle L004B270B mov ecx,[esi+000000D8h] xor edx,edx mov dx,[ecx+eax*2] add edx,00004000h push edx call SUB_L004B9530 add esp,00000004h test eax,eax jnz L004B26EF push 00004000h call SUB_L004B9530 add esp,00000004h test eax,eax jz L004B26F7 L004B26EF: xor ecx,ecx mov cx,[eax+04h] sub ebx,ecx L004B26F7: mov ecx,[esi+000000BCh] inc edi mov eax,edi and eax,0000FFFFh cmp eax,ecx jl L004B26BB L004B2709: test ebx,ebx L004B270B: pop ebx jge L004B2725 mov edx,[esi] and edi,0000FFFFh push 00000000h push 00000000h mov ecx,esi mov [esi+000000D0h],edi call [edx+20h] L004B2725: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004B2730: push FFFFFFFFh push L004E5D79 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000024h push ebx push ebp push esi mov esi,ecx push edi mov [esp+20h],esi call SUB_L00458F30 mov eax,[esp+48h] mov cx,[esp+4Ch] xor ebx,ebx mov [esi+000002B4h],eax lea edx,[esp+14h] mov [esi+000002B8h],cx push ebx lea eax,[esp+14h] push edx mov edx,[esp+4Ch] lea ecx,[esp+20h] push eax push ecx push 00000168h push edx push 00000001h mov [esp+58h],ebx mov dword ptr [esi],L004F1044 mov dword ptr [esi+08h],SSZ0050F6A0_stringpicker_gump mov [esi+60h],ebx mov dword ptr [esi+54h],000013ECh mov [esi+64h],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+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov dword ptr [esi+20h],00000190h call SUB_L00441CD0 mov eax,[esp+2Ch] mov ebp,[esi+20h] add esp,0000001Ch sub ebp,00000046h lea ecx,[eax+6Ah] add eax,00000024h mov [esp+1Ch],eax mov eax,[esp+50h] cmp eax,ebx mov [esi+24h],ecx jle L004B287B mov edx,[esp+54h] mov edi,[esp+58h] lea ecx,[esi+000000B4h] mov [esp+4Ch],edx mov [esp+48h],ecx mov [esp+54h],eax L004B2824: lea edx,[esp+14h] push ebx lea eax,[esp+14h] push edx mov edx,[edi] lea ecx,[esp+20h] push eax push ecx push ebp push edx push 00000001h call SUB_L00441CD0 mov eax,[esp+2Ch] mov ecx,[esi+24h] add eax,00000006h add esp,0000001Ch add ecx,eax mov eax,[esp+4Ch] mov [esi+24h],ecx mov ecx,[esp+48h] mov dx,[eax] add eax,00000002h mov [esp+4Ch],eax mov eax,[esp+54h] mov [ecx],dx add edi,00000004h add ecx,00000002h dec eax mov [esp+48h],ecx mov [esp+54h],eax jnz L004B2824 L004B287B: mov eax,[L005073D0] mov ecx,[esi+20h] sub eax,ecx mov ecx,[esi+24h] cdq sub eax,edx push SSZ004FFBCC_framedata_for_CDumbGump sar eax,1 mov [esi+30h],eax mov eax,[L005073D4] sub eax,ecx push 00000008h cdq sub eax,edx mov [esi+14h],ebx sar eax,1 mov [esi+34h],eax mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+20h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] push ebx mov [edx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] mov ecx,[esi+24h] mov edx,[esi+3Ch] mov [esp+38h],ebx mov [esp+40h],eax mov [esp+3Ch],ebx mov [esp+44h],ecx mov eax,[edx+04h] mov ecx,[esi+54h] push eax push ecx call SUB_L0042BB70 mov ecx,[esi+3Ch] mov eax,[esi+20h] push ebx push ebx lea edx,[esp+48h] push ebx push edx mov edx,[ecx+04h] push eax add edx,00000004h add eax,FFFFFFD8h push edx push eax mov eax,[esp+7Ch] push eax push 00000386h push 00000001h push 00000010h push 00000014h call SUB_L00441160 mov eax,[esp+0000009Ch] mov edi,[esp+68h] add esp,0000004Ch cmp eax,ebx jle L004B2A6B mov ecx,[esp+58h] mov [esp+44h],eax mov [esp+4Ch],ecx L004B29A1: push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+3Ch],01h jz L004B29E1 push ebx push ebx push ebx push L007049FC push 00000386h push 00000001h push 0000138Bh push 0000138Ah push esi push edi push 00000014h mov ecx,eax call SUB_L00422D00 jmp L004B29E3 L004B29E1: xor eax,eax L004B29E3: push 00000001h push esi mov ecx,eax mov [esp+44h],bl call SUB_L004587A0 lea edx,[esp+14h] push ebx push edx mov edx,[esp+54h] lea eax,[esp+18h] lea ecx,[esp+20h] push eax mov eax,[edx] push ecx push ebp push eax push 00000001h call SUB_L00441CD0 mov eax,[esi+3Ch] mov edx,[esi+20h] push ebx push ebx lea ecx,[esp+48h] push ebx push ecx mov ecx,[eax+04h] push edx mov edx,[esp+7Ch] add ecx,00000004h mov eax,[edx] push ecx push ebp push eax push 00000386h lea ecx,[edi+02h] push 00000001h push ecx push 00000032h call SUB_L00441160 mov ecx,[esp+00000098h] mov eax,[esp+00000090h] mov edx,[esp+5Ch] add esp,0000004Ch add ecx,00000004h dec eax lea edi,[edi+edx+06h] mov [esp+4Ch],ecx mov [esp+44h],eax jnz L004B29A1 L004B2A6B: push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+4Ch],eax cmp eax,ebx mov byte ptr [esp+3Ch],02h jz L004B2AAA mov ecx,[esi+24h] push ebx push 00001451h push 00001450h push SUB_L00421700 push ebx push ebx sub ecx,0000002Ch push esi push ecx push 00000028h mov ecx,eax call SUB_L00421F40 jmp L004B2AAC L004B2AAA: xor eax,eax L004B2AAC: push 00000001h push esi mov ecx,eax mov [esp+44h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+4Ch],eax cmp eax,ebx mov byte ptr [esp+3Ch],03h jz L004B2AFC mov edx,[esi+24h] push ebx push 000013B3h push 000013B2h push L00421750 push ebx push ebx sub edx,0000002Ch push esi push edx push 000000A0h mov ecx,eax call SUB_L00421F40 jmp L004B2AFE L004B2AFC: xor eax,eax L004B2AFE: push 00000001h push esi mov ecx,eax mov [esp+44h],bl call SUB_L004587A0 mov ecx,[esp+34h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000030h retn 0018h ;------------------------------------------------------------------------------ Align 16 L004B2B30: push esi mov esi,ecx call SUB_L004B2B50 test byte ptr [esp+08h],01h jz L004B2B48 push esi call SUB_L004D4F9E add esp,00000004h L004B2B48: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B2B50: push FFFFFFFFh push L004E5D98 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F1044 mov eax,[L00B294B8] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L004B2B89 mov [L00B294B8],edi L004B2B89: mov eax,[esi+3Ch] mov eax,[eax+04h] cmp eax,edi jz L004B2BA7 push SSZ0050F6CC_stringpicker_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004B2BA7: mov eax,[esi+3Ch] cmp eax,edi jz L004B2BBF push SSZ0050F6B4_stringpicker_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004B2BBF: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 L004B2BE0: call SUB_L00421700 push 00000000h call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B2BF0: mov edx,[ecx+0000009Ch] xor eax,eax cmp edx,eax mov [ecx+000000A4h],eax jz L004B2C18 push eax mov [ecx+0000009Ch],eax mov [ecx+000000B0h],eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B2C18: cmp dword ptr [ecx+000000B0h],00000002h jnz L004B2C27 mov [ecx+000000B0h],eax L004B2C27: push eax call SUB_L00476670 pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B2C40: push esi push edi mov edi,[esp+0Ch] mov esi,ecx mov ecx,edi mov eax,[edi] call [eax+00000108h] test eax,eax jz L004B2C73 mov al,[edi+000000B8h] test al,al jnz L004B2C73 mov ecx,edi mov byte ptr [edi+000000B8h],01h call SUB_L00422FE0 pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004B2C73: mov esi,[esi+48h] test esi,esi jz L004B2CAB L004B2C7A: mov edx,[esi] mov ecx,esi call [edx+00000108h] test eax,eax jz L004B2CA4 cmp esi,edi jz L004B2CA4 mov al,[esi+000000B8h] test al,al jz L004B2CA4 mov ecx,esi mov byte ptr [esi+000000B8h],00h call SUB_L00422FE0 L004B2CA4: mov esi,[esi+40h] test esi,esi jnz L004B2C7A L004B2CAB: pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ SUB_L004B2CB0: push FFFFFFFFh push L004E5DEF mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 lea ebx,[esi+24h] lea ebp,[esi+20h] push ebx xor edi,edi push ebp push 00000474h mov [esp+38h],edi mov dword ptr [esi],L004F11B8 mov [esi+0000009Ch],edi mov dword ptr [esi+08h],SSZ0050F708_Stringquery_gump mov [esi+60h],edi mov dword ptr [esi+54h],00000474h mov [esi+64h],edi mov [esi+50h],edi mov [esi+4Ch],edi mov [esi+48h],edi mov [esi+44h],edi mov [esi+40h],edi call SUB_L004434A0 push SSZ0050F6E8_framedata_for_CStringQueryGump push 00000008h mov dword ptr [esi+30h],00000079h mov dword ptr [esi+34h],00000066h mov [esi+14h],edi mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov eax,[esp+50h] mov [ecx+02h],dx mov cx,[esp+54h] mov [esi+000000A4h],cx mov ecx,[ebp+00h] imul ecx,[ebx] mov dl,[esp+60h] mov [esi+000000A0h],eax mov al,[esp+5Ch] mov [esi+000000A6h],dl mov edx,[esi+3Ch] mov [esi+000000A7h],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,[ebx] mov edx,[esi+3Ch] mov ecx,[ebp+00h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+54h] add eax,00000004h xor edi,edi push eax push edi push edi push ecx push SUB_L004B9B80 call SUB_L00443500 mov edx,[ebx] mov eax,[ebp+00h] mov [esp+58h],edx mov edx,[esi+3Ch] push edi push edi lea ecx,[esp+54h] push edi mov [esp+58h],edi mov [esp+60h],eax mov [esp+5Ch],edi push ecx mov ecx,[edx+04h] mov edx,[esp+00000084h] push eax add ecx,00000004h add eax,FFFFFF88h push ecx push eax push edx push 00000386h push 00000002h push 00000032h push 0000003Ch call SUB_L00441160 mov edx,[esi+3Ch] mov ecx,[ebp+00h] add esp,00000068h lea eax,[esp+14h] push eax mov eax,[edx+04h] push ecx mov ecx,[esp+54h] add eax,00000004h push eax push ecx push 00000386h push 00000002h push 0000007Dh push 0000003Ch call SUB_L004410C0 mov al,[esi+000000A6h] add esp,00000020h cmp al,01h mov bl,05h jnz L004B2F35 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,edi mov byte ptr [esp+2Ch],01h jz L004B2EC8 mov edx,[esp+48h] push edi push edi push 00000001h push 00000386h push 00000001h push edx push edi push 00000475h push 00000475h push esi push 00000082h push 0000003Ch mov ecx,eax call SUB_L0042A0B0 jmp L004B2ECA L004B2EC8: xor eax,eax L004B2ECA: mov [esi+000000A8h],eax mov word ptr [eax+000000EAh],0476h mov eax,[esi+000000A8h] push 00000001h push esi mov byte ptr [esp+34h],00h mov word ptr [eax+000000ECh],0477h mov ecx,[esi+000000A8h] mov byte ptr [ecx+000000EEh],0Ch mov edx,[esi+000000A8h] mov [edx+000000EFh],bl mov ecx,[esi+000000A8h] call SUB_L004587A0 mov eax,[esi+000000A8h] mov dword ptr [eax+000000E4h],00000001h mov ecx,[esi+000000A8h] mov [L00B294BC],ecx jmp L004B2FEB L004B2F35: cmp al,02h jnz L004B2FF9 push 000001CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,edi mov byte ptr [esp+2Ch],02h jz L004B2F84 mov ecx,[esp+48h] push edi push edi push 00000001h push 00000386h push 00000001h push ecx push 00000001h push 00000475h push 00000475h push esi push 00000082h push 0000003Ch mov ecx,eax call SUB_L0042A0B0 jmp L004B2F86 L004B2F84: xor eax,eax L004B2F86: mov [esi+000000A8h],eax mov word ptr [eax+000000EAh],0476h mov edx,[esi+000000A8h] push 00000001h push esi mov byte ptr [esp+34h],00h mov word ptr [edx+000000ECh],0477h mov eax,[esi+000000A8h] mov byte ptr [eax+000000EEh],0Ch mov ecx,[esi+000000A8h] mov [ecx+000000EFh],bl mov ecx,[esi+000000A8h] call SUB_L004587A0 mov edx,[esi+000000A8h] mov dword ptr [edx+000000E4h],00000001h mov eax,[esi+000000A8h] mov [L00B294BC],eax L004B2FEB: mov ecx,[esi+000000A8h] mov edx,[ecx] call [edx+00000174h] L004B2FF9: mov al,[esi+000000A7h] push 000000ECh test al,01h jz L004B30DB call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,edi mov byte ptr [esp+2Ch],03h jz L004B3053 mov edx,[esi+34h] mov ebx,[esi+30h] push edi push 0000047Ch mov ecx,00000124h push 0000047Bh push L00421BD0 sub ecx,edx push edi mov edx,000000EEh push edi push esi sub edx,ebx push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L004B3055 L004B3053: xor eax,eax L004B3055: push 00000001h push esi mov ecx,eax mov byte ptr [esp+34h],00h mov dword ptr [eax+000000ACh],0000047Dh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,edi mov byte ptr [esp+2Ch],04h jz L004B30C9 mov ebp,[esi+34h] push edi push 00000479h push 00000478h push L00421C60 push edi push edi mov edi,[esi+30h] mov ecx,00000124h mov edx,00000145h sub ecx,ebp push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L00421F40 mov byte ptr [esp+2Ch],00h mov dword ptr [eax+000000ACh],0000047Ah jmp L004B3132 L004B30C9: xor eax,eax mov [esp+2Ch],al mov dword ptr [eax+000000ACh],0000047Ah jmp L004B3132 L004B30DB: call SUB_L004D4FA9 add esp,00000004h mov [esp+44h],eax cmp eax,edi mov [esp+2Ch],bl jz L004B3121 mov ebp,[esi+34h] push edi push 0000047Ch push 0000047Bh push L00421BD0 push edi push edi mov edi,[esi+30h] mov ecx,00000124h mov edx,0000011Ah sub ecx,ebp push esi sub edx,edi push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L004B3123 L004B3121: xor eax,eax L004B3123: mov byte ptr [esp+2Ch],00h mov dword ptr [eax+000000ACh],0000047Dh L004B3132: push 00000001h push esi mov ecx,eax call SUB_L004587A0 mov ecx,[esp+24h] mov [L00B294B8],esi mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 001Ch ;------------------------------------------------------------------------------ Align 8 L004B3160: push esi mov esi,ecx call SUB_L004B3180 test byte ptr [esp+08h],01h jz L004B3178 push esi call SUB_L004D4F9E add esp,00000004h L004B3178: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B3180: push FFFFFFFFh push L004E5E08 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F11B8 mov eax,[L00B294B8] xor edi,edi cmp eax,esi mov [esp+14h],edi jnz L004B31B9 mov [L00B294B8],edi L004B31B9: mov ecx,[esi+000000A8h] cmp ecx,edi jz L004B31CF mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A8h],edi L004B31CF: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L004B31ED push SSZ0050F734_StringQuery_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L004B31ED: mov eax,[esi+3Ch] cmp eax,edi jz L004B3205 push SSZ0050F71C_StringQuery_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004B3205: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004B3230: jmp L00421BD0 Align 16 L004B3240: dd L00A781F6 db 00h; db 00h; db 01h; db 74h; 't' db 05h; db E9h; '©' db 12h; db EAh; 'ª' db F6h; 'æ' db FFh; 'ï' db C3h; 'ƒ' db 90h; '?' SUB_L004B3250: 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_L004B3270: push esi mov esi,ecx mov eax,[esi] test eax,eax jz L004B3282 push eax call SUB_L004D4F9E add esp,00000004h L004B3282: mov dword ptr [esi],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B3290: push ebx push ebp push esi mov esi,[esp+10h] mov ebx,ecx xor ebp,ebp cmp esi,ebp mov [ebx],ebp mov [ebx+04h],ebp mov dword ptr [ebx+08h],00000040h mov [ebx+0Ch],ebp jnz L004B32B3 mov [ebx+04h],ebp jmp L004B330C L004B32B3: push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx test ecx,ecx jle L004B32DD mov edi,esi or ecx,FFFFFFFFh repne scasb not ecx lea eax,[ecx+3Fh] push eax mov [ebx+0Ch],eax call SUB_L004D4FA9 add esp,00000004h mov [ebx],eax L004B32DD: 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 pop edi mov [ebx+04h],ecx L004B330C: cmp [ebx],ebp jnz L004B3316 mov [ebx+0Ch],ebp mov [ebx+04h],ebp L004B3316: pop esi mov eax,ebx pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B3320: push ebx push esi mov esi,[esp+0Ch] mov ebx,ecx test esi,esi jz L004B3421 cmp byte ptr [esi],00h jz L004B3421 push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb mov edx,[ebx+04h] not ecx dec ecx lea eax,[ecx+edx+01h] mov ecx,[ebx+0Ch] cmp eax,ecx jle L004B33E1 mov edi,esi or ecx,FFFFFFFFh xor eax,eax push ebp 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_L004D4FA9 mov ebp,eax add esp,00000004h mov byte ptr [ebp+00h],00h mov edi,[ebx] test edi,edi jz L004B33A6 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 esi,[esp+14h] L004B33A6: mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov esi,edi mov edx,ecx mov edi,ebp or ecx,FFFFFFFFh 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 L004B33DC push eax call SUB_L004D4F9E add esp,00000004h L004B33DC: mov [ebx],ebp pop ebp jmp L004B3408 L004B33E1: mov edi,esi 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 L004B3408: mov edx,[ebx] or ecx,FFFFFFFFh mov edi,edx xor eax,eax repne scasb not ecx dec ecx pop edi mov [ebx+04h],ecx pop esi mov eax,edx pop ebx retn 0004h ;------------------------------------------------------------------------------ L004B3421: mov eax,[ebx] pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B3430: push ebx push esi mov esi,[esp+0Ch] mov ebx,ecx test esi,esi jnz L004B3453 mov eax,[ebx] test eax,eax jz L004B3445 mov byte ptr [eax],00h L004B3445: mov dword ptr [ebx+04h],00000000h mov eax,ebx pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L004B3453: push edi mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,[ebx+0Ch] not ecx cmp ecx,eax jle L004B3494 mov eax,[ebx] test eax,eax jz L004B3475 push eax call SUB_L004D4F9E add esp,00000004h L004B3475: 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_L004D4FA9 add esp,00000004h mov [ebx],eax L004B3494: 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 retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B34D0: mov eax,[esp+04h] push esi mov esi,ecx push eax call SUB_L004B3320 mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B34F0: mov eax,[esp+04h] sub esp,00000100h push esi mov esi,ecx push eax lea ecx,[esp+08h] push L004FF074 push ecx call SUB_L004D512F add esp,0000000Ch lea edx,[esp+04h] mov ecx,esi push edx call SUB_L004B3320 mov eax,esi pop esi add esp,00000100h retn 0004h ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' mov ecx,L00C9DA10 jmp L004B3540 Align 8 L004B3540: sub esp,0000000Ch push ebx push ebp push esi push edi mov [esp+18h],ecx xor ebp,ebp lea edi,[ecx+00004008h] L004B3553: lea ebx,[ebp-1Ah] mov edx,FFFFFFFDh L004B355B: test edx,edx mov esi,edx mov eax,ebx jge L004B3567 xor esi,esi jmp L004B3571 L004B3567: cmp edx,00000040h jl L004B3571 mov esi,0000003Fh L004B3571: test eax,eax jge L004B357B xor eax,eax xor esi,esi jmp L004B3587 L004B357B: cmp eax,00000080h jl L004B3587 mov eax,0000007Fh L004B3587: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx+03h] cmp eax,00000040h jl L004B355B inc ebp cmp ebp,00000080h jl L004B3553 xor ebp,ebp lea edi,[ecx+0000C008h] L004B35AB: xor edx,edx lea ebx,[ebp-0Ch] L004B35B0: test edx,edx mov esi,edx mov eax,ebx jge L004B35BC xor esi,esi jmp L004B35C6 L004B35BC: cmp edx,00000040h jl L004B35C6 mov esi,0000003Fh L004B35C6: test eax,eax jge L004B35D0 xor eax,eax xor esi,esi jmp L004B35DC L004B35D0: cmp eax,00000080h jl L004B35DC mov eax,0000007Fh L004B35DC: shl eax,06h add eax,esi inc edx mov [edi],eax add edi,00000004h cmp edx,00000040h jl L004B35B0 inc ebp cmp ebp,00000038h jl L004B35AB xor ebx,ebx mov dword ptr [esp+10h],00000038h mov [esp+14h],ebx lea edi,[ecx+0000F808h] L004B3606: mov eax,[esp+14h] mov ecx,[esp+10h] cdq and edx,0000000Fh mov ebp,00000040h add eax,edx sar eax,04h lea ecx,[eax+ecx-0Ch] mov eax,ebx cdq and edx,0000000Fh add eax,edx sar eax,04h L004B362B: test eax,eax mov esi,eax mov edx,ecx jge L004B3637 xor esi,esi jmp L004B3641 L004B3637: cmp eax,00000040h jl L004B3641 mov esi,0000003Fh L004B3641: test edx,edx jge L004B364B xor edx,edx xor esi,esi jmp L004B3658 L004B364B: cmp edx,00000080h jl L004B3658 mov edx,0000007Fh L004B3658: shl edx,06h add edx,esi mov [edi],edx add edi,00000004h inc eax dec ebp jnz L004B362B mov esi,[esp+10h] mov edx,[esp+14h] sub ebx,00000008h inc esi add edx,00000004h cmp ebx,FFFFFF80h mov [esp+10h],esi mov [esp+14h],edx jg L004B3606 mov ebp,[esp+18h] mov ebx,00000048h lea edi,[ebp+00010808h] L004B3691: lea ecx,[ebx-08h] mov edx,FFFFFFF8h L004B3699: test edx,edx mov eax,ecx mov esi,edx jge L004B36A5 xor esi,esi jmp L004B36AF L004B36A5: cmp edx,00000040h jl L004B36AF mov esi,0000003Fh L004B36AF: test eax,eax jge L004B36B9 xor eax,eax xor esi,esi jmp L004B36C5 L004B36B9: cmp eax,00000080h jl L004B36C5 mov eax,0000007Fh L004B36C5: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx+08h] cmp eax,00000040h jl L004B3699 inc ebx cmp ebx,00000080h jl L004B3691 xor ebx,ebx lea edi,[ebp+00014008h] L004B36E9: xor edx,edx lea ecx,[ebx-0Ch] L004B36EE: test edx,edx mov esi,edx mov eax,ecx jge L004B36FA xor esi,esi jmp L004B3704 L004B36FA: cmp edx,00000040h jl L004B3704 mov esi,0000003Fh L004B3704: test eax,eax jge L004B370E xor eax,eax xor esi,esi jmp L004B371A L004B370E: cmp eax,00000080h jl L004B371A mov eax,0000007Fh L004B371A: shl eax,06h add eax,esi inc edx mov [edi],eax add edi,00000004h cmp edx,00000040h jl L004B36EE inc ebx cmp ebx,00000038h jl L004B36E9 xor ebx,ebx mov dword ptr [esp+10h],00000038h mov [esp+14h],ebx lea edi,[ebp+00017808h] L004B3744: mov eax,ebx mov ecx,[esp+10h] cdq and edx,0000000Fh mov ebp,00000040h add eax,edx sar eax,04h lea ecx,[eax+ecx-0Ch] mov eax,[esp+14h] cdq and edx,0000000Fh add eax,edx sar eax,04h L004B3769: test eax,eax mov esi,eax mov edx,ecx jge L004B3775 xor esi,esi jmp L004B377F L004B3775: cmp eax,00000040h jl L004B377F mov esi,0000003Fh L004B377F: test edx,edx jge L004B3789 xor edx,edx xor esi,esi jmp L004B3796 L004B3789: cmp edx,00000080h jl L004B3796 mov edx,0000007Fh L004B3796: shl edx,06h add edx,esi mov [edi],edx add edi,00000004h inc eax dec ebp jnz L004B3769 mov esi,[esp+10h] mov ecx,[esp+14h] add ebx,00000004h inc esi add ecx,00000008h cmp ebx,00000040h mov [esp+10h],esi mov [esp+14h],ecx jl L004B3744 mov edx,[esp+18h] mov ebx,00000048h lea edi,[edx+00018808h] L004B37CF: lea ecx,[ebx-08h] mov edx,00000008h L004B37D7: test edx,edx mov eax,ecx mov esi,edx jge L004B37E3 xor esi,esi jmp L004B37ED L004B37E3: cmp edx,00000040h jl L004B37ED mov esi,0000003Fh L004B37ED: test eax,eax jge L004B37F7 xor eax,eax xor esi,esi jmp L004B3803 L004B37F7: cmp eax,00000080h jl L004B3803 mov eax,0000007Fh L004B3803: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx-08h] cmp eax,00000040h jl L004B37D7 inc ebx cmp ebx,00000080h jl L004B37CF mov ebp,[esp+18h] xor ebx,ebx lea edi,[ebp+0001C008h] L004B382B: lea ecx,[ebx-1Ah] mov edx,00000003h L004B3833: test edx,edx mov esi,edx mov eax,ecx jge L004B383F xor esi,esi jmp L004B3849 L004B383F: cmp edx,00000040h jl L004B3849 mov esi,0000003Fh L004B3849: test eax,eax jge L004B3853 xor eax,eax xor esi,esi jmp L004B385F L004B3853: cmp eax,00000080h jl L004B385F mov eax,0000007Fh L004B385F: shl eax,06h add eax,esi mov [edi],eax add edi,00000004h inc edx lea eax,[edx-03h] cmp eax,00000040h jl L004B3833 inc ebx cmp ebx,00000080h jl L004B382B pop edi mov eax,ebp pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B3890: sub esp,00000010h push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+00024014h] test eax,eax jz L004B38C4 cmp eax,00000006h jz L004B38C4 mov eax,[esi] lea eax,[eax+eax*4] mov ecx,[L0050F778+eax*4] mov eax,[esi+0002400Ch] add eax,ecx mov [esi+0002400Ch],eax jmp L004B38DE L004B38C4: mov eax,[esi] mov ecx,[esi+0002400Ch] lea edx,[eax+eax*4] mov eax,[L0050F77C+edx*4] add ecx,eax mov [esi+0002400Ch],ecx L004B38DE: mov ecx,[esi+0002400Ch] mov edx,[L005073D0] imul ecx,edx mov eax,[esi+00024008h] add ecx,eax mov eax,[L00B189FC] xor ebx,ebx lea edi,[eax+ecx*2] L004B38FF: mov ecx,[esi+04h] mov eax,[esi+0002400Ch] add eax,ebx cmp eax,[ecx+04h] jl L004B3967 cmp eax,[ecx+0Ch] jge L004B3967 xor ecx,ecx L004B3916: mov edx,[esi+00024008h] mov eax,ecx add eax,edx mov edx,[esi+04h] cmp eax,[edx] jl L004B3952 cmp eax,[edx+08h] jge L004B3952 mov edx,[esi+00024014h] sar edx,1 shl edx,07h add edx,ebx shl edx,06h add edx,ecx mov eax,[esi+edx*4+00004008h] mov ax,[esi+eax*2+08h] test ax,ax jz L004B3952 mov [edi],ax L004B3952: add edi,00000002h inc ecx cmp ecx,00000040h jl L004B3916 mov edx,[L005073D0] lea edi,[edi+edx*2-80h] jmp L004B396A L004B3967: lea edi,[edi+edx*2] L004B396A: inc ebx cmp ebx,00000080h jl L004B38FF mov eax,[esi+00024014h] test eax,eax jz L004B3986 cmp eax,00000006h jnz L004B3AC1 L004B3986: mov eax,[esi] lea ecx,[eax+eax*4] mov eax,[L0050F780+ecx*4] test eax,eax jz L004B3AC1 mov ebp,[esp+24h] mov dl,[ebp+26h] mov al,[ebp+24h] and edx,0000003Fh and eax,0000003Fh shl edx,06h add edx,eax mov edi,[L00516754+edx*4] test edi,edi jz L004B3AC1 L004B39BE: movsx eax,[edi+28h] movsx ecx,[ebp+28h] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000001h jg L004B3A31 mov dx,[edi+24h] cmp dx,[ebp+24h] jnz L004B3A31 mov ax,[edi+26h] cmp ax,[ebp+26h] jnz L004B3A31 mov edx,[edi] mov ecx,edi call [edx+18h] test eax,eax jz L004B3A28 mov eax,[edi] mov ecx,edi call [eax+24h] test eax,eax jnz L004B3A28 mov eax,[L0050F770] xor ebx,ebx mov bx,[edi+3Ch] xor edx,edx test eax,eax jz L004B3A28 mov ecx,L0050F770 L004B3A12: cmp eax,ebx jnz L004B3A1D mov eax,[ecx+04h] test eax,eax jnz L004B3A42 L004B3A1D: mov eax,[ecx+14h] add ecx,00000014h inc edx test eax,eax jnz L004B3A12 L004B3A28: xor eax,eax L004B3A2A: mov ecx,[esi] dec eax cmp eax,ecx jz L004B3A47 L004B3A31: mov edi,[edi+18h] test edi,edi jnz L004B39BE pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ L004B3A42: lea eax,[edx+01h] jmp L004B3A2A L004B3A47: test edi,edi jz L004B3AC1 mov ecx,[esi+04h] mov ebx,[esi+00024014h] mov esi,[esi] mov edx,[ecx] mov [esp+10h],edx mov eax,[ecx+04h] mov [esp+14h],eax mov edx,[ecx+08h] mov [esp+18h],edx mov edx,[edi+10h] mov eax,[ecx+0Ch] mov ecx,edx mov [esp+1Ch],eax mov eax,[edi+08h] sub ecx,eax sar ecx,1 test ebx,ebx jnz L004B3A9D mov ebx,[L0051A760] lea eax,[esi+esi*4] mov eax,[L0050F780+eax*4] sub eax,ebx sub eax,ecx add eax,edx mov [esp+18h],eax jmp L004B3AB5 L004B3A9D: lea edx,[esi+esi*4] mov esi,[L0051A760] sub eax,[L0050F780+edx*4] sub eax,esi add eax,ecx mov [esp+10h],eax L004B3AB5: mov eax,[edi] lea ecx,[esp+10h] push ecx mov ecx,edi call [eax+08h] L004B3AC1: pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004B3AD0: mov eax,[ecx+00024014h] push ebx mov ebx,[L0051A75C] push ebp mov ebp,[L0051A760] push esi mov esi,[esp+10h] push edi mov edi,[esp+18h] sub esi,ebp sub edi,ebx test eax,eax jz L004B3B09 cmp eax,00000006h jz L004B3B09 mov edx,[ecx] lea edx,[edx+edx*4] mov edx,[L0050F778+edx*4] jmp L004B3B15 L004B3B09: mov edx,[ecx] lea edx,[edx+edx*4] mov edx,[L0050F77C+edx*4] L004B3B15: mov ebx,[ecx+0002400Ch] add ebx,edx mov [ecx+0002400Ch],ebx mov ebx,[ecx+00024008h] cmp esi,ebx jl L004B3B6F lea edx,[ebx+40h] cmp esi,edx jge L004B3B6F mov edx,[ecx+0002400Ch] cmp edi,edx jl L004B3B6F lea ebp,[edx+00000080h] cmp edi,ebp jge L004B3B6F sar eax,1 shl eax,07h sub eax,edx add eax,edi pop edi shl eax,06h sub eax,ebx add eax,esi xor edx,edx pop esi pop ebp mov eax,[ecx+eax*4+00004008h] pop ebx mov dx,[ecx+eax*2+08h] mov eax,edx retn 0008h ;------------------------------------------------------------------------------ L004B3B6F: pop edi pop esi pop ebp xor eax,eax pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004B3B80: sub esp,00000008h push ebx push ebp push esi push edi mov edi,[esp+1Ch] mov [esp+10h],ecx mov eax,edi and eax,00003FFFh mov [esp+14h],eax jnz L004B3CC6 mov eax,[ecx+00024010h] test eax,eax jz L004B3C47 mov ebx,[esp+24h] L004B3BB2: mov eax,[ebx] cmp eax,7FFF7FFFh jz L004B3FCE 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 ebx,00000004h cmp esi,00000080h mov [esp+24h],ebx jge L004B3FCE test esi,esi jl L004B3C40 test edx,edx mov dword ptr [esp+1Ch],00000000h jle L004B3C40 lea edi,[edx+ebx-01h] L004B3C07: cmp ecx,00000040h jge L004B3C40 test ecx,ecx jl L004B3C31 mov ebp,[esp+20h] xor eax,eax mov al,[edi] mov ebx,esi shl ebx,06h mov ax,[ebp+eax*2+00h] mov ebp,[esp+10h] add ebx,ecx mov [ebp+ebx*2+08h],ax mov ebx,[esp+24h] L004B3C31: mov eax,[esp+1Ch] inc ecx inc eax dec edi cmp eax,edx mov [esp+1Ch],eax jl L004B3C07 L004B3C40: add ebx,edx jmp L004B3BB2 L004B3C47: mov ebp,[esp+24h] L004B3C4B: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L004B3FCE 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 ebp,00000004h cmp esi,00000080h mov [esp+24h],ebp jge L004B3FCE test esi,esi jl L004B3CC2 xor edi,edi test edx,edx jle L004B3CC2 L004B3C91: cmp ecx,00000040h jge L004B3CC2 test ecx,ecx jl L004B3CBC xor eax,eax mov ebx,esi mov al,[edi+ebp] mov ebp,[esp+20h] shl ebx,06h mov ax,[ebp+eax*2+00h] mov ebp,[esp+10h] add ebx,ecx mov [ebp+ebx*2+08h],ax mov ebp,[esp+24h] L004B3CBC: inc ecx inc edi cmp edi,edx jl L004B3C91 L004B3CC2: add ebp,edx jmp L004B3C4B L004B3CC6: test edi,00008000h jnz L004B3E45 mov eax,[ecx+00024010h] mov ecx,[esp+24h] dec edi test eax,eax jz L004B3DA2 L004B3CE5: mov eax,[ecx] cmp eax,7FFF7FFFh jz L004B3FCE 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 [esp+24h],ecx jge L004B3FCE test eax,eax jl L004B3D9B test esi,esi mov dword ptr [esp+1Ch],00000000h jle L004B3D9B lea ebx,[esi+ecx-01h] mov [esp+14h],ebx L004B3D3B: cmp edx,00000040h jge L004B3D9B test edx,edx jl L004B3D84 mov ebx,[esp+14h] mov ebp,[esp+20h] xor ecx,ecx mov cl,[ebx] xor ebx,ebx mov bx,[ebp+ecx*2+00h] mov cl,[L00512174] shr ebx,cl lea ecx,[edi+edi*4] mov ebp,[esp+10h] lea ecx,[edi+ecx*2] lea ecx,[ebx+ecx*4] mov ebx,eax shl ebx,06h mov cx,[L00C42CE8+ecx*2] add ebx,edx mov [ebp+ebx*2+08h],cx mov ecx,[esp+24h] L004B3D84: mov ebx,[esp+1Ch] mov ebp,[esp+14h] inc edx inc ebx dec ebp cmp ebx,esi mov [esp+1Ch],ebx mov [esp+14h],ebp jl L004B3D3B L004B3D9B: add ecx,esi jmp L004B3CE5 L004B3DA2: mov eax,[ecx] cmp eax,7FFF7FFFh jz L004B3FCE 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 [esp+24h],ecx jge L004B3FCE test eax,eax jl L004B3E3E xor ebp,ebp test esi,esi mov [esp+1Ch],ebp jle L004B3E3E L004B3DE8: cmp edx,00000040h jge L004B3E3E test edx,edx jl L004B3E34 xor ebx,ebx mov bl,[ecx+ebp] mov ebp,[esp+20h] xor ecx,ecx mov cx,[ebp+ebx*2+00h] mov ebp,[esp+10h] mov ebx,ecx mov cl,[L00512174] shr ebx,cl lea ecx,[edi+edi*4] lea ecx,[edi+ecx*2] lea ecx,[ebx+ecx*4] mov ebx,eax shl ebx,06h mov cx,[L00C42CE8+ecx*2] add ebx,edx mov [ebp+ebx*2+08h],cx mov ecx,[esp+24h] mov ebp,[esp+1Ch] L004B3E34: inc edx inc ebp cmp ebp,esi mov [esp+1Ch],ebp jl L004B3DE8 L004B3E3E: add ecx,esi jmp L004B3DA2 L004B3E45: mov eax,[ecx+00024010h] test eax,eax jz L004B3F1E mov ecx,[esp+24h] L004B3E57: mov eax,[ecx] cmp eax,7FFF7FFFh jz L004B3FCE mov esi,eax mov edi,eax shl eax,0Ah sar edi,16h mov edx,00000020h and esi,00000FFFh sar eax,16h sub edx,edi add eax,00000050h sub edx,esi add ecx,00000004h cmp eax,00000080h mov [esp+24h],ecx jge L004B3FCE test eax,eax jl L004B3F17 test esi,esi mov dword ptr [esp+1Ch],00000000h jle L004B3F17 lea edi,[esi+ecx-01h] L004B3EA9: cmp edx,00000040h jge L004B3F17 test edx,edx jl L004B3F08 mov ebp,[esp+20h] xor ecx,ecx mov cl,[edi] mov ebx,ecx xor ecx,ecx mov cx,[ebp+ebx*2+00h] mov ebx,ecx mov ebp,ecx and ebx,000003FFh sar ebp,05h xor ebx,ebp jnz L004B3EF4 mov ebx,ecx mov ecx,[esp+14h] sar ebx,0Ah lea ebp,[ecx+ecx*4-05h] lea ecx,[ecx+ebp*2-01h] lea ecx,[ebx+ecx*4] xor ebx,ebx mov bx,[L00C42CE8+ecx*2] mov ecx,ebx L004B3EF4: mov ebp,[esp+10h] mov ebx,eax shl ebx,06h add ebx,edx mov [ebp+ebx*2+08h],cx mov ecx,[esp+24h] L004B3F08: mov ebx,[esp+1Ch] inc edx inc ebx dec edi cmp ebx,esi mov [esp+1Ch],ebx jl L004B3EA9 L004B3F17: add ecx,esi jmp L004B3E57 L004B3F1E: mov ebp,[esp+24h] L004B3F22: mov eax,[ebp+00h] cmp eax,7FFF7FFFh jz L004B3FCE 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 ebp,00000004h cmp eax,00000080h mov [esp+24h],ebp jge L004B3FCE test eax,eax jl L004B3FC7 xor edi,edi test esi,esi jle L004B3FC7 L004B3F61: cmp edx,00000040h jge L004B3FC7 test edx,edx jl L004B3FC1 xor ecx,ecx mov cl,[edi+ebp] mov ebp,[esp+20h] mov ebx,ecx xor ecx,ecx mov cx,[ebp+ebx*2+00h] mov ebx,ecx mov ebp,ecx and ebx,000003FFh sar ebp,05h xor ebx,ebp jnz L004B3FAD mov ebx,ecx mov ecx,[esp+14h] sar ebx,0Ah lea ebp,[ecx+ecx*4-05h] lea ecx,[ecx+ebp*2-01h] lea ecx,[ebx+ecx*4] xor ebx,ebx mov bx,[L00C42CE8+ecx*2] mov ecx,ebx L004B3FAD: mov ebp,[esp+10h] mov ebx,eax shl ebx,06h add ebx,edx mov [ebp+ebx*2+08h],cx mov ebp,[esp+24h] L004B3FC1: inc edx inc edi cmp edi,esi jl L004B3F61 L004B3FC7: add ebp,esi jmp L004B3F22 L004B3FCE: pop edi pop esi pop ebp pop ebx add esp,00000008h retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004B3FE0: mov eax,[esp+04h] push esi mov edx,[eax] and edx,00000007h mov [eax],edx mov ecx,[ecx] mov esi,[L0050F750+edx*4] lea ecx,[ecx+ecx*4] mov ecx,[L0050F774+ecx*4] test ecx,esi jnz L004B406D inc edx and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D add edx,FFFFFFFEh and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D add edx,00000003h and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D add edx,FFFFFFFCh and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D add edx,FFFFFFFDh and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D add edx,00000002h and edx,00000007h mov [eax],edx test [L0050F750+edx*4],ecx jnz L004B406D dec edx and edx,00000007h mov [eax],edx L004B406D: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B4080: push ebp mov ebp,ecx push esi push edi mov eax,[ebp+20h] test eax,eax jz L004B41A8 mov ax,[ebp+3Ch] cmp ax,0190h jc L004B41A8 cmp ax,03E8h jnc L004B41A8 mov eax,[ebp+00h] call [eax+00000098h] test eax,eax jnz L004B41A8 mov eax,[ebp+00000140h] test eax,eax jnz L004B41A8 cmp ebp,[L00C884DC] jnz L004B40DC mov eax,[L00C85360] test eax,eax jnz L004B41A8 L004B40DC: mov eax,[ebp+0000012Ch] test eax,eax jnz L004B41A8 mov cl,[ebp+26h] mov dl,[ebp+24h] and ecx,0000003Fh and edx,0000003Fh shl ecx,06h add ecx,edx mov esi,[L00516754+ecx*4] test esi,esi jz L004B41A8 L004B410A: movsx eax,[esi+28h] movsx ecx,[ebp+28h] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000001h jg L004B419D mov dx,[esi+24h] cmp dx,[ebp+24h] jnz L004B419D mov ax,[esi+26h] cmp ax,[ebp+26h] jnz L004B419D mov edx,[esi] mov ecx,esi call [edx+18h] test eax,eax jz L004B419D mov eax,[esi] mov ecx,esi call [eax+24h] test eax,eax jnz L004B419D mov eax,[L0050F770] xor edi,edi mov di,[esi+3Ch] xor edx,edx test eax,eax jz L004B419D mov ecx,L0050F770 L004B415E: cmp eax,edi jnz L004B4169 mov eax,[ecx+04h] test eax,eax jnz L004B4176 L004B4169: mov eax,[ecx+14h] add ecx,00000014h inc edx test eax,eax jnz L004B415E jmp L004B419D L004B4176: lea eax,[edx+01h] test eax,eax jz L004B419D lea edx,[eax+eax*4] lea ecx,[eax-01h] mov [L00C9DA10],ecx test byte ptr [L0050F760+edx*4],10h jz L004B41AE mov eax,[ebp+0000014Ch] test eax,eax jnz L004B41AE L004B419D: mov esi,[esi+18h] test esi,esi jnz L004B410A L004B41A8: pop edi pop esi xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ L004B41AE: pop edi pop esi mov eax,00000001h pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B41C0: sub esp,0000001Ch push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+0Ch] mov al,[esi+72h] push edi push ecx mov ecx,L00C9DA10 mov [esp+14h],eax call SUB_L004B3FE0 movsx edx,[esi+24h] movsx ecx,[esi+26h] mov edi,[L00C83A54] mov eax,edx sub eax,ecx mov ebx,[esi+0000018Ch] add eax,edi mov ebp,[esi+00000194h] lea edi,[eax+eax*4] lea edi,[eax+edi*2] lea eax,[edx+ecx] shl edi,1 lea edx,[eax+eax*4] mov ecx,[esi+00000190h] sub edi,ebx mov ebx,00000005h lea eax,[eax+edx*2] sub ebx,ebp shl eax,1 inc edi lea eax,[eax+ebx*4] mov [esp+20h],edi mov [esi+000000B8h],eax sub eax,ecx mov ebx,eax mov al,[esi+0000009Ch] test al,80h mov [esp+1Ch],ebx jz L004B4260 call SUB_L004BCED0 test eax,eax jnz L004B4260 mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B4260: mov edx,[esi] mov ecx,esi call [edx+00000090h] mov edx,[esp+10h] mov ax,[esi+3Ch] test edx,edx jz L004B42A4 cmp edx,00000006h jz L004B42A4 and eax,0000FFFFh mov ebp,edx and ebp,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+ebp*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B42CB L004B42A4: and eax,0000FFFFh mov ebp,edx and ebp,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+ebp*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L004B42CB: mov edx,[L004FBB60+edx*4] lea ecx,[esp+24h] mov [esp+18h],edx lea edx,[esp+28h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jnz L004B4305 mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B4305: mov cx,[eax+00000200h] add eax,00000200h test cx,cx mov [esi+000001AEh],cx jbe L004B4596 mov ecx,[eax+04h] test ecx,ecx jnz L004B433C mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B433C: mov dx,[ecx+eax] mov bx,[ecx+eax+02h] mov di,[ecx+eax+04h] mov bp,[ecx+eax+06h] mov eax,[esp+18h] test eax,eax jz L004B435D mov eax,edi sub eax,edx mov edx,eax L004B435D: mov eax,[esp+1Ch] mov dword ptr [esi+000000BCh],00000000h movsx ecx,bx movsx edx,dx sub eax,ecx mov ecx,[esp+20h] sub ecx,edx mov [esi+14h],eax movsx edx,bp sub eax,edx mov [esi+08h],ecx mov [esi+0Ch],eax mov ebp,00000001h movsx eax,di add eax,ecx lea ecx,[esi+000000CCh] mov [esi+10h],eax mov [esp+14h],ecx L004B439E: cmp ebp,00000015h jz L004B44C5 mov edx,[esp+14h] mov ecx,[edx] test ecx,ecx jz L004B44C5 mov edx,[L00C88540] xor eax,eax mov ax,[ecx+3Ch] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L004B44C5 cmp eax,000003E8h jge L004B44C5 mov ecx,[esp+10h] test ecx,ecx jz L004B4415 cmp ecx,00000006h jz L004B4415 and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] mov ecx,[L004FBB40+ecx*4] sub edx,eax lea eax,[edx+edx*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B443A L004B4415: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004FBB40+ecx*4] lea eax,[eax+edx-0000883Bh] L004B443A: lea ecx,[esp+24h] lea edx,[esp+28h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B44C5 mov ecx,[eax+00000204h] add eax,00000200h test ecx,ecx jz L004B44C5 mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+18h] test ecx,ecx jz L004B4485 mov ecx,ebx sub ecx,edi mov edi,ecx L004B4485: movsx ecx,dx mov edx,[esp+1Ch] movsx edi,di sub edx,ecx mov ecx,[esp+20h] movsx eax,ax sub ecx,edi mov edi,edx sub edi,eax movsx eax,bx mov ebx,[esi+10h] add eax,ecx cmp eax,ebx jle L004B44AD mov [esi+10h],eax L004B44AD: cmp ecx,[esi+08h] jge L004B44B5 mov [esi+08h],ecx L004B44B5: cmp edx,[esi+14h] jle L004B44BD mov [esi+14h],edx L004B44BD: cmp edi,[esi+0Ch] jge L004B44C5 mov [esi+0Ch],edi L004B44C5: mov ecx,[esp+14h] inc ebp add ecx,00000004h cmp ebp,0000001Ah mov [esp+14h],ecx jl L004B439E mov ebx,[esi+0Ch] mov ebp,[esi+08h] mov edi,[esi+14h] mov edx,[esi+10h] mov eax,FFFFFFF0h add edi,00000020h add ebx,eax add ebp,eax mov [esi+0Ch],ebx mov ebx,[esi+000001C4h] xor eax,eax add edx,00000010h cmp ebx,eax mov [esi+08h],ebp mov [esi+14h],edi mov [esi+10h],edx mov [esi+000001D0h],eax mov [esi+000001CCh],eax jz L004B4596 L004B4519: xor ecx,ecx mov cx,[ebx+000000E2h] add ecx,00004000h push ecx call SUB_L004B9530 mov di,[eax+06h] mov edx,[esi+10h] movsx eax,[eax+04h] mov ecx,[esi+08h] sub eax,edx add eax,ecx add esp,00000004h test eax,eax jle L004B4561 mov ebp,[esi+000001CCh] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001CCh],ebp mov [esi+08h],ecx mov [esi+10h],edx L004B4561: mov edx,[esi+14h] mov ecx,[esi+0Ch] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L004B458C mov ebp,[esi+000001D0h] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001D0h],ebp mov [esi+0Ch],ecx mov [esi+14h],edx L004B458C: mov ebx,[ebx+00000108h] test ebx,ebx jnz L004B4519 L004B4596: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B45A0: sub esp,00000044h push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+14h] mov al,[esi+72h] push edi push ecx mov ecx,L00C9DA10 mov dword ptr [esp+18h],00000000h mov byte ptr [esp+17h],00h mov [esp+1Ch],eax call SUB_L004B3FE0 test byte ptr [esi+0000009Ch],80h jz L004B45F1 call SUB_L004BCED0 test eax,eax jz L004B4B20 mov dword ptr [esp+14h],000003E3h mov byte ptr [esp+13h],01h L004B45F1: mov edx,[L00B189F8] cmp esi,[edx+000000DCh] jnz L004B4611 push esi call SUB_L00406470 add esp,00000004h mov [esp+14h],eax mov byte ptr [esp+13h],01h L004B4611: mov eax,[esp+58h] mov ebx,[esi+0000018Ch] mov ecx,[eax] mov [esp+34h],ecx mov edx,[eax+04h] mov [esp+38h],edx mov ecx,[eax+08h] mov [esp+3Ch],ecx mov edx,[eax+0Ch] movsx ecx,[esi+26h] movsx eax,[esi+24h] sub eax,ecx mov ecx,[L00C83A54] add eax,ecx mov [esp+40h],edx mov ecx,esi lea edx,[eax+eax*4] lea ebp,[eax+edx*2] mov edx,[esi+00000190h] mov eax,[esi] shl ebp,1 sub ebp,ebx mov ebx,[esi+000000B8h] inc ebp sub ebx,edx call [eax+00000090h] mov edx,[esp+18h] mov ax,[esi+3Ch] test edx,edx jz L004B46A5 cmp edx,00000006h jz L004B46A5 and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] lea ecx,[eax+eax*4] mov eax,[L004FBB40+edi*4] lea eax,[eax+ecx-000088A4h] jmp L004B46CC L004B46A5: and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] lea ecx,[eax+eax*4] mov eax,[L004FBB40+edi*4] lea eax,[eax+ecx-0000883Bh] L004B46CC: mov ecx,[L004FBB60+edx*4] lea edx,[esp+2Ch] mov [esp+58h],ecx lea ecx,[esp+30h] push edx push ecx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B4B20 mov cx,[eax+00000200h] mov [esp+20h],eax add eax,00000200h mov [esi+000001AEh],cx test cx,cx jbe L004B4B20 mov ecx,[eax+04h] test ecx,ecx jnz L004B4733 mov [esi+0Ch],ebx mov [esi+14h],ebx mov [esi+10h],ebp mov [esi+08h],ebp pop edi pop esi pop ebp pop ebx add esp,00000044h retn 0004h ;------------------------------------------------------------------------------ L004B4733: lea edx,[ecx+eax+08h] mov al,[esp+13h] test al,al mov [esp+1Ch],edx jnz L004B474D xor eax,eax mov ax,[esi+42h] mov [esp+14h],eax L004B474D: mov ecx,[L00C884DC] mov eax,[ecx] call [eax+00000098h] mov edx,[esi] mov ecx,esi mov edi,eax call [edx+00000098h] cmp edi,eax jz L004B4773 mov dword ptr [esp+14h],000003E3h L004B4773: mov ecx,[esp+58h] mov edx,[esp+18h] lea eax,[esp+34h] mov [L00CC1A20],ecx mov [L00C9DA14],eax mov ecx,00001000h xor eax,eax mov edi,L00C9DA18 mov [L00CC1A24],edx mov edx,[esp+14h] rep stosd mov ecx,[L0051A75C] mov edi,[L0051A760] mov eax,[esp+1Ch] sub ebx,ecx mov ecx,[esp+20h] sub ebp,edi push eax sub ebp,00000020h sub ebx,00000050h push ecx push edx mov ecx,L00C9DA10 mov [L00CC1A18],ebp mov [L00CC1A1C],ebx call SUB_L004B3B80 mov eax,[esi+00000120h] xor edi,edi cmp eax,edi mov [esp+24h],edi jz L004B47F9 cmp word ptr [eax+3Ch],204Eh jnz L004B47F9 mov dword ptr [esp+24h],00000001h L004B47F9: mov ecx,[esi+000000FCh] mov edx,[L00C88540] cmp ecx,edi mov dword ptr [esp+58h],00000001h jz L004B4833 xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C56Ah jnz L004B4833 mov [esp+58h],edi L004B4833: mov ecx,[esi+00000114h] cmp ecx,edi jz L004B485F xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C560h jnz L004B485F mov [esp+58h],edi L004B485F: cmp word ptr [esi+3Ch],0190h jc L004B4A74 mov edi,00000001h mov [esp+28h],edi L004B4874: mov eax,[esp+58h] test eax,eax mov al,[esi+72h] jz L004B4893 and eax,00000007h lea eax,[eax+eax*4] lea edx,[edi+eax*4] add eax,edx mov ebp,[L004FB4B0+eax*4] jmp L004B48A5 L004B4893: and eax,00000007h lea eax,[eax+eax*4] lea ecx,[edi+eax*4] add eax,ecx mov ebp,[L004FB7D0+eax*4] L004B48A5: cmp ebp,00000015h jz L004B4A66 mov eax,[esi+ebp*4+000000C8h] test eax,eax jz L004B4A66 lea edx,[esi+000000C8h] push edx push ebp call SUB_L004A2510 add esp,00000008h test eax,eax jnz L004B4A66 cmp dword ptr [esp+24h],00000001h jnz L004B48F4 mov eax,[esi+ebp*4+000000C8h] push eax call SUB_L00406440 add esp,00000004h test eax,eax jnz L004B4A66 L004B48F4: mov ecx,[esi+ebp*4+000000C8h] xor eax,eax mov ax,[ecx+3Ch] mov ecx,[L00C88540] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L004B4A66 cmp eax,000003E8h jge L004B4A66 cmp eax,0000021Ah jnz L004B493B cmp word ptr [esi+3Ch],0191h jnz L004B493B mov eax,000003DAh L004B493B: mov ecx,[esp+18h] test ecx,ecx jz L004B496F cmp ecx,00000006h jz L004B496F and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax mov eax,[L004FBB40+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-000088A4h] jmp L004B4994 L004B496F: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax mov eax,[L004FBB40+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L004B4994: lea ecx,[esp+2Ch] lea edx,[esp+30h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B4A66 mov ecx,[eax+00000204h] mov [esp+20h],eax add eax,00000200h test ecx,ecx jz L004B4A66 lea eax,[ecx+eax+08h] mov [esp+1Ch],eax mov al,[esp+13h] test al,al jnz L004B49ED mov ecx,[esi+ebp*4+000000C8h] xor edi,edi mov di,[ecx+42h] mov [esp+14h],edi jmp L004B49F1 L004B49ED: mov edi,[esp+14h] L004B49F1: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] mov ebx,eax mov eax,[esi] mov ecx,esi call [eax+00000098h] cmp ebx,eax jz L004B4A1D mov dword ptr [esp+14h],000003E3h mov edi,[esp+14h] jmp L004B4A4D L004B4A1D: mov al,[esp+13h] test al,al jnz L004B4A4D mov ecx,[esi+ebp*4+000000C8h] xor eax,eax mov ax,[ecx+3Ch] lea edx,[eax+eax*4] mov eax,[L00C88540] test dword ptr [eax+edx*8],00040000h jz L004B4A4D or edi,00008000h mov [esp+14h],edi L004B4A4D: mov ecx,[esp+1Ch] mov edx,[esp+20h] push ecx push edx push edi mov ecx,L00C9DA10 call SUB_L004B3B80 mov edi,[esp+28h] L004B4A66: inc edi cmp edi,00000019h mov [esp+28h],edi jl L004B4874 L004B4A74: push esi mov ecx,L00C9DA10 call SUB_L004B3890 mov edi,[esi+000001C4h] test edi,edi jz L004B4B20 L004B4A8D: xor eax,eax mov ax,[edi+000000E2h] add eax,00004000h push eax call SUB_L004B9530 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+10h] mov ebp,[esi+08h] movsx edx,cx add eax,ebp mov ebp,[esi+14h] mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+0Ch] movsx ebx,bx add ecx,ebp mov ebp,ebx sar ecx,1 sar ebp,1 sub ecx,ebp add edx,eax add ebx,ecx mov [esp+48h],eax mov [esp+4Ch],ecx mov [esp+50h],edx mov [esp+54h],ebx mov edx,[edi+00000114h] mov eax,[edi+00000110h] push edx lea ecx,[esp+3Ch] push eax mov al,[edi+000000D8h] lea edx,[esp+50h] push ecx mov cx,[edi+000000E2h] push edx push eax push ecx call SUB_L00453900 mov edi,[edi+00000108h] add esp,0000001Ch test edi,edi jnz L004B4A8D L004B4B20: pop edi pop esi pop ebp pop ebx add esp,00000044h retn 0004h ;------------------------------------------------------------------------------ Align 8 L004B4B30: sub esp,00000034h push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+10h] mov al,[esi+72h] push edi xor edi,edi push ecx mov ecx,L00C9DA10 mov [esp+1Ch],edi mov byte ptr [esp+17h],00h mov [esp+18h],eax call SUB_L004B3FE0 mov [esp+38h],edi mov [esp+34h],edi call SUB_L00447080 mov [esp+3Ch],eax call SUB_L00447090 mov [esp+40h],eax mov al,[esi+0000009Ch] test al,80h jz L004B4B9A call SUB_L004BCED0 test eax,eax jz L004B4CA1 mov dword ptr [esp+18h],000003E3h mov byte ptr [esp+13h],01h L004B4B9A: movsx edx,[esi+26h] movsx eax,[esi+24h] sub eax,edx mov edx,[L00C83A54] mov ebx,[esi+000000B8h] add eax,edx mov edx,[esi+00000190h] lea ecx,[eax+eax*4] sub ebx,edx mov edx,[esi] lea ebp,[eax+ecx*2] mov eax,[esi+0000018Ch] shl ebp,1 sub ebp,eax mov ecx,esi inc ebp call [edx+00000090h] mov edx,[esp+14h] mov ax,[esi+3Ch] cmp edx,edi jz L004B4C0F cmp edx,00000006h jz L004B4C0F and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B4C36 L004B4C0F: and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L004B4C36: mov edx,[L004FBB60+edx*4] lea ecx,[esp+2Ch] mov [esp+28h],edx lea edx,[esp+30h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jnz L004B4C66 pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0008h ;------------------------------------------------------------------------------ L004B4C66: mov cx,[eax+00000200h] mov [esp+20h],eax add eax,00000200h mov [esi+000001AEh],cx test cx,cx ja L004B4C8E pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000034h retn 0008h ;------------------------------------------------------------------------------ L004B4C8E: mov ecx,[eax+04h] test ecx,ecx jnz L004B4CAD mov [esi+0Ch],ebx mov [esi+14h],ebx mov [esi+10h],ebp mov [esi+08h],ebp L004B4CA1: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000034h retn 0008h ;------------------------------------------------------------------------------ L004B4CAD: lea eax,[ecx+eax+08h] mov [esp+1Ch],eax mov al,[esp+13h] test al,al jnz L004B4CC7 xor eax,eax mov ax,[esi+42h] mov [esp+18h],eax L004B4CC7: mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] mov edi,eax mov eax,[esi] mov ecx,esi call [eax+00000098h] cmp edi,eax mov edx,000003E3h jnz L004B4CEE mov edx,[esp+18h] L004B4CEE: mov eax,[esp+28h] lea ecx,[esp+34h] mov [L00C9DA14],ecx mov ecx,[esp+14h] mov [L00CC1A20],eax mov [L00CC1A24],ecx mov ecx,00001000h xor eax,eax mov edi,L00C9DA18 rep stosd mov eax,[L0051A760] mov ecx,[L0051A75C] sub ebp,eax mov eax,[esp+1Ch] sub ebx,ecx mov ecx,[esp+20h] push eax sub ebp,00000020h sub ebx,00000050h push ecx push edx mov ecx,L00C9DA10 mov [L00CC1A18],ebp mov [L00CC1A1C],ebx call SUB_L004B3B80 mov eax,[esi+00000120h] xor edi,edi cmp eax,edi mov [esp+24h],edi jz L004B4D6F cmp word ptr [eax+3Ch],204Eh jnz L004B4D6F mov dword ptr [esp+24h],00000001h L004B4D6F: mov ecx,[esi+000000FCh] mov edx,[L00C88540] cmp ecx,edi mov dword ptr [esp+18h],00000001h jz L004B4DA9 xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C56Ah jnz L004B4DA9 mov [esp+18h],edi L004B4DA9: mov ecx,[esi+00000114h] cmp ecx,edi jz L004B4DD5 xor eax,eax mov ax,[ecx+3Ch] xor ecx,ecx lea eax,[eax+eax*4] mov cx,[edx+eax*8+0Ch] add ecx,0000C350h cmp ecx,0000C560h jnz L004B4DD5 mov [esp+18h],edi L004B4DD5: cmp word ptr [esi+3Ch],0190h jc L004B4FAD mov edi,00000001h mov [esp+28h],edi L004B4DEA: mov eax,[esp+18h] test eax,eax mov al,[esi+72h] jz L004B4E09 and eax,00000007h lea eax,[eax+eax*4] lea edx,[edi+eax*4] add eax,edx mov ebx,[L004FB4B0+eax*4] jmp L004B4E1B L004B4E09: and eax,00000007h lea eax,[eax+eax*4] lea ecx,[edi+eax*4] add eax,ecx mov ebx,[L004FB7D0+eax*4] L004B4E1B: cmp ebx,00000015h jz L004B4F9F mov eax,[esi+ebx*4+000000C8h] test eax,eax jz L004B4F9F lea edx,[esi+000000C8h] push edx push ebx call SUB_L004A2510 add esp,00000008h test eax,eax jnz L004B4F9F cmp dword ptr [esp+24h],00000001h jnz L004B4E6A mov eax,[esi+ebx*4+000000C8h] push eax call SUB_L00406440 add esp,00000004h test eax,eax jnz L004B4F9F L004B4E6A: mov ecx,[esi+ebx*4+000000C8h] xor eax,eax mov ax,[ecx+3Ch] mov ecx,[L00C88540] lea edx,[eax+eax*4] xor eax,eax mov ax,[ecx+edx*8+0Ch] cmp eax,00000190h jl L004B4F9F cmp eax,000003E8h jge L004B4F9F mov ecx,[esp+14h] test ecx,ecx jz L004B4ED1 cmp ecx,00000006h jz L004B4ED1 and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax mov eax,[L004FBB40+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-000088A4h] jmp L004B4EF6 L004B4ED1: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax mov eax,[L004FBB40+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L004B4EF6: lea ecx,[esp+2Ch] lea edx,[esp+30h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B4F9F mov ecx,[eax+00000204h] mov [esp+20h],eax add eax,00000200h test ecx,ecx jz L004B4F9F lea eax,[ecx+eax+08h] mov ecx,[esi+ebx*4+000000C8h] xor edi,edi mov [esp+1Ch],eax mov di,[ecx+42h] mov ecx,[L00C884DC] mov edx,[ecx] call [edx+00000098h] mov ebp,eax mov eax,[esi] mov ecx,esi call [eax+00000098h] cmp ebp,eax jz L004B4F62 mov edi,000003E3h jmp L004B4F86 L004B4F62: mov ecx,[esi+ebx*4+000000C8h] xor eax,eax mov ax,[ecx+3Ch] lea edx,[eax+eax*4] mov eax,[L00C88540] test dword ptr [eax+edx*8],00040000h jz L004B4F86 or edi,00008000h L004B4F86: mov ecx,[esp+1Ch] mov edx,[esp+20h] push ecx push edx push edi mov ecx,L00C9DA10 call SUB_L004B3B80 mov edi,[esp+28h] L004B4F9F: inc edi cmp edi,00000019h mov [esp+28h],edi jl L004B4DEA L004B4FAD: mov eax,[esp+4Ch] mov ecx,[esp+48h] push eax push ecx mov ecx,L00C9DA10 call SUB_L004B3AD0 pop edi pop esi pop ebp pop ebx add esp,00000034h retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004B4FD0: sub esp,0000001Ch push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+0Ch] mov al,[esi+72h] push edi push ecx mov ecx,L00C9DA10 mov [esp+14h],eax call SUB_L004B3FE0 movsx edx,[esi+24h] movsx ecx,[esi+26h] mov edi,[L00C83A54] mov eax,edx sub eax,ecx mov ebx,00000005h add eax,edi lea edi,[eax+eax*4] lea eax,[eax+edi*2] mov edi,[L00B189F4] lea edi,[edi+eax*2+01h] mov eax,[esi+00000194h] sub ebx,eax lea eax,[edx+ecx] mov [esp+1Ch],edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] shl edx,1 lea eax,[edx+ebx*4] mov edx,[esi] mov [esi+000000B8h],eax mov ecx,[L00B189F0] lea ebx,[eax+ecx] mov ecx,esi mov [esp+18h],ebx call [edx+00000090h] mov edx,[esp+10h] mov ax,[esi+3Ch] test edx,edx jz L004B508B cmp edx,00000006h jz L004B508B and eax,0000FFFFh mov ebp,edx and ebp,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+ebp*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B50B2 L004B508B: and eax,0000FFFFh mov ebp,edx and ebp,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+ebp*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L004B50B2: mov edx,[L004FBB60+edx*4] lea ecx,[esp+24h] mov [esp+14h],edx lea edx,[esp+28h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jnz L004B50EC mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B50EC: mov cx,[eax+00000200h] add eax,00000200h test cx,cx mov [esi+000001AEh],cx ja L004B5118 mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B5118: mov ecx,[eax+04h] test ecx,ecx jnz L004B5133 mov [esi+10h],edi mov [esi+08h],edi mov [esi+0Ch],ebx mov [esi+14h],ebx pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ L004B5133: mov dx,[ecx+eax] mov bx,[ecx+eax+02h] mov di,[ecx+eax+04h] mov bp,[ecx+eax+06h] mov eax,[esp+14h] test eax,eax jz L004B5154 mov eax,edi sub eax,edx mov edx,eax L004B5154: mov eax,[esp+18h] mov dword ptr [esi+000000BCh],00000000h movsx ecx,bx movsx edx,dx sub eax,ecx mov ecx,[esp+1Ch] sub ecx,edx mov [esi+14h],eax movsx edx,bp sub eax,edx mov [esi+08h],ecx mov [esi+0Ch],eax mov ebp,00000001h movsx eax,di add eax,ecx lea edi,[esi+000000CCh] mov [esi+10h],eax mov [esp+20h],edi L004B5195: cmp ebp,00000015h jz L004B52CF cmp dword ptr [edi],00000000h jz L004B52CF lea ecx,[esi+000000C8h] push ecx push ebp call SUB_L004A2510 add esp,00000008h test eax,eax jnz L004B52CF mov edx,[edi] mov ax,[edx+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L004B52CF cmp eax,000003E8h jge L004B52CF mov ecx,[esp+10h] test ecx,ecx jz L004B521F cmp ecx,00000006h jz L004B521F and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] mov ecx,[L004FBB40+ecx*4] sub edx,eax lea eax,[edx+edx*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B5244 L004B521F: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004FBB40+ecx*4] lea eax,[eax+edx-0000883Bh] L004B5244: lea ecx,[esp+24h] lea edx,[esp+28h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B52CF mov ecx,[eax+00000204h] add eax,00000200h test ecx,ecx jz L004B52CF mov di,[ecx+eax] mov dx,[ecx+eax+02h] mov bx,[ecx+eax+04h] mov ax,[ecx+eax+06h] mov ecx,[esp+14h] test ecx,ecx jz L004B528F mov ecx,ebx sub ecx,edi mov edi,ecx L004B528F: movsx ecx,dx mov edx,[esp+18h] movsx edi,di sub edx,ecx mov ecx,[esp+1Ch] movsx eax,ax sub ecx,edi mov edi,edx sub edi,eax movsx eax,bx mov ebx,[esi+10h] add eax,ecx cmp eax,ebx jle L004B52B7 mov [esi+10h],eax L004B52B7: cmp ecx,[esi+08h] jge L004B52BF mov [esi+08h],ecx L004B52BF: cmp edx,[esi+14h] jle L004B52C7 mov [esi+14h],edx L004B52C7: cmp edi,[esi+0Ch] jge L004B52CF mov [esi+0Ch],edi L004B52CF: mov edi,[esp+20h] inc ebp add edi,00000004h cmp ebp,0000001Ah mov [esp+20h],edi jl L004B5195 mov ebx,[esi+0Ch] mov ebp,[esi+08h] mov edi,[esi+14h] mov edx,[esi+10h] mov eax,FFFFFFF0h add edi,00000020h add ebx,eax add ebp,eax mov [esi+0Ch],ebx mov ebx,[esi+000001C4h] xor eax,eax add edx,00000010h cmp ebx,eax mov [esi+08h],ebp mov [esi+14h],edi mov [esi+10h],edx mov [esi+000001D0h],eax mov [esi+000001CCh],eax jz L004B53A0 L004B5323: xor ecx,ecx mov cx,[ebx+000000E2h] add ecx,00004000h push ecx call SUB_L004B9530 mov di,[eax+06h] mov edx,[esi+10h] movsx eax,[eax+04h] mov ecx,[esi+08h] sub eax,edx add eax,ecx add esp,00000004h test eax,eax jle L004B536B mov ebp,[esi+000001CCh] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001CCh],ebp mov [esi+08h],ecx mov [esi+10h],edx L004B536B: mov edx,[esi+14h] mov ecx,[esi+0Ch] movsx eax,di sub eax,edx add eax,ecx test eax,eax jle L004B5396 mov ebp,[esi+000001D0h] sar eax,1 add ebp,eax sub ecx,eax add edx,eax mov [esi+000001D0h],ebp mov [esi+0Ch],ecx mov [esi+14h],edx L004B5396: mov ebx,[ebx+00000108h] test ebx,ebx jnz L004B5323 L004B53A0: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B53B0: sub esp,00000030h push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+0Ch] mov al,[esi+72h] push edi push ecx mov ecx,L00C9DA10 mov [esp+14h],eax call SUB_L004B3FE0 mov edx,[esp+44h] mov edi,[L00C83A54] mov ebp,[esi+000000B8h] mov eax,[edx] mov [esp+20h],eax mov ecx,[edx+04h] mov [esp+24h],ecx mov eax,[edx+08h] mov [esp+28h],eax mov ecx,[edx+0Ch] movsx edx,[esi+26h] movsx eax,[esi+24h] sub eax,edx mov [esp+2Ch],ecx add eax,edi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[L00B189F4] mov ecx,esi lea ebx,[eax+edx*2+01h] mov edx,[L00B189F0] add ebp,edx mov edx,[esi] call [edx+00000090h] mov edx,[esp+10h] mov ax,[esi+3Ch] test edx,edx jz L004B5463 cmp edx,00000006h jz L004B5463 and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B548A L004B5463: and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L004B548A: mov edi,[L004FBB60+edx*4] lea edx,[esp+18h] lea ecx,[esp+1Ch] push edx push ecx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B57C9 mov cx,[eax+00000200h] mov [esp+14h],eax add eax,00000200h mov [esi+000001AEh],cx test cx,cx jbe L004B57C9 mov ecx,[eax+04h] test ecx,ecx jnz L004B54ED mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp pop ebx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ L004B54ED: lea edx,[ecx+eax+08h] mov al,[esi+0000009Ch] mov [esp+44h],edx xor edx,edx mov dx,[esi+42h] test al,80h jz L004B550A mov edx,000003E3h L004B550A: mov ecx,[esp+10h] lea eax,[esp+20h] mov [L00C9DA14],eax mov [L00CC1A20],edi mov [L00CC1A24],ecx mov ecx,00001000h xor eax,eax mov edi,L00C9DA18 rep stosd mov eax,[L0051A760] mov ecx,[L0051A75C] sub ebx,eax mov eax,[esp+44h] sub ebp,ecx mov ecx,[esp+14h] push eax sub ebx,00000020h sub ebp,00000050h push ecx push edx mov ecx,L00C9DA10 mov [L00CC1A18],ebx mov [L00CC1A1C],ebp call SUB_L004B3B80 mov eax,[esi+00000120h] mov dword ptr [esp+44h],00000000h test eax,eax jz L004B5589 cmp word ptr [eax+3Ch],204Eh jnz L004B5589 mov dword ptr [esp+44h],00000001h L004B5589: mov ebx,00000001h mov [esp+14h],ebx L004B5592: mov eax,[esp+10h] lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov edi,[L004FB7D0+eax*4] cmp edi,00000015h jz L004B570F mov eax,[esi+edi*4+000000C8h] test eax,eax jz L004B570F lea eax,[esi+000000C8h] push eax push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L004B570F cmp dword ptr [esp+44h],00000001h jnz L004B55F4 mov ecx,[esi+edi*4+000000C8h] push ecx call SUB_L00406440 add esp,00000004h test eax,eax jnz L004B570F L004B55F4: mov edx,[esi+edi*4+000000C8h] xor eax,eax mov ax,[edx+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L004B570F cmp eax,000003E8h jge L004B570F cmp eax,0000021Ah jnz L004B563B cmp word ptr [esi+3Ch],0191h jnz L004B563B mov eax,000003DAh L004B563B: mov ecx,[esp+10h] test ecx,ecx jz L004B566F cmp ecx,00000006h jz L004B566F and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] mov ecx,[L004FBB40+ecx*4] sub edx,eax lea edx,[edx+edx*4] lea eax,[edx+edx*4] lea eax,[ecx+eax-000088A4h] jmp L004B5694 L004B566F: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax mov eax,[L004FBB40+ecx*4] lea edx,[edx+edx*4] lea edx,[edx+edx*4] lea eax,[eax+edx-0000883Bh] L004B5694: lea ecx,[esp+18h] lea edx,[esp+1Ch] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B570F mov ecx,[eax+00000204h] mov ebp,eax add eax,00000200h test ecx,ecx jz L004B570F mov dl,[esi+0000009Ch] lea ebx,[ecx+eax+08h] mov ecx,[esi+edi*4+000000C8h] xor eax,eax test dl,80h mov ax,[ecx+42h] jz L004B56E3 mov eax,000003E3h jmp L004B56FE L004B56E3: xor edx,edx mov dx,[ecx+3Ch] lea ecx,[edx+edx*4] mov edx,[L00C88540] test dword ptr [edx+ecx*8],00040000h jz L004B56FE or ah,80h L004B56FE: push ebx push ebp push eax mov ecx,L00C9DA10 call SUB_L004B3B80 mov ebx,[esp+14h] L004B570F: inc ebx cmp ebx,00000019h mov [esp+14h],ebx jl L004B5592 push esi mov ecx,L00C9DA10 call SUB_L004B3890 mov edi,[esi+000001C4h] test edi,edi jz L004B57C9 L004B5736: xor eax,eax mov ax,[edi+000000E2h] add eax,00004000h push eax call SUB_L004B9530 mov cx,[eax+04h] mov bx,[eax+06h] mov eax,[esi+10h] mov ebp,[esi+08h] movsx edx,cx add eax,ebp mov ebp,[esi+14h] mov ecx,edx sar eax,1 sar ecx,1 sub eax,ecx mov ecx,[esi+0Ch] movsx ebx,bx add ecx,ebp mov ebp,ebx sar ecx,1 sar ebp,1 sub ecx,ebp add edx,eax add ebx,ecx mov [esp+34h],eax mov [esp+38h],ecx mov [esp+3Ch],edx mov [esp+40h],ebx mov edx,[edi+00000114h] mov eax,[edi+00000110h] push edx lea ecx,[esp+28h] push eax mov al,[edi+000000D8h] lea edx,[esp+3Ch] push ecx mov cx,[edi+000000E2h] push edx push eax push ecx call SUB_L00453900 mov edi,[edi+00000108h] add esp,0000001Ch test edi,edi jnz L004B5736 L004B57C9: pop edi pop esi pop ebp pop ebx add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B57E0: sub esp,00000024h push ebx push ebp push esi mov esi,ecx xor eax,eax lea ecx,[esp+0Ch] mov al,[esi+72h] push edi push ecx mov ecx,L00C9DA10 mov [esp+14h],eax call SUB_L004B3FE0 xor edi,edi mov [esp+28h],edi mov [esp+24h],edi call SUB_L00447080 mov [esp+2Ch],eax call SUB_L00447090 movsx edx,[esi+26h] mov ebx,[L00C83A54] mov [esp+30h],eax movsx eax,[esi+24h] sub eax,edx mov ebp,[esi+000000B8h] add eax,ebx lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[L00B189F4] mov ecx,esi lea ebx,[eax+edx*2+01h] mov edx,[L00B189F0] add ebp,edx mov edx,[esi] call [edx+00000090h] mov edx,[esp+10h] mov ax,[esi+3Ch] cmp edx,edi jz L004B5890 cmp edx,00000006h jz L004B5890 and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B58B7 L004B5890: and eax,0000FFFFh mov edi,edx and edi,00000007h lea ecx,[00000000h+eax*8] sub ecx,eax lea eax,[ecx+ecx*4] mov ecx,[L004FBB40+edi*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-0000883Bh] L004B58B7: mov edi,[L004FBB60+edx*4] lea edx,[esp+1Ch] lea ecx,[esp+20h] push edx push ecx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jnz L004B58E3 pop edi pop esi pop ebp pop ebx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ L004B58E3: mov cx,[eax+00000200h] mov [esp+14h],eax add eax,00000200h mov [esi+000001AEh],cx test cx,cx ja L004B590B pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ L004B590B: mov ecx,[eax+04h] test ecx,ecx jnz L004B592A mov [esi+0Ch],ebp mov [esi+14h],ebp mov [esi+10h],ebx mov [esi+08h],ebx pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ L004B592A: lea edx,[ecx+eax+08h] mov al,[esi+0000009Ch] mov [esp+18h],edx xor edx,edx mov dx,[esi+42h] test al,80h jz L004B5947 mov edx,000003E3h L004B5947: mov ecx,[esp+10h] lea eax,[esp+24h] mov [L00C9DA14],eax mov [L00CC1A20],edi mov [L00CC1A24],ecx mov ecx,00001000h xor eax,eax mov edi,L00C9DA18 rep stosd mov eax,[L0051A760] mov ecx,[L0051A75C] sub ebx,eax mov eax,[esp+18h] sub ebp,ecx mov ecx,[esp+14h] push eax sub ebx,00000020h sub ebp,00000050h push ecx push edx mov ecx,L00C9DA10 mov [L00CC1A18],ebx mov [L00CC1A1C],ebp call SUB_L004B3B80 mov eax,[esi+00000120h] mov dword ptr [esp+14h],00000000h test eax,eax jz L004B59C6 cmp word ptr [eax+3Ch],204Eh jnz L004B59C6 mov dword ptr [esp+14h],00000001h L004B59C6: mov ebx,00000001h mov [esp+18h],ebx L004B59CF: mov eax,[esp+10h] lea eax,[eax+eax*4] lea edx,[ebx+eax*4] add eax,edx mov edi,[L004FB7D0+eax*4] cmp edi,00000015h jz L004B5B38 mov eax,[esi+edi*4+000000C8h] test eax,eax jz L004B5B38 lea eax,[esi+000000C8h] push eax push edi call SUB_L004A2510 add esp,00000008h test eax,eax jnz L004B5B38 cmp dword ptr [esp+14h],00000001h jnz L004B5A31 mov ecx,[esi+edi*4+000000C8h] push ecx call SUB_L00406440 add esp,00000004h test eax,eax jnz L004B5B38 L004B5A31: mov edx,[esi+edi*4+000000C8h] xor eax,eax mov ax,[edx+3Ch] mov edx,[L00C88540] lea ecx,[eax+eax*4] xor eax,eax mov ax,[edx+ecx*8+0Ch] cmp eax,00000190h jl L004B5B38 cmp eax,000003E8h jge L004B5B38 mov ecx,[esp+10h] test ecx,ecx jz L004B5A98 cmp ecx,00000006h jz L004B5A98 and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] mov ecx,[L004FBB40+ecx*4] sub edx,eax lea eax,[edx+edx*4] lea eax,[eax+eax*4] lea eax,[ecx+eax-000088A4h] jmp L004B5ABD L004B5A98: and eax,0000FFFFh and ecx,00000007h lea edx,[00000000h+eax*8] sub edx,eax lea eax,[edx+edx*4] lea edx,[eax+eax*4] mov eax,[L004FBB40+ecx*4] lea eax,[eax+edx-0000883Bh] L004B5ABD: lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx push edx push eax push 00000006h push 00000005h call SUB_L0045EF20 add esp,00000014h test eax,eax jz L004B5B38 mov ecx,[eax+00000204h] mov ebp,eax add eax,00000200h test ecx,ecx jz L004B5B38 mov dl,[esi+0000009Ch] lea ebx,[ecx+eax+08h] mov ecx,[esi+edi*4+000000C8h] xor eax,eax test dl,80h mov ax,[ecx+42h] jz L004B5B0C mov eax,000003E3h jmp L004B5B27 L004B5B0C: xor edx,edx mov dx,[ecx+3Ch] lea ecx,[edx+edx*4] mov edx,[L00C88540] test dword ptr [edx+ecx*8],00040000h jz L004B5B27 or ah,80h L004B5B27: push ebx push ebp push eax mov ecx,L00C9DA10 call SUB_L004B3B80 mov ebx,[esp+18h] L004B5B38: inc ebx cmp ebx,00000019h mov [esp+18h],ebx jl L004B59CF mov eax,[esp+3Ch] mov ecx,[esp+38h] push eax push ecx mov ecx,L00C9DA10 call SUB_L004B3AD0 pop edi pop esi pop ebp pop ebx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004B5B70: sub esp,00000208h or ecx,FFFFFFFFh xor eax,eax mov dword ptr [L00CC1C20],00000009h push ebx push esi push edi mov edi,SSZ0050FD7C_Magic_Defense repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,L00CC3C68 rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,SSZ0050FD6C_Battle_Defense repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi shr ecx,02h mov edi,L00CC3CB8 rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,SSZ0050F16C_Stealing repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00CC3D08 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ0050F1F8_Hiding or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00CC3D58 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ0050FD60_First_Aid or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00CC3DA8 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ0050FD58_Peek or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi shr ecx,02h mov edi,L00CC3DF8 mov dword ptr [L00CC1C24],00000001h rep movsd mov ecx,edx and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,SSZ0050FD50_Melee repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,L00CC3E48 rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ0050FD40_Ranged_Weapons or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00CC3E98 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov edi,SSZ0050F2DC_Alchemy or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00CC3EE8 shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,SSZ0050FD30_Miscellaneous or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,L00705058 mov edx,ecx mov esi,edi mov edi,L00CC1C28 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov esi,L007049FC L004B5D01: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L004B5D29 test cl,cl jz L004B5D25 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L004B5D29 add eax,00000002h add esi,00000002h test cl,cl jnz L004B5D01 L004B5D25: xor eax,eax jmp L004B5D2E L004B5D29: sbb eax,eax sbb eax,FFFFFFFFh L004B5D2E: test eax,eax jz L004B5DD8 mov esi,L007049FC mov eax,L00C880F8 L004B5D40: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L004B5D68 test cl,cl jz L004B5D64 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L004B5D68 add eax,00000002h add esi,00000002h test cl,cl jnz L004B5D40 L004B5D64: xor eax,eax jmp L004B5D6D L004B5D68: sbb eax,eax sbb eax,FFFFFFFFh L004B5D6D: test eax,eax jz L004B5DD8 mov eax,[L0050FD10] lea ecx,[esp+0Ch] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000128h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+0000012Ch] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000020h test esi,esi jnz L004B5DF0 L004B5DD8: push L004FD2A8 push SSZ0050FD20_skillgrp_mul call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jz L004B5E57 L004B5DF0: push esi push 00000001h push 00000004h push L00CC1C24 call SUB_L004404F0 mov eax,[L00CC1C24] mov edi,00000001h add esp,00000010h cmp eax,edi jle L004B5E30 mov ebx,L00CC1C39 L004B5E15: push esi push 00000011h push 00000001h push ebx call SUB_L004404F0 mov eax,[L00CC1C24] add esp,00000010h inc edi add ebx,00000011h cmp edi,eax jl L004B5E15 L004B5E30: mov edi,L00CC1B58 L004B5E35: push esi push 00000001h push 00000004h push edi call SUB_L004404F0 add edi,00000004h add esp,00000010h cmp edi,L00CC1C20 jl L004B5E35 push esi call SUB_L00440570 add esp,00000004h L004B5E57: pop edi pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B5E70: sub esp,00000208h mov eax,L00705058 push ebx push esi push edi mov esi,L007049FC L004B5E83: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L004B5EAB test cl,cl jz L004B5EA7 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L004B5EAB add eax,00000002h add esi,00000002h test cl,cl jnz L004B5E83 L004B5EA7: xor eax,eax jmp L004B5EB0 L004B5EAB: sbb eax,eax sbb eax,FFFFFFFFh L004B5EB0: test eax,eax jz L004B5F5A mov esi,L007049FC mov eax,L00C880F8 L004B5EC2: mov dl,[eax] mov bl,[esi] mov cl,dl cmp dl,bl jnz L004B5EEA test cl,cl jz L004B5EE6 mov dl,[eax+01h] mov bl,[esi+01h] mov cl,dl cmp dl,bl jnz L004B5EEA add eax,00000002h add esi,00000002h test cl,cl jnz L004B5EC2 L004B5EE6: xor eax,eax jmp L004B5EEF L004B5EEA: sbb eax,eax sbb eax,FFFFFFFFh L004B5EEF: test eax,eax jz L004B5F5A mov eax,[L0050FD10] lea ecx,[esp+0Ch] push eax push L00C880F8 push L00705058 push L00C85FF0 push SSZ00500F58_Desktop__s__s__s__s push ecx call SUB_L004D512F lea edi,[esp+24h] or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00000128h] repne scasb not ecx sub edi,ecx push L00500FAC mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb lea ecx,[esp+0000012Ch] push ecx call SUB_L0043FEF0 mov esi,eax add esp,00000020h test esi,esi jnz L004B5F7F L004B5F5A: push L00500FAC push SSZ0050FD20_skillgrp_mul call SUB_L0043FEF0 mov esi,eax add esp,00000008h test esi,esi jnz L004B5F7F push SSZ0050FD8C_SaveSkillGroups__cannot_open_fil call SUB_L004C7E80 add esp,00000004h L004B5F7F: push esi push 00000001h push 00000004h push L00CC1C24 call SUB_L004D6274 mov eax,[L00CC1C24] mov edi,00000001h add esp,00000010h cmp eax,edi jle L004B5FBF mov ebx,L00CC1C39 L004B5FA4: push esi push 00000011h push 00000001h push ebx call SUB_L004D6274 mov eax,[L00CC1C24] add esp,00000010h inc edi add ebx,00000011h cmp edi,eax jl L004B5FA4 L004B5FBF: mov edi,L00CC1B58 L004B5FC4: push esi push 00000001h push 00000004h push edi call SUB_L004D6274 add edi,00000004h add esp,00000010h cmp edi,L00CC1C20 jl L004B5FC4 push esi call SUB_L00440570 add esp,00000004h pop edi pop esi pop ebx add esp,00000208h retn ;------------------------------------------------------------------------------ SUB_L004B5FF0: sub esp,00000028h push ebx mov ebx,[esp+30h] push ebp push esi lea eax,[esp+18h] push edi mov edi,[esp+44h] lea ecx,[esp+18h] push eax xor ebp,ebp mov bp,[edi] xor esi,esi mov si,[edi+02h] push ecx push ebx mov dword ptr [esp+1Ch],00000000h call SUB_L004434A0 mov edx,[esp+4Ch] lea ecx,[esp+50h] push ecx lea eax,[ebx+edx+01h] lea edx,[esp+34h] push edx push eax mov [esp+38h],eax call SUB_L004434A0 mov ecx,[esp+5Ch] mov eax,[esp+64h] sub esi,ecx xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] sub esi,eax mov [esp+5Ch],esi mov esi,[esp+60h] lea eax,[edi+04h] push ecx push edx push eax push esi push 00000000h push ebx push SUB_L004B9B80 mov [esp+00000080h],eax call SUB_L00443500 lea eax,[esp+70h] lea ecx,[esp+48h] inc ebx push eax push ecx push ebx mov [esp+00000088h],ebx call SUB_L004434A0 mov ecx,[esp+54h] mov eax,[esp+58h] add esp,00000040h cmp ecx,eax jge L004B60AA sub eax,ecx cdq sub eax,edx sar eax,1 mov [esp+10h],eax L004B60AA: test ecx,ecx jz L004B61C8 mov eax,[esp+1Ch] xor ebx,ebx mov [esp+2Ch],eax mov [esp+28h],ebx lea esi,[eax+esi-01h] mov eax,[esp+44h] cmp esi,eax mov [esp+30h],ebp lea edx,[eax+01h] mov [esp+34h],edx jge L004B6172 L004B60DB: mov eax,[esp+48h] lea ecx,[esp+3Ch] lea edx,[esp+14h] push ecx lea ebp,[eax+ebx] push edx push ebp call SUB_L004434A0 mov eax,[esp+48h] add esp,0000000Ch lea ecx,[esi+eax] mov eax,[esp+44h] cmp ecx,eax jg L004B612C mov ecx,[esp+4Ch] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] push edx mov edx,[esp+14h] push eax push ecx push esi push edx push ebp push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch jmp L004B6157 L004B612C: mov edx,[esp+4Ch] xor eax,eax mov ax,[edi+02h] xor ecx,ecx mov cx,[edi] push eax mov eax,[esp+14h] push ecx push edx push esi lea ecx,[esp+38h] push eax push ecx push ebp push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004B6157: mov edx,[esp+3Ch] mov eax,[esp+40h] add esi,edx inc ebx cmp ebx,eax jnz L004B6168 xor ebx,ebx L004B6168: cmp esi,[esp+44h] jl L004B60DB L004B6172: mov esi,[esp+20h] lea edx,[esp+3Ch] lea eax,[esp+14h] push edx push eax push esi call SUB_L004434A0 mov ecx,[esp+20h] mov eax,[esp+24h] add esp,0000000Ch cmp ecx,eax jnz L004B619D mov dword ptr [esp+10h],00000000h L004B619D: mov ecx,[esp+4Ch] xor edx,edx mov dx,[edi+02h] xor eax,eax mov ax,[edi] push edx mov edx,[esp+48h] push eax mov eax,[esp+18h] dec edx push ecx push edx push eax push esi push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L004B61C8: pop edi pop esi pop ebp pop ebx add esp,00000028h retn ;------------------------------------------------------------------------------ SUB_L004B61D0: push FFFFFFFFh push L004E5E75 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push ebp mov ebp,ecx mov [esp+18h],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004F132C mov [esp+28h],ebx call SUB_L004253C0 lea eax,[ebp+00000196h] mov ecx,00000032h L004B6212: mov [eax-64h],bx mov [eax],bx mov [eax+64h],bx add eax,00000002h dec ecx jnz L004B6212 mov [ebp+00000131h],bl mov [ebp+00000130h],bl mov dword ptr [ebp+08h],SSZ0050FDF4_skill_gump mov [ebp+60h],ebx mov [ebp+00000124h],ebx mov [ebp+00000120h],ebx mov [ebp+0000011Ch],ebx mov [ebp+00000118h],ebx mov [ebp+0000012Ch],ebx mov [ebp+00000128h],ebx mov eax,[L00B29048] push esi cmp eax,ebx push edi mov [esp+14h],ebx mov [esp+1Ch],ebx mov [esp+18h],ebx jz L004B633E mov edx,[L00B29040] xor ecx,ecx cmp edx,ebx jle L004B634C mov eax,L00B28AC8 L004B628D: cmp byte ptr [eax],04h jz L004B629F inc ecx add eax,0000001Ch cmp ecx,edx jl L004B628D jmp L004B634C L004B629F: lea eax,[00000000h+ecx*8] mov dword ptr [esp+14h],00000001h sub eax,ecx shl eax,02h mov edx,[eax+L00B28ADC] mov [ebp+30h],edx mov edx,[eax+L00B28AE0] mov [ebp+34h],edx mov edx,[eax+L00B28AD0] mov [ebp+64h],edx mov edx,[esp+38h] mov [ebp+00000080h],edx mov edx,[esp+3Ch] mov [ebp+00000084h],edx xor edx,edx mov dx,[eax+L00B28AD6] mov [esp+1Ch],edx xor edx,edx mov dx,[eax+L00B28AD8] mov [esp+18h],edx mov edx,[L00B29040] cmp ecx,edx jge L004B634C dec edx cmp ecx,edx mov [esp+38h],edx jge L004B632C lea edi,[eax+L00B28AC8] sub edx,ecx L004B6317: lea eax,[edi+1Ch] mov ecx,00000007h mov esi,eax dec edx rep movsd mov edi,eax jnz L004B6317 mov edx,[esp+38h] L004B632C: cmp edx,ebx mov [L00B29040],edx jnz L004B634C mov [L00B29048],ebx jmp L004B634C L004B633E: mov eax,[esp+38h] mov ecx,[esp+3Ch] mov [ebp+30h],eax mov [ebp+34h],ecx L004B634C: mov [ebp+38h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov ecx,[L00CC1C24] xor eax,eax cmp ecx,ebx jle L004B638D lea edx,[ebp+000000BCh] L004B6370: mov [edx],ebx mov ecx,[L00CC1C24] inc eax add edx,00000004h cmp eax,ecx jl L004B6370 cmp ecx,ebx jle L004B638D xor eax,eax mov edi,L00CC1A2C rep stosd L004B638D: mov dword ptr [ebp+000000B8h],00000001h mov [ebp+000000F4h],ebx mov [ebp+000000FCh],ebx mov edx,[L00CC1C24] mov [ebp+00000110h],edx mov [ebp+0000010Ch],ebx mov edi,[L00CC1C20] xor eax,eax cmp edi,ebx jle L004B63E1 mov esi,L00CC1A90 L004B63C6: mov cl,[eax+L00CC1A5C] and cl,02h neg cl sbb ecx,ecx add esi,00000004h neg ecx dec ecx inc eax mov [esi-04h],ecx cmp eax,edi jl L004B63C6 L004B63E1: lea esi,[ebp+24h] lea edi,[ebp+20h] push esi or eax,FFFFFFFFh push edi push 00001F40h mov [ebp+00000114h],eax mov [ebp+00000104h],eax mov dword ptr [ebp+00000108h],FFFFFFFEh mov dword ptr [ebp+54h],00001F40h call SUB_L004434A0 mov eax,[edi] add esp,0000000Ch cmp eax,ebx jnz L004B643B cmp dword ptr [ebp+54h],00001F40h jnz L004B643B mov dword ptr [ebp+54h],00000820h mov dword ptr [edi],00000159h mov dword ptr [ebp+1Ch],00000159h jmp L004B643E L004B643B: mov [ebp+1Ch],eax L004B643E: lea eax,[ebp+2Ch] lea ecx,[ebp+28h] push eax push ecx push 00000839h mov dword ptr [esi],0000012Ch call SUB_L004434A0 push SSZ0050FDD8_framedata_for_CSkillGump push 00000010h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000002h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ0050F59C_shopgump_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ004FF8D8_cfg_frame1 mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+20h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+28h] imul eax,[ebp+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+0Ch],eax mov ecx,[ebp+28h] imul ecx,[ebp+2Ch] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx push 000000ECh call SUB_L004D4FA9 add esp,00000028h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],01h jz L004B6572 push ebx push 0000082Dh push 0000082Dh push SUB_L0041E070 push ebx push ebx push ebp push ebx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004B6574 L004B6572: xor eax,eax L004B6574: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],02h jz L004B65C0 push ebx push 00000824h push 00000824h push SUB_L0041EA10 push ebx push 00000002h push ebp push 00000038h push 00000126h mov ecx,eax call SUB_L00421F40 jmp L004B65C2 L004B65C0: xor eax,eax L004B65C2: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],03h jz L004B660E mov ecx,[esi] push ebx push 0000083Ah push 0000083Ah push L0041EB70 push ebx push ebx sub ecx,00000038h push ebp push ecx push 0000003Ch mov ecx,eax call SUB_L00421F40 jmp L004B6610 L004B660E: xor eax,eax L004B6610: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl mov [eax+000000D4h],ebx call SUB_L004587A0 lea edx,[esp+10h] lea eax,[esp+24h] push edx push eax push 0000082Eh call SUB_L004434A0 mov ecx,[esi] mov edx,[esp+1Ch] sub ecx,edx push 000000ECh sub ecx,00000046h mov dword ptr [ebp+000000A8h],0000001Ch mov dword ptr [ebp+000000B0h],000000FFh mov dword ptr [ebp+000000ACh],0000004Ah mov [ebp+000000B4h],ecx call SUB_L004D4FA9 add esp,00000010h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],04h jz L004B66AF mov edx,[esi] mov edi,[esp+10h] push ebx push 00000825h push 00000825h push SUB_L0041E8B0 sub edx,edi push ebx push 00000002h sub edx,00000042h push ebp push edx push 00000126h mov ecx,eax call SUB_L00421F40 jmp L004B66B1 L004B66AF: xor eax,eax L004B66B1: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],05h jz L004B6706 mov ecx,[esi] mov edx,[esp+10h] push ebx push 0000082Eh push 0000082Eh push L00421210 sub ecx,edx push ebx push ebx sub ecx,00000003h push ebp push ecx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004B6708 L004B6706: xor eax,eax L004B6708: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl mov dword ptr [eax+000000ACh],0000082Fh call SUB_L004587A0 push 000000BCh call SUB_L004D4FA9 add esp,00000004h mov [esp+38h],eax cmp eax,ebx mov byte ptr [esp+30h],06h jz L004B6760 mov edx,[esi] mov ecx,[esp+10h] sub edx,ecx mov ecx,[ebp+20h] push 00000828h sub edx,00000046h push ebp push edx push 00000001h sub ecx,00000032h push 00000048h push ecx mov ecx,eax call SUB_L00422790 jmp L004B6762 L004B6760: xor eax,eax L004B6762: push 00000001h push ebp mov ecx,eax mov [esp+38h],bl mov [ebp+0000009Ch],eax call SUB_L004587A0 mov ecx,[ebp+0000009Ch] push 00000001h push ebx call SUB_L00422C90 mov edx,[ebp+3Ch] 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 ebx push ebx push 00000839h push SUB_L004B9B80 call SUB_L00443500 push 000000C0h call SUB_L004D4FA9 add esp,00000020h mov [esp+38h],eax pop edi cmp eax,ebx mov byte ptr [esp+2Ch],07h pop esi jz L004B67F8 mov cl,[ebp+00000130h] push ebx push ebx push ecx push SSZ0050FDCC_Show_Real push 00000386h push 00000001h push 000000D3h push 000000D2h push ebp push 00000020h push 000000C8h mov ecx,eax call SUB_L00422D00 jmp L004B67FA L004B67F8: xor eax,eax L004B67FA: push 00000001h push ebp mov ecx,eax mov [esp+30h],bl mov [ebp+000000A4h],eax call SUB_L004587A0 push FFFFFFFFh mov ecx,ebp call SUB_L004B7CB0 cmp [esp+0Ch],ebx jz L004B682F mov edx,[esp+10h] mov eax,[esp+14h] push ebx push edx push eax mov ecx,ebp call SUB_L004B7250 L004B682F: mov ecx,[esp+20h] mov eax,ebp pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B6850: push esi mov esi,ecx call SUB_L004B6870 test byte ptr [esp+08h],01h jz L004B6868 push esi call SUB_L004D4F9E add esp,00000004h L004B6868: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B6870: push FFFFFFFFh push L004E5E88 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx mov ebx,ecx push ebp push esi mov [esp+10h],ebx mov dword ptr [ebx],L004F132C mov eax,[ebx+000000F4h] xor ebp,ebp cmp eax,ebp mov [esp+1Ch],ebp jz L004B6935 mov eax,[ebx+000000A0h] or esi,FFFFFFFFh push edi mov ecx,esi lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B6903 mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea eax,[ecx+eax+L00CC1C28] mov ecx,esi mov [esp+10h],eax 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 rep movsb or esi,FFFFFFFFh L004B6903: mov ecx,[ebx+000000A0h] pop edi cmp ecx,ebp jz L004B6914 mov edx,[ecx] push 00000001h call [edx] L004B6914: push esi mov ecx,ebx mov [ebx+000000A0h],ebp mov [ebx+000000F4h],ebp mov [ebx+00000114h],esi call SUB_L004B7CB0 call SUB_L004B5E70 jmp L004B6938 L004B6935: or esi,FFFFFFFFh L004B6938: cmp [ebx+00000114h],esi jz L004B694E push esi mov ecx,ebx mov [ebx+00000114h],esi call SUB_L004B7CB0 L004B694E: cmp [L00B29494],ebx jnz L004B695C mov [L00B29494],ebp L004B695C: mov eax,[ebx+3Ch] mov eax,[eax+04h] cmp eax,ebp jz L004B697A push SSZ0050FE24_skill_frame0_pBMP push eax call SUB_L00476000 mov ecx,[ebx+3Ch] add esp,00000008h mov [ecx+04h],ebp L004B697A: mov edx,[ebx+3Ch] mov eax,[edx+0Ch] cmp eax,ebp jz L004B6998 push SSZ0050FE10_skill_frame1_pBMP push eax call SUB_L00476000 mov eax,[ebx+3Ch] add esp,00000008h mov [eax+0Ch],ebp L004B6998: mov eax,[ebx+3Ch] cmp eax,ebp jz L004B69B0 push SSZ0050FE00_skill_framedata push eax call SUB_L00476000 add esp,00000008h mov [ebx+3Ch],ebp L004B69B0: mov ecx,ebx mov [esp+1Ch],esi call SUB_L00458FF0 mov ecx,[esp+14h] pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 4 L004B69D0: mov eax,[L00B294BC] sub esp,00000008h push ebp push esi mov esi,ecx mov ebp,00000001h cmp eax,esi jnz L004B69E8 push ebp jmp L004B69EA L004B69E8: push 00000000h L004B69EA: mov ecx,esi call SUB_L004584E0 mov eax,[esi+0000012Ch] push ebx mov ebx,[esp+1Ch] push edi mov edi,[esp+1Ch] cmp eax,ebp mov [esi+00000120h],ebp mov [esi+70h],edi mov [esi+74h],ebx jnz L004B6A1D mov dword ptr [esi+0000012Ch],00000002h jmp L004B6A2F L004B6A1D: mov [esi+0000012Ch],ebp call [KERNEL32.dll!GetTickCount] mov [esi+00000128h],eax L004B6A2F: xor eax,eax lea ecx,[esp+10h] mov [esi+000000ECh],eax mov [esi+000000F0h],eax lea eax,[esp+14h] push eax push ecx push ebx push edi mov ecx,esi call SUB_L004B8680 pop edi pop ebx test eax,eax jz L004B6A76 mov eax,[esp+08h] test eax,eax jz L004B6A66 mov [esi+000000ECh],ebp jmp L004B6A6C L004B6A66: mov [esi+000000F0h],ebp L004B6A6C: mov edx,[esp+0Ch] mov [esi+00000100h],edx L004B6A76: mov eax,[esi+000000ECh] test eax,eax jz L004B6A8A mov dword ptr [esi+0000012Ch],00000000h L004B6A8A: pop esi pop ebp add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004B6AA0: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00000118h] mov [esi+00000120h],edi cmp eax,edi jz L004B6BE3 push ebx push ebp mov ebp,[esi+00000104h] mov [esi+00000118h],edi cmp ebp,edi mov [esi+0000012Ch],edi jl L004B6BAB mov ebx,[esi+00000108h] cmp ebx,FFFFFFFFh jl L004B6BAB cmp [esi+000000B8h],edi jz L004B6AF8 mov ecx,[esi+000000FCh] or eax,FFFFFFFFh jmp L004B6B0D L004B6AF8: mov eax,[esi+000000FCh] xor ecx,ecx mov cl,[eax+L00CC1CF4] mov ecx,[L00CC1B58+ecx*4] L004B6B0D: xor edx,edx mov dl,[ebp+L00CC1CF4] mov edx,[L00CC1B58+edx*4] cmp edx,ecx jg L004B6B26 jnz L004B6B36 cmp ebp,eax jle L004B6B38 L004B6B26: cmp ebx,ecx jl L004B6B30 jnz L004B6B36 cmp ebp,eax jge L004B6B38 L004B6B30: inc [esi+0000010Ch] L004B6B36: cmp ebp,eax L004B6B38: jnz L004B6B7E mov edi,[L00CC1C20] inc eax cmp eax,edi jge L004B6B61 L004B6B45: xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],ecx jz L004B6B5D inc eax cmp eax,edi jl L004B6B45 jmp L004B6B61 L004B6B5D: cmp eax,edi jl L004B6B78 L004B6B61: lea eax,[ecx+01h] mov ecx,[L00CC1C24] cmp eax,ecx jge L004B6B7E mov dword ptr [esi+000000B8h],00000001h L004B6B78: mov [esi+000000FCh],eax L004B6B7E: xor eax,eax mov al,[ebp+L00CC1CF4] mov [L00CC1B58+eax*4],ebx mov ecx,[esi+00000108h] mov eax,[esi+ecx*4+000000BCh] test eax,eax jnz L004B6BA4 dec [esi+00000110h] L004B6BA4: call SUB_L004B5E70 xor edi,edi L004B6BAB: push FFFFFFFFh mov ecx,esi call SUB_L004B7CB0 mov edx,[esi+00000110h] mov eax,[esi+0000010Ch] mov ecx,[esi+0000009Ch] push edx push eax call SUB_L00422C90 pop ebp pop ebx push edi mov [esi+00000124h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004B6BE3: mov eax,[esi+0000012Ch] cmp eax,00000002h jnz L004B6C19 mov ecx,[esp+10h] mov edx,[esp+0Ch] push ecx push edx mov ecx,esi mov [esi+0000012Ch],edi call SUB_L004B71B0 push edi mov [esi+00000124h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004B6C19: cmp [esi+00000124h],edi jnz L004B6C36 cmp eax,edi jnz L004B6C36 mov eax,[esp+10h] mov ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L004B6E90 L004B6C36: push edi mov [esi+00000124h],edi call SUB_L00476670 add esp,00000004h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004B6C50: push ecx push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx+00000120h] push esi cmp eax,ebp push edi jz L004B6DF1 cmp [ebx+0000012Ch],ebp jbe L004B6DAD mov eax,[esp+18h] mov ecx,[ebx+70h] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004B6C9D mov eax,[esp+1Ch] mov ecx,[ebx+74h] sub eax,ecx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004B6DAD L004B6C9D: mov eax,[ebx+000000F4h] mov dword ptr [ebx+00000118h],00000001h cmp eax,ebp mov [ebx+0000012Ch],ebp jz L004B6D43 mov eax,[ebx+000000A0h] or esi,FFFFFFFFh mov ecx,esi lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B6D12 mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea eax,[ecx+eax+L00CC1C28] mov ecx,esi mov [esp+10h],eax 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 rep movsb or esi,FFFFFFFFh L004B6D12: mov ecx,[ebx+000000A0h] cmp ecx,ebp jz L004B6D22 mov edx,[ecx] push 00000001h call [edx] L004B6D22: push esi mov ecx,ebx mov [ebx+000000A0h],ebp mov [ebx+000000F4h],ebp mov [ebx+00000114h],esi call SUB_L004B7CB0 call SUB_L004B5E70 jmp L004B6D46 L004B6D43: or esi,FFFFFFFFh L004B6D46: cmp [ebx+00000114h],esi jz L004B6D5C push esi mov ecx,ebx mov [ebx+00000114h],esi call SUB_L004B7CB0 L004B6D5C: cmp [ebx+000000ECh],ebp jz L004B6D6A mov [ebx+000000ECh],ebp L004B6D6A: cmp [ebx+000000F0h],ebp jz L004B6D9D mov eax,[ebx+00000100h] xor ecx,ecx mov [ebx+00000104h],eax push esi mov cl,[eax+L00CC1CF4] mov edx,[L00CC1B58+ecx*4] mov ecx,ebx mov [ebx+00000108h],edx call SUB_L004B7CB0 jmp L004B6DAD L004B6D9D: mov [ebx+00000104h],esi mov dword ptr [ebx+00000108h],FFFFFFFEh L004B6DAD: cmp [ebx+00000120h],ebp jz L004B6DF1 cmp [ebx+00000118h],ebp jz L004B6E81 cmp [ebx+000000F0h],ebp jnz L004B6DF1 cmp [ebx+000000ECh],ebp jnz L004B6DF1 mov eax,[esp+1Ch] mov edi,[ebx+74h] mov ecx,[esp+18h] mov edx,[ebx+70h] push 00000001h push ebp sub eax,edi push 00000001h sub ecx,edx push eax push ecx mov ecx,ebx call SUB_L00457800 L004B6DF1: cmp [ebx+00000118h],ebp jz L004B6E81 cmp [ebx+00000104h],ebp jl L004B6E81 mov ecx,[esp+1Ch] mov esi,[ebx+00000108h] lea edx,[esp+1Ch] lea eax,[esp+18h] push edx mov edx,[esp+1Ch] push eax push ecx push edx mov ecx,ebx call SUB_L004B8680 test eax,eax jz L004B6E55 cmp [esp+18h],ebp jnz L004B6E4F mov eax,[esp+1Ch] mov ecx,[ebx+00000104h] cmp eax,ecx jz L004B6E6A xor ecx,ecx mov cl,[eax+L00CC1CF4] mov esi,[L00CC1B58+ecx*4] jmp L004B6E6A L004B6E4F: mov esi,[esp+1Ch] jmp L004B6E6A L004B6E55: mov edx,[ebx+00000104h] xor eax,eax mov al,[edx+L00CC1CF4] mov esi,[L00CC1B58+eax*4] L004B6E6A: cmp esi,[ebx+00000108h] jz L004B6E81 push FFFFFFFFh mov ecx,ebx mov [ebx+00000108h],esi call SUB_L004B7CB0 L004B6E81: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004B6E90: push ecx push ebx mov ebx,ecx push ebp push esi mov eax,[ebx+000000ECh] xor esi,esi cmp eax,esi push edi mov [esp+10h],esi jz L004B7100 mov eax,[ebx+000000A8h] mov ecx,[esp+18h] add eax,00000014h cmp ecx,eax jg L004B701E mov eax,[ebx+000000F4h] or ebp,FFFFFFFFh cmp eax,esi jz L004B6F49 mov eax,[ebx+000000A0h] mov ecx,ebp lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B6F1A mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] mov ecx,ebp xor eax,eax repne scasb mov eax,esi 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 L004B6F1A: mov ecx,[ebx+000000A0h] cmp ecx,esi jz L004B6F2A mov edx,[ecx] push 00000001h call [edx] L004B6F2A: push ebp mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov [ebx+00000114h],ebp call SUB_L004B7CB0 call SUB_L004B5E70 L004B6F49: cmp [ebx+00000114h],ebp jz L004B6F5F push ebp mov ecx,ebx mov [ebx+00000114h],ebp call SUB_L004B7CB0 L004B6F5F: mov edi,[L00CC1C20] xor eax,eax cmp edi,esi jle L004B719F mov esi,[ebx+00000100h] L004B6F75: xor ecx,ecx mov cl,[eax+L00CC1CF4] cmp [L00CC1B58+ecx*4],esi jz L004B6F93 inc eax cmp eax,edi jl L004B6F75 pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B6F93: xor eax,eax L004B6F95: xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],esi jnz L004B6FAA inc [esp+10h] L004B6FAA: inc eax cmp eax,edi jl L004B6F95 mov eax,[ebx+esi*4+000000BCh] test eax,eax jz L004B6FCE mov eax,[esp+10h] mov ecx,[ebx+00000110h] sub ecx,eax mov [ebx+00000110h],ecx jmp L004B6FE0 L004B6FCE: mov ecx,[esp+10h] mov eax,[ebx+00000110h] add eax,ecx mov [ebx+00000110h],eax L004B6FE0: mov edi,[ebx+esi*4+000000BCh] xor edx,edx test edi,edi setz dl push ebp mov ecx,ebx mov [ebx+esi*4+000000BCh],edx call SUB_L004B7CB0 mov eax,[ebx+00000110h] mov ecx,[ebx+0000010Ch] push eax push ecx mov ecx,[ebx+0000009Ch] call SUB_L00422C90 pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B701E: mov eax,[ebx+000000F4h] or ebp,FFFFFFFFh cmp eax,esi jz L004B70C1 mov eax,[ebx+000000A0h] mov ecx,ebp lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B707C mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] mov ecx,ebp xor eax,eax repne scasb mov eax,esi 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 L004B707C: mov ecx,[ebx+000000A0h] cmp ecx,esi jz L004B708C mov edx,[ecx] push 00000001h call [edx] L004B708C: push ebp mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov [ebx+00000114h],ebp call SUB_L004B7CB0 call SUB_L004B5E70 cmp [ebx+00000114h],ebp jz L004B70C1 push ebp mov ecx,ebx mov [ebx+00000114h],ebp call SUB_L004B7CB0 L004B70C1: mov ecx,[ebx+00000114h] mov eax,[ebx+00000100h] cmp ecx,eax jz L004B70F0 push ebx mov [ebx+00000114h],eax call SUB_L00456DC0 add esp,00000004h mov ecx,ebx push ebp call SUB_L004B7CB0 pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B70F0: push ecx mov ecx,ebx call SUB_L004B89C0 pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ L004B7100: mov eax,[ebx+000000F4h] or ebp,FFFFFFFFh cmp eax,esi jz L004B7189 mov eax,[ebx+000000A0h] mov ecx,ebp lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B715A mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] mov ecx,ebp xor eax,eax repne scasb mov eax,esi 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 L004B715A: mov ecx,[ebx+000000A0h] cmp ecx,esi jz L004B716A mov edx,[ecx] push 00000001h call [edx] L004B716A: push ebp mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov [ebx+00000114h],ebp call SUB_L004B7CB0 call SUB_L004B5E70 L004B7189: cmp [ebx+00000114h],ebp jz L004B719F push ebp mov ecx,ebx mov [ebx+00000114h],ebp call SUB_L004B7CB0 L004B719F: pop edi pop esi pop ebp pop ebx pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004B71B0: push FFFFFFFFh push L004E5EAB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov eax,[esi+64h] test eax,eax jz L004B71E7 call SUB_L0041E0F0 pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ L004B71E7: mov eax,[esi+000000ECh] test eax,eax jz L004B723D mov eax,[esi+00000100h] test eax,eax jle L004B723D push 000000A8h call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004B7228 mov ecx,[esi+00000100h] push ecx mov ecx,eax call SUB_L004B8BF0 jmp L004B722A L004B7228: xor eax,eax L004B722A: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+18h],FFFFFFFFh call SUB_L004587A0 L004B723D: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004B7250: mov eax,[esp+04h] push ebx push ebp mov ebp,[esp+10h] push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+48h] and al,F8h test edi,edi mov [esi+1Ch],eax jz L004B72CC L004B726D: mov edx,[edi] mov ecx,edi call [edx+000000D4h] test eax,eax jz L004B7292 mov edx,[esi+24h] mov ecx,[edi+000000B0h] mov eax,ebp sub eax,edx add ecx,eax mov [edi+000000B0h],ecx jmp L004B72C5 L004B7292: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L004B72AD mov edx,[esi+1Ch] sub edx,ecx add edx,ebx mov [edi+30h],edx L004B72AD: mov ebx,[esi+24h] mov ecx,[edi+34h] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L004B72C5 sub ecx,ebx add ecx,ebp mov [edi+34h],ecx L004B72C5: mov edi,[edi+40h] test edi,edi jnz L004B726D L004B72CC: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L004B72EE push SSZ0050FE24_skill_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004B72EE: mov eax,[esi+1Ch] push SSZ004FF270_text_frame0 mov [esi+20h],eax imul eax,ebp lea edx,[eax+eax+04h] mov [esi+24h],ebp push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] mov [ecx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] lea eax,[esp+1Ch] push eax mov [ecx+02h],dx lea ecx,[esp+24h] push ecx push 0000082Eh call SUB_L004434A0 mov edx,[esi+24h] mov ebx,[esp+28h] add esp,00000014h sub edx,ebx sub edx,00000046h mov ecx,esi push FFFFFFFFh mov [esi+000000B4h],edx call SUB_L004B7CB0 mov eax,[esi+00000110h] mov ecx,[esi+0000010Ch] push eax push ecx mov ecx,[esi+0000009Ch] call SUB_L00422C90 pop edi pop esi pop ebp pop ebx retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004B73A0: push ecx push ebx mov ebx,ecx push ebp xor ebp,ebp mov eax,[ebx+000000F4h] push esi cmp eax,ebp push edi jz L004B7438 mov eax,[ebx+000000A0h] or ecx,FFFFFFFFh lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B7404 mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,esi 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 L004B7404: mov ecx,[ebx+000000A0h] cmp ecx,ebp jz L004B7414 mov edx,[ecx] push 00000001h call [edx] L004B7414: push FFFFFFFFh mov ecx,ebx mov [ebx+000000A0h],ebp mov [ebx+000000F4h],ebp mov dword ptr [ebx+00000114h],FFFFFFFFh call SUB_L004B7CB0 call SUB_L004B5E70 L004B7438: mov ecx,[ebx+00000114h] or eax,FFFFFFFFh cmp ecx,eax jz L004B7453 push eax mov ecx,ebx mov [ebx+00000114h],eax call SUB_L004B7CB0 L004B7453: mov eax,[ebx+00000110h] mov dword ptr [ebx+000000B8h],00000001h imul eax,[esp+18h] cdq idiv [esp+1Ch] mov [ebx+000000FCh],ebp xor ecx,ecx mov esi,eax mov [ebx+0000010Ch],esi mov edi,[L00CC1C20] cmp edi,ebp jle L004B74B2 L004B7487: xor eax,eax mov al,[ecx+L00CC1CF4] cmp dword ptr [L00CC1B58+eax*4],FFFFFFFFh jz L004B74A0 inc ecx cmp ecx,edi jl L004B7487 jmp L004B74B2 L004B74A0: mov [ebx+000000B8h],ebp mov [ebx+000000FCh],ecx mov edi,[L00CC1C20] L004B74B2: cmp esi,ebp jle L004B7586 mov ecx,esi L004B74BC: cmp [ebx+000000B8h],ebp jz L004B751B mov esi,[ebx+000000FCh] cmp [ebx+esi*4+000000BCh],ebp jz L004B750C mov edx,[L00CC1CF4] xor eax,eax and edx,000000FFh cmp [L00CC1B58+edx*4],esi jz L004B7500 L004B74EA: cmp eax,edi jge L004B750C inc eax xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],esi jnz L004B74EA L004B7500: cmp eax,edi jge L004B750C mov [ebx+000000B8h],ebp jmp L004B7573 L004B750C: mov edx,[L00CC1C24] lea eax,[esi+01h] cmp eax,edx jge L004B757F jmp L004B7573 L004B751B: mov eax,[ebx+000000FCh] xor edx,edx mov dl,[eax+L00CC1CF4] inc eax mov esi,[L00CC1B58+edx*4] xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],esi jz L004B7558 L004B7542: cmp eax,edi jge L004B755C inc eax xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],esi jnz L004B7542 L004B7558: cmp eax,edi jl L004B7573 L004B755C: mov edx,[L00CC1C24] lea eax,[esi+01h] cmp eax,edx jge L004B757F mov dword ptr [ebx+000000B8h],00000001h L004B7573: mov [ebx+000000FCh],eax mov edi,[L00CC1C20] L004B757F: dec ecx jnz L004B74BC L004B7586: push FFFFFFFFh mov ecx,ebx call SUB_L004B7CB0 pop edi pop esi pop ebp pop ebx pop ecx retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004B75A0: sub esp,0000000Ch mov eax,[esp+10h] push ebx push ebp push edi xor edi,edi xor ebp,ebp cmp eax,0000E02Eh mov ebx,ecx mov [esp+0Ch],ebp jnz L004B7809 mov eax,[ebx+00000114h] cmp eax,FFFFFFFFh jz L004B7809 cmp eax,edi jnz L004B75EC push edi push edi push edi push edi push SSZ0050FE58_Cannot_delete_this_group_ call SUB_L00455DD0 add esp,00000014h pop edi pop ebp pop ebx add esp,0000000Ch retn 0004h ;------------------------------------------------------------------------------ L004B75EC: mov eax,[ebx+eax*4+000000BCh] push esi mov esi,[L00CC1C20] xor ecx,ecx cmp esi,edi mov [esp+18h],eax jle L004B762C L004B7604: xor eax,eax mov al,[ecx+L00CC1CF4] mov edx,[L00CC1B58+eax*4] cmp edx,[ebx+00000114h] jnz L004B7623 mov [L00CC1B58+eax*4],edi inc ebp L004B7623: inc ecx cmp ecx,esi jl L004B7604 mov [esp+10h],ebp L004B762C: mov edx,[ebx+00000114h] mov eax,[L00CC1C24] inc edx cmp edx,eax jge L004B76C3 mov eax,edx lea ebp,[ebx+edx*4+000000B8h] shl eax,04h lea edi,[eax+edx+L00CC1C28] mov [esp+20h],edi jmp L004B7663 L004B7659: mov esi,[L00CC1C20] mov edi,[esp+20h] L004B7663: test esi,esi jle L004B767B mov eax,L00CC1B58 L004B766C: mov ecx,[eax] cmp ecx,edx jnz L004B7675 dec ecx mov [eax],ecx L004B7675: add eax,00000004h dec esi jnz L004B766C L004B767B: or ecx,FFFFFFFFh xor eax,eax lea esi,[edi-11h] add ebp,00000004h repne scasb not ecx sub edi,ecx mov [esp+14h],esi mov eax,ecx mov esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h inc edx rep movsb mov ecx,[ebp+00h] mov [ebp-04h],ecx mov ecx,[esp+20h] mov eax,[L00CC1C24] add ecx,00000011h cmp edx,eax mov [esp+20h],ecx jl L004B7659 mov ebp,[esp+10h] L004B76C3: mov ecx,[L00CC1C24] mov eax,[esp+18h] dec ecx mov [L00CC1C24],ecx test eax,eax mov eax,[ebx+000000BCh] jz L004B76F1 test eax,eax jnz L004B7708 mov eax,[ebx+00000110h] or edx,FFFFFFFFh sub edx,ebp add eax,edx jmp L004B770F L004B76F1: test eax,eax jz L004B7708 mov ecx,[ebx+00000110h] lea eax,[ebp-01h] add ecx,eax mov [ebx+00000110h],ecx jmp L004B7715 L004B7708: mov eax,[ebx+00000110h] dec eax L004B770F: mov [ebx+00000110h],eax L004B7715: mov eax,[ebx+000000F4h] test eax,eax jz L004B77A8 mov edx,[ebx+000000A0h] or ecx,FFFFFFFFh add edx,000000F8h xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B7772 mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea ebp,[ecx+eax+L00CC1C28] or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,ebp mov ebp,[esp+10h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb L004B7772: mov ecx,[ebx+000000A0h] xor esi,esi cmp ecx,esi jz L004B7784 mov eax,[ecx] push 00000001h call [eax] L004B7784: push FFFFFFFFh mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov dword ptr [ebx+00000114h],FFFFFFFFh call SUB_L004B7CB0 call SUB_L004B5E70 L004B77A8: mov eax,[ebx+00000114h] or esi,FFFFFFFFh cmp eax,esi jz L004B77C3 push esi mov ecx,ebx mov [ebx+00000114h],esi call SUB_L004B7CB0 L004B77C3: push esi mov ecx,ebx call SUB_L004B7CB0 mov eax,[ebx+0000009Ch] mov edx,[ebx] push eax mov ecx,[eax+000000ACh] mov esi,[eax+000000B0h] mov eax,[eax+34h] sub esi,ecx sub eax,ecx push esi push eax mov ecx,ebx call [edx+34h] call SUB_L004B5E70 test ebp,ebp pop esi jle L004B7809 push SSZ0050FE38_Skills_moved_to_Miscellaneous_ push 00000003h push 00000000h call SUB_L004BDF40 add esp,0000000Ch L004B7809: pop edi pop ebp pop ebx add esp,0000000Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B7820: sub esp,00000010h push ebx push ebp push esi push edi mov ebx,ecx call [KERNEL32.dll!GetTickCount] mov esi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[ebx+0000012Ch] mov ecx,00000001h cmp edx,ecx jnz L004B7976 sub esi,[ebx+00000128h] cmp esi,eax jbe L004B7976 mov eax,[ebx+00000120h] xor esi,esi cmp eax,esi mov [ebx+0000012Ch],esi jnz L004B787E mov eax,[ebx+74h] mov ecx,[ebx+70h] push eax push ecx mov ecx,ebx call SUB_L004B6E90 jmp L004B7978 L004B787E: mov eax,[ebx+000000F4h] or ebp,FFFFFFFFh cmp eax,esi mov [ebx+00000118h],ecx jz L004B790D mov eax,[ebx+000000A0h] mov ecx,ebp lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B78DE mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] mov ecx,ebp xor eax,eax repne scasb mov eax,esi 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 L004B78DE: mov ecx,[ebx+000000A0h] cmp ecx,esi jz L004B78EE mov edx,[ecx] push 00000001h call [edx] L004B78EE: push ebp mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov [ebx+00000114h],ebp call SUB_L004B7CB0 call SUB_L004B5E70 L004B790D: cmp [ebx+00000114h],ebp jz L004B7923 push ebp mov ecx,ebx mov [ebx+00000114h],ebp call SUB_L004B7CB0 L004B7923: cmp [ebx+000000ECh],esi jz L004B7931 mov [ebx+000000ECh],esi L004B7931: cmp [ebx+000000F0h],esi jz L004B7964 mov eax,[ebx+00000100h] xor ecx,ecx mov [ebx+00000104h],eax push ebp mov cl,[eax+L00CC1CF4] mov edx,[L00CC1B58+ecx*4] mov ecx,ebx mov [ebx+00000108h],edx call SUB_L004B7CB0 jmp L004B7978 L004B7964: mov [ebx+00000104h],ebp mov dword ptr [ebx+00000108h],FFFFFFFEh jmp L004B7978 L004B7976: xor esi,esi L004B7978: cmp [ebx+00000118h],esi jz L004B79E7 cmp [ebx+00000104h],esi jl L004B79E7 lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx call SUB_L00476BC0 mov edx,[esp+1Ch] mov eax,[esp+20h] add esp,00000008h mov [esp+1Ch],edx lea ecx,[esp+10h] lea edx,[esp+1Ch] push ecx push edx mov ecx,ebx mov [esp+18h],eax call SUB_L00457D20 mov eax,[esp+10h] mov ecx,[ebx+000000ACh] cmp eax,ecx jge L004B79D8 mov ecx,ebx call SUB_L0041EA10 pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004B79D8: cmp eax,[ebx+000000B4h] jle L004B79E7 mov ecx,ebx call SUB_L0041E8B0 L004B79E7: pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B79F0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E5EE1 push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi push edi mov edi,ecx mov esi,[edi+48h] test esi,esi jz L004B7A56 L004B7A15: mov eax,[esi] mov ebp,[esi+40h] mov ecx,esi call [eax+000000E4h] test eax,eax jz L004B7A36 mov eax,[esi+000000C0h] test eax,eax jz L004B7A36 test esi,esi jz L004B7A50 jmp L004B7A48 L004B7A36: mov eax,[esi] mov ecx,esi call [eax+0000016Ch] test eax,eax jz L004B7A50 test esi,esi jz L004B7A50 L004B7A48: mov edx,[esi] push 00000001h mov ecx,esi call [edx] L004B7A50: test ebp,ebp mov esi,ebp jnz L004B7A15 L004B7A56: mov ebx,[edi+000000ACh] mov eax,[edi+000000B8h] add ebx,00000002h test eax,eax mov [esp+14h],ebx jz L004B7A78 mov ebp,[edi+000000FCh] or esi,FFFFFFFFh jmp L004B7A8D L004B7A78: mov esi,[edi+000000FCh] xor eax,eax mov al,[esi+L00CC1CF4] mov ebp,[L00CC1B58+eax*4] L004B7A8D: cmp ebp,[L00CC1C24] jge L004B7C95 lea ecx,[edi+ebp*4+000000BCh] inc ebx mov [esp+10h],ecx mov ecx,[L00CC1C20] L004B7AAB: mov eax,[edi+000000B4h] lea edx,[ebx+0Eh] sub eax,00000002h cmp edx,eax jg L004B7C95 mov eax,[edi+00000118h] test eax,eax jz L004B7AE6 cmp [edi+00000104h],esi jnz L004B7AE6 cmp esi,FFFFFFFFh jz L004B7C21 cmp [edi+00000108h],ebp jnz L004B7C2F L004B7AE6: cmp esi,FFFFFFFFh jz L004B7C21 mov al,[edi+00000131h] push 000000B8h test al,al jnz L004B7B31 call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L004B7B66 xor edx,edx xor ecx,ecx mov dl,[esi+L00CC1CF4] mov cl,[edx+L00D1B88C] push ecx push edx mov ecx,eax call SUB_L004B9200 jmp L004B7B68 L004B7B31: call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000001h jz L004B7B66 xor edx,edx xor ecx,ecx mov dl,[esi+L00CC1CF4] mov cx,[edi+edx*2+000001FAh] push ecx push edx mov ecx,eax call SUB_L004B9200 jmp L004B7B68 L004B7B66: xor eax,eax L004B7B68: mov edx,[edi+000000B0h] mov ecx,eax mov eax,[esp+14h] add edx,00000018h push 00000001h push edi mov dword ptr [esp+2Ch],FFFFFFFFh mov [ecx+30h],edx mov [ecx+34h],eax call SUB_L004587A0 xor ecx,ecx mov cl,[esi+L00CC1CF4] test byte ptr [ecx+L00CC1A5C],01h jz L004B7C1B push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000002h jz L004B7BE5 mov edx,[edi+000000A8h] push 00000000h push 00000837h push 00000837h push L004211A0 push 00000000h push 00000000h push edi add edx,00000008h push ebx push edx mov ecx,eax call SUB_L00421F40 jmp L004B7BE7 L004B7BE5: xor eax,eax L004B7BE7: xor ecx,ecx mov dword ptr [eax+000000ACh],00000838h mov dword ptr [eax+000000C0h],00000001h mov cl,[esi+L00CC1CF4] mov [eax+000000A4h],ecx push 00000001h push edi mov ecx,eax mov dword ptr [esp+2Ch],FFFFFFFFh call SUB_L004587A0 L004B7C1B: mov ecx,[L00CC1C20] L004B7C21: mov edx,[esp+14h] add edx,00000011h add ebx,00000011h mov [esp+14h],edx L004B7C2F: test ebp,ebp jl L004B7C3C mov edx,[esp+10h] cmp dword ptr [edx],00000000h jz L004B7C7A L004B7C3C: inc esi xor eax,eax mov al,[esi+L00CC1CF4] cmp [L00CC1B58+eax*4],ebp jz L004B7C76 mov eax,[edi+00000104h] L004B7C54: cmp esi,eax jnz L004B7C60 cmp [edi+00000108h],ebp jz L004B7C76 L004B7C60: cmp esi,ecx jge L004B7C78 inc esi xor edx,edx mov dl,[esi+L00CC1CF4] cmp [L00CC1B58+edx*4],ebp jnz L004B7C54 L004B7C76: cmp esi,ecx L004B7C78: jnz L004B7C89 L004B7C7A: mov eax,[esp+10h] inc ebp add eax,00000004h or esi,FFFFFFFFh mov [esp+10h],eax L004B7C89: cmp ebp,[L00CC1C24] jl L004B7AAB L004B7C95: mov ecx,[esp+1Ch] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B7CB0: sub esp,0000017Ch push ebx push ebp push esi mov esi,ecx lea eax,[esp+2Ch] push edi lea ecx,[esp+34h] push eax lea edx,[esp+30h] push ecx push edx push L004FEBE4 push 00000009h call SUB_L00441BC0 mov eax,[esi+000000A8h] mov ecx,[esi+000000B0h] mov edi,[esi+000000ACh] add eax,00000002h mov [esp+2Ch],eax mov eax,[esi+000000B4h] sub eax,00000002h add esp,00000014h mov [esp+24h],eax mov eax,[esp+00000190h] sub ecx,00000002h add edi,00000002h cmp eax,FFFFFFFFh mov [esp+20h],ecx mov [esp+1Ch],edi jnz L004B7E1A mov edx,[esi+3Ch] lea eax,[esp+14h] lea ecx,[esp+28h] push eax mov edi,[edx+04h] push ecx push 0000082Dh call SUB_L004434A0 mov ebp,[esp+20h] lea edx,[esp+20h] lea eax,[esp+34h] push edx push eax push 0000082Eh call SUB_L004434A0 mov eax,[esp+2Ch] mov edx,[esi+3Ch] mov [esp+28h],eax push eax mov eax,[edx+04h] lea ecx,[ebp-01h] push ecx mov ecx,[esi+54h] push eax push 00000002h push ecx call SUB_L004B5FF0 xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] lea ebx,[edi+04h] push edx push eax lea ecx,[ebp+0Ah] push ebx push ecx push 00000076h push 00000834h push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+24h] xor edx,edx mov dx,[edi+02h] add esp,00000048h xor eax,eax mov ax,[edi] push edx mov edx,[esp+14h] push eax sub ecx,edx push ebx sub ecx,00000038h push ecx push 0000001Eh push 00000836h push SUB_L004B9B80 call SUB_L00443500 xor edx,edx xor eax,eax mov dx,[edi+02h] mov ax,[edi] push edx push eax add ebp,00000024h push ebx push ebp push 0000001Eh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+24h] xor ecx,ecx mov cx,[edi+02h] xor edx,edx mov dx,[edi] push ecx mov ecx,[esp+4Ch] push edx push ebx sub eax,ecx sub eax,00000046h push eax push 0000001Fh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov edi,[esp+70h] add esp,00000054h L004B7E1A: mov eax,[esi+000000B8h] test eax,eax jz L004B7E33 mov ebp,[esi+000000FCh] or ebx,FFFFFFFFh mov [esp+28h],ebp jmp L004B7E50 L004B7E33: mov eax,[esi+000000FCh] xor ecx,ecx mov ebx,eax mov cl,[eax+L00CC1CF4] mov edx,[L00CC1B58+ecx*4] mov [esp+28h],edx mov ebp,edx L004B7E50: cmp ebp,[L00CC1C24] jge L004B8399 mov eax,ebp add edi,00000010h shl eax,04h lea edx,[esi+ebp*4+000000BCh] lea ecx,[eax+ebp+L00CC1C28] mov [esp+10h],edx mov [esp+14h],ecx mov ecx,[L00CC1C20] L004B7E80: mov edx,[esp+24h] lea eax,[edi-01h] cmp eax,edx jg L004B8399 mov eax,[esi+00000118h] test eax,eax jz L004B7EB2 cmp [esi+00000104h],ebx jnz L004B7EB2 cmp ebx,FFFFFFFFh jz L004B7EB2 cmp [esi+00000108h],ebp jnz L004B831E L004B7EB2: mov eax,[esp+00000190h] cmp eax,FFFFFFFFh jz L004B7EF9 cmp eax,ebx jnz L004B831B mov ecx,[esi+3Ch] mov edx,[ecx+04h] push edx push 00000063h push 00000098h push 000000A9h call SUB_L00446A60 mov edx,[esp+28h] add esp,0000000Ch lea ecx,[edi-10h] push eax mov eax,[esp+28h] push edi push eax push ecx push edx call SUB_L004420B0 add esp,00000018h L004B7EF9: cmp ebx,FFFFFFFFh jnz L004B812D mov eax,[esp+14h] lea ecx,[esp+3Ch] push eax push L00508548 push ecx call SUB_L004D512F lea edx,[esp+44h] lea eax,[esp+40h] push edx lea ecx,[esp+3Ch] push eax lea edx,[esp+50h] push ecx push edx push 00000006h call SUB_L00441BC0 mov eax,[esp+4Ch] add esp,00000020h and eax,80000001h jns L004B7F44 dec eax or eax,FFFFFFFEh inc eax L004B7F44: jnz L004B7F4A inc [esp+2Ch] L004B7F4A: mov eax,[esi+00000118h] test eax,eax jz L004B7F65 cmp [esi+00000108h],ebp jnz L004B7F65 mov ecx,[esp+10h] cmp dword ptr [ecx],00000000h jz L004B7F71 L004B7F65: cmp ebp,[esi+00000114h] jnz L004B7FF5 L004B7F71: mov eax,[esi+000000F4h] mov ebp,[esp+24h] test eax,eax jz L004B7FB1 cmp edi,ebp jge L004B7F85 mov ebp,edi L004B7F85: mov edx,[esi+3Ch] mov eax,[edx+04h] push eax push 00000063h push 00000098h push 000000A9h call SUB_L00446A60 mov ecx,[esp+30h] add esp,0000000Ch lea edx,[edi-10h] push eax mov eax,[esp+20h] push ebp push ecx push edx jmp L004B7FE5 L004B7FB1: cmp edi,ebp jge L004B7FB7 mov ebp,edi L004B7FB7: mov ecx,[esi+3Ch] mov edx,[ecx+04h] push edx push 00000063h push 00000098h push 000000A9h call SUB_L00446A60 mov ecx,[esp+3Ch] add esp,0000000Ch push eax mov eax,[esp+20h] push ebp lea edx,[eax+ecx+0Eh] lea ecx,[edi-10h] push edx push ecx L004B7FE5: add eax,0000000Eh push eax call SUB_L004420B0 mov ebp,[esp+40h] add esp,00000018h L004B7FF5: mov ecx,[L00CC1C20] xor eax,eax cmp ecx,eax mov [esp+18h],eax jle L004B8091 L004B8009: xor edx,edx mov dl,[eax+L00CC1CF4] cmp [L00CC1B58+edx*4],ebp jz L004B8021 inc eax cmp eax,ecx jl L004B8009 jmp L004B8091 L004B8021: mov eax,[esp+10h] cmp dword ptr [eax],00000000h mov ecx,[esi+3Ch] mov eax,[ecx+04h] jz L004B8058 xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+000000A8h] add eax,00000004h push ecx push eax lea eax,[edi-11h] push eax lea eax,[esp+28h] push edx push eax push 00000826h jmp L004B807E L004B8058: xor edx,edx xor ecx,ecx mov dx,[eax+02h] mov cx,[eax] push edx mov edx,[esi+000000A8h] add eax,00000004h push ecx push eax lea eax,[edi-11h] push eax lea eax,[esp+28h] push edx push eax push 00000827h L004B807E: push SUB_L004B9B80 call SUB_L004436C0 mov ecx,[L00CC1C20] add esp,00000020h L004B8091: mov eax,[esi+000000A8h] mov edx,[esi+000000F4h] add eax,00000002h test edx,edx mov [esp+18h],eax jz L004B80B4 cmp [esi+00000114h],ebp jz L004B831B L004B80B4: mov edx,[esi+20h] lea ecx,[esp+18h] push ecx mov ecx,[esi+3Ch] push edx add eax,0000000Eh mov edx,[ecx+04h] lea ecx,[esp+44h] add edx,00000004h push edx mov edx,[esp+3Ch] push ecx push 00000000h lea ecx,[edi+edx-10h] push 00000006h push ecx push eax call SUB_L004416F0 mov edx,[esp+40h] mov eax,[esi+3Ch] sub edx,0000000Ah mov [esp+40h],edx mov ecx,[eax+04h] mov eax,[esp+38h] lea edx,[esp+38h] push edx push ecx mov ecx,[esp+54h] lea edx,[edi-0Ch] push 00000835h push edx lea edx,[eax+ecx+12h] push edx call SUB_L00416B10 mov eax,[esp+54h] mov ecx,[L00CC1C20] add esp,00000034h add eax,0000000Ah mov [esp+20h],eax jmp L004B831B L004B812D: mov eax,[esi+00000118h] test eax,eax jz L004B81A7 cmp [esi+00000104h],ebx jnz L004B81A7 cmp [esi+00000108h],ebp jnz L004B81A7 mov eax,[esi+20h] sub eax,00000032h mov ecx,eax mov [esp+20h],eax and ecx,80000001h jns L004B8160 dec ecx or ecx,FFFFFFFEh inc ecx L004B8160: jnz L004B8167 dec eax mov [esp+20h],eax L004B8167: mov ebp,[esp+24h] cmp edi,ebp jge L004B8171 mov ebp,edi L004B8171: mov edx,[esi+3Ch] mov eax,[edx+04h] push eax push 00000063h push 00000098h push 000000A9h call SUB_L00446A60 mov ecx,[esp+30h] add esp,0000000Ch lea edx,[edi-10h] push eax mov eax,[esp+20h] push ebp push ecx add eax,00000014h push edx push eax call SUB_L004420B0 add esp,00000018h L004B81A7: xor eax,eax mov ecx,[esi+20h] mov al,[ebx+L00CC1CF4] sub ecx,0000005Ah mov [esp+20h],ecx lea edx,[eax+eax*4] lea eax,[esp+3Ch] shl edx,04h add edx,L00CC3C68 push edx push L00508548 push eax call SUB_L004D512F mov eax,[esi+3Ch] mov edx,[esi+20h] lea ecx,[esp+24h] push ecx mov ecx,[eax+04h] mov eax,[esp+40h] push edx add ecx,00000004h lea edx,[esp+50h] push ecx push edx mov edx,[esp+34h] push 00000288h lea ecx,[edi+eax-10h] push 00000009h add edx,00000014h push ecx push edx call SUB_L004416F0 mov eax,[esi+20h] add esp,0000002Ch mov [esp+20h],eax mov al,[esi+00000131h] test al,al mov al,[esi+00000130h] jnz L004B8252 test al,al jz L004B823E xor ecx,ecx mov cl,[ebx+L00CC1CF4] mov edx,ecx xor ecx,ecx mov cx,[L00D1B8C0+edx*2] jmp L004B827C L004B823E: xor edx,edx xor ecx,ecx mov dl,[ebx+L00CC1CF4] mov cx,[L00D1B924+edx*2] jmp L004B827C L004B8252: test al,al jz L004B826A xor edx,edx xor ecx,ecx mov dl,[ebx+L00CC1CF4] mov cx,[esi+edx*2+00000196h] jmp L004B827C L004B826A: xor edx,edx xor ecx,ecx mov dl,[ebx+L00CC1CF4] mov cx,[esi+edx*2+00000132h] L004B827C: mov eax,ecx mov ebp,0000000Ah cdq idiv ebp mov eax,66666667h push edx imul ecx sar edx,02h mov eax,edx lea ecx,[esp+40h] shr eax,1Fh add edx,eax push edx push SSZ0050FE7C__d__d push ecx call SUB_L004D512F add esp,00000010h lea edx,[esp+38h] lea eax,[esp+34h] lea ecx,[esp+2Ch] push edx push eax lea edx,[esp+44h] push ecx push edx push 00000009h call SUB_L00441BC0 mov edx,[esi+3Ch] mov ecx,[esi+20h] lea eax,[esp+2Ch] push eax mov eax,[edx+04h] mov edx,[esp+48h] push ecx add eax,00000004h lea ecx,[esp+58h] push eax push ecx mov ecx,[esp+44h] push 00000288h lea eax,[edi+edx-10h] push 00000009h push eax mov eax,[esp+5Ch] sub ecx,eax sub ecx,0000004Ah push ecx call SUB_L004410C0 mov edx,[esi+000000B0h] mov ecx,[L00CC1C20] mov ebp,[esp+5Ch] add esp,00000034h sub edx,00000002h mov [esp+20h],edx L004B831B: add edi,00000011h L004B831E: cmp dword ptr [esp+14h],L00CC1C28 jl L004B8331 mov eax,[esp+10h] cmp dword ptr [eax],00000000h jz L004B836F L004B8331: inc ebx xor edx,edx mov dl,[ebx+L00CC1CF4] cmp [L00CC1B58+edx*4],ebp jz L004B836B mov eax,[esi+00000104h] L004B8349: cmp ebx,eax jnz L004B8355 cmp [esi+00000108h],ebp jz L004B836B L004B8355: cmp ebx,ecx jge L004B836D inc ebx xor edx,edx mov dl,[ebx+L00CC1CF4] cmp [L00CC1B58+edx*4],ebp jnz L004B8349 L004B836B: cmp ebx,ecx L004B836D: jnz L004B838D L004B836F: mov edx,[esp+10h] mov eax,[esp+14h] inc ebp add edx,00000004h add eax,00000011h mov [esp+28h],ebp mov [esp+10h],edx mov [esp+14h],eax or ebx,FFFFFFFFh L004B838D: cmp ebp,[L00CC1C24] jl L004B7E80 L004B8399: mov ecx,esi call SUB_L004B79F0 mov eax,[L0050FE74] mov cx,[L0050FE78] mov [esp+0000008Ch],eax mov [esp+00000090h],cx mov ecx,0000003Eh xor eax,eax lea edi,[esp+00000092h] mov edx,[esi+20h] rep stosd stosb mov eax,[esi+24h] xor ecx,ecx mov [esp+24h],eax mov al,[esi+00000131h] test al,al mov [esp+18h],ecx mov [esp+20h],edx mov [esp+1Ch],ecx jnz L004B8406 mov eax,L00D1B8C0 L004B83F3: xor edx,edx mov dx,[eax] add eax,00000002h add ecx,edx cmp eax,L00D1B924 jl L004B83F3 jmp L004B841E L004B8406: lea eax,[esi+00000196h] mov edx,00000032h L004B8411: xor edi,edi mov di,[eax] add eax,00000002h add ecx,edi dec edx jnz L004B8411 L004B841E: mov eax,ecx mov edi,0000000Ah cdq idiv edi mov eax,66666667h push edx imul ecx sar edx,02h mov eax,edx lea ecx,[esp+00000090h] shr eax,1Fh add edx,eax push edx push SSZ0050FE7C__d__d push ecx call SUB_L004D512F lea edx,[esp+40h] lea eax,[esp+44h] push edx lea ecx,[esp+40h] push eax lea edx,[esp+000000A4h] push ecx push edx push 00000003h call SUB_L00441BC0 mov edx,[esi+3Ch] mov eax,[esi+20h] lea ecx,[esp+3Ch] push ecx mov ecx,[edx+04h] add ecx,00000004h push eax push ecx mov ecx,[esi+24h] lea edx,[esp+000000BCh] sub ecx,0000002Ah push edx push 00000065h push 00000003h add eax,FFFFFF92h push ecx push eax call SUB_L004410C0 add esp,00000044h pop edi pop esi pop ebp pop ebx add esp,0000017Ch retn 0004h ;------------------------------------------------------------------------------ Align 8 L004B84B0: sub esp,00000018h push ebx push esi push edi mov edi,ecx mov eax,[edi+64h] test eax,eax jnz L004B84C7 mov eax,[edi+3Ch] mov esi,[eax+04h] jmp L004B84CD L004B84C7: mov ecx,[edi+3Ch] mov esi,[ecx+0Ch] L004B84CD: lea edx,[esp+0Ch] lea eax,[esp+10h] push edx push eax mov ecx,edi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov eax,[esp+10h] mov ecx,[esp+0Ch] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] mov ebx,[esp+28h] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004B85AA mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push ebx push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[edi+50h] add esp,00000028h test esi,esi jz L004B85AA L004B856F: mov eax,[esi] mov ecx,esi call [eax+000000E4h] test eax,eax jz L004B8594 mov ecx,[esi+000000C8h] mov eax,[edi+64h] cmp ecx,eax jnz L004B8594 mov edx,[esi] push ebx mov ecx,esi call [edx+0Ch] jmp L004B85A3 L004B8594: mov eax,[edi+64h] test eax,eax jnz L004B85A3 mov eax,[esi] push ebx mov ecx,esi call [eax+0Ch] L004B85A3: mov esi,[esi+44h] test esi,esi jnz L004B856F L004B85AA: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B85C0: sub esp,00000008h push esi push edi mov edi,ecx mov eax,[edi+64h] test eax,eax jnz L004B85D6 mov eax,[edi+3Ch] mov ecx,[eax+04h] jmp L004B85DC L004B85D6: mov ecx,[edi+3Ch] mov ecx,[ecx+0Ch] L004B85DC: mov edx,[esp+14h] xor eax,eax mov ax,[ecx] test edx,edx jl L004B8674 mov esi,[esp+18h] test esi,esi jl L004B8674 cmp edx,eax jge L004B8674 push ebx xor ebx,ebx mov bx,[ecx+02h] cmp esi,ebx pop ebx jge L004B8674 imul eax,esi add eax,edx cmp word ptr [ecx+eax*2+04h],0000h jz L004B861F L004B8612: pop edi mov eax,00000001h pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ L004B861F: lea edx,[esp+18h] lea eax,[esp+14h] push edx push eax mov ecx,edi call SUB_L00457C90 mov esi,[edi+48h] test esi,esi jz L004B8674 L004B8637: mov ecx,[esp+14h] mov edx,[esp+18h] mov [esp+0Ch],ecx lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi mov [esp+10h],edx call SUB_L00457D20 mov eax,[esp+08h] mov ecx,[esp+0Ch] mov edx,[esi] push eax push ecx mov ecx,esi call [edx+10h] test eax,eax jnz L004B8612 mov esi,[esi+40h] test esi,esi jnz L004B8637 L004B8674: pop edi xor eax,eax pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004B8680: sub esp,00000070h mov eax,[esp+74h] push ebx mov ebx,ecx push ebp push esi mov ecx,[ebx+000000A8h] push edi add ecx,00000002h cmp eax,ecx jl L004B8957 mov edx,[ebx+000000B0h] sub edx,00000002h cmp eax,edx jg L004B8957 mov eax,[ebx+000000ACh] mov ecx,[esp+00000088h] add eax,00000002h cmp ecx,eax jl L004B8957 mov edx,[ebx+000000B4h] sub edx,00000002h cmp ecx,edx jg L004B8957 mov ecx,eax mov eax,[ebx+000000B8h] test eax,eax mov [esp+18h],ecx jz L004B86F7 mov eax,[ebx+000000FCh] or edi,FFFFFFFFh mov [esp+10h],eax jmp L004B8712 L004B86F7: mov edi,[ebx+000000FCh] xor eax,eax mov al,[edi+L00CC1CF4] mov edx,[L00CC1B58+eax*4] mov [esp+10h],edx mov eax,edx L004B8712: cmp eax,[L00CC1C24] jge L004B8957 mov edx,eax add ecx,00000011h shl edx,04h mov [esp+24h],ecx lea ebp,[edx+eax+L00CC1C28] lea edx,[ebx+eax*4+000000BCh] mov [esp+1Ch],ebp mov [esp+14h],edx L004B8740: mov edx,[ebx+000000B4h] lea esi,[ecx-02h] sub edx,00000002h cmp esi,edx jg L004B8957 mov edx,[ebx+00000118h] test edx,edx jz L004B8777 cmp [ebx+00000104h],edi jnz L004B8777 cmp edi,FFFFFFFFh jz L004B8777 cmp [ebx+00000108h],eax jnz L004B88DA L004B8777: mov edx,[esp+00000088h] mov esi,[esp+18h] cmp edx,esi jl L004B88C8 cmp edx,ecx jge L004B88C8 cmp edi,FFFFFFFFh jnz L004B87D8 push ebp lea eax,[esp+34h] push L00508548 push eax call SUB_L004D512F mov esi,[ebx+000000A8h] lea ecx,[esp+34h] lea edx,[esp+38h] push ecx lea eax,[esp+30h] push edx lea ecx,[esp+44h] push eax push ecx push 00000006h add esi,00000002h mov ebp,00000032h call SUB_L00441BC0 add esp,00000020h jmp L004B88A1 L004B87D8: mov al,[ebx+00000131h] test al,al mov al,[ebx+00000130h] jnz L004B8814 test al,al jz L004B8800 xor eax,eax xor edx,edx mov al,[edi+L00CC1CF4] mov dx,[L00D1B8C0+eax*2] jmp L004B883E L004B8800: xor eax,eax xor edx,edx mov al,[edi+L00CC1CF4] mov dx,[L00D1B924+eax*2] jmp L004B883E L004B8814: test al,al jz L004B882C xor eax,eax xor edx,edx mov al,[edi+L00CC1CF4] mov dx,[ebx+eax*2+00000196h] jmp L004B883E L004B882C: xor eax,eax xor edx,edx mov al,[edi+L00CC1CF4] mov dx,[ebx+eax*2+00000132h] L004B883E: lea eax,[eax+eax*4] push edx shl eax,04h add eax,L00CC3C68 lea ecx,[esp+34h] push eax push SSZ0050FE84__s____d__ push ecx call SUB_L004D512F mov esi,[ebx+000000A8h] xor edx,edx mov dl,[edi+L00CC1CF4] add esp,00000010h add esi,00000016h xor eax,eax mov ebp,[L00CC1A90+edx*4] lea ecx,[esp+28h] cmp ebp,FFFFFFFFh lea edx,[esp+2Ch] setle al dec eax push ecx and eax,0000001Eh push edx mov ebp,eax lea eax,[esp+28h] lea ecx,[esp+38h] push eax push ecx push 00000009h call SUB_L00441BC0 add esp,00000014h L004B88A1: mov eax,[esp+00000084h] cmp eax,esi jl L004B88BC mov edx,[esp+20h] add edx,ebp add edx,esi cmp eax,edx jl L004B8963 L004B88BC: mov eax,[esp+10h] mov ecx,[esp+24h] mov ebp,[esp+1Ch] L004B88C8: mov esi,[esp+18h] add esi,00000011h add ecx,00000011h mov [esp+18h],esi mov [esp+24h],ecx L004B88DA: cmp ebp,L00CC1C28 jl L004B88EB mov edx,[esp+14h] cmp dword ptr [edx],00000000h jz L004B8931 L004B88EB: inc edi xor edx,edx mov dl,[edi+L00CC1CF4] cmp [L00CC1B58+edx*4],eax jz L004B8929 mov esi,[ebx+00000104h] L004B8903: cmp edi,esi jnz L004B890F cmp [ebx+00000108h],eax jz L004B8929 L004B890F: cmp edi,[L00CC1C20] jge L004B892F inc edi xor edx,edx mov dl,[edi+L00CC1CF4] cmp [L00CC1B58+edx*4],eax jnz L004B8903 L004B8929: cmp edi,[L00CC1C20] L004B892F: jnz L004B894B L004B8931: mov esi,[esp+14h] inc eax add esi,00000004h add ebp,00000011h mov [esp+10h],eax mov [esp+14h],esi mov [esp+1Ch],ebp or edi,FFFFFFFFh L004B894B: cmp eax,[L00CC1C24] jl L004B8740 L004B8957: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000070h retn 0010h ;------------------------------------------------------------------------------ L004B8963: test edi,edi jl L004B898C mov eax,[esp+0000008Ch] mov ecx,[esp+00000090h] mov dword ptr [eax],00000000h mov [ecx],edi pop edi pop esi pop ebp mov eax,00000001h pop ebx add esp,00000070h retn 0010h ;------------------------------------------------------------------------------ L004B898C: mov edx,[esp+18h] mov eax,[esp+0000008Ch] mov ecx,[esp+00000090h] mov [L00CC1A28],edx mov edx,[esp+10h] pop edi pop esi mov dword ptr [eax],00000001h pop ebp mov [ecx],edx mov eax,00000001h pop ebx add esp,00000070h retn 0010h ;------------------------------------------------------------------------------ Align 4 SUB_L004B89C0: push FFFFFFFFh push L004E5EFB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx mov ebx,ecx push esi lea eax,[esp+0Ch] push edi lea ecx,[esp+0Ch] push eax lea edx,[esp+18h] push ecx push edx push L004FEBE4 push 00000006h call SUB_L00441BC0 mov eax,[L00CC1A28] mov esi,[esp+20h] push 000001CCh lea edi,[eax-02h] call SUB_L004D4FA9 add esp,00000018h mov [esp+18h],eax test eax,eax mov dword ptr [esp+24h],00000000h jz L004B8A5B mov cx,[ebx+000000B0h] mov edx,[ebx+000000A8h] sub cx,[ebx+000000A8h] 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_L0042A340 jmp L004B8A5D L004B8A5B: xor eax,eax L004B8A5D: push 00000001h push ebx mov ecx,eax mov dword ptr [esp+2Ch],FFFFFFFFh mov [ebx+000000A0h],eax call SUB_L004587A0 mov eax,[ebx+000000A0h] push 0000E023h mov [L00B294BC],eax mov eax,[ebx+00000114h] mov edx,[ebx+000000A0h] mov ecx,eax shl ecx,04h add edx,000000F8h lea edi,[ecx+eax+L00CC1C28] 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] mov edx,[ecx] call [edx+44h] push FFFFFFFFh mov ecx,ebx mov dword ptr [ebx+000000F4h],00000001h call SUB_L004B7CB0 mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004B8B00: push ecx push ebx mov ebx,ecx mov eax,[ebx+000000F4h] test eax,eax jz L004B8B99 mov eax,[ebx+000000A0h] push esi push edi or ecx,FFFFFFFFh lea edx,[eax+000000F8h] xor eax,eax mov edi,edx repne scasb not ecx dec ecx jz L004B8B61 mov eax,[ebx+00000114h] mov edi,edx mov ecx,eax shl ecx,04h lea esi,[ecx+eax+L00CC1C28] or ecx,FFFFFFFFh xor eax,eax repne scasb mov eax,esi 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 L004B8B61: mov ecx,[ebx+000000A0h] xor esi,esi cmp ecx,esi jz L004B8B73 mov edx,[ecx] push 00000001h call [edx] L004B8B73: push FFFFFFFFh mov ecx,ebx mov [ebx+000000A0h],esi mov [ebx+000000F4h],esi mov dword ptr [ebx+00000114h],FFFFFFFFh call SUB_L004B7CB0 call SUB_L004B5E70 pop edi pop esi L004B8B99: cmp dword ptr [ebx+00000114h],FFFFFFFFh jz L004B8BB5 push FFFFFFFFh mov ecx,ebx mov dword ptr [ebx+00000114h],FFFFFFFFh call SUB_L004B7CB0 L004B8BB5: pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 16 L004B8BC0: mov eax,[esp+04h] mov edx,[ecx+000000A4h] cmp eax,edx jnz L004B8BE6 mov dl,[ecx+00000130h] push FFFFFFFFh test dl,dl setz dl mov [ecx+00000130h],dl call SUB_L004B7CB0 L004B8BE6: retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004B8BF0: push FFFFFFFFh push L004E5F44 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp mov ebp,ecx push edi mov [esp+0Ch],ebp call SUB_L00458F30 xor ebx,ebx mov dword ptr [ebp+00h],L004F14A0 mov [esp+28h],ebx mov dword ptr [ebp+08h],SSZ0050FEB4_EditGroup_gump mov [ebp+60h],ebx mov dword ptr [ebp+54h],000013A6h mov [ebp+64h],ebx mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov dword ptr [ebp+20h],000000C8h mov dword ptr [ebp+24h],00000078h call SUB_L004470A0 mov ecx,eax mov eax,[ebp+20h] cdq sub eax,edx sar eax,1 sub ecx,eax mov [ebp+30h],ecx call SUB_L004470B0 mov ecx,eax mov eax,[ebp+24h] cdq sub eax,edx push SSZ004FFBCC_framedata_for_CDumbGump sar eax,1 sub ecx,eax push 00000008h mov [ebp+34h],ecx mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FFBC0_dumb_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+20h] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov eax,[ebp+3Ch] mov dx,[ebp+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] xor eax,eax mov [ecx+02h],dx mov ecx,[ebp+20h] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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+3Ch] push ebx mov ecx,[eax+04h] push ecx push 000013ECh call SUB_L0042BB70 mov edx,[esp+4Ch] mov eax,[ebp+20h] mov ecx,[ebp+24h] mov [ebp+000000A0h],edx lea edx,[esp+2Ch] mov [esp+34h],eax push edx push eax mov eax,[ebp+3Ch] mov [esp+34h],ebx mov [esp+38h],ebx mov [esp+40h],ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push SSZ0050FEA8_Group_Name_ push 00000386h push 00000001h push 00000014h push 00000014h call SUB_L004410C0 push 000001CCh call SUB_L004D4FA9 add esp,00000040h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+28h],01h jz L004B8DA1 push 000000A0h push ebx push 00000001h push 00000386h push 00000001h push 0000000Ch push ebx push 0000145Dh push 0000145Ah push ebp push 0000001Ch push 00000014h mov ecx,eax call SUB_L0042A0B0 jmp L004B8DA3 L004B8DA1: xor eax,eax L004B8DA3: push esi push 00000001h push ebp mov ecx,eax mov [esp+34h],bl mov [ebp+000000A4h],eax call SUB_L004587A0 mov edx,[ebp+000000A4h] push 0000E023h mov [L00B294BC],edx mov eax,[ebp+000000A0h] mov edx,[ebp+000000A4h] mov ecx,eax shl ecx,04h add edx,000000F8h lea edi,[ecx+eax+L00CC1C28] 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,[ebp+000000A4h] mov edx,[ecx] call [edx+44h] mov ecx,[ebp+000000A4h] mov eax,[ecx] call [eax+00000174h] mov eax,[ebp+3Ch] mov edx,[ebp+20h] lea ecx,[esp+14h] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx mov edx,[ebp+24h] push ecx push SSZ0050FEA0_Rename push 00000386h sub edx,00000032h push 00000001h push edx push 00000010h call SUB_L004410C0 mov edx,[ebp+3Ch] mov ecx,[ebp+20h] lea eax,[esp+34h] push eax mov eax,[edx+04h] add eax,00000004h push ecx mov ecx,[ebp+24h] push eax push SSZ0050FE98_Delete push 00000386h sub ecx,00000032h push 00000001h push ecx push 00000054h call SUB_L004410C0 mov ecx,[ebp+3Ch] mov eax,[ebp+20h] add esp,00000040h lea edx,[esp+14h] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[ebp+24h] push edx push SSZ0050FE90_Cancel push 00000386h push 00000001h sub eax,00000032h push eax push 0000008Ch call SUB_L004410C0 push 000000ECh call SUB_L004D4FA9 add esp,00000024h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+2Ch],02h pop esi jz L004B8EEA mov ecx,[ebp+24h] push ebx push 000013BBh push 000013BAh push L0041FDD0 push ebx push ebx sub ecx,00000028h push ebp push ecx push 00000014h mov ecx,eax call SUB_L00421F40 jmp L004B8EEC L004B8EEA: xor eax,eax L004B8EEC: push 00000001h push ebp mov ecx,eax mov [esp+30h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+28h],03h jz L004B8F39 mov edx,[ebp+24h] push ebx push 000013BDh push 000013BCh push L0041FE50 push ebx push ebx sub edx,00000028h push ebp push edx push 00000054h mov ecx,eax call SUB_L00421F40 jmp L004B8F3B L004B8F39: xor eax,eax L004B8F3B: push 00000001h push ebp mov ecx,eax mov [esp+30h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+28h],04h jz L004B8F8B mov ecx,[ebp+24h] push ebx push 000013BDh push 000013BCh push L004C1AA0 push ebx push ebx sub ecx,00000028h push ebp push ecx push 00000090h mov ecx,eax call SUB_L00421F40 jmp L004B8F8D L004B8F8B: xor eax,eax L004B8F8D: push 00000001h push ebp mov ecx,eax mov [esp+30h],bl call SUB_L004587A0 mov ecx,[esp+20h] mov eax,ebp pop edi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B8FC0: push esi mov esi,ecx call SUB_L004B8FE0 test byte ptr [esp+08h],01h jz L004B8FD8 push esi call SUB_L004D4F9E add esp,00000004h L004B8FD8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B8FE0: push FFFFFFFFh push L004E5F58 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F14A0 mov ecx,[esi+000000A4h] xor edi,edi cmp ecx,edi mov [esp+14h],edi jz L004B9020 mov eax,[ecx] push 00000001h call [eax] mov [esi+000000A4h],edi L004B9020: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L004B903E push SSZ0050FED8_EditGroup_frame0_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L004B903E: mov eax,[esi+3Ch] cmp eax,edi jz L004B9056 push SSZ0050FEC4_EditGroup_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004B9056: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004B9080: sub esp,00000028h push ebx push esi mov esi,ecx lea eax,[esp+08h] push edi lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov edx,[esi+3Ch] mov eax,[esp+10h] mov ecx,[esp+0Ch] mov ebx,[esp+38h] mov edi,[edx+04h] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[edi] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[edi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push ebx mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004B915D lea edx,[esp+24h] lea eax,[esp+14h] push edx push eax push ebx call SUB_L00457DF0 mov ecx,[L005073D4] mov edx,[L005073D0] mov eax,[L00B189FC] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+24h] push eax xor eax,eax push ecx mov ax,[edi+02h] push edx xor ecx,ecx push eax mov cx,[edi] mov eax,[esi+3Ch] push ecx lea edx,[esp+4Ch] mov ecx,[eax+04h] push edx add ecx,00000004h push ecx push SUB_L004B9B80 call SUB_L00443960 mov esi,[esi+50h] add esp,00000034h test esi,esi jz L004B915D L004B914A: mov edx,[esi] lea eax,[esp+24h] push eax mov ecx,esi call [edx+0Ch] mov esi,[esi+44h] test esi,esi jnz L004B914A L004B915D: pop edi pop esi pop ebx add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004B9170: jmp L0041FDD0 Align 16 L004B9180: jmp L004C1AA0 Align 16 SUB_L004B9190: mov byte ptr [ecx+00000131h],00h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004B91A0: mov al,[esp+04h] mov [L00CC4C08],al retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B91B0: mov al,[L00CC4C08] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B91C0: mov eax,[esp+04h] cmp al,32h jnc L004B91F4 mov dx,[esp+08h] and eax,000000FFh mov [ecx+eax*2+00000132h],dx mov dx,[esp+0Ch] mov [ecx+eax*2+00000196h],dx mov dx,[esp+10h] mov [ecx+eax*2+000001FAh],dx L004B91F4: retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L004B9200: push FFFFFFFFh push L004E5F78 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L004A8F20 mov ecx,[esp+20h] mov eax,[esp+24h] mov dword ptr [esi],L004F1614 mov [esi+000000B4h],ecx mov [ecx+L00D1B88C],al and eax,000000FFh xor edx,edx push SSZ0050ED80_framedata_for_pointgump mov ecx,[L0050FD14+eax*4] lea eax,[L0050FD14+eax*4] mov [esi+000000B0h],ecx push 00000008h mov ecx,[eax] mov [esp+20h],edx mov [esi+000000ACh],ecx mov eax,[eax] mov [esi+000000A8h],eax mov [esi+000000A5h],dl mov [esi+000000A4h],dl mov [esi+14h],edx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi lea ebx,[esi+20h] rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+000000B0h] lea edi,[esi+24h] push edi push ebx push eax call SUB_L004434A0 mov ecx,[ebx] push SSZ0050EFA8_frame0 imul ecx,[edi] lea edx,[ecx+ecx+04h] push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,0000001Ch mov [ecx+04h],eax mov edx,[esi+3Ch] mov cx,[ebx] mov eax,[edx+04h] mov [eax],cx mov edx,[esi+3Ch] mov cx,[edi] mov eax,[edx+04h] mov [eax+02h],cx mov edx,[esi+000000B4h] mov al,[edx+L00D1B88C] mov [esp+20h],al mov ecx,[esp+20h] and ecx,000000FFh mov edx,[L0050FD14+ecx*4] lea eax,[L0050FD14+ecx*4] mov [esi+000000B0h],edx mov ecx,[eax] mov [esi+000000ACh],ecx mov edx,[eax] mov ecx,esi mov [esi+000000A8h],edx call SUB_L004A9160 mov eax,esi pop edi pop esi mov ecx,[esp+08h] pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 0008h ;------------------------------------------------------------------------------ Align 4 L004B9350: push esi mov esi,ecx call SUB_L004B9370 test byte ptr [esp+08h],01h jz L004B9368 push esi call SUB_L004D4F9E add esp,00000004h L004B9368: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004B9370: push FFFFFFFFh push L004E5F98 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004F1614 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L004B93BD push SSZ0050FF0C_SkillStateButton_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004B93BD: mov eax,[esi+3Ch] test eax,eax jz L004B93D9 push SSZ0050FEF0_SkillStateButton_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004B93D9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L004A9120 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004B9400: push ecx mov eax,[ecx+000000B4h] mov dl,[eax+L00D1B88C] mov [esp+00h],dl mov eax,[esp+00h] and eax,000000FFh mov edx,[L0050FD14+eax*4] lea eax,[L0050FD14+eax*4] mov [ecx+000000B0h],edx mov edx,[eax] mov [ecx+000000ACh],edx mov eax,[eax] mov [ecx+000000A8h],eax call SUB_L004A9160 pop ecx retn ;------------------------------------------------------------------------------ Align 16 L004B9450: push ecx mov eax,[ecx+000000B4h] mov dl,[eax+L00D1B88C] mov [esp+00h],dl mov eax,[esp+00h] and eax,000000FFh mov edx,[L0050FD14+eax*4] lea eax,[L0050FD14+eax*4] mov [ecx+000000B0h],edx mov edx,[eax] mov [ecx+000000ACh],edx mov edx,[esp+08h] mov eax,[eax] push edx mov [ecx+000000A8h],eax call SUB_L004A9200 pop ecx retn 0004h ;------------------------------------------------------------------------------ Align 8 L004B94A0: dd L00B4918B db 00h; db 00h; db 33h; '3' db C0h; '€' sub esp,00000408h mov al,[edx+L00D1B88C] sub eax,00000000h jz L004B94D1 dec eax jz L004B94C8 dec eax jnz L004B94D8 mov byte ptr [edx+L00D1B88C],00h jmp L004B94D8 L004B94C8: mov byte ptr [edx+L00D1B88C],02h jmp L004B94D8 L004B94D1: mov byte ptr [edx+L00D1B88C],01h L004B94D8: mov eax,[ecx+000000B4h] lea ecx,[esp+00h] mov dl,[eax+L00D1B88C] push edx push eax push ecx call SUB_L0049E2D0 mov ecx,[L00C88300] add esp,0000000Ch lea edx,[esp+00h] push edx call SUB_L004BC750 push 00000000h call SUB_L00476670 add esp,0000040Ch retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004B9520: push SSZ0050FF2C_SkipDrawHandler__startup__begin_ call SUB_L004C7F20 pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B9530: push ecx mov edx,[esp+08h] lea eax,[esp+08h] lea ecx,[esp+00h] push eax push ecx push edx push 00000004h push 00000003h call SUB_L0045EF20 add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B9550: mov eax,[esp+04h] push esi test eax,eax jz L004B95AD mov edx,[esp+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 L004B95AD mov esi,[esp+0Ch] L004B958B: sub esi,edx js L004B95AD cmp esi,ecx jl L004B95B2 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 L004B958B L004B95AD: xor ax,ax pop esi retn ;------------------------------------------------------------------------------ L004B95B2: mov ax,[eax+esi*2] pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B95C0: mov eax,[esp+0Ch] push esi mov esi,[esp+0Ch] push edi mov edi,[esp+0Ch] lea ecx,[eax+eax] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B95F0: test byte ptr [esp+04h],0Fh setz al retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B9600: mov eax,[esp+04h] and eax,0000000Fh cmp eax,00000007h ja CASE_004B966C_PROC0001 jmp [CASE_PROCTABLE_004B966C+eax*4] CASE_004B966C_PROC0000: mov dword ptr [L00CD8C1C],L00CC840C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0002: mov dword ptr [L00CD8C1C],L00CC740C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0003: mov dword ptr [L00CD8C1C],L00CC6C0C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0004: mov dword ptr [L00CD8C1C],L00CC640C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0005: mov dword ptr [L00CD8C1C],L00CC5C0C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0006: mov dword ptr [L00CD8C1C],L00CC540C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0007: mov dword ptr [L00CD8C1C],L00CC4C0C retn ;------------------------------------------------------------------------------ CASE_004B966C_PROC0001: mov dword ptr [L00CD8C1C],L00CC7C0C retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004B966C: dd CASE_004B966C_PROC0000 dd CASE_004B966C_PROC0001 dd CASE_004B966C_PROC0002 dd CASE_004B966C_PROC0003 dd CASE_004B966C_PROC0004 dd CASE_004B966C_PROC0005 dd CASE_004B966C_PROC0006 dd CASE_004B966C_PROC0007 Align 8 L004B9690: mov eax,[L00CD8C24] push esi lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov eax,[esp+10h] mov ecx,eax dec eax test ecx,ecx lea esi,[L00C42CE8+edx*8] jz L004B96D5 mov ecx,[esp+0Ch] lea edx,[eax+01h] mov eax,[esp+08h] push edi L004B96BA: mov di,[ecx] add eax,00000002h shr edi,05h and edi,0000001Fh add ecx,00000002h dec edx mov di,[esi+edi*2] mov [eax-02h],di jnz L004B96BA pop edi L004B96D5: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004B96E0: push ecx mov eax,[L00CD8C24] push esi mov esi,[L00CD8C1C] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] lea eax,[L00C42CE8+edx*8] mov [esp+04h],eax mov eax,[esp+14h] mov ecx,eax dec eax test ecx,ecx jz L004B979B mov edx,[esp+0Ch] push ebx inc eax push ebp push edi mov [esp+20h],eax L004B9719: mov eax,[esp+1Ch] mov edi,[esp+10h] add edx,00000002h mov cx,[eax] add eax,00000002h shr ecx,05h and ecx,0000001Fh mov [esp+1Ch],eax mov ax,[edx-02h] mov cx,[edi+ecx*2] and eax,0000FFFFh and ecx,0000FFFFh mov edi,eax shr edi,05h mov ebx,ecx and edi,000003E0h shr ebx,0Ah add edi,ebx mov ebx,ecx shr ebx,05h mov di,[esi+edi*2] mov ebp,eax and ebx,0000001Fh and ebp,000003E0h add ebx,ebp and eax,0000001Fh shl di,05h or di,[esi+ebx*2] and ecx,0000001Fh shl eax,05h add eax,ecx shl edi,05h or di,[esi+eax*2] mov eax,[esp+20h] dec eax mov [edx-02h],di mov [esp+20h],eax jnz L004B9719 pop edi pop ebp pop ebx L004B979B: pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 4 L004B97A0: mov eax,[esp+0Ch] push esi mov esi,[L00CD8C1C] mov ecx,eax dec eax test ecx,ecx jz L004B9836 mov edx,[esp+08h] push ebx inc eax push ebp push edi mov [esp+1Ch],eax L004B97C2: mov eax,[esp+18h] add edx,00000002h mov cx,[eax] add eax,00000002h mov [esp+18h],eax mov ax,[edx-02h] and eax,0000FFFFh and ecx,0000FFFFh mov edi,eax mov ebx,ecx shr edi,05h and edi,000003E0h mov ebp,eax shr ebx,0Ah add edi,ebx mov ebx,ecx shr ebx,05h mov di,[esi+edi*2] and ebx,0000001Fh and ebp,000003E0h and eax,0000001Fh add ebx,ebp and ecx,0000001Fh shl di,05h or di,[esi+ebx*2] shl eax,05h add eax,ecx shl edi,05h or di,[esi+eax*2] mov eax,[esp+1Ch] dec eax mov [edx-02h],di mov [esp+1Ch],eax jnz L004B97C2 pop edi pop ebp pop ebx L004B9836: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004B9840: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B988E mov edx,[esp+04h] push ebx push esi mov esi,[esp+10h] push edi lea edi,[eax+01h] L004B9859: mov cl,[L00512174] xor eax,eax mov ax,[esi] add edx,00000002h mov ebx,eax mov eax,[L00CD8C24] shr ebx,cl lea ecx,[eax+eax*4] add esi,00000002h dec edi lea eax,[eax+ecx*2] lea ecx,[ebx+eax*4] mov ax,[L00C42CE8+ecx*2] mov [edx-02h],ax jnz L004B9859 pop edi pop esi pop ebx L004B988E: retn ;------------------------------------------------------------------------------ Align 4 L004B9890: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B991A push ebx push ebp push esi mov esi,[esp+14h] push edi mov edi,[esp+14h] lea ebx,[eax+01h] L004B98AA: mov dx,[esi] add esi,00000002h mov eax,edx and eax,0000FFFFh mov ebp,eax mov ecx,eax shr ebp,05h and ebp,0000001Fh and eax,0000001Fh shr ecx,0Ah add ebp,eax cmp ecx,ebp jle L004B990D mov eax,[L00500108] mov edx,eax mov ebp,eax shl ecx,05h sar edx,05h sar ebp,0Ah and edx,0000001Fh sub ebp,ecx sub edx,ecx and eax,0000001Fh movzx bp,[ebp+L0054B260] movzx dx,[edx+L0054B260] sub eax,ecx shl ebp,05h movzx ax,[eax+L0054B260] or edx,ebp shl edx,05h or edx,eax L004B990D: mov [edi],dx add edi,00000002h dec ebx jnz L004B98AA pop edi pop esi pop ebp pop ebx L004B991A: retn ;------------------------------------------------------------------------------ Align 8 L004B9920: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B998F mov edx,[esp+04h] push ebx push esi mov esi,[esp+10h] push edi lea edi,[eax+01h] L004B9939: mov ax,[esi] mov cx,[L00512178] mov ebx,eax add esi,00000002h shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004B995F mov [edx],ax jmp L004B9986 L004B995F: mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L00C42CE8+eax*2] mov [edx],cx L004B9986: add edx,00000002h dec edi jnz L004B9939 pop edi pop esi pop ebx L004B998F: retn ;------------------------------------------------------------------------------ L004B9990: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B99E9 mov ecx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B99AA: mov ax,[esi] xor edx,edx mov dx,[ecx] and eax,0000FFFFh mov ebx,edx mov edx,[L00512180] mov ebp,eax and ebx,edx and ebp,edx add esi,00000002h add ebx,ebp mov ebp,[L0051217C] sar ebx,1 and eax,ebp add ecx,00000002h add ebx,eax sar ebx,1 or ebx,00000001h dec edi mov [ecx-02h],bx jnz L004B99AA pop edi pop esi pop ebp pop ebx L004B99E9: retn ;------------------------------------------------------------------------------ Align 8 L004B99F0: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9A49 mov ecx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9A0A: mov ax,[ecx] xor edx,edx mov dx,[esi] and eax,0000FFFFh mov ebx,edx mov edx,[L00512180] mov ebp,eax and ebx,edx and ebp,edx add esi,00000002h add ebx,ebp mov ebp,[L0051217C] sar ebx,1 and eax,ebp add ecx,00000002h add ebx,eax sar ebx,1 or ebx,00000001h dec edi mov [ecx-02h],bx jnz L004B9A0A pop edi pop esi pop ebp pop ebx L004B9A49: retn ;------------------------------------------------------------------------------ Align 8 L004B9A50: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9ACC mov edx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9A6A: mov cl,[L00512174] xor eax,eax mov ax,[esi] add esi,00000002h mov ebx,eax mov eax,[L00CD8C24] shr ebx,cl lea ecx,[eax+eax*4] add edx,00000002h lea eax,[eax+ecx*2] lea ecx,[ebx+eax*4] mov ax,[L00C42CE8+ecx*2] xor ecx,ecx mov cx,[edx-02h] and eax,0000FFFFh mov ebx,ecx mov ecx,[L00512180] mov ebp,eax and ebx,ecx and ebp,ecx add ebx,ebp mov ebp,[L0051217C] sar ebx,1 and eax,ebp add ebx,eax sar ebx,1 or ebx,00000001h dec edi mov [edx-02h],bx jnz L004B9A6A pop edi pop esi pop ebp pop ebx L004B9ACC: retn ;------------------------------------------------------------------------------ Align 4 L004B9AD0: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9B70 mov edx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9AEE: mov ax,[esi] mov cx,[L00512178] mov ebx,eax add esi,00000002h shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004B9B14 mov [edx],ax jmp L004B9B66 L004B9B14: mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] xor ecx,ecx mov cx,[edx] mov ax,[L00C42CE8+eax*2] mov ebx,ecx mov ecx,[L00512180] and eax,0000FFFFh mov ebp,eax and ebx,ecx and ebp,ecx mov ecx,[L0051217C] add ebx,ebp and eax,ecx sar ebx,1 add ebx,eax sar ebx,1 or ebx,00000001h mov [edx],bx L004B9B66: add edx,00000002h dec edi jnz L004B9AEE pop edi pop esi pop ebp pop ebx L004B9B70: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B9B80: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9BAC mov ecx,[esp+08h] mov edx,[esp+04h] push esi lea esi,[eax+01h] L004B9B97: mov ax,[ecx] test ax,ax jz L004B9BA2 mov [edx],ax L004B9BA2: add ecx,00000002h add edx,00000002h dec esi jnz L004B9B97 pop esi L004B9BAC: retn ;------------------------------------------------------------------------------ Align 4 L004B9BB0: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9C0D mov ecx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9BCA: mov ax,[esi] test ax,ax jz L004B9C00 xor edx,edx and eax,0000FFFFh mov dx,[ecx] mov ebp,eax mov ebx,edx mov edx,[L00512180] and ebx,edx and ebp,edx mov edx,[L0051217C] add ebx,ebp sar ebx,1 and eax,edx add ebx,eax sar ebx,1 or ebx,00000001h mov [ecx],bx L004B9C00: add esi,00000002h add ecx,00000002h dec edi jnz L004B9BCA pop edi pop esi pop ebp pop ebx L004B9C0D: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B9C10: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9C5D mov ecx,[esp+04h] push ebx push esi mov esi,[esp+10h] push edi lea edi,[eax+01h] L004B9C29: mov ax,[esi] test ax,ax jz L004B9C51 xor edx,edx and eax,0000FFFFh mov dx,[ecx] mov ebx,edx mov edx,[L0051217C] and ebx,edx and eax,edx add ebx,eax sar ebx,1 or ebx,00000001h mov [ecx],bx L004B9C51: add esi,00000002h add ecx,00000002h dec edi jnz L004B9C29 pop edi pop esi pop ebx L004B9C5D: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004B9C60: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9CB4 mov edx,[esp+04h] push ebx push esi mov esi,[esp+10h] push edi lea edi,[eax+01h] L004B9C79: mov ax,[esi] test ax,ax jz L004B9CA8 mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L00C42CE8+eax*2] mov [edx],cx L004B9CA8: add esi,00000002h add edx,00000002h dec edi jnz L004B9C79 pop edi pop esi pop ebx L004B9CB4: retn ;------------------------------------------------------------------------------ Align 16 L004B9CC0: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9D34 mov edx,[esp+04h] push ebx push esi mov esi,[esp+10h] push edi lea edi,[eax+01h] L004B9CD9: mov ax,[esi] add esi,00000002h test ax,ax jz L004B9D2B mov cx,[L00512178] mov ebx,eax shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004B9D04 mov [edx],ax jmp L004B9D2B L004B9D04: mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] mov cx,[L00C42CE8+eax*2] mov [edx],cx L004B9D2B: add edx,00000002h dec edi jnz L004B9CD9 pop edi pop esi pop ebx L004B9D34: retn ;------------------------------------------------------------------------------ Align 16 L004B9D40: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9DC1 mov edx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9D5A: mov ax,[esi] test ax,ax jz L004B9DB4 mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] xor ecx,ecx mov cx,[edx] mov ax,[L00C42CE8+eax*2] mov ebx,ecx mov ecx,[L00512180] and eax,0000FFFFh mov ebp,eax and ebx,ecx and ebp,ecx mov ecx,[L0051217C] add ebx,ebp and eax,ecx sar ebx,1 add ebx,eax sar ebx,1 or ebx,00000001h mov [edx],bx L004B9DB4: add esi,00000002h add edx,00000002h dec edi jnz L004B9D5A pop edi pop esi pop ebp pop ebx L004B9DC1: retn ;------------------------------------------------------------------------------ Align 16 L004B9DD0: mov eax,[esp+0Ch] mov ecx,eax dec eax test ecx,ecx jz L004B9E79 mov edx,[esp+04h] push ebx push ebp push esi mov esi,[esp+14h] push edi lea edi,[eax+01h] L004B9DEE: mov ax,[esi] add esi,00000002h test ax,ax jz L004B9E6B mov cx,[L00512178] mov ebx,eax shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004B9E19 mov [edx],ax jmp L004B9E6B L004B9E19: mov cl,[L00512174] and eax,0000FFFFh shr eax,cl mov ecx,[L00CD8C24] lea ebx,[ecx+ecx*4] lea ecx,[ecx+ebx*2] lea eax,[eax+ecx*4] xor ecx,ecx mov cx,[edx] mov ax,[L00C42CE8+eax*2] mov ebx,ecx mov ecx,[L00512180] and eax,0000FFFFh mov ebp,eax and ebx,ecx and ebp,ecx mov ecx,[L0051217C] add ebx,ebp and eax,ecx sar ebx,1 add ebx,eax sar ebx,1 or ebx,00000001h mov [edx],bx L004B9E6B: add edx,00000002h dec edi jnz L004B9DEE pop edi pop esi pop ebp pop ebx L004B9E79: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004B9E80: mov eax,[esp+04h] mov ecx,[esp+08h] mov [L00CD8C2C],eax mov [L00CD8C28],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004B9EA0: mov ecx,[esp+08h] sub esp,00000014h test ecx,ecx push ebx push ebp push esi push edi jz L004BA081 mov ebx,[esp+30h] mov esi,[esp+34h] xor edi,edi xor eax,eax mov di,[ecx+06h] mov ax,[ecx+04h] mov edx,[ebx] lea ecx,[ecx+edi*2+08h] cmp edx,esi mov [esp+1Ch],ecx jle L004B9EDD sub edx,esi mov [esp+30h],edx jmp L004B9EE9 L004B9EDD: mov dword ptr [esp+30h],00000000h mov edx,[esp+30h] L004B9EE9: mov ecx,[ebx+08h] lea ebp,[eax+esi] cmp ecx,ebp jge L004B9EFB sub ecx,esi mov [esp+10h],ecx jmp L004B9F01 L004B9EFB: mov [esp+10h],eax mov ecx,eax L004B9F01: cmp edx,ecx jge L004BA081 mov eax,[ebx+04h] mov esi,[esp+38h] cmp eax,esi jle L004B9F18 sub eax,esi jmp L004B9F1A L004B9F18: xor eax,eax L004B9F1A: mov ebx,[ebx+0Ch] lea ebp,[edi+esi] cmp ebx,ebp jge L004B9F28 sub ebx,esi jmp L004B9F2B L004B9F28: lea ebx,[edi-01h] L004B9F2B: add esi,eax mov edi,[esp+34h] imul esi,[L00CD8C28] add esi,edi mov edi,[L00CD8C2C] lea edi,[edi+esi*2] mov esi,ecx sub esi,edx cmp eax,ebx mov [esp+20h],esi mov esi,[esp+2Ch] mov [esp+34h],edi lea esi,[esi+eax*2+08h] mov [esp+38h],esi jge L004BA081 mov ebp,[esp+28h] sub ebx,eax mov [esp+18h],ebx jmp L004B9F73 L004B9F6F: mov edi,[esp+34h] L004B9F73: mov esi,[esp+38h] xor eax,eax mov ax,[esi] mov esi,[esp+1Ch] lea esi,[esi+eax*2] mov ax,[esi] mov bx,[esi+02h] add esi,00000002h mov [esp+2Ch],ax add esi,00000002h test bx,bx jz L004BA05B L004B9F9E: mov eax,[esp+2Ch] and eax,0000FFFFh cmp edx,eax jle L004B9FED mov ebp,[esp+10h] lea ecx,[edi+edx*2] mov edi,ebx sub edx,eax and edi,0000FFFFh add eax,edi lea edx,[esi+edx*2] cmp eax,ebp jle L004B9FD7 mov eax,[esp+20h] mov ebp,[esp+28h] push eax push edx push ecx call ebp add esp,0000000Ch jmp L004BA029 L004B9FD7: sub eax,[esp+30h] test eax,eax jle L004BA025 mov ebp,[esp+28h] push eax push edx push ecx call ebp add esp,0000000Ch jmp L004BA029 L004B9FED: lea edx,[edi+eax*2] mov edi,ebx and edi,0000FFFFh mov [esp+14h],edx lea edx,[edi+eax] cmp edx,ecx jle L004BA017 sub ecx,eax test ecx,ecx jle L004BA029 mov eax,[esp+14h] push ecx push esi push eax call ebp add esp,0000000Ch jmp L004BA029 L004BA017: mov ecx,[esp+14h] push edi push esi push ecx call ebp add esp,0000000Ch jmp L004BA029 L004BA025: mov ebp,[esp+28h] L004BA029: mov edx,[esp+2Ch] lea esi,[esi+edi*2] xor eax,eax mov edi,[esp+34h] mov ax,[esi] mov ecx,[esp+10h] add esi,00000002h add eax,ebx add edx,eax mov bx,[esi] add esi,00000002h mov [esp+2Ch],edx mov edx,[esp+30h] test bx,bx jnz L004B9F9E L004BA05B: mov eax,[L00CD8C28] mov esi,[esp+38h] add esi,00000002h lea eax,[edi+eax*2] mov [esp+38h],esi mov [esp+34h],eax mov eax,[esp+18h] dec eax mov [esp+18h],eax jnz L004B9F6F L004BA081: pop edi pop esi pop ebp pop ebx add esp,00000014h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BA090: push ecx mov ecx,[esp+0Ch] push esi test ecx,ecx jz L004BA162 xor eax,eax mov esi,[esp+14h] mov ax,[ecx+06h] lea edx,[ecx+eax*2+08h] add ecx,00000008h mov [esp+04h],edx mov edx,[L00CD8C28] imul edx,[esp+18h] add edx,esi mov esi,[L00CD8C2C] test eax,eax lea edx,[esi+edx*2] mov [esp+18h],ecx mov [esp+10h],edx jle L004BA162 push ebx push ebp push edi mov [esp+20h],eax L004BA0E0: xor eax,eax mov ax,[ecx] mov ecx,[esp+10h] mov bp,[ecx+eax*2] lea esi,[ecx+eax*2] add esi,00000002h mov di,[esi] add esi,00000002h test di,di jz L004BA139 L004BA0FE: mov eax,[esp+1Ch] mov edx,ebp mov ebx,edi and edx,0000FFFFh and ebx,0000FFFFh push ebx lea ecx,[eax+edx*2] push esi push ecx call [esp+24h] lea esi,[esi+ebx*2] xor eax,eax add esp,0000000Ch mov ax,[esi] add esi,00000002h add eax,edi mov di,[esi] add ebp,eax add esi,00000002h test di,di jnz L004BA0FE L004BA139: mov edx,[esp+1Ch] mov eax,[L00CD8C28] lea ecx,[edx+eax*2] mov eax,[esp+20h] mov [esp+1Ch],ecx mov ecx,[esp+24h] add ecx,00000002h dec eax mov [esp+24h],ecx mov [esp+20h],eax jnz L004BA0E0 pop edi pop ebp pop ebx L004BA162: pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BA170: mov eax,[esp+08h] push ebx push esi mov esi,ecx mov ecx,[esp+0Ch] 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 L004BA1AB call jmp_WSOCK32.dll!WSOCK32.111 push eax mov [esi+0000041Ch],eax call SUB_L004BA370 add esp,00000004h xor al,al pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L004BA1AB: mov al,bl pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004BA1C0: push esi mov esi,ecx push 00000000h push 00000400h mov ecx,[esi+04h] lea eax,[esi+18h] push eax push ecx call jmp_WSOCK32.dll!WSOCK32.16 cmp eax,FFFFFFFFh jnz L004BA1F9 call jmp_WSOCK32.dll!WSOCK32.111 cmp eax,00002733h mov [esi+0000041Ch],eax jz L004BA1F7 push eax call SUB_L004BA370 add esp,00000004h L004BA1F7: xor eax,eax L004BA1F9: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BA200: sub esp,00000008h push esi mov esi,ecx push 00000000h push 00000001h push 00000002h mov dword ptr [esi],L004F178C mov dword ptr [esi+04h],FFFFFFFFh call jmp_WSOCK32.dll!WSOCK32.23 cmp eax,FFFFFFFFh mov [esi+04h],eax jnz L004BA23A call jmp_WSOCK32.dll!WSOCK32.111 push eax mov [esi+0000041Ch],eax call SUB_L004BA370 add esp,00000004h L004BA23A: mov eax,[esp+10h] push eax call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+14h] mov [esi+0Ch],eax push ecx call jmp_WSOCK32.dll!WSOCK32.9 lea edx,[esp+04h] push 00000004h mov [esi+0Ah],ax mov eax,[esi+04h] push edx push 00000004h push 0000FFFFh push eax mov dword ptr [esp+18h],00000001h call jmp_WSOCK32.dll!WSOCK32.21 mov edx,[esi+04h] lea ecx,[esp+08h] push ecx push 8004667Eh push edx mov word ptr [esi+08h],0002h mov dword ptr [esp+14h],00000001h call jmp_WSOCK32.dll!WSOCK32.12 mov dword ptr [esi],L004F1790 mov eax,esi pop esi add esp,00000008h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004BA2B0: push esi mov esi,ecx call SUB_L004BA2D0 test byte ptr [esp+08h],01h jz L004BA2C8 push esi call SUB_L004D4F9E add esp,00000004h L004BA2C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BA2D0: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004F178C push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BA2F0: push ebx push esi mov esi,ecx push 00000010h mov bl,01h mov ecx,[esi+04h] lea eax,[esi+08h] push eax push ecx call jmp_WSOCK32.dll!WSOCK32.4 cmp eax,FFFFFFFFh jnz L004BA369 call jmp_WSOCK32.dll!WSOCK32.111 cmp eax,00002734h mov [esi+0000041Ch],eax jz L004BA34A cmp eax,00002733h jz L004BA34A cmp eax,00002748h jz L004BA34A cmp eax,00002726h jz L004BA34A push eax call SUB_L004BA370 mov edx,[esi+04h] add esp,00000004h push edx call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA34A: mov esi,[esi+0000041Ch] xor al,al cmp esi,00002748h jnz L004BA35C mov al,01h L004BA35C: cmp esi,00002726h jnz L004BA36B pop esi mov al,01h pop ebx retn ;------------------------------------------------------------------------------ L004BA369: mov al,bl L004BA36B: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BA370: mov eax,[esp+04h] sub esp,00000400h add eax,FFFFD8ECh push esi cmp eax,00000059h push edi ja CASE_004BA530_PROC001C xor ecx,ecx mov cl,[eax+CASE_004BA5A4] jmp [CASE_PROCTABLE_004BA530+ecx*4] CASE_004BA530_PROC001B: lea edx,[esp+08h] mov edi,SSZ005109A0_A_successful_WSAStartup_must_occ jmp L004BA509 CASE_004BA530_PROC000F: lea edx,[esp+08h] mov edi,SSZ00510958_The_network_subsystem_or_the_ass jmp L004BA509 CASE_004BA530_PROC000C: lea edx,[esp+08h] mov edi,SSZ00510928_The_specified_address_family_is_ jmp L004BA509 CASE_004BA530_PROC000D: lea edx,[esp+08h] mov edi,SSZ005108C8_The_specified_address_is_already jmp L004BA509 CASE_004BA530_PROC0002: lea edx,[esp+08h] mov edi,SSZ00510770_The_name_or_the_namelen_paramete jmp L004BA509 CASE_004BA530_PROC0006: lea edx,[esp+08h] mov edi,SSZ005106F8_A_blocking_Windows_Sockets_1_1_c jmp L004BA509 CASE_004BA530_PROC0003: lea edx,[esp+08h] mov edi,SSZ005106CC_The_socket_is_already_bound_to_a jmp L004BA509 CASE_004BA530_PROC0004: lea edx,[esp+08h] mov edi,SSZ005106A0_No_more_socket_descriptors_are_a jmp L004BA509 CASE_004BA530_PROC0014: lea edx,[esp+08h] mov edi,SSZ00510664_No_buffer_space_is_available__Th jmp L004BA509 CASE_004BA530_PROC0008: lea edx,[esp+08h] mov edi,SSZ00510644_The_descriptor_is_not_a_socket_ jmp L004BA509 CASE_004BA530_PROC000A: lea edx,[esp+08h] mov edi,SSZ00510608_The_specified_protocol_is_the_wr jmp L004BA509 CASE_004BA530_PROC0015: lea edx,[esp+08h] mov edi,SSZ005105E4_The_socket_is_already_connected_ jmp L004BA509 CASE_004BA530_PROC000B: lea edx,[esp+08h] mov edi,SSZ00510598_The_referenced_socket_is_not_of_ jmp L004BA509 CASE_004BA530_PROC0000: lea edx,[esp+08h] mov edi,SSZ00510558_The__blocking__call_was_canceled jmp L004BA509 CASE_004BA530_PROC0007: lea edx,[esp+08h] mov edi,SSZ00510468_A_nonblocking_connect_call_is_in jmp L004BA509 CASE_004BA530_PROC000E: lea edx,[esp+08h] mov edi,SSZ00510428_The_specified_address_is_not_ava jmp L004BA509 CASE_004BA530_PROC0019: lea edx,[esp+08h] mov edi,SSZ005103F8_The_attempt_to_connect_was_force jmp L004BA509 CASE_004BA530_PROC0010: lea edx,[esp+08h] mov edi,SSZ005103BC_The_network_cannot_be_reached_fr jmp L004BA509 CASE_004BA530_PROC0018: lea edx,[esp+08h] mov edi,SSZ0051037C_Attempt_to_connect_timed_out_wit jmp L004BA509 CASE_004BA530_PROC0005: lea edx,[esp+08h] mov edi,SSZ00510328_The_socket_is_marked_as_nonblock jmp L004BA509 CASE_004BA530_PROC0001: lea edx,[esp+08h] mov edi,SSZ005102B0_Attempt_to_connect_datagram_sock jmp L004BA509 CASE_004BA530_PROC0011: lea edx,[esp+08h] mov edi,SSZ0051026C_The_connection_has_been_broken_d jmp L004BA509 CASE_004BA530_PROC0016: lea edx,[esp+08h] mov edi,SSZ0051024C_The_socket_is_not_connected_ jmp L004BA509 CASE_004BA530_PROC0017: lea edx,[esp+08h] mov edi,SSZ005101C0_The_socket_has_been_shut_down__i jmp L004BA509 CASE_004BA530_PROC0009: lea edx,[esp+08h] mov edi,SSZ0051014C_The_socket_is_message_oriented__ jmp L004BA509 CASE_004BA530_PROC001A: lea edx,[esp+08h] mov edi,SSZ0051010C_The_remote_host_cannot_be_reache jmp L004BA509 CASE_004BA530_PROC0012: lea edx,[esp+08h] mov edi,SSZ00510080_The_virtual_circuit_was_terminat jmp L004BA509 CASE_004BA530_PROC0013: lea edx,[esp+08h] mov edi,SSZ0050FF60_The_virtual_circuit_was_reset_by jmp L004BA509 CASE_004BA530_PROC001C: lea edx,[esp+08h] mov edi,SSZ0050FF50_UNKNOWN_ERROR_ L004BA509: 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 add esp,00000400h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004BA530: dd CASE_004BA530_PROC0000 dd CASE_004BA530_PROC0001 dd CASE_004BA530_PROC0002 dd CASE_004BA530_PROC0003 dd CASE_004BA530_PROC0004 dd CASE_004BA530_PROC0005 dd CASE_004BA530_PROC0006 dd CASE_004BA530_PROC0007 dd CASE_004BA530_PROC0008 dd CASE_004BA530_PROC0009 dd CASE_004BA530_PROC000A dd CASE_004BA530_PROC000B dd CASE_004BA530_PROC000C dd CASE_004BA530_PROC000D dd CASE_004BA530_PROC000E dd CASE_004BA530_PROC000F dd CASE_004BA530_PROC0010 dd CASE_004BA530_PROC0011 dd CASE_004BA530_PROC0012 dd CASE_004BA530_PROC0013 dd CASE_004BA530_PROC0014 dd CASE_004BA530_PROC0015 dd CASE_004BA530_PROC0016 dd CASE_004BA530_PROC0017 dd CASE_004BA530_PROC0018 dd CASE_004BA530_PROC0019 dd CASE_004BA530_PROC001A dd CASE_004BA530_PROC001B dd CASE_004BA530_PROC001C CASE_004BA5A4: 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 4 L004BA600: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004F1794 cmp eax,FFFFFFFFh jz L004BA61E push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA61E: test byte ptr [esp+08h],01h jz L004BA62E push esi call SUB_L004D4F9E add esp,00000004h L004BA62E: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L004BA640: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004F1794 cmp eax,FFFFFFFFh jz L004BA65E push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA65E: pop esi retn ;------------------------------------------------------------------------------ SUB_L004BA660: push esi mov esi,ecx mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BA678 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA678: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BA680: push ecx mov ecx,[ecx+04h] lea eax,[esp+00h] push eax push 8004667Eh push ecx mov dword ptr [esp+0Ch],00000001h call jmp_WSOCK32.dll!WSOCK32.12 pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BA6A0: push ecx mov ecx,[ecx+04h] lea eax,[esp+00h] push eax push 8004667Eh push ecx mov dword ptr [esp+0Ch],00000000h call jmp_WSOCK32.dll!WSOCK32.12 pop ecx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BA6C0: push FFFFFFFFh push L004E5FDA mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000108h push ebx push esi mov esi,ecx push edi push SSZ005111EC_CSocket__CSocket___begin__ mov [esp+14h],esi mov dword ptr [esi],L004F1794 call SUB_L004C7F20 mov dword ptr [esi+04h],FFFFFFFFh xor edi,edi push SSZ0051122C_GroupedPackets__GroupedPackets__ mov [esp+00000124h],edi call SUB_L004C7F20 mov [esi+00030054h],edi mov [esi+00030050h],edi mov [esi+00030058h],edi push SSZ00511208_CClientSock__CClientSock____begi mov byte ptr [esp+00000128h],01h mov dword ptr [esi],L004F1798 call SUB_L004C7F20 add esp,0000000Ch lea eax,[esp+14h] mov [esi+10h],edi mov [esi+00010018h],edi push 00000100h push eax mov [esi+0001001Ch],edi mov [esi+00030048h],edi mov [esi+00030044h],edi mov [esi+00030024h],edi mov [esi+00030020h],edi mov [esi+0003003Ch],edi call jmp_WSOCK32.dll!WSOCK32.57 lea ecx,[esp+14h] push ecx call jmp_WSOCK32.dll!WSOCK32.52 cmp eax,edi jz L004BA794 mov edx,[eax+0Ch] mov eax,[edx] mov ecx,[eax] push ecx call jmp_WSOCK32.dll!WSOCK32.14 jmp L004BA796 L004BA794: xor eax,eax L004BA796: mov [esi+00030040h],eax call SUB_L004BB370 push 00000022h mov [esi+08h],edi call SUB_L004D4FA9 mov ebx,eax add esp,00000004h mov [esp+0Ch],ebx cmp ebx,edi mov byte ptr [esp+0000011Ch],02h jz L004BA7CD push 00000001h push 00000001h mov ecx,ebx call SUB_L004101F0 jmp L004BA7CF L004BA7CD: xor ebx,ebx L004BA7CF: xor edx,edx mov ecx,[esp+00000114h] mov [esi+0Ch],ebx mov [esi+00030028h],edx mov [esi+0003002Ch],edx mov eax,esi mov [esi+00030030h],edx pop edi mov [esi+00030034h],edx pop esi pop ebx mov fs:[00000000h],ecx add esp,00000114h retn ;------------------------------------------------------------------------------ Align 16 L004BA810: push esi mov esi,ecx call SUB_L004BA830 test byte ptr [esp+08h],01h jz L004BA828 push esi call SUB_L004D4F9E add esp,00000004h L004BA828: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BA830: push FFFFFFFFh push L004E6006 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004F1798 mov eax,[esi+0Ch] mov dword ptr [esp+10h],00000001h test eax,eax jz L004BA86F push eax mov byte ptr [eax+20h],00h call SUB_L004D4F9E add esp,00000004h L004BA86F: mov eax,[esi+04h] mov dword ptr [esi+0Ch],00000000h cmp eax,FFFFFFFFh jz L004BA88B push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA88B: mov eax,[esi+00030058h] mov byte ptr [esp+10h],00h test eax,eax jz L004BA8A3 push eax call SUB_L004D4F9E add esp,00000004h L004BA8A3: mov eax,[esi+04h] mov dword ptr [esi],L004F1794 cmp eax,FFFFFFFFh jz L004BA8BE push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BA8BE: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BA8D0: mov edx,[esp+08h] push ebx mov eax,ecx push esi push edi mov edi,[eax+00030024h] lea ecx,[edi+edx] cmp ecx,00010000h jg L004BA9AA mov ecx,[eax+00030038h] test ecx,ecx jz L004BA989 mov ecx,[eax+10h] test ecx,ecx mov ecx,edx jnz L004BA98B dec edx test ecx,ecx jz L004BA9AA mov ebx,[esp+10h] push ebp lea ebp,[edx+01h] L004BA91A: mov dl,[ebx] mov cl,[eax+00030028h] xor dl,cl mov ecx,[eax+00030024h] mov [eax+ecx+00020020h],dl mov edi,[eax+00030024h] mov edx,[eax+00030028h] mov ecx,[eax+0003002Ch] inc edi mov esi,ecx mov [eax+00030024h],edi mov edi,edx shl edi,1Fh shr ecx,1 or ecx,edi inc ebx xor ecx,32750718h shl esi,1Fh shr ecx,1 shr edx,1 or ecx,edi or edx,esi xor ecx,32750719h xor edx,0A2D100Bh dec ebp mov [eax+0003002Ch],ecx mov [eax+00030028h],edx jnz L004BA91A pop ebp pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ L004BA989: mov ecx,edx L004BA98B: mov esi,[esp+10h] mov ebx,ecx lea edi,[edi+eax+00020020h] shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb add [eax+00030024h],edx L004BA9AA: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ SUB_L004BA9B0: sub esp,00000014h mov eax,[esp+18h] push esi push edi mov esi,ecx xor edi,edi push eax mov [esi+00030048h],edi mov [esi+00030044h],edi mov [esi+00030024h],edi mov [esi+00030020h],edi call jmp_WSOCK32.dll!WSOCK32.8 mov ecx,[esp+24h] mov [esp+10h],eax push ecx call jmp_WSOCK32.dll!WSOCK32.9 push edi push 00000001h push 00000002h mov [esp+1Ah],ax call jmp_WSOCK32.dll!WSOCK32.23 cmp eax,FFFFFFFFh mov [esi+04h],eax jnz L004BAA15 push SSZ00511258_socket_creation_failed call [KERNEL32.dll!OutputDebugStringA] pop edi xor eax,eax pop esi add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ L004BAA15: lea edx,[esp+20h] push 00000004h push edx push 00000001h push 00000006h push eax mov dword ptr [esp+34h],00000001h call jmp_WSOCK32.dll!WSOCK32.21 mov ecx,[esi+04h] lea eax,[esp+0Ch] push 00000010h push eax push ecx mov word ptr [esp+18h],0002h call jmp_WSOCK32.dll!WSOCK32.4 test eax,eax jz L004BAA63 mov edx,[esi+04h] push edx call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh pop edi xor eax,eax pop esi add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ L004BAA63: cmp [L00C8830C],edi jnz L004BAB57 mov dword ptr [esi+00030038h],00000001h mov ecx,[L00C8833C] cmp ecx,edi jnz L004BAA8F mov ecx,[esi+00030040h] mov [L00C8833C],ecx L004BAA8F: mov eax,ecx xor ecx,FFFFAAAAh not eax mov edx,eax and ecx,0000FFFFh xor edx,00001357h mov [esp+24h],edi shl edx,10h or ecx,edx mov [esi+00030028h],ecx mov edx,[L00C8833C] mov ecx,eax xor edx,43210000h xor ecx,ABCDFFFFh and ecx,FFFF0000h shr edx,10h or ecx,edx mov [esi+0003002Ch],ecx mov ecx,[L00C8833C] mov edx,ecx xor edx,eax and edx,0F0F0F0Fh xor edx,ecx xor edx,A76E25EAh mov [esi+00030030h],edx mov ecx,[L00C8833C] xor ecx,eax lea edx,[esp+24h] and ecx,0F0F0F0Fh push edx xor ecx,eax mov eax,[esi+04h] xor ecx,F4BC319Dh push 8004667Eh push eax mov [esi+00030034h],ecx call jmp_WSOCK32.dll!WSOCK32.12 mov ecx,[L00C8833C] push ecx call jmp_WSOCK32.dll!WSOCK32.8 mov [esp+08h],eax mov eax,[esi+04h] push edi lea edx,[esp+0Ch] push 00000004h push edx push eax call jmp_WSOCK32.dll!WSOCK32.19 mov ecx,[esi+0003002Ch] mov [L00CD8C44],ecx jmp L004BAB5D L004BAB57: mov [esi+00030038h],edi L004BAB5D: mov eax,[esi+04h] lea edx,[esp+24h] push edx push 8004667Eh push eax mov dword ptr [esp+30h],00000001h call jmp_WSOCK32.dll!WSOCK32.12 pop edi mov eax,00000001h pop esi add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004BAB90: push FFFFFFFFh push L004E601B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[L00C88370] test eax,eax jz L004BACA9 mov eax,[L00B2905C] test eax,eax jnz L004BABE6 mov ecx,[L00C8851C] test ecx,ecx jz L004BABCC mov eax,[ecx] push 00000001h call [eax] L004BABCC: push 00000000h push 00000001h push 00000000h push 00000000h push SSZ00511270_Connection_lost call SUB_L00455DD0 add esp,00000014h mov [L00B2905C],eax L004BABE6: mov eax,[L00CD8C48] dec eax test eax,eax mov [L00CD8C48],eax jg L004BAC9C mov eax,[L00C83640] mov dword ptr [L00CD8C48],0000000Dh test eax,eax jnz L004BAC9C mov ecx,[L00C88300] test ecx,ecx jz L004BAC20 mov edx,[ecx] push 00000001h call [edx] L004BAC20: push 0003005Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L004BAC46 mov ecx,eax call SUB_L004BA6C0 jmp L004BAC48 L004BAC46: xor eax,eax L004BAC48: push 00000000h mov dword ptr [esp+10h],FFFFFFFFh mov [L00C88300],eax call SUB_L0047CC60 mov ax,[L00C88354] mov ecx,[L00C88350] add esp,00000004h push eax push ecx mov ecx,[L00C88300] call SUB_L004BA9B0 mov edx,[L00C88300] cmp dword ptr [edx+04h],FFFFFFFFh jz L004BAC9C mov al,[L00C8619C] push eax push L00C85FD0 push L00C85FF0 call SUB_L0047D040 add esp,0000000Ch L004BAC9C: call SUB_L00446E20 push 0000004Ch call [KERNEL32.dll!Sleep] L004BACA9: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004BACC0: mov eax,[esp+04h] sub esp,00000400h add eax,FFFFD8ECh push esi cmp eax,00000059h push edi ja CASE_004BAE98_PROC001C xor ecx,ecx mov cl,[eax+CASE_004BAF0C] jmp [CASE_PROCTABLE_004BAE98+ecx*4] CASE_004BAE98_PROC001B: lea edx,[esp+08h] mov edi,SSZ005109A0_A_successful_WSAStartup_must_occ jmp L004BAE59 CASE_004BAE98_PROC000F: lea edx,[esp+08h] mov edi,SSZ00510958_The_network_subsystem_or_the_ass jmp L004BAE59 CASE_004BAE98_PROC000C: lea edx,[esp+08h] mov edi,SSZ00510928_The_specified_address_family_is_ jmp L004BAE59 CASE_004BAE98_PROC000D: lea edx,[esp+08h] mov edi,SSZ005108C8_The_specified_address_is_already jmp L004BAE59 CASE_004BAE98_PROC0002: lea edx,[esp+08h] mov edi,SSZ00510770_The_name_or_the_namelen_paramete jmp L004BAE59 CASE_004BAE98_PROC0006: lea edx,[esp+08h] mov edi,SSZ005106F8_A_blocking_Windows_Sockets_1_1_c jmp L004BAE59 CASE_004BAE98_PROC0003: lea edx,[esp+08h] mov edi,SSZ005106CC_The_socket_is_already_bound_to_a jmp L004BAE59 CASE_004BAE98_PROC0004: lea edx,[esp+08h] mov edi,SSZ005106A0_No_more_socket_descriptors_are_a jmp L004BAE59 CASE_004BAE98_PROC0014: lea edx,[esp+08h] mov edi,SSZ00510664_No_buffer_space_is_available__Th jmp L004BAE59 CASE_004BAE98_PROC0008: lea edx,[esp+08h] mov edi,SSZ00510644_The_descriptor_is_not_a_socket_ jmp L004BAE59 CASE_004BAE98_PROC000A: lea edx,[esp+08h] mov edi,SSZ00510608_The_specified_protocol_is_the_wr jmp L004BAE59 CASE_004BAE98_PROC0015: lea edx,[esp+08h] mov edi,SSZ005105E4_The_socket_is_already_connected_ jmp L004BAE59 CASE_004BAE98_PROC000B: lea edx,[esp+08h] mov edi,SSZ00510598_The_referenced_socket_is_not_of_ jmp L004BAE59 CASE_004BAE98_PROC0000: lea edx,[esp+08h] mov edi,SSZ00510558_The__blocking__call_was_canceled jmp L004BAE59 CASE_004BAE98_PROC0007: lea edx,[esp+08h] mov edi,SSZ00510468_A_nonblocking_connect_call_is_in jmp L004BAE59 CASE_004BAE98_PROC000E: lea edx,[esp+08h] mov edi,SSZ00510428_The_specified_address_is_not_ava jmp L004BAE59 CASE_004BAE98_PROC0019: lea edx,[esp+08h] mov edi,SSZ005103F8_The_attempt_to_connect_was_force jmp L004BAE59 CASE_004BAE98_PROC0010: lea edx,[esp+08h] mov edi,SSZ005103BC_The_network_cannot_be_reached_fr jmp L004BAE59 CASE_004BAE98_PROC0018: lea edx,[esp+08h] mov edi,SSZ0051037C_Attempt_to_connect_timed_out_wit jmp L004BAE59 CASE_004BAE98_PROC0005: lea edx,[esp+08h] mov edi,SSZ00510328_The_socket_is_marked_as_nonblock jmp L004BAE59 CASE_004BAE98_PROC0001: lea edx,[esp+08h] mov edi,SSZ005102B0_Attempt_to_connect_datagram_sock jmp L004BAE59 CASE_004BAE98_PROC0011: lea edx,[esp+08h] mov edi,SSZ0051026C_The_connection_has_been_broken_d jmp L004BAE59 CASE_004BAE98_PROC0016: lea edx,[esp+08h] mov edi,SSZ0051024C_The_socket_is_not_connected_ jmp L004BAE59 CASE_004BAE98_PROC0017: lea edx,[esp+08h] mov edi,SSZ005101C0_The_socket_has_been_shut_down__i jmp L004BAE59 CASE_004BAE98_PROC0009: lea edx,[esp+08h] mov edi,SSZ0051014C_The_socket_is_message_oriented__ jmp L004BAE59 CASE_004BAE98_PROC001A: lea edx,[esp+08h] mov edi,SSZ0051010C_The_remote_host_cannot_be_reache jmp L004BAE59 CASE_004BAE98_PROC0012: lea edx,[esp+08h] mov edi,SSZ00510080_The_virtual_circuit_was_terminat jmp L004BAE59 CASE_004BAE98_PROC0013: lea edx,[esp+08h] mov edi,SSZ0050FF60_The_virtual_circuit_was_reset_by jmp L004BAE59 CASE_004BAE98_PROC001C: lea edx,[esp+08h] mov edi,SSZ0050FF50_UNKNOWN_ERROR_ L004BAE59: 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,[KERNEL32.dll!OutputDebugStringA] lea ecx,[esp+08h] push ecx call esi push L004FD294 call esi pop edi pop esi add esp,00000400h retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004BAE98: dd CASE_004BAE98_PROC0000 dd CASE_004BAE98_PROC0001 dd CASE_004BAE98_PROC0002 dd CASE_004BAE98_PROC0003 dd CASE_004BAE98_PROC0004 dd CASE_004BAE98_PROC0005 dd CASE_004BAE98_PROC0006 dd CASE_004BAE98_PROC0007 dd CASE_004BAE98_PROC0008 dd CASE_004BAE98_PROC0009 dd CASE_004BAE98_PROC000A dd CASE_004BAE98_PROC000B dd CASE_004BAE98_PROC000C dd CASE_004BAE98_PROC000D dd CASE_004BAE98_PROC000E dd CASE_004BAE98_PROC000F dd CASE_004BAE98_PROC0010 dd CASE_004BAE98_PROC0011 dd CASE_004BAE98_PROC0012 dd CASE_004BAE98_PROC0013 dd CASE_004BAE98_PROC0014 dd CASE_004BAE98_PROC0015 dd CASE_004BAE98_PROC0016 dd CASE_004BAE98_PROC0017 dd CASE_004BAE98_PROC0018 dd CASE_004BAE98_PROC0019 dd CASE_004BAE98_PROC001A dd CASE_004BAE98_PROC001B dd CASE_004BAE98_PROC001C CASE_004BAF0C: 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 16 SUB_L004BAF70: sub esp,0000040Ch push esi mov esi,ecx test esi,esi push edi jz L004BB11C mov eax,[esi+04h] cmp eax,FFFFFFFFh jnz L004BAFAA mov eax,[L00C88338] test eax,eax jnz L004BB11C push SSZ005112E0_dunno__select_with_invalid_socke call SUB_L004BAB90 pop edi pop esi add esp,0000040Ch retn ;------------------------------------------------------------------------------ L004BAFAA: mov edx,[esi+00030024h] mov ecx,00000001h test edx,edx mov dword ptr [esp+08h],00000000h mov [esp+00000214h],eax mov [esp+00000210h],ecx jle L004BAFD7 mov [esp+0Ch],eax mov [esp+08h],ecx L004BAFD7: mov [esp+00000110h],eax push eax push esi lea eax,[esp+0000031Ch] push SSZ005112C0__08x__SelectPoll___m_sock____d_ push eax mov [esp+0000011Ch],ecx call SUB_L004D512F add esp,00000010h lea ecx,[esp+0000010Ch] lea edx,[esp+08h] lea eax,[esp+00000210h] push L00CD8C38 push ecx mov ecx,[esi+04h] push edx inc ecx push eax push ecx call jmp_WSOCK32.dll!WSOCK32.18 cmp eax,FFFFFFFFh jz L004BB11C mov eax,[esi+04h] lea edx,[esp+0000010Ch] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BB068 mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BB053 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BB053: push SSZ005112A4_exception_state_on_socket mov ecx,esi call SUB_L004BAB90 pop edi pop esi add esp,0000040Ch retn ;------------------------------------------------------------------------------ L004BB068: mov edx,[esi+04h] lea ecx,[esp+00000210h] push ecx push edx call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BB0F2 L004BB07D: mov eax,[esi+00030020h] mov edi,00010000h sub edi,eax test edi,edi jle L004BB0AF mov ecx,[esi+04h] push 00000000h lea eax,[eax+esi+00010020h] push edi push eax push ecx call jmp_WSOCK32.dll!WSOCK32.16 cmp eax,FFFFFFFFh jz L004BB0BB add [esi+00030020h],eax jmp L004BB0B1 L004BB0AF: xor eax,eax L004BB0B1: cmp eax,edi jnz L004BB0F2 test edi,edi jle L004BB0F2 jmp L004BB07D L004BB0BB: call jmp_WSOCK32.dll!WSOCK32.111 push eax mov ecx,esi call SUB_L004BACC0 mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BB0DD push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BB0DD: push SSZ00511280_Exiting_due_to_closed_connection mov ecx,esi call SUB_L004BAB90 pop edi pop esi add esp,0000040Ch retn ;------------------------------------------------------------------------------ L004BB0F2: mov eax,[esi+04h] lea edx,[esp+08h] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BB10B mov ecx,esi call SUB_L004BB130 L004BB10B: mov eax,[esi+00030020h] test eax,eax jle L004BB11C mov ecx,esi call SUB_L004BB450 L004BB11C: pop edi pop esi add esp,0000040Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BB130: mov eax,00010000h call SUB_L004D4B90 push ebx push esi mov esi,ecx cmp dword ptr [esi+04h],FFFFFFFFh jnz L004BB162 mov eax,[L00C88338] test eax,eax jnz L004BB157 push SSZ005112E0_dunno__select_with_invalid_socke call SUB_L004BAB90 L004BB157: pop esi xor eax,eax pop ebx add esp,00010000h retn ;------------------------------------------------------------------------------ L004BB162: mov eax,[esi+14h] xor ebx,ebx cmp eax,ebx jz L004BB22F mov eax,[esi+00030024h] mov ecx,[esi+08h] push edi lea edx,[ecx+eax] cmp edx,0000522Ch jbe L004BB18D mov edi,0000522Ch sub edi,ecx jmp L004BB18F L004BB18D: mov edi,eax L004BB18F: cmp edi,eax jnz L004BB1B8 push eax lea eax,[esp+10h] lea ecx,[esi+00020020h] push eax push ecx mov ecx,[esi+0Ch] call SUB_L004102C0 mov eax,[esi+00030024h] mov ecx,[esi+08h] add ecx,eax mov [esi+08h],ecx jmp L004BB218 L004BB1B8: cmp edi,ebx jz L004BB1D1 mov ecx,[esi+0Ch] lea edx,[esp+0Ch] push edi lea eax,[esi+00020020h] push edx push eax call SUB_L004102C0 L004BB1D1: mov ecx,[esi+0Ch] xor eax,eax push ebp mov ebp,0000000Bh mov al,[ecx+21h] add eax,00000003h cdq idiv ebp push edx push ebx call SUB_L004101F0 mov ecx,[esi+00030024h] lea edx,[esp+edi+10h] sub ecx,edi lea eax,[edi+esi+00020020h] push ecx mov ecx,[esi+0Ch] push edx push eax call SUB_L004102C0 mov eax,[esi+00030024h] pop ebp mov ecx,eax sub ecx,edi mov [esi+08h],ecx L004BB218: push ebx mov [esp+eax+10h],bl push eax mov eax,[esi+04h] lea edx,[esp+14h] push edx push eax call jmp_WSOCK32.dll!WSOCK32.19 pop edi jmp L004BB254 L004BB22F: mov ecx,[esi+00030024h] push ebx lea eax,[esi+00020020h] mov [ecx+esi+00020020h],bl mov edx,[esi+00030024h] mov ecx,[esi+04h] push edx push eax push ecx call jmp_WSOCK32.dll!WSOCK32.19 L004BB254: cmp eax,FFFFFFFFh jnz L004BB285 mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BB26E push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BB26E: push SSZ00511304_socket_error_in_send mov ecx,esi call SUB_L004BAB90 pop esi xor eax,eax pop ebx add esp,00010000h retn ;------------------------------------------------------------------------------ L004BB285: cmp eax,ebx jle L004BB2B2 mov edx,[esi+00030024h] mov ecx,eax cmp eax,edx jge L004BB2B2 L004BB295: mov bl,[esi+ecx+00020020h] mov edx,ecx sub edx,eax inc ecx mov [edx+esi+00020020h],bl mov edx,[esi+00030024h] cmp ecx,edx jl L004BB295 L004BB2B2: mov ecx,[esi+00030024h] sub ecx,eax mov eax,00000000h mov [esi+00030024h],ecx pop esi setnz al pop ebx add esp,00010000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BB2E0: push esi mov esi,ecx call SUB_L004BB130 test eax,eax jz L004BB2F7 L004BB2EC: mov ecx,esi call SUB_L004BB130 test eax,eax jnz L004BB2EC L004BB2F7: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BB300: push esi mov esi,ecx push SSZ00511358_CNetInfo__CNetInfo____begin__ mov dword ptr [esi],L004F179C call SUB_L004C7F20 add esp,00000004h lea eax,[esi+04h] push eax push 00000101h call jmp_WSOCK32.dll!WSOCK32.115 test eax,eax jz L004BB33C push 00000000h push SSZ00511348_SockLib_Error push SSZ0051131C___CNetInfo__CNetInfo____WSAStart push 00000000h call [USER32.dll!MessageBoxA] L004BB33C: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L004BB340: push esi mov esi,ecx mov dword ptr [esi],L004F179C call jmp_WSOCK32.dll!WSOCK32.116 test byte ptr [esp+08h],01h jz L004BB35E push esi call SUB_L004D4F9E add esp,00000004h L004BB35E: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004BB370: mov eax,[L00CD8C4C] sub esp,0000000Ch push ebp xor ebp,ebp cmp eax,ebp jnz L004BB444 push ebx push esi push edi mov [esp+14h],ebp mov ebx,L005109E4 L004BB38F: mov eax,[ebx] mov edi,[ebx-04h] mov [esp+18h],eax mov eax,[L00CD8C4C] cmp eax,ebp mov esi,L00CD8C4C jnz L004BB3CD push 0000000Ch call SUB_L004D4FA9 mov [L00CD8C4C],eax mov [eax+08h],ebp mov ecx,[L00CD8C4C] add esp,00000004h mov [ecx+04h],ebp mov edx,[L00CD8C4C] mov dword ptr [edx],FFFFFFFFh L004BB3CD: cmp edi,ebp jle L004BB425 lea ebp,[edi-01h] mov [esp+10h],edi L004BB3D8: mov eax,00000001h mov ecx,ebp mov esi,[esi] shl eax,cl mov ecx,[esp+18h] test ecx,eax jz L004BB3F0 add esi,00000008h jmp L004BB3F3 L004BB3F0: add esi,00000004h L004BB3F3: mov eax,[esi] xor edi,edi cmp eax,edi jnz L004BB417 push 0000000Ch call SUB_L004D4FA9 mov [esi],eax mov [eax+08h],edi mov edx,[esi] add esp,00000004h mov [edx+04h],edi mov eax,[esi] mov dword ptr [eax],FFFFFFFFh L004BB417: mov eax,[esp+10h] dec ebp dec eax mov [esp+10h],eax jnz L004BB3D8 xor ebp,ebp L004BB425: mov ecx,[esi] mov eax,[esp+14h] add ebx,00000008h mov [ecx],eax inc eax cmp ebx,SSZ005111EC_CSocket__CSocket___begin__ mov [esp+14h],eax jl L004BB38F pop edi pop esi pop ebx L004BB444: pop ebp add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BB450: push ecx push ebx push ebp push esi mov esi,ecx push edi mov eax,[esi+14h] test eax,eax jz L004BB70D mov edx,[esi+0001001Ch] mov eax,[L00CD8C4C] xor ecx,ecx cmp edx,00000008h mov cl,[esi+00010020h] mov ebp,ecx jge L004BB4F2 mov ecx,00000007h sub ecx,edx L004BB483: mov edi,00000001h shl edi,cl test ebp,edi jz L004BB493 mov eax,[eax+08h] jmp L004BB496 L004BB493: mov eax,[eax+04h] L004BB496: mov edi,[eax] cmp edi,FFFFFFFFh jz L004BB4DA cmp edi,00000100h jz L004BB4E3 lea edi,[edx+01h] mov [esi+0001001Ch],edi mov edi,[esi+00010018h] mov al,[eax] mov [edi+esi+18h],al mov eax,[esi+00010018h] inc eax mov edi,eax mov [esi+00010018h],eax mov eax,[L00CD8C4C] cmp edi,00010000h jz L004BB5A2 L004BB4DA: inc edx dec ecx cmp edx,00000008h jl L004BB483 jmp L004BB4F2 L004BB4E3: mov dword ptr [esi+0001001Ch],00000008h mov eax,[L00CD8C4C] L004BB4F2: mov ecx,[esi+00030020h] mov edi,00000001h cmp ecx,edi mov [esp+10h],edi jle L004BB5A2 mov ebx,00000010h L004BB50E: xor ecx,ecx mov cl,[esi+edi+00010020h] xor edi,edi mov ebp,ecx mov ecx,00000007h L004BB520: mov edx,00000001h shl edx,cl test ebp,edx jz L004BB530 mov eax,[eax+08h] jmp L004BB533 L004BB530: mov eax,[eax+04h] L004BB533: mov edx,[eax] cmp edx,FFFFFFFFh jz L004BB574 cmp edx,00000100h jz L004BB57D lea edx,[ebx+edi-07h] mov [esi+0001001Ch],edx mov edx,[esi+00010018h] mov al,[eax] mov [edx+esi+18h],al mov eax,[esi+00010018h] inc eax mov edx,eax mov [esi+00010018h],eax mov eax,[L00CD8C4C] cmp edx,00010000h jz L004BB5A2 L004BB574: inc edi dec ecx cmp ecx,FFFFFFFFh jg L004BB520 jmp L004BB588 L004BB57D: mov [esi+0001001Ch],ebx mov eax,[L00CD8C4C] L004BB588: mov edi,[esp+10h] mov ecx,[esi+00030020h] inc edi add ebx,00000008h cmp edi,ecx mov [esp+10h],edi jl L004BB50E L004BB5A2: mov ecx,[esi+0001001Ch] cmp ecx,00000008h jl L004BB5F6 mov eax,[esi+00030020h] sar ecx,03h cmp ecx,eax jge L004BB5D9 mov eax,ecx L004BB5BC: mov bl,[esi+eax+00010020h] mov edx,eax sub edx,ecx inc eax mov [edx+esi+00010020h],bl mov edx,[esi+00030020h] cmp eax,edx jl L004BB5BC L004BB5D9: mov edx,[esi+00030020h] mov eax,[esi+0001001Ch] sub edx,ecx and eax,00000007h mov [esi+00030020h],edx mov [esi+0001001Ch],eax L004BB5F6: mov eax,[esi+00030048h] mov edx,[esi+00010018h] lea ecx,[eax+01h] cmp edx,ecx jl L004BB823 jle L004BB823 mov ebp,00008000h L004BB618: lea edi,[eax+esi+18h] xor eax,eax mov al,[edi] test [L0050E6E4+eax*8],bp jz L004BB638 mov ax,[edi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi+01h],ax L004BB638: xor ecx,ecx mov cl,[edi] mov bx,[L0050E6E4+ecx*8] test ebp,ebx jz L004BB64C mov bx,[edi+01h] L004BB64C: mov eax,[esi+00030048h] and ebx,0000FFFFh lea edx,[eax+ebx] cmp edx,00010000h jle L004BB676 mov ecx,esi sub edi,eax mov dword ptr [esi+00030044h],00000000h call SUB_L004BB910 L004BB676: mov eax,[esi+00030048h] mov ecx,[esi+00010018h] add eax,ebx cmp ecx,eax jl L004BB6E7 mov eax,[esi+00030044h] push edi test eax,eax mov ecx,esi jz L004BB69C call SUB_L004BB9F0 jmp L004BB6CA L004BB69C: call SUB_L004BB9F0 mov ecx,[esi+00010018h] mov eax,ebx cmp ebx,ecx jge L004BB6C4 L004BB6AD: mov dl,[esi+eax+18h] mov ecx,eax sub ecx,ebx inc eax mov [ecx+esi+18h],dl mov ecx,[esi+00010018h] cmp eax,ecx jl L004BB6AD L004BB6C4: sub [esi+00010018h],ebx L004BB6CA: mov eax,[esi+00030048h] mov edx,[esi+00010018h] lea ecx,[eax+01h] cmp edx,ecx jg L004BB618 pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004BB6E7: xor edx,edx mov dl,[edi] test [L0050E6E4+edx*8],bp jz L004BB823 mov ax,[edi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [edi+01h],ax pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004BB70D: mov eax,[esi+00030048h] mov edx,[esi+00030020h] lea ecx,[eax+01h] cmp edx,ecx jl L004BB823 jle L004BB823 mov ebp,00008000h L004BB72F: lea edi,[eax+esi+00010020h] xor eax,eax mov al,[edi] test [L0050E6E4+eax*8],bp jz L004BB752 mov ax,[edi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.15 mov [edi+01h],ax L004BB752: xor ecx,ecx mov cl,[edi] mov bx,[L0050E6E4+ecx*8] test ebp,ebx jz L004BB766 mov bx,[edi+01h] L004BB766: mov eax,[esi+00030048h] and ebx,0000FFFFh lea edx,[eax+ebx] cmp edx,00010000h jle L004BB790 mov ecx,esi sub edi,eax mov dword ptr [esi+00030044h],00000000h call SUB_L004BB910 L004BB790: mov eax,[esi+00030048h] mov ecx,[esi+00030020h] add eax,ebx cmp ecx,eax jl L004BB807 mov eax,[esi+00030044h] push edi test eax,eax mov ecx,esi jz L004BB7B6 call SUB_L004BB9F0 jmp L004BB7EA L004BB7B6: call SUB_L004BB9F0 mov ecx,[esi+00030020h] mov eax,ebx cmp ebx,ecx jge L004BB7E4 L004BB7C7: mov dl,[esi+eax+00010020h] mov ecx,eax sub ecx,ebx inc eax mov [ecx+esi+00010020h],dl mov ecx,[esi+00030020h] cmp eax,ecx jl L004BB7C7 L004BB7E4: sub [esi+00030020h],ebx L004BB7EA: mov eax,[esi+00030048h] mov edx,[esi+00030020h] lea ecx,[eax+01h] cmp edx,ecx jg L004BB72F pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004BB807: xor edx,edx mov dl,[edi] test [L0050E6E4+edx*8],bp jz L004BB823 mov ax,[edi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [edi+01h],ax L004BB823: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ Align 8 L004BB830: mov eax,[ecx+08h] test eax,eax jz L004BB83E push eax call SUB_L004D4F9E pop ecx L004BB83E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BB840: push esi mov esi,ecx push edi mov eax,[esi+00030054h] mov ecx,[esi+00030050h] cmp ecx,eax jl L004BB8B3 lea eax,[00000040h+eax*4] push eax call SUB_L004D4FA9 mov ecx,[esi+00030050h] mov edi,eax add esp,00000004h xor eax,eax test ecx,ecx jle L004BB88B L004BB872: mov ecx,[esi+00030058h] inc eax mov edx,[ecx+eax*4-04h] mov [edi+eax*4-04h],edx mov ecx,[esi+00030050h] cmp eax,ecx jl L004BB872 L004BB88B: mov eax,[esi+00030058h] test eax,eax jz L004BB89E push eax call SUB_L004D4F9E add esp,00000004h L004BB89E: mov eax,[esi+00030054h] mov [esi+00030058h],edi add eax,00000010h mov [esi+00030054h],eax L004BB8B3: mov ecx,[esp+0Ch] xor eax,eax mov al,[ecx] mov ax,[L0050E6E4+eax*8] test ah,80h jz L004BB8CC mov ax,[ecx+01h] L004BB8CC: mov edx,[esi+00030050h] mov edi,[esi+00030058h] mov dword ptr [esi+00030044h],00000001h and eax,0000FFFFh mov [edi+edx*4],ecx mov edx,[esi+00030050h] mov ecx,[esi+00030048h] inc edx add ecx,eax mov [esi+00030050h],edx mov [esi+00030048h],ecx pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004BB910: push esi mov esi,ecx push edi xor edi,edi mov eax,[esi+00030050h] test eax,eax jle L004BB93C L004BB920: mov eax,[esi+00030058h] mov ecx,[eax+edi*4] push ecx mov ecx,esi call SUB_L004BB9F0 mov eax,[esi+00030050h] inc edi cmp edi,eax jl L004BB920 L004BB93C: mov eax,[esi+14h] mov dword ptr [esi+00030050h],00000000h test eax,eax mov eax,[esi+00030048h] jz L004BB999 cmp eax,[esi+00010018h] jge L004BB978 L004BB95B: mov edi,[esi+00030048h] mov cl,[esi+eax+18h] mov edx,eax sub edx,edi inc eax mov [edx+esi+18h],cl mov ecx,[esi+00010018h] cmp eax,ecx jl L004BB95B L004BB978: mov edx,[esi+00030048h] mov eax,[esi+00010018h] sub eax,edx mov dword ptr [esi+00030048h],00000000h mov [esi+00010018h],eax pop edi pop esi retn ;------------------------------------------------------------------------------ L004BB999: cmp eax,[esi+00030020h] jge L004BB9C4 L004BB9A1: mov edi,[esi+00030048h] mov dl,[esi+eax+00010020h] mov ecx,eax sub ecx,edi inc eax mov [ecx+esi+00010020h],dl mov ecx,[esi+00030020h] cmp eax,ecx jl L004BB9A1 L004BB9C4: mov eax,[esi+00030048h] mov ecx,[esi+00030020h] sub ecx,eax mov dword ptr [esi+00030048h],00000000h mov [esi+00030020h],ecx pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BB9F0: mov eax,[ecx+00030044h] push ebx test eax,eax push esi jz L004BBADA mov eax,[esp+0Ch] cmp byte ptr [eax],33h jnz L004BBACF mov dl,[eax+01h] test dl,dl jnz L004BBA37 mov eax,[ecx+00030048h] mov dword ptr [ecx+00030044h],00000000h add eax,00000002h mov [ecx+00030048h],eax call SUB_L004BB910 pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L004BBA37: mov si,[L0050E87C] test esi,00008000h jz L004BBA4A mov si,[eax+01h] L004BBA4A: mov eax,[ecx+14h] and esi,0000FFFFh test eax,eax mov eax,[ecx+00030048h] jz L004BBA93 mov edx,[ecx+00010018h] add eax,esi cmp eax,edx jge L004BBA80 L004BBA69: mov bl,[ecx+eax+18h] mov edx,eax sub edx,esi inc eax mov [edx+ecx+18h],bl mov edx,[ecx+00010018h] cmp eax,edx jl L004BBA69 L004BBA80: mov eax,[ecx+00010018h] sub eax,esi pop esi mov [ecx+00010018h],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ L004BBA93: mov edx,[ecx+00030020h] add eax,esi cmp eax,edx jge L004BBABC L004BBA9F: mov bl,[ecx+eax+00010020h] mov edx,eax sub edx,esi inc eax mov [edx+ecx+00010020h],bl mov edx,[ecx+00030020h] cmp eax,edx jl L004BBA9F L004BBABC: mov eax,[ecx+00030020h] sub eax,esi pop esi mov [ecx+00030020h],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ L004BBACF: push eax call SUB_L004BB840 pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L004BBADA: mov esi,[esp+0Ch] xor eax,eax mov al,[esi] add eax,FFFFFFEFh cmp eax,000000B3h ja CASE_004BC4D8_PROC006D xor edx,edx mov dl,[eax+CASE_004BC690] jmp [CASE_PROCTABLE_004BC4D8+edx*4] CASE_004BC4D8_PROC0068: push esi call SUB_L0048F9C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0015: mov al,[esi+01h] test al,al jz CASE_004BC4D8_PROC006D xor eax,eax mov dword ptr [ecx+00030044h],00000001h mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0002: push esi call SUB_L0048DAC0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003A: push esi call SUB_L0048D230 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003B: push esi call SUB_L0048D550 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC006C: push esi call SUB_L00401E90 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0006: push esi call SUB_L0048CF00 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0007: push esi call SUB_L0048E260 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0008: push esi call SUB_L0048D1C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0004: push esi call SUB_L0048C0A0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0059: push esi call SUB_L004C4E00 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0003: push esi call SUB_L0048C710 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003E: push esi call SUB_L00495FF0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0055: push esi call SUB_L00496D60 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0056: push esi call SUB_L00497510 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003F: push esi call SUB_L00497A80 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0039: push esi call SUB_L0048CCE0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0005: push esi call SUB_L0048CE70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0009: push esi call SUB_L0048E340 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000A: push esi call SUB_L0048DE20 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0046: push esi call SUB_L0048E050 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000B: push esi call SUB_L0048E650 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001A: push esi call SUB_L0048E7D0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000C: push esi call SUB_L0048EAF0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000D: push esi call SUB_L0048ED60 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000E: push esi call SUB_L0048EDC0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC000F: push esi call SUB_L0048EE80 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0010: push esi call SUB_L0048EF70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0050: push esi call SUB_L0048F280 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0051: push esi call SUB_L0048F420 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0052: push esi call SUB_L0048F580 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0011: push esi call SUB_L0048F6E0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0012: push esi call SUB_L0048EE20 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0013: push esi call SUB_L00490F80 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0014: push esi call SUB_L00490FC0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0034: push esi call SUB_L00494C50 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003C: push esi call SUB_L00495870 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC003D: push esi call SUB_L004959C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004A: push esi call SUB_L00495D70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0042: push esi call SUB_L00497D50 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0044: push esi call SUB_L00497F00 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004C: push esi call SUB_L00498700 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0058: push esi call SUB_L00498DC0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005A: push esi call SUB_L00498FA0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005B: push esi call SUB_L00499050 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0062: push esi call SUB_L0049D0E0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0000: push esi call SUB_L00490FD0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0001: push esi call SUB_L00491590 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0016: push esi call SUB_L00491C70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001C: push esi call SUB_L004921B0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001D: push esi call SUB_L00492470 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001F: push esi call SUB_L00492610 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0020: push esi call SUB_L00492110 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0021: push esi call SUB_L00491D00 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001E: push esi call SUB_L00492500 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC001B: push esi call SUB_L004926E0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0022: push esi call SUB_L004928A0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0017: push esi call SUB_L0048DD60 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0018: push esi call SUB_L00491690 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0019: push esi call SUB_L00491B60 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0023: push esi call SUB_L004928E0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0024: push esi call SUB_L0048C030 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0025: push esi call SUB_L004929F0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0027: push esi call SUB_L00492D70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0028: push esi call SUB_L00492DB0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0026: push esi call SUB_L00492FA0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0029: push esi call SUB_L00491DF0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0047: push esi call SUB_L00492270 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0049: push esi call SUB_L00492380 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002A: push esi call SUB_L00492950 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002B: push esi call SUB_L0048C020 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002C: push esi call SUB_L00493180 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002D: push esi call SUB_L00493400 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0048: push esi call SUB_L00493200 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002E: push esi call SUB_L00401E90 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC002F: push esi call SUB_L00401E90 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0030: push esi call SUB_L00493D70 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0031: push esi call SUB_L004941F0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0032: push esi call SUB_L00494780 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0033: push esi call SUB_L004948D0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0035: push esi call SUB_L00495170 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0036: push esi call SUB_L004957B0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0037: push esi call SUB_L00401E90 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0038: push esi call SUB_L00494230 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004F: push esi call SUB_L00494420 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0043: push esi call SUB_L0048D490 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0045: push esi call SUB_L004980C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0040: push esi call SUB_L004984A0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0041: push esi call SUB_L00498590 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004B: push esi call SUB_L0049C720 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004D: push esi call SUB_L00493E10 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005E: push esi call SUB_L00494000 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC004E: push esi call SUB_L00498790 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC006B: push esi call SUB_L004988C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0053: push esi call SUB_L00498A00 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0054: push esi call SUB_L00498A90 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0057: push esi call SUB_L00498D40 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005F: push esi call SUB_L00431740 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005C: push esi call SUB_L00431770 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC005D: push esi call SUB_L00432040 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0060: push esi call SUB_L0049CED0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0061: push esi call SUB_L004AC4C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0063: push esi call SUB_L0049D130 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0064: push esi call SUB_L0049D1D0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0066: push esi call SUB_L0049DE20 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0067: push esi call SUB_L0049DED0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0065: push esi call SUB_L0049E0B0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC006A: push esi call SUB_L0048C1C0 add esp,00000004h xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ CASE_004BC4D8_PROC0069: push esi call SUB_L00494ED0 add esp,00000004h CASE_004BC4D8_PROC006D: xor eax,eax mov al,[esi] pop esi mov [L005111E8],eax pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004BC4D8: dd CASE_004BC4D8_PROC0000 dd CASE_004BC4D8_PROC0001 dd CASE_004BC4D8_PROC0002 dd CASE_004BC4D8_PROC0003 dd CASE_004BC4D8_PROC0004 dd CASE_004BC4D8_PROC0005 dd CASE_004BC4D8_PROC0006 dd CASE_004BC4D8_PROC0007 dd CASE_004BC4D8_PROC0008 dd CASE_004BC4D8_PROC0009 dd CASE_004BC4D8_PROC000A dd CASE_004BC4D8_PROC000B dd CASE_004BC4D8_PROC000C dd CASE_004BC4D8_PROC000D dd CASE_004BC4D8_PROC000E dd CASE_004BC4D8_PROC000F dd CASE_004BC4D8_PROC0010 dd CASE_004BC4D8_PROC0011 dd CASE_004BC4D8_PROC0012 dd CASE_004BC4D8_PROC0013 dd CASE_004BC4D8_PROC0014 dd CASE_004BC4D8_PROC0015 dd CASE_004BC4D8_PROC0016 dd CASE_004BC4D8_PROC0017 dd CASE_004BC4D8_PROC0018 dd CASE_004BC4D8_PROC0019 dd CASE_004BC4D8_PROC001A dd CASE_004BC4D8_PROC001B dd CASE_004BC4D8_PROC001C dd CASE_004BC4D8_PROC001D dd CASE_004BC4D8_PROC001E dd CASE_004BC4D8_PROC001F dd CASE_004BC4D8_PROC0020 dd CASE_004BC4D8_PROC0021 dd CASE_004BC4D8_PROC0022 dd CASE_004BC4D8_PROC0023 dd CASE_004BC4D8_PROC0024 dd CASE_004BC4D8_PROC0025 dd CASE_004BC4D8_PROC0026 dd CASE_004BC4D8_PROC0027 dd CASE_004BC4D8_PROC0028 dd CASE_004BC4D8_PROC0029 dd CASE_004BC4D8_PROC002A dd CASE_004BC4D8_PROC002B dd CASE_004BC4D8_PROC002C dd CASE_004BC4D8_PROC002D dd CASE_004BC4D8_PROC002E dd CASE_004BC4D8_PROC002F dd CASE_004BC4D8_PROC0030 dd CASE_004BC4D8_PROC0031 dd CASE_004BC4D8_PROC0032 dd CASE_004BC4D8_PROC0033 dd CASE_004BC4D8_PROC0034 dd CASE_004BC4D8_PROC0035 dd CASE_004BC4D8_PROC0036 dd CASE_004BC4D8_PROC0037 dd CASE_004BC4D8_PROC0038 dd CASE_004BC4D8_PROC0039 dd CASE_004BC4D8_PROC003A dd CASE_004BC4D8_PROC003B dd CASE_004BC4D8_PROC003C dd CASE_004BC4D8_PROC003D dd CASE_004BC4D8_PROC003E dd CASE_004BC4D8_PROC003F dd CASE_004BC4D8_PROC0040 dd CASE_004BC4D8_PROC0041 dd CASE_004BC4D8_PROC0042 dd CASE_004BC4D8_PROC0043 dd CASE_004BC4D8_PROC0044 dd CASE_004BC4D8_PROC0045 dd CASE_004BC4D8_PROC0046 dd CASE_004BC4D8_PROC0047 dd CASE_004BC4D8_PROC0048 dd CASE_004BC4D8_PROC0049 dd CASE_004BC4D8_PROC004A dd CASE_004BC4D8_PROC004B dd CASE_004BC4D8_PROC004C dd CASE_004BC4D8_PROC004D dd CASE_004BC4D8_PROC004E dd CASE_004BC4D8_PROC004F dd CASE_004BC4D8_PROC0050 dd CASE_004BC4D8_PROC0051 dd CASE_004BC4D8_PROC0052 dd CASE_004BC4D8_PROC0053 dd CASE_004BC4D8_PROC0054 dd CASE_004BC4D8_PROC0055 dd CASE_004BC4D8_PROC0056 dd CASE_004BC4D8_PROC0057 dd CASE_004BC4D8_PROC0058 dd CASE_004BC4D8_PROC0059 dd CASE_004BC4D8_PROC005A dd CASE_004BC4D8_PROC005B dd CASE_004BC4D8_PROC005C dd CASE_004BC4D8_PROC005D dd CASE_004BC4D8_PROC005E dd CASE_004BC4D8_PROC005F dd CASE_004BC4D8_PROC0060 dd CASE_004BC4D8_PROC0061 dd CASE_004BC4D8_PROC0062 dd CASE_004BC4D8_PROC0063 dd CASE_004BC4D8_PROC0064 dd CASE_004BC4D8_PROC0065 dd CASE_004BC4D8_PROC0066 dd CASE_004BC4D8_PROC0067 dd CASE_004BC4D8_PROC0068 dd CASE_004BC4D8_PROC0069 dd CASE_004BC4D8_PROC006A dd CASE_004BC4D8_PROC006B dd CASE_004BC4D8_PROC006C dd CASE_004BC4D8_PROC006D CASE_004BC690: db 00h, 6Dh, 6Dh, 6Dh, 01h, 6Dh, 6Dh, 6Dh, 6Dh, 02h, 03h, 04h, 05h, 6Dh, 6Dh, 06h db 07h, 08h, 09h, 0Ah, 0Bh, 6Dh, 0Ch, 0Dh, 0Eh, 6Dh, 6Dh, 0Fh, 10h, 11h, 12h, 13h db 14h, 6Dh, 15h, 6Dh, 6Dh, 6Dh, 6Dh, 16h, 17h, 18h, 19h, 1Ah, 6Dh, 1Bh, 1Ch, 1Dh db 1Eh, 1Fh, 20h, 21h, 22h, 6Dh, 6Dh, 6Dh, 6Dh, 6Dh, 6Dh, 6Dh, 6Dh, 23h, 24h, 6Dh db 6Dh, 6Dh, 25h, 26h, 27h, 28h, 29h, 6Dh, 6Dh, 6Dh, 2Ah, 2Bh, 6Dh, 6Dh, 6Dh, 6Dh db 6Dh, 6Dh, 6Dh, 6Dh, 2Ch, 2Dh, 6Dh, 6Dh, 2Eh, 2Fh, 6Dh, 30h, 31h, 32h, 33h, 34h db 35h, 36h, 37h, 38h, 6Dh, 39h, 3Ah, 3Bh, 6Dh, 6Dh, 3Ch, 3Dh, 6Dh, 6Dh, 6Dh, 6Dh db 3Eh, 3Fh, 6Dh, 6Dh, 40h, 41h, 6Dh, 42h, 43h, 6Dh, 44h, 45h, 6Dh, 6Dh, 6Dh, 46h db 6Dh, 47h, 48h, 49h, 4Ah, 6Dh, 4Bh, 4Ch, 4Dh, 4Eh, 6Dh, 6Dh, 6Dh, 4Fh, 6Dh, 6Dh db 50h, 51h, 52h, 6Dh, 53h, 54h, 6Dh, 55h, 56h, 57h, 58h, 6Dh, 6Dh, 59h, 5Ah, 5Bh db 6Dh, 5Ch, 5Dh, 5Eh, 5Fh, 6Dh, 60h, 61h, 62h, 63h, 64h, 65h, 66h, 67h, 68h, 69h db 6Ah, 6Bh, 6Dh, 6Ch Align 16 SUB_L004BC750: push ebx push esi mov esi,[esp+0Ch] xor eax,eax mov ebx,ecx push edi mov al,[esi] mov cx,[L0050E6E4+eax*8] and cx,8000h jz L004BC772 mov ax,[esi+01h] jmp L004BC777 L004BC772: mov eax,[L00CD8C40] L004BC777: and eax,0000FFFFh test cx,cx mov edi,eax jz L004BC791 mov ax,[esi+01h] push eax call jmp_WSOCK32.dll!WSOCK32.9 mov [esi+01h],ax L004BC791: push edi push esi mov ecx,ebx call SUB_L004BA8D0 pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ SUB_L004BC7A0: push FFFFFFFFh push L004E603B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000104h push esi mov esi,ecx push edi push SSZ005111EC_CSocket__CSocket___begin__ mov [esp+0Ch],esi mov dword ptr [esi],L004F1794 call SUB_L004C7F20 mov dword ptr [esi+04h],FFFFFFFFh xor edi,edi push SSZ00511378_CGMSSock__CGMSSock____begin__ mov [esp+0000011Ch],edi mov dword ptr [esi],L004F17A0 call SUB_L004C7F20 add esp,00000008h lea eax,[esp+0Ch] mov [esi+0002000Ch],edi mov [esi+00020008h],edi push 00000100h push eax mov [esi+00020010h],edi call jmp_WSOCK32.dll!WSOCK32.57 lea ecx,[esp+0Ch] push ecx call jmp_WSOCK32.dll!WSOCK32.52 cmp eax,edi jz L004BC834 mov edx,[eax+0Ch] mov eax,[edx] mov ecx,[eax] push ecx call jmp_WSOCK32.dll!WSOCK32.14 jmp L004BC836 L004BC834: xor eax,eax L004BC836: mov ecx,[esp+0000010Ch] mov [esi+00020014h],eax mov eax,esi pop edi pop esi mov fs:[00000000h],ecx add esp,00000110h retn ;------------------------------------------------------------------------------ Align 16 L004BC860: push esi mov esi,ecx call SUB_L004BC880 test byte ptr [esp+08h],01h jz L004BC878 push esi call SUB_L004D4F9E add esp,00000004h L004BC878: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BC880: push esi mov esi,ecx mov eax,[esi+04h] mov dword ptr [esi],L004F17A0 cmp eax,FFFFFFFFh jz L004BC89E push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BC89E: mov eax,[esi+04h] mov dword ptr [esi],L004F1794 cmp eax,FFFFFFFFh jz L004BC8B9 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BC8B9: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BC8C0: mov al,01h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004BC8D0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E6069 push eax mov eax,[L00C88300] mov fs:[00000000h],esp sub esp,00000104h push ebp push edi xor edi,edi mov ebp,ecx cmp eax,edi mov [L00C42CD4],edi jz L004BCA11 cmp dword ptr [eax+04h],FFFFFFFFh jz L004BCA11 cmp [L005073C8],edi jl L004BCA11 push edi call SUB_L004D750E mov ecx,[L00CD8C54] sub eax,0000003Ch add esp,00000004h cmp ecx,eax jge L004BCA11 cmp [L00C882BC],edi jnz L004BC9F7 push esi push 00020018h call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+0Ch],esi cmp esi,edi mov [esp+00000118h],edi jz L004BC9E3 push SSZ005111EC_CSocket__CSocket___begin__ mov dword ptr [esi],L004F1794 call SUB_L004C7F20 mov dword ptr [esi+04h],FFFFFFFFh push SSZ00511378_CGMSSock__CGMSSock____begin__ mov byte ptr [esp+00000120h],01h mov dword ptr [esi],L004F17A0 call SUB_L004C7F20 add esp,00000008h lea eax,[esp+10h] mov [esi+0002000Ch],edi mov [esi+00020008h],edi push 00000100h push eax mov [esi+00020010h],edi call jmp_WSOCK32.dll!WSOCK32.57 lea ecx,[esp+10h] push ecx call jmp_WSOCK32.dll!WSOCK32.52 cmp eax,edi jz L004BC9D9 mov edx,[eax+0Ch] mov eax,[edx] mov ecx,[eax] push ecx call jmp_WSOCK32.dll!WSOCK32.14 mov [esi+00020014h],eax jmp L004BC9E5 L004BC9D9: xor eax,eax mov [esi+00020014h],eax jmp L004BC9E5 L004BC9E3: xor esi,esi L004BC9E5: mov [L00C882BC],esi mov dword ptr [esp+00000118h],FFFFFFFFh pop esi L004BC9F7: push 000014B4h mov ecx,ebp call SUB_L004BC8C0 push edi call SUB_L004D750E add esp,00000004h mov [L00CD8C54],eax L004BCA11: mov ecx,[esp+0000010Ch] pop edi pop ebp mov fs:[00000000h],ecx add esp,00000110h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004BCA30: sub esp,0000030Ch push esi mov esi,ecx push edi mov eax,[esi+04h] cmp eax,FFFFFFFFh jnz L004BCA62 mov eax,[L00C88338] test eax,eax jnz L004BCBAA push SSZ005112E0_dunno__select_with_invalid_socke call SUB_L004BC8D0 pop edi pop esi add esp,0000030Ch retn ;------------------------------------------------------------------------------ L004BCA62: mov edx,[esi+0002000Ch] mov ecx,00000001h test edx,edx mov dword ptr [esp+08h],00000000h mov [esp+00000214h],eax mov [esp+00000210h],ecx jle L004BCA8F mov [esp+0Ch],eax mov [esp+08h],ecx L004BCA8F: mov [esp+0000010Ch],ecx lea ecx,[esp+0000010Ch] push L00CD8C30 push ecx lea edx,[esp+10h] mov [esp+00000118h],eax lea ecx,[esp+00000218h] push edx inc eax push ecx push eax call jmp_WSOCK32.dll!WSOCK32.18 cmp eax,FFFFFFFFh jz L004BCBAA mov eax,[esi+04h] lea edx,[esp+0000010Ch] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BCB06 mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BCAF1 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BCAF1: push SSZ005112A4_exception_state_on_socket mov ecx,esi call SUB_L004BC8D0 pop edi pop esi add esp,0000030Ch retn ;------------------------------------------------------------------------------ L004BCB06: mov edx,[esi+04h] lea ecx,[esp+00000210h] push ecx push edx call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BCB80 L004BCB1B: mov eax,[esi+00020008h] mov edi,00010000h sub edi,eax test edi,edi jle L004BCB4A mov ecx,[esi+04h] push 00000000h lea eax,[eax+esi+08h] push edi push eax push ecx call jmp_WSOCK32.dll!WSOCK32.16 cmp eax,FFFFFFFFh jz L004BCB56 add [esi+00020008h],eax jmp L004BCB4C L004BCB4A: xor eax,eax L004BCB4C: cmp eax,edi jnz L004BCB80 test edi,edi jle L004BCB80 jmp L004BCB1B L004BCB56: mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004BCB6B push eax call jmp_WSOCK32.dll!WSOCK32.3 mov dword ptr [esi+04h],FFFFFFFFh L004BCB6B: push SSZ00511280_Exiting_due_to_closed_connection mov ecx,esi call SUB_L004BC8D0 pop edi pop esi add esp,0000030Ch retn ;------------------------------------------------------------------------------ L004BCB80: mov eax,[esi+04h] lea edx,[esp+08h] push edx push eax call jmp_WSOCK32.dll!WSOCK32.151 test eax,eax jz L004BCB99 mov ecx,esi call SUB_L004BCBC0 L004BCB99: mov eax,[esi+00020008h] test eax,eax jle L004BCBAA mov ecx,esi call SUB_L004BCC80 L004BCBAA: pop edi pop esi add esp,0000030Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCBC0: push ebx push esi mov esi,ecx or ebx,FFFFFFFFh push edi cmp [esi+04h],ebx jnz L004BCBE6 mov eax,[L00C88338] test eax,eax jnz L004BCBE0 push SSZ005112E0_dunno__select_with_invalid_socke call SUB_L004BC8D0 L004BCBE0: pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L004BCBE6: mov eax,[esi+0002000Ch] lea edi,[esi+00010008h] push 00000000h mov byte ptr [eax+esi+00010008h],00h mov ecx,[esi+0002000Ch] mov edx,[esi+04h] push ecx push edi push edx call jmp_WSOCK32.dll!WSOCK32.19 cmp eax,ebx jnz L004BCC33 mov eax,[esi+04h] cmp eax,ebx jz L004BCC21 push eax call jmp_WSOCK32.dll!WSOCK32.3 mov [esi+04h],ebx L004BCC21: push SSZ00511304_socket_error_in_send mov ecx,esi call SUB_L004BC8D0 pop edi pop esi xor eax,eax pop ebx retn ;------------------------------------------------------------------------------ L004BCC33: test eax,eax jle L004BCC5C mov edx,[esi+0002000Ch] mov ecx,eax cmp eax,edx jge L004BCC5C L004BCC43: mov bl,[edi+ecx] mov edx,ecx sub edx,eax inc ecx mov [edx+esi+00010008h],bl mov edx,[esi+0002000Ch] cmp ecx,edx jl L004BCC43 L004BCC5C: mov ecx,[esi+0002000Ch] pop edi sub ecx,eax mov eax,00000000h mov [esi+0002000Ch],ecx pop esi setnz al pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCC80: push ebx push esi push edi mov ebx,ecx xor esi,esi L004BCC87: mov eax,[ebx+00020008h] cmp esi,eax jge L004BCD36 cmp eax,00000001h jle L004BCD36 mov al,[ebx+esi+08h] lea edi,[ebx+08h] test al,al jnz L004BCD27 mov al,[esi+ebx+09h] test al,al jnz L004BCD27 push edi call SUB_L0049D230 mov al,[edi+esi] add esp,00000004h test al,al jnz L004BCCE4 L004BCCC1: mov al,[edi+esi+01h] test al,al jnz L004BCCE4 cmp esi,[ebx+00020008h] jge L004BCCE4 cmp esi,00010000h jge L004BCCE4 mov al,[edi+esi+02h] add esi,00000002h test al,al jz L004BCCC1 L004BCCE4: mov ecx,[ebx+00020008h] mov eax,ecx and eax,80000001h jns L004BCCF8 dec eax or eax,FFFFFFFEh inc eax L004BCCF8: jz L004BCCFB dec esi L004BCCFB: cmp esi,ecx mov eax,esi jge L004BCD17 L004BCD01: mov dl,[edi+eax] mov ecx,eax sub ecx,esi inc eax mov [ecx+ebx+08h],dl mov ecx,[ebx+00020008h] cmp eax,ecx jl L004BCD01 L004BCD17: mov eax,[ebx+00020008h] sub eax,esi xor esi,esi mov [ebx+00020008h],eax L004BCD27: add esi,00000002h cmp esi,00010000h jl L004BCC87 L004BCD36: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BCD40: mov edx,ecx push ebx mov ecx,00010000h push esi mov ebx,[edx+0002000Ch] push edi sub ecx,ebx xor edi,edi test ecx,ecx jle L004BCD94 mov esi,[esp+10h] xor eax,eax L004BCD5E: cmp word ptr [eax+esi],0000h jz L004BCD73 add eax,00000002h inc edi cmp eax,ecx jl L004BCD5E pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ L004BCD73: lea eax,[edi+edi+02h] lea edi,[ebx+edx+00010008h] mov ecx,eax mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb add [edx+0002000Ch],eax L004BCD94: pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004BCDA0: mov eax,ecx mov dword ptr [eax],00000000h mov dword ptr [eax+04h],00000000h retn ;------------------------------------------------------------------------------ SUB_L004BCDB0: mov eax,[ecx+04h] mov eax,[ecx+eax*4+08h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCDC0: mov eax,[ecx+04h] mov edx,[ecx] inc eax cmp eax,edx mov [ecx+04h],eax jl L004BCDDC mov dword ptr [ecx+04h],00000000h mov eax,[ecx+04h] mov eax,[ecx+eax*4+08h] retn ;------------------------------------------------------------------------------ L004BCDDC: mov edx,[ecx+04h] mov eax,[ecx+edx*4+08h] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCDF0: mov eax,[ecx] mov edx,[esp+04h] mov [ecx+eax*4+08h],edx mov eax,[ecx] inc eax mov [ecx],eax retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004BCE10: sub esp,0000000Ch lea eax,[esp+00h] push eax push 00020019h push 00000000h push SSZ005113E0_HARDWARE_DESCRIPTION_System_Cent push 80000002h call [ADVAPI32.dll!RegOpenKeyExA] test eax,eax jnz L004BCEBE push esi lea ecx,[esp+0Ch] push edi mov edi,[ADVAPI32.dll!RegQueryValueExA] lea edx,[esp+0Ch] push ecx push edx push eax mov [esp+18h],eax push eax mov eax,[esp+18h] push SSZ005113D8__MHz push eax mov dword ptr [esp+28h],00000004h call edi mov esi,eax test esi,esi jz L004BCEA5 mov eax,[esp+08h] lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx push edx push 00000000h push 00000000h push SSZ005113D0__Mhz push eax call edi mov esi,eax test esi,esi jz L004BCEA5 mov eax,[esp+08h] lea ecx,[esp+10h] lea edx,[esp+0Ch] push ecx push edx push 00000000h push 00000000h push SSZ005113C8__mhz push eax call edi mov esi,eax L004BCEA5: mov ecx,[esp+08h] push ecx call [ADVAPI32.dll!RegCloseKey] pop edi test esi,esi pop esi jnz L004BCEBE mov eax,[esp+04h] add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004BCEBE: xor eax,eax add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCED0: xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCEE0: mov eax,[L00D1B0F4] test eax,eax jz L004BCF07 call SUB_L004CE630 mov dword ptr [L00C88348],00000000h mov dword ptr [L00C8834C],00000000h jmp SUB_L0040C940 L004BCF07: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCF10: mov eax,[esp+04h] mov ecx,[L00D1B0F4] cmp eax,ecx jz L004BCF34 call SUB_L004CE630 xor eax,eax mov [L00C88348],eax mov [L00C8834C],eax jmp SUB_L0040C940 L004BCF34: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BCF40: push FFFFFFFFh push L004E6088 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov ebp,[esp+34h] xor eax,eax mov dword ptr [esi],L004F17A4 mov [esi+000000ACh],ebp mov ecx,[ebp+7Ch] mov [esp+2Ch],eax mov [esi+14h],eax mov eax,00000001h push SSZ0050ED80_framedata_for_pointgump push 00000008h mov [esi+000000A8h],ecx mov dword ptr [esi+08h],SSZ00511608_target_gump mov [esi+18h],eax mov [esi+000000A0h],eax mov [esi+000000A4h],eax call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi lea ebx,[esi+20h] rep stosd mov ecx,edx and ecx,00000003h rep stosb lea edi,[esi+24h] push edi push ebx push 00001068h call SUB_L004434A0 mov eax,[edi] push SSZ0050EFA8_frame0 imul eax,[ebx] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,0000001Ch mov [edx+04h],eax mov eax,[esi+3Ch] mov dx,[ebx] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[edi] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,esi call SUB_L004BD110 mov dword ptr [esi+0000009Ch],00000000h mov edi,[L00CD8C6C] push 0000000Ch mov ebx,[edi+04h] call SUB_L004D4FA9 add esp,00000004h mov ecx,edi test edi,edi jnz L004BD03F mov ecx,eax L004BD03F: test ebx,ebx mov [eax],ecx jnz L004BD047 mov ebx,eax L004BD047: mov [eax+04h],ebx mov [edi+04h],eax mov ecx,[eax+04h] mov [ecx],eax add eax,00000008h test eax,eax jz L004BD05B mov [eax],esi L004BD05B: mov eax,[L00CD8C70] inc eax mov [L00CD8C70],eax mov edx,[ebp+7Ch] push edx lea eax,[esp+18h] push 00000004h push eax call SUB_L0049A530 add esp,0000000Ch lea ecx,[esp+14h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 mov ecx,[esp+24h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0004h ;------------------------------------------------------------------------------ L004BD0A0: push esi mov esi,ecx call SUB_L004BD0C0 test byte ptr [esp+08h],01h jz L004BD0B8 push esi call SUB_L004D4F9E add esp,00000004h L004BD0B8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BD0C0: push esi mov esi,ecx mov dword ptr [esi],L004F17A4 mov ecx,[L00CD8C6C] mov eax,[ecx] cmp eax,ecx jz L004BD107 L004BD0D5: cmp [eax+08h],esi jz L004BD0E0 mov eax,[eax] cmp eax,ecx jnz L004BD0D5 L004BD0E0: cmp eax,ecx jz L004BD107 mov ecx,[eax+04h] mov edx,[eax] push eax mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov eax,[L00CD8C70] add esp,00000004h dec eax mov [L00CD8C70],eax L004BD107: mov ecx,esi call SUB_L00458FF0 pop esi retn ;------------------------------------------------------------------------------ SUB_L004BD110: sub esp,00000018h xor eax,eax push esi mov esi,ecx push edi mov ecx,[esi+20h] mov edx,[esi+3Ch] imul ecx,[esi+24h] mov edi,[edx+04h] 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+000000ACh] push eax call SUB_L00406470 mov [L00CD8C24],eax mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] push ecx push edx mov ecx,[eax+04h] xor edi,edi add ecx,00000004h push ecx push edi push edi push 00001068h push SUB_L004B9C60 call SUB_L00443500 mov ecx,[esi+000000ACh] add esp,00000020h cmp ecx,edi jz L004BD22A mov edx,[ecx] call [edx+24h] test eax,eax jz L004BD22A mov ecx,[esi+000000A4h] mov eax,[esi+000000A0h] cmp ecx,eax mov [esp+08h],ecx mov [esp+0Ch],eax jg L004BD1B3 cmp eax,edi jz L004BD1B3 fild dword ptr [esp+08h] fidiv dword ptr [esp+0Ch] jmp L004BD1B9 L004BD1B3: fld dword ptr [L004E73E0] L004BD1B9: fmul dword ptr [L004F1918] mov [esp+10h],edi mov [esp+14h],edi call SUB_L004D5008 mov edx,[esi+24h] or ecx,FFFFFFFFh sub ecx,eax mov dword ptr [L00CD8C24],00000059h mov eax,[esi+000000ACh] mov [esp+18h],ecx mov [esp+1Ch],edx test byte ptr [eax+0000009Ch],04h jz L004BD1FF mov dword ptr [L00CD8C24],0000003Fh L004BD1FF: mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push edx add ecx,00000004h lea edx,[esp+18h] push ecx push edi push edi push edx push 00001069h push SUB_L004B9C60 call SUB_L004436C0 add esp,00000020h L004BD22A: pop edi pop esi add esp,00000018h retn ;------------------------------------------------------------------------------ L004BD230: sub esp,00000018h xor eax,eax push esi mov esi,ecx push edi cmp [esi+6Ch],eax jz L004BD2DB mov [esp+08h],eax mov [esp+0Ch],eax lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx mov ecx,esi call SUB_L00457C90 mov edx,[esi+3Ch] mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edi,[esp+24h] mov esi,[edx+04h] xor edx,edx mov [esp+10h],eax mov [esp+14h],ecx mov dx,[esi] add edx,eax xor eax,eax mov [esp+18h],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+10h] push ecx push edi mov [esp+24h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004BD2DB mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push L004B9BB0 call SUB_L00443960 add esp,00000028h L004BD2DB: pop edi pop esi add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004BD2F0: sub esp,00000008h push esi mov esi,ecx mov eax,[esi+000000A8h] push eax call SUB_L004843F0 add esp,00000004h mov [esi+000000ACh],eax test eax,eax jnz L004BD320 test esi,esi jz L004BD37B mov edx,[esi] push 00000001h mov ecx,esi call [edx] pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004BD320: mov ecx,esi call SUB_L004BD110 mov ecx,[esi+000000ACh] test ecx,ecx jz L004BD37B mov eax,[ecx] lea edx,[esp+04h] push edx lea edx,[esp+0Ch] push edx call [eax+00000084h] mov eax,[L00C8834C] mov ecx,[L0051A75C] sub eax,ecx mov ecx,[esp+04h] lea edx,[eax+ecx+0Ah] mov eax,[esi+20h] mov ecx,[L00C88348] push edx mov edx,[esp+0Ch] sar eax,1 sub ecx,eax mov eax,[L0051A760] sub ecx,eax add ecx,edx push ecx mov ecx,esi call SUB_L004BD380 L004BD37B: pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ SUB_L004BD380: mov eax,[L00B189F8] push ebp test eax,eax push edi mov ebp,ecx jz L004BD3CF mov edi,[L00C8834C] push ebx push esi mov esi,[L00C88348] call SUB_L00447080 mov ebx,eax call SUB_L00447090 mov ecx,[esp+14h] cmp ecx,esi jge L004BD3B1 mov ecx,esi L004BD3B1: mov edx,[esp+18h] cmp edx,edi jge L004BD3BB mov edx,edi L004BD3BB: add esi,ebx cmp ecx,esi jle L004BD3C3 mov ecx,esi L004BD3C3: add eax,edi pop esi cmp edx,eax pop ebx jle L004BD3D7 mov edx,eax jmp L004BD3D7 L004BD3CF: mov edx,[esp+10h] mov ecx,[esp+0Ch] L004BD3D7: mov edi,[ebp+34h] push 00000001h push 00000000h sub edx,edi push 00000001h push edx sub ecx,[ebp+30h] push ecx mov ecx,ebp call SUB_L00457800 pop edi 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; '?' push ecx mov al,[esp+03h] push 0000000Ch mov [L00CD8C68],al call SUB_L004D4FA9 mov [eax],eax mov [eax+04h],eax push L004BD440 mov [L00CD8C6C],eax mov dword ptr [L00CD8C70],00000000h call SUB_L004D50AD add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 L004BD440: mov cl,[L00CD8C60] mov al,01h test al,cl jnz L004BD4AB push esi push edi mov edi,[L00CD8C6C] or cl,al mov [L00CD8C60],cl mov esi,[edi] cmp esi,edi jz L004BD48F L004BD462: mov eax,esi mov esi,[esi] push eax mov ecx,[eax+04h] mov edx,[eax] mov [ecx],edx mov ecx,[eax] mov edx,[eax+04h] mov [ecx+04h],edx call SUB_L004D4F9E mov ecx,[L00CD8C70] add esp,00000004h dec ecx cmp esi,edi mov [L00CD8C70],ecx jnz L004BD462 L004BD48F: mov eax,[L00CD8C6C] push eax call SUB_L004D4F9E add esp,00000004h xor eax,eax mov [L00CD8C6C],eax mov [L00CD8C70],eax pop edi pop esi L004BD4AB: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BD4B0: push FFFFFFFFh push L004E60AB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00CD8C6C] push esi push edi mov edi,00000001h mov eax,[ecx] cmp eax,ecx jz L004BD4FA L004BD4D9: mov edx,[eax+08h] cmp [edx+0000009Ch],edi jz L004BD4EC mov eax,[eax] cmp eax,ecx jnz L004BD4D9 jmp L004BD4FA L004BD4EC: mov eax,[eax+08h] test eax,eax jz L004BD4FA mov edx,[eax] push edi mov ecx,eax call [edx] L004BD4FA: push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+08h],eax mov esi,[esp+1Ch] mov dword ptr [esp+14h],00000000h test eax,eax jz L004BD525 push esi mov ecx,eax call SUB_L004BCF40 jmp L004BD527 L004BD525: xor eax,eax L004BD527: push edi push 00000000h mov ecx,eax mov dword ptr [esp+1Ch],FFFFFFFFh mov [L00CD8C7C],eax call SUB_L004587A0 mov eax,[L00CD8C7C] mov [eax+0000009Ch],edi mov [L00C837F0],edi mov ecx,[esi+7Ch] pop edi mov [L00C837DC],ecx mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BD570: push FFFFFFFFh push L004E60CB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov ecx,[L00CD8C6C] mov eax,[ecx] cmp eax,ecx jz L004BD5B5 L004BD592: mov edx,[eax+08h] cmp dword ptr [edx+0000009Ch],00000002h jz L004BD5A6 mov eax,[eax] cmp eax,ecx jnz L004BD592 jmp L004BD5B5 L004BD5A6: mov eax,[eax+08h] test eax,eax jz L004BD5B5 mov edx,[eax] push 00000001h mov ecx,eax call [edx] L004BD5B5: push 000000B0h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L004BD5E0 mov ecx,[esp+14h] push ecx mov ecx,eax call SUB_L004BCF40 jmp L004BD5E2 L004BD5E0: xor eax,eax L004BD5E2: push 00000001h push 00000000h mov ecx,eax mov dword ptr [esp+14h],FFFFFFFFh mov [L00CD8C78],eax call SUB_L004587A0 mov edx,[L00CD8C78] mov ecx,[esp+04h] mov dword ptr [edx+0000009Ch],00000002h mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BD620: sub esp,00000108h mov eax,[esp+00000110h] push esi mov esi,[esp+00000110h] and eax,0000FFFFh mov [esp+04h],eax and esi,0000FFFFh fild dword ptr [esp+04h] xor ecx,ecx mov cx,[L00D1B924+esi*2] fstp dword ptr [esp+04h] mov [esp+08h],ecx fild dword ptr [esp+08h] fsubr dword ptr [esp+04h] fcom dword ptr [L004E8758] fnstsw ax test ah,40h jnz L004BD732 fmul dword ptr [L004F1920] fld dword ptr [esp+04h] fmul dword ptr [L004F1920] movsx edx,[esi+L00CD8C80] fld ST(1) fmul dword ptr [L004F191C] mov [esp+08h],edx fiadd dword ptr [esp+08h] call SUB_L004D5008 mov ecx,[L0050CF08] mov [esi+L00CD8C80],al movsx eax,al cmp eax,ecx jl L004BD730 fld ST(1) fcomp dword ptr [L004E8758] mov byte ptr [esi+L00CD8C80],00h fnstsw ax test ah,41h jnz L004BD6ED sub esp,00000008h lea ecx,[esi+esi*4] shl ecx,04h fstp qword ptr [esp] sub esp,00000008h add ecx,L00CC3C68 lea edx,[esp+1Ch] fstp qword ptr [esp] push ecx push SSZ00511654_Your_skill_in__s_has_increased_b push edx jmp L004BD70F L004BD6ED: sub esp,00000008h lea eax,[esi+esi*4] shl eax,04h fstp qword ptr [esp] sub esp,00000008h add eax,L00CC3C68 lea ecx,[esp+1Ch] fstp qword ptr [esp] push eax push SSZ00511614_Your_skill_in__s_has_decreased_b push ecx L004BD70F: call SUB_L004D512F add esp,0000001Ch lea edx,[esp+0Ch] push edx push 00000003h push 00000058h call SUB_L004BDF40 add esp,0000000Ch pop esi add esp,00000108h retn ;------------------------------------------------------------------------------ L004BD730: fstp ST(0) L004BD732: fstp ST(0) pop esi add esp,00000108h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BD740: push ebx push ebp mov ebp,[esp+0Ch] push edi mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx mov ebx,ecx cmp ebx,00000001h jle L004BD7C2 lea eax,[ebx+01h] push esi push eax call SUB_L004D5A3E mov edx,eax add esp,00000004h xor esi,esi xor eax,eax xor edi,edi test ebx,ebx jle L004BD795 L004BD773: mov cl,[edi+ebp] cmp cl,20h jnz L004BD78A test esi,esi jnz L004BD783 mov [eax+edx],cl inc eax L004BD783: mov esi,00000001h jmp L004BD790 L004BD78A: mov [eax+edx],cl inc eax xor esi,esi L004BD790: inc edi cmp edi,ebx jl L004BD773 L004BD795: 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,ebp shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb call SUB_L004D59F6 add esp,00000004h pop esi L004BD7C2: pop edi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BD7D0: sub esp,00000100h push ebp mov ebp,[esp+00000108h] push edi mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx push ecx mov [esp+0Ch],ecx call SUB_L0047D3B0 add esp,00000004h test eax,eax jz L004BD901 push ebx push esi push ebp call SUB_L004BD740 mov esi,[esp+00000120h] add esp,00000004h cmp esi,00000002h jnz L004BD8AD mov edi,ebp or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx add ecx,esi push ecx call SUB_L004D5A3E mov ebx,eax or ecx,FFFFFFFFh mov edi,L004FFFE4 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 xor eax,eax and ecx,00000003h rep movsb mov edi,ebp 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 mov edi,L004FFFE4 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 mov esi,[esp+0000011Ch] jmp L004BD8AF L004BD8AD: mov ebx,ebp L004BD8AF: mov edi,ebx or ecx,FFFFFFFFh xor eax,eax push esi repne scasb not ecx dec ecx lea eax,[esp+18h] push ecx push ebx push eax call SUB_L004998D0 add esp,00000010h lea ecx,[esp+14h] push ecx mov ecx,[L00C88300] call SUB_L004BC750 cmp esi,00000002h jnz L004BD8E9 push ebx call SUB_L004D59F6 add esp,00000004h L004BD8E9: mov edx,[esp+10h] push edx call SUB_L0047D3D0 add esp,00000004h pop esi pop ebx pop edi pop ebp add esp,00000100h retn ;------------------------------------------------------------------------------ L004BD901: call SUB_L0047D5F0 mov eax,[esp+00000114h] mov ecx,[esp+00000110h] push eax push ecx push ebp call SUB_L0047D3F0 add esp,0000000Ch pop edi pop ebp add esp,00000100h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BD930: push SSZ00511694_TextManager__startup__begin__ call SUB_L004C7F20 xor eax,eax add esp,00000004h mov [L00CD9CD8],eax mov [L00CD9CDC],eax mov [L00CD9CD4],eax mov byte ptr [L00CD9CD2],01h mov [L00CD9CB4],al retn ;------------------------------------------------------------------------------ Align 8 L004BD960: push esi mov esi,[L00CD9CDC] test esi,esi jz L004BD98E push edi L004BD96C: mov eax,[esi] mov edi,[esi+18h] test eax,eax jz L004BD97E push eax call SUB_L004D4F9E add esp,00000004h L004BD97E: push esi call SUB_L004D4F9E add esp,00000004h mov esi,edi test edi,edi jnz L004BD96C pop edi L004BD98E: pop esi retn ;------------------------------------------------------------------------------ SUB_L004BD990: mov edx,[L00CD9CE0] sub esp,00000008h xor eax,eax push ebx push ebp push esi push edi test edx,edx jle L004BD9BE mov ebp,[esp+20h] mov ecx,L00CD8CB4 L004BD9AC: cmp ebp,[ecx] jz L004BD9BA inc eax add ecx,00000004h cmp eax,edx jl L004BD9AC jmp L004BD9C2 L004BD9BA: xor ebp,ebp jmp L004BD9C2 L004BD9BE: mov ebp,[esp+20h] L004BD9C2: cmp dword ptr [L00CD9CD4],00000064h jnz L004BDA41 mov esi,[L00B294DC] test esi,esi jz L004BDA03 L004BD9D5: mov eax,[esi] mov ecx,esi call [eax+000000D0h] test eax,eax jz L004BD9FC mov eax,[esi+000000D0h] mov ecx,[L00CD9CDC] cmp eax,ecx jnz L004BD9FC mov ecx,[eax+18h] mov [esi+000000D0h],ecx L004BD9FC: mov esi,[esi+40h] test esi,esi jnz L004BD9D5 L004BDA03: mov esi,[L00CD9CDC] mov eax,[esi+18h] mov [L00CD9CDC],eax mov dword ptr [eax+1Ch],00000000h mov eax,[esi] test eax,eax jz L004BDA2D push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi],00000000h L004BDA2D: push esi call SUB_L004D4F9E mov eax,[L00CD9CD4] add esp,00000004h dec eax mov [L00CD9CD4],eax L004BDA41: mov esi,[esp+1Ch] lea edx,[esp+20h] lea eax,[esp+10h] push edx lea ecx,[esp+18h] push eax push ecx push esi push 00000009h call SUB_L00441BC0 push 00000020h call SUB_L004D4FA9 mov ebx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edx,eax mov edi,esi or ecx,FFFFFFFFh xor eax,eax add esp,0000001Ch 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 mov eax,[esp+24h] and ecx,00000003h rep movsb mov [ebx+04h],ebp mov ecx,[esp+20h] mov [ebx+0Ch],ecx mov edx,[esp+10h] mov [ebx+08h],edx mov [ebx+14h],eax mov dword ptr [ebx+18h],00000000h mov ecx,[L00CD9CD8] mov [ebx+1Ch],ecx mov eax,[L00CD9CDC] test eax,eax jz L004BDAF6 mov edx,[L00CD9CD8] pop edi pop esi pop ebp mov [edx+18h],ebx mov eax,[L00CD9CD4] inc eax mov [L00CD9CD8],ebx mov [L00CD9CD4],eax pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004BDAF6: mov eax,[L00CD9CD4] pop edi inc eax pop esi mov [L00CD9CD8],ebx mov [L00CD9CDC],ebx pop ebp mov [L00CD9CD4],eax pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BDB20: mov edx,[L00CD9CE0] sub esp,00000008h xor eax,eax push ebx push esi test edx,edx push edi jle L004BDB4D mov ebx,[esp+1Ch] mov ecx,L00CD8CB4 L004BDB3B: cmp ebx,[ecx] jz L004BDB49 inc eax add ecx,00000004h cmp eax,edx jl L004BDB3B jmp L004BDB51 L004BDB49: xor ebx,ebx jmp L004BDB51 L004BDB4D: mov ebx,[esp+1Ch] L004BDB51: cmp dword ptr [L00CD9CD4],00000064h jnz L004BDBCA mov esi,[L00B294DC] test esi,esi jz L004BDB92 L004BDB64: mov eax,[esi] mov ecx,esi call [eax+000000D0h] test eax,eax jz L004BDB8B mov eax,[esi+000000D0h] mov ecx,[L00CD9CDC] cmp eax,ecx jnz L004BDB8B mov ecx,[eax+18h] mov [esi+000000D0h],ecx L004BDB8B: mov esi,[esi+40h] test esi,esi jnz L004BDB64 L004BDB92: mov esi,[L00CD9CDC] mov eax,[esi+18h] mov [L00CD9CDC],eax mov dword ptr [eax+1Ch],00000000h mov eax,[esi] test eax,eax jz L004BDBB6 push eax call SUB_L004D4F9E add esp,00000004h L004BDBB6: push esi call SUB_L004D4F9E mov eax,[L00CD9CD4] add esp,00000004h dec eax mov [L00CD9CD4],eax L004BDBCA: mov edi,[esp+18h] lea edx,[esp+1Ch] lea eax,[esp+0Ch] push edx lea ecx,[esp+14h] push eax push ecx push edi call SUB_L004C6930 push 00000020h call SUB_L004D4FA9 push edi mov esi,eax call SUB_L004C4300 lea edx,[eax+eax+02h] push edx call SUB_L004D4FA9 push edi push eax mov [esi],eax mov dword ptr [esi+10h],00000001h call SUB_L004C4430 mov edx,[esp+44h] mov [esi+04h],ebx mov eax,[esp+40h] add esp,00000024h mov [esi+0Ch],eax mov ecx,[esp+0Ch] mov [esi+08h],ecx mov [esi+14h],edx mov dword ptr [esi+18h],00000000h mov eax,[L00CD9CD8] mov [esi+1Ch],eax mov eax,[L00CD9CDC] test eax,eax jz L004BDC60 mov ecx,[L00CD9CD8] pop edi mov [ecx+18h],esi mov eax,[L00CD9CD4] mov [L00CD9CD8],esi inc eax pop esi mov [L00CD9CD4],eax pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ L004BDC60: mov eax,[L00CD9CD4] mov [L00CD9CD8],esi mov [L00CD9CDC],esi inc eax pop edi pop esi mov [L00CD9CD4],eax pop ebx add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BDC80: mov al,[L00C8C499] test al,al jz L004BDD6F mov ecx,[L00CD9CE8] test ecx,ecx jz L004BDD6F mov eax,[L00CD9CE4] test eax,eax jnz L004BDCBF push L005116B4 push ecx call SUB_L00440220 add esp,00000008h mov [L00CD9CE4],eax test eax,eax jz L004BDD6F L004BDCBF: mov cl,[L00C8C49A] test cl,cl jz L004BDD5C push ebx mov ebx,[esp+08h] cmp byte ptr [ebx],00h jz L004BDD24 push esi push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax repne scasb not ecx dec ecx lea eax,[ecx+ecx+02h] push eax call SUB_L004D5A3E mov esi,eax push ebx push esi call SUB_L004C44F0 mov ecx,[L00CD9CE4] 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_L004D6274 push esi call SUB_L004D59F6 mov eax,[L00CD9CE4] add esp,00000020h pop edi pop esi L004BDD24: push eax push 00000001h lea edx,[esp+10h] push 00000002h push edx mov dword ptr [esp+18h],0000000Ah call SUB_L004D6274 mov eax,[L00CD9CE4] lea ecx,[esp+18h] push eax push 00000001h push 00000002h push ecx mov dword ptr [esp+28h],0000000Dh call SUB_L004D6274 add esp,00000020h pop ebx retn ;------------------------------------------------------------------------------ L004BDD5C: mov edx,[esp+04h] push edx push L00506158 push eax call SUB_L004D571D add esp,0000000Ch L004BDD6F: retn ;------------------------------------------------------------------------------ SUB_L004BDD70: mov al,[L00C8C499] push esi test al,al jz L004BDE52 mov ecx,[L00CD9CE8] test ecx,ecx jz L004BDE52 mov eax,[L00CD9CE4] test eax,eax jnz L004BDDB0 push L005116B4 push ecx call SUB_L00440220 add esp,00000008h mov [L00CD9CE4],eax test eax,eax jz L004BDE52 L004BDDB0: mov cl,[L00C8C49A] test cl,cl jz L004BDE18 mov esi,[esp+08h] cmp word ptr [esi],0000h jz L004BDDDF push eax push esi call SUB_L004C4300 add esp,00000004h push eax push 00000002h push esi call SUB_L004D6274 mov eax,[L00CD9CE4] add esp,00000010h L004BDDDF: push eax push 00000001h lea eax,[esp+10h] push 00000002h push eax mov dword ptr [esp+18h],0000000Ah call SUB_L004D6274 mov ecx,[L00CD9CE4] lea edx,[esp+18h] push ecx push 00000001h push 00000002h push edx mov dword ptr [esp+28h],0000000Dh call SUB_L004D6274 add esp,00000020h pop esi retn ;------------------------------------------------------------------------------ L004BDE18: push edi mov edi,[esp+0Ch] push edi call SUB_L004C4300 lea eax,[eax+eax+02h] push eax call SUB_L004D5A3E mov esi,eax push edi push esi call SUB_L004C4B20 mov ecx,[L00CD9CE4] push esi push L00506158 push ecx call SUB_L004D571D push esi call SUB_L004D59F6 add esp,00000020h pop edi L004BDE52: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BDE60: mov eax,[L00CD9CEC] push esi test eax,eax jnz L004BDECD mov eax,[esp+0Ch] mov esi,[esp+08h] push 00000000h push eax push esi call SUB_L004BDB20 push esi call SUB_L004BDD70 mov esi,[L00B294DC] add esp,00000010h test esi,esi jz L004BDECD L004BDE8E: mov edx,[esi] mov ecx,esi call [edx+000000D0h] test eax,eax jz L004BDEC6 mov eax,[esi+000000CCh] mov ecx,[eax+14h] test ecx,ecx jnz L004BDEB0 mov ecx,esi call SUB_L004BEC70 L004BDEB0: mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 L004BDEC6: mov esi,[esi+40h] test esi,esi jnz L004BDE8E L004BDECD: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BDED0: mov eax,[L00CD9CEC] push esi test eax,eax jnz L004BDF3D mov eax,[esp+0Ch] mov esi,[esp+08h] push 00000000h push eax push esi call SUB_L004BD990 push esi call SUB_L004BDC80 mov esi,[L00B294DC] add esp,00000010h test esi,esi jz L004BDF3D L004BDEFE: mov edx,[esi] mov ecx,esi call [edx+000000D0h] test eax,eax jz L004BDF36 mov eax,[esi+000000CCh] mov ecx,[eax+14h] test ecx,ecx jnz L004BDF20 mov ecx,esi call SUB_L004BEC70 L004BDF20: mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 L004BDF36: mov esi,[esi+40h] test esi,esi jnz L004BDEFE L004BDF3D: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004BDF40: mov eax,fs:[00000000h] push FFFFFFFFh push L004E60EB push eax mov fs:[00000000h],esp push esi mov esi,[esp+18h] push esi call SUB_L00441030 add esp,00000004h test eax,eax jz L004BDFA3 push 000000ECh mov byte ptr [L00CD9CD2],01h call SUB_L004D4FA9 add esp,00000004h mov [esp+18h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L004BDFA3 mov ecx,[esp+14h] mov edx,[esp+1Ch] push 00000000h push 00000000h push esi push ecx push edx push 00000000h mov ecx,eax call SUB_L004110B0 L004BDFA3: mov ecx,[esp+04h] pop esi mov fs:[00000000h],ecx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BDFC0: push FFFFFFFFh push L004E614A mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp push esi mov esi,ecx push edi mov [esp+14h],esi call SUB_L00458F30 mov ecx,[esp+2Ch] mov edx,[esp+30h] mov dword ptr [esi],L004F1924 mov eax,[L00CD9CDC] xor ebx,ebx mov [esi+000000D0h],eax mov [esi+000000D4h],ebx mov [esi+000000D8h],ebx lea edi,[esi+24h] mov [esi+30h],ecx lea ebp,[esi+20h] mov [esi+34h],edx push edi mov dword ptr [esi+08h],SSZ005116DC_text_gump push ebp mov [esi+60h],ebx push 00000820h mov [esp+30h],ebx mov [esi+5Ch],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+64h],ebx mov dword ptr [esi+54h],00000820h mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 mov eax,[ebp+00h] lea ecx,[esi+28h] add eax,00000007h mov dword ptr [edi],0000012Ch and al,F8h mov [esi+1Ch],eax mov [ebp+00h],eax lea eax,[esi+2Ch] push eax push ecx push 00000830h call SUB_L004434A0 push SSZ005116C4_framedata_for_CTextGump push 00000010h mov [esi+14h],ebx mov dword ptr [esi+18h],00000002h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[ebp+00h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[ebp+00h] shl ecx,1 xor eax,eax mov edx,[esi+3Ch] push SSZ005116B8_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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+28h] imul eax,[esi+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+0Ch],eax mov ecx,[esi+28h] imul ecx,[esi+2Ch] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[esi+3Ch] 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 push 00000830h push SUB_L004B9B80 call SUB_L00443500 mov ebp,[ebp+00h] add esp,0000004Ch mov dword ptr [esi+000000B8h],00000026h mov dword ptr [esi+000000BCh],00000044h lea eax,[ebp-31h] mov ecx,eax mov [esi+000000C0h],eax and ecx,80000001h jns L004BE1D7 dec ecx or ecx,FFFFFFFEh inc ecx L004BE1D7: jnz L004BE1E0 dec eax mov [esi+000000C0h],eax L004BE1E0: mov edx,[esi+24h] mov ecx,esi sub edx,0000004Eh mov [esi+000000C4h],edx call SUB_L004BEC70 push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 lea eax,[esp+10h] lea ecx,[esp+18h] push eax push ecx push 0000082Eh call SUB_L004434A0 push 000000BCh call SUB_L004D4FA9 add esp,00000010h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],01h jz L004BE24E mov edx,[esi+24h] mov edi,[esp+10h] sub edx,edi push 0000001Fh sub edx,00000038h push esi push edx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00422790 jmp L004BE250 L004BE24E: xor eax,eax L004BE250: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl mov [esi+000000C8h],eax call SUB_L004587A0 mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],02h jz L004BE2AB push ebx push 0000082Dh push 0000082Dh push SUB_L0041E070 push ebx push ebx push esi push ebx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004BE2AD L004BE2AB: xor eax,eax L004BE2AD: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],03h jz L004BE303 mov ecx,[esi+24h] mov ebp,[esp+10h] push ebx push 0000082Eh push 0000082Eh push L004212C0 sub ecx,ebp push ebx push ebx sub ecx,00000003h push esi push ecx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004BE305 L004BE303: xor eax,eax L004BE305: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl mov dword ptr [eax+000000ACh],0000082Fh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],04h jz L004BE362 mov edx,[esi+24h] mov ecx,[esp+10h] push ebx push 0000082Ch push ebx push L0041E4D0 sub edx,ecx push ebx push 00000001h sub edx,00000034h push esi push edx push 000000E9h mov ecx,eax call SUB_L00421F40 jmp L004BE364 L004BE362: xor eax,eax L004BE364: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl mov [esi+000000CCh],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],05h jz L004BE3B6 push ebx push 00000824h push 00000824h push L0041E3B0 push ebx push 00000002h push esi push 00000038h push 000000F9h mov ecx,eax call SUB_L00421F40 jmp L004BE3B8 L004BE3B6: xor eax,eax L004BE3B8: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+2Ch],eax cmp eax,ebx mov byte ptr [esp+24h],06h jz L004BE40F mov ecx,[esi+24h] mov ebp,[esp+10h] push ebx push 00000825h push 00000825h push L0041E300 sub ecx,ebp push ebx push 00000002h sub ecx,00000034h push esi push ecx push 000000F9h mov ecx,eax call SUB_L00421F40 jmp L004BE411 L004BE40F: xor eax,eax L004BE411: push 00000001h push esi mov ecx,eax mov [esp+2Ch],bl call SUB_L004587A0 mov ecx,[esp+1Ch] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004BE440: push esi mov esi,ecx call SUB_L004BE460 test byte ptr [esp+08h],01h jz L004BE458 push esi call SUB_L004D4F9E add esp,00000004h L004BE458: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BE460: push FFFFFFFFh push L004E6168 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F1924 xor edi,edi push SSZ00511720_CTextGump___CTextGump___ mov [esp+18h],edi call SUB_L004C7F50 mov eax,[esi+3Ch] add esp,00000004h mov eax,[eax+04h] cmp eax,edi jz L004BE4B5 push SSZ0051170C_text_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004BE4B5: mov edx,[esi+3Ch] mov eax,[edx+0Ch] cmp eax,edi jz L004BE4D3 push SSZ005116F8_text_frame1_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+0Ch],edi L004BE4D3: mov eax,[esi+3Ch] cmp eax,edi jz L004BE4EB push SSZ005116E8_text_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004BE4EB: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004BE510: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esp+10h] mov edi,00000001h mov [esi+74h],ecx push 00000000h mov ecx,esi mov [esi+70h],eax mov [esi+000000A4h],edi mov [esi+000000D8h],edi call SUB_L004584E0 cmp [esi+000000B0h],edi jnz L004BE553 mov dword ptr [esi+000000B0h],00000002h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004BE553: mov [esi+000000B0h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 L004BE570: mov eax,[ecx+0000009Ch] push esi xor esi,esi cmp eax,esi mov [ecx+000000A4h],esi jz L004BE59C push esi mov [ecx+0000009Ch],esi mov [ecx+000000B0h],esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L004BE59C: cmp dword ptr [ecx+000000B0h],00000002h jnz L004BE5B7 mov eax,[ecx+64h] mov [ecx+000000B0h],esi cmp eax,esi jz L004BE5B7 call SUB_L0041E0F0 L004BE5B7: push esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004BE5D0: push ecx push esi mov esi,ecx mov ecx,[esp+0Ch] push edi mov eax,[esi+20h] xor edx,edx lea edi,[eax-30h] cmp ecx,edi jl L004BE78C add eax,FFFFFFE7h cmp ecx,eax jg L004BE78C mov eax,[esp+14h] mov ecx,[esi+000000BCh] cmp eax,ecx jl L004BE78C cmp eax,[esi+000000C4h] jg L004BE78C mov ecx,[esi+000000D0h] test ecx,ecx jz L004BE78C mov ecx,[esi+000000CCh] lea edi,[eax-08h] push ebx mov dword ptr [ecx+14h],00000001h mov ecx,[esi+000000C8h] cmp edi,[ecx+34h] jge L004BE6AC mov ebx,0000000Ah L004BE641: mov eax,[esi+000000D0h] mov eax,[eax+1Ch] test eax,eax jz L004BE656 mov [esi+000000D0h],eax jmp L004BE65B L004BE656: mov edx,00000001h L004BE65B: dec ebx jnz L004BE641 test edx,edx jz L004BE66C mov dword ptr [esi+000000D4h],00000000h L004BE66C: call SUB_L00422BB0 mov eax,[esi+000000C8h] mov ecx,[eax+34h] cmp ecx,edi jl L004BE68A cmp ecx,[eax+000000ACh] jge L004BE780 L004BE68A: mov [eax+34h],edi mov eax,[esi+000000C8h] mov ecx,[eax+000000ACh] mov edx,[eax+34h] cmp edx,ecx jge L004BE75D mov [eax+34h],ecx jmp L004BE75D L004BE6AC: mov ecx,0000000Ah L004BE6B1: mov eax,[esi+000000D0h] mov eax,[eax+18h] test eax,eax jz L004BE6C6 mov [esi+000000D0h],eax jmp L004BE6CB L004BE6C6: mov edx,00000001h L004BE6CB: dec ecx jnz L004BE6B1 test edx,edx jz L004BE744 mov eax,[esi+000000D0h] mov ecx,[eax+10h] test ecx,ecx jz L004BE70B mov ebx,[esi+000000B8h] lea ecx,[esp+18h] lea edx,[esp+14h] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] lea ecx,[esp+14h] sub edx,ebx push ecx inc edx push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L004BE739 L004BE70B: mov ebx,[esi+000000B8h] lea ecx,[esp+18h] push 00000002h lea edx,[esp+18h] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] sub edx,ebx lea ecx,[esp+18h] inc edx push ecx push edx push eax push 00000009h call SUB_L00441CD0 add esp,0000001Ch L004BE739: mov ecx,[esp+14h] dec ecx mov [esi+000000D4h],ecx L004BE744: mov ecx,[esi+000000C8h] call SUB_L00422BB0 mov eax,[esi+000000C8h] cmp [eax+34h],edi jle L004BE780 mov [eax+34h],edi L004BE75D: mov eax,[esi+000000C8h] mov edx,[esi] push eax mov ecx,[eax+000000ACh] mov edi,[eax+000000B0h] mov eax,[eax+34h] sub edi,ecx sub eax,ecx push edi push eax mov ecx,esi call [edx+34h] L004BE780: push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 pop ebx L004BE78C: pop edi pop esi pop ecx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004BE7A0: push ebx push esi push edi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov ebx,[esi+000000A4h] mov ecx,[esp+18h] mov edi,[esp+14h] add esp,00000004h test ebx,ebx jz L004BE801 mov eax,[esi+000000B0h] test eax,eax jbe L004BE801 mov edx,[esi+70h] mov eax,edi sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jg L004BE7ED mov edx,[esi+74h] mov eax,ecx sub eax,edx cdq xor eax,edx sub eax,edx cmp eax,00000004h jle L004BE801 L004BE7ED: mov dword ptr [esi+0000009Ch],00000001h mov dword ptr [esi+000000B0h],00000000h L004BE801: test ebx,ebx jz L004BE81E mov ebx,[esi+74h] push 00000001h push 00000000h sub ecx,ebx push 00000001h push ecx mov ecx,[esi+70h] sub edi,ecx mov ecx,esi push edi call SUB_L00457800 L004BE81E: pop edi pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 16 L004BE830: push esi mov esi,ecx push edi mov eax,[esi+000000A4h] test eax,eax jz L004BE86B mov ecx,[esi+000000D8h] inc ecx mov eax,ecx mov [esi+000000D8h],ecx cmp eax,00000002h jnz L004BE86B mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L004BE5D0 mov dword ptr [esi+000000D8h],00000000h L004BE86B: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B0h] mov ecx,00000001h cmp edx,ecx jnz L004BE8AC sub edi,[esi+000000ACh] cmp edi,eax jbe L004BE8AC mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L004BE8AC mov [esi+0000009Ch],ecx L004BE8AC: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L004BE8B0: sub esp,00000070h push ebp push esi mov esi,ecx mov ecx,[esp+7Ch] mov eax,[esi+000000CCh] cmp ecx,00000001h mov dword ptr [eax+14h],00000001h jg L004BE8F6 mov ecx,[L00CD9CDC] push 00000001h mov [esi+000000D0h],ecx push 00000001h mov ecx,esi mov dword ptr [esi+000000D4h],00000000h call SUB_L004BEDE0 pop esi pop ebp add esp,00000070h retn 000Ch ;------------------------------------------------------------------------------ L004BE8F6: cmp ecx,[esp+00000080h] jnz L004BE990 mov edx,[L00CD9CD8] mov eax,edx mov [esi+000000D0h],edx mov ecx,[eax+10h] test ecx,ecx jz L004BE944 mov ebp,[esi+000000B8h] lea ecx,[esp+0Ch] lea edx,[esp+08h] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] lea ecx,[esp+18h] sub edx,ebp push ecx inc edx push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L004BE972 L004BE944: mov ebp,[esi+000000B8h] lea ecx,[esp+0Ch] push 00000002h lea edx,[esp+0Ch] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] sub edx,ebp lea ecx,[esp+1Ch] inc edx push ecx push edx push eax push 00000009h call SUB_L00441CD0 add esp,0000001Ch L004BE972: mov ecx,[esp+08h] push 00000001h dec ecx push 00000001h mov [esi+000000D4h],ecx mov ecx,esi call SUB_L004BEDE0 pop esi pop ebp add esp,00000070h retn 000Ch ;------------------------------------------------------------------------------ L004BE990: push edi mov edi,[L00CD9CDC] xor ebp,ebp test edi,edi jz L004BEA1B push ebx lea ebx,[esp+1Ch] L004BE9A2: mov eax,[edi+10h] test eax,eax jz L004BE9D5 lea edx,[esp+14h] lea eax,[esp+10h] push edx mov edx,[esi+000000C0h] push eax mov eax,[esi+000000B8h] sub edx,eax mov eax,[edi] lea ecx,[esp+20h] inc edx push ecx push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L004BEA03 L004BE9D5: lea ecx,[esp+14h] push 00000002h lea edx,[esp+14h] push ecx mov ecx,[esi+000000C0h] push edx mov edx,[esi+000000B8h] lea eax,[esp+24h] sub ecx,edx mov edx,[edi] inc ecx push eax push ecx push edx push 00000009h call SUB_L00441CD0 add esp,0000001Ch L004BEA03: mov eax,[esp+10h] mov edi,[edi+18h] add ebp,eax mov [ebx],al inc ebx test edi,edi jnz L004BE9A2 mov ecx,[esp+00000084h] pop ebx L004BEA1B: mov eax,ebp xor ebp,ebp imul eax,ecx cdq idiv [esp+00000084h] mov ecx,[L00CD9CDC] cmp eax,ebp jle L004BEA58 lea edi,[esp+18h] L004BEA38: xor edx,edx mov dl,[edi] cmp eax,edx jl L004BEA52 sub eax,edx inc edi mov [esi+000000D4h],ebp mov ecx,[ecx+18h] cmp eax,ebp jle L004BEA58 jmp L004BEA38 L004BEA52: mov [esi+000000D4h],eax L004BEA58: mov [esi+000000D0h],ecx push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 pop edi pop esi pop ebp add esp,00000070h retn 000Ch ;------------------------------------------------------------------------------ Align 16 L004BEA80: mov eax,[esp+04h] push ebp mov ebp,[esp+0Ch] push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+48h] and al,F8h test edi,edi mov [esi+1Ch],eax jz L004BEB57 push ebx L004BEAA1: mov edx,[edi] mov ecx,edi call [edx+000000D4h] test eax,eax jz L004BEAF2 mov ecx,[esi+1Ch] mov ebx,[esi+20h] mov eax,[edi+30h] sub ecx,ebx add ecx,eax mov [edi+000000A4h],ecx mov edx,[esi+1Ch] mov ecx,[esi+20h] sub edx,ecx mov ecx,ebp add edx,eax mov eax,[edi+000000A4h] mov [edi+000000A8h],edx mov [edi+30h],eax mov edx,[esi+24h] mov eax,[edi+000000B0h] sub ecx,edx add eax,ecx mov [edi+000000B0h],eax jmp L004BEB4B L004BEAF2: cmp edi,[esi+000000CCh] jnz L004BEB18 mov edx,[esi+1Ch] mov eax,[esi+20h] mov ebx,[edi+30h] mov ecx,[edi+34h] sub edx,eax mov eax,ebp add ebx,edx mov [edi+30h],ebx mov edx,[esi+24h] sub eax,edx add ecx,eax jmp L004BEB48 L004BEB18: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L004BEB33 mov edx,[esi+1Ch] sub edx,ecx add edx,ebx mov [edi+30h],edx L004BEB33: mov ebx,[esi+24h] mov ecx,[edi+34h] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L004BEB4B sub ecx,ebx add ecx,ebp L004BEB48: mov [edi+34h],ecx L004BEB4B: mov edi,[edi+40h] test edi,edi jnz L004BEAA1 pop ebx L004BEB57: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L004BEB79 push SSZ0051170C_text_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004BEB79: mov eax,[esi+5Ch] test eax,eax jz L004BEB95 push SSZ0051173C_gumpbak_textgump push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+5Ch],00000000h L004BEB95: mov eax,[esi+1Ch] push SSZ004FF270_text_frame0 mov [esi+20h],eax imul eax,ebp lea edx,[eax+eax+04h] mov [esi+24h],ebp push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] push SSZ004FF604_gump_background mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[esi+24h] shl eax,1 push eax call SUB_L00475FC0 mov [esi+5Ch],eax mov eax,[esi+20h] add eax,FFFFFFCFh add esp,00000010h mov ecx,eax mov [esi+000000C0h],eax and ecx,80000001h jns L004BEC28 dec ecx or ecx,FFFFFFFEh inc ecx L004BEC28: jnz L004BEC31 dec eax mov [esi+000000C0h],eax L004BEC31: mov edx,[esi+24h] mov eax,[esi+000000CCh] sub edx,0000004Eh mov [esi+000000C4h],edx mov ecx,[eax+14h] test ecx,ecx jnz L004BEC51 mov ecx,esi call SUB_L004BEC70 L004BEC51: mov ecx,[esi+000000C8h] call SUB_L00422BB0 push 00000001h push 00000001h mov ecx,esi call SUB_L004BEDE0 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004BEC70: mov eax,[L00CD9CD8] sub esp,0000000Ch push esi mov esi,ecx push edi mov [esi+000000D0h],eax mov ecx,[eax+10h] test ecx,ecx jz L004BECB5 mov edi,[esi+000000B8h] lea ecx,[esp+0Ch] lea edx,[esp+08h] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] lea ecx,[esp+18h] sub edx,edi push ecx inc edx push edx push eax call SUB_L004C6B20 add esp,00000014h jmp L004BECE3 L004BECB5: mov edi,[esi+000000B8h] lea ecx,[esp+0Ch] push 00000002h lea edx,[esp+0Ch] mov eax,[eax] push ecx push edx mov edx,[esi+000000C0h] sub edx,edi lea ecx,[esp+1Ch] inc edx push ecx push edx push eax push 00000009h call SUB_L00441CD0 add esp,0000001Ch L004BECE3: mov ecx,[esp+08h] mov edi,[esi+000000C4h] dec ecx mov [esi+000000D4h],ecx mov ecx,[esi+000000BCh] sub edi,ecx sub edi,00000004h L004BECFF: mov ecx,[esi+000000D4h] lea edx,[ecx+01h] cmp edi,edx jl L004BEDA5 mov eax,[esi+000000D0h] mov eax,[eax+1Ch] test eax,eax jz L004BEDBE or edx,FFFFFFFFh mov [esi+000000D0h],eax sub edx,ecx mov ecx,[eax+10h] add edi,edx test ecx,ecx jz L004BED6A lea ecx,[esp+0Ch] lea edx,[esp+08h] push ecx lea ecx,[esp+14h] mov eax,[eax] push edx mov edx,[esi+000000C0h] push ecx sub edx,[esi+000000B8h] inc edx push edx push eax call SUB_L004C6B20 mov ecx,[esp+1Ch] add esp,00000014h dec ecx mov [esi+000000D4h],ecx jmp L004BEDB5 L004BED6A: lea ecx,[esp+0Ch] push 00000002h push ecx lea edx,[esp+10h] lea ecx,[esp+18h] mov eax,[eax] push edx mov edx,[esi+000000C0h] push ecx mov ecx,[esi+000000B8h] sub edx,ecx inc edx push edx push eax push 00000009h call SUB_L00441CD0 mov ecx,[esp+24h] add esp,0000001Ch dec ecx mov [esi+000000D4h],ecx jmp L004BEDB5 L004BEDA5: cmp edi,ecx jl L004BEDCE sub edi,ecx mov dword ptr [esi+000000D4h],00000000h L004BEDB5: test edi,edi jz L004BEDD4 jmp L004BECFF L004BEDBE: mov dword ptr [esi+000000D4h],00000000h pop edi pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004BEDCE: sub [esi+000000D4h],edi L004BEDD4: pop edi pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004BEDE0: sub esp,00000024h push ebx push esi mov esi,ecx push edi mov ecx,[esi+000000C0h] mov edx,[esi+000000BCh] mov eax,[esi+000000B8h] mov [esp+28h],ecx mov [esp+24h],edx lea ecx,[esp+0Ch] lea edx,[esp+14h] mov [esp+20h],eax mov eax,[esi+000000C4h] push ecx push edx push 0000082Dh mov [esp+38h],eax call SUB_L004434A0 mov edi,[esp+18h] lea eax,[esp+18h] lea ecx,[esp+20h] push eax push ecx push 0000082Eh call SUB_L004434A0 mov eax,[esp+24h] lea edx,[edi-01h] mov ebx,eax push eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] mov ecx,[eax+04h] push ecx push 00000002h push edx call SUB_L004B5FF0 mov eax,[esi+3Ch] 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] push eax push 0000006Fh push 0000082Ah push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+3Ch] xor edx,edx add esp,00000048h 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 push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+3Ch] 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+24h] sub eax,ebx sub eax,00000030h push eax push 0000001Fh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov edi,[esi+000000D0h] add esp,00000038h test edi,edi jz L004BEFBF mov ebx,[esp+24h] mov eax,[esi+000000D4h] sub ebx,eax L004BEF02: mov eax,[edi+10h] test eax,eax jz L004BEF6D lea ecx,[esp+18h] lea edx,[esp+10h] push ecx mov ecx,[esp+2Ch] push edx mov edx,[esp+28h] sub ecx,edx mov edx,[edi] lea eax,[esp+24h] inc ecx push eax push ecx push edx call SUB_L004C6B20 lea eax,[esp+34h] push 00000000h push eax mov eax,[edi+04h] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] mov ecx,[edi] xor eax,eax mov ax,[L00C42D24+edx*8] mov edx,[esi+20h] push eax mov eax,[esp+40h] push ebx push eax push ecx mov ecx,[esp+54h] push edx mov edx,[esi+3Ch] sub ecx,eax mov eax,[edx+04h] inc ecx push ecx push eax call SUB_L004C73A0 add esp,00000038h jmp L004BEFA6 L004BEF6D: mov eax,[esi+3Ch] mov edx,[esi+20h] push 00000000h push 00000000h lea ecx,[esp+28h] push 00000002h push ecx mov ecx,[eax+04h] mov eax,[esp+30h] push edx mov edx,[esp+3Ch] push ecx mov ecx,[edi] sub edx,eax inc edx push edx mov edx,[edi+04h] push ecx push edx push 00000009h push ebx push eax call SUB_L00441160 add esp,00000030h mov [esp+10h],eax L004BEFA6: mov ecx,[esp+10h] mov eax,[esp+2Ch] mov edi,[edi+18h] add ebx,ecx cmp ebx,eax jg L004BEFBF test edi,edi jnz L004BEF02 L004BEFBF: pop edi pop esi pop ebx add esp,00000024h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004BEFD0: push FFFFFFFFh push L004E61E0 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push ebp mov ebp,ecx push edi mov [esp+10h],ebp call SUB_L00458F30 mov eax,[esp+30h] xor ebx,ebx mov dword ptr [ebp+00h],L004F1A98 mov [ebp+00002010h],ebx mov [ebp+00002014h],eax mov eax,[esp+38h] mov [ebp+00002018h],ebx cmp eax,ebx mov [esp+20h],ebx mov [ebp+0000201Ch],eax jz L004BF037 mov dword ptr [ebp+30h],00000140h mov dword ptr [ebp+34h],000000B4h jmp L004BF042 L004BF037: mov eax,00000014h mov [ebp+30h],eax mov [ebp+34h],eax L004BF042: mov eax,[ebp+00002014h] push esi cmp eax,ebx mov [esp+3Ch],ebx jle L004BF0A1 mov edx,[esp+38h] lea ecx,[ebp+000000D0h] mov [esp+34h],ecx L004BF05F: 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,[esp+34h] shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+3Ch] and ecx,00000003h inc eax rep movsb mov esi,[esp+34h] mov ecx,[ebp+00002014h] add esi,00000050h cmp eax,ecx mov [esp+3Ch],eax mov [esp+34h],esi jl L004BF05F L004BF0A1: lea edi,[ebp+24h] lea esi,[ebp+20h] push edi mov dword ptr [ebp+08h],SSZ0051177C_tips_gump push esi mov [ebp+60h],ebx push 00000820h mov [ebp+5Ch],ebx mov [ebp+000000A8h],ebx mov [ebp+000000A4h],ebx mov [ebp+000000A0h],ebx mov [ebp+0000009Ch],ebx mov [ebp+000000B0h],ebx mov [ebp+000000ACh],ebx mov [ebp+64h],ebx mov dword ptr [ebp+54h],00000820h mov [ebp+50h],ebx mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx call SUB_L004434A0 mov eax,[esi] lea ecx,[ebp+28h] add eax,00000007h mov dword ptr [edi],0000012Ch and al,F8h mov [ebp+1Ch],eax mov [esi],eax lea eax,[ebp+2Ch] push eax push ecx push 000009CBh call SUB_L004434A0 push SSZ00511764_framedata_for_CTipsGump push 00000010h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000002h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ004FF270_text_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+24h] imul eax,[esi] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] push SSZ005116B8_text_frame1 mov [edx+04h],eax mov ecx,[ebp+24h] imul ecx,[esi] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+28h] imul eax,[ebp+2Ch] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] add esp,00000030h mov [edx+0Ch],eax mov ecx,[ebp+28h] imul ecx,[ebp+2Ch] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[ebp+28h] mov ecx,[eax+0Ch] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+2Ch] mov ecx,[eax+0Ch] mov [ecx+02h],dx mov eax,[ebp+0000201Ch] cmp eax,ebx mov eax,[ebp+3Ch] mov eax,[eax+0Ch] jz L004BF22E xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx push 000009CBh jmp L004BF246 L004BF22E: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx push 000009D3h L004BF246: push SUB_L004B9B80 call SUB_L00443500 mov esi,[esi] add esp,0000001Ch mov dword ptr [ebp+000000BCh],00000026h mov dword ptr [ebp+000000C0h],00000044h lea eax,[esi-31h] mov ecx,eax mov [ebp+000000C4h],eax and ecx,80000001h jns L004BF281 dec ecx or ecx,FFFFFFFEh inc ecx L004BF281: jnz L004BF28A dec eax mov [ebp+000000C4h],eax L004BF28A: mov edx,[ebp+24h] mov ecx,ebp sub edx,0000004Eh mov [ebp+000000C8h],edx call SUB_L004BFAC0 lea eax,[esp+10h] lea ecx,[esp+18h] push eax push ecx push 0000082Eh call SUB_L004434A0 push 000000BCh call SUB_L004D4FA9 add esp,00000010h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+24h],01h jz L004BF2ED mov edx,[ebp+24h] mov esi,[esp+10h] sub edx,esi push 0000001Fh sub edx,00000038h push ebp push edx push 00000001h push 00000048h push 00000100h mov ecx,eax call SUB_L00422790 jmp L004BF2EF L004BF2ED: xor eax,eax L004BF2EF: push 00000001h push ebp mov ecx,eax mov [esp+2Ch],bl mov [ebp+000000CCh],eax call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+24h],02h pop esi jz L004BF340 push ebx push 0000082Dh push 0000082Dh push SUB_L0041E070 push ebx push ebx push ebp push ebx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004BF342 L004BF340: xor eax,eax L004BF342: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],03h jz L004BF398 mov ecx,[ebp+24h] mov edi,[esp+0Ch] push ebx push 0000082Eh push 0000082Eh push L004212C0 sub ecx,edi push ebx push ebx sub ecx,00000003h push ebp push ecx push 00000089h mov ecx,eax call SUB_L00421F40 jmp L004BF39A L004BF398: xor eax,eax L004BF39A: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl mov dword ptr [eax+000000ACh],0000082Fh call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],04h jz L004BF3F0 push ebx push 00000824h push 00000824h push SUB_L00401E90 push ebx push 00000002h push ebp push 00000038h push 000000F9h mov ecx,eax call SUB_L00421F40 jmp L004BF3F2 L004BF3F0: xor eax,eax L004BF3F2: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],05h jz L004BF449 mov edx,[ebp+24h] mov ecx,[esp+0Ch] push ebx push 00000825h push 00000825h push SUB_L00401E90 sub edx,ecx push ebx push 00000002h sub edx,00000034h push ebp push edx push 000000F9h mov ecx,eax call SUB_L00421F40 jmp L004BF44B L004BF449: xor eax,eax L004BF44B: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl call SUB_L004587A0 mov eax,[ebp+0000201Ch] mov [ebp+000000B4h],ebx cmp eax,ebx jz L004BF595 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],06h jz L004BF4B6 mov ecx,[ebp+24h] mov edi,[esp+0Ch] push ebx push 000009CDh push 000009CDh push L0041E450 sub ecx,edi push ebx push 00000002h sub ecx,00000018h push ebp push ecx push 000000FBh mov ecx,eax call SUB_L00421F40 jmp L004BF4B8 L004BF4B6: xor eax,eax L004BF4B8: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl mov [eax+000000D4h],ebx call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],07h jz L004BF512 mov edx,[ebp+24h] mov ecx,[esp+0Ch] push ebx push 000009CCh push 000009CCh push L0041E490 sub edx,ecx push ebx push 00000002h sub edx,00000018h push ebp push edx push 00000023h mov ecx,eax call SUB_L00421F40 jmp L004BF514 L004BF512: xor eax,eax L004BF514: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl mov [eax+000000D4h],ebx call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+30h],eax cmp eax,ebx mov byte ptr [esp+20h],08h jz L004BF57F mov ecx,[L00500568] mov edx,[ebp+24h] cmp ecx,ebx push ebx setz cl push ebx push ecx mov ecx,[esp+18h] push SSZ00511750_Don_t_show_again push 00000288h push 00000009h sub edx,ecx push 000009CFh push 000009CEh sub edx,0000001Bh push ebp push edx push 00000060h mov ecx,eax call SUB_L00422D00 jmp L004BF581 L004BF57F: xor eax,eax L004BF581: push 00000001h push ebp mov ecx,eax mov [esp+28h],bl mov [ebp+000000B4h],eax call SUB_L004587A0 L004BF595: mov ecx,[esp+18h] mov eax,ebp pop edi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn 0014h ;------------------------------------------------------------------------------ Align 8 L004BF5B0: push esi mov esi,ecx call SUB_L004BF5D0 test byte ptr [esp+08h],01h jz L004BF5C8 push esi call SUB_L004D4F9E add esp,00000004h L004BF5C8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004BF5D0: push FFFFFFFFh push L004E61F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push esi mov esi,ecx mov [esp+08h],esi mov dword ptr [esi],L004F1A98 mov eax,[esi+0000201Ch] xor ebx,ebx cmp eax,ebx mov [esp+14h],ebx jz L004BF636 mov eax,[esi+000000B4h] xor ecx,ecx cmp [eax+000000B8h],bl setz cl mov eax,ecx cmp eax,ebx mov [L00500568],eax jz L004BF627 push L004FF40C jmp L004BF62C L004BF627: push L004FF410 L004BF62C: push 00000033h call SUB_L00436F10 add esp,00000008h L004BF636: mov edx,[esi+3Ch] mov eax,[edx+04h] cmp eax,ebx jz L004BF654 push SSZ005117AC_tips_frame0_pBMP push eax call SUB_L00476000 mov eax,[esi+3Ch] add esp,00000008h mov [eax+04h],ebx L004BF654: mov ecx,[esi+3Ch] mov eax,[ecx+0Ch] cmp eax,ebx jz L004BF672 push SSZ00511798_tips_frame1_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+0Ch],ebx L004BF672: mov eax,[esi+3Ch] cmp eax,ebx jz L004BF68A push SSZ00511788_tips_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],ebx L004BF68A: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 8 L004BF6B0: mov eax,[esp+04h] push esi mov esi,ecx push edi mov ecx,[esp+10h] mov edi,00000001h mov [esi+74h],ecx push 00000000h mov ecx,esi mov [esi+70h],eax mov [esi+000000A4h],edi mov [esi+00002018h],edi call SUB_L004584E0 cmp [esi+000000B0h],edi jnz L004BF6F3 mov dword ptr [esi+000000B0h],00000002h pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ L004BF6F3: mov [esi+000000B0h],edi call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004BF710: push esi mov esi,ecx mov ecx,[esp+08h] mov eax,[esi+20h] lea edx,[eax-30h] cmp ecx,edx jl L004BF81F add eax,FFFFFFE7h cmp ecx,eax jg L004BF81F mov eax,[esp+0Ch] mov ecx,[esi+000000C0h] cmp eax,ecx jl L004BF81F cmp eax,[esi+000000C8h] jg L004BF81F mov edx,[esi+00002014h] test edx,edx jz L004BF81F mov ecx,[esi+000000CCh] push ebx push edi lea edi,[eax-08h] mov eax,[ecx+34h] mov ebx,0000000Ah cmp edi,eax jge L004BF7C4 L004BF773: mov eax,[esi+00002010h] test eax,eax jz L004BF784 dec eax mov [esi+00002010h],eax L004BF784: dec ebx jnz L004BF773 mov eax,[esi+00002010h] push edx push eax call SUB_L00422C90 mov eax,[esi+000000CCh] mov ecx,[eax+34h] cmp ecx,edi jl L004BF7A9 cmp ecx,[eax+000000ACh] jge L004BF816 L004BF7A9: mov [eax+34h],edi mov eax,[esi+000000CCh] mov ecx,[eax+000000ACh] mov edx,[eax+34h] cmp edx,ecx jge L004BF7F3 mov [eax+34h],ecx jmp L004BF7F3 L004BF7C4: mov eax,[esi+00002010h] inc eax cmp eax,edx jge L004BF7D5 mov [esi+00002010h],eax L004BF7D5: dec ebx jnz L004BF7C4 push edx mov edx,[esi+00002010h] push edx call SUB_L00422C90 mov eax,[esi+000000CCh] cmp [eax+34h],edi jle L004BF816 mov [eax+34h],edi L004BF7F3: mov eax,[esi+000000CCh] mov edx,[esi] push eax mov ecx,[eax+000000ACh] mov edi,[eax+000000B0h] mov eax,[eax+34h] sub edi,ecx sub eax,ecx push edi push eax mov ecx,esi call [edx+34h] L004BF816: mov ecx,esi call SUB_L004BFAC0 pop edi pop ebx L004BF81F: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004BF830: push esi mov esi,ecx push edi mov eax,[esi+000000A4h] test eax,eax jz L004BF86B mov ecx,[esi+00002018h] inc ecx mov eax,ecx mov [esi+00002018h],ecx cmp eax,00000002h jnz L004BF86B mov eax,[esi+74h] mov ecx,[esi+70h] push eax push ecx mov ecx,esi call SUB_L004BF710 mov dword ptr [esi+00002018h],00000000h L004BF86B: call [KERNEL32.dll!GetTickCount] mov edi,eax call [USER32.dll!GetDoubleClickTime] mov edx,[esi+000000B0h] mov ecx,00000001h cmp edx,ecx jnz L004BF8AC sub edi,[esi+000000ACh] cmp edi,eax jbe L004BF8AC mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L004BF8AC mov [esi+0000009Ch],ecx L004BF8AC: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 L004BF8B0: mov edx,[esp+04h] push esi cmp edx,00000001h jg L004BF8CD mov dword ptr [ecx+00002010h],00000000h call SUB_L004BFAC0 pop esi retn 000Ch ;------------------------------------------------------------------------------ L004BF8CD: mov esi,[esp+0Ch] mov eax,[ecx+00002014h] cmp edx,esi jnz L004BF8EB dec eax mov [ecx+00002010h],eax call SUB_L004BFAC0 pop esi retn 000Ch ;------------------------------------------------------------------------------ L004BF8EB: imul eax,edx cdq idiv esi mov [ecx+00002010h],eax call SUB_L004BFAC0 pop esi retn 000Ch ;------------------------------------------------------------------------------ L004BF900: mov eax,[esp+04h] push ebp mov ebp,[esp+0Ch] push esi mov esi,ecx push edi add eax,00000007h mov edi,[esi+48h] and al,F8h test edi,edi mov [esi+1Ch],eax jz L004BF9B1 push ebx L004BF921: mov edx,[edi] mov ecx,edi call [edx+000000D4h] test eax,eax jz L004BF972 mov ecx,[esi+1Ch] mov ebx,[esi+20h] mov eax,[edi+30h] sub ecx,ebx add ecx,eax mov [edi+000000A4h],ecx mov edx,[esi+1Ch] mov ecx,[esi+20h] sub edx,ecx mov ecx,ebp add edx,eax mov eax,[edi+000000A4h] mov [edi+000000A8h],edx mov [edi+30h],eax mov edx,[esi+24h] mov eax,[edi+000000B0h] sub ecx,edx add eax,ecx mov [edi+000000B0h],eax jmp L004BF9A5 L004BF972: mov ecx,[esi+20h] mov ebx,[edi+30h] mov eax,ecx cdq sub eax,edx sar eax,1 cmp ebx,eax jle L004BF98D mov edx,[esi+1Ch] sub edx,ecx add edx,ebx mov [edi+30h],edx L004BF98D: mov ebx,[esi+24h] mov ecx,[edi+34h] mov eax,ebx cdq sub eax,edx sar eax,1 cmp ecx,eax jle L004BF9A5 sub ecx,ebx add ecx,ebp mov [edi+34h],ecx L004BF9A5: mov edi,[edi+40h] test edi,edi jnz L004BF921 pop ebx L004BF9B1: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L004BF9D3 push SSZ005117AC_tips_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004BF9D3: mov eax,[esi+5Ch] test eax,eax jz L004BF9EF push SSZ005117C0_gumpbak_tipsgump push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+5Ch],00000000h L004BF9EF: mov eax,[esi+1Ch] push SSZ004FF270_text_frame0 mov [esi+20h],eax imul eax,ebp lea edx,[eax+eax+04h] mov [esi+24h],ebp push edx call SUB_L00475FC0 mov ecx,[esi+3Ch] push SSZ004FF604_gump_background mov [ecx+04h],eax mov ecx,[esi+20h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[esi+20h] imul eax,[esi+24h] shl eax,1 push eax call SUB_L00475FC0 mov [esi+5Ch],eax mov eax,[esi+20h] add eax,FFFFFFCFh add esp,00000010h mov ecx,eax mov [esi+000000C4h],eax and ecx,80000001h jns L004BFA82 dec ecx or ecx,FFFFFFFEh inc ecx L004BFA82: jnz L004BFA8B dec eax mov [esi+000000C4h],eax L004BFA8B: mov eax,[esi+00002014h] mov edx,[esi+24h] mov ecx,[esi+00002010h] push eax sub edx,0000004Eh push ecx mov ecx,[esi+000000CCh] mov [esi+000000C8h],edx call SUB_L00422C90 mov ecx,esi call SUB_L004BFAC0 pop edi pop esi pop ebp retn 000Ch ;------------------------------------------------------------------------------ Align 4 SUB_L004BFAC0: sub esp,00000018h push ebx push ebp push esi mov esi,ecx push edi mov ecx,[esi+000000C4h] mov edx,[esi+000000C0h] mov eax,[esi+000000BCh] mov [esp+20h],ecx mov [esp+1Ch],edx lea ecx,[esp+10h] lea edx,[esp+14h] mov [esp+18h],eax mov eax,[esi+000000C8h] push ecx push edx push 0000082Dh mov [esp+30h],eax call SUB_L004434A0 mov edi,[esp+1Ch] lea eax,[esp+1Ch] lea ecx,[esp+20h] push eax push ecx push 0000082Eh call SUB_L004434A0 mov eax,[esp+28h] lea edx,[edi-01h] mov ebx,eax push eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] mov ecx,[eax+04h] push ecx push 00000002h push edx call SUB_L004B5FF0 mov eax,[esi+0000201Ch] add esp,0000002Ch test eax,eax jz L004BFB6B mov eax,[esi+3Ch] 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] push eax push 0000007Fh push 000009CAh jmp L004BFB8D L004BFB6B: mov ecx,[esi+3Ch] 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 push 000009D2h L004BFB8D: push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] xor ecx,ecx add esp,0000001Ch xor edx,edx mov eax,[eax+04h] add edi,00000022h mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push edi push 0000001Eh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+3Ch] 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+24h] sub eax,ebx sub eax,00000030h push eax push 0000001Fh push 0000082Bh push SUB_L004B9B80 call SUB_L00443500 mov ebx,[esi+00002010h] mov edi,[esp+54h] add esp,00000038h lea ecx,[ebx+ebx*4] shl ecx,04h lea ebp,[ecx+esi+000000D0h] L004BFC11: mov ecx,[esi+3Ch] mov eax,[esi+20h] push 00000000h push 00000000h lea edx,[esp+20h] push 00000002h push edx mov edx,[ecx+04h] mov ecx,[esp+30h] push eax mov eax,[esp+2Ch] push edx sub ecx,eax inc ecx push ecx push ebp push 00000000h push 00000006h push edi push eax call SUB_L00441160 mov eax,[esp+54h] add esp,00000030h add edi,0000000Eh inc ebx add ebp,00000050h cmp edi,eax jg L004BFC59 cmp ebx,[esi+00002014h] jl L004BFC11 L004BFC59: pop edi pop esi pop ebp pop ebx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004BFC70: push FFFFFFFFh push L004E6244 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov ecx,[esp+28h] mov eax,[esp+24h] mov ebp,[esp+40h] mov [esi+34h],ecx mov ecx,[esp+3Ch] mov [esi+30h],eax mov eax,ecx xor ebx,ebx and eax,80000001h mov [esp+1Ch],ebx mov dword ptr [esi],L004F1C0C mov dword ptr [esi+08h],SSZ005117D4_resize_gump mov [esi+60h],ebx mov [esi+5Ch],ebx mov [esi+64h],ebx mov [esi+54h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+20h],ecx mov [esi+24h],ebp jns L004BFCED dec eax or eax,FFFFFFFEh inc eax L004BFCED: cmp eax,00000001h jnz L004BFCF8 lea edx,[ecx+01h] mov [esi+20h],edx L004BFCF8: mov edx,[esp+48h] mov [esi+000000A4h],ebx mov [esi+000000C0h],edx mov edx,[esp+34h] mov edi,edx mov [esi+000000A8h],ebx and edi,80000001h mov [esi+000000ACh],edx jns L004BFD27 dec edi or edi,FFFFFFFEh inc edi L004BFD27: cmp edi,00000001h jnz L004BFD33 inc edx mov [esi+000000ACh],edx L004BFD33: mov edi,[esp+38h] cmp eax,00000001h mov [esi+000000B0h],edi mov [esi+000000B4h],ecx jnz L004BFD4F inc ecx mov [esi+000000B4h],ecx L004BFD4F: mov ecx,[esp+2Ch] mov eax,[esi+000000ACh] mov edx,[esp+30h] cmp ecx,eax mov [esi+000000B8h],ebp mov [esi+0000009Ch],ecx mov [esi+000000A0h],edx jge L004BFD79 mov [esi+0000009Ch],eax L004BFD79: cmp edx,edi jge L004BFD83 mov [esi+000000A0h],edi L004BFD83: mov eax,[esi+000000B4h] mov ecx,[esi+0000009Ch] cmp ecx,eax jle L004BFD99 mov [esi+0000009Ch],eax L004BFD99: cmp [esi+000000A0h],ebp jle L004BFDA7 mov [esi+000000A0h],ebp L004BFDA7: mov eax,[esi+0000009Ch] mov ecx,eax and ecx,80000001h jns L004BFDBC dec ecx or ecx,FFFFFFFEh inc ecx L004BFDBC: cmp ecx,00000001h jnz L004BFDC8 inc eax mov [esi+0000009Ch],eax L004BFDC8: mov edx,[esp+44h] push 000000B8h mov [esi+000000BCh],edx mov [esi+14h],ebx mov [esi+18h],ebx call SUB_L004D4FA9 add esp,00000004h mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L004BFE0E mov ecx,[esi+000000B4h] push FFFFFFFFh push ebx push 00000001h push 00000002h push ecx push esi push ebx push ebx mov ecx,eax call SUB_L0045B300 mov edi,eax jmp L004BFE10 L004BFE0E: xor edi,edi L004BFE10: mov edx,[edi+24h] push SSZ004FF604_gump_background imul edx,[edi+20h] shl edx,1 push edx mov [esp+24h],bl call SUB_L00475FC0 add esp,00000008h mov ecx,edi mov [edi+5Ch],eax push ebx push esi call SUB_L004587A0 mov eax,[edi+3Ch] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 mov edx,[esi+0000009Ch] add esp,0000000Ch dec edx push eax push 00000001h push edx push ebx push ebx call SUB_L004420B0 push 000000B8h call SUB_L004D4FA9 add esp,0000001Ch mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L004BFEA6 mov ecx,[esi+000000B8h] mov edx,[esi+0000009Ch] push FFFFFFFFh push ebx push 00000002h push ecx push 00000002h push esi sub edx,00000002h push ebx push edx mov ecx,eax call SUB_L0045B300 mov edi,eax jmp L004BFEA8 L004BFEA6: xor edi,edi L004BFEA8: mov eax,[edi+24h] push SSZ004FF604_gump_background imul eax,[edi+20h] shl eax,1 push eax mov [esp+24h],bl call SUB_L00475FC0 add esp,00000008h mov ecx,edi mov [edi+5Ch],eax push ebx push esi call SUB_L004587A0 mov ecx,[edi+3Ch] mov edx,[ecx+04h] push edx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 add esp,0000000Ch push eax mov eax,[esi+000000A0h] dec eax push eax push 00000001h push ebx push ebx call SUB_L004420B0 push 000000B8h call SUB_L004D4FA9 add esp,0000001Ch mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],03h jz L004BFF3E mov ecx,[esi+000000B4h] mov edx,[esi+000000A0h] push FFFFFFFFh push ebx push 00000003h push 00000002h push ecx sub edx,00000002h push esi push edx push ebx mov ecx,eax call SUB_L0045B300 mov edi,eax jmp L004BFF40 L004BFF3E: xor edi,edi L004BFF40: mov eax,[edi+24h] push SSZ004FF604_gump_background imul eax,[edi+20h] shl eax,1 push eax mov [esp+24h],bl call SUB_L00475FC0 add esp,00000008h mov ecx,edi mov [edi+5Ch],eax push ebx push esi call SUB_L004587A0 mov ecx,[edi+3Ch] mov edx,[ecx+04h] push edx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 add esp,0000000Ch push eax mov eax,[esi+0000009Ch] dec eax push 00000001h push eax push ebx push ebx call SUB_L004420B0 push 000000B8h call SUB_L004D4FA9 add esp,0000001Ch mov [esp+24h],eax cmp eax,ebx mov byte ptr [esp+1Ch],04h jz L004BFFCD mov ecx,[esi+000000B8h] push FFFFFFFFh push ebx push 00000004h push ecx push 00000002h push esi push ebx push ebx mov ecx,eax call SUB_L0045B300 mov edi,eax jmp L004BFFCF L004BFFCD: xor edi,edi L004BFFCF: mov edx,[edi+24h] push SSZ004FF604_gump_background imul edx,[edi+20h] shl edx,1 push edx mov [esp+24h],bl call SUB_L00475FC0 add esp,00000008h mov ecx,edi mov [edi+5Ch],eax push ebx push esi call SUB_L004587A0 mov eax,[edi+3Ch] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 mov edx,[esi+000000A0h] add esp,0000000Ch dec edx push eax push edx push 00000001h push ebx push ebx call SUB_L004420B0 mov eax,[esi+000000BCh] add esp,00000018h mov ecx,[eax+74h] mov edx,[eax+70h] push ecx push edx mov ecx,esi call SUB_L004C00D0 push esi call SUB_L00476670 mov ecx,[esp+18h] add esp,00000004h mov eax,esi mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,00000010h retn 0028h ;------------------------------------------------------------------------------ Align 4 L004C0060: push esi mov esi,ecx call SUB_L004C0080 test byte ptr [esp+08h],01h jz L004C0078 push esi call SUB_L004D4F9E add esp,00000004h L004C0078: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C0080: mov dword ptr [ecx],L004F1C0C jmp SUB_L00458FF0 Align 8 L004C0090: push esi mov esi,ecx push 00000000h call SUB_L00476670 mov edx,[esi+000000C0h] mov ecx,[esi+000000BCh] add esp,00000004h mov eax,[ecx] push edx mov edx,[esi+000000A0h] push edx mov edx,[esi+0000009Ch] push edx call [eax+3Ch] test esi,esi jz L004C00C9 mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004C00C9: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004C00D0: push ebx mov edx,[esp+0Ch] mov ebx,ecx push esi mov eax,[ebx+0000009Ch] mov ecx,[ebx+000000A0h] mov [ebx+000000A4h],eax mov eax,[ebx+000000ACh] mov [ebx+000000A8h],ecx mov ecx,[esp+0Ch] cmp ecx,eax mov [ebx+0000009Ch],ecx mov [ebx+000000A0h],edx jge L004C0110 mov [ebx+0000009Ch],eax L004C0110: mov eax,[ebx+000000B0h] cmp edx,eax jge L004C0120 mov [ebx+000000A0h],eax L004C0120: mov eax,[ebx+000000B4h] mov ecx,[ebx+0000009Ch] cmp ecx,eax jle L004C0136 mov [ebx+0000009Ch],eax L004C0136: mov eax,[ebx+000000B8h] mov ecx,[ebx+000000A0h] cmp ecx,eax jle L004C014C mov [ebx+000000A0h],eax L004C014C: mov eax,[ebx+0000009Ch] mov edx,eax and edx,80000001h jns L004C0161 dec edx or edx,FFFFFFFEh inc edx L004C0161: cmp edx,00000001h jnz L004C016D inc eax mov [ebx+0000009Ch],eax L004C016D: mov esi,[ebx+48h] test esi,esi jz L004C028D push edi L004C0179: mov ecx,[esi+24h] mov edx,[esi+3Ch] imul ecx,[esi+20h] 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+000000A4h] dec eax cmp eax,00000003h ja L004C0281 jmp [CASE_PROCTABLE_004C0294+eax*4] CASE_004C0294_PROC0000: mov eax,[esi+3Ch] mov ecx,[eax+04h] push ecx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 mov edx,[ebx+0000009Ch] add esp,0000000Ch dec edx push eax push 00000001h push edx jmp L004C0275 CASE_004C0294_PROC0001: mov eax,[ebx+0000009Ch] mov ecx,[esi+3Ch] sub eax,00000002h mov [esi+30h],eax mov edx,[ecx+04h] push edx push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 add esp,0000000Ch push eax mov eax,[ebx+000000A0h] dec eax push eax jmp L004C0273 CASE_004C0294_PROC0002: mov ecx,[ebx+000000A0h] mov edx,[esi+3Ch] sub ecx,00000002h mov [esi+34h],ecx mov eax,[edx+04h] push eax push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 mov ecx,[ebx+0000009Ch] add esp,0000000Ch dec ecx push eax push 00000001h push ecx jmp L004C0275 CASE_004C0294_PROC0003: mov edx,[esi+3Ch] mov eax,[edx+04h] push eax push 000000FFh push 000000FFh push 000000FFh call SUB_L00446A60 mov ecx,[ebx+000000A0h] add esp,0000000Ch dec ecx push eax push ecx L004C0273: push 00000001h L004C0275: push 00000000h push 00000000h call SUB_L004420B0 add esp,00000018h L004C0281: mov esi,[esi+40h] test esi,esi jnz L004C0179 pop edi L004C028D: pop esi pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004C0294: dd CASE_004C0294_PROC0000 dd CASE_004C0294_PROC0001 dd CASE_004C0294_PROC0002 dd CASE_004C0294_PROC0003 Align 16 L004C02B0: push esi mov esi,[ecx+48h] test esi,esi jz L004C02CD push edi mov edi,[esp+0Ch] L004C02BD: mov eax,[esi] push edi mov ecx,esi call [eax+08h] mov esi,[esi+40h] test esi,esi jnz L004C02BD pop edi L004C02CD: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 L004C02E0: push esi mov esi,[ecx+48h] test esi,esi jz L004C02FD push edi mov edi,[esp+0Ch] L004C02ED: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+40h] test esi,esi jnz L004C02ED pop edi L004C02FD: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C0310: push ebp mov ebp,esp sub esp,00000014h push ebx mov ebx,[ebp+08h] push esi mov esi,[ebp+0Ch] 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-0Ch],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-10h],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-14h],eax mov [ebx+00000404h],eax jz L004C0496 cmp edi,[ebx+00000408h] jle L004C0428 mov eax,[ebx+00000424h] test eax,eax jz L004C040B push eax call SUB_L004D59F6 add esp,00000004h xor eax,eax mov [ebx+00000424h],eax mov [ebx+00000408h],eax L004C040B: mov eax,[ebx+00000428h] test eax,eax jz L004C0428 push eax call SUB_L004D59F6 add esp,00000004h mov dword ptr [ebx+00000428h],00000000h L004C0428: mov eax,[ebx+00000424h] test eax,eax jnz L004C044E lea edx,[00000000h+edi*8] push edx call SUB_L004D5A3E add esp,00000004h mov [ebx+00000424h],eax mov [ebx+00000408h],edi L004C044E: mov eax,[ebx+00000428h] test eax,eax jnz L004C0474 lea eax,[00000000h+edi*4] push eax call SUB_L004D5A3E add esp,00000004h mov [ebx+00000428h],eax mov [ebx+00000408h],edi L004C0474: mov eax,[ebx+00000424h] test eax,eax jnz L004C0485 mov dword ptr [ebp-04h],00000000h L004C0485: mov eax,[ebx+00000428h] test eax,eax jnz L004C0496 mov dword ptr [ebp-04h],00000000h L004C0496: mov ecx,[ebp-10h] mov edx,[ebp-0Ch] lea eax,[ecx+edx] test eax,eax mov [ebp+0Ch],eax jz L004C0506 cmp eax,[ebx+0000040Ch] jle L004C04CE mov ecx,[ebx+00000420h] test ecx,ecx jz L004C04CE push ecx call SUB_L004D59F6 mov eax,[ebp+0Ch] add esp,00000004h mov dword ptr [ebx+00000420h],00000000h L004C04CE: mov ecx,[ebx+00000420h] test ecx,ecx jnz L004C04F3 shl eax,04h push eax call SUB_L004D5A3E mov [ebx+00000420h],eax mov eax,[ebp+0Ch] add esp,00000004h mov [ebx+0000040Ch],eax L004C04F3: mov eax,[ebx+00000420h] test eax,eax jnz L004C0506 xor eax,eax pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004C0506: mov eax,[ebp-04h] test eax,eax jz L004C078B lea ecx,[edi+edi*4] lea edx,[esi+0Ch] lea eax,[0000001Fh+ecx*4] sar eax,03h and al,FCh mov [ebp+0Ch],eax lea eax,[edi+edi] test eax,eax lea ecx,[eax+eax*4] lea esi,[ecx+ecx-0Ah] mov ecx,[ebx+00000424h] lea ecx,[ecx+eax*4] mov [ebp+08h],ecx jbe L004C0578 mov [ebp-08h],eax L004C0543: 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 L004C0564 or eax,FFFFFC00h L004C0564: mov ecx,[ebp+08h] sub ecx,00000004h mov [ebp+08h],ecx mov [ecx],eax mov eax,[ebp-08h] dec eax mov [ebp-08h],eax jnz L004C0543 L004C0578: mov ecx,[ebx] mov eax,[ecx+54h] mov ecx,[ebx+0000041Ch] lea eax,[ecx+eax*4] mov [ebp+08h],eax xor eax,eax test edi,edi jle L004C05B7 L004C058F: mov ecx,[ebx+00000424h] mov esi,[ebp+08h] lea ecx,[ecx+eax*8] mov [ebp-08h],ecx mov ecx,[ecx+04h] mov ecx,[esi+ecx*4] mov esi,[ebp-08h] add ecx,[esi] mov esi,[ebx+00000428h] mov [esi+eax*4],ecx inc eax cmp eax,edi jl L004C058F L004C05B7: mov ecx,[ebp-0Ch] mov edi,[ebp+0Ch] shl ecx,04h add edx,edi mov [ebp+0Ch],ecx test ecx,ecx jz L004C05E1 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 L004C05E1: mov eax,[ebp-10h] add edx,ecx mov [ebp+08h],edx lea edi,[00000000h+eax*8] test edi,edi mov [ebp+0Ch],edi jz L004C0710 mov esi,[ebx+00000420h] add esi,ecx mov ecx,edx test eax,eax jle L004C0710 mov edi,eax L004C060F: 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 L004C060F mov edx,[ebp+08h] mov edi,[ebp+0Ch] L004C0710: mov ecx,[ebx] mov eax,[ecx+58h] imul eax,[ecx+54h] mov ecx,[ebp-14h] shr eax,04h mov esi,ecx imul esi,eax add esi,0000001Fh test esi,FFFFFFE0h jz L004C0743 push ecx mov ecx,[ebx+00000418h] add edx,edi push eax push edx push ecx call SUB_L004D188B add esp,00000010h L004C0743: 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_L004D1934 mov eax,[ebp-04h] add esp,00000024h L004C078B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C07A0: push ebx push esi mov esi,[esp+0Ch] push edi xor ebx,ebx mov eax,[esi+000003F4h] mov [esp+10h],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 L004C07DB push eax call SUB_L004D59F6 add esp,00000004h mov [esi+00000410h],ebx L004C07DB: mov eax,[esi+00000414h] cmp eax,ebx jz L004C07F4 push eax call SUB_L004D59F6 add esp,00000004h mov [esi+00000414h],ebx L004C07F4: mov eax,[esi+0000041Ch] cmp eax,ebx jz L004C080D push eax call SUB_L004D59F6 add esp,00000004h mov [esi+0000041Ch],ebx L004C080D: mov eax,[esi+00000418h] cmp eax,ebx jz L004C0826 push eax call SUB_L004D59F6 add esp,00000004h mov [esi+00000418h],ebx L004C0826: push edi call SUB_L004D5A3E push edi mov [esi+00000410h],eax call SUB_L004D5A3E mov ecx,[esi] mov [esi+00000414h],eax mov edx,[ecx+54h] shl edx,03h push edx call SUB_L004D5A3E mov [esi+0000041Ch],eax mov eax,edi cdq and edx,0000000Fh add eax,edx sar eax,04h shl eax,02h push eax call SUB_L004D5A3E mov ecx,[esi+00000410h] add esp,00000010h cmp ecx,ebx mov [esi+00000418h],eax jz L004C08E7 cmp [esi+00000414h],ebx jz L004C08E7 cmp [esi+0000041Ch],ebx jz L004C08E7 cmp eax,ebx jz L004C08E7 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 L004C08BC L004C08A2: 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 L004C08A2 L004C08BC: mov eax,[esi+00000410h] mov ecx,[esp+10h] mov edx,[esp+14h] push 00000001h push eax lea eax,[ecx+04h] lea ecx,[edx+eax*2] add eax,ecx push eax call SUB_L004D1768 add esp,0000000Ch mov eax,00000001h pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004C08E7: pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C08F0: sub esp,0000000Ch push ebx push ebp push esi push edi mov edi,[esp+20h] mov ecx,00000008h mov esi,00000008h mov dword ptr [esp+10h],00000100h mov eax,[edi] mov edx,[eax+20h] mov ebp,[eax+24h] mov ebx,[eax+28h] sub ecx,edx mov edx,00000008h sub esi,ebx sub edx,ebp mov ebx,ecx mov ecx,edx and ebx,000000FFh and esi,000000FFh and ecx,000000FFh lea eax,[edi+0000072Ch] mov [esp+18h],esi mov [esp+14h],ecx mov [esp+20h],eax lea esi,[edi+0000042Eh] jmp L004C0957 L004C0953: mov ecx,[esp+14h] L004C0957: mov edx,[edi] xor eax,eax mov al,[esi-01h] shr eax,cl mov ecx,[edx+30h] shl eax,cl xor ecx,ecx mov cl,[esi-02h] mov ebp,ecx mov cl,bl shr ebp,cl mov ecx,[edx+2Ch] shl ebp,cl xor ecx,ecx mov cl,[esi] or eax,ebp mov ebp,ecx mov cl,[esp+18h] shr ebp,cl mov ecx,[edx+34h] shl ebp,cl mov cl,[edx] or eax,ebp test cl,40h jz L004C0998 mov edx,eax shl edx,10h or eax,edx L004C0998: mov ecx,[esp+20h] add esi,00000003h mov [ecx],eax mov eax,[esp+10h] add ecx,00000004h dec eax mov [esp+20h],ecx mov [esp+10h],eax jnz L004C0953 pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C09C0: mov eax,[esp+04h] push ebx push ebp push esi mov edx,[eax] mov esi,[eax+00000410h] push edi cmp dword ptr [edx+3Ch],00000008h jnz L004C0A14 test byte ptr [edx],40h jz L004C09F6 mov eax,[edx+58h] mov ecx,[esp+18h] imul eax,[edx+54h] push eax push ecx push esi call SUB_L004D4792 add esp,0000000Ch pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004C09F6: mov ecx,[edx+58h] mov edi,[esp+18h] imul ecx,[edx+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 retn ;------------------------------------------------------------------------------ L004C0A14: test byte ptr [edx],40h mov ecx,[esp+18h] jz L004C0AD7 mov edi,[edx+54h] xor ebp,ebp test edi,edi jbe L004C0B98 L004C0A2E: mov ebx,[edx+58h] xor edi,edi test ebx,ebx jbe L004C0AC6 L004C0A3B: xor edx,edx add edi,00000008h mov dl,[esi] add esi,00000008h add ecx,00000020h mov edx,[eax+edx*4+0000072Ch] mov [ecx-20h],edx xor edx,edx mov dl,[esi-07h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-1Ch],edx xor edx,edx mov dl,[esi-06h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-18h],edx xor edx,edx mov dl,[esi-05h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-14h],edx xor edx,edx mov dl,[esi-04h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-10h],edx xor edx,edx mov dl,[esi-03h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-0Ch],edx xor edx,edx mov dl,[esi-02h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-08h],edx xor edx,edx mov dl,[esi-01h] mov edx,[eax+edx*4+0000072Ch] mov [ecx-04h],edx mov edx,[eax] cmp edi,[edx+58h] jc L004C0A3B L004C0AC6: mov edx,[eax] inc ebp cmp ebp,[edx+54h] jc L004C0A2E pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004C0AD7: mov edi,[edx+54h] xor ebp,ebp test edi,edi jbe L004C0B98 L004C0AE4: mov ebx,[edx+58h] xor edi,edi test ebx,ebx jbe L004C0B8C L004C0AF1: xor edx,edx add edi,00000008h mov dl,[esi] add esi,00000008h add ecx,00000010h mov dx,[eax+edx*4+0000072Ch] mov [ecx-10h],dx xor edx,edx mov dl,[esi-07h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-0Eh],dx xor edx,edx mov dl,[esi-06h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-0Ch],dx xor edx,edx mov dl,[esi-05h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-0Ah],dx xor edx,edx mov dl,[esi-04h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-08h],dx xor edx,edx mov dl,[esi-03h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-06h],dx xor edx,edx mov dl,[esi-02h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-04h],dx xor edx,edx mov dl,[esi-01h] mov dx,[eax+edx*4+0000072Ch] mov [ecx-02h],dx mov edx,[eax] cmp edi,[edx+58h] jc L004C0AF1 L004C0B8C: mov edx,[eax] inc ebp cmp ebp,[edx+54h] jc L004C0AE4 L004C0B98: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C0BA0: push FFFFFFFFh push L004E628C mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h push ebx push ebp push esi mov ebp,ecx push edi mov [esp+24h],ebp call SUB_L00458F30 mov ecx,[esp+50h] xor ebx,ebx cmp ecx,ebx mov [esp+48h],ebx mov dword ptr [ebp+00h],L004F1D80 mov dword ptr [ebp+08h],SSZ005117FC_trade_gump mov [ebp+60h],ebx mov [ebp+0000009Ch],ebx mov [ebp+38h],ecx jz L004C0C01 mov eax,[ecx] call [eax+24h] test eax,eax jz L004C0C01 mov ecx,[ebp+38h] mov [ecx+000001D8h],ebp L004C0C01: mov edi,[esp+5Ch] or ecx,FFFFFFFFh xor eax,eax lea edx,[ebp+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 lea eax,[ebp+24h] and ecx,00000003h push eax rep movsb lea esi,[ebp+20h] mov [ebp+50h],ebx push esi push 00000866h mov [ebp+4Ch],ebx mov [ebp+48h],ebx mov [ebp+44h],ebx mov [ebp+40h],ebx mov dword ptr [ebp+54h],00000866h call SUB_L004434A0 lea ecx,[esp+20h] lea edx,[esp+24h] push ecx push edx push 00000052h call SUB_L004434A0 push SSZ005117E0_framedata_for_CTradeGump push 00000008h mov [ebp+14h],ebx mov dword ptr [ebp+18h],00000001h call SUB_L00475FC0 mov ecx,[ebp+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [ebp+3Ch],edi push SSZ005010AC_container_frame rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi] imul eax,[ebp+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[ebp+3Ch] mov [edx+04h],eax mov ecx,[esi] imul ecx,[ebp+24h] mov edx,[ebp+3Ch] 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,[ebp+3Ch] mov dx,[esi] mov ecx,[eax+04h] mov [ecx],dx mov eax,[ebp+3Ch] mov dx,[ebp+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov eax,[ebp+3Ch] xor ecx,ecx mov eax,[eax+04h] mov cx,[eax+02h] xor edx,edx mov dx,[eax] push ecx add eax,00000004h push edx push eax mov eax,[ebp+54h] push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 add esp,00000044h mov ecx,[esp+54h] mov byte ptr [esp+48h],01h push ecx mov [esp+2Ch],bx mov [esp+2Eh],bx mov [esp+30h],bx call SUB_L004843F0 mov edi,eax add esp,00000004h cmp edi,ebx jz L004C0DA8 mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L004C0DA8 push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+48h],02h jz L004C0D7B mov ecx,[esp+14h] mov edx,[esp+18h] push 00000052h push ecx push edx push 00000001h push edi push ebp push 00000058h push 0000002Eh mov ecx,eax call SUB_L004398E0 jmp L004C0D7D L004C0D7B: xor eax,eax L004C0D7D: mov [ebp+000000C0h],eax mov [eax+000000A8h],ebp mov eax,[ebp+000000C0h] push 00000001h mov [edi+000000B0h],eax mov ecx,[ebp+000000C0h] push ebp mov byte ptr [esp+50h],01h call SUB_L004587A0 L004C0DA8: mov ecx,[esp+58h] push ecx call SUB_L004843F0 mov edi,eax add esp,00000004h cmp edi,ebx jz L004C0E2D mov edx,[edi] mov ecx,edi call [edx+30h] test eax,eax jz L004C0E2D push 000000CCh call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+48h],03h jz L004C0E00 mov ecx,[esp+14h] mov edx,[esp+18h] push 00000052h push ecx push edx push 00000001h push edi push ebp push 00000047h push 000000C0h mov ecx,eax call SUB_L004398E0 jmp L004C0E02 L004C0E00: xor eax,eax L004C0E02: mov [ebp+000000C4h],eax mov [eax+000000A8h],ebp mov eax,[ebp+000000C4h] push 00000001h mov [edi+000000B0h],eax mov ecx,[ebp+000000C4h] push ebp mov byte ptr [esp+50h],01h call SUB_L004587A0 L004C0E2D: push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+48h],04h jz L004C0E76 push 00000869h push 00000867h push ebx push L007049FC push 00000386h push 00000001h push 00000869h push 00000867h push ebp push 0000001Dh push 00000034h mov ecx,eax call SUB_L00422D00 jmp L004C0E78 L004C0E76: xor eax,eax L004C0E78: mov [ebp+000000C8h],eax mov dword ptr [eax+000000A8h],00000868h mov ecx,[ebp+000000C8h] push 00000001h push ebp mov byte ptr [esp+50h],01h mov dword ptr [ecx+000000ACh],0000086Ah mov ecx,[ebp+000000C8h] call SUB_L004587A0 push 000000C0h call SUB_L004D4FA9 add esp,00000004h mov [esp+50h],eax cmp eax,ebx mov byte ptr [esp+48h],05h jz L004C0EFA push 00000869h push 00000867h push ebx push L007049FC push 00000386h push 00000001h push 00000869h push 00000867h push ebp push 000000A0h push 0000010Ah mov ecx,eax call SUB_L00422D00 jmp L004C0EFC L004C0EFA: xor eax,eax L004C0EFC: mov [ebp+000000CCh],eax mov dword ptr [eax+000000BCh],00000001h mov ecx,[ebp+000000CCh] mov byte ptr [esp+48h],01h call SUB_L00422FE0 mov ecx,[ebp+000000CCh] push 00000001h push ebp call SUB_L004587A0 lea edx,[esp+10h] lea eax,[esp+20h] push edx lea ecx,[esp+20h] push eax push ecx push L004FEBE4 push 00000001h call SUB_L00441BC0 mov edx,[ebp+24h] mov eax,[esi] mov [esp+50h],edx mov edx,[ebp+3Ch] lea ecx,[esp+44h] mov [esp+44h],ebx push ecx mov ecx,[esp+28h] mov [esp+50h],eax mov [esp+4Ch],ebx push eax mov eax,[edx+04h] add eax,00000004h add ecx,00000028h push eax push L00C880F8 push 00000386h push 00000001h push ecx push 00000054h call SUB_L004410C0 lea edx,[esp+44h] lea eax,[esp+54h] push edx lea ecx,[esp+54h] push eax lea edi,[ebp+000000A0h] push ecx push edi push 00000001h call SUB_L00441BC0 mov ecx,[ebp+3Ch] mov eax,[esi] add esp,00000048h lea edx,[esp+30h] mov esi,[esp+1Ch] push edx mov edx,[ecx+04h] add edx,00000004h push eax mov eax,[esp+18h] push edx push edi mov ecx,00000104h push 00000386h add eax,000000AAh push 00000001h sub ecx,esi push eax push ecx call SUB_L004410C0 mov ecx,[esp+60h] add esp,00000020h mov eax,ebp mov fs:[00000000h],ecx pop edi pop esi pop ebp pop ebx add esp,0000003Ch retn 0010h ;------------------------------------------------------------------------------ Align 16 L004C1000: push esi mov esi,ecx call SUB_L004C1020 test byte ptr [esp+08h],01h jz L004C1018 push esi call SUB_L004D4F9E add esp,00000004h L004C1018: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C1020: push FFFFFFFFh push L004E62A8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F1D80 mov eax,[esi+000000C0h] xor edi,edi cmp eax,edi mov [esp+14h],edi jz L004C1078 mov eax,[eax+38h] cmp eax,edi jz L004C1062 mov edx,[eax] mov ecx,eax call [edx+04h] L004C1062: mov ecx,[esi+000000C0h] cmp ecx,edi jz L004C1072 mov eax,[ecx] push 00000001h call [eax] L004C1072: mov [esi+000000C0h],edi L004C1078: mov eax,[esi+000000C4h] cmp eax,edi jz L004C10A6 mov eax,[eax+38h] cmp eax,edi jz L004C1090 mov edx,[eax] mov ecx,eax call [edx+04h] L004C1090: mov ecx,[esi+000000C4h] cmp ecx,edi jz L004C10A0 mov eax,[ecx] push 00000001h call [eax] L004C10A0: mov [esi+000000C4h],edi L004C10A6: mov ecx,[esi+38h] cmp ecx,edi jz L004C10BF mov edx,[ecx] call [edx+24h] test eax,eax jz L004C10BF mov eax,[esi+38h] mov [eax+000001D8h],edi L004C10BF: mov ecx,[esi+3Ch] mov eax,[ecx+04h] cmp eax,edi jz L004C10DD push SSZ00511818_Trade_frame1_pBMP push eax call SUB_L00476000 mov edx,[esi+3Ch] add esp,00000008h mov [edx+04h],edi L004C10DD: mov eax,[esi+3Ch] cmp eax,edi jz L004C10F5 push SSZ00511808_Trade_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004C10F5: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004C1120: sub esp,00000030h push esi mov esi,ecx push 00000000h call SUB_L00476670 mov eax,[esi+000000C0h] add esp,00000004h test eax,eax jz L004C116F mov eax,[eax+38h] test eax,eax jz L004C116F mov eax,[eax+7Ch] push 00000000h push 00000000h push eax lea ecx,[esp+10h] push 00000001h push ecx call SUB_L0049B480 mov ecx,[L00C88300] add esp,00000014h lea edx,[esp+04h] push edx call SUB_L004BC750 pop esi add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ L004C116F: test esi,esi jz L004C117B mov eax,[esi] push 00000001h mov ecx,esi call [eax] L004C117B: pop esi add esp,00000030h retn 0008h ;------------------------------------------------------------------------------ Align 16 L004C1190: sub esp,00000030h push esi mov esi,ecx mov eax,[esi+000000C0h] test eax,eax jz L004C1236 mov ecx,[esi+000000C8h] test ecx,ecx jz L004C1236 mov eax,[eax+38h] test eax,eax jz L004C1236 mov edx,[L00C88300] test edx,edx jz L004C1236 cmp [esp+38h],ecx jnz L004C1236 mov dl,[ecx+000000B8h] push 00000000h test dl,dl jz L004C11F9 mov eax,[eax+7Ch] push 00000001h push eax lea ecx,[esp+10h] push 00000002h push ecx call SUB_L0049B480 mov edx,[esi+000000C8h] add esp,00000014h mov byte ptr [edx+000000B8h],00h jmp L004C121B L004C11F9: mov eax,[eax+7Ch] push 00000000h push eax lea ecx,[esp+10h] push 00000002h push ecx call SUB_L0049B480 mov edx,[esi+000000C8h] add esp,00000014h mov byte ptr [edx+000000B8h],01h L004C121B: mov ecx,[esi+000000C8h] call SUB_L00422FE0 mov ecx,[L00C88300] lea eax,[esp+04h] push eax call SUB_L004BC750 L004C1236: pop esi add esp,00000030h retn 0004h ;------------------------------------------------------------------------------ Align 4 L004C1240: sub esp,00000028h push ebp push esi mov esi,ecx lea eax,[esp+08h] push edi lea ecx,[esp+10h] push eax push ecx mov ecx,esi mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov ecx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esi+3Ch] mov [esp+14h],ecx mov [esp+18h],edx xor ebp,ebp mov edi,[eax+04h] mov bp,[edi] mov edi,[esp+38h] add ebp,ecx xor ecx,ecx mov [esp+1Ch],ebp mov eax,[eax+04h] mov cx,[eax+02h] add ecx,edx lea edx,[esp+14h] push edx push edi mov [esp+28h],ecx call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004C1321 lea eax,[esp+24h] lea ecx,[esp+14h] push eax push ecx push edi call SUB_L00457DF0 mov edx,[esi+3Ch] mov ecx,[L005073D4] push ecx mov ecx,[L00B189FC] mov eax,[edx+04h] mov edx,[L005073D0] push edx mov edx,[esp+20h] push ecx mov ecx,[esp+28h] push edx xor edx,edx mov dx,[eax+02h] push ecx xor ecx,ecx push edx mov cx,[eax] lea edx,[esp+48h] push ecx add eax,00000004h push edx push eax push SUB_L004B9B80 call SUB_L00443960 mov esi,[esi+50h] add esp,00000034h test esi,esi jz L004C1321 L004C130E: mov eax,[esi] lea ecx,[esp+24h] push ecx mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L004C130E L004C1321: pop edi pop esi pop ebp add esp,00000028h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C1330: push FFFFFFFFh push L004E62C8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov ecx,[esp+28h] xor ebx,ebx push SSZ0051186C_TooltipGump_framedata push 00000008h mov [esp+24h],ebx mov dword ptr [esi],L004F1EF4 mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx mov [esi+30h],eax mov [esi+34h],ecx mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi add esp,00000008h rep stosd mov ecx,edx and ecx,00000003h rep stosb mov ecx,esi call SUB_L004C1500 test al,al jnz L004C13D1 push 00000001h push SSZ00511850_ToolTipGump__ToolTipGump_ push SSZ00511830_Gump_Tooltip_art_is_wrong_size_ call SUB_L004D1020 add esp,0000000Ch L004C13D1: call SUB_L004C5630 mov edi,eax mov eax,[L0051182C] push eax call SUB_L004C5640 mov ebp,[esp+30h] add esp,00000004h mov ecx,esi push ebp call SUB_L004C16B0 mov ecx,esi call SUB_L004C17B0 mov ecx,[L0050CEA4] mov edx,[esi+000000A8h] mov eax,[esi+000000A4h] push ecx mov ecx,[esi+000000B0h] push edx mov edx,[esi+000000ACh] push eax push ecx push edx push ebp mov ecx,esi call SUB_L004C1AB0 push edi call SUB_L004C5640 add esp,00000004h mov ecx,esi push 00000001h push ebx call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 000Ch ;------------------------------------------------------------------------------ Align 4 L004C1450: push esi mov esi,ecx call SUB_L004C1470 test byte ptr [esp+08h],01h jz L004C1468 push esi call SUB_L004D4F9E add esp,00000004h L004C1468: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C1470: push FFFFFFFFh push L004E62E8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004F1EF4 mov eax,[esi+3Ch] mov dword ptr [esp+10h],00000000h mov eax,[eax+04h] test eax,eax jz L004C14BD push SSZ00511884_TooltipGump_frame_0 push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004C14BD: mov eax,[esi+3Ch] test eax,eax jz L004C14D9 push SSZ0051186C_TooltipGump_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004C14D9: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C1500: sub esp,00000008h lea eax,[esp+04h] lea ecx,[esp+00h] push esi push eax push ecx push 00000BB8h call SUB_L004434A0 mov eax,[esp+10h] mov esi,00000004h add esp,0000000Ch cmp eax,esi jnz L004C169C cmp [esp+08h],esi jnz L004C169C lea edx,[esp+08h] lea eax,[esp+04h] push edx push eax push 00000BB9h call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,000000F5h jnz L004C169C cmp [esp+08h],esi jnz L004C169C lea ecx,[esp+08h] lea edx,[esp+04h] push ecx push edx push 00000BBAh call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jnz L004C169C cmp [esp+08h],esi jnz L004C169C lea eax,[esp+08h] lea ecx,[esp+04h] push eax push ecx push 00000BBBh call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jnz L004C169C cmp dword ptr [esp+08h],000000F4h jnz L004C169C lea edx,[esp+08h] lea eax,[esp+04h] push edx push eax push 00000BBCh call SUB_L004434A0 mov ecx,[esp+10h] mov eax,000000F0h add esp,0000000Ch cmp ecx,eax jnz L004C169C cmp [esp+08h],eax jnz L004C169C lea ecx,[esp+08h] lea edx,[esp+04h] push ecx push edx push 00000BBDh call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jnz L004C169C cmp dword ptr [esp+08h],000000F4h jnz L004C169C lea eax,[esp+08h] lea ecx,[esp+04h] push eax push ecx push 00000BBEh call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jnz L004C169C cmp [esp+08h],esi jnz L004C169C lea edx,[esp+08h] lea eax,[esp+04h] push edx push eax push 00000BBFh call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,000000F5h jnz L004C169C cmp [esp+08h],esi jnz L004C169C lea ecx,[esp+08h] lea edx,[esp+04h] push ecx push edx push 00000BC0h call SUB_L004434A0 mov eax,[esp+10h] add esp,0000000Ch cmp eax,esi jnz L004C169C cmp [esp+08h],esi jnz L004C169C mov al,01h pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ L004C169C: xor al,al pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C16B0: sub esp,00000008h push ebx push ebp mov ebp,[esp+14h] push esi push edi mov ebx,ecx push ebp xor edi,edi xor esi,esi call SUB_L004C4300 add esp,00000004h test eax,eax jle L004C16F2 L004C16CE: push ebp call SUB_L004C6040 add esp,00000004h cmp eax,edi jle L004C16DD mov edi,eax L004C16DD: mov eax,[esp+1Ch] inc esi push eax add ebp,00000002h call SUB_L004C4300 add esp,00000004h cmp esi,eax jl L004C16CE L004C16F2: mov edx,[esp+1Ch] lea ecx,[esp+14h] lea esi,[ebx+000000A8h] lea ebp,[ebx+000000A4h] push ecx push esi push ebp push edi push edx call SUB_L004C6B20 mov eax,edi add esp,00000014h cdq idiv [esi] mov [esp+10h],eax fild dword ptr [esp+10h] fcomp dword ptr [L004F2068] fnstsw ax test ah,41h jz L004C175F L004C172D: mov ecx,[esp+1Ch] lea eax,[esp+14h] push eax add edi,00000010h push esi push ebp push edi push ecx call SUB_L004C6B20 mov eax,edi add esp,00000014h cdq idiv [esi] mov [esp+10h],eax fild dword ptr [esp+10h] fcomp dword ptr [L004F2068] fnstsw ax test ah,41h jnz L004C172D L004C175F: mov ecx,[ebp+00h] mov eax,[esi] add ecx,00000002h add eax,00000002h mov [ebp+00h],ecx mov ebp,ecx mov [esi],eax mov esi,eax add ebp,00000008h add esi,00000008h mov [ebx+24h],esi mov eax,00000004h pop edi mov [ebx+20h],ebp pop esi mov [ebx+0000009Ch],eax mov [ebx+000000A0h],eax mov [ebx+000000ACh],eax mov [ebx+000000B0h],eax pop ebp pop ebx add esp,00000008h retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C17B0: sub esp,00000010h push ebx push esi mov esi,ecx push edi push SSZ00511884_TooltipGump_frame_0 mov eax,[esi+20h] mov [esi+1Ch],eax imul eax,[esi+24h] lea eax,[eax+eax+04h] push eax call SUB_L00475FC0 mov ecx,[esi+3Ch] add esp,00000008h xor ebx,ebx mov [ecx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov [ecx+02h],dx mov ecx,[esi+0000009Ch] mov eax,[esi+000000A4h] mov edx,[esi+000000A0h] mov [esp+0Ch],ecx add ecx,eax mov [esp+14h],ecx mov ecx,[esi+000000A8h] mov [esp+10h],edx add edx,ecx test ecx,ecx mov [esp+18h],edx jle L004C18AA L004C1849: xor edi,edi test eax,eax jle L004C189A L004C184F: mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+0000009Ch] push ecx mov ecx,[esi+000000A0h] add eax,00000004h add ecx,ebx push eax add edx,edi push ecx lea eax,[esp+1Ch] push edx push eax push 00000BBCh push SUB_L004B9B80 call SUB_L004436C0 mov eax,[esi+000000A4h] add edi,000000F0h add esp,00000020h cmp edi,eax jl L004C184F L004C189A: mov ecx,[esi+000000A8h] add ebx,000000F0h cmp ebx,ecx jl L004C1849 L004C18AA: mov eax,[esi+000000A4h] xor edi,edi test eax,eax jle L004C192E L004C18B6: mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push edx mov edx,[esi+0000009Ch] add ecx,00000004h push ecx add edx,edi push 00000000h push edx push 00000BB9h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+000000A8h] push ecx mov ecx,[esi+000000A0h] add ecx,edx mov edx,[esi+0000009Ch] add eax,00000004h add edx,edi push eax push ecx push edx push 00000BBFh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000A4h] add edi,000000F5h add esp,00000038h cmp edi,eax jl L004C18B6 L004C192E: mov eax,[esi+000000A8h] xor edi,edi test eax,eax jle L004C19B2 L004C193A: mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+000000A0h] add eax,00000004h add ecx,edi push eax push ecx push 00000000h push 00000BBBh push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] mov ebx,[esi+000000A4h] push edx mov edx,[ecx+04h] mov ecx,[esi+0000009Ch] push eax mov eax,[esi+000000A0h] add edx,00000004h add eax,edi push edx add ecx,ebx push eax push ecx push 00000BBDh push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000A8h] add edi,000000F4h add esp,00000038h cmp edi,eax jl L004C193A L004C19B2: mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] push edx mov edx,[ecx+04h] push eax add edx,00000004h push edx push 00000000h push 00000000h push 00000BB8h push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] mov edi,[esi+000000A4h] push eax mov eax,[edx+04h] push ecx mov ecx,[esi+0000009Ch] add eax,00000004h add ecx,edi push eax push 00000000h push ecx push 00000BBAh push SUB_L004B9B80 call SUB_L00443500 mov edx,[esi+24h] mov ecx,[esi+3Ch] mov eax,[esi+20h] push edx mov edx,[ecx+04h] push eax mov eax,[esi+000000A0h] add edx,00000004h push edx mov edx,[esi+000000A8h] add eax,edx push eax push 00000000h push 00000BBEh push SUB_L004B9B80 call SUB_L00443500 mov ecx,[esi+24h] mov eax,[esi+3Ch] mov edx,[esi+20h] add esp,00000054h mov edi,[esi+000000A4h] push ecx mov ecx,[eax+04h] mov eax,[esi+000000A8h] push edx mov edx,[esi+000000A0h] add ecx,00000004h add edx,eax mov eax,[esi+0000009Ch] push ecx add eax,edi push edx push eax push 00000BC0h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch pop edi pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 L004C1A90: push 00000000h call SUB_L004584E0 retn 0008h ;------------------------------------------------------------------------------ Align 8 L004C1AA0: test ecx,ecx jz L004C1AAA mov eax,[ecx] push 00000001h call [eax] L004C1AAA: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C1AB0: sub esp,00000028h push ebx push ebp push esi push edi mov [esp+10h],ecx call SUB_L004C5630 mov [esp+14h],eax call SUB_L004C5C80 mov [esp+18h],eax mov eax,[L0051182C] push eax call SUB_L004C5640 push 00000000h call SUB_L004C5BC0 mov ebx,[esp+50h] mov ebp,[esp+54h] mov esi,ebx mov eax,00000001h imul esi,ebp shl esi,1 lea ecx,[ebx-01h] lea edx,[ebp-01h] push esi mov [esp+38h],eax mov [esp+34h],eax mov [esp+3Ch],ecx mov [esp+40h],edx call SUB_L004D4FA9 mov ecx,esi mov edi,eax mov edx,ecx xor eax,eax shr ecx,02h mov [esp+54h],edi lea esi,[ebx-02h] rep stosd mov ecx,edx lea edx,[esp+30h] and ecx,00000003h rep stosb mov edi,[esp+48h] lea eax,[esp+28h] lea ecx,[esp+2Ch] push eax push ecx push edx push esi push edi call SUB_L004C6B20 mov ecx,[L0050CEA4] lea eax,[esp+48h] push 00000000h push eax push ecx push 00000001h push 00000001h push edi push ebx push esi mov esi,[esp+00000088h] push esi call SUB_L004C73A0 add esp,00000044h push 00000001h push ebp push ebx push esi call SUB_L004119B0 mov edi,[esp+20h] mov ecx,[esp+50h] add esp,00000010h mov edx,[edi+20h] mov eax,[edi+3Ch] imul edx,[esp+44h] add edx,ecx mov ecx,[eax+04h] mov al,[L00C8C4A4] lea ecx,[ecx+edx*2+04h] mov edx,esi test al,al jz L004C1BE3 test ebp,ebp jle L004C1C10 mov [esp+4Ch],ebp L004C1BA5: test ebx,ebx jle L004C1BCE mov esi,ebx L004C1BAB: mov ax,[edx] test ax,ax jz L004C1BC5 mov ebp,eax and eax,0000001Fh and ebp,0000FFE0h shl ebp,1 or ebp,eax mov [ecx],bp L004C1BC5: add ecx,00000002h add edx,00000002h dec esi jnz L004C1BAB L004C1BCE: mov eax,[edi+20h] sub eax,ebx lea ecx,[ecx+eax*2] mov eax,[esp+4Ch] dec eax mov [esp+4Ch],eax jnz L004C1BA5 jmp L004C1C0C L004C1BE3: test ebp,ebp jle L004C1C10 L004C1BE7: test ebx,ebx jle L004C1C01 mov esi,ebx L004C1BED: mov ax,[edx] test ax,ax jz L004C1BF8 mov [ecx],ax L004C1BF8: add ecx,00000002h add edx,00000002h dec esi jnz L004C1BED L004C1C01: mov eax,[edi+20h] sub eax,ebx dec ebp lea ecx,[ecx+eax*2] jnz L004C1BE7 L004C1C0C: mov esi,[esp+48h] L004C1C10: push esi call SUB_L004D4F9E mov ecx,[esp+18h] push ecx call SUB_L004C5640 mov edx,[esp+20h] push edx call SUB_L004C5BC0 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0018h ;------------------------------------------------------------------------------ Align 16 SUB_L004C1C40: sub esp,000001ACh push ebx push ebp push esi mov esi,[esp+000001BCh] push edi push esi call SUB_L004C4300 mov [esp+18h],eax lea ebp,[eax-01h] mov eax,[esp+000001C8h] mov [esp+1Ch],ebp push eax call SUB_L004C4300 push esi mov [esp+34h],eax mov [esp+1Ch],ebp call SUB_L004C4300 mov ecx,00010000h mov edi,L00CDA680 lea edx,[eax-01h] add esp,0000000Ch rep stosd mov ax,[esi] test ax,ax jz L004C1CBC mov ebx,esi mov edi,edx L004C1C9B: push eax call SUB_L004C4280 and eax,0000FFFFh add ebx,00000002h add esp,00000004h mov [L00CDA680+eax*4],edi mov ax,[ebx] dec edi test ax,ax jnz L004C1C9B L004C1CBC: push esi call SUB_L004C4300 mov ebx,eax add esp,00000004h cmp ebx,00000001h mov dword ptr [esp+20h],00000001h jle L004C1D50 lea ecx,[esp+30h] mov [esp+24h],ecx L004C1CDC: xor ebp,ebp test ebx,ebx jle L004C1D32 lea eax,[ebx-01h] lea edi,[eax+eax] L004C1CE8: mov edx,[esp+20h] mov esi,edi lea eax,[edx+edx] sub esi,eax mov eax,[esp+000001C0h] mov cx,[edi+eax] push ecx call SUB_L004C4280 mov dx,ax mov eax,[esp+000001C4h] mov [esp+22h],dx mov cx,[esi+eax] push ecx call SUB_L004C4280 mov dx,[esp+26h] add esp,00000008h cmp dx,ax jnz L004C1D32 inc ebp sub edi,00000002h cmp ebp,ebx jl L004C1CE8 L004C1D32: mov ecx,[esp+24h] mov eax,[esp+20h] inc eax mov [ecx],ebp add ecx,00000004h cmp eax,ebx mov [esp+20h],eax mov [esp+24h],ecx jl L004C1CDC mov ebp,[esp+18h] L004C1D50: cmp ebx,00000001h mov dword ptr [L00CDA4F0],00000001h jle L004C1D6B lea ecx,[ebx-01h] mov eax,ebx mov edi,L00CDA4F4 rep stosd L004C1D6B: lea eax,[ebx-01h] test eax,eax jle L004C1D87 lea ecx,[esp+eax*4+2Ch] L004C1D76: mov edx,[ecx] sub ecx,00000004h mov [L00CDA4F0+edx*4],eax dec eax test eax,eax jg L004C1D76 L004C1D87: mov eax,00000001h xor esi,esi cmp ebx,eax jle L004C1DB2 lea edx,[ebx-02h] xor ecx,ecx L004C1D97: cmp [esp+ecx+30h],edx jnz L004C1D9F mov esi,eax L004C1D9F: test esi,esi jz L004C1DA9 mov [ecx+L00CDA4F4],esi L004C1DA9: inc eax dec edx add ecx,00000004h cmp eax,ebx jl L004C1D97 L004C1DB2: cmp ebp,[esp+28h] jge L004C1E65 L004C1DBC: mov eax,[esp+14h] xor esi,esi test eax,eax jle L004C1E0E mov eax,[esp+000001C0h] mov ecx,[esp+18h] mov edx,[esp+000001C4h] lea ebx,[eax+ecx*2] mov eax,[esp+10h] lea edi,[edx+eax*2] L004C1DE2: mov cx,[edi] push ecx call SUB_L004C4280 mov dx,[ebx] mov bp,ax push edx call SUB_L004C4280 add esp,00000008h cmp bp,ax jnz L004C1E0E mov eax,[esp+14h] inc esi sub edi,00000002h sub ebx,00000002h cmp esi,eax jl L004C1DE2 L004C1E0E: cmp esi,[esp+14h] jz L004C1E73 mov edi,[esp+10h] mov ecx,[esp+000001C4h] mov eax,edi sub eax,esi mov dx,[ecx+eax*2] push edx call SUB_L004C4280 mov ecx,[L00CDA4F0+esi*4] and eax,0000FFFFh add ecx,edi add esp,00000004h mov eax,[L00CDA680+eax*4] sub eax,esi add eax,edi cmp eax,ecx mov [esp+10h],eax jg L004C1E55 mov [esp+10h],ecx L004C1E55: mov eax,[esp+10h] mov ecx,[esp+28h] cmp eax,ecx jl L004C1DBC L004C1E65: pop edi pop esi pop ebp or eax,FFFFFFFFh pop ebx add esp,000001ACh retn ;------------------------------------------------------------------------------ L004C1E73: mov eax,[esp+10h] mov ecx,[esp+18h] pop edi pop esi pop ebp sub eax,ecx pop ebx add esp,000001ACh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C1E90: push FFFFFFFFh push L004E631E mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi mov esi,ecx push edi mov [esp+10h],esi call SUB_L00458F30 mov eax,[esp+24h] mov edx,[esp+34h] mov ecx,[esp+28h] xor ebx,ebx mov dword ptr [esi],L004F206C mov [esi+30h],eax mov dword ptr [esi+08h],SSZ005118BC_unicode_edit_list_gump lea eax,[esi+24h] mov [esi+60h],ebx lea ebp,[esi+20h] mov [esi+38h],ebx push eax mov [esi+000000BCh],ebx push ebp mov [esi+000000B0h],ebx push edx mov [esp+28h],ebx mov [esi+000000ACh],ebx mov [esi+000000A8h],ebx mov [esi+000000A4h],ebx mov [esi+000000B8h],ebx mov [esi+000000B4h],ebx mov [esi+34h],ecx mov [esi+64h],ebx mov [esi+50h],ebx mov [esi+4Ch],ebx mov [esi+48h],ebx mov [esi+44h],ebx mov [esi+40h],ebx call SUB_L004434A0 push SSZ00511898_framedata_for_CUnicodeEditListGu push 00000008h mov [esi+14h],ebx mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FF8E4_cfg_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[ebp+00h] imul eax,[esi+24h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] mov [edx+04h],eax mov ecx,[ebp+00h] imul ecx,[esi+24h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[ebp+00h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov ecx,[eax+04h] mov dx,[esi+24h] mov eax,[esp+54h] mov [ecx+02h],dx mov ecx,[esp+58h] mov edx,[esi+24h] mov [esi+000000D8h],eax mov eax,[esp+50h] mov [esi+000000E0h],ecx mov ecx,[ebp+00h] push edx mov edx,[esi+3Ch] mov [esi+000000DCh],ebx mov [esi+000000D4h],ebx mov word ptr [esi+000000D2h],000Ah mov [esi+000000CCh],ebx mov [esi+000000C8h],ebx mov [esi+000000C4h],ebx mov [esi+000000C0h],ebx mov [esi+54h],eax push ecx mov ecx,[edx+04h] add ecx,00000004h push ecx push ebx push ebx push eax push SUB_L004B9B80 call SUB_L00443500 push 000000ECh call SUB_L004D4FA9 add esp,0000003Ch mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],01h jz L004C205B mov edx,[ebp+00h] push ebx push 00000983h push 00000983h push SUB_L004C3FE0 push ebx push 00000002h push esi sub edx,0000000Eh push 00000008h push edx mov ecx,eax call SUB_L00421F40 jmp L004C205D L004C205B: xor eax,eax L004C205D: mov [esi+0000009Ch],eax mov [eax+6Ch],ebx mov eax,[esi+0000009Ch] push 00000001h push esi mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000984h mov ecx,[esi+0000009Ch] call SUB_L004587A0 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+34h],eax cmp eax,ebx mov byte ptr [esp+1Ch],02h jz L004C20CD mov ecx,[esi+24h] mov edx,[ebp+00h] push ebx push 00000985h push 00000985h push SUB_L004C4100 push ebx push 00000002h sub ecx,00000014h push esi sub edx,0000000Eh push ecx push edx mov ecx,eax call SUB_L00421F40 jmp L004C20CF L004C20CD: xor eax,eax L004C20CF: mov [esi+000000A0h],eax mov [eax+6Ch],ebx mov eax,[esi+000000A0h] push 00000001h push esi mov [esp+24h],bl mov dword ptr [eax+000000ACh],00000986h mov ecx,[esi+000000A0h] call SUB_L004587A0 mov ecx,[esp+14h] mov eax,esi pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn 001Ch ;------------------------------------------------------------------------------ Align 16 L004C2120: push esi mov esi,ecx call SUB_L004C2140 test byte ptr [esp+08h],01h jz L004C2138 push esi call SUB_L004D4F9E add esp,00000004h L004C2138: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C2140: push FFFFFFFFh push L004E6338 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx mov [esp+04h],esi mov dword ptr [esi],L004F206C mov eax,[esi+000000C0h] mov dword ptr [esp+10h],00000000h test eax,eax jz L004C21A7 push edi L004C2176: mov eax,[esi+000000C0h] mov ecx,eax mov edi,[eax+04h] mov ecx,[ecx] test ecx,ecx jz L004C218D mov edx,[ecx] push 00000001h call [edx] L004C218D: mov eax,[esi+000000C0h] push eax call SUB_L004D4F9E add esp,00000004h mov [esi+000000C0h],edi test edi,edi jnz L004C2176 pop edi L004C21A7: mov eax,[esi+3Ch] mov eax,[eax+04h] test eax,eax jz L004C21C9 push SSZ004FF9B0_editlist_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov dword ptr [ecx+04h],00000000h L004C21C9: mov eax,[esi+3Ch] test eax,eax jz L004C21E5 push SSZ004FF99C_editlist_framedata push eax call SUB_L00476000 add esp,00000008h mov dword ptr [esi+3Ch],00000000h L004C21E5: mov ecx,esi mov dword ptr [esp+10h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C2210: mov eax,fs:[00000000h] push FFFFFFFFh push L004E6366 push eax mov fs:[00000000h],esp sub esp,00000014h push ebx push esi mov esi,ecx mov edx,[esi+000000D4h] mov eax,[esi+000000D8h] cmp edx,eax jz L004C256C mov ecx,[esi+000000DCh] mov eax,edx sub eax,ecx push ebp push edi mov ebp,00000001h lea edi,[00000000h+eax*8] sub edi,eax inc ecx lea edi,[eax+edi*4+07h] lea eax,[edx+01h] cmp ecx,eax mov [esi+000000D4h],eax jge L004C2275 mov eax,[esi+000000A0h] mov [eax+6Ch],ebp L004C2275: mov eax,[esi+000000C4h] xor ebx,ebx cmp eax,ebx push 0000000Ch jnz L004C23A5 call SUB_L004D4FA9 push 00000278h mov [esi+000000C0h],eax call SUB_L004D4FA9 add esp,00000008h mov [esp+10h],eax cmp eax,ebx mov [esp+2Ch],ebx jz L004C22D8 mov ecx,[esi+000000E0h] push ebx push ebx push ebp push 00000386h push ebp push ecx push ebx push 0000001Dh xor edx,edx mov dx,[esi+000000D2h] push 00000088h push esi push edi push edx mov ecx,eax call SUB_L004C2BD0 jmp L004C22DA L004C22D8: xor eax,eax L004C22DA: mov ecx,[esi+000000C0h] mov dword ptr [esp+2Ch],FFFFFFFFh mov [ecx],eax mov eax,[esi+000000BCh] cmp eax,ebx jz L004C2310 mov edx,[esi+000000C0h] mov eax,[edx] mov [eax+000000B4h],ebx mov ecx,[esi+000000C0h] mov edx,[ecx] mov [edx+000000D8h],ebp L004C2310: mov eax,[esi+000000C0h] cmp edi,00000007h mov ecx,[eax] mov [ecx+00000274h],eax jl L004C232D mov eax,[esi+24h] add edi,0000001Dh cmp edi,eax jle L004C2338 L004C232D: mov edx,[esi+000000C0h] mov eax,[edx] mov [eax+6Ch],ebx L004C2338: mov ecx,[esi+000000C0h] push ebp push esi mov ecx,[ecx] call SUB_L004587A0 mov eax,[esi+000000C0h] mov edx,[esp+34h] push edx mov ecx,[eax] add ecx,000000F4h push ecx call SUB_L004C4430 mov edx,[esi+000000C0h] mov ecx,[esp+40h] add esp,00000008h mov eax,[edx] mov [eax+000000F0h],ecx mov edx,[esi+000000C0h] mov ecx,[edx] call SUB_L004C2E70 mov eax,[esi+000000C0h] mov [eax+08h],ebx mov ecx,[esi+000000C0h] mov [ecx+04h],ebx mov eax,[esi+000000C0h] mov [esi+000000C8h],eax jmp L004C24DF L004C23A5: call SUB_L004D4FA9 mov edx,[esi+000000C4h] push 00000278h mov [edx+04h],eax call SUB_L004D4FA9 add esp,00000008h mov [esp+10h],eax cmp eax,ebx mov [esp+2Ch],ebp jz L004C23F9 mov ecx,[esi+000000E0h] push ebx push ebx push ebp push 00000386h push ebp push ecx push ebx push 0000001Dh xor edx,edx mov dx,[esi+000000D2h] push 00000088h push esi push edi push edx mov ecx,eax call SUB_L004C2BD0 jmp L004C23FB L004C23F9: xor eax,eax L004C23FB: mov ecx,[esi+000000C4h] mov dword ptr [esp+2Ch],FFFFFFFFh mov edx,[ecx+04h] mov [edx],eax mov eax,[esi+000000BCh] cmp eax,ebx jz L004C243A mov eax,[esi+000000C4h] mov ecx,[eax+04h] mov edx,[ecx] mov [edx+000000B4h],ebx mov eax,[esi+000000C4h] mov ecx,[eax+04h] mov edx,[ecx] mov [edx+000000D8h],ebp L004C243A: mov eax,[esi+000000C4h] cmp edi,00000007h mov eax,[eax+04h] mov ecx,[eax] mov [ecx+00000274h],eax jl L004C245A mov eax,[esi+24h] add edi,0000001Dh cmp edi,eax jle L004C2468 L004C245A: mov edx,[esi+000000C4h] mov eax,[edx+04h] mov ecx,[eax] mov [ecx+6Ch],ebx L004C2468: mov edx,[esi+000000C4h] push ebp push esi mov eax,[edx+04h] mov ecx,[eax] call SUB_L004587A0 mov edx,[esi+000000C4h] mov ecx,[esp+34h] push ecx mov eax,[edx+04h] mov ecx,[eax] add ecx,000000F4h push ecx call SUB_L004C4430 mov edx,[esi+000000C4h] add esp,00000008h mov eax,[edx+04h] mov edx,[esp+38h] mov ecx,[eax] mov [ecx+000000F0h],edx mov eax,[esi+000000C4h] mov ecx,[eax+04h] mov ecx,[ecx] call SUB_L004C2E70 mov edx,[esi+000000C4h] mov eax,[edx+04h] mov [eax+04h],ebx mov eax,[esi+000000C4h] mov ecx,[eax+04h] mov [ecx+08h],eax mov edx,[esi+000000C4h] mov eax,[edx+04h] L004C24DF: mov ebp,[esi+000000DCh] mov [esi+000000C4h],eax mov eax,[esi+000000D4h] mov ecx,[esi+20h] sub eax,ebp mov [esp+14h],ebx mov [esp+18h],ebx mov [esp+1Ch],ecx lea edx,[00000000h+eax*8] sub edx,eax lea eax,[eax+edx*4+0Dh] mov edx,[esi+24h] mov [esp+20h],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch cmp eax,ebx pop edi pop ebp jz L004C256C mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+1Ch] push ebx dec edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004C256C: mov ecx,[esp+1Ch] pop esi pop ebx mov fs:[00000000h],ecx add esp,00000020h retn 0008h ;------------------------------------------------------------------------------ Align 4 SUB_L004C2580: sub esp,00000800h xor edx,edx push edi mov edi,[esp+00000808h] mov al,[edi] test al,al jz L004C25AE push esi lea esi,[esp+08h] L004C259B: movsx ax,al inc edx mov [esi],ax add esi,00000002h mov al,[edx+edi] test al,al jnz L004C259B pop esi L004C25AE: mov word ptr [esp+edx*2+04h],0000h mov edx,[esp+0000080Ch] lea eax,[esp+04h] push edx push eax call SUB_L004C2210 pop edi add esp,00000800h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004C25E0: sub esp,00000014h push ebx mov ebx,[esp+1Ch] push ebp push esi mov esi,ecx xor ebp,ebp cmp [esi+000000CCh],ebx jnz L004C25FC mov [esi+000000CCh],ebp L004C25FC: mov eax,[esi+000000C8h] cmp eax,ebx jnz L004C2613 mov eax,[eax+04h] cmp eax,ebp jz L004C2613 mov [esi+000000C8h],eax L004C2613: mov ecx,[ebx] cmp ecx,ebp jz L004C261F mov eax,[ecx] push 00000001h call [eax] L004C261F: cmp [esi+000000C0h],ebx jnz L004C2630 mov ecx,[ebx+04h] mov [esi+000000C0h],ecx L004C2630: cmp [esi+000000C4h],ebx jnz L004C2641 mov edx,[ebx+08h] mov [esi+000000C4h],edx L004C2641: mov eax,[ebx+04h] cmp eax,ebp jz L004C264E mov ecx,[ebx+08h] mov [eax+08h],ecx L004C264E: mov eax,[ebx+08h] cmp eax,ebp jz L004C265B mov edx,[ebx+04h] mov [eax+04h],edx L004C265B: lea eax,[esp+24h] push edi mov edi,[ebx+04h] lea ecx,[esp+10h] push eax push ecx push 000013A7h call SUB_L004434A0 mov ecx,[esp+34h] add esp,0000000Ch inc ecx cmp edi,ebp mov [esp+28h],ecx jz L004C26B1 L004C2683: mov eax,[edi] mov edx,[esp+28h] mov ecx,[eax+34h] sub ecx,edx mov [eax+34h],ecx mov eax,[edi] mov edx,[esp+28h] mov ecx,[eax+34h] add ecx,edx mov edx,[esi+24h] cmp ecx,edx jge L004C26AA mov dword ptr [eax+6Ch],00000001h L004C26AA: mov edi,[edi+04h] cmp edi,ebp jnz L004C2683 L004C26B1: push ebx call SUB_L004D4F9E mov ebx,[esi+000000D4h] mov edx,[esi+000000DCh] add esp,00000004h dec ebx mov eax,ebx inc edx cmp edx,eax mov [esi+000000D4h],ebx pop edi jl L004C26DE mov eax,[esi+000000A0h] mov [eax+6Ch],ebp L004C26DE: mov eax,[esi+000000D4h] mov ebx,[esi+000000DCh] sub eax,ebx mov ecx,[esi+20h] mov [esp+10h],ebp mov [esp+14h],ebp lea edx,[00000000h+eax*8] mov [esp+18h],ecx sub edx,eax lea eax,[eax+edx*4+0Dh] mov edx,[esi+24h] mov [esp+1Ch],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebp push ebp push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch cmp eax,ebp jz L004C2763 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebp lea ecx,[esp+20h] push ebp dec edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004C2763: mov ecx,[esi+4Ch] cmp ecx,ebp jz L004C2770 mov eax,[ecx] push esi call [eax+4Ch] L004C2770: pop esi pop ebp pop ebx add esp,00000014h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C2780: push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L004C27B4 mov eax,[eax] mov cx,[esi+000000D0h] mov [eax+00000272h],cx mov edx,[esi+000000CCh] mov ecx,[edx] call SUB_L004C2E70 mov dword ptr [esi+000000CCh],00000000h L004C27B4: pop esi retn ;------------------------------------------------------------------------------ Align 16 L004C27C0: sub esp,00000800h push ebx mov ebx,[esp+00000808h] push esi push edi mov esi,[ebx+00000274h] mov edi,ecx mov eax,[edi+000000C4h] cmp esi,eax jnz L004C28A5 mov eax,[eax] add eax,000000F4h push eax call SUB_L004C4300 add esp,00000004h test eax,eax jle L004C28A5 mov eax,[edi+000000BCh] xor esi,esi cmp eax,esi jz L004C2875 mov al,[SSZ004FF8D0__new_] xor ecx,ecx test al,al jz L004C282E lea edx,[esp+0Ch] L004C2819: movsx ax,al inc ecx mov [edx],ax add edx,00000002h mov al,[ecx+SSZ004FF8D0__new_] test al,al jnz L004C2819 L004C282E: mov [esp+ecx*2+0Ch],si push esi lea ecx,[esp+10h] L004C2838: push ecx mov ecx,edi call SUB_L004C2210 L004C2840: mov eax,00000386h cmp [ebx+00000272h],ax jz L004C285C mov ecx,ebx mov [ebx+00000272h],ax call SUB_L004C2E70 L004C285C: mov ecx,[edi+4Ch] test ecx,ecx jz L004C2869 mov eax,[ecx] push edi call [eax+4Ch] L004C2869: pop edi pop esi pop ebx add esp,00000800h retn 0004h ;------------------------------------------------------------------------------ L004C2875: mov al,[L007049FC] xor ecx,ecx test al,al jz L004C2899 lea edx,[esp+0Ch] L004C2884: movsx ax,al inc ecx mov [edx],ax add edx,00000002h mov al,[ecx+L007049FC] test al,al jnz L004C2884 L004C2899: mov [esp+ecx*2+0Ch],si push esi lea ecx,[esp+10h] jmp L004C2838 L004C28A5: cmp esi,[edi+000000C4h] jz L004C2840 mov edx,[esi] add edx,000000F4h push edx call SUB_L004C4300 add esp,00000004h test eax,eax jnz L004C2840 mov eax,[esi+08h] test eax,eax jz L004C2918 call SUB_L00456C40 mov eax,[esi+08h] mov ecx,[eax] push ecx call SUB_L00456DC0 mov edx,[esi+08h] add esp,00000004h mov ecx,[edx] push 0000E023h mov eax,[ecx] call [eax+44h] mov ecx,[esi+08h] mov ecx,[ecx] call SUB_L004C2E70 mov edx,[esi+08h] mov eax,[edx] cmp dword ptr [eax+34h],00000008h jge L004C295D mov ecx,edi call SUB_L004C3FE0 push esi mov ecx,edi call SUB_L004C25E0 jmp L004C285C L004C2918: mov eax,[esi+04h] test eax,eax jz L004C295D call SUB_L00456C40 mov ecx,[esi+04h] mov edx,[ecx] push edx call SUB_L00456DC0 mov eax,[esi+04h] add esp,00000004h mov ecx,[eax] push 0000E023h mov edx,[ecx] call [edx+44h] mov eax,[esi+04h] mov ecx,[eax] call SUB_L004C2E70 mov ecx,[esi+04h] mov edx,[ecx] cmp dword ptr [edx+34h],00000008h jge L004C295D mov ecx,edi call SUB_L004C3FE0 L004C295D: push esi mov ecx,edi call SUB_L004C25E0 jmp L004C285C Align 8 L004C2970: push esi mov esi,ecx mov eax,[esi+000000CCh] test eax,eax jz L004C299A mov eax,[eax] mov cx,[esi+000000D0h] mov [eax+00000272h],cx mov edx,[esi+000000CCh] mov ecx,[edx] call SUB_L004C2E70 L004C299A: mov eax,[esi+000000C8h] test eax,eax mov [esi+000000CCh],eax jz L004C29C5 mov ecx,[esp+08h] L004C29AE: mov eax,[esi+000000CCh] cmp [eax],ecx jz L004C29C5 mov eax,[eax+04h] test eax,eax mov [esi+000000CCh],eax jnz L004C29AE L004C29C5: mov eax,[esi+000000CCh] test eax,eax jz L004C2A06 mov eax,[eax] mov edx,[esi+000000CCh] mov cx,[eax+00000272h] mov [esi+000000D0h],cx mov eax,[edx] mov word ptr [eax+00000272h],0058h mov ecx,[esi+000000CCh] mov ecx,[ecx] call SUB_L004C2E70 push esi call SUB_L00456DC0 add esp,00000004h L004C2A06: pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 L004C2A10: mov eax,[ecx+000000BCh] test eax,eax jz L004C2A3C cmp dword ptr [esp+04h],0000E02Eh jnz L004C2A3C mov eax,[ecx+000000CCh] test eax,eax jz L004C2A3C cmp eax,[ecx+000000C4h] jz L004C2A3C push eax call SUB_L004C25E0 L004C2A3C: retn 0004h ;------------------------------------------------------------------------------ Align 4 L004C2A40: sub esp,00000008h push esi mov esi,[L00B294BC] push edi mov edi,ecx lea eax,[esp+08h] lea ecx,[esp+0Ch] push eax push ecx push 000013A7h call SUB_L004434A0 mov edx,[esp+14h] add esp,0000000Ch inc edx mov [esp+08h],edx mov eax,[esi+00000274h] test eax,eax jz L004C2AC9 mov ecx,[eax+04h] test ecx,ecx jz L004C2AC9 call SUB_L00456C40 mov edx,[esi+00000274h] mov eax,[edx+04h] mov ecx,[eax] push ecx call SUB_L00456DC0 mov edx,[esi+00000274h] add esp,00000004h mov eax,[edx+04h] mov ecx,[eax] call SUB_L004C2E70 mov ecx,[esi+00000274h] mov edx,[ecx+04h] mov eax,[edx] mov edx,[esp+08h] mov ecx,[eax+34h] mov eax,[edi+24h] add ecx,edx cmp ecx,eax jle L004C2AC9 mov ecx,edi call SUB_L004C4100 L004C2AC9: pop edi pop esi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 4 L004C2AD0: sub esp,00000018h push ebx mov ebx,ecx push esi lea eax,[esp+08h] push edi lea ecx,[esp+10h] push eax push ecx mov ecx,ebx mov dword ptr [esp+18h],00000000h mov dword ptr [esp+14h],00000000h call SUB_L00457C90 mov eax,[ebx+64h] test eax,eax jnz L004C2B08 mov edx,[ebx+3Ch] mov esi,[edx+04h] jmp L004C2B0E L004C2B08: mov eax,[ebx+3Ch] mov esi,[eax+0Ch] L004C2B0E: mov eax,[esp+10h] mov ecx,[esp+0Ch] xor edx,edx mov [esp+14h],eax mov [esp+18h],ecx mov dx,[esi] mov edi,[esp+28h] add edx,eax xor eax,eax mov [esp+1Ch],edx mov ax,[esi+02h] add eax,ecx lea ecx,[esp+14h] push ecx push edi mov [esp+28h],eax call SUB_L00457DB0 add esp,00000008h test eax,eax jz L004C2B9E mov edx,[L005073D4] mov eax,[L005073D0] mov ecx,[L00B189FC] push edx mov edx,[esp+10h] push eax mov eax,[esp+18h] push ecx push edx xor ecx,ecx mov cx,[esi+02h] xor edx,edx mov dx,[esi] push eax push ecx push edx add esi,00000004h push edi push esi push SUB_L004B9B80 call SUB_L00443960 mov esi,[ebx+50h] add esp,00000028h test esi,esi jz L004C2B9E L004C2B8F: mov eax,[esi] push edi mov ecx,esi call [eax+0Ch] mov esi,[esi+44h] test esi,esi jnz L004C2B8F L004C2B9E: pop edi pop esi pop ebx add esp,00000018h retn 0004h ;------------------------------------------------------------------------------ Align 16 L004C2BB0: push esi mov esi,ecx call SUB_L004C2DE0 test byte ptr [esp+08h],01h jz L004C2BC8 push esi call SUB_L004D4F9E add esp,00000004h L004C2BC8: mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C2BD0: push FFFFFFFFh push L004E6378 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebp push esi mov esi,ecx push edi mov [esp+0Ch],esi call SUB_L00458F30 mov eax,[esp+20h] mov ecx,[esp+24h] mov dword ptr [esi],L004F21E0 mov [esi+30h],eax xor ebp,ebp mov [esi+34h],ecx mov edx,[esp+2Ch] mov eax,[esp+30h] mov dword ptr [esi+08h],SSZ004FFD24_InputControl_gump mov [esi+60h],ebp mov [esi+54h],ebp mov [esi+00000260h],ebp mov [esi+000000E4h],bp mov [esi+000000E8h],bp mov [esi+000000E6h],bp mov [esi+64h],ebp mov [esi+50h],ebp mov [esi+4Ch],ebp and edx,0000FFFFh and eax,0000FFFFh push SSZ005118D4_framedata_for_CUnicodeInputContr mov [esi+48h],ebp push 00000008h mov [esp+20h],ebp mov [esi+44h],ebp mov [esi+40h],ebp mov [esi+20h],edx mov [esi+24h],eax mov dword ptr [esi+000000CCh],00000001h mov [esi+14h],ebp mov dword ptr [esi+18h],00000001h call SUB_L00475FC0 mov ecx,[esi+18h] mov edi,eax shl ecx,03h mov edx,ecx xor eax,eax shr ecx,02h mov [esi+3Ch],edi push SSZ004FFCF4_inpctrl_frame0 rep stosd mov ecx,edx and ecx,00000003h rep stosb mov eax,[esi+24h] imul eax,[esi+20h] lea ecx,[eax+eax+04h] push ecx call SUB_L00475FC0 mov edx,[esi+3Ch] add esp,00000010h mov [edx+04h],eax mov ecx,[esi+24h] imul ecx,[esi+20h] mov edx,[esi+3Ch] 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+3Ch] mov dx,[esi+20h] mov ecx,[eax+04h] mov [ecx],dx mov eax,[esi+3Ch] mov dx,[esi+24h] mov ecx,[eax+04h] mov al,[esp+34h] mov [ecx+02h],dx mov edx,[esp+44h] mov edi,[esp+4Ch] mov ecx,[esp+38h] mov [esi+000000B4h],edx xor edx,edx cmp edi,ebp mov [esi+00000264h],ecx mov ecx,[esp+48h] setnz dl cmp al,01h mov [esi+000000ECh],al mov [esi+000000C0h],ecx mov [esi+000000C8h],edx mov [esi+000000BCh],ebp mov [esi+000000B8h],ebp mov [esi+000000C4h],ebp mov [esi+000000E0h],ebp mov [esi+000000DCh],ebp mov [esi+000000D8h],ebp mov [esi+000000D4h],ebp mov [esi+000000D0h],ebp mov byte ptr [esi+000000EAh],03h mov byte ptr [esi+000000EBh],02h mov [esi+000000F4h],bp mov [esi+000000F0h],ebp jnz L004C2D8C mov dword ptr [esi+00000268h],00000001h jmp L004C2D92 L004C2D8C: mov [esi+00000268h],ebp L004C2D92: mov cx,[esp+40h] mov ax,[esp+3Ch] mov [esi+00000272h],cx mov ecx,esi mov [esi+0000026Ch],ebp mov [esi+00000270h],ax mov [esi+00000274h],ebp call SUB_L004C2E70 mov ecx,[esp+10h] mov eax,esi pop edi pop esi pop ebp mov fs:[00000000h],ecx add esp,00000010h retn 0030h ;------------------------------------------------------------------------------ Align 16 SUB_L004C2DE0: push FFFFFFFFh push L004E6398 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx push edi mov [esp+08h],esi mov dword ptr [esi],L004F21E0 mov eax,[esi+3Ch] xor edi,edi mov [esp+14h],edi mov eax,[eax+04h] cmp eax,edi jz L004C2E28 push SSZ004FFCD8_InputControl_frame0_pBMP push eax call SUB_L00476000 mov ecx,[esi+3Ch] add esp,00000008h mov [ecx+04h],edi L004C2E28: mov eax,[esi+3Ch] cmp eax,edi jz L004C2E40 push SSZ004FFCC0_InputControl_framedata push eax call SUB_L00476000 add esp,00000008h mov [esi+3Ch],edi L004C2E40: cmp [L00B294BC],esi jnz L004C2E4E mov [L00B294BC],edi L004C2E4E: mov ecx,esi mov dword ptr [esp+14h],FFFFFFFFh call SUB_L00458FF0 mov ecx,[esp+0Ch] pop edi pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C2E70: sub esp,00000194h push ebx push ebp push esi mov esi,ecx mov dword ptr [L0094330C],00000001h xor ebx,ebx mov eax,[esi+000000E0h] push edi cmp eax,ebx mov [esp+14h],ebx mov [esp+2Ch],ebx jz L004C2EA6 mov di,[esi+000000E8h] cmp di,bx jnz L004C2EEE L004C2EA6: mov di,[esi+000000E6h] cmp di,bx jz L004C2EBA cmp [esi+000000DCh],ebx jnz L004C2EEE L004C2EBA: lea eax,[esi+000000F4h] push eax call SUB_L004C4300 add esp,00000004h test eax,eax jnz L004C2ED9 mov di,[esi+000000E4h] cmp di,bx jnz L004C2EEE L004C2ED9: cmp [esi+000000BCh],ebx jz L004C2EEA mov di,[esi+00000260h] jmp L004C2EEE L004C2EEA: mov di,[esi+54h] L004C2EEE: lea ecx,[esp+10h] lea edx,[esp+30h] push ecx lea eax,[esp+2Ch] push edx push eax push L00511900 call SUB_L004C6930 mov eax,[esi+000000CCh] add esp,00000010h cmp eax,ebx jz L004C2F38 mov ecx,[esi+24h] mov edx,[esi+3Ch] imul ecx,[esi+20h] 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 L004C2F85 L004C2F38: cmp [esi+000000C8h],ebx jz L004C2F58 mov eax,[esi+3Ch] and edi,0000FFFFh mov ecx,[eax+04h] push ecx push edi call SUB_L0042D170 add esp,00000008h jmp L004C2F85 L004C2F58: mov edx,[esi+3Ch] xor ecx,ecx and edi,0000FFFFh mov eax,[edx+04h] xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx push eax push ebx push ebx push edi push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch L004C2F85: mov ecx,[esi+20h] xor eax,eax mov al,[esi+000000EAh] mov edx,ecx sub edx,eax mov [esp+18h],eax mov [esp+20h],edx xor edx,edx mov dl,[esi+000000EBh] mov edi,edx mov edx,[esi+24h] sub edx,edi mov [esp+1Ch],edi mov [esp+24h],edx mov dl,[esi+000000ECh] cmp dl,bl jz L004C314B cmp dl,02h jz L004C314B mov ecx,[esi+000000F0h] lea eax,[esp+38h] push 0000000Ah push eax push ecx call SUB_L004C4CC0 mov eax,[L00B294BC] add esp,0000000Ch cmp eax,esi jnz L004C30B9 mov eax,[esi+0000026Ch] mov ecx,[esi+00000268h] sub ecx,eax lea edx,[esp+eax*2+38h] push edx push ecx call SUB_L004C6E30 mov [esp+1Ch],eax xor eax,eax mov ax,[esi+00000272h] mov edi,[esp+18h] lea edx,[esp+20h] lea ecx,[eax+eax*4] push edx lea edx,[eax+ecx*2] xor eax,eax xor ecx,ecx mov ax,[L00C42CEA+edx*8] mov cl,[esi+000000EBh] push eax mov eax,[esi+0000026Ch] add ecx,edi xor edx,edx mov dl,[esi+000000EAh] push ecx lea ecx,[esp+eax*2+4Ch] mov eax,[esi+3Ch] push edx mov edx,[esi+20h] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx call SUB_L004C6100 lea edx,[esp+3Ch] xor eax,eax mov ax,[L00C562FA] xor ecx,ecx mov cl,[esi+000000EBh] push edx mov edx,[esp+38h] push eax lea eax,[ecx+edx+02h] mov edx,[esp+40h] xor ecx,ecx push eax mov cl,[esi+000000EAh] mov eax,[esi+3Ch] add ecx,edx mov edx,[esi+20h] push ecx mov ecx,[eax+04h] push L005118FC add ecx,00000004h push edx push ecx call SUB_L004C6100 add esp,00000040h mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C30B9: cmp [esi+000000C0h],ebx jz L004C336B lea edx,[esp+38h] lea eax,[esp+38h] push edx push eax call SUB_L004C4300 add esp,00000004h push eax call SUB_L004C6E30 mov edx,eax lea eax,[esp+20h] push eax xor eax,eax mov ax,[esi+00000272h] mov ecx,[esi+20h] mov [esp+20h],edx lea edi,[eax+eax*4] lea eax,[eax+edi*2] xor edi,edi mov di,[L00C42CEA+eax*8] xor eax,eax mov al,[esi+000000EBh] push edi add eax,[esp+20h] push eax mov eax,ecx sub eax,edx cdq sub eax,edx mov edx,[esi+0000026Ch] sar eax,1 push eax lea eax,[esp+edx*2+50h] push eax push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,00000024h mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C314B: mov edx,[L00B294BC] cmp edx,esi mov edx,[esi+000000B8h] jnz L004C3335 cmp edx,ebx jz L004C31FD lea edx,[esi+000000F4h] push edx call SUB_L004C4300 mov edx,eax add esp,00000004h xor eax,eax cmp edx,ebx jle L004C3194 mov ecx,edx mov eax,002A002Ah lea edi,[esp+38h] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx L004C3194: mov [esp+eax*2+38h],bx lea eax,[esp+18h] push eax xor eax,eax mov ax,[esi+00000272h] mov edi,[esp+14h] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor eax,eax xor ecx,ecx mov ax,[L00C42CEA+edx*8] mov cl,[esi+000000EBh] push eax mov eax,[esi+0000026Ch] add ecx,edi xor edx,edx mov dl,[esi+000000EAh] push ecx lea ecx,[esp+eax*2+44h] mov eax,[esi+3Ch] push edx mov edx,[esi+20h] push ecx mov ecx,[eax+04h] add ecx,00000004h push edx push ecx call SUB_L004C6100 mov eax,[esi+0000026Ch] lea edx,[esp+eax*2+54h] jmp L004C32DD L004C31FD: cmp [esi+000000D0h],ebx jz L004C328B lea edx,[esp+18h] push ebx push edx xor edx,edx mov dx,[esi+00000272h] lea ebp,[edx+edx*4] lea edx,[edx+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+edx*8] mov edx,[esi+0000026Ch] push ebp push edi lea edx,[esi+edx*2+000000F4h] push eax push edx add eax,eax mov edx,ecx sub edx,eax mov eax,[esi+3Ch] push edx push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C73A0 lea edx,[esp+50h] mov eax,[esi+0000026Ch] push edx xor edx,edx mov dl,[esi+000000EAh] lea ecx,[esp+3Ch] push ecx mov ecx,[esi+20h] shl edx,1 sub ecx,edx lea edx,[esi+eax*2+000000F4h] push ecx mov ecx,[esi+00000268h] sub ecx,eax push edx push ecx call SUB_L004C6FD0 add esp,00000038h jmp L004C32F3 L004C328B: lea edx,[esp+18h] push edx xor edx,edx mov dx,[esi+00000272h] lea ebp,[edx+edx*4] lea edx,[edx+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+edx*8] mov edx,[esp+14h] add edi,edx push ebp push edi push eax mov eax,[esi+0000026Ch] lea edx,[esi+eax*2+000000F4h] mov eax,[esi+3Ch] push edx push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C6100 mov eax,[esi+0000026Ch] lea edx,[esi+eax*2+000000F4h] L004C32DD: mov ecx,[esi+00000268h] push edx sub ecx,eax push ecx call SUB_L004C6E30 add esp,00000024h mov [esp+14h],eax L004C32F3: mov ebp,[esp+10h] xor ecx,ecx mov cl,[esi+000000EBh] lea edx,[esp+18h] xor eax,eax push edx mov ax,[L00C562FA] mov edx,[esp+30h] add ecx,ebp push eax lea eax,[ecx+edx+02h] mov edx,[esp+1Ch] xor ecx,ecx push eax mov cl,[esi+000000EAh] add ecx,edx mov edx,[esi+20h] push ecx push L005118FC push edx jmp L004C36BF L004C3335: cmp edx,ebx jz L004C33B6 lea edx,[esi+000000F4h] push edx call SUB_L004C4300 mov edx,eax add esp,00000004h xor eax,eax cmp edx,ebx jle L004C3366 mov ecx,edx mov eax,002A002Ah lea edi,[esp+38h] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx L004C3366: mov [esp+eax*2+38h],bx L004C336B: lea eax,[esp+18h] mov edi,[esp+10h] push eax xor eax,eax mov ax,[esi+00000272h] lea ecx,[eax+eax*4] lea edx,[eax+ecx*2] xor ecx,ecx mov cl,[esi+000000EBh] xor eax,eax mov ax,[L00C42CEA+edx*8] add ecx,edi push eax mov eax,[esi+0000026Ch] xor edx,edx push ecx mov dl,[esi+000000EAh] lea ecx,[esp+eax*2+44h] push edx mov edx,[esi+20h] push ecx push edx jmp L004C36BF L004C33B6: cmp [esi+000000C0h],ebx jz L004C3626 mov eax,[esi+000000BCh] lea edx,[esp+34h] cmp eax,ebx lea eax,[esp+30h] push edx lea ecx,[esp+2Ch] lea edi,[esi+000000F4h] push eax push ecx push edi jnz L004C3571 call SUB_L004C6930 mov edx,[esp+38h] mov ecx,[esi+20h] xor eax,eax add esp,00000010h mov al,[esi+000000EAh] lea ebp,[edx+eax*2] cmp ebp,ecx jl L004C3443 lea edx,[esp+18h] push edx push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] xor ecx,ecx mov cx,[esi+00000272h] add edx,00000004h push edx push edi mov edi,[esp+20h] push ecx xor ecx,ecx xor edx,edx mov cl,[esi+000000EBh] mov dx,[esi+00000270h] add ecx,edi push edx push ecx push eax call SUB_L00441960 add esp,00000020h jmp L004C348D L004C3443: lea eax,[esp+18h] push eax xor eax,eax mov ax,[esi+00000272h] lea ebp,[eax+eax*4] lea eax,[eax+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+eax*8] xor eax,eax mov al,[esi+000000EBh] push ebp add eax,[esp+18h] push eax mov eax,ecx sub eax,edx cdq sub eax,edx sar eax,1 push eax push edi push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] add edx,00000004h push edx call SUB_L004C6100 add esp,0000001Ch L004C348D: mov eax,[esi+54h] cmp eax,0000098Dh jnz L004C34CC mov eax,[esi+3Ch] 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+20h] push eax xor eax,eax mov al,[esi+000000EBh] xor ecx,ecx mov cl,[esi+000000EAh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Bh jmp L004C3506 L004C34CC: cmp eax,0000098Eh mov eax,[esi+3Ch] mov eax,[eax+04h] jnz L004C352A xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx add eax,00000004h push edx mov edx,[esi+20h] push eax xor eax,eax mov al,[esi+000000EBh] xor ecx,ecx mov cl,[esi+000000EAh] add eax,00000002h sub edx,ecx push eax sub edx,0000000Fh L004C3506: push edx push 00000985h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C352A: xor ecx,ecx xor edx,edx mov cx,[eax+02h] mov dx,[eax] push ecx mov ecx,[esi+20h] add eax,00000004h push edx push eax xor eax,eax mov al,[esi+000000EAh] push 00000001h sub ecx,eax sub ecx,00000009h push ecx push 00001391h push SUB_L004B9B80 call SUB_L00443500 add esp,0000001Ch mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C3571: call SUB_L004C6930 mov ecx,[esp+30h] mov eax,[esp+28h] mov edx,[esp+38h] sub ecx,eax add esp,00000010h cmp edx,ecx jl L004C35DC mov ecx,[esi+20h] lea edx,[esp+18h] push edx mov edx,[esi+3Ch] push ecx mov ecx,[edx+04h] xor edx,edx mov dx,[esi+00000272h] add ecx,00000004h push ecx push edi mov edi,[esp+20h] push edx xor edx,edx xor ecx,ecx mov dl,[esi+000000EBh] mov cx,[esi+00000270h] add edx,edi push ecx push edx push eax call SUB_L00441960 add esp,00000020h mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C35DC: lea eax,[esp+18h] mov ecx,[esi+20h] push eax xor eax,eax mov ax,[esi+00000272h] lea ebp,[eax+eax*4] lea eax,[eax+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+eax*8] xor eax,eax mov al,[esi+000000EBh] push ebp add eax,[esp+18h] push eax mov eax,ecx sub eax,edx cdq sub eax,edx sar eax,1 push eax push edi push ecx mov ecx,[esi+3Ch] mov edx,[ecx+04h] add edx,00000004h push edx jmp L004C36C9 L004C3626: cmp [esi+000000D0h],ebx jz L004C3689 lea edx,[esp+18h] push ebx push edx xor edx,edx mov dx,[esi+00000272h] lea ebp,[edx+edx*4] lea edx,[edx+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+edx*8] mov edx,[esi+0000026Ch] push ebp push edi lea edx,[esi+edx*2+000000F4h] push eax push edx add eax,eax mov edx,ecx sub edx,eax mov eax,[esi+3Ch] push edx push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx call SUB_L004C73A0 add esp,00000024h mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ L004C3689: lea edx,[esp+18h] push edx xor edx,edx mov dx,[esi+00000272h] lea ebp,[edx+edx*4] lea edx,[edx+ebp*2] xor ebp,ebp mov bp,[L00C42CEA+edx*8] mov edx,[esp+14h] add edi,edx push ebp push edi push eax mov eax,[esi+0000026Ch] lea edx,[esi+eax*2+000000F4h] push edx push ecx L004C36BF: mov eax,[esi+3Ch] mov ecx,[eax+04h] add ecx,00000004h push ecx L004C36C9: call SUB_L004C6100 add esp,0000001Ch mov [L0094330C],ebx pop edi pop esi pop ebp pop ebx add esp,00000194h retn ;------------------------------------------------------------------------------ Align 16 L004C36F0: sub esp,0000016Ch push ebx push ebp push esi mov esi,ecx mov ecx,[esi+4Ch] test ecx,ecx jz L004C3712 push 00000000h call SUB_L004584E0 mov ecx,[esi+4Ch] push esi mov eax,[ecx] call [eax+5Ch] L004C3712: mov eax,[esi+000000B4h] mov ebp,[esp+00000180h] mov ebx,[esp+0000017Ch] test eax,eax jz L004C383A mov eax,[esi+000000BCh] test eax,eax jnz L004C383A call SUB_L00456C40 push esi call SUB_L00456DC0 mov al,[esi+000000ECh] add esp,00000004h test al,al jz L004C378A cmp al,02h jz L004C378A mov edx,[esi+000000F0h] lea ecx,[esp+0Ch] push 0000000Ah push ecx push edx call SUB_L004C4CC0 lea eax,[esp+18h] push eax call SUB_L004C4300 add esp,00000010h mov ecx,esi mov [esi+00000268h],eax call SUB_L004C2E70 jmp L004C3856 L004C378A: mov eax,[esi+000000B8h] test eax,eax jz L004C37DB lea ecx,[esi+000000F4h] push ecx call SUB_L004C4300 mov edx,eax add esp,00000004h xor eax,eax test edx,edx jle L004C37C3 mov ecx,edx push edi mov eax,002A002Ah lea edi,[esp+10h] shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,edx pop edi L004C37C3: mov word ptr [esp+eax*2+0Ch],0000h mov eax,[esi+0000026Ch] lea edx,[ebx-01h] lea ecx,[esp+eax*2+0Ch] push edx push ecx jmp L004C381B L004C37DB: mov eax,[esi+000000D0h] test eax,eax jz L004C3809 mov eax,[esi+20h] mov ecx,[esi+0000026Ch] lea edx,[ebx-01h] push ebp push edx sub eax,00000006h lea edx,[esi+ecx*2+000000F4h] push eax push edx call SUB_L004C7340 add esp,00000010h jmp L004C3823 L004C3809: mov ecx,[esi+0000026Ch] lea eax,[ebx-01h] push eax lea edx,[esi+ecx*2+000000F4h] push edx L004C381B: call SUB_L004C6EC0 add esp,00000008h L004C3823: mov ecx,[esi+0000026Ch] add eax,ecx mov ecx,esi mov [esi+00000268h],eax call SUB_L004C2E70 jmp L004C3856 L004C383A: cmp byte ptr [esi+000000ECh],02h jnz L004C3856 mov eax,[esi+000000BCh] test eax,eax jnz L004C3856 mov ecx,[esi+4Ch] push esi mov eax,[ecx] call [eax+6Ch] L004C3856: mov ecx,[esi+000000B0h] mov eax,00000001h cmp ecx,eax mov [esi+000000A4h],eax jnz L004C3887 mov dword ptr [esi+000000B0h],00000002h mov [esi+70h],ebx mov [esi+74h],ebp pop esi pop ebp pop ebx add esp,0000016Ch retn 0008h ;------------------------------------------------------------------------------ L004C3887: mov [esi+000000B0h],eax call [KERNEL32.dll!GetTickCount] mov [esi+000000ACh],eax mov [esi+70h],ebx mov [esi+74h],ebp pop esi pop ebp pop ebx add esp,0000016Ch retn 0008h ;------------------------------------------------------------------------------ Align 8 L004C38B0: mov eax,ecx push esi xor esi,esi mov ecx,[eax+0000009Ch] mov [eax+000000A4h],esi cmp ecx,esi jz L004C38DE push esi mov [eax+0000009Ch],esi mov [eax+000000B0h],esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ L004C38DE: cmp dword ptr [eax+000000B0h],00000002h jnz L004C38FA mov ecx,[eax+4Ch] mov [eax+000000B0h],esi cmp ecx,esi jz L004C38FA mov edx,[ecx] push eax call [edx+60h] L004C38FA: push esi call SUB_L00476670 add esp,00000004h pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004C3910: push esi mov esi,ecx push 00000000h call SUB_L004D0FB0 mov eax,[esi+000000DCh] add esp,00000004h test eax,eax jnz L004C3942 cmp word ptr [esi+000000E6h],0000h mov dword ptr [esi+000000DCh],00000001h jz L004C3942 mov ecx,esi call SUB_L004C2E70 L004C3942: pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 L004C3950: mov eax,[ecx+000000DCh] test eax,eax jz L004C3973 cmp word ptr [ecx+000000E6h],0000h mov dword ptr [ecx+000000DCh],00000000h jz L004C3973 jmp SUB_L004C2E70 L004C3973: retn ;------------------------------------------------------------------------------ Align 16 L004C3980: 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 L004C39C5 sub edi,[esi+000000ACh] cmp edi,eax jbe L004C39C5 mov eax,[esi+000000A4h] mov dword ptr [esi+000000B0h],00000000h test eax,eax jz L004C39C5 mov [esi+0000009Ch],ecx L004C39C5: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C39D0: sub esp,00000020h push esi mov esi,ecx mov eax,[esi+000000D4h] test eax,eax jz L004C39EA mov eax,00000001h pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ L004C39EA: mov al,[esi+000000ECh] push ebx push ebp push edi test al,al jz L004C3A1D cmp al,02h jz L004C3A1D mov ecx,[esi+000000F0h] lea eax,[esp+10h] push 0000000Ah push eax push ecx call SUB_L004C4CC0 mov edx,[esi+0000026Ch] add esp,0000000Ch lea ebx,[esp+edx*2+10h] jmp L004C3A2A L004C3A1D: mov eax,[esi+0000026Ch] lea ebx,[esi+eax*2+000000F4h] L004C3A2A: mov ecx,[esi+20h] mov edi,[esi+0000026Ch] sub ecx,0000000Ch push ecx push ebx call SUB_L004C6EC0 mov ecx,[esi+00000268h] add eax,edi neg edi add esp,00000008h cmp eax,ecx lea ebx,[ebx+edi*2] jg L004C3A99 lea edx,[ebx+eax*2] sub ecx,eax push edx push ecx call SUB_L004C6E30 push ebx mov edi,eax call SUB_L004C4300 mov ebp,eax add esp,0000000Ch dec ebp test edi,edi jle L004C3A99 L004C3A6F: mov eax,[esi+0000026Ch] cmp eax,ebp jge L004C3A99 mov ax,[ebx+eax*2] push eax call SUB_L004C5F40 mov ecx,[esi+0000026Ch] add esp,00000004h sub edi,eax inc ecx test edi,edi mov [esi+0000026Ch],ecx jg L004C3A6F L004C3A99: pop edi pop ebp pop ebx mov eax,00000001h pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 16 L004C3AB0: sub esp,000000CCh push ebx push ebp push esi mov esi,ecx xor ebx,ebx push edi cmp [esi+000000BCh],ebx jnz L004C3FCE mov edi,[esp+000000E0h] cmp edi,00000009h jnz L004C3AEB mov ecx,[esi+4Ch] mov eax,[ecx] call [eax+50h] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3AEB: cmp edi,0000000Dh jnz L004C3B05 mov ecx,[esi+4Ch] mov edx,[ecx] call [edx+54h] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3B05: cmp edi,0000001Bh jnz L004C3B1F mov ecx,[esi+4Ch] mov eax,[ecx] call [eax+58h] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3B1F: cmp edi,0000E024h jnz L004C3B5F cmp [esi+000000ECh],bl jnz L004C3FCE cmp [esi+00000268h],ebx jle L004C3FCE mov ecx,esi mov [esi+00000268h],ebx mov [esi+0000026Ch],ebx call SUB_L004C2E70 pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3B5F: cmp edi,0000E023h jnz L004C3BDE mov al,[esi+000000ECh] cmp al,bl jz L004C3BB6 cmp al,02h jz L004C3BB6 cmp al,01h jnz L004C3FCE mov edx,[esi+000000F0h] lea ecx,[esp+1Ch] push 0000000Ah push ecx push edx call SUB_L004C4CC0 lea eax,[esp+28h] push eax call SUB_L004C4300 mov ecx,[esi+00000268h] add esp,00000010h cmp ecx,eax jge L004C3FCE mov [esi+00000268h],eax jmp L004C3FC0 L004C3BB6: lea ecx,[esi+000000F4h] push ecx call SUB_L004C4300 mov ecx,[esi+00000268h] add esp,00000004h cmp ecx,eax jge L004C3FCE mov [esi+00000268h],eax jmp L004C3FC0 L004C3BDE: cmp edi,0000E026h jz L004C3FCE cmp edi,0000E028h jz L004C3FCE cmp edi,0000E025h jz L004C3F40 cmp edi,0000E027h jz L004C3F40 cmp edi,00000008h jz L004C3E2A cmp edi,0000E02Eh jz L004C3E2A push edi call SUB_L004C5F00 add esp,00000004h test eax,eax jz L004C3DB3 mov al,[esi+000000ECh] cmp al,bl jz L004C3C46 cmp al,02h jnz L004C3DB3 L004C3C46: cmp [esi+000000C4h],ebx jz L004C3C74 cmp edi,00000030h jl L004C3C58 cmp edi,00000039h jle L004C3C74 L004C3C58: cmp edi,00000061h jl L004C3C62 cmp edi,0000007Ah jle L004C3C74 L004C3C62: cmp edi,00000041h jl L004C3FCE cmp edi,0000005Ah jg L004C3FCE L004C3C74: lea ebp,[esi+000000F4h] push ebp call SUB_L004C4300 mov ecx,[esi+00000264h] add esp,00000004h cmp eax,ecx jge L004C3FCE mov ecx,[esi+00000268h] cmp ecx,eax jl L004C3CA5 mov [esi+eax*2+000000F4h],di jmp L004C3CD7 L004C3CA5: cmp eax,ecx mov edx,eax jle L004C3CC9 lea ecx,[esi+eax*2+000000F4h] L004C3CB2: mov bx,[ecx-02h] dec edx mov [ecx],bx mov ebx,[esi+00000268h] sub ecx,00000002h cmp edx,ebx jg L004C3CB2 xor ebx,ebx L004C3CC9: mov edx,[esi+00000268h] mov [esi+edx*2+000000F4h],di L004C3CD7: mov [esi+eax*2+000000F6h],bx mov eax,[esi+00000268h] inc eax mov ecx,esi mov [esi+00000268h],eax call SUB_L004C39D0 mov eax,[esi+000000D4h] cmp eax,ebx mov eax,[esi+000000D0h] jz L004C3D65 cmp eax,ebx jnz L004C3D6D lea eax,[esp+3Ch] push ebp push eax call SUB_L004C4430 lea ecx,[esp+44h] push L005118FC push ecx call SUB_L004C4550 lea edx,[esp+28h] lea eax,[esp+24h] push edx lea ecx,[esp+24h] push eax lea edx,[esp+54h] push ecx push edx call SUB_L004C6930 mov eax,[esi+20h] mov ecx,[esp+30h] add esp,00000020h sub eax,00000006h L004C3D47: cmp ecx,eax jl L004C3E05 mov edx,[esi] push 00000008h mov ecx,esi call [edx+44h] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3D65: cmp eax,ebx jz L004C3E05 L004C3D6D: lea eax,[esp+3Ch] push ebp push eax call SUB_L004C4430 lea ecx,[esp+44h] push L005118FC push ecx call SUB_L004C4550 lea edx,[esp+28h] lea eax,[esp+24h] push edx mov edx,[esi+20h] lea ecx,[esp+24h] push eax sub edx,00000006h push ecx lea eax,[esp+58h] push edx push eax call SUB_L004C6B20 mov ecx,[esp+38h] mov eax,[esi+24h] add esp,00000024h jmp L004C3D47 L004C3DB3: cmp byte ptr [esi+000000ECh],01h jnz L004C3FCE cmp edi,00000030h jl L004C3FCE cmp edi,00000039h jg L004C3FCE mov eax,[esi+000000F0h] lea ecx,[eax+eax*4] lea eax,[edi+ecx*2] mov ecx,[esi+00000264h] lea edx,[eax-30h] cmp edx,ecx jg L004C3FCE mov ecx,[esi+00000268h] add eax,FFFFFFD0h inc ecx mov [esi+000000F0h],eax mov [esi+00000268h],ecx L004C3E05: mov ecx,esi call SUB_L004C2E70 mov ecx,[esi+4Ch] cmp ecx,ebx jz L004C3FCE mov eax,[ecx] push esi call [eax+4Ch] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3E2A: mov al,[esi+000000ECh] cmp al,bl jz L004C3EB0 cmp al,02h jz L004C3EB0 mov ecx,[esi+000000F0h] cmp ecx,ebx jbe L004C3FCE mov eax,CCCCCCCDh mul ecx mov eax,[esi+00000268h] shr edx,03h cmp eax,00000001h mov [esi+000000F0h],edx jle L004C3E68 dec eax mov [esi+00000268h],eax L004C3E68: mov eax,[esi+0000026Ch] mov ecx,[esi+00000268h] cmp ecx,eax jge L004C3E8B L004C3E78: add eax,FFFFFFF8h xor ecx,ecx cmp eax,ebx setl cl dec ecx and eax,ecx mov [esi+0000026Ch],eax L004C3E8B: mov ecx,esi call SUB_L004C2E70 mov ecx,[esi+4Ch] cmp ecx,ebx jz L004C3FCE mov edx,[ecx] push esi call [edx+4Ch] pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3EB0: lea eax,[esi+000000F4h] push eax call SUB_L004C4300 add esp,00000004h cmp eax,ebx jle L004C3FCE cmp edi,0000E02Eh jnz L004C3EE4 mov ecx,[esi+00000268h] cmp ecx,eax jge L004C3FCE inc ecx mov [esi+00000268h],ecx L004C3EE4: mov ecx,[esi+00000268h] cmp ecx,eax jge L004C3F12 cmp ecx,ebx jle L004C3F27 lea edi,[ecx-01h] lea ecx,[eax-01h] cmp edi,ecx jge L004C3F12 lea edx,[esi+edi*2+000000F4h] sub ecx,edi L004C3F05: mov di,[edx+02h] mov [edx],di add edx,00000002h dec ecx jnz L004C3F05 L004C3F12: mov [esi+eax*2+000000F2h],bx mov eax,[esi+00000268h] dec eax mov [esi+00000268h],eax L004C3F27: mov eax,[esi+0000026Ch] mov ecx,[esi+00000268h] cmp ecx,eax jge L004C3E8B jmp L004C3E78 L004C3F40: cmp [esi+000000ECh],bl jnz L004C3FCE cmp edi,0000E025h jnz L004C3F98 mov eax,[esi+00000268h] cmp eax,ebx jle L004C3FCE lea ecx,[eax-01h] mov eax,[esi+0000026Ch] cmp ecx,eax mov [esi+00000268h],ecx jge L004C3FC7 add eax,FFFFFFF8h xor ecx,ecx cmp eax,ebx setl cl dec ecx and eax,ecx mov ecx,esi mov [esi+0000026Ch],eax call SUB_L004C2E70 pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ L004C3F98: cmp edi,0000E027h jnz L004C3FCE mov edi,[esi+00000268h] lea edx,[esi+000000F4h] push edx call SUB_L004C4300 add esp,00000004h cmp edi,eax jge L004C3FCE inc edi mov [esi+00000268h],edi L004C3FC0: mov ecx,esi call SUB_L004C39D0 L004C3FC7: mov ecx,esi call SUB_L004C2E70 L004C3FCE: pop edi pop esi pop ebp pop ebx add esp,000000CCh retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C3FE0: sub esp,00000010h push ebx push esi mov esi,ecx xor ebx,ebx mov eax,[esi+000000DCh] cmp eax,ebx jle L004C40F1 dec eax push ebp mov [esi+000000DCh],eax mov eax,[esi+000000C8h] mov ecx,[eax+08h] mov eax,[esi+000000C0h] cmp eax,ebx mov [esi+000000C8h],ecx jz L004C4048 L004C4018: mov ecx,[eax] mov edx,[ecx+34h] add edx,0000001Dh mov [ecx+34h],edx mov ecx,[eax] mov edx,[ecx+34h] lea ebp,[edx+1Dh] cmp ebp,[esi+24h] jg L004C403E cmp edx,00000007h jl L004C403E mov dword ptr [ecx+6Ch],00000001h jmp L004C4041 L004C403E: mov [ecx+6Ch],ebx L004C4041: mov eax,[eax+04h] cmp eax,ebx jnz L004C4018 L004C4048: cmp [esi+000000DCh],ebx jnz L004C4059 mov edx,[esi+0000009Ch] mov [edx+6Ch],ebx L004C4059: mov eax,[esi+000000A0h] cmp [eax+6Ch],ebx jnz L004C406B mov dword ptr [eax+6Ch],00000001h L004C406B: mov eax,[esi+000000D4h] mov ebp,[esi+000000DCh] sub eax,ebp mov ecx,[esi+20h] mov [esp+0Ch],ebx mov [esp+10h],ebx lea edx,[00000000h+eax*8] mov [esp+14h],ecx sub edx,eax lea eax,[eax+edx*4+0Dh] mov edx,[esi+24h] mov [esp+18h],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch cmp eax,ebx pop ebp jz L004C40F1 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+18h] push ebx dec edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004C40F1: pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4100: sub esp,00000010h push ebx push esi mov esi,ecx mov eax,[esi+000000DCh] mov ecx,[esi+000000D4h] inc eax cmp eax,ecx jge L004C4220 mov [esi+000000DCh],eax mov eax,[esi+000000C8h] xor ebx,ebx push ebp mov ecx,[eax+04h] mov eax,[esi+000000C0h] cmp eax,ebx mov [esi+000000C8h],ecx jz L004C416E L004C413E: mov ecx,[eax] mov edx,[ecx+34h] add edx,FFFFFFE3h mov [ecx+34h],edx mov ecx,[eax] mov edx,[ecx+34h] lea ebp,[edx+1Dh] cmp ebp,[esi+24h] jg L004C4164 cmp edx,00000007h jl L004C4164 mov dword ptr [ecx+6Ch],00000001h jmp L004C4167 L004C4164: mov [ecx+6Ch],ebx L004C4167: mov eax,[eax+04h] cmp eax,ebx jnz L004C413E L004C416E: mov edx,[esi+000000D4h] mov eax,[esi+000000DCh] dec edx cmp eax,edx jl L004C4188 mov eax,[esi+000000A0h] mov [eax+6Ch],ebx L004C4188: mov eax,[esi+0000009Ch] cmp [eax+6Ch],ebx jnz L004C419A mov dword ptr [eax+6Ch],00000001h L004C419A: mov eax,[esi+000000D4h] mov ebp,[esi+000000DCh] sub eax,ebp mov ecx,[esi+20h] mov [esp+0Ch],ebx mov [esp+10h],ebx lea edx,[00000000h+eax*8] mov [esp+14h],ecx sub edx,eax lea eax,[eax+edx*4+0Dh] mov edx,[esi+24h] mov [esp+18h],eax mov eax,[esi+3Ch] push edx mov edx,[esi+54h] push ecx mov ecx,[eax+04h] add ecx,00000004h push ecx push ebx push ebx push edx push SUB_L004B9B80 call SUB_L00443500 mov eax,[esi+000000D4h] add esp,0000001Ch cmp eax,ebx pop ebp jz L004C4220 mov eax,[esi+24h] mov edx,[esi+3Ch] mov ecx,[esi+20h] push eax mov eax,[edx+04h] mov edx,[esi+54h] add eax,00000004h push ecx push eax push ebx lea ecx,[esp+18h] push ebx dec edx push ecx push edx push SUB_L004B9B80 call SUB_L004436C0 add esp,00000020h L004C4220: pop esi pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4230: mov eax,[L0051192C] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4240: push esi mov esi,[esp+08h] test esi,esi jle L004C424E cmp esi,00000014h jle L004C4262 L004C424E: push 00000000h push SSZ005119AC_UnicodeSetSpaceWidth__ push SSZ00511984_Unreasonable_width_of_space_char call SUB_L004D1020 add esp,0000000Ch L004C4262: mov [L0051192C],esi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C4270: mov al,[esp+04h] mov [L00D1A682],al retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C4280: mov ecx,[L00511930] push esi xor esi,esi test cx,cx jz L004C42B5 mov eax,[esp+08h] mov edx,L00511930 L004C4297: cmp cx,ax jz L004C42AB mov cx,[edx+04h] add edx,00000004h inc esi test cx,cx jnz L004C4297 jmp L004C42B9 L004C42AB: mov ax,[L00511932+esi*4] jmp L004C42B9 L004C42B5: mov eax,[esp+08h] L004C42B9: cmp ax,0041h pop esi jc L004C42CA cmp ax,005Ah ja L004C42CA add eax,00000020h retn ;------------------------------------------------------------------------------ L004C42CA: cmp ax,00C0h jc L004C42DA cmp ax,00DDh ja L004C42DA add eax,00000020h retn ;------------------------------------------------------------------------------ L004C42DA: cmp ax,0100h jc L004C42E9 cmp ax,0176h ja L004C42E9 or al,01h retn ;------------------------------------------------------------------------------ L004C42E9: cmp ax,0179h jc L004C42FB cmp ax,017Dh ja L004C42FB inc eax and eax,0000FFFEh L004C42FB: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C4300: mov ecx,[esp+04h] xor eax,eax cmp [ecx],ax jz L004C4315 L004C430B: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C430B L004C4315: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4320: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] L004C4329: mov ax,[edx] mov cx,[esi] cmp ax,cx jnz L004C4346 test ax,ax jz L004C4353 test cx,cx jz L004C4353 add edx,00000002h add esi,00000002h jmp L004C4329 L004C4346: mov ax,[edx] cmp ax,[esi] pop esi sbb eax,eax and al,FEh inc eax retn ;------------------------------------------------------------------------------ L004C4353: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4360: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] L004C4369: mov ax,[edx] cmp ax,0041h jc L004C437B cmp ax,005Ah lea ecx,[eax+20h] jbe L004C437D L004C437B: mov ecx,eax L004C437D: mov ax,[esi] cmp ax,0041h jc L004C438F cmp ax,005Ah ja L004C438F add eax,00000020h L004C438F: cmp cx,ax jnz L004C43A6 test cx,cx jz L004C43AD test ax,ax jz L004C43AD add edx,00000002h add esi,00000002h jmp L004C4369 L004C43A6: sbb eax,eax pop esi and al,FEh inc eax retn ;------------------------------------------------------------------------------ L004C43AD: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C43C0: push esi push edi mov edi,[esp+14h] mov eax,edi dec edi test eax,eax jz L004C4417 mov esi,[esp+10h] mov edx,[esp+0Ch] L004C43D5: mov ax,[edx] cmp ax,0041h jc L004C43E7 cmp ax,005Ah lea ecx,[eax+20h] jbe L004C43E9 L004C43E7: mov ecx,eax L004C43E9: mov ax,[esi] cmp ax,0041h jc L004C43FB cmp ax,005Ah ja L004C43FB add eax,00000020h L004C43FB: cmp cx,ax jnz L004C441C test cx,cx jz L004C4417 test ax,ax jz L004C4417 add edx,00000002h add esi,00000002h mov ecx,edi dec edi test ecx,ecx jnz L004C43D5 L004C4417: pop edi xor eax,eax pop esi retn ;------------------------------------------------------------------------------ L004C441C: sbb eax,eax pop edi and al,FEh pop esi inc eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4430: mov edx,[esp+08h] mov ax,[edx] test ax,ax jz L004C4455 mov ecx,[esp+04h] L004C4440: add edx,00000002h mov [ecx],ax add ecx,00000002h mov ax,[edx] test ax,ax jnz L004C4440 mov [ecx],ax retn ;------------------------------------------------------------------------------ L004C4455: mov eax,[esp+04h] mov word ptr [eax],0000h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C4460: mov edx,[esp+04h] test edx,edx jz L004C449D mov ecx,[esp+08h] test ecx,ecx jz L004C449D mov ax,[ecx] push esi test ax,ax push edi jz L004C4496 mov esi,[esp+14h] L004C447E: mov edi,esi dec esi test edi,edi jz L004C4496 add ecx,00000002h mov [edx],ax add edx,00000002h mov ax,[ecx] test ax,ax jnz L004C447E L004C4496: pop edi mov word ptr [edx],0000h pop esi L004C449D: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C44A0: push esi mov esi,[esp+08h] xor ecx,ecx cmp [esi],cx jz L004C44B8 mov eax,esi L004C44AE: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L004C44AE L004C44B8: lea eax,[ecx+ecx+02h] push eax call SUB_L004D4FA9 mov dx,[esi] add esp,00000004h test dx,dx mov ecx,eax jz L004C44E1 sub esi,eax L004C44D1: mov [ecx],dx mov dx,[esi+ecx+02h] add ecx,00000002h test dx,dx jnz L004C44D1 L004C44E1: mov word ptr [ecx],0000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C44F0: mov edx,[esp+08h] mov ecx,[esp+04h] mov al,[edx] test al,al jz L004C4510 L004C44FE: movzx ax,al mov [ecx],ax mov al,[edx+01h] add ecx,00000002h inc edx test al,al jnz L004C44FE L004C4510: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4520: mov eax,[esp+08h] cmp word ptr [eax],0000h jz L004C4540 mov ecx,[esp+04h] L004C452E: mov dl,[eax] add eax,00000002h mov [ecx],dl inc ecx cmp word ptr [eax],0000h jnz L004C452E mov byte ptr [ecx],00h retn ;------------------------------------------------------------------------------ L004C4540: mov eax,[esp+04h] mov byte ptr [eax],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4550: mov eax,[esp+04h] cmp word ptr [eax],0000h jz L004C4563 L004C455A: add eax,00000002h cmp word ptr [eax],0000h jnz L004C455A L004C4563: mov edx,[esp+08h] mov cx,[edx] test cx,cx jz L004C4580 L004C456F: add edx,00000002h mov [eax],cx add eax,00000002h mov cx,[edx] test cx,cx jnz L004C456F L004C4580: mov word ptr [eax],0000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4590: mov eax,[esp+04h] cmp word ptr [eax],0000h jz L004C45A3 L004C459A: add eax,00000002h cmp word ptr [eax],0000h jnz L004C459A L004C45A3: mov edx,[esp+08h] mov cl,[edx] test cl,cl jz L004C45BF L004C45AD: movsx cx,cl mov [eax],cx mov cl,[edx+01h] add eax,00000002h inc edx test cl,cl jnz L004C45AD L004C45BF: mov word ptr [eax],0000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C45D0: xor eax,eax cmp word ptr [esp+04h],0020h setz al retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C45E0: mov ecx,[esp+04h] mov eax,[esp+08h] cmp cx,3000h jc L004C45F6 cmp cx,9FFFh jbe L004C463E L004C45F6: cmp cx,AC00h jc L004C4604 cmp cx,D7A3h jbe L004C463E L004C4604: cmp cx,F900h jc L004C4612 cmp cx,FAFFh jbe L004C463E L004C4612: cmp ax,3000h jc L004C461E cmp ax,9FFFh jbe L004C463E L004C461E: cmp ax,AC00h jc L004C462A cmp ax,D7A3h jbe L004C463E L004C462A: cmp ax,F900h jc CASE_004C4A18_PROC0000 cmp ax,FAFFh ja CASE_004C4A18_PROC0000 L004C463E: test cx,cx jz CASE_004C4A18_PROC0001 test ax,ax jz CASE_004C4A18_PROC0001 and ecx,0000FFFFh cmp ecx,0000300Eh jg L004C46C3 jz CASE_004C4A18_PROC0000 cmp ecx,000000A3h jg L004C468D jz CASE_004C4A18_PROC0000 add ecx,FFFFFFDEh cmp ecx,00000059h ja CASE_004C4890_PROC0001 xor edx,edx mov dl,[ecx+CASE_004C4834] jmp [CASE_PROCTABLE_004C482C+edx*4] L004C468D: cmp ecx,0000300Ah jg L004C46B5 jz CASE_004C4A18_PROC0000 cmp ecx,000000A5h jz CASE_004C4A18_PROC0000 cmp ecx,00003008h jz CASE_004C4A18_PROC0000 jmp CASE_004C4890_PROC0001 L004C46B5: cmp ecx,0000300Ch jz CASE_004C4A18_PROC0000 jmp CASE_004C4890_PROC0001 L004C46C3: cmp ecx,0000FF3Bh jg L004C46F8 jz CASE_004C4A18_PROC0000 cmp ecx,0000FF04h jg L004C46F0 jz CASE_004C4A18_PROC0000 sub ecx,00003010h jz CASE_004C4A18_PROC0000 sub ecx,00000004h jmp L004C4715 L004C46F0: cmp ecx,0000FF08h jmp L004C4715 L004C46F8: add ecx,FFFF00A5h cmp ecx,0000008Ah ja CASE_004C4890_PROC0001 xor edx,edx mov dl,[ecx+CASE_004C4898] jmp [CASE_PROCTABLE_004C4890+edx*4] L004C4715: jz CASE_004C4A18_PROC0000 CASE_004C4890_PROC0001: and eax,0000FFFFh cmp eax,0000300Dh jg L004C47B2 jz CASE_004C4A18_PROC0000 cmp eax,0000007Dh jg L004C4753 jz CASE_004C4A18_PROC0000 add eax,FFFFFFDFh cmp eax,0000003Ch ja CASE_004C4A18_PROC0001 xor ecx,ecx mov cl,[eax+CASE_004C492C] jmp [CASE_PROCTABLE_004C4924+ecx*4] L004C4753: cmp eax,00002103h jg L004C4799 jz CASE_004C4A18_PROC0000 cmp eax,00002030h jg L004C4784 jz CASE_004C4A18_PROC0000 sub eax,000000A2h jz CASE_004C4A18_PROC0000 sub eax,0000000Eh L004C477B: jz CASE_004C4A18_PROC0000 CASE_004C4A18_PROC0001: mov al,01h retn ;------------------------------------------------------------------------------ L004C4784: cmp eax,00002032h jl CASE_004C4A18_PROC0001 cmp eax,00002033h jle CASE_004C4A18_PROC0000 mov al,01h retn ;------------------------------------------------------------------------------ L004C4799: add eax,FFFFCFFFh cmp eax,0000000Ah ja CASE_004C4A18_PROC0001 xor edx,edx mov dl,[eax+CASE_004C4974] jmp [CASE_PROCTABLE_004C496C+edx*4] L004C47B2: cmp eax,0000FF0Ch jg L004C480A jz CASE_004C4A18_PROC0000 cmp eax,000030FBh jg L004C47DF jz CASE_004C4A18_PROC0000 add eax,FFFFCFF1h cmp eax,0000008Fh ja CASE_004C4A18_PROC0001 xor ecx,ecx mov cl,[eax+CASE_004C4988] jmp [CASE_PROCTABLE_004C4980+ecx*4] L004C47DF: cmp eax,0000FF05h jg L004C4800 jz CASE_004C4A18_PROC0000 cmp eax,000030FDh jl CASE_004C4A18_PROC0001 cmp eax,000030FEh jle CASE_004C4A18_PROC0000 cmp eax,0000FF01h jz CASE_004C4A18_PROC0000 mov al,01h retn ;------------------------------------------------------------------------------ L004C4800: cmp eax,0000FF09h jmp L004C477B L004C480A: add eax,FFFF00F2h cmp eax,000000D2h ja CASE_004C4A18_PROC0001 xor edx,edx mov dl,[eax+CASE_004C4A20] jmp [CASE_PROCTABLE_004C4A18+edx*4] CASE_004C4A18_PROC0000: xor al,al retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004C482C: dd CASE_004C4A18_PROC0000 dd CASE_004C4890_PROC0001 CASE_004C4834: db 00h, 01h, 00h, 01h, 01h, 00h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h Align 4 CASE_PROCTABLE_004C4890: dd CASE_004C4A18_PROC0000 dd CASE_004C4890_PROC0001 CASE_004C4898: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 00h, 01h, 01h, 01h, 00h Align 4 CASE_PROCTABLE_004C4924: dd CASE_004C4A18_PROC0000 dd CASE_004C4A18_PROC0001 CASE_004C492C: db 00h, 00h, 01h, 01h, 00h, 01h, 00h, 01h, 00h, 01h, 01h, 00h, 01h, 00h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 01h, 01h, 01h, 00h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h Align 4 CASE_PROCTABLE_004C496C: dd CASE_004C4A18_PROC0000 dd CASE_004C4A18_PROC0001 CASE_004C4974: db 00h, 00h, 01h, 01h, 00h, 01h, 01h, 01h, 00h, 01h, 00h Align 4 CASE_PROCTABLE_004C4980: dd CASE_004C4A18_PROC0000 dd CASE_004C4A18_PROC0001 CASE_004C4988: db 00h, 01h, 00h, 01h, 01h, 01h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 00h, 00h CASE_PROCTABLE_004C4A18: dd CASE_004C4A18_PROC0000 dd CASE_004C4A18_PROC0001 CASE_004C4A20: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 01h, 01h db 01h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h db 01h, 01h, 01h, 00h, 01h, 00h, 00h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 00h, 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h db 01h, 01h, 00h Align 16 SUB_L004C4B00: mov ax,[esp+04h] cmp ax,0030h jc L004C4B17 cmp ax,0039h ja L004C4B17 mov eax,00000001h retn ;------------------------------------------------------------------------------ L004C4B17: xor eax,eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C4B20: mov ecx,[esp+08h] mov ax,[ecx] test ax,ax jz L004C4B4A mov edx,[esp+04h] L004C4B30: cmp ax,0080h jnc L004C4B3B mov al,[ecx] mov [edx],al inc edx L004C4B3B: mov ax,[ecx+02h] add ecx,00000002h test ax,ax jnz L004C4B30 mov [edx],al retn ;------------------------------------------------------------------------------ L004C4B4A: mov ecx,[esp+04h] mov byte ptr [ecx],00h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4B60: mov edx,[esp+08h] mov ecx,[esp+04h] mov al,[edx] test al,al jz L004C4B80 L004C4B6E: movsx ax,al mov [ecx],ax mov al,[edx+01h] add ecx,00000002h inc edx test al,al jnz L004C4B6E L004C4B80: mov word ptr [ecx],0000h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4B90: push esi mov esi,[esp+08h] xor edx,edx mov eax,00000001h mov cx,[esi] test cx,cx jz L004C4BDB L004C4BA4: cmp cx,002Dh jnz L004C4BAE neg eax jmp L004C4BCF L004C4BAE: cmp cx,0030h jc L004C4BC9 cmp cx,0039h ja L004C4BC9 lea edx,[edx+edx*4] and ecx,0000FFFFh lea edx,[ecx+edx*2-30h] jmp L004C4BCF L004C4BC9: cmp cx,002Bh jnz L004C4BDB L004C4BCF: mov cx,[esi+02h] add esi,00000002h test cx,cx jnz L004C4BA4 L004C4BDB: imul eax,edx pop esi retn ;------------------------------------------------------------------------------ SUB_L004C4BE0: push esi mov esi,[esp+08h] xor edx,edx mov eax,00000001h mov cx,[esi] test cx,cx jz L004C4CAF L004C4BF8: cmp cx,002Dh jnz L004C4C05 neg eax jmp L004C4C9F L004C4C05: cmp cx,0030h jc L004C4C21 cmp cx,0039h ja L004C4C21 add edx,FFFFFFFDh and ecx,0000FFFFh shl edx,04h add edx,ecx jmp L004C4C9F L004C4C21: cmp cx,0041h jz L004C4C99 cmp cx,0061h jz L004C4C99 cmp cx,0042h jz L004C4C91 cmp cx,0062h jz L004C4C91 cmp cx,0043h jz L004C4C89 cmp cx,0063h jz L004C4C89 cmp cx,0044h jz L004C4C81 cmp cx,0064h jz L004C4C81 cmp cx,0045h jz L004C4C79 cmp cx,0065h jz L004C4C79 cmp cx,0046h jz L004C4C71 cmp cx,0066h jz L004C4C71 cmp cx,002Bh jnz L004C4CAF jmp L004C4C9F L004C4C71: shl edx,04h add edx,0000000Fh jmp L004C4C9F L004C4C79: shl edx,04h add edx,0000000Eh jmp L004C4C9F L004C4C81: shl edx,04h add edx,0000000Dh jmp L004C4C9F L004C4C89: shl edx,04h add edx,0000000Ch jmp L004C4C9F L004C4C91: shl edx,04h add edx,0000000Bh jmp L004C4C9F L004C4C99: shl edx,04h add edx,0000000Ah L004C4C9F: mov cx,[esi+02h] add esi,00000002h test cx,cx jnz L004C4BF8 L004C4CAF: imul eax,edx pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4CC0: push ebx push esi mov esi,[esp+0Ch] push edi test esi,esi jge L004C4CDB mov ebx,[esp+14h] neg esi mov word ptr [ebx],002Dh add ebx,00000002h jmp L004C4CDF L004C4CDB: mov ebx,[esp+14h] L004C4CDF: mov edi,[esp+18h] mov ecx,00000001h mov eax,ecx lea edx,[edi-01h] cmp edx,esi jge L004C4D04 L004C4CF1: imul ecx,edi inc eax cmp eax,0000000Ah jge L004C4D04 mov edx,ecx imul edx,edi dec edx cmp edx,esi jl L004C4CF1 L004C4D04: test eax,eax jle L004C4D3A push ebp mov ebp,eax L004C4D0B: mov eax,esi add ebx,00000002h cdq idiv ecx mov edx,eax movsx ax,[eax+SSZ005119C4_0123456789abcdefghijklmonpqrstuv] imul edx,ecx mov [ebx-02h],ax mov eax,ecx sub esi,edx cdq idiv edi dec ebp mov ecx,eax jnz L004C4D0B pop ebp pop edi mov word ptr [ebx],0000h pop esi pop ebx retn ;------------------------------------------------------------------------------ L004C4D3A: pop edi mov word ptr [ebx],0000h pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C4D50: push ebp mov ebp,[esp+08h] test ebp,ebp jz L004C4DF9 push esi push edi xor edi,edi cmp [ebp+00h],di jz L004C4D73 mov eax,ebp L004C4D69: add eax,00000002h inc edi cmp word ptr [eax],0000h jnz L004C4D69 L004C4D73: lea eax,[edi+01h] push eax call SUB_L004D4FA9 mov esi,eax add esp,00000004h xor eax,eax test edi,edi mov byte ptr [esi],00h jle L004C4DA6 mov ecx,ebp L004C4D8C: cmp word ptr [ecx],0080h jnc L004C4D9A mov dl,[ecx] mov [eax+esi],dl jmp L004C4D9E L004C4D9A: mov byte ptr [eax+esi],20h L004C4D9E: inc eax add ecx,00000002h cmp eax,edi jl L004C4D8C L004C4DA6: push esi mov byte ptr [eax+esi],00h call SUB_L00484AF0 add esp,00000004h xor ecx,ecx test edi,edi jle L004C4DE8 push ebx mov ebx,ebp L004C4DBC: mov ax,[ebx] cmp ax,0080h jnc L004C4DDF mov dl,[ecx+esi] and eax,000000FFh movsx ebp,dl cmp ebp,eax jz L004C4DDB movsx ax,dl mov [ebx],ax L004C4DDB: mov ebp,[esp+14h] L004C4DDF: inc ecx add ebx,00000002h cmp ecx,edi jl L004C4DBC pop ebx L004C4DE8: push esi call SUB_L004D4F9E push ebp call SUB_L00484A60 add esp,00000008h pop edi pop esi L004C4DF9: pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C4E00: sub esp,00000020h lea eax,[esp+1Ch] push esi mov esi,[esp+28h] lea ecx,[esp+04h] push eax push ecx push esi mov dword ptr [esp+10h],00000000h call SUB_L0048BF80 lea edx,[esp+28h] lea eax,[esp+10h] push edx push eax push esi call SUB_L0048BF30 lea ecx,[esp+30h] lea edx,[esp+1Ch] push ecx push edx push esi call SUB_L0048BEF0 lea eax,[esp+38h] lea ecx,[esp+28h] push eax push ecx push esi call SUB_L0048BF30 lea edx,[esp+40h] lea eax,[esp+34h] push edx push eax push esi call SUB_L0048BF30 lea ecx,[esp+48h] push 00000004h lea edx,[esp+44h] push ecx push edx push esi call SUB_L0048BFD0 add esp,0000004Ch lea eax,[esp+08h] lea ecx,[esp+04h] push 0000001Eh push eax push ecx push esi call SUB_L0048BFD0 lea edx,[esp+38h] push 00000800h lea eax,[esp+18h] push edx push eax push esi call SUB_L0048BFD0 add esp,00000020h xor esi,esi L004C4EA1: mov ecx,[esp+28h] mov ax,[esi+ecx] test ax,ax jz L004C4EC8 push eax call jmp_WSOCK32.dll!WSOCK32.15 mov edx,[esp+28h] add esi,00000002h cmp esi,00001000h mov [esi+edx-02h],ax jl L004C4EA1 L004C4EC8: mov eax,[esp+28h] mov ecx,[esp+08h] mov edx,[esp+0Ch] push eax mov eax,[esp+14h] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+24h] push eax mov eax,[esp+2Ch] push ecx mov ecx,[esp+34h] push edx push eax push ecx call SUB_L004C4F00 add esp,00000020h pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C4F00: push ebx push ebp push esi push edi mov edi,[esp+2Ch] test edi,edi jz CASE_004C5124_PROC0001 mov ebx,[esp+30h] test ebx,ebx jz CASE_004C5124_PROC0001 mov eax,[L00B28A0C] test eax,eax jnz CASE_004C5124_PROC0001 mov al,[L0050CC2E] test al,al jz L004C4F3B push ebx call SUB_L004C4D50 add esp,00000004h L004C4F3B: mov eax,[esp+1Ch] and eax,000000FFh cmp eax,00000009h ja CASE_004C5124_PROC0001 jmp [CASE_PROCTABLE_004C5124+eax*4] CASE_004C5124_PROC0000: mov esi,[esp+14h] push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L004C50FB push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_004C5124_PROC0001 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,eax mov al,[L00505E46] and ecx,00000003h rep movsb mov esi,[esp+28h] mov byte ptr [L00CD9CD2],02h test al,al jz L004C4FF4 push esi call SUB_L00470260 add esp,00000004h test al,al jz L004C4FF4 mov ecx,[esp+14h] push ecx push ebp push L00412FF0 push ebx push 00000000h call SUB_L004702E0 add esp,00000014h cmp eax,FFFFFFFFh jnz CASE_004C5124_PROC0001 mov edx,[esp+24h] mov eax,[esp+20h] push 00000000h push esi push edx push eax push ebx mov ecx,ebp call SUB_L004C51C0 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004C4FF4: push 00000000h push esi jmp L004C50E4 CASE_004C5124_PROC0007: mov esi,[esp+14h] push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L004C5063 push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_004C5124_PROC0001 or ecx,FFFFFFFFh mov edx,[esp+24h] repne scasb not ecx sub edi,ecx push 00000000h mov eax,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,eax mov eax,[esp+24h] and ecx,00000003h rep movsb mov ecx,[esp+2Ch] mov byte ptr [L00CD9CD2],02h push ecx push edx push eax push ebx mov ecx,ebp call SUB_L004C5250 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004C5063: mov ecx,[esp+28h] mov edx,[esp+24h] mov eax,[esp+20h] push ecx and edx,0000FFFFh push ebx and eax,0000FFFFh push edx push eax call SUB_L004C5150 add esp,00000010h pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ CASE_004C5124_PROC0006: mov esi,[esp+14h] cmp esi,FFFFFFFFh jz L004C50FB push esi call SUB_L004843F0 mov ebp,eax add esp,00000004h test ebp,ebp jz L004C50FB push esi call SUB_L0047BED0 add esp,00000004h test eax,eax jnz CASE_004C5124_PROC0001 or ecx,FFFFFFFFh push ebp repne scasb not ecx sub edi,ecx mov edx,ecx mov esi,edi mov edi,L00CD9CB4 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov byte ptr [L00CD9CD2],03h call SUB_L004508C0 add esp,00000004h push eax mov eax,[esp+2Ch] push eax L004C50E4: mov ecx,[esp+2Ch] mov edx,[esp+28h] push ecx push edx push ebx mov ecx,ebp call SUB_L004C51C0 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004C50FB: mov eax,[esp+28h] mov ecx,[esp+24h] mov edx,[esp+20h] push eax and ecx,0000FFFFh push ebx and edx,0000FFFFh push ecx push edx call SUB_L004C5150 add esp,00000010h CASE_004C5124_PROC0001: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004C5124: dd CASE_004C5124_PROC0000 dd CASE_004C5124_PROC0001 dd CASE_004C5124_PROC0000 dd CASE_004C5124_PROC0000 dd CASE_004C5124_PROC0000 dd CASE_004C5124_PROC0001 dd CASE_004C5124_PROC0006 dd CASE_004C5124_PROC0007 dd CASE_004C5124_PROC0000 dd CASE_004C5124_PROC0000 Align 8 SUB_L004C5150: push FFFFFFFFh push L004E63BB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push 000000ECh mov byte ptr [L00CD9CD2],01h call SUB_L004D4FA9 add esp,00000004h mov [esp+00h],eax test eax,eax mov dword ptr [esp+0Ch],00000000h jz L004C51A9 mov ecx,[esp+20h] mov edx,[esp+18h] push 00000000h push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+28h] push ecx push edx push 00000000h mov ecx,eax call SUB_L004127B0 L004C51A9: mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C51C0: push FFFFFFFFh push L004E63DB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx call SUB_L00480010 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004C522E mov ecx,[esp+28h] mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push edx mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push edx push ecx push esi mov ecx,eax call SUB_L004127B0 pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L004C522E: mov ecx,[esp+08h] xor eax,eax pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004C5250: push FFFFFFFFh push L004E63FB mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push esi mov esi,ecx call SUB_L00480070 push 000000ECh call SUB_L004D4FA9 add esp,00000004h mov [esp+04h],eax test eax,eax mov dword ptr [esp+10h],00000000h jz L004C52BE mov ecx,[esp+28h] mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push edx mov edx,[esp+24h] push ecx mov ecx,[esp+24h] push edx push ecx push esi mov ecx,eax call SUB_L004127B0 pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ L004C52BE: mov ecx,[esp+08h] xor eax,eax pop esi mov fs:[00000000h],ecx add esp,00000010h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004C52E0: mov eax,00010800h call SUB_L004D4B90 mov eax,[L00C83648] push esi test eax,eax mov eax,[esp+0001080Ch] mov esi,ecx jz L004C5337 mov ecx,[esp+00010808h] mov edx,[L00C83650] push eax mov eax,[L00C8364C] push ecx push edx lea ecx,[esp+00000810h] push eax push ecx call SUB_L0049C4B0 add esp,00000014h lea edx,[esp+00000804h] mov dword ptr [L00C83648],00000000h push edx jmp L004C5391 L004C5337: mov cx,[eax] lea edx,[esp+04h] test cx,cx jz L004C535B L004C5343: cmp cx,0080h jnc L004C534F mov cl,[eax] mov [edx],cl inc edx L004C534F: mov cx,[eax+02h] add eax,00000002h test cx,cx jnz L004C5343 L004C535B: mov eax,[esp+00010808h] mov ecx,[L00C83650] mov byte ptr [edx],00h lea edx,[esp+04h] push edx mov edx,[L00C8364C] push eax push ecx lea eax,[esp+00000810h] push edx push eax call SUB_L0049C310 add esp,00000014h lea ecx,[esp+00000804h] push ecx L004C5391: mov ecx,[L00C88300] call SUB_L004BC750 mov dword ptr [L00C83644],00000000h push 00000000h mov ecx,esi mov dword ptr [esi+08h],00000000h call SUB_L0046C9C0 mov ecx,esi call SUB_L0046D040 pop esi add esp,00010800h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004C53D0: sub esp,000001F0h push ebx push esi push edi mov edi,[esp+00000200h] mov eax,edi cmp word ptr [edi],0000h jz L004C53F1 L004C53E8: add eax,00000002h cmp word ptr [eax],0000h jnz L004C53E8 L004C53F1: sub eax,00000002h cmp eax,edi jc L004C5405 L004C53F8: cmp word ptr [eax],0020h jnz L004C5405 sub eax,00000002h cmp eax,edi jnc L004C53F8 L004C5405: mov ebx,[esp+00000208h] mov word ptr [eax+02h],0000h cmp ebx,00000002h jnz L004C5504 xor ecx,ecx cmp [edi],cx jz L004C542E mov eax,edi L004C5424: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L004C5424 L004C542E: lea eax,[ecx+ecx+06h] push eax call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov word ptr [esi],002Ah mov cx,[edi] test cx,cx lea eax,[esi+02h] jz L004C545F sub edi,eax L004C544F: mov [eax],cx mov cx,[edi+eax+02h] add eax,00000002h test cx,cx jnz L004C544F L004C545F: mov word ptr [eax],0000h xor eax,eax cmp [esi],ax jz L004C5477 mov ecx,esi L004C546D: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C546D L004C5477: lea edi,[eax+01h] lea ecx,[esp+0Ch] push 000000ADh mov word ptr [esi+eax*2],002Ah push ecx mov word ptr [esi+edi*2],0000h call SUB_L0048BD40 lea edx,[esp+14h] push 00000002h push edx call SUB_L0048BD70 mov ax,[L00C87EC0] lea ecx,[esp+1Ch] push eax push ecx call SUB_L0048BDC0 mov dx,[L00C87EBE] lea eax,[esp+24h] push edx push eax call SUB_L0048BDC0 push 00000004h lea ecx,[esp+30h] push L00C8367C push ecx call SUB_L0048BE80 add esp,0000002Ch test edi,edi jl L004C54F6 mov ebx,esi inc edi L004C54DF: mov dx,[ebx] lea eax,[esp+0Ch] push edx push eax call SUB_L0048BDC0 add esp,00000008h add ebx,00000002h dec edi jnz L004C54DF L004C54F6: push esi call SUB_L004D4F9E add esp,00000004h jmp L004C55AF L004C5504: xor esi,esi cmp [edi],si jz L004C5517 mov eax,edi L004C550D: add eax,00000002h inc esi cmp word ptr [eax],0000h jnz L004C550D L004C5517: lea ecx,[esp+0Ch] push 000000ADh push ecx call SUB_L0048BD40 lea edx,[esp+14h] push ebx push edx call SUB_L0048BD70 add esp,00000010h cmp bl,02h jnz L004C5559 mov ax,[L00C87EC0] lea ecx,[esp+0Ch] push eax push ecx call SUB_L0048BDC0 mov dx,[L00C87EBE] lea eax,[esp+14h] push edx push eax jmp L004C5577 L004C5559: mov cx,[L00C87EC4] lea edx,[esp+0Ch] push ecx push edx call SUB_L0048BDC0 mov ax,[L00C87EC2] lea ecx,[esp+14h] push eax push ecx L004C5577: call SUB_L0048BDC0 add esp,00000010h lea edx,[esp+0Ch] push 00000004h push L00C8367C push edx call SUB_L0048BE80 add esp,0000000Ch test esi,esi jl L004C55AF inc esi L004C5598: mov ax,[edi] lea ecx,[esp+0Ch] push eax push ecx call SUB_L0048BDC0 add esp,00000008h add edi,00000002h dec esi jnz L004C5598 L004C55AF: mov ecx,[L00C88300] lea edx,[esp+0Ch] push edx call SUB_L004BC750 pop edi pop esi pop ebx add esp,000001F0h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C55D0: push esi push edi mov edi,[esp+0Ch] xor esi,esi cmp [edi],si jz L004C55E9 mov eax,edi L004C55DF: add eax,00000002h inc esi cmp word ptr [eax],0000h jnz L004C55DF L004C55E9: push esi call SUB_L0047D3B0 add esp,00000004h test eax,eax jz L004C5612 mov eax,[esp+14h] mov ecx,[esp+10h] push eax push ecx push edi call SUB_L004C53D0 push esi call SUB_L0047D3D0 add esp,00000010h pop edi pop esi retn ;------------------------------------------------------------------------------ L004C5612: call SUB_L0047D5F0 mov edx,[esp+14h] mov eax,[esp+10h] push edx push eax push edi call SUB_L004C7AF0 add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5630: mov eax,[L00D1A68C] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5640: mov eax,[esp+04h] mov [L00D1A68C],eax mov ecx,[L00D1A69C+eax*4] test ecx,ecx jnz L004C565E mov dword ptr [L00D1A68C],00000000h L004C565E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5660: mov al,[L00D1A682] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5670: mov eax,[L00D1A688] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5680: push ebx mov ebx,[esp+08h] push esi mov edx,SWC00511B44_BLACK mov esi,ebx push edi mov edi,00000004h sub esi,edx L004C5695: mov ax,[esi+edx] cmp ax,0041h jc L004C56A8 cmp ax,005Ah ja L004C56A8 add eax,00000020h L004C56A8: mov cx,[edx] cmp cx,0041h jc L004C56BA cmp cx,005Ah ja L004C56BA add ecx,00000020h L004C56BA: cmp ax,cx jnz L004C56DC test ax,ax jz L004C56E5 test cx,cx jz L004C56E5 add edx,00000002h mov eax,edi dec edi test eax,eax jnz L004C5695 pop edi pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L004C56DC: sbb eax,eax and al,FEh inc eax test eax,eax jnz L004C56EE L004C56E5: pop edi pop esi mov eax,00000001h pop ebx retn ;------------------------------------------------------------------------------ L004C56EE: mov edx,L00511B3C mov esi,ebx mov edi,00000002h sub esi,edx L004C56FC: mov ax,[esi+edx] cmp ax,0041h jc L004C570F cmp ax,005Ah ja L004C570F add eax,00000020h L004C570F: mov cx,[edx] cmp cx,0041h jc L004C5721 cmp cx,005Ah ja L004C5721 add ecx,00000020h L004C5721: cmp ax,cx jnz L004C5743 test ax,ax jz L004C574C test cx,cx jz L004C574C add edx,00000002h mov ecx,edi dec edi test ecx,ecx jnz L004C56FC pop edi pop esi mov eax,00007C00h pop ebx retn ;------------------------------------------------------------------------------ L004C5743: sbb eax,eax and al,FEh inc eax test eax,eax jnz L004C5755 L004C574C: pop edi pop esi mov eax,00007C00h pop ebx retn ;------------------------------------------------------------------------------ L004C5755: mov edx,SWC00511B30_LIME mov esi,ebx mov edi,00000003h sub esi,edx L004C5763: mov ax,[esi+edx] cmp ax,0041h jc L004C5776 cmp ax,005Ah ja L004C5776 add eax,00000020h L004C5776: mov cx,[edx] cmp cx,0041h jc L004C5788 cmp cx,005Ah ja L004C5788 add ecx,00000020h L004C5788: cmp ax,cx jnz L004C57AA test ax,ax jz L004C57B3 test cx,cx jz L004C57B3 add edx,00000002h mov eax,edi dec edi test eax,eax jnz L004C5763 pop edi pop esi mov eax,000003E0h pop ebx retn ;------------------------------------------------------------------------------ L004C57AA: sbb eax,eax and al,FEh inc eax test eax,eax jnz L004C57BC L004C57B3: pop edi pop esi mov eax,000003E0h pop ebx retn ;------------------------------------------------------------------------------ L004C57BC: mov edx,SWC00511B24_BLUE mov esi,ebx mov edi,00000003h sub esi,edx L004C57CA: mov ax,[esi+edx] cmp ax,0041h jc L004C57DD cmp ax,005Ah ja L004C57DD add eax,00000020h L004C57DD: mov cx,[edx] cmp cx,0041h jc L004C57EF cmp cx,005Ah ja L004C57EF add ecx,00000020h L004C57EF: cmp ax,cx jnz L004C5811 test ax,ax jz L004C581A test cx,cx jz L004C581A add edx,00000002h mov ecx,edi dec edi test ecx,ecx jnz L004C57CA pop edi pop esi mov eax,0000001Fh pop ebx retn ;------------------------------------------------------------------------------ L004C5811: sbb eax,eax and al,FEh inc eax test eax,eax jnz L004C5823 L004C581A: pop edi pop esi mov eax,0000001Fh pop ebx retn ;------------------------------------------------------------------------------ L004C5823: mov edx,SWC00511B14_YELLOW mov esi,ebx mov edi,00000005h sub esi,edx L004C5831: mov ax,[esi+edx] cmp ax,0041h jc L004C5844 cmp ax,005Ah ja L004C5844 add eax,00000020h L004C5844: mov cx,[edx] cmp cx,0041h jc L004C5856 cmp cx,005Ah ja L004C5856 add ecx,00000020h L004C5856: cmp ax,cx jnz L004C5878 test ax,ax jz L004C5881 test cx,cx jz L004C5881 add edx,00000002h mov eax,edi dec edi test eax,eax jnz L004C5831 pop edi pop esi mov eax,00007FE0h pop ebx retn ;------------------------------------------------------------------------------ L004C5878: sbb eax,eax and al,FEh inc eax test eax,eax jnz L004C588A L004C5881: pop edi pop esi mov eax,00007FE0h pop ebx retn ;------------------------------------------------------------------------------ L004C588A: mov edx,SWC00511B04_MAGENTA mov esi,ebx mov edi,00000006h sub esi,edx L004C5898: mov ax,[esi+edx] cmp ax,0041h jc L004C58AB cmp ax,005Ah ja L004C58AB add eax,00000020h L004C58AB: mov cx,[edx] cmp cx,0041h jc L004C58BD cmp cx,005Ah ja L004C58BD add ecx,00000020h L004C58BD: cmp ax,cx jnz L004C58DF test ax,ax jz L004C58D6 test cx,cx jz L004C58D6 add edx,00000002h mov ecx,edi dec edi test ecx,ecx jnz L004C5898 L004C58D6: pop edi pop esi mov eax,00007C1Fh pop ebx retn ;------------------------------------------------------------------------------ L004C58DF: sbb eax,eax and al,FEh inc eax test eax,eax jz L004C58D6 mov edx,SWC00511AF4_FUCHSIA mov esi,ebx mov edi,00000006h sub esi,edx L004C58F6: mov ax,[esi+edx] cmp ax,0041h jc L004C5909 cmp ax,005Ah ja L004C5909 add eax,00000020h L004C5909: mov cx,[edx] cmp cx,0041h jc L004C591B cmp cx,005Ah ja L004C591B add ecx,00000020h L004C591B: cmp ax,cx jnz L004C593D test ax,ax jz L004C58D6 test cx,cx jz L004C58D6 add edx,00000002h mov eax,edi dec edi test eax,eax jnz L004C58F6 pop edi pop esi mov eax,00007C1Fh pop ebx retn ;------------------------------------------------------------------------------ L004C593D: sbb eax,eax and al,FEh inc eax test eax,eax jz L004C58D6 push 00000004h push SWC00511AE8_CYAN push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B12 push 00000004h push SWC00511ADC_AQUA push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B12 push 00000005h push SWC00511AD0_WHITE push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004C5993 pop edi pop esi mov eax,00007BDEh pop ebx retn ;------------------------------------------------------------------------------ L004C5993: push 00000007h push SWC00511AC0_DARKRED push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B09 push 00000006h push SWC00511AB0_MAROON push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B09 push 00000005h push SWC00511AA4_GREEN push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004C59E0 pop edi pop esi mov eax,000001E0h pop ebx retn ;------------------------------------------------------------------------------ L004C59E0: push 00000009h push SWC00511A90_DARKGREEN push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jnz L004C59FD pop edi pop esi mov eax,00000168h pop ebx retn ;------------------------------------------------------------------------------ L004C59FD: push 00000008h push SWC00511A7C_DARKBLUE push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B00 push 00000004h push SWC00511A70_NAVY push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5B00 push 0000000Ah push SWC00511A58_DARKYELLOW push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AF7 push 00000005h push SWC00511A4C_OLIVE push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AF7 push 0000000Bh push SWC00511A34_DARKMAGENTA push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AEE push 00000006h push SWC00511A24_PURPLE push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AEE push 00000008h push SWC00511A10_DARKCYAN push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AE5 push 00000004h push SWC00511A04_TEAL push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5AE5 push 00000004h push SWC005119F8_GRAY push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5ADC push 00000004h push SWC005119EC_GREY push ebx call SUB_L004C43C0 add esp,0000000Ch test eax,eax jz L004C5ADC pop edi pop esi or eax,FFFFFFFFh pop ebx retn ;------------------------------------------------------------------------------ L004C5ADC: pop edi pop esi mov eax,00003DEFh pop ebx retn ;------------------------------------------------------------------------------ L004C5AE5: pop edi pop esi mov eax,000001EFh pop ebx retn ;------------------------------------------------------------------------------ L004C5AEE: pop edi pop esi mov eax,00003C0Fh pop ebx retn ;------------------------------------------------------------------------------ L004C5AF7: pop edi pop esi mov eax,00003DE0h pop ebx retn ;------------------------------------------------------------------------------ L004C5B00: pop edi pop esi mov eax,0000000Fh pop ebx retn ;------------------------------------------------------------------------------ L004C5B09: pop edi pop esi mov eax,00003C00h pop ebx retn ;------------------------------------------------------------------------------ L004C5B12: pop edi pop esi mov eax,000003FFh pop ebx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C5B20: mov eax,[esp+04h] mov cx,[eax] cmp cx,0030h jc L004C5B7E cmp cx,0039h ja L004C5B7E xor edx,edx push esi test cx,cx mov esi,00000001h jz L004C5B77 L004C5B40: cmp cx,002Dh jnz L004C5B4A neg esi jmp L004C5B6B L004C5B4A: cmp cx,0030h jc L004C5B65 cmp cx,0039h ja L004C5B65 lea edx,[edx+edx*4] and ecx,0000FFFFh lea edx,[ecx+edx*2-30h] jmp L004C5B6B L004C5B65: cmp cx,002Bh jnz L004C5B77 L004C5B6B: mov cx,[eax+02h] add eax,00000002h test cx,cx jnz L004C5B40 L004C5B77: mov eax,esi pop esi imul eax,edx retn ;------------------------------------------------------------------------------ L004C5B7E: cmp cx,0023h jnz L004C5BB3 add eax,00000002h push eax call SUB_L004C4BE0 mov ecx,eax add esp,00000004h sar eax,03h mov edx,ecx and eax,001F0000h and edx,0000F800h and ecx,000000F8h or eax,edx sar eax,03h or eax,ecx sar eax,03h retn ;------------------------------------------------------------------------------ L004C5BB3: or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5BC0: mov eax,[L00D1A68C] mov ecx,[L00D1A6B0] mov [L00D1A6A8],eax mov eax,[esp+04h] test al,02h mov [L00D1A6AC],ecx mov [L00D1A6B0],eax jz L004C5BFF mov ecx,[L00D1A6A4] xor eax,eax cmp ecx,eax mov dword ptr [L00D1A68C],00000002h jnz L004C5C38 mov [L00D1A68C],eax retn ;------------------------------------------------------------------------------ L004C5BFF: test eax,00000704h jz L004C5C1D mov ecx,[L00D1A69C] xor eax,eax cmp ecx,eax mov [L00D1A68C],eax jnz L004C5C38 mov [L00D1A68C],eax retn ;------------------------------------------------------------------------------ L004C5C1D: mov ecx,[L00D1A6A0] xor eax,eax cmp ecx,eax mov dword ptr [L00D1A68C],00000001h jnz L004C5C38 mov [L00D1A68C],eax L004C5C38: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C5C40: mov eax,[L00D1A6A8] mov [L00D1A68C],eax mov ecx,[L00D1A69C+eax*4] test ecx,ecx jnz L004C5C6A mov eax,[L00D1A6AC] mov dword ptr [L00D1A68C],00000000h mov [L00D1A6B0],eax retn ;------------------------------------------------------------------------------ L004C5C6A: mov ecx,[L00D1A6AC] mov [L00D1A6B0],ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5C80: mov eax,[L00D1A6B0] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5C90: mov eax,[L00D1A6B0] shr eax,0Eh and al,01h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C5CA0: mov eax,[L00D1A6B0] shr eax,0Fh and al,01h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C5CB0: test dword ptr [L00D1A6B0],00001048h setnz al retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5CC0: test dword ptr [L00D1A6B0],00000B90h setnz al retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5CD0: test dword ptr [L00D1A6B0],00010120h setnz al retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5CE0: mov eax,fs:[00000000h] push FFFFFFFFh push L004E641E push eax mov fs:[00000000h],esp sub esp,00000084h push ebx push esi push edi xor ebx,ebx L004C5D00: test ebx,ebx jnz L004C5D2C mov edi,SSZ00511B8C_unifont_mul or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+10h] 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 L004C5D3F L004C5D2C: push ebx lea ecx,[esp+14h] push SSZ00511B7C_unifont_d_mul push ecx call SUB_L004D512F add esp,0000000Ch L004C5D3F: lea edx,[esp+10h] push L004FD2A8 push edx call SUB_L0043FEF0 add esp,00000008h test eax,eax jz L004C5DB5 push eax call SUB_L00440570 push 00000014h call SUB_L004D4FA9 mov esi,eax add esp,00000008h mov [esp+0Ch],esi test esi,esi mov dword ptr [esp+00000098h],00000000h jz L004C5D91 lea eax,[esp+10h] push eax call SUB_L0047C110 add esp,00000004h mov ecx,esi push eax call SUB_L004CBF10 jmp L004C5D93 L004C5D91: xor eax,eax L004C5D93: mov ecx,eax mov dword ptr [esp+00000098h],FFFFFFFFh mov [L00D1A690+ebx*4],eax call SUB_L004CC050 mov [L00D1A69C+ebx*4],eax jmp L004C5DCD L004C5DB5: lea ecx,[esp+10h] push ecx call SUB_L0047C110 push eax push SSZ00511B50_LoadUnicodeFont____cannot_open_f call SUB_L004C7E80 add esp,0000000Ch L004C5DCD: inc ebx cmp ebx,00000003h jl L004C5D00 mov ecx,[esp+00000090h] pop edi pop esi mov dword ptr [L00D1A688],00000001h pop ebx mov fs:[00000000h],ecx add esp,00000090h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C5E00: mov eax,[L00D1A688] test eax,eax jnz L004C5E0E call SUB_L004C5CE0 L004C5E0E: mov eax,[esp+04h] cmp ax,0020h jnz L004C5E45 mov eax,[esp+10h] mov ecx,[L0051192C] mov edx,[esp+14h] mov [eax],ecx mov eax,[esp+0Ch] mov ecx,[esp+08h] mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h xor eax,eax mov dword ptr [ecx],00000000h retn ;------------------------------------------------------------------------------ L004C5E45: mov edx,[L00D1A68C] mov ecx,[L00D1A69C+edx*4] test ecx,ecx jz L004C5EC6 and eax,0000FFFFh mov eax,[ecx+eax*4] test eax,eax jz L004C5EC6 movsx ecx,[ecx+eax] mov edx,[esp+08h] mov [edx],ecx mov ecx,[L00D1A68C] mov edx,[L00D1A69C+ecx*4] movsx ecx,[edx+eax+01h] mov edx,[esp+0Ch] mov [edx],ecx mov ecx,[L00D1A68C] mov edx,[L00D1A69C+ecx*4] movsx ecx,[edx+eax+02h] mov edx,[esp+10h] mov [edx],ecx mov ecx,[L00D1A68C] mov edx,[L00D1A69C+ecx*4] movsx ecx,[edx+eax+03h] mov edx,[esp+14h] mov [edx],ecx mov ecx,[L00D1A68C] mov edx,[L00D1A69C+ecx*4] lea eax,[edx+eax+04h] retn ;------------------------------------------------------------------------------ L004C5EC6: mov eax,[esp+14h] mov ecx,[esp+10h] mov edx,[esp+0Ch] mov dword ptr [eax],00000000h mov eax,[esp+08h] mov dword ptr [ecx],00000000h mov dword ptr [edx],00000000h mov dword ptr [eax],00000000h xor eax,eax retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5F00: mov eax,[esp+04h] sub esp,0000000Ch cmp ax,0020h jnz L004C5F16 mov eax,00000001h add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004C5F16: lea ecx,[esp+10h] lea edx,[esp+00h] push ecx push edx lea ecx,[esp+0Ch] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C5F40: mov eax,[esp+04h] sub esp,0000000Ch cmp ax,0020h jnz L004C5F56 mov eax,[L0051192C] add esp,0000000Ch retn ;------------------------------------------------------------------------------ L004C5F56: lea ecx,[esp+04h] lea edx,[esp+10h] push ecx push edx lea ecx,[esp+10h] lea edx,[esp+08h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+24h] mov ecx,[esp+14h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C5F8A dec eax L004C5F8A: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C5F99 inc eax L004C5F99: test ecx,00000B90h jz L004C5FA2 inc eax L004C5FA2: add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C5FB0: sub esp,0000000Ch push esi mov esi,[esp+14h] push edi xor edi,edi mov ax,[esi] test ax,ax jz L004C6029 L004C5FC3: add esi,00000002h cmp ax,0020h jnz L004C5FD3 mov eax,[L0051192C] jmp L004C601F L004C5FD3: lea ecx,[esp+0Ch] lea edx,[esp+18h] push ecx push edx lea ecx,[esp+18h] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+2Ch] mov ecx,[esp+1Ch] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C6007 dec eax L004C6007: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6016 inc eax L004C6016: test ecx,00000B90h jz L004C601F inc eax L004C601F: add edi,eax mov ax,[esi] test ax,ax jnz L004C5FC3 L004C6029: mov eax,edi pop edi pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C6040: sub esp,0000000Ch push esi mov esi,[esp+14h] push edi xor edi,edi mov ax,[esi] test ax,ax jz L004C60EA L004C6057: cmp ax,0020h jz L004C60EA add esi,00000002h cmp ax,0020h jnz L004C6071 mov eax,[L0051192C] jmp L004C60BD L004C6071: lea ecx,[esp+0Ch] lea edx,[esp+18h] push ecx push edx lea ecx,[esp+18h] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+2Ch] mov ecx,[esp+1Ch] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C60A5 dec eax L004C60A5: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C60B4 inc eax L004C60B4: test ecx,00000B90h jz L004C60BD inc eax L004C60BD: add edi,eax mov ax,[esi] test ax,ax jz L004C60EA mov cx,[esi+02h] test cx,cx jz L004C60DE push ecx push eax call SUB_L004C45E0 add esp,00000008h test al,al jnz L004C60EA L004C60DE: mov ax,[esi] test ax,ax jnz L004C6057 L004C60EA: mov eax,edi pop edi pop esi add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C6100: sub esp,0000002Ch mov eax,[L00D1A688] push ebx test eax,eax push edi mov byte ptr [esp+0Bh],00h jnz L004C6125 call SUB_L004C5CE0 mov eax,[L00D1A688] test eax,eax jz L004C64EE L004C6125: mov ebx,[esp+40h] mov edi,[esp+48h] add edi,0000000Eh mov dx,[ebx] add ebx,00000002h test dx,dx mov [esp+40h],ebx mov [esp+48h],edi jz L004C64EE push ebp mov ebp,[esp+3Ch] push esi jmp L004C6153 L004C614F: mov ebx,[esp+48h] L004C6153: cmp dx,0020h jnz L004C61C3 mov esi,[esp+4Ch] mov ecx,[L0051192C] mov dx,[ebx] mov eax,[L00D1A6B0] add esi,ecx add ebx,00000002h test eax,00010120h mov [esp+4Ch],esi mov [esp+48h],ebx jz L004C64E3 mov eax,esi sub eax,ecx cmp eax,esi jge L004C64E3 L004C618F: mov ecx,[esp+58h] cmp edi,[ecx+04h] jl L004C61B9 cmp edi,[ecx+0Ch] jge L004C61B9 cmp eax,[ecx] jl L004C61B9 cmp eax,[ecx+08h] jge L004C61B9 mov ecx,[esp+44h] mov bx,[esp+54h] imul ecx,edi add ecx,eax mov [ebp+ecx*2+00h],bx L004C61B9: inc eax cmp eax,esi jl L004C618F jmp L004C64E3 L004C61C3: lea eax,[esp+30h] lea ecx,[esp+34h] push eax push ecx lea eax,[esp+34h] lea ecx,[esp+28h] push eax push ecx push edx call SUB_L004C5E00 add esp,00000014h mov [esp+24h],eax test eax,eax jnz L004C61F7 mov dx,[ebx] add ebx,00000002h mov [esp+48h],ebx jmp L004C64E3 L004C61F7: mov edx,[esp+20h] mov eax,[esp+4Ch] mov ecx,[esp+2Ch] lea esi,[edx+eax] mov dl,[esp+30h] lea ebx,[ecx+edi-0Eh] mov ecx,[esp+34h] mov [esp+14h],dl mov edx,[esp+44h] and ecx,000000FFh mov edi,ebx mov [esp+1Ch],ebx mov [esp+38h],ecx imul edi,edx L004C622D: xor eax,eax mov byte ptr [esp+40h],01h test ecx,ecx mov [esp+28h],eax jle L004C642F lea ecx,[esi+01h] mov [esp+18h],ecx L004C6247: and eax,00000007h jnz L004C625B mov ecx,[esp+24h] mov dl,[ecx] inc ecx mov [esp+13h],dl mov [esp+24h],ecx L004C625B: mov edx,[esp+58h] cmp ebx,[edx+04h] jl L004C6408 cmp ebx,[edx+0Ch] jge L004C6408 cmp esi,[edx] jl L004C6408 mov ebx,[edx+08h] cmp esi,ebx jge L004C6408 mov ecx,00000007h sub ecx,eax mov eax,00000001h shl eax,cl mov cl,[esp+13h] test cl,al jz L004C6408 mov al,[L00D1A682] test al,al jz L004C6363 mov al,[esp+40h] test al,al jz L004C6363 mov ecx,[esp+54h] mov eax,[L00D1A6B0] sar ecx,1 and ecx,00003DEFh test eax,00001048h jz L004C6338 mov eax,[esp+14h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea edx,[eax+esi] cmp edx,ebx jge L004C62EE add eax,edi add eax,esi mov [ebp+eax*2+00h],cx L004C62EE: mov edx,[esp+58h] L004C62F2: mov ebx,[L00D1A6B0] mov eax,ebx and eax,00000B90h jz L004C6342 test ebx,00001048h jz L004C6342 mov eax,[esp+14h] mov ebx,[esp+58h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea edx,[eax+esi+01h] cmp edx,[ebx+08h] jge L004C6359 add eax,edi mov byte ptr [esp+40h],00h add eax,esi mov [ebp+eax*2+02h],cx jmp L004C6408 L004C6338: lea eax,[edi+esi] mov [ebp+eax*2+00h],cx jmp L004C62F2 L004C6342: test eax,eax jz L004C6359 mov eax,[esp+18h] mov ebx,[edx+08h] cmp eax,ebx jge L004C6359 lea edx,[edi+esi] mov [ebp+edx*2+02h],cx L004C6359: mov byte ptr [esp+40h],00h jmp L004C6408 L004C6363: test dword ptr [L00D1A6B0],00001048h jz L004C63DD mov eax,[esp+14h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea ecx,[eax+esi] cmp ecx,ebx jge L004C6394 lea edx,[edi+eax] mov ax,[esp+54h] add edx,esi mov [ebp+edx*2+00h],ax L004C6394: mov edx,[esp+58h] L004C6398: mov ecx,[L00D1A6B0] mov eax,ecx and eax,00000B90h jz L004C63EC test ecx,00001048h jz L004C63EC mov eax,[esp+14h] and eax,000000FFh dec eax cdq sub eax,edx mov edx,[esp+58h] sar eax,1 mov ebx,[edx+08h] lea ecx,[eax+esi+01h] cmp ecx,ebx jge L004C6408 mov cx,[esp+54h] add eax,edi add eax,esi mov [ebp+eax*2+02h],cx jmp L004C6408 L004C63DD: mov ax,[esp+54h] lea ecx,[edi+esi] mov [ebp+ecx*2+00h],ax jmp L004C6398 L004C63EC: test eax,eax jz L004C6408 mov eax,[esp+18h] mov ecx,[edx+08h] cmp eax,ecx jge L004C6408 mov dx,[esp+54h] lea ecx,[edi+esi] mov [ebp+ecx*2+02h],dx L004C6408: mov eax,[esp+18h] mov ecx,[esp+38h] inc esi inc eax mov ebx,[esp+1Ch] mov [esp+18h],eax mov eax,[esp+28h] inc eax cmp eax,ecx mov [esp+28h],eax jl L004C6247 mov edx,[esp+44h] L004C642F: mov al,[esp+14h] sub esi,ecx inc ebx add edi,edx dec al mov [esp+1Ch],ebx mov [esp+14h],al jnz L004C622D mov bl,[L00D1A682] mov esi,[esp+4Ch] mov edi,[esp+20h] mov eax,esi test bl,bl jz L004C6466 add ecx,edi add esi,ecx mov [esp+4Ch],esi jmp L004C6470 L004C6466: add ecx,edi lea ecx,[esi+ecx+01h] mov [esp+4Ch],ecx L004C6470: mov ecx,[L00D1A6B0] mov edi,[esp+4Ch] test ecx,00000B90h jz L004C6487 inc edi mov [esp+4Ch],edi L004C6487: test ecx,00001048h jz L004C6494 inc edi mov [esp+4Ch],edi L004C6494: test ecx,00010120h jz L004C64D1 cmp eax,edi jge L004C64D1 L004C64A0: mov ecx,[esp+58h] mov esi,[esp+50h] cmp esi,[ecx+04h] jl L004C64CC cmp esi,[ecx+0Ch] jge L004C64CC cmp eax,[ecx] jl L004C64CC cmp eax,[ecx+08h] jge L004C64CC mov ecx,edx imul ecx,esi mov si,[esp+54h] add ecx,eax mov [ebp+ecx*2+00h],si L004C64CC: inc eax cmp eax,edi jl L004C64A0 L004C64D1: mov eax,[esp+48h] mov edi,[esp+50h] mov dx,[eax] add eax,00000002h mov [esp+48h],eax L004C64E3: test dx,dx jnz L004C614F pop esi pop ebp L004C64EE: pop edi pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C6500: sub esp,00000034h mov eax,[L00D1A688] push ebx push esi xor esi,esi test eax,eax push edi mov [esp+24h],esi mov byte ptr [esp+0Fh],00h jnz L004C652C call SUB_L004C5CE0 mov eax,[L00D1A688] test eax,eax jz L004C6922 L004C652C: mov ebx,[esp+4Ch] mov edi,[esp+54h] add edi,0000000Eh mov dx,[ebx] add ebx,00000002h test dx,dx mov [esp+4Ch],ebx mov [esp+54h],edi jz L004C6922 push ebp mov ebp,[esp+48h] jmp L004C655D L004C6555: mov esi,[esp+28h] mov ebx,[esp+50h] L004C655D: cmp esi,[esp+68h] jl L004C6573 cmp esi,[esp+6Ch] jg L004C6573 mov eax,[esp+64h] mov [esp+14h],eax jmp L004C657B L004C6573: mov ecx,[esp+5Ch] mov [esp+14h],ecx L004C657B: cmp dx,0020h jnz L004C65EA mov esi,[esp+54h] mov ecx,[L0051192C] mov dx,[ebx] mov eax,[L00D1A6B0] add esi,ecx add ebx,00000002h test eax,00010120h mov [esp+54h],esi mov [esp+50h],ebx jz L004C6918 mov eax,esi sub eax,ecx cmp eax,esi jge L004C6918 mov ebx,[esp+14h] L004C65BB: mov ecx,[esp+60h] cmp edi,[ecx+04h] jl L004C65E0 cmp edi,[ecx+0Ch] jge L004C65E0 cmp eax,[ecx] jl L004C65E0 cmp eax,[ecx+08h] jge L004C65E0 mov ecx,[esp+4Ch] imul ecx,edi add ecx,eax mov [ebp+ecx*2+00h],bx L004C65E0: inc eax cmp eax,esi jl L004C65BB jmp L004C6918 L004C65EA: lea eax,[esp+38h] lea ecx,[esp+3Ch] push eax push ecx lea eax,[esp+3Ch] lea ecx,[esp+2Ch] push eax push ecx push edx call SUB_L004C5E00 add esp,00000014h mov [esp+2Ch],eax test eax,eax jnz L004C661E mov dx,[ebx] add ebx,00000002h mov [esp+50h],ebx jmp L004C6918 L004C661E: mov edx,[esp+24h] mov eax,[esp+54h] mov ecx,[esp+34h] lea esi,[edx+eax] mov dl,[esp+38h] lea ebx,[ecx+edi-0Eh] mov ecx,[esp+3Ch] mov [esp+18h],dl mov edx,[esp+4Ch] and ecx,000000FFh mov edi,ebx mov [esp+20h],ebx mov [esp+40h],ecx imul edi,edx L004C6654: xor eax,eax mov byte ptr [esp+48h],01h test ecx,ecx mov [esp+30h],eax jle L004C685C lea ecx,[esi+01h] mov [esp+1Ch],ecx jmp L004C6674 L004C6670: mov ebx,[esp+20h] L004C6674: and eax,00000007h jnz L004C6688 mov ecx,[esp+2Ch] mov dl,[ecx] inc ecx mov [esp+13h],dl mov [esp+2Ch],ecx L004C6688: mov edx,[esp+60h] cmp ebx,[edx+04h] jl L004C6835 cmp ebx,[edx+0Ch] jge L004C6835 cmp esi,[edx] jl L004C6835 mov ebx,[edx+08h] cmp esi,ebx jge L004C6835 mov ecx,00000007h sub ecx,eax mov eax,00000001h shl eax,cl mov cl,[esp+13h] test cl,al jz L004C6835 mov al,[L00D1A682] test al,al jz L004C6790 mov al,[esp+48h] test al,al jz L004C6790 mov ecx,[esp+14h] mov eax,[L00D1A6B0] sar ecx,1 and ecx,00003DEFh test eax,00001048h jz L004C6765 mov eax,[esp+18h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea edx,[eax+esi] cmp edx,ebx jge L004C671B add eax,edi add eax,esi mov [ebp+eax*2+00h],cx L004C671B: mov edx,[esp+60h] L004C671F: mov ebx,[L00D1A6B0] mov eax,ebx and eax,00000B90h jz L004C676F test ebx,00001048h jz L004C676F mov eax,[esp+18h] mov ebx,[esp+60h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea edx,[eax+esi+01h] cmp edx,[ebx+08h] jge L004C6786 add eax,edi mov byte ptr [esp+48h],00h add eax,esi mov [ebp+eax*2+02h],cx jmp L004C6835 L004C6765: lea eax,[edi+esi] mov [ebp+eax*2+00h],cx jmp L004C671F L004C676F: test eax,eax jz L004C6786 mov eax,[esp+1Ch] mov ebx,[edx+08h] cmp eax,ebx jge L004C6786 lea edx,[edi+esi] mov [ebp+edx*2+02h],cx L004C6786: mov byte ptr [esp+48h],00h jmp L004C6835 L004C6790: test dword ptr [L00D1A6B0],00001048h jz L004C680A mov eax,[esp+18h] and eax,000000FFh dec eax cdq sub eax,edx sar eax,1 lea ecx,[eax+esi] cmp ecx,ebx jge L004C67C1 lea edx,[edi+eax] mov ax,[esp+14h] add edx,esi mov [ebp+edx*2+00h],ax L004C67C1: mov edx,[esp+60h] L004C67C5: mov ecx,[L00D1A6B0] mov eax,ecx and eax,00000B90h jz L004C6819 test ecx,00001048h jz L004C6819 mov eax,[esp+18h] and eax,000000FFh dec eax cdq sub eax,edx mov edx,[esp+60h] sar eax,1 mov ebx,[edx+08h] lea ecx,[eax+esi+01h] cmp ecx,ebx jge L004C6835 mov cx,[esp+14h] add eax,edi add eax,esi mov [ebp+eax*2+02h],cx jmp L004C6835 L004C680A: mov ax,[esp+14h] lea ecx,[edi+esi] mov [ebp+ecx*2+00h],ax jmp L004C67C5 L004C6819: test eax,eax jz L004C6835 mov eax,[esp+1Ch] mov ecx,[edx+08h] cmp eax,ecx jge L004C6835 mov dx,[esp+14h] lea ecx,[edi+esi] mov [ebp+ecx*2+02h],dx L004C6835: mov eax,[esp+1Ch] mov ecx,[esp+40h] inc esi inc eax mov [esp+1Ch],eax mov eax,[esp+30h] inc eax cmp eax,ecx mov [esp+30h],eax jl L004C6670 mov edx,[esp+4Ch] mov ebx,[esp+20h] L004C685C: mov al,[esp+18h] sub esi,ecx inc ebx add edi,edx dec al mov [esp+20h],ebx mov [esp+18h],al jnz L004C6654 mov bl,[L00D1A682] mov esi,[esp+54h] mov edi,[esp+24h] mov eax,esi test bl,bl jz L004C6893 add ecx,edi add esi,ecx mov [esp+54h],esi jmp L004C689D L004C6893: add ecx,edi lea ecx,[esi+ecx+01h] mov [esp+54h],ecx L004C689D: mov ecx,[L00D1A6B0] mov ebx,[esp+54h] test ecx,00000B90h jz L004C68B4 inc ebx mov [esp+54h],ebx L004C68B4: test ecx,00001048h jz L004C68C1 inc ebx mov [esp+54h],ebx L004C68C1: test ecx,00010120h jz L004C68FD cmp eax,ebx jge L004C68FD mov edi,[esp+14h] L004C68D1: mov ecx,[esp+60h] mov esi,[esp+58h] cmp esi,[ecx+04h] jl L004C68F8 cmp esi,[ecx+0Ch] jge L004C68F8 cmp eax,[ecx] jl L004C68F8 cmp eax,[ecx+08h] jge L004C68F8 mov ecx,edx imul ecx,esi add ecx,eax mov [ebp+ecx*2+00h],di L004C68F8: inc eax cmp eax,ebx jl L004C68D1 L004C68FD: mov eax,[esp+50h] mov edi,[esp+58h] mov dx,[eax] add eax,00000002h mov [esp+50h],eax mov eax,[esp+28h] inc eax mov [esp+28h],eax L004C6918: test dx,dx jnz L004C6555 pop ebp L004C6922: pop edi pop esi pop ebx add esp,00000034h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C6930: sub esp,00000020h push esi mov esi,[esp+28h] push edi xor edi,edi test esi,esi jnz L004C6951 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C69FA L004C6951: mov ax,[esi] test ax,ax jz L004C69FA L004C695D: cmp ax,0020h jz L004C698C lea ecx,[esp+0Ch] lea edx,[esp+10h] push ecx push edx lea ecx,[esp+1Ch] lea edx,[esp+20h] push ecx push edx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+1Ch],eax jz L004C69EA L004C698C: mov ax,[esi] cmp ax,0020h jnz L004C699C mov eax,[L0051192C] jmp L004C69E8 L004C699C: lea ecx,[esp+20h] lea edx,[esp+2Ch] push ecx push edx lea ecx,[esp+2Ch] lea edx,[esp+10h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+40h] mov ecx,[esp+1Ch] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C69D0 dec eax L004C69D0: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C69DF inc eax L004C69DF: test ecx,00000B90h jz L004C69E8 inc eax L004C69E8: add edi,eax L004C69EA: mov ax,[esi+02h] add esi,00000002h test ax,ax jnz L004C695D L004C69FA: mov edx,[esp+30h] mov eax,[esp+34h] mov ecx,[esp+38h] mov [edx],edi mov dword ptr [eax],00000012h pop edi mov dword ptr [ecx],00000000h pop esi add esp,00000020h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C6A20: sub esp,00000010h mov ecx,[esp+14h] push ebx push ebp xor ebx,ebx xor ebp,ebp cmp [ecx],bx push esi push edi mov dword ptr [esp+10h],FFFFFFFEh jz L004C6A48 mov eax,ecx L004C6A3E: add eax,00000002h inc ebx cmp word ptr [eax],0000h jnz L004C6A3E L004C6A48: xor edi,edi test ebx,ebx jle L004C6AFA mov esi,ecx L004C6A54: mov ax,[esi] cmp ax,0020h jnz L004C6A64 mov eax,[L0051192C] jmp L004C6AB0 L004C6A64: lea ecx,[esp+18h] lea edx,[esp+24h] push ecx push edx lea ecx,[esp+24h] lea edx,[esp+1Ch] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+38h] mov ecx,[esp+28h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C6A98 dec eax L004C6A98: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6AA7 inc eax L004C6AA7: test ecx,00000B90h jz L004C6AB0 inc eax L004C6AB0: add ebp,eax cmp edi,00000001h jle L004C6AD9 mov ax,[esi] cmp ax,0020h jz L004C6AD2 mov dx,[esi-02h] push eax push edx call SUB_L004C45E0 add esp,00000008h test al,al jz L004C6AD9 L004C6AD2: lea eax,[edi-01h] mov [esp+10h],eax L004C6AD9: mov ax,[esi] cmp ax,000Ah jz L004C6B14 cmp ax,000Dh jz L004C6B14 cmp ebp,[esp+28h] jg L004C6B07 inc edi add esi,00000002h cmp edi,ebx jl L004C6A54 L004C6AFA: mov eax,FFFFFFFEh L004C6AFF: pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004C6B07: mov eax,[esp+10h] cmp eax,FFFFFFFEh jnz L004C6AFF test edi,edi jz L004C6AFA L004C6B14: lea eax,[edi-01h] pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C6B20: sub esp,000001C4h push ebx push esi mov esi,[esp+000001D0h] push edi xor edi,edi xor ebx,ebx cmp esi,edi mov [esp+0Ch],edi mov [esp+10h],edi jz L004C6E18 xor ecx,ecx cmp [esi],di jz L004C6B56 mov eax,esi L004C6B4D: add eax,00000002h inc ecx cmp [eax],di jnz L004C6B4D L004C6B56: lea eax,[ecx+ecx+02h] push ebp push eax call SUB_L004D4FA9 mov cx,[esi] add esp,00000004h cmp cx,di mov ebp,eax jz L004C6B82 mov edx,esi sub edx,ebp L004C6B72: mov [eax],cx mov cx,[edx+eax+02h] add eax,00000002h cmp cx,di jnz L004C6B72 L004C6B82: mov [eax],di L004C6B85: mov ecx,[esp+000001DCh] push ecx push ebp call SUB_L004C6A20 add esp,00000008h cmp eax,FFFFFFFEh jz L004C6D1A lea ecx,[eax+01h] mov [esp+24h],ecx mov ax,[ebp+ecx*2+00h] cmp ax,0020h jz L004C6BC1 cmp ax,000Ah jz L004C6BC1 cmp ax,000Dh mov [esp+18h],edi jnz L004C6BC9 L004C6BC1: mov dword ptr [esp+18h],00000001h L004C6BC9: lea eax,[ecx+ecx] mov esi,ebp mov ecx,eax lea edi,[esp+44h] mov edx,ecx xor ebx,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov [esp+eax+44h],bx lea eax,[esp+44h] test eax,eax lea edi,[esp+44h] jnz L004C6C07 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C6CAE L004C6C07: mov esi,[esp+44h] test si,si jz L004C6CAE L004C6C14: cmp si,0020h jz L004C6C49 lea ecx,[esp+28h] lea edx,[esp+30h] push ecx lea eax,[esp+44h] push edx lea ecx,[esp+40h] push eax push ecx push esi call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+2Ch],eax jz L004C6C9E cmp si,0020h jnz L004C6C50 L004C6C49: mov eax,[L0051192C] jmp L004C6C9C L004C6C50: lea edx,[esp+34h] lea eax,[esp+20h] push edx lea ecx,[esp+40h] push eax lea edx,[esp+24h] push ecx push edx push esi call SUB_L004C5E00 mov eax,[esp+34h] mov ecx,[esp+30h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C6C84 dec eax L004C6C84: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6C93 inc eax L004C6C93: test ecx,00000B90h jz L004C6C9C inc eax L004C6C9C: add ebx,eax L004C6C9E: mov si,[edi+02h] add edi,00000002h test si,si jnz L004C6C14 L004C6CAE: cmp ebx,[esp+10h] jle L004C6CB8 mov [esp+10h],ebx L004C6CB8: mov edx,[esp+14h] xor eax,eax add edx,00000012h xor ebx,ebx cmp [ebp+00h],ax mov [esp+14h],edx jz L004C6CD9 mov ecx,ebp L004C6CCF: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C6CCF L004C6CD9: mov esi,[esp+24h] mov edx,[esp+18h] sub eax,esi xor esi,esi sub eax,edx test eax,eax jle L004C6D0C mov ecx,[esp+24h] mov esi,[esp+18h] add ecx,esi mov edx,ebp mov esi,eax lea ecx,[ebp+ecx*2+00h] L004C6CFD: mov di,[ecx] add ecx,00000002h mov [edx],di add edx,00000002h dec eax jnz L004C6CFD L004C6D0C: mov word ptr [ebp+esi*2+00h],0000h xor edi,edi jmp L004C6B85 L004C6D1A: test ebp,ebp mov esi,ebp jnz L004C6D32 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C6DDA L004C6D32: cmp word ptr [ebp+00h],0000h jz L004C6DDA L004C6D3D: mov ax,[esi] cmp ax,0020h jz L004C6D6F lea edx,[esp+3Ch] lea ecx,[esp+34h] push edx push ecx lea edx,[esp+34h] lea ecx,[esp+40h] push edx push ecx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+40h],eax jz L004C6DCD L004C6D6F: mov ax,[esi] cmp ax,0020h jnz L004C6D7F mov eax,[L0051192C] jmp L004C6DCB L004C6D7F: lea edx,[esp+30h] lea ecx,[esp+1Ch] push edx push ecx lea edx,[esp+30h] lea ecx,[esp+28h] push edx push ecx push eax call SUB_L004C5E00 mov edx,[esp+30h] mov eax,[esp+34h] mov cl,[L00D1A682] add esp,00000014h test cl,cl lea eax,[eax+edx+01h] jz L004C6DB3 dec eax L004C6DB3: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6DC2 inc eax L004C6DC2: test ecx,00000B90h jz L004C6DCB inc eax L004C6DCB: add edi,eax L004C6DCD: add esi,00000002h cmp word ptr [esi],0000h jnz L004C6D3D L004C6DDA: cmp edi,[esp+10h] jle L004C6DE4 mov [esp+10h],edi L004C6DE4: mov eax,[esp+14h] add eax,00000012h test ebx,ebx jnz L004C6DEF L004C6DEF: mov ecx,[esp+000001E0h] mov edx,[esp+10h] push ebp mov [ecx],edx mov ecx,[esp+000001E8h] mov edx,[esp+000001ECh] mov [ecx],eax mov [edx],ebx call SUB_L004D4F9E add esp,00000004h pop ebp L004C6E18: pop edi pop esi pop ebx add esp,000001C4h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C6E30: mov eax,[esp+04h] sub esp,00000008h push edi xor edi,edi test eax,eax jle L004C6EB3 push ebx push esi mov esi,[esp+1Ch] mov ebx,eax L004C6E46: mov ax,[esi] cmp ax,0020h jnz L004C6E56 mov eax,[L0051192C] jmp L004C6EA2 L004C6E56: lea ecx,[esp+0Ch] lea edx,[esp+18h] push ecx push edx lea ecx,[esp+18h] lea edx,[esp+24h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+2Ch] mov ecx,[esp+30h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C6E8A dec eax L004C6E8A: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6E99 inc eax L004C6E99: test ecx,00000B90h jz L004C6EA2 inc eax L004C6EA2: add edi,eax add esi,00000002h dec ebx jnz L004C6E46 pop esi mov eax,edi pop ebx pop edi add esp,00000008h retn ;------------------------------------------------------------------------------ L004C6EB3: mov eax,edi pop edi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C6EC0: sub esp,0000000Ch push ebx push ebp mov ebp,[esp+1Ch] push esi push edi mov edi,[esp+20h] xor esi,esi xor ebx,ebx mov ax,[edi] mov [esp+24h],ebp test ax,ax jz L004C6EEB mov ecx,edi L004C6EE1: add ecx,00000002h inc ebx cmp word ptr [ecx],0000h jnz L004C6EE1 L004C6EEB: cmp ax,0020h jnz L004C6EF8 mov eax,[L0051192C] jmp L004C6F44 L004C6EF8: lea ecx,[esp+14h] lea edx,[esp+20h] push ecx push edx lea ecx,[esp+20h] lea edx,[esp+18h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+34h] mov ecx,[esp+24h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C6F2C dec eax L004C6F2C: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6F3B inc eax L004C6F3B: test ecx,00000B90h jz L004C6F44 inc eax L004C6F44: cmp ebp,eax jle L004C6FC0 L004C6F48: cmp esi,ebx jge L004C6FC0 mov ecx,[esp+24h] add edi,00000002h sub ecx,eax inc esi cmp esi,ebx mov [esp+24h],ecx jge L004C6FBA mov ax,[edi] cmp ax,0020h jnz L004C6F6E mov eax,[L0051192C] jmp L004C6FBA L004C6F6E: lea edx,[esp+18h] lea ecx,[esp+20h] push edx push ecx lea edx,[esp+1Ch] lea ecx,[esp+18h] push edx push ecx push eax call SUB_L004C5E00 mov edx,[esp+34h] mov eax,[esp+24h] mov cl,[L00D1A682] add esp,00000014h test cl,cl lea eax,[eax+edx+01h] jz L004C6FA2 dec eax L004C6FA2: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C6FB1 inc eax L004C6FB1: test ecx,00000B90h jz L004C6FBA inc eax L004C6FBA: cmp [esp+24h],eax jg L004C6F48 L004C6FC0: mov eax,esi pop edi pop esi pop ebp pop ebx add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C6FD0: sub esp,000001D8h mov eax,[esp+000001E8h] mov ecx,[esp+000001ECh] push esi mov esi,[esp+000001E4h] push edi xor edi,edi mov [eax],edi cmp esi,edi mov [esp+20h],edi mov [esp+10h],edi mov [esp+08h],edi mov [ecx],edi jz L004C7337 xor ecx,ecx cmp [esi],di jz L004C7019 mov eax,esi L004C7010: add eax,00000002h inc ecx cmp [eax],di jnz L004C7010 L004C7019: lea edx,[ecx+ecx+02h] push ebp push edx call SUB_L004D4FA9 mov cx,[esi] add esp,00000004h mov ebp,eax cmp cx,di mov [esp+18h],ebp jz L004C7049 mov edx,esi sub edx,ebp L004C7039: mov [eax],cx mov cx,[edx+eax+02h] add eax,00000002h cmp cx,di jnz L004C7039 L004C7049: push ebx mov [eax],di L004C704D: mov eax,[esp+000001F4h] push eax push ebp call SUB_L004C6A20 add esp,00000008h cmp eax,FFFFFFFEh jz L004C728F lea ebx,[eax+01h] mov ax,[ebp+eax*2+02h] cmp ax,0020h jz L004C7085 cmp ax,000Ah jz L004C7085 cmp ax,000Dh mov [esp+14h],edi jnz L004C708D L004C7085: mov dword ptr [esp+14h],00000001h L004C708D: lea eax,[ebx+ebx] mov esi,ebp mov ecx,eax lea edi,[esp+58h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov ecx,[esp+10h] xor edi,edi mov [esp+eax+58h],di mov eax,[esp+000001ECh] cmp eax,ecx jl L004C7151 lea edx,[ebx+ecx] cmp eax,edx jge L004C7151 sub eax,ecx cmp eax,edi jle L004C713B lea esi,[esp+58h] mov ebp,eax L004C70D7: mov ax,[esi] cmp ax,0020h jnz L004C70E7 mov eax,[L0051192C] jmp L004C7133 L004C70E7: lea ecx,[esp+3Ch] lea edx,[esp+2Ch] push ecx push edx lea ecx,[esp+50h] lea edx,[esp+3Ch] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+40h] mov ecx,[esp+48h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C711B dec eax L004C711B: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C712A inc eax L004C712A: test ecx,00000B90h jz L004C7133 inc eax L004C7133: add edi,eax add esi,00000002h dec ebp jnz L004C70D7 L004C713B: mov edx,[esp+000001F8h] mov ecx,[esp+000001FCh] mov eax,[esp+18h] mov [edx],edi mov [ecx],eax L004C7151: lea edx,[esp+58h] xor ebp,ebp test edx,edx lea edi,[esp+58h] jnz L004C7171 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C7218 L004C7171: mov esi,[esp+58h] test si,si jz L004C7218 L004C717E: cmp si,0020h jz L004C71B3 lea eax,[esp+50h] lea ecx,[esp+44h] push eax lea edx,[esp+58h] push ecx lea eax,[esp+54h] push edx push eax push esi call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+40h],eax jz L004C7208 cmp si,0020h jnz L004C71BA L004C71B3: mov eax,[L0051192C] jmp L004C7206 L004C71BA: lea ecx,[esp+38h] lea edx,[esp+20h] push ecx lea eax,[esp+34h] push edx lea ecx,[esp+2Ch] push eax push ecx push esi call SUB_L004C5E00 mov edx,[esp+34h] mov eax,[esp+38h] mov cl,[L00D1A682] add esp,00000014h test cl,cl lea eax,[eax+edx+01h] jz L004C71EE dec eax L004C71EE: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C71FD inc eax L004C71FD: test ecx,00000B90h jz L004C7206 inc eax L004C7206: add ebp,eax L004C7208: mov si,[edi+02h] add edi,00000002h test si,si jnz L004C717E L004C7218: cmp ebp,[esp+28h] jle L004C7222 mov [esp+28h],ebp L004C7222: mov edx,[esp+18h] mov edi,[esp+1Ch] xor eax,eax add edx,00000012h cmp [edi],ax mov [esp+18h],edx jz L004C7244 mov ecx,edi L004C723A: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C723A L004C7244: mov edx,[esp+14h] sub eax,ebx sub eax,edx xor esi,esi test eax,eax jle L004C726E mov ecx,[esp+14h] mov edx,edi add ecx,ebx mov esi,eax lea ecx,[edi+ecx*2] L004C725F: mov bp,[ecx] add ecx,00000002h mov [edx],bp add edx,00000002h dec eax jnz L004C725F L004C726E: mov edx,[esp+14h] mov eax,[esp+10h] mov ebp,[esp+1Ch] add ebx,edx add eax,ebx mov word ptr [edi+esi*2],0000h mov [esp+10h],eax xor edi,edi jmp L004C704D L004C728F: mov eax,[esp+000001ECh] mov ecx,[esp+10h] cmp eax,ecx pop ebx jl L004C732D mov edx,ecx sub eax,edx test eax,eax jle L004C7317 mov esi,ebp mov ebp,eax L004C72AF: mov ax,[esi] cmp ax,0020h jnz L004C72BF mov eax,[L0051192C] jmp L004C730B L004C72BF: lea ecx,[esp+2Ch] lea edx,[esp+20h] push ecx push edx lea ecx,[esp+3Ch] lea edx,[esp+24h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+34h] mov ecx,[esp+30h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C72F3 dec eax L004C72F3: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C7302 inc eax L004C7302: test ecx,00000B90h jz L004C730B inc eax L004C730B: add edi,eax add esi,00000002h dec ebp jnz L004C72AF mov ebp,[esp+18h] L004C7317: mov edx,[esp+000001F4h] mov ecx,[esp+000001F8h] mov eax,[esp+14h] mov [edx],edi mov [ecx],eax L004C732D: push ebp call SUB_L004D4F9E add esp,00000004h pop ebp L004C7337: pop edi pop esi add esp,000001D8h retn ;------------------------------------------------------------------------------ SUB_L004C7340: push ebx mov ebx,[esp+08h] push ebp push esi xor esi,esi push edi cmp [ebx],si jz L004C735B mov eax,ebx L004C7351: add eax,00000002h inc esi cmp word ptr [eax],0000h jnz L004C7351 L004C735B: mov ebp,[esp+20h] mov edi,[esp+18h] L004C7363: lea eax,[esp+20h] lea ecx,[esp+14h] push eax push ecx push edi push ebx push esi call SUB_L004C6FD0 add esp,00000014h dec esi js L004C738D mov edx,[esp+1Ch] mov eax,[esp+14h] cmp eax,edx jg L004C7363 cmp [esp+20h],ebp jg L004C7363 L004C738D: lea eax,[esi+01h] pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C73A0: sub esp,000001C0h push esi mov esi,[esp+000001D4h] test esi,esi mov dword ptr [esp+04h],00000000h jz L004C7753 xor ecx,ecx cmp [esi],cx jz L004C73D1 mov eax,esi L004C73C7: add eax,00000002h inc ecx cmp word ptr [eax],0000h jnz L004C73C7 L004C73D1: push ebp lea eax,[ecx+ecx+02h] push edi push eax call SUB_L004D4FA9 mov cx,[esi] add esp,00000004h test cx,cx mov ebp,eax jz L004C73FE mov edx,esi sub edx,ebp L004C73EE: mov [eax],cx mov cx,[edx+eax+02h] add eax,00000002h test cx,cx jnz L004C73EE L004C73FE: mov ecx,[esp+000001E4h] push ebx mov word ptr [eax],0000h mov [esp+14h],ecx L004C740F: mov edx,[esp+000001D8h] push edx push ebp call SUB_L004C6A20 add esp,00000008h cmp eax,FFFFFFFEh jz L004C760D lea ebx,[eax+01h] mov ax,[ebp+eax*2+02h] cmp ax,0020h jz L004C744B cmp ax,000Ah jz L004C744B cmp ax,000Dh mov dword ptr [esp+20h],00000000h jnz L004C7453 L004C744B: mov dword ptr [esp+20h],00000001h L004C7453: lea eax,[ebx+ebx] mov esi,ebp mov ecx,eax lea edi,[esp+40h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor edi,edi lea esi,[esp+40h] mov [esp+eax+40h],di lea eax,[esp+40h] test eax,eax jnz L004C7491 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C7539 L004C7491: cmp [esp+40h],di jz L004C7539 L004C749C: mov ax,[esi] cmp ax,0020h jz L004C74CE lea ecx,[esp+2Ch] lea edx,[esp+24h] push ecx push edx lea ecx,[esp+44h] lea edx,[esp+3Ch] push ecx push edx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+28h],eax jz L004C752C L004C74CE: mov ax,[esi] cmp ax,0020h jnz L004C74DE mov eax,[L0051192C] jmp L004C752A L004C74DE: lea ecx,[esp+30h] lea edx,[esp+1Ch] push ecx push edx lea ecx,[esp+40h] lea edx,[esp+20h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+30h] mov ecx,[esp+2Ch] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C7512 dec eax L004C7512: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C7521 inc eax L004C7521: test ecx,00000B90h jz L004C752A inc eax L004C752A: add edi,eax L004C752C: add esi,00000002h cmp word ptr [esi],0000h jnz L004C749C L004C7539: mov al,[esp+000001F4h] mov edx,[esp+000001F0h] mov ecx,[esp+14h] push edx test al,al mov eax,[esp+000001F0h] push eax push ecx jz L004C7588 mov eax,[esp+000001E4h] mov ecx,[esp+000001E0h] sub eax,edi cdq sub eax,edx mov edx,[esp+000001F0h] sar eax,1 add eax,edx lea edx,[esp+4Ch] push eax mov eax,[esp+000001ECh] push edx push eax push ecx jmp L004C75A5 L004C7588: mov edx,[esp+000001F0h] mov ecx,[esp+000001E8h] lea eax,[esp+4Ch] push edx mov edx,[esp+000001E4h] push eax push ecx push edx L004C75A5: call SUB_L004C6100 mov esi,[esp+2Ch] mov edx,[esp+30h] mov eax,00000012h add esp,0000001Ch add esi,eax add edx,eax xor eax,eax mov [esp+10h],esi cmp [ebp+00h],ax mov [esp+14h],edx jz L004C75DA mov ecx,ebp L004C75D0: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C75D0 L004C75DA: mov ecx,[esp+20h] sub eax,ebx sub eax,ecx xor esi,esi test eax,eax jle L004C7601 add ebx,ecx mov edx,ebp mov esi,eax lea ecx,[ebp+ebx*2+00h] L004C75F2: mov di,[ecx] add ecx,00000002h mov [edx],di add edx,00000002h dec eax jnz L004C75F2 L004C7601: mov word ptr [ebp+esi*2+00h],0000h jmp L004C740F L004C760D: xor edi,edi mov esi,ebp test ebp,ebp pop ebx jnz L004C7628 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C76D0 L004C7628: cmp word ptr [ebp+00h],0000h jz L004C76D0 L004C7633: mov ax,[esi] cmp ax,0020h jz L004C7665 lea ecx,[esp+34h] lea edx,[esp+2Ch] push ecx push edx lea ecx,[esp+2Ch] lea edx,[esp+38h] push ecx push edx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+38h],eax jz L004C76C3 L004C7665: mov ax,[esi] cmp ax,0020h jnz L004C7675 mov eax,[L0051192C] jmp L004C76C1 L004C7675: lea ecx,[esp+20h] lea edx,[esp+14h] push ecx push edx lea ecx,[esp+30h] lea edx,[esp+20h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+28h] mov ecx,[esp+2Ch] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C76A9 dec eax L004C76A9: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C76B8 inc eax L004C76B8: test ecx,00000B90h jz L004C76C1 inc eax L004C76C1: add edi,eax L004C76C3: add esi,00000002h cmp word ptr [esi],0000h jnz L004C7633 L004C76D0: mov al,[esp+000001F0h] mov edx,[esp+000001ECh] mov ecx,[esp+0Ch] push edx mov edx,[esp+000001E8h] test al,al mov eax,[esp+000001ECh] push eax jz L004C7724 mov eax,[esp+000001DCh] add ecx,edx sub eax,edi push ecx mov ecx,[esp+000001ECh] cdq sub eax,edx sar eax,1 add eax,ecx mov ecx,[esp+000001DCh] push eax mov eax,[esp+000001E8h] push ebp push eax push ecx jmp L004C7740 L004C7724: mov eax,[esp+000001E8h] add ecx,edx mov edx,[esp+000001D8h] push ecx mov ecx,[esp+000001E4h] push eax push ebp push ecx push edx L004C7740: call SUB_L004C6100 add esp,0000001Ch push ebp call SUB_L004D4F9E add esp,00000004h pop edi pop ebp L004C7753: pop esi add esp,000001C0h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C7760: sub esp,000001C4h push esi mov esi,[esp+000001D8h] push edi xor edi,edi cmp esi,edi mov [esp+0Ch],edi mov [esp+08h],edi jz L004C7AE3 xor ecx,ecx cmp [esi],di jz L004C7793 mov eax,esi L004C778A: add eax,00000002h inc ecx cmp [eax],di jnz L004C778A L004C7793: lea eax,[ecx+ecx+02h] push ebp push eax call SUB_L004D4FA9 mov cx,[esi] add esp,00000004h cmp cx,di mov ebp,eax jz L004C77BF mov edx,esi sub edx,ebp L004C77AF: mov [eax],cx mov cx,[edx+eax+02h] add eax,00000002h cmp cx,di jnz L004C77AF L004C77BF: mov ecx,[esp+000001E8h] push ebx mov [eax],di mov [esp+24h],ecx L004C77CE: mov edx,[esp+000001DCh] push edx push ebp call SUB_L004C6A20 add esp,00000008h cmp eax,FFFFFFFEh jz L004C79BC lea ebx,[eax+01h] mov ax,[ebp+eax*2+02h] cmp ax,0020h jz L004C7806 cmp ax,000Ah jz L004C7806 cmp ax,000Dh mov [esp+18h],edi jnz L004C780E L004C7806: mov dword ptr [esp+18h],00000001h L004C780E: lea eax,[ebx+ebx] mov esi,ebp mov ecx,eax lea edi,[esp+44h] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb xor edi,edi lea esi,[esp+44h] mov [esp+eax+44h],di lea eax,[esp+44h] test eax,eax jnz L004C784C push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C78F4 L004C784C: cmp [esp+44h],di jz L004C78F4 L004C7857: mov ax,[esi] cmp ax,0020h jz L004C7889 lea ecx,[esp+28h] lea edx,[esp+30h] push ecx push edx lea ecx,[esp+48h] lea edx,[esp+40h] push ecx push edx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+2Ch],eax jz L004C78E7 L004C7889: mov ax,[esi] cmp ax,0020h jnz L004C7899 mov eax,[L0051192C] jmp L004C78E5 L004C7899: lea ecx,[esp+34h] lea edx,[esp+20h] push ecx push edx lea ecx,[esp+44h] lea edx,[esp+24h] push ecx push edx push eax call SUB_L004C5E00 mov eax,[esp+34h] mov ecx,[esp+30h] add esp,00000014h lea eax,[ecx+eax+01h] mov cl,[L00D1A682] test cl,cl jz L004C78CD dec eax L004C78CD: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C78DC inc eax L004C78DC: test ecx,00000B90h jz L004C78E5 inc eax L004C78E5: add edi,eax L004C78E7: add esi,00000002h cmp word ptr [esi],0000h jnz L004C7857 L004C78F4: mov eax,[esp+10h] mov edx,[esp+00000200h] neg eax mov esi,[esp+24h] lea ecx,[eax+edx] mov edx,[esp+000001FCh] add eax,edx mov edx,[esp+000001F0h] push ecx mov ecx,[esp+000001F8h] push eax mov eax,[esp+00000200h] push eax mov eax,[esp+000001F4h] push ecx push edx mov edx,[esp+000001F4h] push esi lea ecx,[esp+5Ch] push eax mov eax,[esp+000001F4h] push ecx push edx push eax call SUB_L004C6500 mov edi,[esp+3Ch] xor eax,eax add esp,00000028h add edi,00000012h add esi,00000012h cmp [ebp+00h],ax mov [esp+14h],edi mov [esp+24h],esi jz L004C7977 mov ecx,ebp L004C796D: add ecx,00000002h inc eax cmp word ptr [ecx],0000h jnz L004C796D L004C7977: mov ecx,[esp+18h] sub eax,ebx sub eax,ecx xor esi,esi test eax,eax jle L004C79A2 add ecx,ebx mov edx,ebp mov esi,eax lea ecx,[ebp+ecx*2+00h] L004C798F: mov di,[ecx] add ecx,00000002h mov [edx],di add edx,00000002h dec eax jnz L004C798F mov ecx,[esp+18h] L004C79A2: mov eax,[esp+10h] add ebx,ecx add eax,ebx mov word ptr [ebp+esi*2+00h],0000h mov [esp+10h],eax xor edi,edi jmp L004C77CE L004C79BC: test ebp,ebp mov esi,ebp pop ebx jnz L004C79D5 push SSZ00511B98_UnicodeCalcInfo__text____0__code call SUB_L004C7EC0 add esp,00000004h jmp L004C7A7D L004C79D5: cmp word ptr [ebp+00h],0000h jz L004C7A7D L004C79E0: mov ax,[esi] cmp ax,0020h jz L004C7A12 lea edx,[esp+38h] lea ecx,[esp+30h] push edx push ecx lea edx,[esp+30h] lea ecx,[esp+3Ch] push edx push ecx push eax call SUB_L004C5E00 add esp,00000014h neg eax sbb eax,eax neg eax mov [esp+3Ch],eax jz L004C7A70 L004C7A12: mov ax,[esi] cmp ax,0020h jnz L004C7A22 mov eax,[L0051192C] jmp L004C7A6E L004C7A22: lea edx,[esp+2Ch] lea ecx,[esp+18h] push edx push ecx lea edx,[esp+2Ch] lea ecx,[esp+24h] push edx push ecx push eax call SUB_L004C5E00 mov edx,[esp+2Ch] mov eax,[esp+30h] mov cl,[L00D1A682] add esp,00000014h test cl,cl lea eax,[eax+edx+01h] jz L004C7A56 dec eax L004C7A56: mov ecx,[L00D1A6B0] test ecx,00001048h jz L004C7A65 inc eax L004C7A65: test ecx,00000B90h jz L004C7A6E inc eax L004C7A6E: add edi,eax L004C7A70: add esi,00000002h cmp word ptr [esi],0000h jnz L004C79E0 L004C7A7D: mov eax,[esp+000001FCh] mov ecx,[esp+0Ch] mov edx,[esp+000001F0h] sub eax,ecx push eax mov eax,[esp+000001FCh] sub eax,ecx mov ecx,[esp+000001F8h] push eax mov eax,[esp+000001F4h] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+000001F8h] push eax mov eax,[esp+000001F8h] add ecx,edx mov edx,[esp+000001E8h] push ecx mov ecx,[esp+000001F4h] push eax push ebp push ecx push edx call SUB_L004C6500 push ebp call SUB_L004D4F9E add esp,0000002Ch pop ebp L004C7AE3: pop edi pop esi add esp,000001C4h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C7AF0: push FFFFFFFFh push L004E6451 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ebx push ebp push esi push edi push 0000002Ch call SUB_L004D4FA9 mov esi,eax add esp,00000004h mov [esp+10h],esi xor ebp,ebp cmp esi,ebp mov [esp+1Ch],ebp jz L004C7B3D lea ecx,[esi+04h] call SUB_L004C8060 lea ecx,[esi+14h] mov byte ptr [esp+1Ch],01h call SUB_L004B3250 mov ebx,esi jmp L004C7B3F L004C7B3D: xor ebx,ebx L004C7B3F: mov eax,[esp+24h] lea ecx,[ebx+04h] push eax mov dword ptr [esp+20h],FFFFFFFFh mov dword ptr [ebx],00000001h call SUB_L004C8370 mov ecx,[esp+28h] mov edx,[esp+2Ch] mov [ebx+24h],ecx mov [ebx+28h],edx mov esi,[L00C85FBC] cmp esi,ebp jz L004C7BB5 jnz L004C7B78 xor eax,eax jmp L004C7BDF L004C7B78: mov edi,[esi] push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004C7B92 mov [eax],ebp mov [eax+04h],ebp mov [eax+08h],ebp jmp L004C7B94 L004C7B92: xor eax,eax L004C7B94: mov [eax],edi mov [eax+04h],esi cmp edi,ebp mov [esi],eax jz L004C7BA4 mov [edi+04h],eax jmp L004C7BD9 L004C7BA4: mov ecx,[L00C85FB8] mov [L00C85FBC],eax cmp ecx,ebp jnz L004C7BD9 jmp L004C7BD4 L004C7BB5: push 0000000Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004C7BCD mov [eax],ebp mov [eax+04h],ebp mov [eax+08h],ebp jmp L004C7BCF L004C7BCD: xor eax,eax L004C7BCF: mov [L00C85FBC],eax L004C7BD4: mov [L00C85FB8],eax L004C7BD9: inc [L00C85FC0] L004C7BDF: mov edi,eax cmp edi,ebp jz L004C7C1F mov esi,[edi+08h] cmp esi,ebp jz L004C7C1C mov [esp+24h],esi lea ecx,[esi+14h] mov dword ptr [esp+1Ch],00000002h call SUB_L004B3270 lea ecx,[esi+04h] mov dword ptr [esp+1Ch],FFFFFFFFh call SUB_L004C8100 push esi call SUB_L004D4F9E add esp,00000004h mov [edi+08h],ebp L004C7C1C: mov [edi+08h],ebx L004C7C1F: mov ecx,[esp+14h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7C40: mov eax,[L00D1A6B4] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7C50: mov eax,[esp+04h] mov [L00D1A6B4],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C7C60: mov al,[L00D1A6BC] sub esp,00000100h test al,al mov al,[L00D1A6BD] jz L004C7D10 test al,al jz L004C7D01 mov al,[L00D1A6BE] test al,al jnz L004C7DF1 mov eax,[L00D1A6B8] lea ecx,[esp+00h] push eax push SSZ00511D7C_UOErrata_d_log push ecx mov byte ptr [L00D1A6BE],01h call SUB_L004D512F lea edx,[esp+0Ch] push edx push SSZ00511D24_UOReport__start__already_started call SUB_L004C7EF0 lea eax,[esp+14h] push L00511D20 push eax call SUB_L004D6014 add esp,0000001Ch mov [L00D1AEC0],eax test eax,eax jnz L004C7CEA lea ecx,[esp+00h] push ecx push SSZ00511CF0_UOReport__cannot_open_file___s__ call SUB_L004C7EF0 add esp,00000008h jmp L004C7DF1 L004C7CEA: lea edx,[esp+00h] push edx push SSZ00511CC4_UOReport__created_file___s__for_ call SUB_L004C7F20 add esp,00000008h jmp L004C7DF1 L004C7D01: push SSZ00511CA0_UOReport__start__already_started call SUB_L004C7EF0 jmp L004C7DEE L004C7D10: test al,al jnz L004C7DE4 mov eax,[L00D1A6B8] lea ecx,[esp+00h] push eax push SSZ00511C90_UOReport_d_log push ecx mov byte ptr [L00D1A6BC],01h call SUB_L004D512F lea edx,[esp+0Ch] push L00511D20 push edx call SUB_L004D6014 add esp,00000014h mov [L00D1AEC0],eax test eax,eax jnz L004C7D60 lea eax,[esp+00h] push eax push SSZ00511CF0_UOReport__cannot_open_file___s__ call SUB_L004C7EF0 jmp L004C7D6F L004C7D60: lea ecx,[esp+00h] push ecx push SSZ00511CC4_UOReport__created_file___s__for_ call SUB_L004C7F20 L004C7D6F: add esp,00000008h push SSZ00511C74_UOReport__starting_up____ call SUB_L004C7F20 add esp,00000004h push SSZ00511C60_UOReport__startup push 00000000h push 00000000h call [KERNEL32.dll!OpenMutexA] test eax,eax jz L004C7D9A inc [L00D1A6B8] jmp L004C7DF1 L004C7D9A: push SSZ00511C60_UOReport__startup push 00000000h push 00000000h call [KERNEL32.dll!CreateMutexA] test eax,eax jz L004C7DCE call [KERNEL32.dll!GetLastError] cmp eax,000000B7h jnz L004C7DC2 inc [L00D1A6B8] jmp L004C7DF1 L004C7DC2: mov dword ptr [L00D1A6B8],00000000h jmp L004C7DF1 L004C7DCE: push 00000000h push SSZ00511C4C_UOReport__startup_ push SSZ00511C38_Cannot_CreateMutex_ push 00000000h call [USER32.dll!MessageBoxA] jmp L004C7DF1 L004C7DE4: push SSZ00511BFC_UOReport__start___started____sto call SUB_L004C7E80 L004C7DEE: add esp,00000004h L004C7DF1: call SUB_L00476090 push SSZ00511BE8_UOReport__started__ call SUB_L004C7F20 add esp,00000104h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7E10: mov eax,[L00D1A6B8] retn ;------------------------------------------------------------------------------ Align 16 L004C7E20: mov al,[L00D1A6BC] test al,al jnz L004C7E37 push SSZ00511DC8_UOReport__stop__not_started__ call SUB_L004C7EF0 add esp,00000004h retn ;------------------------------------------------------------------------------ L004C7E37: mov al,[L00D1A6BD] test al,al jz L004C7E4E push SSZ00511DA4_UOReport__stop__already_stopped_ call SUB_L004C7EF0 add esp,00000004h retn ;------------------------------------------------------------------------------ L004C7E4E: push SSZ00511D8C_UOReport__stopping____ call SUB_L004C7F20 mov eax,[L00D1AEC0] add esp,00000004h test eax,eax jz L004C7E77 push eax call SUB_L004D6027 add esp,00000004h mov dword ptr [L00D1AEC0],00000000h L004C7E77: mov byte ptr [L00D1A6BD],01h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C7E80: mov ecx,[esp+04h] lea eax,[esp+08h] push eax push ecx push SSZ00511DE8_UOReport__fatal__ mov dword ptr [L00511BE0],0000003Fh call SUB_L004C7F80 mov al,[L00511BE0] add esp,0000000Ch test al,01h jz L004C7EB5 test al,20h jz L004C7EBC push 00000000h call SUB_L004D554B L004C7EB5: push 00000000h call SUB_L004D554B L004C7EBC: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C7EC0: mov ecx,[esp+04h] lea eax,[esp+08h] push eax push ecx push SSZ00511DFC_UOReport__error__ mov dword ptr [L00511BE0],0000001Fh call SUB_L004C7F80 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7EF0: mov ecx,[esp+04h] lea eax,[esp+08h] push eax push ecx push SSZ00511E10_UOReport__warning__ mov dword ptr [L00511BE0],00000015h call SUB_L004C7F80 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7F20: mov ecx,[esp+04h] lea eax,[esp+08h] push eax push ecx push SSZ00511E24_UOReport__message__ mov dword ptr [L00511BE0],00000015h call SUB_L004C7F80 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7F50: mov ecx,[esp+04h] lea eax,[esp+08h] push eax push ecx push L007049FC mov dword ptr [L00511BE0],00000015h call SUB_L004C7F80 add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C7F80: push ebp mov ebp,esp push FFFFFFFFh push L004E6460 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov eax,[ebp+0Ch] push ebx push esi mov esi,[ebp+08h] xor ebx,ebx push edi cmp esi,ebx mov [ebp-10h],esp mov [ebp-04h],ebx jnz L004C7FB6 cmp eax,ebx jz L004C803D L004C7FB6: cmp eax,ebx mov [L00D1A6C0],bl jz L004C7FD7 mov ecx,[ebp+10h] push ecx push eax push 000007FFh push L00D1A6C0 call SUB_L004D79AA add esp,00000010h L004C7FD7: mov al,[L00D1A6BC] mov [L00D1AEBF],bl cmp al,bl jz L004C8010 cmp [L00D1A6BD],bl jz L004C8008 cmp [L00D1A6BE],bl jnz L004C8008 call SUB_L004C7C60 push SSZ00511E38_UOReport__outputText__had_to_cal call SUB_L004C7EF0 add esp,00000004h L004C8008: cmp [L00D1A6BC],bl jnz L004C8022 L004C8010: call SUB_L004C7C60 push SSZ00511E38_UOReport__outputText__had_to_cal call SUB_L004C7EF0 add esp,00000004h L004C8022: mov al,[L00511BE0] test al,20h jz L004C803D test al,08h jz L004C803D push ebx push esi push L00D1A6C0 push ebx call [USER32.dll!MessageBoxA] L004C803D: mov ecx,[ebp-0Ch] pop edi pop esi mov fs:[00000000h],ecx pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004C804E: mov eax,L004C803D retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C8060: push esi mov esi,ecx mov eax,L00D1A680 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 L004C808E mov [esi+04h],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ L004C808E: push L00D1A680 call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C80D2 mov eax,[esi] test eax,eax jz L004C80B2 push eax call SUB_L004D4F9E add esp,00000004h L004C80B2: push L00D1A680 call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C80D2: mov eax,[esi] push L00D1A680 push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax mov eax,esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C8100: push esi mov esi,ecx mov eax,[esi] test eax,eax jz L004C8118 push eax call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi],00000000h L004C8118: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004C8120: mov eax,[esp+04h] push esi mov esi,ecx push edi mov dword ptr [esi],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+08h],00000001h mov dword ptr [esi+0Ch],00000000h mov edi,[eax] test edi,edi jnz L004C8153 mov [esi+04h],edi mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004C8153: push edi call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C818F mov eax,[esi] test eax,eax jz L004C8173 push eax call SUB_L004D4F9E add esp,00000004h L004C8173: push edi call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C818F: mov eax,[esi] push edi push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C81B0: push ebx push esi push edi mov edi,[esp+10h] 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 L004C81D3 mov [esi+04h],ebx jmp L004C8226 L004C81D3: push edi call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C820F mov eax,[esi] cmp eax,ebx jz L004C81F3 push eax call SUB_L004D4F9E add esp,00000004h L004C81F3: push edi call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C820F: mov eax,[esi] push edi push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax L004C8226: cmp [esi],ebx jnz L004C8230 mov [esi+0Ch],ebx mov [esi+04h],ebx L004C8230: mov eax,esi pop edi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C8240: push ebx mov ebx,[esp+08h] push esi mov esi,ecx push edi mov edi,ebx or ecx,FFFFFFFFh xor 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 repne scasb not ecx dec ecx mov [esi+04h],ecx lea eax,[ecx+ecx+02h] push eax call SUB_L004D4FA9 mov ecx,[esi+04h] mov [esi],eax add esp,00000004h xor eax,eax test ecx,ecx jle L004C829F L004C828B: movzx cx,[eax+ebx] mov edx,[esi] inc eax mov [edx+eax*2-02h],cx mov ecx,[esi+04h] cmp eax,ecx jl L004C828B L004C829F: mov ecx,[esi] pop edi mov word ptr [ecx+eax*2],0000h mov eax,esi pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C82B0: push ebx mov ebx,[esp+08h] push esi mov esi,ecx test ebx,ebx jz L004C8350 cmp word ptr [ebx],0000h jz L004C8350 push ebx call SUB_L004C4300 mov ecx,[esi+04h] add esp,00000004h lea edx,[eax+ecx+01h] mov eax,[esi+0Ch] cmp edx,eax jle L004C8336 push edi push ebx call SUB_L004C4300 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_L004D4FA9 mov edi,eax add esp,00000008h mov word ptr [edi],0000h mov eax,[esi] test eax,eax jz L004C8318 push eax push edi call SUB_L004C4430 add esp,00000008h L004C8318: push ebx push edi call SUB_L004C4550 mov eax,[esi] add esp,00000008h test eax,eax jz L004C8331 push eax call SUB_L004D4F9E add esp,00000004h L004C8331: mov [esi],edi pop edi jmp L004C8342 L004C8336: mov eax,[esi] push ebx push eax call SUB_L004C4550 add esp,00000008h L004C8342: mov ecx,[esi] push ecx call SUB_L004C4300 add esp,00000004h mov [esi+04h],eax L004C8350: mov eax,[esi] pop esi pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C8360: mov eax,[ecx] retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C8370: push esi push edi mov edi,[esp+0Ch] mov esi,ecx test edi,edi jnz L004C8393 mov eax,[esi] test eax,eax jz L004C8385 mov [eax],di L004C8385: mov dword ptr [esi+04h],00000000h mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004C8393: push edi call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C83CF mov eax,[esi] test eax,eax jz L004C83B3 push eax call SUB_L004D4F9E add esp,00000004h L004C83B3: push edi call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C83CF: mov eax,[esi] push edi push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C83F0: mov eax,[esp+04h] push esi push edi mov esi,ecx mov edi,[eax] test edi,edi jnz L004C8415 mov eax,[esi] test eax,eax jz L004C8407 mov [eax],di L004C8407: mov dword ptr [esi+04h],00000000h mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ L004C8415: push edi call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C8451 mov eax,[esi] test eax,eax jz L004C8435 push eax call SUB_L004D4F9E add esp,00000004h L004C8435: push edi call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C8451: mov eax,[esi] push edi push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax mov eax,esi pop edi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C8470: mov eax,[esp+04h] push esi mov esi,ecx mov ecx,[eax] push ecx mov ecx,esi call SUB_L004C82B0 mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C8490: mov eax,[esp+04h] sub esp,00000300h push esi mov esi,ecx push eax lea ecx,[esp+08h] push L004FF074 push ecx call SUB_L004D512F mov al,[esp+10h] add esp,0000000Ch xor ecx,ecx test al,al jz L004C84D4 lea edx,[esp+00000104h] L004C84C1: movsx ax,al inc ecx mov [edx],ax add edx,00000002h mov al,[esp+ecx+04h] test al,al jnz L004C84C1 L004C84D4: mov word ptr [esp+ecx*2+00000104h],0000h lea ecx,[esp+00000104h] push ecx mov ecx,esi call SUB_L004C82B0 mov eax,esi pop esi add esp,00000300h retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C8500: push esi mov esi,ecx mov ecx,[esi+04h] mov edx,[esi+0Ch] lea eax,[ecx+02h] cmp eax,edx jle L004C8563 add eax,eax push edi push eax call SUB_L004D4FA9 mov edi,eax mov eax,[esi] add esp,00000004h test eax,eax jz L004C8536 push eax push edi call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004D4F9E add esp,0000000Ch L004C8536: mov edx,[esi+04h] mov ax,[esp+0Ch] mov [edi+edx*2],ax mov ecx,[esi+04h] mov word ptr [edi+ecx*2+02h],0000h mov [esi],edi mov eax,[esi] pop edi push eax call SUB_L004C4300 add esp,00000004h mov [esi+04h],eax mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ L004C8563: mov edx,[esi] mov ax,[esp+08h] mov [edx+ecx*2],ax mov ecx,[esi+04h] mov edx,[esi] mov word ptr [edx+ecx*2+02h],0000h mov eax,[esi] push eax call SUB_L004C4300 add esp,00000004h mov [esi+04h],eax mov eax,esi pop esi retn 0004h ;------------------------------------------------------------------------------ Align 4 SUB_L004C8590: mov eax,[esp+04h] mov edx,[eax] mov eax,[ecx] push edx push eax call SUB_L004C4360 add esp,00000008h neg eax sbb eax,eax inc eax retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C85B0: mov ecx,[ecx] push esi test ecx,ecx jnz L004C85BD L004C85B7: xor eax,eax pop esi retn 0004h ;------------------------------------------------------------------------------ L004C85BD: mov ax,[ecx] test ax,ax jz L004C85E2 mov edx,[esp+08h] L004C85C9: movsx esi,[edx] and eax,0000FFFFh cmp eax,esi jnz L004C85B7 mov ax,[ecx+02h] add ecx,00000002h inc edx test ax,ax jnz L004C85C9 L004C85E2: mov eax,00000001h pop esi retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C85F0: mov eax,[esp+04h] mov edx,[eax] mov eax,[ecx] push edx push eax call SUB_L004C4360 add esp,00000008h neg eax sbb eax,eax neg eax retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C8610: mov eax,[esp+04h] mov edx,[ecx+04h] cmp eax,edx jnc L004C8623 mov ecx,[ecx] lea eax,[ecx+eax*2] retn 0004h ;------------------------------------------------------------------------------ L004C8623: mov eax,L00D1AF22 retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004C8630: mov edx,[ecx] push esi test edx,edx jnz L004C863D L004C8637: xor eax,eax pop esi retn 0004h ;------------------------------------------------------------------------------ L004C863D: mov ecx,[esp+08h] mov al,[ecx] test al,al jz L004C865E L004C8647: xor esi,esi mov si,[edx] movsx eax,al cmp eax,esi jnz L004C8637 mov al,[ecx+01h] inc ecx add edx,00000002h test al,al jnz L004C8647 L004C865E: mov eax,00000001h pop esi retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C8670: mov eax,fs:[00000000h] push FFFFFFFFh push L004E6478 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 L004C8788 mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax mov dword ptr [esp+14h],00000001h repne scasb not ecx dec ecx mov [esp+18h],ebx mov esi,ecx mov [esp+10h],esi lea eax,[esi+esi+02h] push eax call SUB_L004D4FA9 mov edi,eax add esp,00000004h xor eax,eax cmp esi,ebx mov [esp+0Ch],edi jle L004C86E6 mov ecx,edi L004C86D3: movzx dx,[eax+L007049FC] mov [ecx],dx inc eax add ecx,00000002h cmp eax,esi jl L004C86D3 L004C86E6: mov [edi+eax*2],bx cmp edi,ebx mov [esp+24h],ebx jnz L004C8704 mov ecx,[esp+2Ch] mov eax,[ecx] cmp eax,ebx jz L004C86FF mov [eax],bx L004C86FF: mov [ecx+04h],ebx jmp L004C875B L004C8704: mov esi,[esp+2Ch] push edi call SUB_L004C4300 mov ecx,[esi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C8744 mov eax,[esi] cmp eax,ebx jz L004C8728 push eax call SUB_L004D4F9E add esp,00000004h L004C8728: push edi call SUB_L004C4300 mov ecx,[esi+08h] add eax,ecx mov [esi+0Ch],eax lea edx,[eax+eax] push edx call SUB_L004D4FA9 add esp,00000008h mov [esi],eax L004C8744: mov eax,[esi] push edi push eax call SUB_L004C4430 mov ecx,[esi] push ecx call SUB_L004C4300 add esp,0000000Ch mov [esi+04h],eax L004C875B: cmp edi,ebx mov dword ptr [esp+24h],FFFFFFFFh jz L004C882C push edi call SUB_L004D4F9E add esp,00000004h pop edi pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L004C8788: mov ax,[esi] cmp ax,bx jz L004C87A6 mov cx,[esp+30h] L004C8795: cmp ax,cx jz L004C87A6 mov ax,[esi+02h] add esi,00000002h cmp ax,bx jnz L004C8795 L004C87A6: cmp [esi],bx jz L004C87AE add esi,00000002h L004C87AE: cmp esi,ebx jnz L004C87D6 mov ecx,[esp+2Ch] mov eax,[ecx] cmp eax,ebx jz L004C87BF mov [eax],bx L004C87BF: pop edi mov [ecx+04h],ebx pop esi pop ebx mov ecx,[esp+10h] mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ L004C87D6: mov edi,[esp+2Ch] push esi call SUB_L004C4300 mov ecx,[edi+0Ch] add esp,00000004h inc eax cmp eax,ecx jle L004C8815 mov eax,[edi] cmp eax,ebx jz L004C87FA push eax call SUB_L004D4F9E add esp,00000004h L004C87FA: push esi call SUB_L004C4300 mov edx,[edi+08h] add eax,edx mov [edi+0Ch],eax add eax,eax push eax call SUB_L004D4FA9 add esp,00000008h mov [edi],eax L004C8815: mov ecx,[edi] push esi push ecx call SUB_L004C4430 mov edx,[edi] push edx call SUB_L004C4300 add esp,0000000Ch mov [edi+04h],eax L004C882C: mov ecx,[esp+1Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000001Ch retn 0008h ;------------------------------------------------------------------------------ SUB_L004C8840: push esi mov esi,[esp+08h] push edi mov edi,[esp+10h] mov dword ptr [edi],00000000h mov dword ptr [esi],00000000h mov eax,[ecx] test eax,eax jz L004C88E0 mov cx,[eax] test cx,cx jz L004C887A L004C8868: cmp cx,005Bh jz L004C887A mov cx,[eax+02h] add eax,00000002h test cx,cx jnz L004C8868 L004C887A: cmp word ptr [eax],0000h jz L004C8883 add eax,00000002h L004C8883: mov cx,[eax] test cx,cx jz L004C88AD L004C888B: cmp cx,002Dh jz L004C88AD 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 L004C888B L004C88AD: cmp word ptr [eax],0000h jz L004C88B6 add eax,00000002h L004C88B6: mov cx,[eax] test cx,cx jz L004C88E0 L004C88BE: cmp cx,005Dh jz L004C88E0 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 L004C88BE L004C88E0: pop edi pop esi retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004C88F0: mov edx,[ecx] test edx,edx jz L004C891D mov eax,[ecx+04h] test eax,eax jz L004C891D push esi mov si,[edx+eax*2-02h] cmp si,[esp+08h] pop esi jnz L004C891D dec eax mov [ecx+04h],eax mov word ptr [edx+eax*2],0000h mov eax,00000001h retn 0004h ;------------------------------------------------------------------------------ L004C891D: xor eax,eax retn 0004h ;------------------------------------------------------------------------------ Align 16 SUB_L004C8930: mov eax,[L00511E88] sub esp,00000080h lea ecx,[esp+00h] push eax push SSZ004FFE1C_UO_Version__s_ push ecx call SUB_L004D512F lea edx,[esp+0Ch] push edx push 00000003h push 00000000h call SUB_L004BDF40 add esp,00000098h retn ;------------------------------------------------------------------------------ SUB_L004C8960: push SSZ00511E64_CVersionManager__startup__begin_ call SUB_L004C7F20 add esp,00000004h xor eax,eax mov [L00D1AF64],eax mov [L00D1AF60],eax mov ecx,00049248h mov eax,0005CEFAh mov [L00D1AF70],ecx mov dword ptr [L00D1AF6C],00010000h mov dword ptr [L00D1AF68],00000400h mov dword ptr [L00D1AF5C],00000800h mov dword ptr [L00D1AF58],00000080h mov dword ptr [L00D1AF54],00002000h mov dword ptr [L00D1AF50],00000032h mov dword ptr [L00D1AF4C],00001000h mov [L00D1AF48],eax mov [L00D1AF44],ecx mov dword ptr [L00D1AF40],00059248h mov dword ptr [L00D1AF34],00059648h mov dword ptr [L00D1AF30],00059E48h mov dword ptr [L00D1AF2C],00059EC8h mov dword ptr [L00D1AF28],0005BEC8h mov dword ptr [L00D1AF24],0005BEFAh mov [L00D1AF3C],eax mov [L00D1AF38],eax jmp SUB_L00401E90 Align 16 L004C8A30: call SUB_L00401E90 jmp SUB_L00401E90 Align 8 L004C8A40: mov eax,[L00C8830C] test eax,eax jz L004C8A4E jmp SUB_L00401E90 L004C8A4E: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C8A50: sub esp,00000030h push ebx push ebp push esi push edi mov edi,[esp+44h] xor ecx,ecx xor ebx,ebx mov [esp+1Ch],ecx mov eax,[edi] mov edx,[eax] mov ebp,[eax+58h] mov esi,[eax+54h] mov [esp+44h],ebp test dh,08h mov [esp+10h],esi mov [esp+14h],ebp mov [esp+18h],esi jnz L004C8CDC cmp dword ptr [eax+3Ch],00000008h jnz L004C8AEB mov ebp,[eax+14h] lea ecx,[edi+0000042Dh] mov esi,00000100h lea eax,[ebp+02h] L004C8A9D: 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 L004C8A9D 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 push 00000000h mov eax,[edx+10h] push 00000000h push eax mov ecx,[eax] call [ecx+18h] mov esi,[esp+10h] mov ebp,[esp+44h] mov ecx,[esp+1Ch] L004C8AEB: mov edx,[edi] mov eax,[edx] test al,80h mov [esp+44h],eax jz L004C8B02 mov eax,[edx+64h] mov [esp+14h],eax mov eax,[esp+44h] L004C8B02: test ah,01h jz L004C8B0E mov eax,[edx+68h] mov [esp+18h],eax L004C8B0E: mov al,[esp+44h] test al,40h jz L004C8B26 mov eax,[esp+14h] shl ebp,1 shl eax,1 mov [esp+14h],eax mov al,[esp+44h] L004C8B26: test al,30h jz L004C8B3E mov eax,[esp+18h] shl esi,1 shl eax,1 mov [esp+18h],eax mov al,[esp+44h] mov [esp+10h],esi L004C8B3E: test al,04h jz L004C8B57 mov eax,[edi+04h] mov ecx,[esp+14h] sub eax,ecx sar eax,1 mov [esp+1Ch],eax mov ecx,eax mov al,[esp+44h] L004C8B57: test al,08h jz L004C8B6A mov ebx,[edi+08h] mov eax,[esp+18h] sub ebx,eax mov al,[esp+44h] sar ebx,1 L004C8B6A: test al,01h jz L004C8B71 add ecx,[edx+5Ch] L004C8B71: test al,02h jz L004C8B78 add ebx,[edx+60h] L004C8B78: xor eax,eax mov [esp+20h],ecx mov [esp+30h],eax mov [esp+34h],eax mov eax,[esp+14h] mov [esp+38h],ebp add eax,ecx mov ecx,[esp+18h] add ecx,ebx mov [esp+3Ch],esi mov [esp+24h],ebx mov [esp+28h],eax mov [esp+2Ch],ecx mov eax,[edx+0Ch] push eax mov edx,[eax] call [edx+60h] cmp eax,887601C2h jnz L004C8BC1 mov eax,[edi] mov eax,[eax+0Ch] push eax mov ecx,[eax] call [ecx+6Ch] L004C8BC1: mov eax,[edi] mov ecx,[eax] test cl,20h jz L004C8C27 mov eax,[esp+10h] xor esi,esi test eax,eax jle L004C8CDC L004C8BD8: lea eax,[ebx+esi+01h] lea edx,[ebx+esi] mov [esp+2Ch],eax mov eax,esi sar eax,1 mov [esp+34h],eax inc eax mov [esp+3Ch],eax mov eax,[edi] mov [esp+24h],edx push 00000000h mov ecx,[eax+0Ch] mov eax,[eax+18h] lea ebp,[esp+34h] push 01000000h mov edx,[ecx] push ebp push eax lea eax,[esp+30h] push eax push ecx call [edx+14h] mov eax,[esp+10h] add esi,00000002h cmp esi,eax jl L004C8BD8 pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L004C8C27: test cl,10h jz L004C8CBE mov eax,[esp+10h] test eax,eax jle L004C8CDC or ebp,FFFFFFFFh lea esi,[ebx+01h] sub ebp,ebx L004C8C44: lea eax,[esi+ebp] lea ecx,[esi-01h] sar eax,1 mov [esp+34h],eax inc eax mov [esp+3Ch],eax mov eax,[edi] mov [esp+24h],ecx mov [esp+2Ch],esi mov ecx,[eax+0Ch] mov eax,[eax+18h] push 00000000h lea ebx,[esp+34h] mov edx,[ecx] push 01000000h push ebx push eax lea eax,[esp+30h] push eax push ecx call [edx+14h] mov eax,[edi] lea ecx,[esi+01h] mov [esp+24h],esi mov [esp+2Ch],ecx mov ecx,[eax+0Ch] mov eax,[eax+18h] push 00000000h lea ebx,[esp+34h] mov edx,[ecx] push 01000000h push ebx push eax lea eax,[esp+30h] push eax push ecx call [edx+14h] mov eax,[esp+10h] add esi,00000002h lea ecx,[esi+ebp] cmp ecx,eax jl L004C8C44 pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ L004C8CBE: mov ecx,[eax+0Ch] mov eax,[eax+18h] push 00000000h lea esi,[esp+34h] mov edx,[ecx] push 01000000h push esi push eax lea eax,[esp+30h] push eax push ecx call [edx+14h] L004C8CDC: pop edi pop esi pop ebp pop ebx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C8CF0: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+0Ch] mov [ebp+0Ch],edi 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 edx,[ebp+08h] mov ecx,[edx] mov [ecx+58h],eax lea eax,[edi+02h] 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 mov ecx,[edx] mov [ecx+54h],eax lea eax,[edi+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,[edi+06h] mov [edx+000003F0h],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 eax,eax mov [edx+000003F4h],eax mov dword ptr [ebp+0Ch],00000000h jle L004C8E3F lea eax,[edx+0000042Dh] add edi,0000000Dh mov [ebp-04h],eax jmp L004C8DAC L004C8DA9: mov edx,[ebp+08h] L004C8DAC: mov ecx,[edx] 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 L004C8DFB mov ecx,000000FFh L004C8DFB: cmp ebx,000000FFh jbe L004C8E08 mov ebx,000000FFh L004C8E08: cmp edx,000000FFh jbe L004C8E15 mov edx,000000FFh L004C8E15: mov eax,[ebp-04h] add edi,00000003h mov [eax-01h],cl mov ecx,[ebp+0Ch] mov [eax],bl mov [eax+01h],dl add eax,00000003h inc ecx mov [ebp-04h],eax mov eax,[ebp+08h] mov [ebp+0Ch],ecx cmp ecx,[eax+000003F4h] jl L004C8DA9 L004C8E3F: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C8E50: push ebx mov ebx,[esp+1Ch] push ebp push esi cmp ebx,00000007h push edi jle L004C8E60 sub ebx,00000010h L004C8E60: mov edi,[esp+2Ch] cmp edi,00000007h jle L004C8E6C sub edi,00000010h L004C8E6C: mov ecx,[esp+20h] mov edx,[esp+24h] mov eax,ecx sub ecx,edi imul ecx,edx imul eax,edx mov esi,[esp+1Ch] mov ebp,[esp+14h] sub ecx,ebx add eax,esi add ecx,esi mov esi,[esp+18h] lea eax,[ebp+eax*2+00h] lea ecx,[esi+ecx*2] lea esi,[edx+edx] sub ecx,eax mov edx,00000010h L004C8EA1: mov di,[ecx+eax] mov [eax],di mov di,[ecx+eax+02h] mov [eax+02h],di mov di,[ecx+eax+04h] mov [eax+04h],di mov di,[ecx+eax+06h] mov [eax+06h],di mov di,[ecx+eax+08h] mov [eax+08h],di mov di,[ecx+eax+0Ah] mov [eax+0Ah],di mov di,[ecx+eax+0Ch] mov [eax+0Ch],di mov di,[ecx+eax+0Eh] mov [eax+0Eh],di mov di,[ecx+eax+10h] mov [eax+10h],di mov di,[ecx+eax+12h] mov [eax+12h],di mov di,[ecx+eax+14h] mov [eax+14h],di mov di,[ecx+eax+16h] mov [eax+16h],di mov di,[ecx+eax+18h] mov [eax+18h],di mov di,[ecx+eax+1Ah] mov [eax+1Ah],di mov di,[ecx+eax+1Ch] mov [eax+1Ch],di mov di,[ecx+eax+1Eh] mov [eax+1Eh],di add eax,esi dec edx jnz L004C8EA1 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C8F40: push ebx mov ebx,[esp+1Ch] push ebp push esi cmp ebx,00000007h push edi jle L004C8F50 sub ebx,00000010h L004C8F50: mov edi,[esp+2Ch] cmp edi,00000007h jle L004C8F5C sub edi,00000010h L004C8F5C: mov ecx,[esp+20h] mov edx,[esp+24h] mov eax,ecx sub ecx,edi imul ecx,edx imul eax,edx mov esi,[esp+1Ch] mov ebp,[esp+14h] sub ecx,ebx add eax,esi add ecx,esi mov esi,[esp+18h] lea eax,[ebp+eax*4+00h] lea ecx,[esi+ecx*4] lea esi,[00000000h+edx*4] sub ecx,eax mov edx,00000010h L004C8F95: mov edi,[ecx+eax] mov [eax],edi mov edi,[ecx+eax+04h] mov [eax+04h],edi mov edi,[ecx+eax+08h] mov [eax+08h],edi mov edi,[ecx+eax+0Ch] mov [eax+0Ch],edi mov edi,[ecx+eax+10h] mov [eax+10h],edi mov edi,[ecx+eax+14h] mov [eax+14h],edi mov edi,[ecx+eax+18h] mov [eax+18h],edi mov edi,[ecx+eax+1Ch] mov [eax+1Ch],edi mov edi,[ecx+eax+20h] mov [eax+20h],edi mov edi,[ecx+eax+24h] mov [eax+24h],edi mov edi,[ecx+eax+28h] mov [eax+28h],edi mov edi,[ecx+eax+2Ch] mov [eax+2Ch],edi mov edi,[ecx+eax+30h] mov [eax+30h],edi mov edi,[ecx+eax+34h] mov [eax+34h],edi mov edi,[ecx+eax+38h] mov [eax+38h],edi mov edi,[ecx+eax+3Ch] mov [eax+3Ch],edi add eax,esi dec edx jnz L004C8F95 pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C9010: sub esp,00000008h mov ecx,[esp+0Ch] push edi mov edi,[esp+18h] mov dword ptr [esp+08h],00000000h mov eax,[ecx] mov [esp+04h],edi mov edx,[eax+54h] test edx,edx jbe L004C9112 push ebx push ebp mov ebp,[esp+28h] push esi mov esi,[esp+20h] L004C9040: mov edx,[eax+58h] mov dword ptr [esp+24h],00000000h test edx,edx jbe L004C90E6 L004C9053: xor ebx,ebx mov bl,[esi] inc esi cmp ebx,0000000Ch jle L004C906A push ebp push edi push esi call SUB_L004D2AF9 add esp,0000000Ch jmp L004C90C7 L004C906A: cmp ebx,00000003h jz L004C90AF cmp ebx,00000006h jz L004C9094 cmp ebx,0000000Ch jnz L004C90C7 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+02h] push edx mov dl,[esi] push eax push ecx push edx jmp L004C90BF L004C9094: mov al,[esi+05h] mov cl,[esi+04h] mov dl,[esi+03h] push ebp push edi push eax mov al,[esi+02h] push ecx mov cl,[esi+01h] push edx mov dl,[esi] push eax push ecx push edx jmp L004C90BF L004C90AF: mov cl,[esi+02h] mov dl,[esi+01h] mov al,[esi] push ebp push edi push ecx push edx push eax push eax push eax push eax L004C90BF: call SUB_L004C9120 add esp,00000020h L004C90C7: mov ecx,[esp+1Ch] mov eax,[esp+24h] add esi,ebx add eax,00000010h mov edx,[ecx] add edi,00000020h mov [esp+24h],eax cmp eax,[edx+58h] jc L004C9053 L004C90E6: 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 L004C9040 pop esi pop ebp pop ebx L004C9112: pop edi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C9120: push ebp mov ebp,esp movsx eax,[ebp+18h] push ebx push esi push edi mov [ebp+18h],eax push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx movsx edx,[ebp+1Ch] mov ecx,eax mov [ebp+18h],edx push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 and eax,0000007Fh sar ecx,1 mov esi,[L00D2052C+eax*4] and ecx,0000007Fh movsx eax,[ebp+08h] mov edi,[L00D2032C+ecx*4] mov [ebp+18h],eax add esi,edi push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov edx,[ebp+24h] mov ecx,[ebp+20h] sar eax,1 and eax,0000007Fh mov dword ptr [ebp+1Ch],00000008h mov eax,[L00D2012C+eax*4] add eax,esi shr edx,1 lea edx,[edx+edx-10h] mov [ebp+18h],edx L004C91B7: mov dx,ax mov edi,ecx mov bx,dx add ecx,00000010h shl ebx,10h mov bx,dx mov edx,ebx mov [edi],edx mov [edi+04h],edx mov [edi+08h],edx mov [edi+0Ch],edx mov edi,[ebp+18h] mov edx,[ebp+1Ch] add ecx,edi dec edx mov [ebp+1Ch],edx jnz L004C91B7 movsx eax,[ebp+0Ch] mov [ebp+1Ch],eax push edx mov edx,[ebp+1Ch] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+20h] mov dword ptr [ebp+1Ch],00000008h sar eax,1 and eax,0000007Fh mov eax,[L00D2012C+eax*4] add eax,esi add ecx,00000010h L004C9219: mov dx,ax mov edi,ecx mov bx,dx add ecx,00000010h shl ebx,10h mov bx,dx mov edx,ebx mov [edi],edx mov [edi+04h],edx mov [edi+08h],edx mov [edi+0Ch],edx mov edi,[ebp+18h] mov edx,[ebp+1Ch] add ecx,edi dec edx mov [ebp+1Ch],edx jnz L004C9219 movsx eax,[ebp+10h] mov [ebp+1Ch],eax push edx mov edx,[ebp+1Ch] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+24h] mov edx,[ebp+20h] sar eax,1 and eax,0000007Fh lea ecx,[edx+ecx*8] mov dword ptr [ebp+1Ch],00000008h mov eax,[L00D2012C+eax*4] add eax,esi L004C927E: mov dx,ax mov edi,ecx mov bx,dx add ecx,00000010h shl ebx,10h mov bx,dx mov edx,ebx mov [edi],edx mov [edi+04h],edx mov [edi+08h],edx mov [edi+0Ch],edx mov edi,[ebp+18h] mov edx,[ebp+1Ch] add ecx,edi dec edx mov [ebp+1Ch],edx jnz L004C927E movsx eax,[ebp+14h] mov [ebp+1Ch],eax push edx mov edx,[ebp+1Ch] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+20h] mov edx,[ebp+24h] sar eax,1 and eax,0000007Fh lea ecx,[ecx+edx*8+10h] mov edx,00000008h mov eax,[L00D2012C+eax*4] add eax,esi L004C92E2: mov si,ax mov edi,ecx mov bx,si add ecx,00000010h shl ebx,10h mov bx,si mov esi,ebx mov [edi],esi mov [edi+04h],esi mov [edi+08h],esi mov [edi+0Ch],esi mov edi,[ebp+18h] add ecx,edi dec edx jnz L004C92E2 pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C9310: sub esp,00000008h mov ecx,[esp+0Ch] push edi mov edi,[esp+18h] mov dword ptr [esp+08h],00000000h mov eax,[ecx] mov [esp+04h],edi mov edx,[eax+54h] test edx,edx jbe L004C9413 push ebx push ebp mov ebp,[esp+28h] push esi mov esi,[esp+20h] L004C9340: mov edx,[eax+58h] mov dword ptr [esp+24h],00000000h test edx,edx jbe L004C93E6 L004C9353: xor ebx,ebx mov bl,[esi] inc esi cmp ebx,0000000Ch jle L004C936A push ebp push edi push esi call SUB_L004D231A add esp,0000000Ch jmp L004C93C7 L004C936A: cmp ebx,00000003h jz L004C93AF cmp ebx,00000006h jz L004C9394 cmp ebx,0000000Ch jnz L004C93C7 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+02h] push edx mov dl,[esi] push eax push ecx push edx jmp L004C93BF L004C9394: mov al,[esi+05h] mov cl,[esi+04h] mov dl,[esi+03h] push ebp push edi push eax mov al,[esi+02h] push ecx mov cl,[esi+01h] push edx mov dl,[esi] push eax push ecx push edx jmp L004C93BF L004C93AF: mov cl,[esi+02h] mov dl,[esi+01h] mov al,[esi] push ebp push edi push ecx push edx push eax push eax push eax push eax L004C93BF: call SUB_L004C9420 add esp,00000020h L004C93C7: mov ecx,[esp+1Ch] mov eax,[esp+24h] add esi,ebx add eax,00000010h mov edx,[ecx] add edi,00000040h mov [esp+24h],eax cmp eax,[edx+58h] jc L004C9353 L004C93E6: 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 L004C9340 pop esi pop ebp pop ebx L004C9413: pop edi add esp,00000008h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C9420: push ebp mov ebp,esp movsx eax,[ebp+18h] push ebx push esi push edi mov [ebp+18h],eax push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx movsx edx,[ebp+1Ch] mov ecx,eax mov [ebp+18h],edx push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx sar eax,1 and eax,0000007Fh sar ecx,1 mov esi,[L00D2052C+eax*4] and ecx,0000007Fh movsx eax,[ebp+08h] mov edi,[L00D2032C+ecx*4] mov [ebp+18h],eax add esi,edi push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+24h] mov edx,[ebp+20h] sar eax,1 and eax,0000007Fh mov dword ptr [ebp+1Ch],00000008h mov eax,[L00D2012C+eax*4] add eax,esi shr ecx,02h lea ecx,[FFFFFFE0h+ecx*4] mov [ebp+18h],ecx L004C94BB: mov ecx,00000008h mov edi,edx rep stosd mov edi,[ebp+18h] mov ecx,[ebp+1Ch] add edx,00000020h add edx,edi dec ecx mov [ebp+1Ch],ecx jnz L004C94BB movsx edx,[ebp+0Ch] mov [ebp+1Ch],edx push edx mov edx,[ebp+1Ch] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+20h] mov dword ptr [ebp+1Ch],00000008h sar eax,1 and eax,0000007Fh lea edx,[ecx+20h] mov eax,[L00D2012C+eax*4] add eax,esi L004C950B: mov ecx,00000008h mov edi,edx rep stosd mov edi,[ebp+18h] mov ecx,[ebp+1Ch] add edx,00000020h add edx,edi dec ecx mov [ebp+1Ch],ecx jnz L004C950B movsx edx,[ebp+10h] mov [ebp+1Ch],edx push edx mov edx,[ebp+1Ch] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+24h] mov edx,[ebp+20h] sar eax,1 and eax,0000007Fh lea edx,[edx+ecx*8] mov dword ptr [ebp+1Ch],00000008h mov eax,[L00D2012C+eax*4] add eax,esi L004C955E: mov ebx,[ebp+18h] mov ecx,00000008h mov edi,edx add edx,00000020h rep stosd mov ecx,[ebp+1Ch] add edx,ebx dec ecx mov [ebp+1Ch],ecx jnz L004C955E movsx eax,[ebp+14h] mov [ebp+18h],eax push edx mov edx,[ebp+18h] mov eax,[L00D20020] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp+20h] mov edx,[ebp+24h] sar eax,1 and eax,0000007Fh lea edx,[ecx+edx*8+20h] mov eax,[L00D2012C+eax*4] add eax,esi mov esi,00000008h L004C95B0: mov edi,edx add edx,00000020h mov ecx,00000008h add edx,ebx dec esi rep stosd jnz L004C95B0 pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C95D0: mov ecx,[esp+04h] push esi mov eax,[ecx] 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 L004C95FC mov esi,[eax+40h] mov edx,[eax+44h] mov [eax+44h],esi mov ecx,[ecx] mov [ecx+40h],edx L004C95FC: pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C9600: push ebp mov ebp,esp sub esp,0000001Ch mov eax,[ebp+08h] push ebx push esi push edi mov eax,[eax] mov ecx,[eax+3Ch] cmp ecx,00000010h jz L004C9794 cmp ecx,0000000Fh jz L004C9794 xor ebx,ebx mov edi,L00D2012C L004C962A: mov cl,bl mov esi,000000FFh shl cl,1 inc cl movsx ecx,cl add ecx,00000080h mov edx,ecx mov eax,ecx jns L004C9656 lea edx,[ecx-01h] test edx,edx jge L004C964D mov eax,edx L004C964D: test eax,eax jge L004C9656 mov esi,000000FEh L004C9656: 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,L00D2032C jl L004C962A mov dword ptr [ebp-08h],00000000h mov edi,L00D2032C L004C9691: mov dl,[ebp-08h] shl dl,1 inc dl movsx ecx,dl mov [ebp-14h],ecx push edx mov edx,FFFFA7EAh mov eax,[ebp-14h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ebx,eax mov [ebp-14h],ecx push edx mov edx,0001C5A1h mov eax,[ebp-14h] 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 L004C96D8 lea edx,[ebx-01h] L004C96D8: test edx,edx jge L004C96E2 or ecx,FFFFFFFFh or esi,FFFFFFFFh L004C96E2: and ecx,000000FFh and edx,000000FFh shl esi,08h or ecx,esi and eax,000000FFh shl ecx,08h or ecx,edx mov edx,[ebp-08h] shl ecx,08h or ecx,eax inc edx mov [edi],ecx add edi,00000004h cmp edi,L00D2052C mov [ebp-08h],edx jl L004C9691 xor ebx,ebx mov edi,L00D2052C L004C9721: mov al,bl shl al,1 inc al movsx esi,al mov [ebp-14h],esi push edx mov edx,000166E9h mov eax,[ebp-14h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,eax mov [ebp-14h],esi push edx mov edx,FFFF4931h mov eax,[ebp-14h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx xor edx,edx test eax,eax jge L004C9761 dec ecx L004C9761: test ecx,ecx jge L004C9768 or edx,FFFFFFFFh L004C9768: 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,L00D2072C jl L004C9721 jmp L004C98FF L004C9794: mov ecx,[eax+2Ch] mov edx,[eax+28h] mov esi,[eax+34h] mov ebx,[eax+30h] mov [ebp-08h],ecx mov ecx,[eax+24h] mov [ebp-0Ch],edx mov edx,[eax+20h] mov [ebp-10h],ecx mov [ebp-14h],edx mov dword ptr [ebp-04h],00000000h mov edi,L00D2012C L004C97BE: mov al,[ebp-04h] mov ecx,[ebp-08h] mov edx,[ebp-0Ch] push esi shl al,1 inc al push ebx movsx eax,al push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx add eax,00000080h push edx push 000000FFh push eax push eax push eax call SUB_L004C9B80 mov edx,[ebp-04h] mov [edi],eax add esp,00000028h add edi,00000004h inc edx cmp edi,L00D2032C mov [ebp-04h],edx jl L004C97BE mov dword ptr [ebp-04h],00000000h mov edi,L00D2032C L004C980F: mov al,[ebp-04h] shl al,1 inc al movsx ecx,al mov [ebp-18h],ecx push edx mov edx,FFFFA7EAh mov eax,[ebp-18h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [ebp-1Ch],eax mov [ebp-18h],ecx push edx mov edx,0001C5A1h mov eax,[ebp-18h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ecx,[ebp-08h] mov edx,[ebp-0Ch] push esi push ebx push ecx mov ecx,[ebp-10h] push edx mov edx,[ebp-14h] push ecx push edx push 00000000h push eax mov eax,[ebp-1Ch] push eax push 00000000h call SUB_L004C9B80 mov edx,[ebp-04h] mov [edi],eax add esp,00000028h add edi,00000004h inc edx cmp edi,L00D2052C mov [ebp-04h],edx jl L004C980F mov dword ptr [ebp-04h],00000000h mov edi,L00D2052C L004C988D: mov cl,[ebp-04h] shl cl,1 inc cl movsx ecx,cl mov [ebp-1Ch],ecx push edx mov edx,000166E9h mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [ebp-18h],eax mov [ebp-1Ch],ecx push edx mov edx,FFFF4931h mov eax,[ebp-1Ch] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov edx,[ebp-08h] mov ecx,[ebp-0Ch] push esi push ebx push edx mov edx,[ebp-10h] push ecx mov ecx,[ebp-14h] push edx mov edx,[ebp-18h] push ecx push 00000000h push 00000000h push eax push edx call SUB_L004C9B80 mov edx,[ebp-04h] mov [edi],eax add esp,00000028h add edi,00000004h inc edx cmp edi,L00D2072C mov [ebp-04h],edx jl L004C988D L004C98FF: mov dword ptr [ebp-08h],00000000h L004C9906: mov ecx,[ebp-08h] mov eax,[ebp+08h] add ecx,FFFFFE80h mov ebx,[eax] mov [ebp-1Ch],ecx fild dword ptr [ebp-1Ch] fmul dword ptr [L004F236C] call SUB_L004D5008 mov ecx,eax mov eax,51EB851Fh imul ecx,[ebx+6Ch] imul ecx sar edx,05h mov eax,edx shr eax,1Fh add edx,eax mov edi,edx mov eax,edi mov esi,edi test edi,edi mov [ebp-04h],eax jge L004C994D xor edi,edi jmp L004C995A L004C994D: cmp edi,000000FFh jle L004C995A mov edi,000000FFh L004C995A: test esi,esi jge L004C9962 xor esi,esi jmp L004C996F L004C9962: cmp esi,000000FFh jle L004C996F mov esi,000000FFh L004C996F: test eax,eax jge L004C997C mov dword ptr [ebp-04h],00000000h jmp L004C998A L004C997C: cmp eax,000000FFh jle L004C998A mov dword ptr [ebp-04h],000000FFh L004C998A: mov eax,[ebp-08h] mov ecx,00000008h cdq sub eax,edx mov edx,[ebx+20h] sub ecx,edx mov edx,edi sar edx,cl mov ecx,[ebx+2Ch] sar eax,1 shl eax,02h shl edx,cl mov ecx,[ebp+08h] mov [eax+L00D1E820],edx mov edx,[ecx] mov ecx,00000008h mov ebx,[edx+24h] sub ecx,ebx mov ebx,esi sar ebx,cl mov ecx,[edx+30h] mov edx,[ebp+08h] shl ebx,cl mov ecx,00000008h mov [eax+L00D1F020],ebx mov edx,[edx] mov ebx,[edx+28h] sub ecx,ebx mov ebx,[ebp-04h] sar ebx,cl mov ecx,[edx+34h] shl ebx,cl mov ecx,[ebp+08h] mov [eax+L00D1F820],ebx mov ebx,[ecx] test byte ptr [ebx],40h jz L004C9ABA mov ecx,[ebx+20h] mov edx,00000001h neg ecx mov [ebp-1Ch],ecx add ecx,00000007h shl edx,cl mov ecx,00000007h add edx,edi mov edi,[ebx+24h] sub ecx,edi mov edi,00000001h shl edi,cl mov ecx,00000007h add edi,esi mov esi,[ebx+28h] sub ecx,esi mov esi,00000001h shl esi,cl mov ecx,[ebp-04h] add esi,ecx cmp edx,000000FFh jle L004C9A43 mov edx,000000FFh L004C9A43: cmp edi,000000FFh jle L004C9A50 mov edi,000000FFh L004C9A50: cmp esi,000000FFh jle L004C9A5D mov esi,000000FFh L004C9A5D: mov ecx,[ebp-1Ch] add ecx,00000008h sar edx,cl mov ecx,[ebx+2Ch] mov ebx,[eax+L00D1E820] add ecx,00000010h shl edx,cl mov ecx,00000008h or ebx,edx mov [eax+L00D1E820],ebx mov ebx,[ebp+08h] mov edx,[ebx] sub ecx,[edx+24h] sar edi,cl mov ecx,[edx+30h] add ecx,00000010h shl edi,cl mov ecx,[eax+L00D1F020] or ecx,edi mov [eax+L00D1F020],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+L00D1F820],esi L004C9ABA: mov eax,[ebp-08h] inc eax mov [ebp-08h],eax add eax,FFFFFE80h cmp eax,00000280h jl L004C9906 mov edi,FFFFFF80h mov [ebp+08h],edi L004C9AD9: fild dword ptr [ebp+08h] mov esi,edi and esi,000000FFh fld ST(0) fmul dword ptr [L004F2368] shl esi,02h fmul qword ptr [L004F2360] call SUB_L004D5008 fld ST(0) fmul dword ptr [L004F235C] shl eax,02h mov [esi+L00D20B2C],eax fmul qword ptr [L004F2360] call SUB_L004D5008 fld ST(0) fmul dword ptr [L004F2358] shl eax,02h mov [esi+L00D2072C],eax fmul qword ptr [L004F2360] call SUB_L004D5008 fmul dword ptr [L004F2354] shl eax,02h mov [esi+L00D20F2C],eax fmul qword ptr [L004F2360] call SUB_L004D5008 neg eax shl eax,02h mov edx,L00D1F408 sub edx,eax inc edi cmp edi,00000080h mov [esi+L00D2132C],edx mov [ebp+08h],edi jl L004C9AD9 pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C9B80: sub esp,0000000Ch push ebx mov ebx,[esp+14h] push ebp push esi mov esi,[esp+2Ch] mov ecx,00000008h push edi sub ecx,esi mov edi,00000001h mov eax,ebx shl edi,cl cdq mov ecx,00000007h idiv edi test ebx,ebx mov [esp+14h],eax jge L004C9BD9 sub ecx,esi mov edx,00000001h shl edx,cl mov eax,ebx mov ebp,00000001h mov ecx,esi shl ebp,cl sub eax,edx mov ecx,00000001h cdq idiv edi sub ecx,ebp cmp eax,ecx mov [esp+10h],eax jge L004C9BFF jmp L004C9BFB L004C9BD9: sub ecx,esi mov eax,00000001h shl eax,cl mov ebp,00000001h mov ecx,esi shl ebp,cl add eax,ebx cdq idiv edi lea ecx,[ebp-01h] cmp eax,ecx mov [esp+10h],eax jle L004C9BFF L004C9BFB: mov [esp+10h],ecx L004C9BFF: mov edi,[esp+34h] mov ebx,[esp+24h] mov ecx,00000008h mov esi,00000001h sub ecx,edi mov eax,ebx shl esi,cl cdq mov ecx,00000007h idiv esi test ebx,ebx mov [esp+24h],eax jge L004C9C51 sub ecx,edi mov edx,00000001h shl edx,cl mov eax,ebx mov ecx,edi sub eax,edx cdq idiv esi mov esi,00000001h shl esi,cl mov ecx,00000001h sub ecx,esi cmp eax,ecx mov [esp+20h],eax jge L004C9C77 jmp L004C9C73 L004C9C51: sub ecx,edi mov eax,00000001h shl eax,cl mov ecx,edi add eax,ebx cdq idiv esi mov esi,00000001h shl esi,cl lea ecx,[esi-01h] cmp eax,ecx mov [esp+20h],eax jle L004C9C77 L004C9C73: mov [esp+20h],ecx L004C9C77: mov edi,[esp+38h] mov ecx,00000008h sub ecx,edi mov ebx,00000001h shl ebx,cl mov ecx,[esp+28h] mov eax,ecx cdq idiv ebx test ecx,ecx mov ecx,00000007h mov [esp+18h],eax jge L004C9CC9 mov eax,[esp+28h] sub ecx,edi mov edx,00000001h shl edx,cl mov ecx,edi sub eax,edx cdq idiv ebx mov ebx,eax mov eax,00000001h shl eax,cl mov ecx,00000001h sub ecx,eax cmp ebx,ecx jge L004C9CEF jmp L004C9CED L004C9CC9: sub ecx,edi mov eax,00000001h shl eax,cl mov ecx,[esp+28h] add eax,ecx mov ecx,edi cdq idiv ebx mov ebx,eax mov eax,00000001h shl eax,cl lea ecx,[eax-01h] cmp ebx,ecx jle L004C9CEF L004C9CED: mov ebx,ecx L004C9CEF: test ebx,ebx jge L004C9CF7 dec [esp+20h] L004C9CF7: mov ecx,[esp+20h] test ecx,ecx jge L004C9D03 dec [esp+10h] L004C9D03: mov ecx,[esp+10h] test ecx,ecx mov ecx,[esp+18h] jge L004C9D10 dec ecx L004C9D10: test ecx,ecx jge L004C9D18 dec [esp+24h] L004C9D18: mov edx,[esp+24h] test edx,edx jge L004C9D24 dec [esp+14h] L004C9D24: lea edi,[eax-01h] dec esi mov eax,edi lea edx,[ebp-01h] and eax,ecx mov ecx,[esp+44h] add ecx,00000010h mov ebp,esi shl eax,cl mov ecx,[esp+24h] and edi,ebx and ebp,ecx mov ecx,[esp+40h] add ecx,00000010h mov ebx,[esp+20h] shl ebp,cl mov ecx,[esp+14h] and esi,ebx or eax,ebp mov ebp,edx and ebp,ecx mov ecx,[esp+3Ch] add ecx,00000010h shl ebp,cl mov ecx,[esp+44h] shl edi,cl mov ecx,[esp+40h] or eax,ebp mov ebp,[esp+10h] shl esi,cl mov ecx,[esp+3Ch] and edx,ebp shl edx,cl mov ecx,[esp+34h] or eax,edi or eax,esi mov esi,[esp+38h] pop edi or eax,edx mov edx,[esp+2Ch] add edx,ecx add edx,esi pop esi pop ebp cmp edx,00000010h pop ebx jz L004C9DA2 or eax,80008000h L004C9DA2: add esp,0000000Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004C9DB0: sub esp,00000094h push ebx push ebp mov ebp,[esp+000000A0h] xor ebx,ebx mov eax,[ebp+00h] cmp [eax+74h],ebx jnz L004C9F96 mov [eax+18h],ebx mov eax,[ebp+00h] push esi push edi mov [eax+1Ch],ebx mov edx,[ebp+00h] mov eax,[edx] test ah,08h jnz L004C9F72 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 L004C9E1B mov ecx,[esp+44h] mov edx,[esp+40h] mov [ebp+04h],ecx mov [ebp+08h],edx L004C9E1B: mov esi,[ebp+00h] mov edx,[esi+0Ch] cmp edx,ebx jz L004C9F17 mov ebx,00000008h xor eax,eax mov ecx,ebx 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],ebx jnz L004C9E59 mov [esi+3Ch],ebx jmp L004C9F17 L004C9E59: mov edx,[esp+28h] xor eax,eax mov [esp+10h],eax xor ecx,ecx L004C9E65: mov edi,00000001h shl edi,cl test edx,edi jz L004C9E71 inc eax L004C9E71: inc ecx cmp ecx,0000001Fh jl L004C9E65 xor edi,edi mov [esp+10h],eax mov [esi+20h],eax mov eax,[esp+2Ch] mov [esp+14h],edi xor ecx,ecx L004C9E8A: mov ebx,00000001h shl ebx,cl test eax,ebx jz L004C9E96 inc edi L004C9E96: inc ecx cmp ecx,0000001Fh jl L004C9E8A mov eax,[esp+30h] mov [esp+14h],edi mov [esi+24h],edi xor edi,edi xor ecx,ecx L004C9EAB: mov ebx,00000001h shl ebx,cl test eax,ebx jz L004C9EB7 inc edi L004C9EB7: inc ecx cmp ecx,0000001Fh jl L004C9EAB xor ecx,ecx mov [esi+28h],edi test dl,01h jnz L004C9ECF L004C9EC7: sar edx,1 inc ecx test dl,01h jz L004C9EC7 L004C9ECF: mov ebx,[esp+2Ch] mov [esi+2Ch],ecx xor ecx,ecx mov edx,ebx test bl,01h jnz L004C9EE7 L004C9EDF: sar edx,1 inc ecx test dl,01h jz L004C9EDF L004C9EE7: mov [esi+30h],ecx xor ecx,ecx test al,01h mov edx,eax jnz L004C9EFA L004C9EF2: sar edx,1 inc ecx test dl,01h jz L004C9EF2 L004C9EFA: mov edx,[esp+14h] mov [esi+34h],ecx mov ecx,[esp+10h] add edi,edx add edi,ecx mov ecx,[esp+28h] or eax,ebx mov [esi+3Ch],edi or eax,ecx mov [esi+38h],eax L004C9F17: mov eax,[ebp+00h] cmp dword ptr [eax+3Ch],00000008h jnz L004C9F72 test dword ptr [eax],04000000h jnz L004C9F62 push 00000400h call SUB_L004D5A3E mov ecx,[ebp+00h] add esp,00000004h mov [ecx+14h],eax mov eax,[ebp+00h] 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,[ebp+00h] mov ecx,00000100h xor eax,eax mov edi,[edx+14h] rep stosd L004C9F62: mov eax,[ebp+00h] mov ecx,[eax+0Ch] mov eax,[eax+10h] push eax push ecx mov edx,[ecx] call [edx+7Ch] L004C9F72: mov eax,[ebp+00h] pop edi pop esi test dword ptr [eax],00100000h jnz L004C9F86 mov dword ptr [eax+6Ch],00000064h L004C9F86: push ebp call SUB_L004C9600 add esp,00000004h mov dword ptr [ebp+1Ch],00000001h L004C9F96: pop ebp pop ebx add esp,00000094h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004C9FA0: push esi mov esi,[esp+08h] mov eax,[esi+1Ch] test eax,eax jz L004CA07F mov eax,[esi] mov ecx,[eax+18h] test ecx,ecx jz L004C9FC6 mov edx,[eax] test dh,08h jnz L004C9FC6 mov eax,[ecx] push ecx call [eax+08h] L004C9FC6: mov eax,[esi] mov ecx,[eax+1Ch] test ecx,ecx jz L004C9FDC mov edx,[eax] test dh,08h jnz L004C9FDC mov edx,[ecx] push ecx call [edx+08h] L004C9FDC: mov ecx,[esi] mov eax,[ecx+10h] test eax,eax jz L004C9FF3 test dword ptr [ecx],04000000h jnz L004C9FF3 mov ecx,[eax] push eax call [ecx+08h] L004C9FF3: mov eax,[esi+00000420h] test eax,eax jz L004CA006 push eax call SUB_L004D59F6 add esp,00000004h L004CA006: mov eax,[esi+00000424h] test eax,eax jz L004CA019 push eax call SUB_L004D59F6 add esp,00000004h L004CA019: mov eax,[esi+00000428h] test eax,eax jz L004CA02C push eax call SUB_L004D59F6 add esp,00000004h L004CA02C: mov eax,[esi+00000410h] test eax,eax jz L004CA03F push eax call SUB_L004D59F6 add esp,00000004h L004CA03F: mov eax,[esi+00000414h] test eax,eax jz L004CA052 push eax call SUB_L004D59F6 add esp,00000004h L004CA052: mov eax,[esi+0000041Ch] test eax,eax jz L004CA065 push eax call SUB_L004D59F6 add esp,00000004h L004CA065: mov eax,[esi+00000418h] test eax,eax jz L004CA078 push eax call SUB_L004D59F6 add esp,00000004h L004CA078: mov dword ptr [esi+1Ch],00000000h L004CA07F: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CA090: push ebp mov ebp,esp sub esp,000000F4h mov eax,[ebp+0Ch] push ebx push esi mov esi,[ebp+08h] mov ebx,[eax] mov edx,[eax+0Ch] push edi mov ecx,0000001Bh xor eax,eax lea edi,[ebp-00000088h] rep stosd mov eax,edx mov [ebp-04h],ebx dec eax mov [ebp-18h],edx mov dword ptr [ebp-00000088h],0000006Ch jz L004CA11B sub eax,00000002h jz L004CA100 dec eax jnz L004CA125 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 L004CA125 L004CA100: 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 L004CA125 L004CA11B: push ebx push esi call SUB_L004C8CF0 add esp,00000008h L004CA125: mov edx,[esi] mov eax,[edx] test ah,08h jnz L004CA1D2 mov ecx,[edx+18h] lea eax,[edx+18h] test ecx,ecx mov [ebp+0Ch],eax jnz L004CA1D2 mov ecx,0000001Bh xor eax,eax lea edi,[ebp-000000F4h] rep stosd mov dword ptr [ebp-000000F4h],0000006Ch mov dword ptr [ebp-000000F0h],00000007h mov dword ptr [ebp-0000008Ch],00000040h mov eax,[edx] test eax,00000180h jz L004CA183 mov dword ptr [ebp-0000008Ch],00000840h L004CA183: mov eax,[edx+58h] mov [ebp-000000E8h],eax mov ecx,[edx+54h] mov [ebp-000000ECh],ecx mov cl,[edx] test cl,40h jz L004CA1A4 add eax,eax mov [ebp-000000E8h],eax L004CA1A4: mov eax,[ebp+0Ch] mov edx,[edx+08h] push 00000000h push eax mov ecx,[edx] lea eax,[ebp-000000F4h] push eax push edx call [ecx+18h] mov eax,[esi] push 00000000h mov ecx,[eax+08h] add eax,0000001Ch push eax lea eax,[ebp-000000F4h] mov edx,[ecx] push eax push ecx call [edx+18h] L004CA1D2: mov eax,[esi] mov ecx,[eax] test ch,08h jnz L004CA26B mov eax,[eax+18h] push eax mov ecx,[eax] call [ecx+60h] cmp eax,887601C2h jnz L004CA1FA mov edx,[esi] mov eax,[edx+18h] push eax mov ecx,[eax] call [ecx+6Ch] L004CA1FA: mov edx,[esi] push 00000000h push 00000001h mov eax,[edx+18h] lea edx,[ebp-00000088h] push edx push 00000000h mov ecx,[eax] push eax call [ecx+64h] test eax,eax jnz L004CA68B mov eax,[ebp-64h] mov edx,[esi] mov ecx,[ebp-78h] mov [ebp+08h],eax mov eax,[edx+1Ch] mov [ebp+0Ch],ecx push eax mov ecx,[eax] call [ecx+60h] cmp eax,887601C2h jnz L004CA243 mov edx,[esi] mov eax,[edx+1Ch] push eax mov ecx,[eax] call [ecx+6Ch] L004CA243: mov edx,[esi] push 00000000h push 00000001h mov eax,[edx+1Ch] lea edx,[ebp-00000088h] push edx push 00000000h mov ecx,[eax] push eax call [ecx+64h] test eax,eax jnz L004CA68B mov eax,[ebp-64h] mov [ebp-14h],eax jmp L004CA289 L004CA26B: mov edx,[eax+40h] mov [ebp+08h],edx mov edx,[eax+44h] mov eax,[eax+58h] mov [ebp-14h],edx shl eax,1 test cl,40h mov [ebp+0Ch],eax jz L004CA289 shl eax,1 mov [ebp+0Ch],eax L004CA289: mov eax,[ebp-18h] dec eax cmp eax,00000003h ja L004CA664 jmp [CASE_PROCTABLE_004CA694+eax*4] CASE_004CA694_PROC0002: mov eax,[esi+28h] mov ecx,00000064h sub ecx,eax mov eax,51EB851Fh lea edx,[ecx+ecx*4] lea edx,[ecx+edx*2] lea ecx,[ecx+ecx*4] shl edx,1 imul edx sar edx,05h mov eax,edx lea ecx,[ecx+ecx*4] shr eax,1Fh shl ecx,1 lea edi,[edx+eax+08h] mov eax,51EB851Fh imul ecx sar edx,05h mov ecx,edx mov [ebp-1Ch],edi shr ecx,1Fh lea ebx,[edx+ecx+0Ah] sub ebx,edi xor ecx,ecx mov [ebp-0Ch],ecx L004CA2E7: mov edi,[ebp-0Ch] mov dword ptr [ebp-18h],00000008h L004CA2F1: mov edx,[ecx+L00511E94] mov eax,92492493h mov [ebp-10h],edx imul edi add edx,edi sar edx,03h mov eax,edx shr eax,1Fh add edx,eax mov eax,[ebp-1Ch] add edx,eax shl edx,10h mov [ebp-08h],edx push edx mov edx,[ebp-08h] mov eax,[ebp-10h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [ecx+L00D20020],eax mov eax,[ebp-18h] add edi,ebx add ecx,00000004h dec eax mov [ebp-18h],eax jnz L004CA2F1 mov edx,[ebp-0Ch] add edx,ebx cmp ecx,00000100h mov [ebp-0Ch],edx jl L004CA2E7 mov ecx,[esi] test byte ptr [ecx],40h jz L004CA373 mov edx,[ebp+0Ch] mov eax,[ebp-14h] mov ecx,[ebp+08h] push edx mov edx,[ebp-04h] push eax add edx,00000008h push ecx push edx push esi call SUB_L004C9310 jmp L004CA661 L004CA373: mov eax,[ebp+0Ch] mov ecx,[ebp-14h] mov edx,[ebp+08h] push eax mov eax,[ebp-04h] push ecx add eax,00000008h push edx push eax push esi call SUB_L004C9010 jmp L004CA661 CASE_004CA694_PROC0003: mov eax,[esi+28h] cmp eax,00000064h mov [ebp-08h],eax jnz L004CA3D6 xor ecx,ecx L004CA39E: mov edi,00000008h L004CA3A3: mov edx,[ecx+L00511E94] 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+L00D20020],eax add ecx,00000004h dec edi jnz L004CA3A3 cmp ecx,00000100h jl L004CA39E jmp L004CA453 L004CA3D6: fild dword ptr [ebp-08h] xor edi,edi fsubr qword ptr [L004F2378] fmul dword ptr [L004F2374] fstp dword ptr [ebp-08h] L004CA3EA: mov ebx,00000008h L004CA3EF: fild dword ptr [edi+L00511F94] mov eax,[edi+L00511E94] mov [ebp-10h],eax fmul dword ptr [ebp-08h] fmul dword ptr [L004F2370] call SUB_L004D5008 mov [ebp-1Ch],eax push edx mov edx,[ebp-1Ch] mov eax,[ebp-10h] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov [edi+L00D20020],eax add edi,00000004h dec ebx jnz L004CA3EF cmp edi,00000100h jl L004CA3EA push edx mov edx,00080000h mov eax,[L00511E94] imul edx shl edx,10h shr eax,10h adc eax,edx pop edx mov ebx,[ebp-04h] mov [L00D20020],eax L004CA453: mov ecx,[esi] test byte ptr [ecx],40h jz L004CA540 mov edx,[ebp+08h] add ebx,00000008h push ebx mov [ebp-04h],edx call SUB_L004D19E8 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-0Ch],ecx jbe L004CA664 L004CA494: mov ecx,[eax+58h] xor edi,edi test ecx,ecx jbe L004CA514 mov ebx,[ebp-04h] L004CA4A0: mov eax,[esi+24h] test eax,eax jnz L004CA4E0 lea eax,[ebp-08h] lea ecx,[ebp-10h] push eax push ecx call SUB_L004D36DA add esp,00000008h test eax,eax jz L004CA4E0 mov edx,[ebp-08h] mov ecx,[esi] mov eax,[ebp-10h] push edx mov edx,[ecx+58h] mov ecx,[ebp-14h] push eax mov eax,[ebp-0Ch] push edx mov edx,[ebp+08h] push eax push edi push ecx push edx call SUB_L004C8F40 add esp,0000001Ch jmp L004CA507 L004CA4E0: mov eax,[esi+20h] test eax,eax lea eax,[esi+000003C8h] push eax jz L004CA4FA mov eax,[ebp+0Ch] push eax push ebx call SUB_L004D357A jmp L004CA504 L004CA4FA: mov ecx,[ebp+0Ch] push ecx push ebx call SUB_L004D32D8 L004CA504: add esp,0000000Ch L004CA507: mov edx,[esi] add edi,00000010h add ebx,00000040h cmp edi,[edx+58h] jc L004CA4A0 L004CA514: mov eax,[ebp+0Ch] mov ebx,[ebp-04h] mov ecx,[ebp-0Ch] shr eax,02h shl eax,06h add ebx,eax mov eax,[esi] add ecx,00000010h mov [ebp-04h],ebx mov edx,[eax+54h] mov [ebp-0Ch],ecx cmp ecx,edx jc L004CA494 jmp L004CA664 L004CA540: mov ecx,[ebp+08h] add ebx,00000008h push ebx mov [ebp-04h],ecx call SUB_L004D19E8 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-0Ch],ecx jbe L004CA664 L004CA576: mov ecx,[eax+58h] xor edi,edi test ecx,ecx jbe L004CA5F6 mov ebx,[ebp-04h] L004CA582: mov eax,[esi+24h] test eax,eax jnz L004CA5C2 lea edx,[ebp-08h] lea eax,[ebp-10h] push edx push eax call SUB_L004D36DA add esp,00000008h test eax,eax jz L004CA5C2 mov ecx,[ebp-08h] mov eax,[esi] mov edx,[ebp-10h] push ecx mov ecx,[eax+58h] mov eax,[ebp-14h] push edx mov edx,[ebp-0Ch] push ecx mov ecx,[ebp+08h] push edx push edi push eax push ecx call SUB_L004C8E50 add esp,0000001Ch jmp L004CA5E9 L004CA5C2: mov eax,[esi+20h] test eax,eax lea eax,[esi+000003C8h] push eax jz L004CA5DC mov edx,[ebp+0Ch] push edx push ebx call SUB_L004D341A jmp L004CA5E6 L004CA5DC: mov eax,[ebp+0Ch] push eax push ebx call SUB_L004D3D1B L004CA5E6: add esp,0000000Ch L004CA5E9: mov ecx,[esi] add edi,00000010h add ebx,00000020h cmp edi,[ecx+58h] jc L004CA582 L004CA5F6: mov edx,[ebp+0Ch] mov ebx,[ebp-04h] mov eax,[esi] mov ecx,[ebp-0Ch] shr edx,1 shl edx,05h add ebx,edx mov edx,[eax+54h] add ecx,00000010h mov [ebp-04h],ebx cmp ecx,edx mov [ebp-0Ch],ecx jc L004CA576 jmp L004CA664 CASE_004CA694_PROC0000: push ebx push esi call SUB_L004C07A0 mov eax,[esi] add esp,00000008h cmp dword ptr [eax+3Ch],00000008h jz L004CA639 push esi call SUB_L004C08F0 add esp,00000004h L004CA639: mov ecx,[ebp-14h] mov edx,[ebp+08h] push ecx push edx push esi call SUB_L004C09C0 add esp,0000000Ch jmp L004CA664 CASE_004CA694_PROC0001: push ebx push esi call SUB_L004C0310 mov eax,[ebp-14h] mov ecx,[ebp+08h] push eax push ecx push esi call SUB_L004C09C0 L004CA661: add esp,00000014h L004CA664: mov eax,[esi] mov ecx,[eax] test ch,08h jnz L004CA68B 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] L004CA68B: pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004CA694: dd CASE_004CA694_PROC0000 dd CASE_004CA694_PROC0001 dd CASE_004CA694_PROC0002 dd CASE_004CA694_PROC0003 Align 16 SUB_L004CA6B0: push edi push SSZ005120BC_WeatherManager__startup__begin__ call SUB_L004C7F20 mov ecx,00000046h xor eax,eax mov edi,L00D1AFB0 add esp,00000004h rep stosd mov byte ptr [L00D1AFAE],FFh mov [L00D1AFAC],al mov [L00D1AFAD],al mov dword ptr [L00D1AFA8],00000048h mov [L00D1AFA4],eax mov [L00D1B0CC],eax mov [L00D1B0D0],eax mov [L00D1B0C8],eax pop edi retn ;------------------------------------------------------------------------------ Align 4 L004CA700: push esi mov esi,L00D1AFB0 L004CA706: mov ecx,[esi] test ecx,ecx jz L004CA734 mov eax,[L00B294DC] test eax,eax jz L004CA722 mov edx,ecx L004CA717: cmp eax,edx jz L004CA72A mov eax,[eax+40h] test eax,eax jnz L004CA717 L004CA722: mov dword ptr [esi],00000000h jmp L004CA734 L004CA72A: test ecx,ecx jz L004CA734 mov eax,[ecx] push 00000001h call [eax] L004CA734: add esi,00000004h cmp esi,L00D1B0C8 jl L004CA706 pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CA750: mov al,[L00C8C493] sub esp,00000080h cmp al,01h push ebx push esi push edi jz L004CAADA mov edi,[esp+00000090h] xor ebx,ebx cmp edi,000000FEh mov [L00D1B0CC],ebx mov [L00D1B0D0],ebx jnz L004CA7DF mov eax,[esp+00000098h] mov ecx,[esp+00000094h] mov [L00D1AFA8],eax mov [L00D1AFA4],ecx call SUB_L004BCED0 test eax,eax jz L004CAADA mov edx,[L00D1AFA8] mov eax,[L00D1AFA4] push edx push eax lea ecx,[esp+14h] push SSZ00512138_Season___d___Temperature___d push ecx call SUB_L004D512F lea edx,[esp+1Ch] push edx push 00000003h push ebx call SUB_L004BDF40 add esp,0000001Ch pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA7DF: mov ecx,[esp+00000094h] mov eax,00000046h cmp ecx,eax jle L004CA7F6 mov [esp+00000094h],eax L004CA7F6: mov al,[L00D1AFAE] mov ecx,[esp+00000094h] cmp al,FFh mov [L00D1AFAC],cl jnz L004CA907 cmp edi,ebx jnz L004CA848 push SSZ00512124_It_begins_to_rain_ push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch mov [L00D1AFAE],bl mov byte ptr [L00D1AFAD],17h mov esi,00000017h L004CA836: call SUB_L004CAFD0 dec esi jnz L004CA836 pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA848: cmp edi,00000002h jnz L004CA898 push SSZ00512110_It_begins_to_snow_ push 00000003h push ebx call SUB_L004BDF40 push ebx push ebx push ebx push ebx push ebx push 00000016h call SUB_L004CD800 mov eax,[esp+000000B8h] add esp,00000024h cmp eax,ebx mov byte ptr [L00D1AFAE],02h mov [L00D1AFAD],al jle L004CAADA mov esi,eax L004CA886: call SUB_L004CB100 dec esi jnz L004CA886 pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA898: cmp edi,00000003h jnz L004CA8BB push SSZ005120FC_A_storm_is_brewing_ push edi push ebx call SUB_L004BDF40 add esp,0000000Ch call SUB_L004CB310 pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA8BB: cmp edi,00000001h jnz L004CAADA push SSZ005120E0_A_fierce_storm_approches_ push 00000003h push ebx call SUB_L004BDF40 add esp,0000000Ch call SUB_L004CB310 mov eax,[esp+00000094h] mov [L00D1AFAE],bl cmp eax,ebx mov [L00D1AFAD],al jle L004CAADA mov esi,eax L004CA8F5: call SUB_L004CAFD0 dec esi jnz L004CA8F5 pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA907: cmp edi,00000003h jnz L004CA920 push ebx push ebx call SUB_L004CB260 add esp,00000008h pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA920: cmp edi,FFFFFFFFh jnz L004CA973 mov byte ptr [L00D1AFAE],FFh mov esi,L00D1AFB0 L004CA931: mov ecx,[esi] cmp ecx,ebx jz L004CA95B mov eax,[L00B294DC] cmp eax,ebx jz L004CA959 mov edx,ecx L004CA942: cmp eax,edx jz L004CA94F mov eax,[eax+40h] cmp eax,ebx jnz L004CA942 jmp L004CA959 L004CA94F: cmp ecx,ebx jz L004CA959 mov eax,[ecx] push 00000001h call [eax] L004CA959: mov [esi],ebx L004CA95B: add esi,00000004h cmp esi,L00D1B0C8 jl L004CA931 mov ecx,[esp+00000094h] mov [L00D1B0C8],ebx L004CA973: movsx eax,[L00D1AFAD] cmp ecx,eax jle L004CA9D6 sub ecx,eax cmp edi,ebx jnz L004CA9AD cmp ecx,ebx jle L004CAACD mov esi,ecx L004CA98E: call SUB_L004CAFD0 dec esi jnz L004CA98E mov cl,[esp+00000094h] pop edi pop esi mov [L00D1AFAD],cl pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA9AD: cmp ecx,ebx jle L004CAACD mov esi,ecx L004CA9B7: call SUB_L004CB100 dec esi jnz L004CA9B7 mov cl,[esp+00000094h] pop edi pop esi mov [L00D1AFAD],cl pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CA9D6: jge L004CAACD sub eax,ecx cmp edi,ebx jnz L004CAA67 cmp eax,ebx jle L004CAACD mov edi,eax L004CA9F0: xor esi,esi mov eax,L00D1AFB0 L004CA9F7: cmp [eax],ebx jnz L004CAA08 add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CA9F7 jmp L004CAA4D L004CAA08: cmp esi,FFFFFFFFh jz L004CAA4D mov eax,[L00B294DC] cmp eax,ebx jz L004CAA3B mov ecx,[L00D1AFB0+esi*4] L004CAA1D: cmp eax,ecx jz L004CAA2A mov eax,[eax+40h] cmp eax,ebx jnz L004CAA1D jmp L004CAA3B L004CAA2A: mov ecx,[L00D1AFB0+esi*4] cmp ecx,ebx jz L004CAA3B mov edx,[ecx] push 00000001h call [edx] L004CAA3B: mov [L00D1AFB0+esi*4],ebx mov eax,[L00D1B0C8] dec eax mov [L00D1B0C8],eax L004CAA4D: dec edi jnz L004CA9F0 mov cl,[esp+00000094h] pop edi pop esi mov [L00D1AFAD],cl pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ L004CAA67: cmp eax,ebx jle L004CAACD mov edi,eax L004CAA6D: xor esi,esi mov eax,L00D1AFB0 L004CAA74: cmp [eax],ebx jnz L004CAA85 add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CAA74 jmp L004CAACA L004CAA85: cmp esi,FFFFFFFFh jz L004CAACA mov eax,[L00B294DC] cmp eax,ebx jz L004CAAB8 mov ecx,[L00D1AFB0+esi*4] L004CAA9A: cmp eax,ecx jz L004CAAA7 mov eax,[eax+40h] cmp eax,ebx jnz L004CAA9A jmp L004CAAB8 L004CAAA7: mov ecx,[L00D1AFB0+esi*4] cmp ecx,ebx jz L004CAAB8 mov eax,[ecx] push 00000001h call [eax] L004CAAB8: mov [L00D1AFB0+esi*4],ebx mov eax,[L00D1B0C8] dec eax mov [L00D1B0C8],eax L004CAACA: dec edi jnz L004CAA6D L004CAACD: mov cl,[esp+00000094h] mov [L00D1AFAD],cl L004CAADA: pop edi pop esi pop ebx add esp,00000080h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CAAF0: mov al,[L00D1AFAE] push ebx cmp al,FFh push esi jnz L004CAB72 mov eax,[L00D1B0C8] xor ebx,ebx cmp eax,ebx jz L004CAF60 L004CAB0A: xor esi,esi mov eax,L00D1AFB0 L004CAB11: cmp [eax],ebx jnz L004CAB22 add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CAB11 jmp L004CAB67 L004CAB22: cmp esi,FFFFFFFFh jz L004CAB67 mov eax,[L00B294DC] cmp eax,ebx jz L004CAB55 mov ecx,[L00D1AFB0+esi*4] L004CAB37: cmp eax,ecx jz L004CAB44 mov eax,[eax+40h] cmp eax,ebx jnz L004CAB37 jmp L004CAB55 L004CAB44: mov ecx,[L00D1AFB0+esi*4] cmp ecx,ebx jz L004CAB55 mov eax,[ecx] push 00000001h call [eax] L004CAB55: mov [L00D1AFB0+esi*4],ebx mov eax,[L00D1B0C8] dec eax mov [L00D1B0C8],eax L004CAB67: cmp [L00D1B0C8],ebx jnz L004CAB0A pop esi pop ebx retn ;------------------------------------------------------------------------------ L004CAB72: xor ebx,ebx cmp al,02h jnz L004CABF4 movsx ecx,[L00D1AFAC] cmp [L00D1B0C8],ecx jge L004CAB8C call SUB_L004CB100 L004CAB8C: movsx edx,[L00D1AFAC] cmp [L00D1B0C8],edx jle L004CAC7C xor esi,esi mov eax,L00D1AFB0 L004CABA6: cmp [eax],ebx jnz L004CABBA add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CABA6 jmp L004CAC7C L004CABBA: cmp esi,FFFFFFFFh jz L004CAC7C mov eax,[L00B294DC] cmp eax,ebx jz L004CAC6A mov ecx,[L00D1AFB0+esi*4] L004CABD7: cmp eax,ecx jz L004CABE7 mov eax,[eax+40h] cmp eax,ebx jnz L004CABD7 jmp L004CAC6A L004CABE7: mov ecx,[L00D1AFB0+esi*4] cmp ecx,ebx jz L004CAC6A jmp L004CAC64 L004CABF4: cmp al,03h jz L004CAC7C movsx ecx,[L00D1AFAC] cmp [L00D1B0C8],ecx jge L004CAC10 call SUB_L004CAFD0 L004CAC10: movsx edx,[L00D1AFAC] cmp [L00D1B0C8],edx jle L004CAC7C xor esi,esi mov eax,L00D1AFB0 L004CAC26: cmp [eax],ebx jnz L004CAC37 add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CAC26 jmp L004CAC7C L004CAC37: cmp esi,FFFFFFFFh jz L004CAC7C mov eax,[L00B294DC] cmp eax,ebx jz L004CAC6A mov ecx,[L00D1AFB0+esi*4] L004CAC4C: cmp eax,ecx jz L004CAC59 mov eax,[eax+40h] cmp eax,ebx jnz L004CAC4C jmp L004CAC6A L004CAC59: mov ecx,[L00D1AFB0+esi*4] cmp ecx,ebx jz L004CAC6A L004CAC64: mov eax,[ecx] push 00000001h call [eax] L004CAC6A: mov [L00D1AFB0+esi*4],ebx mov eax,[L00D1B0C8] dec eax mov [L00D1B0C8],eax L004CAC7C: mov eax,[L00D1B0D0] inc eax cmp eax,00000168h mov [L00D1B0D0],eax jle L004CACB9 mov al,[L00D1AFAD] add al,FEh mov [L00D1AFAD],al jns L004CACA4 mov [L00D1AFAD],bl jmp L004CACAC L004CACA4: cmp [L00D1AFAD],bl jnz L004CACB3 L004CACAC: mov byte ptr [L00D1AFAE],FFh L004CACB3: mov [L00D1B0D0],ebx L004CACB9: mov eax,[L00D1B0CC] inc eax cmp eax,0000005Ah mov [L00D1B0CC],eax jle L004CACD4 call SUB_L004CB410 mov [L00D1B0CC],ebx L004CACD4: push edi mov esi,L00D1AFB0 L004CACDA: cmp [esi],ebx jz L004CAF50 mov eax,[L00B294DC] cmp eax,ebx jz L004CACF8 mov ecx,[esi] L004CACED: cmp eax,ecx jz L004CACFF mov eax,[eax+40h] cmp eax,ebx jnz L004CACED L004CACF8: mov [esi],ebx jmp L004CAF50 L004CACFF: cmp byte ptr [L00D1AFAE],02h jnz L004CADE6 push 000061A8h call SUB_L0047BBB0 add esp,00000004h cmp eax,0000000Ah jnz L004CAD65 push eax mov dword ptr [L00D1AF9C],00000001h call SUB_L0047BBB0 push 000001F4h mov [L00D1AF88],eax mov [L00D1AF90],ebx mov dword ptr [L00D1AF8C],00000002h call SUB_L0047BBB0 add eax,00003A98h add esp,00000008h mov [L00D1AF94],eax mov [L00D1AF98],ebx call SUB_L004CB380 L004CAD65: cmp [L00D1AF9C],ebx jz L004CADEC mov edi,[L00D1AF98] mov ecx,00000064h inc edi mov eax,edi mov [L00D1AF98],edi cdq idiv ecx test edx,edx mov edx,[L00D1AF8C] jnz L004CADB5 mov eax,[L00D1AF90] mov ecx,[L00D1AF88] add eax,edx cmp eax,ecx mov [L00D1AF90],eax jle L004CADAB mov eax,ecx mov [L00D1AF90],eax L004CADAB: cmp eax,ebx jge L004CADB5 mov [L00D1AF90],ebx L004CADB5: mov eax,[L00D1AF94] mov ecx,eax sar ecx,1 cmp edi,ecx jle L004CADCE cmp edx,ebx jle L004CADCE neg edx mov [L00D1AF8C],edx L004CADCE: cmp edi,eax jle L004CADF8 mov [L00D1AF9C],ebx mov [L00D1AF98],ebx mov [L00D1AF94],ebx jmp L004CADF8 L004CADE6: mov [L00D1AF9C],ebx L004CADEC: mov [L00D1AF8C],ebx mov [L00D1AF90],ebx L004CADF8: mov eax,[esi] mov ecx,[eax+000000A8h] dec ecx mov [eax+000000A8h],ecx mov eax,[esi] mov edx,[eax+000000ACh] mov edi,[eax+30h] sub edi,edx mov [eax+30h],edi mov eax,[esi] mov ecx,[eax+000000B0h] mov edx,[eax+34h] add edx,ecx mov [eax+34h],edx mov eax,[esi] mov edx,[L00D1AF90] mov ecx,[eax+30h] sub ecx,edx mov [eax+30h],ecx mov al,[L00D1AFAE] cmp al,02h jnz L004CAE69 push 0000000Ah call SUB_L0047BBB0 add esp,00000004h cmp eax,00000002h jnz L004CAE69 mov edi,[esi] push eax call SUB_L0047BBB0 mov ecx,[edi+000000ACh] add esp,00000004h dec eax add ecx,eax mov [edi+000000ACh],ecx L004CAE69: mov eax,[esi] cmp dword ptr [eax+000000A8h],00000001h jl L004CAE9A cmp [eax+30h],ebx jl L004CAE9A cmp [eax+34h],ebx jl L004CAE9A call SUB_L00447080 mov ecx,[esi] cmp [ecx+30h],eax jge L004CAE9A call SUB_L00447090 mov edx,[esi] cmp [edx+34h],eax jl L004CAF50 L004CAE9A: cmp byte ptr [L00D1AFAE],02h jnz L004CAECA push 00000004h call SUB_L0047BBB0 mov ecx,[esi] add eax,00000002h push 00000004h mov [ecx+000000ACh],eax call SUB_L0047BBB0 mov edx,[esi] add esp,00000008h add eax,00000002h mov [edx+000000B0h],eax L004CAECA: call SUB_L00447080 push eax call SUB_L0047BBB0 mov ecx,[esi] mov [ecx+30h],eax call SUB_L00447090 push eax call SUB_L0047BBB0 mov edx,[esi] add esp,00000008h mov [edx+34h],eax mov al,[L00D1AFAE] cmp al,02h jnz L004CAF37 push 00000028h call SUB_L0047BBB0 mov ecx,[esi] add eax,00000028h mov [ecx+000000A8h],eax mov edx,[esi] xor ecx,ecx mov eax,[edx+3Ch] 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 push 00001770h push SUB_L004B95C0 call SUB_L00443500 add esp,00000020h jmp L004CAF50 L004CAF37: cmp al,03h jz L004CAF50 push 0000000Ah call SUB_L0047BBB0 mov ecx,[esi] add esp,00000004h add eax,0000000Ah mov [ecx+000000A8h],eax L004CAF50: add esi,00000004h cmp esi,L00D1B0C8 jl L004CACDA pop edi L004CAF60: pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CAF70: push esi mov byte ptr [L00D1AFAE],FFh mov esi,L00D1AFB0 L004CAF7D: mov ecx,[esi] test ecx,ecx jz L004CAFAB mov eax,[L00B294DC] test eax,eax jz L004CAFA5 mov edx,ecx L004CAF8E: cmp eax,edx jz L004CAF9B mov eax,[eax+40h] test eax,eax jnz L004CAF8E jmp L004CAFA5 L004CAF9B: test ecx,ecx jz L004CAFA5 mov eax,[ecx] push 00000001h call [eax] L004CAFA5: mov dword ptr [esi],00000000h L004CAFAB: add esi,00000004h cmp esi,L00D1B0C8 jl L004CAF7D mov dword ptr [L00D1B0C8],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CAFD0: push FFFFFFFFh push L004E649B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx mov al,[L00D1AFAD] push esi cmp al,46h jg L004CB0E1 xor esi,esi mov eax,L00D1AFB0 L004CAFFB: cmp dword ptr [eax],00000000h jz L004CB01B add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CAFFB pop esi mov ecx,[esp+04h] mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ L004CB01B: cmp esi,FFFFFFFFh jz L004CB0E1 push ebx push ebp push edi call SUB_L00447080 push eax call SUB_L0047BBB0 mov ebx,eax call SUB_L00447090 push eax call SUB_L0047BBB0 push 000000B8h mov ebp,eax call SUB_L004D4FA9 mov edi,eax add esp,0000000Ch mov [esp+10h],edi test edi,edi mov dword ptr [esp+1Ch],00000000h jz L004CB080 push FFFFFFFFh push L005120A8 push 00000000h push 00000003h push 00000003h push 00000000h push ebp push ebx mov ecx,edi call SUB_L0045B300 mov dword ptr [edi],L004E9624 jmp L004CB082 L004CB080: xor edi,edi L004CB082: mov eax,00000010h mov [L00D1AFB0+esi*4],edi mov [edi+000000ACh],eax mov ecx,[L00D1AFB0+esi*4] push 0000000Ah mov dword ptr [esp+20h],FFFFFFFFh mov [ecx+000000B0h],eax call SUB_L0047BBB0 mov edx,[L00D1AFB0+esi*4] add esp,00000004h add eax,0000000Ah mov [edx+000000A8h],eax mov ecx,[L00D1AFB0+esi*4] push 00000001h push 00000000h call SUB_L004587A0 mov eax,[L00D1B0C8] pop edi inc eax pop ebp mov [L00D1B0C8],eax pop ebx L004CB0E1: mov ecx,[esp+08h] pop esi mov fs:[00000000h],ecx add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB100: mov eax,fs:[00000000h] push FFFFFFFFh push L004E64BB push eax mov al,[L00D1AFAD] mov fs:[00000000h],esp sub esp,0000000Ch cmp al,46h push ebx push ebp push esi jg L004CB24C xor esi,esi mov eax,L00D1AFB0 L004CB12F: cmp dword ptr [eax],00000000h jz L004CB151 add eax,00000004h inc esi cmp eax,L00D1B0C8 jl L004CB12F pop esi pop ebp pop ebx mov ecx,[esp+0Ch] mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ L004CB151: cmp esi,FFFFFFFFh jz L004CB24C call SUB_L00447080 push eax call SUB_L0047BBB0 mov ebx,eax call SUB_L00447090 push eax call SUB_L0047BBB0 mov ebp,eax lea eax,[esp+18h] lea ecx,[esp+14h] push eax push ecx push 00001771h call SUB_L004434A0 mov eax,[esp+20h] add esp,00000014h test eax,eax jz L004CB24C push edi push 000000B8h call SUB_L004D4FA9 mov edi,eax add esp,00000004h mov [esp+18h],edi test edi,edi mov dword ptr [esp+24h],00000000h jz L004CB1D7 push FFFFFFFFh push L00512094 push 00000000h push 00000003h push 00000003h push 00000000h push ebp push ebx mov ecx,edi call SUB_L0045B300 mov dword ptr [edi],L004E9624 jmp L004CB1D9 L004CB1D7: xor edi,edi L004CB1D9: push 00000004h mov dword ptr [esp+28h],FFFFFFFFh mov [L00D1AFB0+esi*4],edi call SUB_L0047BBB0 mov edx,[L00D1AFB0+esi*4] add eax,00000002h push 00000004h mov [edx+000000ACh],eax call SUB_L0047BBB0 mov ecx,[L00D1AFB0+esi*4] add eax,00000002h push 00000028h mov [ecx+000000B0h],eax call SUB_L0047BBB0 mov edx,[L00D1AFB0+esi*4] add esp,0000000Ch add eax,00000028h mov [edx+000000A8h],eax mov ecx,[L00D1AFB0+esi*4] push 00000001h push 00000000h call SUB_L004587A0 mov eax,[L00D1B0C8] pop edi inc eax mov [L00D1B0C8],eax L004CB24C: mov ecx,[esp+18h] pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000018h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CB260: push FFFFFFFFh push L004E64E3 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push 0000001Eh mov dword ptr [esp+18h],00000000h call SUB_L0047BBB0 add eax,00000016h push 00000118h mov [esp+0Ch],ax mov word ptr [esp+0Eh],0067h mov word ptr [esp+10h],0004h call SUB_L004D4FA9 add esp,00000008h mov [esp+00h],eax test eax,eax mov byte ptr [esp+14h],01h jz L004CB2D4 mov edx,[esp+04h] sub esp,00000008h mov ecx,esp mov [ecx],edx mov dx,[esp+10h] mov [ecx+04h],dx mov ecx,eax call SUB_L0045D3C0 jmp L004CB2D6 L004CB2D4: xor eax,eax L004CB2D6: push 00000001h push 00000000h mov ecx,eax mov byte ptr [esp+1Ch],00h call SUB_L004587A0 push 00000000h push 00000000h push 00000000h lea eax,[esp+10h] push 3F800000h push eax push 00000029h call SUB_L004CD720 mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CB310: push FFFFFFFFh push L004E64F8 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push 0000001Eh mov dword ptr [esp+14h],00000000h call SUB_L0047BBB0 add eax,00000016h push 00000000h mov [esp+08h],ax push 00000000h push 00000000h lea eax,[esp+10h] push 3F800000h push eax push 00000028h mov word ptr [esp+1Eh],0067h mov word ptr [esp+20h],0004h call SUB_L004CD720 mov ecx,[esp+24h] mov fs:[00000000h],ecx add esp,00000030h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB380: push FFFFFFFFh push L004E6518 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push 0000001Eh mov dword ptr [esp+14h],00000000h call SUB_L0047BBB0 add eax,00000016h push 00000003h mov [esp+08h],ax mov word ptr [esp+0Ah],0067h mov word ptr [esp+0Ch],0004h call SUB_L0047BBB0 add esp,00000008h test eax,eax jnz L004CB3D2 mov eax,00000014h jmp L004CB3DF L004CB3D2: xor ecx,ecx cmp eax,00000001h setnz cl add ecx,00000015h mov eax,ecx L004CB3DF: push 00000000h push 00000000h push 00000000h lea edx,[esp+0Ch] push 3F800000h push edx push eax call SUB_L004CD720 mov ecx,[esp+20h] mov fs:[00000000h],ecx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB410: mov al,[L00D1AFAE] cmp al,02h jz L004CB486 test al,al jnz L004CB436 push 00000064h call SUB_L0047BBB0 add esp,00000004h cmp eax,00000014h jl L004CB47A cmp eax,0000005Ah jle L004CB486 jmp SUB_L004CB310 L004CB436: cmp al,01h jnz L004CB45D push 00000064h call SUB_L0047BBB0 add esp,00000004h cmp eax,00000032h jl L004CB47A cmp eax,00000050h jle L004CB453 jmp SUB_L004CB310 L004CB453: cmp eax,00000046h jle L004CB486 jmp SUB_L004CB380 L004CB45D: cmp al,03h jnz L004CB486 push 00000064h call SUB_L0047BBB0 add esp,00000004h cmp eax,0000003Ch jl L004CB47A cmp eax,00000046h jle L004CB486 jmp SUB_L004CB310 L004CB47A: push 00000000h push 00000000h call SUB_L004CB260 add esp,00000008h L004CB486: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB490: mov edx,[esp+08h] push esi mov esi,[esp+08h] push edi mov ecx,L00D1AFB0 L004CB49F: mov eax,[ecx] test eax,eax jz L004CB4B2 mov edi,[eax+30h] add edi,esi mov [eax+30h],edi mov eax,[ecx] add [eax+34h],edx L004CB4B2: add ecx,00000004h cmp ecx,L00D1B0C8 jl L004CB49F pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004CB4C0: sub esp,0000025Ch push ebx push esi push edi mov edi,[esp+00000270h] or ecx,FFFFFFFFh xor eax,eax xor edx,edx lea ebx,[esp+00000164h] repne scasb not ecx sub edi,ecx mov dword ptr [esp+0Ch],00000044h mov eax,ecx mov esi,edi mov edi,ebx lea ebx,[esp+60h] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h mov [esp+10h],edx rep movsb mov edi,[esp+00000274h] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov [esp+14h],edx mov eax,ecx mov esi,edi mov edi,ebx mov [esp+18h],edx shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h mov [esp+1Ch],edx rep movsb lea edi,[esp+60h] or ecx,FFFFFFFFh repne scasb not ecx dec ecx lea eax,[esp+60h] neg ecx sbb ecx,ecx mov [esp+20h],edx and ecx,eax lea eax,[esp+50h] push eax lea eax,[esp+10h] push eax push ecx push edx push edx push edx push edx lea ecx,[esp+00000180h] push edx push ecx push edx mov [esp+4Ch],edx mov [esp+50h],edx mov [esp+54h],edx mov [esp+58h],edx mov [esp+5Ch],edx mov [esp+60h],edx mov [esp+64h],dx mov [esp+66h],dx mov [esp+68h],edx mov [esp+6Ch],edx mov [esp+70h],edx mov [esp+74h],edx call [KERNEL32.dll!CreateProcessA] pop edi pop esi test eax,eax pop ebx jz L004CB5C0 mov edx,[esp+48h] push edx call [KERNEL32.dll!CloseHandle] mov eax,[esp+44h] add esp,0000025Ch retn ;------------------------------------------------------------------------------ L004CB5C0: call [KERNEL32.dll!GetLastError] xor ecx,ecx cmp eax,0000010Bh setz cl mov [L00D1B0D4],ecx or eax,FFFFFFFFh add esp,0000025Ch retn ;------------------------------------------------------------------------------ SUB_L004CB5E0: sub esp,00000510h push ebx mov ebx,[ADVAPI32.dll!RegOpenKeyExA] push ebp push esi lea eax,[esp+0Ch] push edi push eax push 00000001h push 00000000h push SSZ0051216C__html push 80000000h mov dword ptr [esp+28h],00000104h call ebx test eax,eax jnz L004CB6B2 lea ecx,[esp+18h] mov ebp,[ADVAPI32.dll!RegQueryValueExA] lea edx,[esp+00000120h] push ecx push edx push eax push eax mov eax,[esp+20h] push L007049FC push eax mov dword ptr [esp+30h],00000400h call ebp test eax,eax jnz L004CB6B2 mov edi,SSZ00512158__shell_open_command or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx lea edx,[esp+00000120h] 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,[esp+10h] and ecx,00000003h push eax rep movsb push 00000001h lea ecx,[esp+00000128h] push 00000000h push ecx push 80000000h call ebx test eax,eax jnz L004CB6B2 mov ecx,[esp+10h] lea edx,[esp+14h] lea eax,[esp+1Ch] push edx push eax push 00000000h push 00000000h push L007049FC push ecx call ebp neg eax sbb eax,eax inc eax mov [esp+14h],eax jnz L004CB6BF L004CB6B2: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000510h retn ;------------------------------------------------------------------------------ L004CB6BF: lea edx,[esp+1Ch] push SSZ004F2380____1_ push edx call SUB_L004D5B80 add esp,00000008h test eax,eax jz L004CB6D8 mov byte ptr [eax],00h L004CB6D8: mov edi,L004FE9F8 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+1Ch] 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,[esp+1Ch] and ecx,00000003h rep movsb mov edi,[esp+00000528h] 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,[esp+0000052Ch] mov edx,[esp+00000524h] mov ecx,ebx push eax and ecx,00000003h rep movsb lea ecx,[esp+20h] push ecx push edx call SUB_L004CB4C0 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,00000510h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CB760: mov eax,[L00B28A68] test eax,eax jz L004CB77A push eax call [GDI32.dll!DeleteObject] mov dword ptr [L00B28A68],00000000h L004CB77A: mov eax,[L005073D4] mov ecx,[L005073D0] push L00B189FC push eax push ecx call SUB_L004CB8F0 mov edx,[L00B189FC] mov ecx,[L005073D0] mov [L00B28A68],eax mov eax,[L00BE94F8] add esp,0000000Ch mov [L00D1B0D8],edx test eax,eax jz L004CB7FF imul ecx,[L005073D4] mov edx,[L00D1B0DC] shl ecx,1 cmp edx,ecx jnc L004CB82B push eax call SUB_L004D4F9E mov edx,[L005073D0] imul edx,[L005073D4] shl edx,1 push edx call SUB_L004D4FA9 mov [L00BE94F8],eax mov eax,[L005073D0] imul eax,[L005073D4] add esp,00000008h shl eax,1 mov [L00D1B0DC],eax jmp L004CB82B L004CB7FF: imul ecx,[L005073D4] shl ecx,1 push ecx call SUB_L004D4FA9 mov edx,[L005073D0] add esp,00000004h imul edx,[L005073D4] shl edx,1 mov [L00BE94F8],eax mov [L00D1B0DC],edx L004CB82B: mov dword ptr [L0054B2A4],00000000h jmp SUB_L0040C940 Align 8 SUB_L004CB840: mov eax,[L00B28A68] test eax,eax jz L004CB850 push eax call [GDI32.dll!DeleteObject] L004CB850: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB860: push ebx push ebp push esi push edi mov edi,[esp+14h] push edi call [GDI32.dll!CreateCompatibleDC] mov esi,eax mov eax,[L00B186EC] test eax,eax jz L004CB889 mov eax,[L00B186E0] push 00000000h push eax push edi call [GDI32.dll!SelectPalette] L004CB889: mov ecx,[esp+28h] mov ebx,[GDI32.dll!SelectObject] push ecx push esi call ebx mov edx,[esp+34h] mov ecx,[esp+24h] mov ebp,eax mov eax,[esp+30h] push L00CC0020 push edx mov edx,[esp+28h] push eax mov eax,[esp+28h] push esi push ecx mov ecx,[esp+2Ch] push edx push eax push ecx push edi call [GDI32.dll!BitBlt] push ebp push esi call ebx push esi call [GDI32.dll!DeleteDC] pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CB8E0: mov eax,[esp+04h] push eax call [GDI32.dll!DeleteObject] retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CB8F0: sub esp,00000628h mov ecx,[esp+00000630h] mov edx,[L00B186EC] mov eax,[esp+0000062Ch] push esi neg ecx neg edx mov [esp+08h],eax mov eax,00002DCCh sbb edx,edx mov [esp+1Ch],eax and edx,FFFFFFFDh mov [esp+20h],eax mov eax,[L00D1B864] push edi add edx,00000003h push eax mov dword ptr [esp+0Ch],00000028h mov [esp+14h],ecx mov word ptr [esp+18h],0001h mov word ptr [esp+1Ah],0010h mov [esp+1Ch],edx mov dword ptr [esp+20h],00000000h mov dword ptr [esp+2Ch],00000100h mov dword ptr [esp+30h],00000000h call [USER32.dll!GetDC] mov edi,eax mov eax,[L00B186EC] test eax,eax jz L004CB99C xor eax,eax lea ecx,[esp+30h] L004CB97C: mov [ecx],ax inc eax add ecx,00000002h cmp eax,00000100h jl L004CB97C mov ecx,[L00B186E0] push 00000000h push ecx push edi call [GDI32.dll!SelectPalette] jmp L004CB9D7 L004CB99C: mov edx,[esp+08h] mov cl,[L00C8C4A4] and edx,0000FFFFh test cl,cl lea eax,[esp+edx+08h] jz L004CB9C3 mov dword ptr [eax],0000F800h mov dword ptr [eax+04h],000007E0h jmp L004CB9D0 L004CB9C3: mov dword ptr [eax],00007C00h mov dword ptr [eax+04h],000003E0h L004CB9D0: mov dword ptr [eax+08h],0000001Fh L004CB9D7: mov eax,[L00B186EC] push 00000000h test eax,eax push 00000000h jz L004CB9F5 mov eax,[esp+00000644h] lea ecx,[esp+10h] push eax push 00000001h push ecx jmp L004CBA04 L004CB9F5: mov edx,[esp+00000644h] lea eax,[esp+10h] push edx push 00000000h push eax L004CBA04: push edi call [GDI32.dll!CreateDIBSection] mov esi,eax call [KERNEL32.dll!GetLastError] mov ecx,[L00D1B864] push edi push ecx call [USER32.dll!ReleaseDC] mov eax,esi pop edi pop esi add esp,00000628h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CBA30: push ecx mov eax,[esp+14h] mov ecx,[esp+0Ch] push ebp mov ebp,[esp+20h] lea edx,[ecx+eax*2] mov dword ptr [esp+04h],00000000h test ebp,ebp mov [esp+10h],edx jz L004CBB05 push ebx mov ebx,[L005073D0] push esi push edi L004CBA5E: mov eax,[esp+20h] mov ecx,[esp+10h] add ecx,eax mov eax,ecx cdq idiv ebx mov esi,eax mov eax,ecx cdq idiv ebx mov ecx,ebx sub ecx,edx cmp ecx,ebp jle L004CBA7E mov ecx,ebp L004CBA7E: imul esi,[esp+28h] mov edi,[esp+1Ch] add esi,edx mov edx,[esp+18h] mov eax,ecx sar eax,1 lea edx,[edx+esi*2] mov esi,eax dec eax test esi,esi jz L004CBAC3 lea esi,[eax+01h] L004CBA9E: mov eax,[edi] add edi,00000004h mov ebx,eax and eax,001F001Fh and ebx,FFE07FE0h add edx,00000004h shl ebx,1 or ebx,eax dec esi mov [edx-04h],ebx jnz L004CBA9E mov ebx,[L005073D0] L004CBAC3: test cl,01h jz L004CBAE3 mov ax,[edi] mov esi,eax and eax,0000001Fh and esi,0000FFE0h shl esi,1 or esi,eax mov [edx],si mov ebx,[L005073D0] L004CBAE3: mov eax,[esp+1Ch] sub ebp,ecx lea edx,[eax+ecx*2] mov [esp+1Ch],edx mov edx,[esp+10h] add edx,ecx test ebp,ebp mov [esp+10h],edx jnz L004CBA5E pop edi pop esi pop ebx L004CBB05: pop ebp pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CBB10: sub esp,00000008h mov eax,[esp+10h] push ebx mov ebx,[esp+1Ch] push ebp test ebx,ebx mov [esp+0Ch],ecx mov dword ptr [esp+08h],00000000h lea ebp,[edx+eax*2] jz L004CBB98 push esi push edi L004CBB32: mov ecx,[esp+1Ch] mov edx,[esp+10h] lea esi,[edx+ecx] mov ecx,[L005073D0] mov eax,esi cdq idiv ecx mov edi,eax mov eax,esi cdq idiv ecx sub ecx,edx mov [esp+20h],edx mov eax,ecx cmp eax,ebx jle L004CBB5D mov eax,ebx L004CBB5D: imul edi,[esp+24h] mov edx,[esp+20h] lea ecx,[eax+eax] add edi,edx mov edx,[esp+14h] mov esi,ebp sub ebx,eax lea edi,[edx+edi*2] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx lea ebp,[ebp+eax*2+00h] and ecx,00000003h rep movsb mov ecx,[esp+10h] add ecx,eax test ebx,ebx mov [esp+10h],ecx jnz L004CBB32 pop edi pop esi L004CBB98: pop ebp pop ebx add esp,00000008h retn 0010h ;------------------------------------------------------------------------------ SUB_L004CBBA0: sub esp,00000098h push ebx push esi xor ebx,ebx push edi push ebx mov edi,00000280h mov esi,000001E0h push L00D1B0E8 push ebx mov [esp+18h],edi mov [esp+1Ch],esi call jmp_DDRAW.dll!DirectDrawCreate test eax,eax jnz L004CBD9F mov eax,[L00D1B0E8] mov edx,[L00D1B864] push 00000011h push edx mov ecx,[eax] push eax call [ecx+50h] test eax,eax jnz L004CBD9F cmp [L00C83640],ebx jz L004CBC4D lea eax,[esp+10h] lea ecx,[esp+0Ch] push eax push ecx push SSZ00501038__dx_d push SSZ0050CFB0_640x480 call SUB_L004D592C mov ecx,[esp+20h] mov eax,[L00D1B0E8] add esp,00000010h mov edx,[eax] push 00000010h push ecx mov ecx,[esp+14h] push ecx push eax call [edx+54h] cmp eax,ebx jz L004CBC64 mov eax,[L00D1B0E8] push 00000010h mov [esp+10h],edi mov [esp+14h],esi mov edx,[eax] push esi push edi push eax call [edx+54h] cmp eax,ebx jnz L004CBD9F jmp L004CBC64 L004CBC4D: mov eax,[L00D1B0E8] push 00000010h push esi push edi mov ecx,[eax] push eax call [ecx+54h] test eax,eax jnz L004CBD9F L004CBC64: mov edx,[esp+0Ch] mov eax,[esp+10h] mov [L005073D0],edx mov [L005073D4],eax mov [L00C88348],ebx mov [L00C8834C],ebx call SUB_L00455F00 mov ecx,0000001Bh xor eax,eax lea edi,[esp+18h] mov esi,00000001h rep stosd mov al,[L0050CCB3] mov edi,0000006Ch cmp al,bl jz L004CBD07 mov eax,[L00D1B0E8] push ebx lea edx,[esp+1Ch] mov [esp+1Ch],edi mov dword ptr [esp+20h],00000021h mov dword ptr [esp+00000084h],00000218h mov [esp+30h],esi mov ecx,[eax] push L00D1B0E4 push edx push eax call [ecx+18h] test eax,eax jnz L004CBD07 mov eax,[L00D1B0E4] lea edx,[esp+14h] mov [L00D1B0EC],esi mov dword ptr [esp+14h],00000004h mov ecx,[eax] push L00D1B0E0 push edx push eax call [ecx+30h] mov eax,[L00D1B0E4] jmp L004CBD69 L004CBD07: mov eax,[L00D1B0E8] push ebx lea edx,[esp+1Ch] mov [L00D1B0EC],ebx mov [esp+1Ch],edi mov [esp+20h],esi mov dword ptr [esp+00000084h],00000200h mov [esp+30h],ebx mov ecx,[eax] push L00D1B0E4 push edx push eax call [ecx+18h] test eax,eax jz L004CBD5F mov eax,[L00D1B864] push ebx push SSZ005121AC_Note_ push SSZ00512188_Failed_to_create_primary_surface push eax call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx add esp,00000098h retn ;------------------------------------------------------------------------------ L004CBD5F: mov eax,[L00D1B0E4] mov [L00D1B0E0],eax L004CBD69: lea edx,[esp+00000084h] mov dword ptr [esp+00000084h],00000020h mov ecx,[eax] push edx push eax call [ecx+54h] mov ecx,[esp+00000094h] xor eax,eax cmp ecx,0000F800h mov [L00D1B0F4],esi setz al mov [L00D1B0F0],eax L004CBD9F: pop edi pop esi pop ebx add esp,00000098h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CBDB0: mov ecx,[L00D1B0E8] push esi xor esi,esi cmp ecx,esi jz L004CBDFE cmp [L00D1B0EC],esi jz L004CBDD1 mov eax,[ecx] push ecx call [eax+28h] mov ecx,[L00D1B0E8] L004CBDD1: mov eax,[L00D1B0E4] cmp eax,esi jz L004CBDEC mov ecx,[eax] push eax call [ecx+08h] mov ecx,[L00D1B0E8] mov [L00D1B0E4],esi L004CBDEC: mov [L00D1B0E0],esi mov edx,[ecx] push ecx call [edx+08h] mov [L00D1B0E8],esi L004CBDFE: mov [L00D1B0F4],esi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CBE10: mov al,[L00C8C4A4] push ebx push ebp push esi test al,al mov eax,[esp+10h] mov esi,ecx push edi mov ebp,edx mov ecx,eax jz L004CBEA6 dec eax test ecx,ecx jz L004CBF05 mov edi,[esp+18h] inc eax mov [esp+14h],eax L004CBE39: mov ax,[ebp+00h] add ebp,00000002h test ax,ax jz L004CBE91 mov cx,[L00512174] mov edx,eax shr dx,cl mov cx,[L00512178] mov ebx,eax shr bx,cl and dl,1Fh and bl,1Fh cmp dl,bl jnz L004CBE8E mov cl,al and cl,1Fh cmp dl,cl jnz L004CBE8E mov cl,[L00512174] and eax,0000FFFFh shr eax,cl lea edx,[edi+edi*4] lea ecx,[edi+edx*2] lea edx,[eax+ecx*4] mov ax,[L00C42CE8+edx*2] L004CBE8E: mov [esi],ax L004CBE91: mov eax,[esp+14h] add esi,00000002h dec eax mov [esp+14h],eax jnz L004CBE39 pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ L004CBEA6: dec eax test ecx,ecx jz L004CBF05 mov edx,[esp+18h] lea edi,[eax+01h] L004CBEB2: mov ax,[ebp+00h] add ebp,00000002h test ax,ax jz L004CBEFF mov cx,[L00512178] mov ebx,eax shr bx,cl mov ecx,eax and ecx,000003FFh xor ebx,ecx test bx,bx jz L004CBEDE mov [esi],ax jmp L004CBEFF L004CBEDE: mov cl,[L00512174] and eax,0000FFFFh shr eax,cl lea ecx,[edx+edx*4] lea ecx,[edx+ecx*2] lea eax,[eax+ecx*4] mov cx,[L00C42CE8+eax*2] mov [esi],cx L004CBEFF: add esi,00000002h dec edi jnz L004CBEB2 L004CBF05: pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004CBF10: push ebx push ebp push esi mov esi,[esp+10h] push edi push esi mov ebx,ecx push SSZ005121D8_CMMF__CMMF__begin__file___s__ call SUB_L004C7F20 xor eax,eax add esp,00000008h cmp esi,eax mov [ebx],eax mov [ebx+04h],eax mov [ebx+0Ch],eax mov [ebx+10h],eax jnz L004CBF46 push SSZ005121B4_CMMF__setName__new_name____NULL_ call SUB_L004C7E80 add esp,00000004h L004CBF46: mov edi,esi or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+10h] repne scasb not ecx dec ecx test edx,edx mov ebp,ecx jz L004CBF76 mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx dec ecx cmp ebp,ecx jbe L004CBF83 test edx,edx jz L004CBF76 push edx call SUB_L004D4F9E add esp,00000004h L004CBF76: inc ebp push ebp call SUB_L004D4FA9 add esp,00000004h mov [ebx+10h],eax L004CBF83: 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+10h] shr ecx,02h rep movsd mov ecx,eax mov eax,ebx and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx retn 0004h ;------------------------------------------------------------------------------ Align 8 SUB_L004CBFB0: push esi mov esi,ecx cmp dword ptr [esi],00000000h jz L004CBFED mov eax,[esi+0Ch] test eax,eax jz L004CBFED 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],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L004CBFED: mov edx,[esi+10h] push edx call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi+10h],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CC010: push esi mov esi,ecx mov eax,[esi+0Ch] test eax,eax jz L004CC048 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],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L004CC048: pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CC050: sub esp,00000100h push esi mov esi,ecx mov eax,[esi+10h] test eax,eax jz L004CC1C1 cmp byte ptr [eax],00h jz L004CC1C1 push edi push L004FD2A8 push eax call SUB_L004D6014 mov edi,eax add esp,00000008h test edi,edi jz L004CC0A0 push 00000002h push 00000000h push edi call SUB_L004D60A4 push edi call SUB_L004D5759 push edi mov [esi+08h],eax call SUB_L004D6027 add esp,00000014h jmp L004CC0A7 L004CC0A0: mov dword ptr [esi+08h],00000000h L004CC0A7: mov eax,[esi+10h] push 00000000h push 10000080h push 00000003h push 00000000h push 00000001h push 80000000h push eax call [KERNEL32.dll!CreateFileA] cmp eax,FFFFFFFFh mov [esi],eax jnz L004CC124 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L004CC0E1 push 00000000h call SUB_L0047BB30 add esp,00000004h L004CC0E1: mov ecx,[esi+10h] push edi push ecx lea edx,[esp+10h] push SSZ00512234_Failed_to_open_mmf__s__Error__d_ push edx call SUB_L004D512F mov ecx,[L00D1B864] add esp,00000010h lea eax,[esp+08h] push 00000000h push SSZ00512228_MMF_Error push eax push ecx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ L004CC124: push 00000000h push 00000000h push 00000000h push 00000002h push 00000000h push eax call [KERNEL32.dll!CreateFileMappingA] test eax,eax mov [esi+04h],eax jnz L004CC196 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L004CC153 push 00000000h call SUB_L0047BB30 add esp,00000004h L004CC153: mov edx,[esi+10h] push edi push edx lea eax,[esp+10h] push SSZ005121F8_Failed_to_create_mapping_for_mmf push eax call SUB_L004D512F mov edx,[L00D1B864] add esp,00000010h lea ecx,[esp+08h] push 00000000h push SSZ00512228_MMF_Error push ecx push edx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ L004CC196: push 00000000h push 00000000h push 00000000h push 00000004h push eax call [KERNEL32.dll!MapViewOfFile] test eax,eax mov [esi+0Ch],eax jnz L004CC1B5 push eax call SUB_L0047BB30 add esp,00000004h L004CC1B5: mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ L004CC1C1: xor eax,eax pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CC1D0: mov eax,ecx push esi mov ecx,[esp+0Ch] push edi mov esi,[eax+0Ch] mov edi,[esp+0Ch] mov eax,ecx add esi,edi mov edi,[esp+14h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb pop edi pop esi retn 000Ch ;------------------------------------------------------------------------------ Align 16 SUB_L004CC200: push ebx push ebp push esi push edi mov ebx,ecx push SSZ00512258_CMMF_Wr__CMMF_Wr_const_char__the call SUB_L004C7F20 mov ebp,[esp+18h] mov ecx,[esp+1Ch] xor eax,eax add esp,00000004h cmp ebp,eax mov [ebx],eax mov [ebx+04h],eax mov [ebx+08h],ecx mov [ebx+0Ch],eax mov [ebx+10h],eax jnz L004CC23C push SSZ005121B4_CMMF__setName__new_name____NULL_ call SUB_L004C7E80 add esp,00000004h L004CC23C: mov edi,ebp or ecx,FFFFFFFFh xor eax,eax mov edx,[ebx+10h] repne scasb not ecx dec ecx test edx,edx mov esi,ecx jz L004CC25F mov edi,edx or ecx,FFFFFFFFh repne scasb not ecx dec ecx cmp esi,ecx jbe L004CC272 L004CC25F: push edx call SUB_L004D4F9E inc esi push esi call SUB_L004D4FA9 add esp,00000008h mov [ebx+10h],eax L004CC272: mov edi,ebp 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+10h] shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi pop ebp pop ebx retn 0008h ;------------------------------------------------------------------------------ Align 8 SUB_L004CC2A0: push esi mov esi,ecx cmp dword ptr [esi],00000000h jz L004CC2EB mov eax,[esi+0Ch] test eax,eax jz L004CC2EB 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],00000000h mov dword ptr [esi+04h],00000000h mov dword ptr [esi+0Ch],00000000h pop edi L004CC2EB: mov edx,[esi+10h] push edx call SUB_L004D4F9E add esp,00000004h mov dword ptr [esi+10h],00000000h pop esi retn ;------------------------------------------------------------------------------ SUB_L004CC300: sub esp,00000100h push esi push edi push 00000000h mov esi,ecx push 10000080h push 00000004h mov eax,[esi+10h] push 00000000h push 00000000h push C0000000h push eax call [KERNEL32.dll!CreateFileA] cmp eax,FFFFFFFFh mov [esi],eax jnz L004CC387 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L004CC344 push 00000000h call SUB_L0047BB30 add esp,00000004h L004CC344: mov ecx,[esi+10h] push edi push ecx lea edx,[esp+10h] push SSZ005122DC_Failed_to_open_mmf_wr__s__Error_ push edx call SUB_L004D512F mov ecx,[L00D1B864] add esp,00000010h lea eax,[esp+08h] push 00000000h push SSZ00512228_MMF_Error push eax push ecx call [USER32.dll!MessageBoxA] mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ L004CC387: mov edx,[esi+08h] push 00000000h push edx push 00000000h push 00000004h push 00000000h push eax call [KERNEL32.dll!CreateFileMappingA] test eax,eax mov [esi+04h],eax jnz L004CC3F1 call [KERNEL32.dll!GetLastError] mov edi,eax cmp edi,00000008h jnz L004CC3B8 push 00000000h call SUB_L0047BB30 add esp,00000004h L004CC3B8: mov eax,[esi+10h] push edi push eax lea ecx,[esp+10h] push SSZ005122A8_Failed_to_create_mapping_for_mmf push ecx call SUB_L004D512F lea edx,[esp+18h] push edx push SSZ00512294_CMMF_Wr__Open___s call SUB_L004C7EC0 add esp,00000018h mov dword ptr [esi+0Ch],00000000h mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ L004CC3F1: push 00000000h push 00000000h push 00000000h push 000F001Fh push eax call [KERNEL32.dll!MapViewOfFile] test eax,eax mov [esi+0Ch],eax jnz L004CC413 push eax call SUB_L0047BB30 add esp,00000004h L004CC413: mov eax,[esi+0Ch] pop edi pop esi add esp,00000100h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CC420: sub esp,00000034h push SSZ00512680_MusicManager__CMusicManager____b call SUB_L004C7F20 mov eax,[L0050CF10] mov cl,[L0050CC25] mov [L00D1B224],eax xor eax,eax add esp,00000004h mov [L00D1B208],eax mov [L00D1B20C],eax mov [L00D1B220],cl mov [L00D1B100],eax mov [L00D1B212],ax mov [L00D1B210],ax mov [L00D1B104],eax mov [L00D1B0FC],eax mov dword ptr [L00D1B21C],FFFFFFFFh mov [L00D1B218],eax call [KERNEL32.dll!GetTickCount] push eax call SUB_L004D6F74 add esp,00000004h lea edx,[esp+00h] push 00000034h push edx push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+30h],01h jz L004CC4AE push L00D1B21C push FFFFFFFFh call [WINMM.dll!midiOutGetVolume] L004CC4AE: add esp,00000034h retn ;------------------------------------------------------------------------------ Align 16 L004CC4C0: mov eax,[L00D1B100] sub esp,00000034h test eax,eax jz L004CC4E6 push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [L00D1B100],00000000h L004CC4E6: lea eax,[esp+00h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+30h],01h jz L004CC50B mov ecx,[L00D1B21C] push ecx push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L004CC50B: add esp,00000034h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CC510: mov eax,[L00D1B214] sub esp,00000044h dec eax push ebx xor ebx,ebx push ebp mov ebp,[WINMM.dll!mciSendCommandA] cmp eax,ebx push esi mov [L00D1B214],eax jg L004CC615 mov al,[L00D1B220] mov dword ptr [L00D1B214],00000024h cmp al,bl jz L004CC615 mov ecx,[L00D1B100] lea eax,[esp+0Ch] push eax push 00000100h push 00000814h push ecx mov dword ptr [esp+24h],00000004h call ebp test eax,eax jnz L004CC594 cmp dword ptr [esp+10h],0000020Eh setz al cmp eax,ebx jz L004CC594 mov ax,[L00D1B212] cmp ax,0026h jc L004CC594 cmp ax,0029h jnc L004CC594 mov esi,00000001h jmp L004CC596 L004CC594: xor esi,esi L004CC596: mov eax,[L00C884DC] cmp eax,ebx jz L004CC615 mov eax,[eax+00000154h] cmp eax,ebx jz L004CC5C7 cmp esi,ebx jnz L004CC5C3 push 00000001h push 00000001h call SUB_L004D6F81 cdq mov ecx,00000003h idiv ecx add edx,00000026h jmp L004CC60C L004CC5C3: cmp eax,ebx jnz L004CC615 L004CC5C7: cmp esi,ebx jnz L004CC5FD mov eax,[L00D1B100] lea edx,[esp+0Ch] push edx push 00000100h push 00000814h push eax mov dword ptr [esp+24h],00000004h call ebp test eax,eax jnz L004CC5FD cmp dword ptr [esp+10h],0000020Eh setz al cmp eax,ebx jnz L004CC615 L004CC5FD: push esi push esi call SUB_L004D6F81 cdq mov ecx,00000009h idiv ecx L004CC60C: push edx call SUB_L004CC770 add esp,0000000Ch L004CC615: cmp [L00D1B20C],ebx jz L004CC768 mov ecx,[L00D1B208] mov eax,[L00D1B224] add ecx,0000000Ah mov edx,eax sub edx,ecx mov [L00D1B208],ecx js L004CC6DE mov ecx,[L00D1B100] lea eax,[esp+0Ch] push eax push 00000100h push 00000814h push ecx mov dword ptr [esp+24h],00000004h call ebp test eax,eax jnz L004CC6D9 cmp dword ptr [esp+10h],0000020Eh setz al cmp eax,ebx jz L004CC6D9 mov eax,[L00D1B224] mov ecx,[L00D1B208] and eax,000000FFh mov [L00D1B224],eax sub eax,ecx mov esi,eax jns L004CC691 xor esi,esi jmp L004CC69E L004CC691: cmp esi,000000FFh jle L004CC69E mov esi,000000FFh L004CC69E: lea edx,[esp+1Ch] push 00000034h push edx push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+4Ch],01h jz L004CC768 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 esi pop ebp pop ebx add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC6D9: mov eax,[L00D1B224] L004CC6DE: and eax,000000FFh mov [L00D1B208],ebx mov esi,eax mov [L00D1B224],eax cmp esi,ebx jge L004CC6F8 xor esi,esi jmp L004CC705 L004CC6F8: cmp esi,000000FFh jle L004CC705 mov esi,000000FFh L004CC705: lea edx,[esp+1Ch] push 00000034h push edx push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+4Ch],01h jz L004CC734 and esi,000000FFh mov eax,esi shl eax,10h or eax,esi shl eax,08h push eax push FFFFFFFFh call [WINMM.dll!midiOutSetVolume] L004CC734: mov eax,[L00D1B100] mov [L00D1B20C],ebx cmp eax,ebx jz L004CC753 push ebx push ebx push 00000804h push eax call ebp mov [L00D1B100],ebx L004CC753: push 00000001h push L00D1B108 call SUB_L004CCA10 add esp,00000008h mov [L00D1B108],bl L004CC768: pop esi pop ebp pop ebx add esp,00000044h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CC770: mov al,[L00C88306] sub esp,00000044h test al,al push esi push edi jz L004CC793 push SSZ005126A8_MusicManager__PlaySong___shutdow call SUB_L004C7EC0 add esp,00000004h xor eax,eax pop edi pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC793: call [KERNEL32.dll!GetTickCount] mov ecx,[L00D1B100] mov esi,eax lea eax,[esp+08h] mov dword ptr [esp+10h],00000004h push eax push 00000100h push 00000814h push ecx call [WINMM.dll!mciSendCommandA] test eax,eax jnz L004CC7F5 cmp dword ptr [esp+0Ch],0000020Eh setz al test eax,eax jz L004CC7F5 mov eax,[esp+58h] test eax,eax jnz L004CC7F5 mov edx,[L00D1B104] add edx,00002710h cmp esi,edx jnc L004CC7F5 pop edi mov eax,00000001h pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC7F5: mov edi,[esp+50h] cmp di,0031h jc L004CC807 pop edi xor eax,eax pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC807: mov al,[L00D1B220] test al,al jnz L004CC81B pop edi mov eax,00000001h pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC81B: cmp di,[L00D1B212] jnz L004CC82F pop edi mov eax,00000001h pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ L004CC82F: push ebp call SUB_L004CE3D0 mov eax,[esp+58h] mov ecx,edi and ecx,0000FFFFh push eax mov edx,[L00512300+ecx*4] push edx call SUB_L004CCA10 add esp,00000008h mov ebp,eax call SUB_L004CE420 test ebp,ebp jz L004CC8E2 mov eax,[L00D1B218] test eax,eax jnz L004CC8D0 mov eax,[L0050CF10] mov ecx,[L00D1B208] and eax,000000FFh mov [L00D1B224],eax sub eax,ecx mov esi,eax jns L004CC889 xor esi,esi jmp L004CC896 L004CC889: cmp esi,000000FFh jle L004CC896 mov esi,000000FFh L004CC896: lea eax,[esp+1Ch] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+4Ch],01h jz L004CC8C6 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] L004CC8C6: mov dword ptr [L00D1B218],00000001h L004CC8D0: mov [L00D1B212],di call [KERNEL32.dll!GetTickCount] mov [L00D1B104],eax L004CC8E2: mov eax,ebp pop ebp pop edi pop esi add esp,00000044h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CC8F0: sub esp,00000104h mov eax,[L00D1B0FC] push ebx push esi dec eax push edi mov byte ptr [esp+0Ch],00h jz L004CC914 dec eax jnz L004CC93A lea edx,[esp+0Ch] mov edi,SSZ0051272C_4MB_ jmp L004CC91D L004CC914: lea edx,[esp+0Ch] mov edi,SSZ00512724_512K_ L004CC91D: 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 L004CC93A: mov ecx,[esp+00000114h] mov ebx,[esp+00000118h] lea edx,[esp+0Ch] push ecx push edx push SSZ00512718_music__s_s push ebx call SUB_L004D512F add esp,00000010h push L004FD2A8 push ebx call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h test eax,eax jz L004CC9AF push eax call SUB_L004D6027 push ebx call SUB_L0047C110 mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h 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 add esp,00000104h retn ;------------------------------------------------------------------------------ L004CC9AF: push L004FD2A8 push ebx call SUB_L0047C240 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h test eax,eax jz L004CCA02 push eax call SUB_L004D6027 push ebx call SUB_L0047C240 mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h 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 add esp,00000104h retn ;------------------------------------------------------------------------------ L004CCA02: pop edi mov byte ptr [ebx],00h pop esi pop ebx add esp,00000104h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CCA10: mov al,[L00D1B220] sub esp,00000134h test al,al push esi jnz L004CCA2D L004CCA20: mov eax,00000001h pop esi add esp,00000134h retn ;------------------------------------------------------------------------------ L004CCA2D: mov ecx,[L00D1B100] mov esi,[WINMM.dll!mciSendCommandA] lea eax,[esp+04h] mov dword ptr [esp+0Ch],00000004h push eax push 00000100h push 00000814h push ecx call esi test eax,eax jnz L004CCA6A cmp dword ptr [esp+08h],0000020Eh setz al test eax,eax jnz L004CCB79 L004CCA6A: mov eax,[L00D1B20C] test eax,eax jnz L004CCB79 mov eax,[L00D1B100] test eax,eax jz L004CCAA5 mov ecx,[esp+00000140h] test ecx,ecx jz L004CCB6F push 00000000h push 00000000h push 00000804h push eax call esi mov dword ptr [L00D1B100],00000000h L004CCAA5: mov eax,[esp+0000013Ch] lea edx,[esp+34h] push edx push eax mov dword ptr [esp+14h],SSZ00512734_sequencer call SUB_L004CC8F0 add esp,00000008h lea edx,[esp+04h] lea ecx,[esp+34h] push edx push 00002200h push 00000803h push 00000000h mov [esp+20h],ecx call esi test eax,eax jz L004CCAF5 mov dword ptr [L00D1B100],00000000h xor eax,eax pop esi add esp,00000134h retn ;------------------------------------------------------------------------------ L004CCAF5: mov eax,[esp+08h] lea ecx,[esp+24h] push ecx push 00000100h push 00000814h push eax mov [L00D1B100],eax mov dword ptr [esp+3Ch],00004003h call esi test eax,eax jz L004CCB38 mov edx,[L00D1B100] push 00000000h push 00000000h push 00000804h push edx call esi xor eax,eax pop esi add esp,00000134h retn ;------------------------------------------------------------------------------ L004CCB38: mov edx,[L00D1B100] mov eax,[L00D1B864] lea ecx,[esp+18h] mov [esp+18h],eax push ecx push 00000001h push 00000806h push edx call esi test eax,eax jz L004CCA20 mov eax,[L00D1B100] push 00000000h push 00000000h push 00000804h push eax call esi L004CCB6F: xor eax,eax pop esi add esp,00000134h retn ;------------------------------------------------------------------------------ L004CCB79: push edi mov edi,[esp+00000140h] or ecx,FFFFFFFFh xor eax,eax mov dword ptr [L00D1B20C],00000001h repne scasb not ecx sub edi,ecx mov eax,00000001h mov edx,ecx mov esi,edi mov edi,L00D1B108 shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb pop edi pop esi add esp,00000134h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CCBC0: mov eax,[L00D1B100] test eax,eax jz L004CCBE3 push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [L00D1B100],00000000h L004CCBE3: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CCBF0: mov eax,[esp+04h] mov ecx,[L00D1B208] and eax,000000FFh sub esp,00000034h mov [L00D1B224],eax sub eax,ecx push esi mov esi,eax jns L004CCC12 xor esi,esi jmp L004CCC1F L004CCC12: cmp esi,000000FFh jle L004CCC1F mov esi,000000FFh L004CCC1F: lea eax,[esp+04h] push 00000034h push eax push FFFFFFFFh call [WINMM.dll!midiOutGetDevCapsA] test byte ptr [esp+34h],01h jz L004CCC4F 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] L004CCC4F: pop esi add esp,00000034h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CCC60: mov al,[esp+04h] test al,al mov [L00D1B220],al jnz L004CCC90 mov eax,[L00D1B100] test eax,eax jz L004CCC90 push 00000000h push 00000000h push 00000804h push eax call [WINMM.dll!mciSendCommandA] mov dword ptr [L00D1B100],00000000h L004CCC90: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CCCA0: mov ax,[L00D1B210] push 00000000h push 00000000h push eax call SUB_L004CC770 add esp,0000000Ch test eax,eax jz L004CCD08 mov ax,[L00D1B210] mov ecx,[L00C884DC] inc ax test ecx,ecx mov [L00D1B210],ax jz L004CCCF9 mov edx,[ecx+00000154h] test edx,edx jz L004CCCE9 cmp ax,0029h jc L004CCD08 mov word ptr [L00D1B210],0026h retn ;------------------------------------------------------------------------------ L004CCCE9: cmp ax,0009h jc L004CCD08 mov word ptr [L00D1B210],0000h retn ;------------------------------------------------------------------------------ L004CCCF9: cmp ax,0031h jc L004CCD08 mov word ptr [L00D1B210],0000h L004CCD08: retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' db 90h; '?' push edi push 00000494h mov dword ptr [L00D1B28C],00000125h mov byte ptr [L00D1B290],00h call SUB_L004D4FA9 mov edi,eax mov ecx,00000125h xor eax,eax mov [L00D1B288],edi rep stosd push L004CCD50 call SUB_L004D50AD add esp,00000008h pop edi retn ;------------------------------------------------------------------------------ Align 8 L004CCD50: mov cl,[L00D1B280] mov al,01h test al,cl jnz L004CCDB6 or cl,al mov eax,[L00D1B28C] push edi xor edi,edi test eax,eax mov [L00D1B280],cl jle L004CCDA6 push esi L004CCD71: mov eax,[L00D1B288] mov esi,[eax+edi*4] test esi,esi jz L004CCD9B mov eax,esi L004CCD7F: mov eax,[eax+08h] test eax,eax jnz L004CCD7F test esi,esi jz L004CCD9B mov ecx,[esi] push ecx call SUB_L004D4F9E push esi call SUB_L004D4F9E add esp,00000008h L004CCD9B: mov eax,[L00D1B28C] inc edi cmp edi,eax jl L004CCD71 pop esi L004CCDA6: mov edx,[L00D1B288] push edx call SUB_L004D4F9E add esp,00000004h pop edi L004CCDB6: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CCDC0: push ecx push esi push edi push SSZ00512740_SoundManager__CSoundManager____b call SUB_L004C7F20 mov al,[L0050CC24] xor esi,esi mov [L00D1B2B6],al mov al,[L0050CF0C] mov [L00D1B2B5],al mov [L00D1B2B4],al mov eax,[L005089B8] add esp,00000004h cmp eax,esi mov [L00D1B2AC],esi mov [L00D1B25C],si mov dword ptr [L00D1B258],FFFFFFFFh mov [L00D1B250],si mov dword ptr [L00D1B24C],FFFFFFFFh mov [esp+08h],esi jz L004CCE44 L004CCE20: lea ecx,[esp+08h] push ecx push eax mov ecx,L00D1B288 call SUB_L004CE2D0 mov eax,[esp+08h] inc eax mov [esp+08h],eax mov eax,[L005089B8+eax*4] cmp eax,esi jnz L004CCE20 L004CCE44: mov ecx,00000008h xor eax,eax mov edi,L00D1B260 mov [L00D1B2AC],esi rep stosd mov ecx,00000008h or eax,FFFFFFFFh mov edi,L00D1B228 mov [L00D1B2B0],esi rep stosd mov [L00D1B2A8],si pop edi mov word ptr [L00D1B298],0001h mov word ptr [L00D1B29A],0002h mov dword ptr [L00D1B29C],00005620h mov word ptr [L00D1B2A6],0010h mov word ptr [L00D1B2A4],0004h mov dword ptr [L00D1B2A0],00015880h pop esi pop ecx retn ;------------------------------------------------------------------------------ L004CCEB0: mov eax,[L00D1B2B0] test eax,eax jz L004CCF1C push esi push edi mov esi,L00D1B260 L004CCEC0: mov edi,[esi] test edi,edi jz L004CCEDB mov eax,[edi] test eax,eax jz L004CCED2 mov ecx,[eax] push eax call [ecx+08h] L004CCED2: push edi call SUB_L004D4F9E add esp,00000004h L004CCEDB: mov dword ptr [esi],00000000h add esi,00000004h cmp esi,L00D1B280 jl L004CCEC0 mov eax,[L00D1B2B0] push eax mov edx,[eax] call [edx+08h] mov eax,[L00D1B2AC] pop edi test eax,eax mov dword ptr [L00D1B2B0],00000000h pop esi jz L004CCF12 mov ecx,[eax] push eax call [ecx+08h] L004CCF12: mov dword ptr [L00D1B2AC],00000000h L004CCF1C: retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CCF20: mov eax,fs:[00000000h] push FFFFFFFFh push L004E653E push eax mov fs:[00000000h],esp sub esp,00000130h push ebx push esi xor ebx,ebx push edi push ebx push L00D1B2AC push ebx call jmp_DSOUND.dll!DSOUND.1 mov eax,[L00D1B2AC] cmp eax,ebx jz L004CD114 mov edi,[esp+0000014Ch] mov ecx,[eax] push 00000003h push edi push eax call [ecx+18h] mov esi,eax cmp esi,ebx jz L004CCF9E cmp esi,80070057h mov [esp+3Ch],bl jnz L004CCF8E push edi lea edx,[esp+40h] push SSZ005127D8_Window_Handle_____d push edx call SUB_L004D512F add esp,0000000Ch L004CCF8E: lea eax,[esp+3Ch] push eax push esi push SSZ005127B8_Failed_to_set_cooperative_level jmp L004CD10C L004CCF9E: mov eax,[L00D1B2AC] push ebx lea edx,[esp+2Ch] mov dword ptr [esp+2Ch],00000014h mov dword ptr [esp+30h],00000081h mov [esp+34h],ebx mov [esp+38h],ebx mov [esp+3Ch],ebx mov ecx,[eax] push L00D1B2B0 push edx push eax call [ecx+0Ch] cmp eax,ebx jz L004CCFE4 push L007049FC push eax push SSZ00512790_Failed_to_create_primary_sound_b jmp L004CD10C L004CCFE4: mov eax,[L00D1B298] mov ecx,[L00D1B29C] mov edx,[L00D1B2A0] mov [esp+14h],eax mov eax,[L00D1B2A4] mov [esp+18h],ecx mov cx,[L00D1B2A8] mov [esp+20h],eax mov eax,[L00D1B2B0] mov [esp+24h],cx lea ecx,[esp+14h] mov [esp+1Ch],edx mov edx,[eax] push ecx push eax call [edx+38h] mov esi,L00D1B260 or edi,FFFFFFFFh L004CD02E: push 0000003Ch call SUB_L004D4FA9 add esp,00000004h mov [esp+10h],eax cmp eax,ebx mov [esp+00000144h],ebx jz L004CD050 mov ecx,eax call SUB_L004CDA70 jmp L004CD052 L004CD050: xor eax,eax L004CD052: mov [esi],eax add esi,00000004h cmp esi,L00D1B280 mov [esp+00000144h],edi jl L004CD02E cmp [L00D1B2B6],bl jz L004CD114 cmp [L00D1B2B0],ebx jz L004CD114 push ebp mov edi,L00D1B260 L004CD084: mov esi,[edi] cmp esi,ebx jz L004CD0E2 xor edx,edx mov eax,[esi] mov dl,[L00D1B2B5] mov [esp+10h],edx lea edx,[esp+14h] fild dword ptr [esp+10h] push edx push eax fmul dword ptr [L004F2390] fst dword ptr [esp+18h] fstp dword ptr [esi+38h] mov ecx,[eax] call [ecx+18h] fild dword ptr [esp+14h] mov esi,[esi] fmul dword ptr [L004F238C] mov ebp,[esi] fsubr dword ptr [L004E73E0] fmul dword ptr [esp+10h] fsubr dword ptr [L004E73E0] fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi call [ebp+3Ch] L004CD0E2: add edi,00000004h cmp edi,L00D1B280 jl L004CD084 mov eax,[L00D1B2B0] push 00000001h push ebx push ebx mov ecx,[eax] push eax call [ecx+30h] cmp eax,ebx pop ebp jz L004CD114 push L007049FC push eax push SSZ00512768_Failed_to_start_playing_primary_ L004CD10C: call SUB_L004CD360 add esp,0000000Ch L004CD114: mov ecx,[esp+0000013Ch] pop edi pop esi pop ebx mov fs:[00000000h],ecx add esp,0000013Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CD130: push ecx mov al,[esp+08h] mov [L00D1B2B5],al mov eax,[L00D1B2B0] test eax,eax jz L004CD1B7 push ebx push esi push edi mov edi,L00D1B260 L004CD14B: mov esi,[edi] test esi,esi jz L004CD1A9 xor ecx,ecx mov eax,[esi] mov cl,[L00D1B2B5] mov [esp+14h],ecx lea ecx,[esp+0Ch] fild dword ptr [esp+14h] push ecx push eax fmul dword ptr [L004F2390] fst dword ptr [esp+1Ch] fstp dword ptr [esi+38h] mov edx,[eax] call [edx+18h] fild dword ptr [esp+0Ch] mov esi,[esi] fmul dword ptr [L004F238C] mov ebx,[esi] fsubr dword ptr [L004E73E0] fmul dword ptr [esp+14h] fsubr dword ptr [L004E73E0] fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi call [ebx+3Ch] L004CD1A9: add edi,00000004h cmp edi,L00D1B280 jl L004CD14B pop edi pop esi pop ebx L004CD1B7: pop ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CD1C0: push ecx mov al,[esp+08h] push esi test al,al mov [L00D1B2B6],al jz L004CD2C3 mov eax,[L00D1B2B0] test eax,eax jz L004CD279 push ebx push edi mov edi,L00D1B260 L004CD1E7: mov esi,[edi] test esi,esi jz L004CD244 xor eax,eax lea edx,[esp+0Ch] mov al,[L00D1B2B5] push edx mov [esp+18h],eax mov eax,[esi] fild dword ptr [esp+18h] push eax fmul dword ptr [L004F2390] fst dword ptr [esp+1Ch] fstp dword ptr [esi+38h] mov ecx,[eax] call [ecx+18h] fild dword ptr [esp+0Ch] mov esi,[esi] fmul dword ptr [L004F238C] mov ebx,[esi] fsubr dword ptr [L004E73E0] fmul dword ptr [esp+14h] fsubr dword ptr [L004E73E0] fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi call [ebx+3Ch] L004CD244: add edi,00000004h cmp edi,L00D1B280 jl L004CD1E7 mov eax,[L00D1B2B0] push 00000001h push 00000000h push 00000000h mov ecx,[eax] push eax call [ecx+30h] pop edi pop ebx test eax,eax jz L004CD279 push L007049FC push eax push SSZ00512768_Failed_to_start_playing_primary_ call SUB_L004CD360 add esp,0000000Ch L004CD279: mov eax,[L00D1B25C] test ax,ax jz L004CD355 cmp ax,FFFFh jz L004CD355 cmp dword ptr [L00D1B258],FFFFFFFFh jnz L004CD355 mov edx,[L00D1B254] push 00000000h push 00000000h push 00000001h push edx and eax,0000FFFFh push 00000000h push eax call SUB_L004CD800 add esp,00000018h mov [L00D1B258],eax pop esi pop ecx retn ;------------------------------------------------------------------------------ L004CD2C3: mov eax,[L00D1B2B0] mov word ptr [L00D1B250],0000h test eax,eax mov dword ptr [L00D1B248],FFFFD8F0h jz L004CD302 mov eax,[L00D1B24C] cmp eax,FFFFFFFFh jz L004CD302 mov eax,[L00D1B260+eax*4] mov eax,[eax] push eax mov ecx,[eax] call [ecx+48h] mov dword ptr [L00D1B24C],FFFFFFFFh L004CD302: mov eax,[L00D1B2B0] mov dword ptr [L00D1B254],FFFFF63Ch test eax,eax jz L004CD355 mov esi,L00D1B260 L004CD31A: mov eax,[esi] test eax,eax jz L004CD328 mov eax,[eax] push eax mov edx,[eax] call [edx+48h] L004CD328: add esi,00000004h cmp esi,L00D1B280 jl L004CD31A mov eax,[L00D1B2B0] push eax mov ecx,[eax] call [ecx+48h] test eax,eax jz L004CD355 push L007049FC push eax push SSZ005127EC_Failed_to_stop_playing_primary_b call SUB_L004CD360 add esp,0000000Ch L004CD355: pop esi pop ecx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CD360: sub esp,00000800h or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00h] push ebx push esi push edi mov edi,[esp+00000810h] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+0Ch] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb mov edi,L004FE9F8 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,[esp+00000814h] mov ecx,ebx and ecx,00000003h cmp eax,88780032h rep movsb jg L004CD476 jz L004CD46B cmp eax,8007000Eh jg L004CD431 jz L004CD423 cmp eax,80004001h jz L004CD415 cmp eax,80004005h jz L004CD407 cmp eax,80040110h jnz CASE_004CD570_PROC0006 lea edx,[esp+0Ch] mov edi,SSZ00512940__DSERR_NOAGGREGATION_ jmp L004CD4CF L004CD407: lea edx,[esp+0Ch] mov edi,SSZ00512930__DSERR_GENERIC_ jmp L004CD4CF L004CD415: lea edx,[esp+0Ch] mov edi,SSZ0051291C__DSERR_UNSUPPORTED_ jmp L004CD4CF L004CD423: lea edx,[esp+0Ch] mov edi,SSZ00512908__DSERR_OUTOFMEMORY_ jmp L004CD4CF L004CD431: cmp eax,80070057h jz L004CD460 cmp eax,8878000Ah jz L004CD455 cmp eax,8878001Eh jnz CASE_004CD570_PROC0006 lea edx,[esp+0Ch] mov edi,SSZ005128F0__DSERR_CONTROLUNAVAIL_ jmp L004CD4CF L004CD455: lea edx,[esp+0Ch] mov edi,SSZ005128DC__DSERR_ALLOCATED_ jmp L004CD4CF L004CD460: lea edx,[esp+0Ch] mov edi,SSZ005128C4__DSERR_INVALIDPARAM_ jmp L004CD4CF L004CD46B: lea edx,[esp+0Ch] mov edi,SSZ005128B0__DSERR_INVALIDCALL_ jmp L004CD4CF L004CD476: add eax,7787FFBAh cmp eax,0000005Ah ja CASE_004CD570_PROC0006 xor ecx,ecx mov cl,[eax+CASE_004CD58C] jmp [CASE_PROCTABLE_004CD570+ecx*4] CASE_004CD570_PROC0001: lea edx,[esp+0Ch] mov edi,SSZ0051289C__DSERR_BADFORMAT_ jmp L004CD4CF CASE_004CD570_PROC0000: lea edx,[esp+0Ch] mov edi,SSZ00512884__DSERR_PRIOLEVELNEEDED_ jmp L004CD4CF CASE_004CD570_PROC0002: lea edx,[esp+0Ch] mov edi,SSZ00512870__DSERR_NODRIVER_ jmp L004CD4CF CASE_004CD570_PROC0003: lea edx,[esp+0Ch] mov edi,SSZ00512854__DSERR_ALREADYINITIALIZED_ jmp L004CD4CF CASE_004CD570_PROC0004: lea edx,[esp+0Ch] mov edi,SSZ00512840__DSERR_BUFFERLOST_ jmp L004CD4CF CASE_004CD570_PROC0005: lea edx,[esp+0Ch] mov edi,SSZ00512828__DSERR_OTHERAPPHASPRIO_ L004CD4CF: 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_004CD570_PROC0006: mov edi,L004FE9F8 or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+0Ch] 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,[esp+10h] and ecx,00000003h push SSZ00512814_DirectSound_Error rep movsb mov edi,[esp+00000820h] 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+14h] and ecx,00000003h push eax rep movsb push 00000000h call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx add esp,00000800h retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004CD570: dd CASE_004CD570_PROC0000 dd CASE_004CD570_PROC0001 dd CASE_004CD570_PROC0002 dd CASE_004CD570_PROC0003 dd CASE_004CD570_PROC0004 dd CASE_004CD570_PROC0005 dd CASE_004CD570_PROC0006 CASE_004CD58C: db 00h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 01h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 06h, 06h, 02h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 03h, 06h, 06h, 06h db 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h db 04h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 06h, 05h Align 16 SUB_L004CD5F0: mov al,[L00D1B2B6] push esi test al,al push edi jz L004CD71C mov eax,[L00D1B2B0] test eax,eax jz L004CD71C mov edx,[L00D1B24C] cmp edx,CDCDCDCDh jz L004CD71C mov esi,L00D1B260 L004CD623: mov ecx,[esi] test ecx,ecx jz L004CD63C cmp ecx,CDCDCDCDh jz L004CD63C call SUB_L004CDF90 mov edx,[L00D1B24C] L004CD63C: add esi,00000004h cmp esi,L00D1B280 jl L004CD623 cmp edx,FFFFFFFFh jz L004CD6BD mov eax,[L00D1B248] sub eax,00000014h mov [L00D1B248],eax cmp eax,FFFFF63Ch mov eax,[L00D1B260+edx*4] jg L004CD68E mov eax,[eax] push eax mov ecx,[eax] call [ecx+48h] mov dword ptr [L00D1B248],FFFFD8F0h mov word ptr [L00D1B250],0000h mov dword ptr [L00D1B24C],FFFFFFFFh jmp L004CD6BD L004CD68E: fild dword ptr [L00D1B248] mov esi,[eax] fmul dword ptr [L004F238C] mov edi,[esi] fsubr dword ptr [L004E73E0] fmul dword ptr [eax+38h] fsubr dword ptr [L004E73E0] fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi call [edi+3Ch] L004CD6BD: mov ecx,[L00D1B258] cmp ecx,FFFFFFFFh jz L004CD71C mov eax,[L00D1B254] add eax,00000014h cmp eax,FFFFF768h mov [L00D1B254],eax jle L004CD6E6 mov dword ptr [L00D1B254],FFFFF768h L004CD6E6: fild dword ptr [L00D1B254] mov eax,[L00D1B260+ecx*4] fmul dword ptr [L004F238C] mov esi,[eax] fsubr dword ptr [L004E73E0] mov edi,[esi] fmul dword ptr [eax+38h] fsubr dword ptr [L004E73E0] fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi call [edi+3Ch] L004CD71C: pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CD720: mov eax,[L00C884DC] push esi mov esi,[esp+0Ch] add eax,00000024h push edi push eax push esi call SUB_L00474F20 mov [esp+18h],eax add esp,00000008h fild dword ptr [esp+10h] fmul dword ptr [L004F23A0] fcom dword ptr [L004E73E0] fnstsw ax test ah,41h jnz L004CD75B fstp ST(0) fld dword ptr [L004E73E0] L004CD75B: fmul dword ptr [esp+14h] fmul dword ptr [L004F2388] call SUB_L004D5008 mov edi,eax mov eax,[L00C884DC] movsx ecx,[eax+26h] movsx edx,[eax+24h] movsx eax,[esi+02h] sub ecx,edx movsx edx,[esi] sub ecx,eax add ecx,edx mov [esp+10h],ecx fild dword ptr [esp+10h] fmul dword ptr [L004F239C] fmul dword ptr [L004F23A0] fcom dword ptr [L004E73E0] fnstsw ax test ah,41h jnz L004CD7B1 fstp ST(0) fld dword ptr [L004E73E0] jmp L004CD7C6 L004CD7B1: fcom dword ptr [L004F2398] fnstsw ax test ah,01h jz L004CD7C6 fstp ST(0) fld dword ptr [L004F2398] L004CD7C6: fmul dword ptr [L004F2394] call SUB_L004D5008 mov cl,[L00C8C4A1] test cl,cl jz L004CD7DD neg eax L004CD7DD: mov ecx,[esp+20h] mov edx,[esp+1Ch] push ecx mov ecx,[esp+1Ch] push edx mov edx,[esp+14h] push ecx push edi push eax push edx call SUB_L004CD800 add esp,00000018h pop edi pop esi retn ;------------------------------------------------------------------------------ Align 4 SUB_L004CD800: mov al,[L00D1B2B6] push ebx push ebp push esi test al,al push edi jz L004CD94C mov edi,[esp+14h] test edi,edi jl L004CD94C cmp edi,0000028Eh jge L004CD94C mov eax,[L00D1B2B0] test eax,eax jz L004CD94C mov eax,[esp+28h] test eax,eax jnz L004CD860 xor eax,eax mov ecx,L00D1B260 L004CD845: mov edx,[ecx] test edx,edx jz L004CD854 cmp [edx+24h],edi jz L004CD94F L004CD854: add ecx,00000004h inc eax cmp ecx,L00D1B280 jl L004CD845 L004CD860: or ebp,FFFFFFFFh xor edx,edx mov eax,L00D1B260 mov esi,0000FFFFh L004CD86F: mov ecx,[eax] test ecx,ecx jz L004CD87A cmp [ecx+24h],esi jz L004CD887 L004CD87A: add eax,00000004h inc edx cmp eax,L00D1B280 jl L004CD86F jmp L004CD88E L004CD887: cmp edx,FFFFFFFFh mov ebp,edx jnz L004CD8CA L004CD88E: xor ebx,ebx xor esi,esi mov edi,L00D1B260 L004CD897: cmp esi,[L00D1B258] jz L004CD8BA mov eax,[edi] lea edx,[esp+28h] push edx mov eax,[eax] push eax mov ecx,[eax] call [ecx+18h] mov eax,[esp+28h] cmp eax,ebx jg L004CD8BA mov ebx,eax mov ebp,esi L004CD8BA: add edi,00000004h inc esi cmp edi,L00D1B280 jl L004CD897 mov edi,[esp+14h] L004CD8CA: push edi push 00000007h call SUB_L0045EE00 mov esi,[eax] mov edi,[eax+04h] add esp,00000008h cmp esi,FFFFFFFFh jz L004CD94C cmp edi,00000028h jle L004CD94C mov ebx,[esp+24h] xor eax,eax test ebx,ebx jz L004CD922 call SUB_L004D6F81 cdq idiv ebx mov [esp+28h],edx fild dword ptr [esp+28h] fmul dword ptr [L004ED638] fmul dword ptr [L004F23A4] call SUB_L004D5008 mov ebx,eax call SUB_L004D6F81 test al,01h jnz L004CD91C neg ebx L004CD91C: lea eax,[ebx+00005620h] L004CD922: mov ecx,[esp+1Ch] mov edx,[esp+18h] push eax mov eax,[esp+24h] push eax mov eax,[esp+1Ch] push ecx mov ecx,[L00D1B260+ebp*4] push edx push edi push esi push eax call SUB_L004CDBC0 pop edi mov eax,ebp pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ L004CD94C: or eax,FFFFFFFFh L004CD94F: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CD960: mov ecx,[L00D1B25C] mov eax,[esp+04h] and ecx,0000FFFFh cmp eax,ecx jz L004CDA6B mov edx,[L00D1B250] and edx,0000FFFFh cmp eax,edx jnz L004CD9D8 cmp eax,0000FFFFh jz L004CD9D8 test eax,eax jz L004CD9D8 mov edx,[L00D1B24C] cmp edx,FFFFFFFFh jz L004CD9D8 mov ax,[L00D1B250] mov [L00D1B250],cx mov ecx,[L00D1B248] mov [L00D1B25C],ax mov eax,[L00D1B258] mov [L00D1B258],edx mov [L00D1B24C],eax mov eax,[L00D1B254] mov [L00D1B254],ecx mov [L00D1B248],eax retn ;------------------------------------------------------------------------------ L004CD9D8: mov dx,[L00D1B25C] mov ecx,[L00D1B258] mov [L00D1B250],dx mov edx,[L00D1B254] cmp ax,FFFFh mov [L00D1B24C],ecx mov [L00D1B248],edx mov [L00D1B25C],ax mov dword ptr [L00D1B254],FFFFF63Ch jz L004CDA61 test ax,ax jz L004CDA61 push 00000000h push 00000000h push 00000001h push FFFFF63Ch push 00000000h push eax call SUB_L004CD800 mov ecx,[L00D1B24C] add esp,00000018h cmp eax,ecx mov [L00D1B258],eax jnz L004CDA6B cmp eax,FFFFFFFFh jz L004CDA6B mov word ptr [L00D1B250],0000h mov dword ptr [L00D1B24C],FFFFFFFFh mov dword ptr [L00D1B248],FFFFD8F0h retn ;------------------------------------------------------------------------------ L004CDA61: mov dword ptr [L00D1B258],FFFFFFFFh L004CDA6B: retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CDA70: sub esp,00000038h push ebx push ebp push esi mov esi,ecx mov ebp,00000001h xor ebx,ebx push SSZ00512978_CStreamBuf__CStreamBuf____begin_ mov [esi+08h],ebp 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 dword ptr [esi+24h],0000FFFFh mov [esi+28h],ebx mov [esi+2Ch],ebx mov [esi+30h],ebp mov [esi+34h],ebp mov dword ptr [esi+38h],3F800000h call SUB_L004C7F20 lea eax,[esp+20h] add esp,00000004h mov [esi],ebx mov [esi+14h],ebx mov [esi+10h],ebx mov [esi+08h],ebp mov [esi+04h],ebx mov [esi+0Ch],ebx mov [esi+18h],ebx mov [esp+40h],eax mov eax,[L00D1B2AC] push ebx lea edx,[esp+34h] mov [esp+20h],bp mov [esp+22h],bp mov dword ptr [esp+24h],00005620h mov word ptr [esp+2Eh],0010h mov word ptr [esp+2Ch],0002h mov dword ptr [esp+28h],0000AC40h mov [esp+30h],bx mov dword ptr [esp+34h],00000014h mov dword ptr [esp+38h],000100E0h mov dword ptr [esp+3Ch],00010000h mov [esp+40h],ebx mov ecx,[eax] push esi push edx push eax call [ecx+0Ch] cmp eax,ebx jz L004CDB52 push L007049FC push eax push SSZ00512958_Failed_to_create_sound_buffer call SUB_L004CD360 add esp,0000000Ch mov eax,esi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ L004CDB52: push edi lea edx,[esp+14h] push ebx mov eax,[esi] push edx lea edx,[esp+20h] mov ecx,[eax] push edx lea edx,[esp+28h] push edx lea edx,[esp+20h] push edx push 00010000h push ebx push eax call [ecx+2Ch] mov edi,[esp+10h] mov ecx,00004000h xor eax,eax rep stosd mov edx,[esp+14h] mov eax,[esi] push edx mov edx,[esp+1Ch] mov ecx,[eax] push edx mov edx,[esp+24h] push edx mov edx,[esp+1Ch] push edx push eax call [ecx+4Ch] mov eax,[esi] push ebp push ebx push ebx mov ecx,[eax] push eax call [ecx+30h] mov eax,esi pop edi pop esi pop ebp pop ebx add esp,00000038h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CDBC0: mov eax,[esp+04h] sub esp,0000001Ch cmp eax,0000FFFFh push ebx push ebp push esi push edi mov ebp,ecx jz L004CDE1F test eax,eax jl L004CDE1F mov ecx,[esp+34h] mov edx,[esp+38h] mov [ebp+28h],ecx mov [ebp+2Ch],edx lea ecx,[esp+28h] lea edx,[esp+38h] push ecx push edx push eax push 00000008h push 00000007h mov [ebp+24h],eax call SUB_L0045EF20 add esp,00000014h mov ebx,eax call SUB_L004CE3D0 mov eax,[ebp+00h] lea edx,[esp+1Ch] push edx push eax mov ecx,[eax] call [ecx+24h] test byte ptr [esp+1Ch],02h jz L004CDC2D mov eax,[ebp+00h] push eax mov ecx,[eax] call [ecx+50h] L004CDC2D: mov edx,[esp+38h] mov dword ptr [ebp+1Ch],00000000h add ebx,00000028h lea eax,[edx-28h] mov edx,[esp+3Ch] mov [ebp+14h],eax mov [ebp+20h],eax mov eax,[esp+44h] push edx mov [ebp+18h],eax mov eax,[ebp+00h] push eax mov [esp+2Ch],ebx mov ecx,[eax] call [ecx+40h] mov esi,eax test esi,esi jz L004CDC85 call SUB_L004CE420 push L007049FC push esi push SSZ005129E0_DirectSound_SetPan_failed_ call SUB_L004CD360 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 001Ch ;------------------------------------------------------------------------------ L004CDC85: fild dword ptr [esp+40h] mov esi,[ebp+00h] fmul dword ptr [L004F238C] mov edi,[esi] fsubr dword ptr [L004E73E0] fmul dword ptr [ebp+38h] fld dword ptr [L004E73E0] fsub ST,ST(1) fmul dword ptr [L004F2388] call SUB_L004D5008 push eax push esi fstp ST(0) call [edi+3Ch] mov esi,eax test esi,esi jz L004CDCDF call SUB_L004CE420 push L007049FC push esi push SSZ005129C0_DirectSound_SetVolume_failed_ call SUB_L004CD360 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 001Ch ;------------------------------------------------------------------------------ L004CDCDF: mov eax,[ebp+00h] mov edx,[esp+48h] push edx push eax mov ecx,[eax] call [ecx+44h] mov esi,eax test esi,esi jz L004CDD15 call SUB_L004CE420 push L007049FC push esi push SSZ0051299C_DirectSound_SetFrequency_failed_ call SUB_L004CD360 add esp,0000000Ch pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 001Ch ;------------------------------------------------------------------------------ L004CDD15: mov dword ptr [ebp+08h],00000001h call [KERNEL32.dll!GetTickCount] lea edx,[esp+20h] mov [ebp+04h],eax mov eax,[ebp+00h] push edx lea edx,[esp+1Ch] mov dword ptr [ebp+0Ch],00000000h mov ecx,[eax] push edx push eax call [ecx+10h] mov ecx,[esp+20h] mov eax,[esp+18h] mov edx,[ebp+00h] lea edi,[esp+10h] push 00000000h push edi mov esi,[edx] lea edi,[esp+1Ch] push edi lea edi,[esp+3Ch] push edi lea edi,[esp+44h] cmp ecx,eax push edi jnc L004CDE95 sub eax,ecx push eax push ecx push edx call [esi+2Ch] mov ecx,[ebp+14h] mov eax,[esp+30h] cmp ecx,eax jge L004CDE73 mov edx,[ebp+18h] test edx,edx jz L004CDE29 xor edi,edi xor edx,edx test eax,eax mov [esp+44h],edi jbe L004CDDE2 mov ecx,[ebp+20h] jmp L004CDDA1 L004CDD9D: mov ebx,[esp+24h] L004CDDA1: sub ecx,edx sub eax,edi cmp ecx,eax jnc L004CDDAB mov eax,ecx L004CDDAB: lea esi,[edx+ebx] mov ebx,[esp+34h] mov ecx,eax add edi,ebx mov ebx,ecx add edx,eax shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h rep movsb mov ecx,[ebp+20h] cmp edx,ecx jc L004CDDD0 mov edx,[ebp+1Ch] L004CDDD0: mov edi,[esp+44h] add edi,eax mov eax,[esp+30h] cmp edi,eax mov [esp+44h],edi jc L004CDD9D L004CDDE2: xor ecx,ecx mov [ebp+08h],ecx mov [ebp+30h],ecx L004CDDEA: mov esi,[esp+10h] mov ecx,[ebp+00h] push esi mov esi,[esp+18h] mov edx,[ecx] push esi push eax mov eax,[esp+40h] push eax push ecx call [edx+4Ch] test byte ptr [esp+1Ch],01h jnz L004CDE1A mov ebp,[ebp+00h] push 00000001h push 00000000h push 00000000h mov ecx,[ebp+00h] push ebp call [ecx+30h] L004CDE1A: call SUB_L004CE420 L004CDE1F: pop edi pop esi pop ebp pop ebx add esp,0000001Ch retn 001Ch ;------------------------------------------------------------------------------ L004CDE29: mov edi,[esp+34h] mov eax,ecx mov esi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[esp+30h] mov edx,[ebp+14h] mov esi,[esp+34h] mov ecx,eax sub ecx,edx shr ecx,1 sar edx,1 test ecx,ecx lea edx,[esi+edx*2] jle L004CDE68 xor eax,eax mov edi,edx shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,[esp+30h] L004CDE68: mov ecx,[ebp+14h] mov [ebp+10h],ecx jmp L004CDDE2 L004CDE73: mov edi,[esp+34h] mov ecx,eax mov edx,ecx mov esi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[esp+30h] mov [ebp+10h],eax jmp L004CDDE2 L004CDE95: sub eax,ecx add eax,00010000h push eax push ecx push edx call [esi+2Ch] mov eax,[ebp+14h] mov ecx,[esp+30h] cmp eax,ecx jge L004CDEF4 mov edi,[esp+34h] mov ecx,eax mov esi,ebx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[esp+30h] mov edx,[ebp+14h] mov esi,[esp+34h] mov ecx,eax sub ecx,edx shr ecx,1 sar edx,1 L004CDED4: test ecx,ecx lea edx,[esi+edx*2] jle L004CDEEC xor eax,eax mov edi,edx shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,[esp+30h] L004CDEEC: mov ecx,[ebp+14h] mov [ebp+10h],ecx jmp L004CDF6E L004CDEF4: mov edi,[esp+34h] mov edx,ecx mov esi,ebx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[ebp+14h] mov edx,[esp+30h] mov ecx,[esp+10h] sub eax,edx cmp eax,ecx jnc L004CDF4B mov edi,[esp+14h] mov ecx,eax lea esi,[edx+ebx] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[esp+30h] mov edx,[ebp+14h] mov edi,[esp+10h] mov esi,[esp+14h] mov ecx,eax sub ecx,edx sub edx,eax add ecx,edi shr ecx,1 shr edx,1 jmp L004CDED4 L004CDF4B: mov edi,[esp+14h] lea esi,[edx+ebx] mov edx,ecx shr ecx,02h rep movsd mov ecx,edx and ecx,00000003h rep movsb mov eax,[esp+30h] mov ecx,[esp+10h] lea edx,[eax+ecx] mov [ebp+10h],edx L004CDF6E: cmp dword ptr [esp+18h],00008000h jnc L004CDDE2 mov dword ptr [ebp+08h],00000001h mov dword ptr [ebp+34h],00000000h jmp L004CDDEA Align 4 SUB_L004CDF90: sub esp,0000002Ch push ebx push ebp mov ebp,ecx mov eax,[ebp+24h] cmp eax,0000FFFFh jz L004CE290 lea ecx,[esp+28h] lea edx,[esp+2Ch] push ecx push edx push eax push 00000008h push 00000007h call SUB_L0045EF20 xor ebx,ebx add esp,00000014h cmp eax,ebx mov [esp+18h],eax jz L004CE290 push esi push edi call SUB_L004CE3D0 mov eax,[ebp+00h] lea edx,[esp+28h] push edx push eax mov ecx,[eax] call [ecx+24h] mov al,[esp+28h] test al,02h jz L004CE074 mov eax,[ebp+00h] push eax mov ecx,[eax] call [ecx+50h] lea ecx,[esp+18h] push ebx mov eax,[ebp+00h] push ecx lea ecx,[esp+24h] mov edx,[eax] push ecx lea ecx,[esp+1Ch] push ecx lea ecx,[esp+24h] push ecx push 00010000h push ebx push eax call [edx+2Ch] mov edi,[esp+14h] mov ecx,00004000h xor eax,eax mov esi,00000001h rep stosd mov ecx,[esp+18h] mov eax,[ebp+00h] push ecx mov ecx,[esp+20h] push ecx mov ecx,[esp+18h] push ecx mov ecx,[esp+20h] mov [ebp+30h],esi mov [ebp+34h],esi mov dword ptr [ebp+24h],0000FFFFh mov edx,[eax] push ecx push eax call [edx+4Ch] mov eax,[ebp+00h] push esi mov [ebp+14h],ebx mov [ebp+10h],ebx mov [ebp+08h],esi mov [ebp+04h],ebx mov [ebp+0Ch],ebx mov [ebp+18h],ebx mov edx,[eax] push ebx push ebx push eax call [edx+30h] jmp L004CE085 L004CE074: test al,01h jnz L004CE085 mov eax,[ebp+00h] push 00000001h push ebx push ebx mov ecx,[eax] push eax call [ecx+30h] L004CE085: mov eax,[ebp+00h] lea ecx,[esp+38h] push ecx lea ecx,[esp+30h] mov edx,[eax] push ecx push eax call [edx+10h] mov eax,[esp+2Ch] cmp eax,00008000h mov eax,[ebp+08h] jc L004CE0AF cmp eax,ebx jnz L004CE0B9 jmp L004CE268 L004CE0AF: cmp eax,ebx jnz L004CE268 jz L004CE0E2 L004CE0B9: lea ecx,[esp+18h] push ebx mov eax,[ebp+00h] push ecx lea ecx,[esp+24h] mov edx,[eax] push ecx lea ecx,[esp+1Ch] push ecx lea ecx,[esp+24h] push ecx push 00008000h push ebx push eax call [edx+2Ch] mov [ebp+30h],ebx jmp L004CE10D L004CE0E2: lea ecx,[esp+18h] push ebx mov eax,[ebp+00h] push ecx lea ecx,[esp+24h] mov edx,[eax] push ecx lea ecx,[esp+1Ch] push ecx lea ecx,[esp+24h] push ecx push 00008000h push 00008000h push eax call [edx+2Ch] mov [ebp+34h],ebx L004CE10D: mov eax,[ebp+18h] cmp eax,ebx mov eax,[esp+10h] jz L004CE194 mov edx,[ebp+10h] mov ecx,[ebp+20h] add edx,eax cmp edx,ecx jl L004CE194 xor edi,edi cmp eax,ebx mov [esp+24h],edi jbe L004CE242 L004CE132: mov esi,[ebp+10h] mov edx,[ebp+20h] sub edx,esi jz L004CE185 sub eax,edi cmp eax,edx jge L004CE144 mov edx,eax L004CE144: mov ebx,[esp+20h] mov ecx,edx lea esi,[esi+ebx+28h] mov ebx,[esp+14h] add edi,ebx mov ebx,ecx shr ecx,02h rep movsd mov ecx,ebx and ecx,00000003h cmp edx,eax rep movsb jnz L004CE16D mov eax,[ebp+10h] add eax,edx jmp L004CE170 L004CE16D: mov eax,[ebp+1Ch] L004CE170: mov edi,[esp+24h] mov [ebp+10h],eax mov eax,[esp+10h] add edi,edx mov [esp+24h],edi xor ebx,ebx jmp L004CE18B L004CE185: mov ecx,[ebp+1Ch] mov [ebp+10h],ecx L004CE18B: cmp edi,eax jc L004CE132 jmp L004CE242 L004CE194: mov esi,[ebp+10h] mov edx,[ebp+14h] cmp esi,edx jnz L004CE1CD mov edi,[esp+14h] mov ecx,00002000h xor eax,eax rep stosd cmp [ebp+08h],ebx jz L004CE1C0 mov eax,[esp+10h] mov dword ptr [ebp+30h],00000001h jmp L004CE242 L004CE1C0: mov eax,[esp+10h] mov dword ptr [ebp+34h],00000001h jmp L004CE242 L004CE1CD: sub edx,esi cmp edx,eax jl L004CE1F8 mov edx,[esp+20h] mov edi,[esp+14h] mov ecx,eax lea esi,[esi+edx+28h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[esp+10h] mov ecx,[ebp+10h] add ecx,eax jmp L004CE23F L004CE1F8: mov eax,[esp+20h] mov edi,[esp+14h] mov ecx,edx lea esi,[esi+eax+28h] mov eax,ecx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb mov eax,[esp+10h] mov esi,[esp+14h] mov ecx,eax sub ecx,edx shr ecx,1 sar edx,1 cmp ecx,ebx lea edx,[esi+edx*2] jle L004CE23C xor eax,eax mov edi,edx shr ecx,1 rep stosd adc ecx,ecx rep stosw mov eax,[esp+10h] L004CE23C: mov ecx,[ebp+14h] L004CE23F: mov [ebp+10h],ecx L004CE242: mov esi,[esp+18h] mov ecx,[ebp+00h] push esi mov esi,[esp+20h] mov edx,[ecx] push esi push eax mov eax,[esp+20h] push eax push ecx call [edx+4Ch] mov eax,[ebp+08h] xor ecx,ecx cmp eax,ebx setz cl mov [ebp+08h],ecx L004CE268: mov eax,[ebp+30h] pop edi cmp eax,ebx pop esi jz L004CE28B cmp [ebp+34h],ebx jz L004CE28B mov [ebp+18h],ebx mov dword ptr [ebp+24h],0000FFFFh mov ebp,[ebp+00h] push ebx push ebp mov edx,[ebp+00h] call [edx+44h] L004CE28B: call SUB_L004CE420 L004CE290: pop ebp pop ebx add esp,0000002Ch retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CE2A0: mov al,[L00D1B2B6] test al,al jz L004CE2C6 mov eax,[esp+0Ch] mov ecx,[esp+08h] mov edx,[esp+04h] push 00000000h push 00000000h push 00000000h push eax push ecx push edx call SUB_L004CD800 add esp,00000018h L004CE2C6: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CE2D0: push FFFFFFFFh push L004E655B mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000008h push ebx push ebp push esi push edi mov edi,[esp+28h] mov eax,ecx xor ebx,ebx mov [esp+10h],eax mov cl,[edi] mov esi,edi test cl,cl jz L004CE31A mov ebp,[eax+04h] L004CE303: mov eax,ebx movsx ecx,cl shl eax,06h add eax,ecx mov cl,[esi+01h] cdq idiv ebp inc esi test cl,cl mov ebx,edx jnz L004CE303 L004CE31A: push 0000000Ch call SUB_L004D4FA9 mov ebp,eax add esp,00000004h mov [esp+14h],ebp test ebp,ebp mov dword ptr [esp+20h],00000000h jz L004CE388 mov edx,[esp+2Ch] or ecx,FFFFFFFFh mov eax,[edx] mov [esp+2Ch],eax xor eax,eax repne scasb not ecx push ecx call SUB_L004D4FA9 mov edi,[esp+2Ch] mov edx,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000004h mov [ebp+00h],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,[esp+2Ch] mov dword ptr [ebp+08h],00000000h mov [ebp+04h],ecx jmp L004CE38A L004CE388: xor ebp,ebp L004CE38A: mov edx,[esp+10h] mov eax,[edx] lea ebx,[eax+ebx*4] mov eax,[ebx] test eax,eax jnz L004CE39D mov [ebx],ebp jmp L004CE3B0 L004CE39D: mov ecx,[eax+08h] test ecx,ecx jz L004CE3AD L004CE3A4: mov eax,ecx mov ecx,[eax+08h] test ecx,ecx jnz L004CE3A4 L004CE3AD: mov [eax+08h],ebp L004CE3B0: mov ecx,[esp+18h] pop edi pop esi pop ebp pop ebx mov fs:[00000000h],ecx add esp,00000014h retn 0008h ;------------------------------------------------------------------------------ Align 16 SUB_L004CE3D0: push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push esi mov esi,[KERNEL32.dll!LeaveCriticalSection] push edi mov edi,[KERNEL32.dll!Sleep] L004CE3E5: push L00D1B870 call ebx mov eax,[L00D1BAD4] test eax,eax jz L004CE402 push L00D1B870 call esi push 00000001h call edi jmp L004CE3E5 L004CE402: mov dword ptr [L00D1BAD4],00000001h push L00D1B870 call esi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CE420: push L00D1B870 call [KERNEL32.dll!EnterCriticalSection] mov dword ptr [L00D1BAD4],00000000h push L00D1B870 call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 16 L004CE450: sub esp,00000008h push ebx mov ebx,[KERNEL32.dll!EnterCriticalSection] push L00D1B870 call ebx mov eax,[L00D1BAD4] test eax,eax jnz L004CE551 push esi mov dword ptr [L00D1BAD4],00000001h mov esi,[KERNEL32.dll!LeaveCriticalSection] push L00D1B870 call esi mov ecx,[L00D1B868] mov eax,[esp+14h] cmp eax,ecx jnz L004CE531 cmp dword ptr [esp+1Ch],00000001h jnz L004CE531 mov eax,[L00D1BAD8] test eax,eax jnz L004CE531 lea ecx,[esp+08h] mov dword ptr [L00D1BAD8],00000001h push ecx call [USER32.dll!GetCursorPos] mov eax,[L00D1B864] lea edx,[esp+08h] push edx push eax call [USER32.dll!ScreenToClient] lea ecx,[esp+1Ch] lea edx,[esp+14h] push ecx push edx call SUB_L00476BC0 add esp,00000008h call SUB_L00477D40 mov eax,[esp+08h] mov ecx,[esp+14h] cmp eax,ecx jnz L004CE50E mov ecx,[esp+0Ch] mov eax,[esp+1Ch] cmp ecx,eax jnz L004CE50E call SUB_L004766C0 test eax,eax jz L004CE527 L004CE50E: mov edx,[esp+0Ch] mov eax,[esp+08h] push edx push eax call SUB_L004776C0 push 00000001h call SUB_L00477EF0 add esp,0000000Ch L004CE527: mov dword ptr [L00D1BAD8],00000000h L004CE531: push L00D1B870 call ebx mov dword ptr [L00D1BAD4],00000000h push L00D1B870 call esi pop esi pop ebx add esp,00000008h retn 0014h ;------------------------------------------------------------------------------ L004CE551: push L00D1B870 call [KERNEL32.dll!LeaveCriticalSection] pop ebx add esp,00000008h retn 0014h ;------------------------------------------------------------------------------ Align 16 SUB_L004CE570: sub esp,000001F4h or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+00h] push esi push edi mov edi,[L00512A08] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi mov edi,edx mov edx,[esp+00000200h] shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h test edx,edx rep movsb jz L004CE605 mov edi,L00512A78 or ecx,FFFFFFFFh xor eax,eax push ebx repne scasb not ecx sub edi,ecx push ebp lea ebx,[esp+10h] mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh lea ebx,[esp+10h] repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp pop ebp 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 pop ebx and ecx,00000003h rep movsb L004CE605: mov ecx,[L00D1B864] lea eax,[esp+08h] push eax push ecx call [USER32.dll!SetWindowTextA] pop edi pop esi add esp,000001F4h retn ;------------------------------------------------------------------------------ jmp_ole32.dll!CoUninitialize: jmp [ole32.dll!CoUninitialize] Align 16 SUB_L004CE630: mov eax,[L00D1B864] push 00000000h push 00009C99h push 00000111h push eax call [USER32.dll!SendMessageA] retn ;------------------------------------------------------------------------------ Align 8 L004CE650: mov eax,[L00512A04] push eax call [KERNEL32.dll!CloseHandle] retn ;------------------------------------------------------------------------------ Align 4 L004CE660: push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00D1B868] test eax,eax jz L004CE67B push eax call [WINMM.dll!timeKillEvent] L004CE67B: push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ Align 16 L004CE690: push esi mov esi,[L00D1BADC] test esi,esi jz L004CE6AB mov ecx,esi call SUB_L004A2040 push esi call SUB_L004D4F9E add esp,00000004h L004CE6AB: mov dword ptr [L00D1BADC],00000000h pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CE6C0: sub esp,00000028h push ebx push ebp push esi push edi call SUB_L004C7C60 push L004C7E20 call SUB_L004D50AD push SSZ00512C18_reached_winmain__ call SUB_L004C7F20 mov eax,[L00512A08] add esp,00000008h xor ebx,ebx push ebx push eax call [USER32.dll!FindWindowA] test eax,eax jz L004CE70B push 00000040h push ebx push SSZ00508694_Another_copy_of_UO_is_already_ru push ebx call [USER32.dll!MessageBoxA] push ebx call SUB_L004D554B L004CE70B: call SUB_L00475F40 push L00475F70 call SUB_L004D50AD push 00000004h call SUB_L004D4FA9 add esp,00000008h cmp eax,ebx jz L004CE731 mov ecx,eax call SUB_L004A2030 jmp L004CE733 L004CE731: xor eax,eax L004CE733: push L004CE690 mov [L00D1BADC],eax call SUB_L004D50AD call SUB_L00401E90 push SUB_L00401E90 call SUB_L004D50AD call SUB_L00476090 push 00000002h call SUB_L004760E0 call SUB_L0043F870 push L0043FD50 call SUB_L004D50AD call SUB_L00476240 push L004765E0 call SUB_L004D50AD call SUB_L00446AA0 push L00446C50 call SUB_L004D50AD call SUB_L00408330 push SUB_L00401E90 call SUB_L004D50AD call SUB_L00401E70 push SUB_L00401E90 call SUB_L004D50AD call SUB_L004BD930 push L004BD960 call SUB_L004D50AD call SUB_L00474EA0 push SUB_L00401E90 call SUB_L004D50AD call SUB_L004B9520 push SUB_L00401E90 call SUB_L004D50AD call SUB_L004C8960 push L004C8A30 call SUB_L004D50AD call SUB_L00469250 push SUB_L00401E90 call SUB_L004D50AD call SUB_L00440D30 push L00440DA0 call SUB_L004D50AD call SUB_L004823A0 push L00482440 call SUB_L004D50AD call SUB_L00450960 push L00450AE0 call SUB_L004D50AD add esp,00000040h call SUB_L0048C010 push SUB_L00401E90 call SUB_L004D50AD add esp,00000004h push ebx call [ole32.dll!CoInitialize] push SSZ00512A7C_CWinApp__startup____begin__ call SUB_L004C7F20 mov ecx,00000100h xor eax,eax mov edi,L00D1B464 push jmp_ole32.dll!CoUninitialize rep stosd mov [L00D1B868],ebx mov [L00D1B460],ebx mov [L00D1B324],ebx mov dword ptr [L00D1B328],00000001h mov [L00D1B888],ebx call SUB_L004D50AD call SUB_L0045E1E0 push L0045E310 call SUB_L004D50AD call SUB_L0047B210 push L0047B460 call SUB_L004D50AD call SUB_L004CC420 push L004CC4C0 call SUB_L004D50AD call SUB_L004CCDC0 push L004CCEB0 call SUB_L004D50AD call SUB_L0049FFD0 push L004A0020 call SUB_L004D50AD call SUB_L00436B10 push SUB_L00401E90 call SUB_L004D50AD call SUB_L0047D890 push SUB_L00401E90 call SUB_L004D50AD call SUB_L004AD860 push SUB_L00401E90 call SUB_L004D50AD call SUB_L004CA6B0 push L004CA700 call SUB_L004D50AD call SUB_L00410330 push SUB_L00401E90 call SUB_L004D50AD call SUB_L0040B570 push L0040B650 call SUB_L004D50AD add esp,00000034h push SSZ00512C0C_UoClientApp push 00000020h push ebx push 00000002h push ebx push FFFFFFFFh call [KERNEL32.dll!CreateFileMappingA] mov esi,[USER32.dll!MessageBoxA] mov ebp,[KERNEL32.dll!CloseHandle] mov edi,[KERNEL32.dll!ExitProcess] cmp eax,ebx mov [L00512A04],eax jz L004CE97E call [KERNEL32.dll!GetLastError] cmp eax,000000B7h jnz L004CE97E mov ecx,[L00512A04] push ecx call ebp push ebx push SSZ00508540_ERROR push SSZ00512BE0_Another_instance_of_UO_is_alread push ebx call esi push 00000001h call edi L004CE97E: push SSZ00512BD4_UoPatchApp push ebx push 00000004h call [KERNEL32.dll!OpenFileMappingA] cmp eax,ebx mov [L00512A04],eax jz L004CE9AA push eax call ebp push ebx push SSZ00508540_ERROR push SSZ00512BA8_An_instance_of_UO_Patch_is_alrea push ebx call esi push 00000001h call edi L004CE9AA: mov ebx,[USER32.dll!GetDesktopWindow] call ebx push eax call [USER32.dll!GetWindowDC] mov ebp,eax push 0000000Ch push ebp call [GDI32.dll!GetDeviceCaps] push ebp mov [esp+14h],eax call ebx push eax call [USER32.dll!ReleaseDC] cmp dword ptr [esp+10h],00000010h jge L004CE9ED push 00000000h push SSZ00512B94_Error__Color_Mode push SSZ00512AC4_ERROR__Ultima_Online_requires_th push 00000000h call esi push 00000001h call edi L004CE9ED: xor ebp,ebp push 00007F8Ah push ebp call [USER32.dll!LoadCursorA] mov edi,[USER32.dll!SetCursor] push eax call edi push L004CE650 mov ebx,eax call SUB_L004D50AD push L004CE660 call SUB_L004D50AD push 00000150h call SUB_L004D4FA9 add esp,0000000Ch cmp eax,ebp jz L004CEA32 mov ecx,eax call SUB_L0041D610 L004CEA32: call [COMCTL32.dll!COMCTL32.17] cmp [esp+40h],ebp jz L004CEA4A pop edi pop esi pop ebp xor eax,eax pop ebx add esp,00000028h retn 0010h ;------------------------------------------------------------------------------ L004CEA4A: call SUB_L0047BC60 mov esi,[USER32.dll!GetSystemMetrics] push ebp call esi cmp eax,00000280h jnz L004CEA71 push 00000001h call esi cmp eax,000001E0h jnz L004CEA71 mov byte ptr [L005000FC],00h L004CEA71: lea edx,[esp+18h] lea eax,[esp+14h] push edx push eax push SSZ00501038__dx_d push SSZ0050D1B0_640x480 call SUB_L004D592C add esp,00000010h push ebp call esi cmp eax,00000320h jnz L004CEABD push 00000001h call esi cmp eax,00000258h jnz L004CEABD cmp dword ptr [esp+14h],00000320h jnz L004CEABD cmp dword ptr [esp+18h],00000258h jnz L004CEABD mov byte ptr [L005000FC],00h L004CEABD: call SUB_L0045E400 call SUB_L0045DD50 call SUB_L00476780 call SUB_L0047BBC0 call SUB_L004253C0 mov ecx,[esp+48h] mov edx,[esp+44h] mov esi,[esp+3Ch] push ecx push edx push ebp push esi call SUB_L004CEE70 mov eax,[L00512A00] add esp,00000010h cmp eax,ebp jz L004CEB04 push ebp mov [L00512A00],ebp call [USER32.dll!ShowCursor] L004CEB04: push 00000001h call SUB_L00477D30 mov eax,[L00D1B864] push eax call SUB_L004CCF20 push 00000194h call SUB_L004D4FA9 add esp,0000000Ch cmp eax,ebp jz L004CEB34 mov ecx,eax call SUB_L004BB300 mov [esp+40h],eax jmp L004CEB38 L004CEB34: mov [esp+40h],ebp L004CEB38: call SUB_L0046DCE0 mov al,[L00C8C497] test al,al jnz L004CEB4F mov al,[L0050CC20] test al,al jz L004CEB6C L004CEB4F: call SUB_L004D0B30 mov al,[L0050CC20] test al,al jz L004CEB6C push L004FF410 push 0000007Ch call SUB_L00436F10 add esp,00000008h L004CEB6C: mov ecx,[L00C882BC] cmp ecx,ebp jz L004CEB7C mov edx,[ecx] push 00000001h call [edx] L004CEB7C: push 00020018h call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004CEB96 mov ecx,eax call SUB_L004BC7A0 jmp L004CEB98 L004CEB96: xor eax,eax L004CEB98: push 0000008Eh push esi mov [L00C882BC],eax call [USER32.dll!LoadAcceleratorsA] push ebx mov [esp+4Ch],eax call edi call SUB_L00446D70 push 0000022Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004CEBCF mov ecx,eax call SUB_L0046BD30 jmp L004CEBD1 L004CEBCF: xor eax,eax L004CEBD1: mov ecx,eax mov [L00C87EA4],eax call SUB_L0046BD90 push 0003005Ch call SUB_L004D4FA9 add esp,00000004h cmp eax,ebp jz L004CEBF7 mov ecx,eax call SUB_L004BA6C0 jmp L004CEBF9 L004CEBF7: xor eax,eax L004CEBF9: mov esi,[USER32.dll!GetMenu] mov [L00C88300],eax mov eax,[L00D1B864] push eax call esi mov cl,[L0050CC2E] mov edi,[USER32.dll!CheckMenuItem] neg cl sbb ecx,ecx and ecx,00000008h push ecx push 00009CBCh push eax call edi mov edx,[L00D1B864] push edx call esi mov cl,[L00D1B220] neg cl sbb ecx,ecx and ecx,00000008h push ecx push 00009C89h push eax call edi mov edx,[L00D1B864] push edx call esi mov cl,[L00D1B2B6] neg cl sbb ecx,ecx and ecx,00000008h push ecx push 00009C8Ah push eax call edi mov dword ptr [esp+20h],00000400h call [KERNEL32.dll!GetTickCount] push 00000000h push 00000001h push 00000008h mov ebp,eax call SUB_L004CC770 push L004CEE60 call SUB_L004D50AD push SSZ00512A98_WinMain__just_before_main_progra call SUB_L004C7F50 mov edi,[USER32.dll!PeekMessageA] mov ebx,[USER32.dll!TranslateAcceleratorA] add esp,00000014h L004CECA4: push 00000001h push 00000000h push 00000000h lea edx,[esp+28h] push 00000000h push edx call edi test eax,eax jz L004CED08 L004CECB7: cmp dword ptr [esp+20h],00000012h jz L004CED88 mov ecx,[esp+48h] mov edx,[L00D1B864] lea eax,[esp+1Ch] push eax push ecx push edx call ebx lea eax,[esp+1Ch] push eax call [USER32.dll!TranslateMessage] lea ecx,[esp+1Ch] push ecx call [USER32.dll!DispatchMessageA] call SUB_L004CD5F0 call SUB_L004700B0 push 00000001h push 00000000h push 00000000h lea edx,[esp+28h] push 00000000h push edx call edi test eax,eax jnz L004CECB7 L004CED08: cmp dword ptr [esp+20h],00000012h jz L004CED88 mov ecx,[L00C88300] call SUB_L004BAF70 mov ecx,[L00C882BC] call SUB_L004BCA30 call SUB_L004CD5F0 call [KERNEL32.dll!GetTickCount] mov ecx,[L00C880D0] mov esi,eax sub eax,ebp cmp eax,ecx jc L004CED7E add ecx,ecx cmp eax,ecx jc L004CED6D mov al,[L00C8C496] test al,al jz L004CED57 push 00000001h call SUB_L0047BF00 add esp,00000004h L004CED57: push 00000000h call SUB_L0047BF00 add esp,00000004h mov ebp,esi call SUB_L00401E90 jmp L004CECA4 L004CED6D: push 00000000h call SUB_L0047BF00 mov eax,[L00C880D0] add esp,00000004h add ebp,eax L004CED7E: call SUB_L00401E90 jmp L004CECA4 L004CED88: call SUB_L0046DE20 push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00D1B868] test eax,eax jz L004CEDA8 push eax call [WINMM.dll!timeKillEvent] L004CEDA8: push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] mov edi,[USER32.dll!SendMessageA] mov esi,L00D1B464 L004CEDBE: mov eax,[esi] test eax,eax jz L004CEDCD push 00000000h push 00000000h push 00000010h push eax call edi L004CEDCD: add esi,00000004h cmp esi,L00D1B864 jl L004CEDBE mov eax,[L00D1B320] test eax,eax jz L004CEDE8 push eax call [USER32.dll!DestroyMenu] L004CEDE8: mov ecx,[L00C884DC] test ecx,ecx jz L004CEDF8 mov edx,[ecx] push 00000001h call [edx] L004CEDF8: mov ecx,[L00C87EA4] test ecx,ecx jz L004CEE08 mov eax,[ecx] push 00000001h call [eax] L004CEE08: mov ecx,[L00C88300] mov dword ptr [L00C87EA4],00000000h test ecx,ecx jz L004CEE22 mov edx,[ecx] push 00000001h call [edx] L004CEE22: mov ecx,[esp+40h] mov dword ptr [L00C88300],00000000h test ecx,ecx jz L004CEE3A mov eax,[ecx] push 00000001h call [eax] L004CEE3A: mov eax,[L00CD9CE4] test eax,eax jz L004CEE4C push eax call SUB_L004D6027 add esp,00000004h L004CEE4C: mov eax,[esp+24h] pop edi pop esi pop ebp pop ebx add esp,00000028h retn 0010h ;------------------------------------------------------------------------------ Align 8 L004CEE60: mov byte ptr [L00C88306],01h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CEE70: mov eax,[esp+04h] sub esp,000002B4h mov [L00D1B42C],eax push ebx push ebp push esi push edi mov edi,[USER32.dll!GetSystemMetrics] push 00000000h call edi cmp eax,00000280h jge L004CEE9C push 00000000h call edi mov esi,eax jmp L004CEEA1 L004CEE9C: mov esi,00000280h L004CEEA1: push 00000001h call edi cmp eax,000001E0h jge L004CEEB4 push 00000001h call edi mov ebp,eax jmp L004CEEB9 L004CEEB4: mov ebp,000001E0h L004CEEB9: mov ebx,00000020h push ebx call edi push 00000021h lea esi,[esi+eax*2] call edi mov edx,eax push 00000004h mov [esp+14h],edx call edi mov ecx,[esp+10h] mov edx,[L00D1B42C] add ebp,eax push 0000006Ah push edx lea ebp,[ebp+ecx*2+00h] call [USER32.dll!LoadMenuA] mov [L00D1B320],eax mov eax,[esp+000002CCh] test eax,eax jnz L004CF14B lea eax,[esp+3Ch] mov dword ptr [L00D1B864],00000000h push eax mov dword ptr [esp+40h],00000094h call [KERNEL32.dll!GetVersionExA] mov edi,[esp+4Ch] mov cl,[L00C8C4A2] xor eax,eax cmp edi,00000002h setnz al inc eax test cl,cl mov [L005129FC],eax jz L004CEFD5 cmp eax,00000001h jnz L004CEFD5 mov ecx,0000000Ah xor eax,eax lea edi,[esp+14h] push 000000CFh rep stosd mov eax,[L00D1B42C] mov [esp+18h],ebx mov ebx,[USER32.dll!LoadIconA] push eax mov dword ptr [esp+20h],L004CF590 mov [esp+2Ch],eax call ebx lea ecx,[esp+14h] mov [esp+28h],eax push ecx mov dword ptr [esp+30h],00000000h mov dword ptr [esp+34h],0000000Dh mov dword ptr [esp+3Ch],L00512A0C call [USER32.dll!RegisterClassW] mov edx,[L00D1B42C] mov eax,[L00D1B320] push 00000000h push edx push eax push 00000000h push ebp push esi push 80000000h push 80000000h push L00CF0000 push L00512A0C push L00512A0C push 00000000h call [USER32.dll!CreateWindowExW] jmp L004CF06C L004CEFD5: mov ecx,0000000Ah xor eax,eax mov edi,L00D1B430 push 000000CFh rep stosd mov eax,[L00D1B42C] mov [L00D1B430],ebx mov ebx,[USER32.dll!LoadIconA] push eax mov dword ptr [L00D1B434],L004CF590 mov [L00D1B440],eax call ebx mov ecx,[L00512A08] push L00D1B430 mov [L00D1B444],eax mov dword ptr [L00D1B448],00000000h mov dword ptr [L00D1B44C],0000000Dh mov [L00D1B454],ecx call [USER32.dll!RegisterClassA] mov edx,[L00D1B42C] mov eax,[L00D1B320] push 00000000h push edx push eax mov eax,[L00512A08] push 00000000h push ebp push esi push 80000000h push 80000000h push L00CF0000 push eax push eax push 00000000h call [USER32.dll!CreateWindowExA] L004CF06C: mov edx,eax test edx,edx mov [L00D1B864],edx jnz L004CF151 mov al,[L00C8C4A2] test al,al jz L004CF0AC push edx push SSZ00512C8C_Unicode_Speech_Error push SSZ00512C2C_CreateWindow____returned_a_NULL_ push edx call [USER32.dll!MessageBoxA] mov edx,[L00D1B864] mov byte ptr [L00C8C4A2],00h test edx,edx jnz L004CF151 L004CF0AC: mov ecx,0000000Ah xor eax,eax mov edi,L00D1B430 push 000000CFh rep stosd mov eax,[L00D1B42C] mov dword ptr [L00D1B430],00000020h push eax mov dword ptr [L00D1B434],L004CF590 mov [L00D1B440],eax call ebx mov ecx,[L00512A08] push L00D1B430 mov [L00D1B444],eax mov dword ptr [L00D1B448],00000000h mov dword ptr [L00D1B44C],0000000Dh mov [L00D1B454],ecx call [USER32.dll!RegisterClassA] mov edx,[L00D1B42C] mov eax,[L00D1B320] push 00000000h push edx push eax mov eax,[L00512A08] push 00000000h push ebp push esi push 80000000h push 80000000h push L00CF0000 push eax push eax push 00000000h call [USER32.dll!CreateWindowExA] mov edx,eax mov [L00D1B864],edx jmp L004CF151 L004CF14B: mov edx,[L00D1B864] L004CF151: mov al,[L00C85FF0] test al,al jz L004CF284 mov al,[L00C86010] test al,al jz L004CF284 or ecx,FFFFFFFFh mov edi,L00C85FF0 xor eax,eax lea ebx,[esp+3Ch] repne scasb not ecx sub edi,ecx mov eax,ecx mov esi,edi shr ecx,02h mov edi,ebx lea ebx,[esp+3Ch] rep movsd mov ecx,eax xor eax,eax and ecx,00000003h rep movsb or ecx,FFFFFFFFh mov edi,L004FE9F8 repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx or ecx,FFFFFFFFh mov edi,ebx repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea ebx,[esp+3Ch] and ecx,00000003h rep movsb mov edi,L00C86010 or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea ebx,[esp+000000D0h] and ecx,00000003h rep movsb mov edi,[L00512A08] or ecx,FFFFFFFFh 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 lea ecx,[esp+3Ch] test ecx,ecx jz L004CF27A mov edi,L00512A78 or ecx,FFFFFFFFh xor eax,eax lea ebx,[esp+000000D0h] repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp lea ebx,[esp+000000D0h] and ecx,00000003h rep movsb lea edi,[esp+3Ch] or ecx,FFFFFFFFh repne scasb not ecx sub edi,ecx mov esi,edi mov ebp,ecx mov edi,ebx or ecx,FFFFFFFFh repne scasb mov ecx,ebp dec edi shr ecx,02h rep movsd mov ecx,ebp and ecx,00000003h rep movsb L004CF27A: lea eax,[esp+000000D0h] push eax jmp L004CF2B6 L004CF284: mov edi,[L00512A08] or ecx,FFFFFFFFh xor eax,eax lea ebx,[esp+000000D0h] 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 lea ecx,[esp+000000D0h] push ecx L004CF2B6: push edx call [USER32.dll!SetWindowTextA] mov edx,[esp+000002D4h] mov eax,[L00D1B864] push edx push eax call [USER32.dll!ShowWindow] mov ecx,[L00D1B864] push ecx call [USER32.dll!UpdateWindow] mov al,[L00C8C49E] pop edi pop esi pop ebp test al,al pop ebx jz L004CF304 mov edx,[L00D1B864] push 00000000h push 00009C99h push 00000111h push edx call [USER32.dll!SendMessageA] L004CF304: add esp,000002B4h retn ;------------------------------------------------------------------------------ Align 8 SUB_L004CF310: mov eax,[L00D1B864] push ebx push eax call [USER32.dll!OpenClipboard] test eax,eax jz L004CF3CE push 00000001h call [USER32.dll!GetClipboardData] mov ebx,eax test ebx,ebx jnz L004CF33B call [USER32.dll!CloseClipboard] pop ebx retn ;------------------------------------------------------------------------------ L004CF33B: push ebp push esi push edi mov edi,ebx or ecx,FFFFFFFFh xor eax,eax xor ebp,ebp repne scasb not ecx dec ecx mov edi,ecx mov ecx,[L00B294BC] test ecx,ecx jnz L004CF367 cmp edi,000000F0h jle L004CF39E mov edi,000000F0h jmp L004CF39E L004CF367: mov edx,[ecx] call [edx+0000010Ch] test eax,eax jnz L004CF394 mov ecx,[L00B294BC] mov eax,[ecx] call [eax+00000110h] test eax,eax jnz L004CF394 cmp edi,000003E8h jle L004CF3A3 mov edi,000003E8h jmp L004CF3A3 L004CF394: cmp edi,00000050h jle L004CF39E mov edi,00000050h L004CF39E: mov ebp,00000001h L004CF3A3: xor esi,esi test edi,edi jle L004CF3C5 L004CF3A9: test ebp,ebp jz L004CF3B3 cmp byte ptr [esi+ebx],0Dh jz L004CF3C5 L004CF3B3: movsx ecx,[esi+ebx] push ecx call SUB_L0047C310 add esp,00000004h inc esi cmp esi,edi jl L004CF3A9 L004CF3C5: call [USER32.dll!CloseClipboard] pop edi pop esi pop ebp L004CF3CE: pop ebx retn ;------------------------------------------------------------------------------ SUB_L004CF3D0: sub esp,00000010h push esi push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00D1B864] mov esi,[USER32.dll!GetWindowLongA] push FFFFFFF0h push eax call esi mov ecx,[L00D1B864] and eax,FF39FFFFh or eax,80000000h push eax push FFFFFFF0h push ecx call [USER32.dll!SetWindowLongA] mov edx,[L005073D0] mov eax,[L005073D4] mov [L00512A60],edx mov [L00512A64],eax call SUB_L004CBBA0 mov ecx,[L005073D4] mov edx,[L005073D0] xor eax,eax push FFFFFFECh mov [esp+0Ch],eax mov [esp+08h],eax mov eax,[L00D1B864] mov [esp+14h],ecx push eax mov [esp+14h],edx call esi mov ecx,[L00D1B864] push eax push ecx call [USER32.dll!GetMenu] mov edx,[L00D1B864] neg eax sbb eax,eax neg eax push eax push FFFFFFF0h push edx call esi push eax lea eax,[esp+10h] push eax call [USER32.dll!AdjustWindowRectEx] push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] mov byte ptr [L00C8C49E],01h call SUB_L0048A8C0 pop esi add esp,00000010h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004CF4A0: sub esp,00000010h push ebx push ebp push esi push edi push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00D1B864] mov esi,[USER32.dll!GetWindowLongA] push FFFFFFF0h push eax call esi mov ecx,[L00D1B864] and eax,7F39FFFFh or eax,L00C60000 push eax push FFFFFFF0h push ecx call [USER32.dll!SetWindowLongA] mov edi,[USER32.dll!GetSystemMetrics] push 00000020h call edi mov edx,[L00512A60] push 00000021h lea ebp,[edx+eax*2] call edi push 00000004h mov ebx,eax call edi mov ecx,[L00512A64] mov edx,[L00D1B864] add ecx,eax mov [esp+18h],ebp lea edi,[ecx+ebx*2] xor ebx,ebx push ebx push edx mov [esp+1Ch],ebx mov [esp+18h],ebx mov [esp+24h],edi call [USER32.dll!SetMenu] mov eax,[L00D1B864] push FFFFFFECh push eax call esi mov ecx,[L00D1B864] push eax push ebx push FFFFFFF0h push ecx call esi lea edx,[esp+18h] push eax push edx call [USER32.dll!AdjustWindowRectEx] call SUB_L004CBDB0 mov eax,[L00D1B864] push 00000112h push edi push ebp push ebx push ebx push FFFFFFFEh push eax call [USER32.dll!SetWindowPos] mov ecx,[L00D1B864] push ebx push ebx push ecx call [USER32.dll!InvalidateRect] push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] mov [L00C8C49E],bl call SUB_L0048A8C0 pop edi pop esi pop ebp pop ebx add esp,00000010h retn ;------------------------------------------------------------------------------ L004CF590: mov eax,[L00D1BAC8] sub esp,0000006Ch push ebx push ebp xor ebp,ebp push esi cmp eax,ebp push edi jnz L004CF62B lea eax,[esp+10h] push eax call [USER32.dll!GetCursorPos] mov edx,[L00D1B864] lea ecx,[esp+10h] push ecx push edx call [USER32.dll!ScreenToClient] cmp [L00D1B0F4],ebp jnz L004CF5EB mov ecx,[esp+10h] cmp ecx,ebp jl L004CF5F9 mov eax,[esp+14h] cmp eax,ebp jl L004CF5F9 cmp ecx,[L005073D0] jge L004CF5F9 cmp eax,[L005073D4] jge L004CF5F9 L004CF5EB: call [USER32.dll!GetFocus] cmp [L00D1B864],eax jz L004CF616 L004CF5F9: mov eax,[L00512A00] mov edi,00000001h cmp eax,edi jz L004CF630 push edi mov [L00512A00],edi call [USER32.dll!ShowCursor] jmp L004CF630 L004CF616: cmp [L00512A00],ebp jz L004CF62B push ebp mov [L00512A00],ebp call [USER32.dll!ShowCursor] L004CF62B: mov edi,00000001h L004CF630: mov eax,[esp+00000084h] mov esi,[esp+0000008Ch] mov ebx,[esp+00000080h] cmp eax,00000104h ja L004CFE5F cmp eax,00000104h jz CASE_004D0358_PROC0001 cmp eax,0000000Fh ja L004CFA85 jz L004CFA5A dec eax cmp eax,00000005h ja CASE_004D042C_PROC0004 jmp [CASE_PROCTABLE_004D0340+eax*4] CASE_004D0340_PROC0005: test byte ptr [esp+00000088h],03h jz L004D02D5 mov eax,[L00B186EC] mov [L00D1B328],edi cmp eax,ebp jz L004CF6C1 push ebx call [USER32.dll!GetDC] mov edi,eax mov eax,[L00B186E0] push 00000000h push eax push edi call [GDI32.dll!SelectPalette] push edi call [GDI32.dll!RealizePalette] push edi push ebx call [USER32.dll!ReleaseDC] xor ebp,ebp L004CF6C1: mov eax,[L00C88318] cmp eax,ebp jz CASE_004D042C_PROC0004 push 00000011h call SUB_L004766D0 add esp,00000004h jmp CASE_004D042C_PROC0004 CASE_004D0340_PROC0000: mov esi,[USER32.dll!LoadCursorA] mov ecx,00000040h xor eax,eax mov edi,L00D1B32C push 00007F00h push eax rep stosd call esi mov ecx,[L00D1B42C] push 00000067h push ecx mov [L00D1B32C],eax call esi mov edx,[L00D1B42C] push 0000006Bh push edx mov [L00D1B330],eax call esi mov [L00D1B334],eax mov eax,[L00D1B42C] push 00000069h push eax call esi mov ecx,[L00D1B42C] push 0000006Eh push ecx mov [L00D1B338],eax call esi mov edx,[L00D1B42C] push 00000068h push edx mov [L00D1B33C],eax call esi mov [L00D1B340],eax mov eax,[L00D1B42C] push 0000006Dh push eax call esi mov ecx,[L00D1B42C] push 0000006Ah push ecx mov [L00D1B344],eax call esi mov edx,[L00D1B42C] push 0000006Ch push edx mov [L00D1B348],eax call esi mov [L00D1B34C],eax mov eax,[L00D1B42C] push 00000071h push eax call esi mov ecx,[L00D1B42C] push 00000076h push ecx mov [L00D1B350],eax call esi mov edx,[L00D1B42C] push 00000077h push edx mov [L00D1B354],eax call esi mov [L00D1B358],eax mov eax,[L00D1B42C] push 00000078h push eax call esi push 00007F00h push 00000000h mov [L00D1B35C],eax call esi push 00007F00h push 00000000h mov [L00D1B360],eax call esi mov ecx,[L00D1B42C] push 00000079h push ecx mov [L00D1B364],eax call esi push 00007F00h push 00000000h mov [L00D1B368],eax call esi mov edx,[L00D1B42C] push 00000082h push edx mov [L00D1B36C],eax call esi mov [L00D1B370],eax mov eax,[L00D1B42C] push 00000083h push eax call esi push 00007F00h push 00000000h mov [L00D1B374],eax call esi mov ecx,[L00D1B42C] push 0000007Fh push ecx mov [L00D1B3A4],eax call esi mov edx,[L00D1B42C] push 00000081h push edx mov [L00D1B3A8],eax call esi mov [L00D1B3AC],eax mov eax,[L00D1B42C] push 0000007Eh push eax call esi mov ecx,[L00D1B42C] push 0000007Ch push ecx mov [L00D1B3B0],eax call esi mov edx,[L00D1B42C] push 0000007Ah push edx mov [L00D1B3B4],eax call esi mov [L00D1B3B8],eax mov eax,[L00D1B42C] push 0000007Bh push eax call esi mov ecx,[L00D1B42C] push 0000007Dh push ecx mov [L00D1B3BC],eax call esi mov edx,[L00D1B42C] push 00000080h push edx mov [L00D1B3C0],eax call esi mov [L00D1B3C4],eax mov eax,[L00D1B42C] push 000000A7h push eax call esi mov [L00D1B3C8],eax mov al,[L0050CCB2] test al,al mov dword ptr [L00D1B988],00000000h jz L004CF8E8 push 00000001h push 00000001h push L004CE450 push 00000001h push 00000019h call [WINMM.dll!timeSetEvent] mov [L00D1B868],eax L004CF8E8: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0340_PROC0001: cmp [L00D1B888],ebp jnz L004CF90E call SUB_L0045A2C0 push ebp mov [L00C88338],edi call [USER32.dll!PostQuitMessage] L004CF90E: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0340_PROC0004: mov eax,[L00D1B864] mov edi,[esp+00000080h] cmp eax,ebp jnz L004CF964 mov eax,[L00B186EC] xor ebx,ebx cmp eax,ebx mov [L00D1B864],edi jz L004CF966 push edi call [USER32.dll!GetDC] mov ecx,[L00B186E0] mov esi,eax push ebx push ecx push esi call [GDI32.dll!SelectPalette] push esi call [GDI32.dll!RealizePalette] push esi push edi call [USER32.dll!ReleaseDC] jmp L004CF966 L004CF964: xor ebx,ebx L004CF966: mov ecx,[esp+0000008Ch] cmp cx,bx jz L004CFA4E mov eax,ecx shr eax,10h cmp ax,bx jz L004CFA4E mov dl,[L005000FC] test dl,dl jz L004CFA29 lea edx,[esp+10h] and ecx,0000FFFFh and eax,0000FFFFh push edx push edi mov [L005073D0],ecx mov [L005073D4],eax call [USER32.dll!GetWindowRect] call SUB_L00447080 cmp [L005073D0],eax jge L004CF9CB call SUB_L00447080 mov [L005073D0],eax L004CF9CB: call SUB_L00447090 mov ecx,[L005073D4] cmp ecx,eax jge L004CF9E1 call SUB_L00447090 mov ecx,eax L004CF9E1: cmp [L00C88348],ebx jge L004CF9EF mov [L00C88348],ebx L004CF9EF: cmp [L00C8834C],ebx jge L004CF9FD mov [L00C8834C],ebx L004CF9FD: mov eax,[L005073D0] add ecx,00000003h add eax,00000003h and ecx,FFFFFFFCh and al,FCh mov [L005073D4],ecx mov [L005073D0],eax call SUB_L00455F00 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFA29: mov [L00C8834C],ebx mov [L00C88348],ebx call SUB_L00447080 mov [L005073D0],eax call SUB_L00447090 mov [L005073D4],eax call SUB_L00455F00 L004CFA4E: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFA5A: mov esi,[esp+00000080h] lea ecx,[esp+3Ch] push ecx push esi call [USER32.dll!BeginPaint] lea edx,[esp+3Ch] push edx push esi call [USER32.dll!EndPaint] pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFA85: add eax,FFFFFFBAh cmp eax,000000BCh ja CASE_004D042C_PROC0004 xor ecx,ecx mov cl,[eax+CASE_004D036C] jmp [CASE_PROCTABLE_004D0358+ecx*4] CASE_004D0358_PROC0000: cmp [L00D1BAC8],ebp jz L004CFAB2 mov eax,[esi+18h] or al,03h mov [esi+18h],eax L004CFAB2: test byte ptr [esi+18h],01h jnz CASE_004D042C_PROC0004 mov al,[L005000FC] push 00000020h test al,al jz L004CFB54 mov ebx,[USER32.dll!GetSystemMetrics] call ebx mov edi,eax shl edi,1 call SUB_L00447080 mov edx,[esi+10h] sub edx,edi cmp edx,eax jge L004CFAEF call SUB_L00447080 add eax,edi mov [esi+10h],eax L004CFAEF: push 00000021h call ebx push 00000004h mov ebp,eax call ebx lea ebp,[eax+ebp*2] call SUB_L00447090 mov ecx,[esi+14h] sub ecx,ebp cmp ecx,eax jge L004CFB14 call SUB_L00447090 add eax,ebp mov [esi+14h],eax L004CFB14: mov edx,[esi+10h] mov eax,[esi+14h] sub edx,edi sub eax,ebp add edx,00000003h add eax,00000003h and edx,FFFFFFFCh and al,FCh add edx,edi add eax,ebp push 00000000h mov [esi+10h],edx mov [esi+14h],eax call ebx cmp [esi+10h],eax jle L004CFB3F mov [esi+10h],eax L004CFB3F: push 00000001h call ebx cmp [esi+14h],eax jle CASE_004D042C_PROC0004 mov [esi+14h],eax jmp CASE_004D042C_PROC0004 L004CFB54: mov edi,[USER32.dll!GetSystemMetrics] call edi mov ebx,eax call SUB_L00447080 lea ecx,[eax+ebx*2] push 00000021h mov [esi+10h],ecx call edi push 00000004h mov ebx,eax call edi lea edi,[eax+ebx*2] call SUB_L00447090 add edi,eax mov [esi+14h],edi jmp CASE_004D042C_PROC0004 CASE_004D0358_PROC0002: cmp dword ptr [esp+00000088h],00000009h jnz L004D0277 mov al,[L0050CC28] test al,al jz L004D0277 mov eax,[L00507944] cmp eax,FFFFFFFFh jnz L004CFBC4 mov edx,[L00C884DC] cmp [edx+00000154h],ebp jnz L004CFBCC pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFBC4: cmp eax,edi jnz L004D0277 L004CFBCC: push ebp call SUB_L0047C780 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0358_PROC0003: cmp [L005129FC],edi jz L004CFCA5 mov al,[L00C8C4A2] test al,al jz L004CFCA5 mov eax,[esp+00000088h] mov byte ptr [esp+0000008Dh],00h push eax mov byte ptr [esp+00000092h],00h mov [esp+14h],bp mov [esp+16h],bp mov [esp+18h],bp mov [esp+00000090h],al call [KERNEL32.dll!IsDBCSLeadByte] test eax,eax jz L004CFC5F mov eax,[esp+00000080h] push edi push 00000102h push 00000102h lea ecx,[esp+2Ch] push eax push ecx call [USER32.dll!PeekMessageA] test eax,eax jz L004CFC5F mov dl,[esp+28h] mov [esp+0000008Dh],dl L004CFC5F: lea eax,[esp+10h] push 00000002h push eax lea ecx,[esp+00000094h] push FFFFFFFFh push ecx push ebp call [KERNEL32.dll!GetACP] push eax call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jz L004D0277 mov edx,[esp+10h] and edx,0000FFFFh push edx call SUB_L0047C310 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFCA5: mov eax,[esp+00000088h] and eax,0000FFFFh push eax call SUB_L0047C310 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0358_PROC0001: mov ebp,[esp+00000088h] cmp ebp,00000009h jnz L004CFD10 mov al,[L0050CC28] test al,al jz L004CFCFE mov eax,[L00507944] cmp eax,FFFFFFFFh jnz L004CFCF7 mov ecx,[L00C884DC] mov eax,[ecx+00000154h] test eax,eax jz L004CFCFB jmp L004CFD10 L004CFCF7: test eax,eax jnz L004CFD10 L004CFCFB: push edi jmp L004CFD08 L004CFCFE: test esi,40000000h jnz L004CFD10 push FFFFFFFFh L004CFD08: call SUB_L0047C780 add esp,00000004h L004CFD10: mov eax,[L00B294BC] test eax,eax jz L004CFD7E mov ecx,[eax+4Ch] test ecx,ecx jz L004CFD7E mov edx,[ecx] call [edx+00000100h] test eax,eax mov eax,[L00B294BC] jz L004CFD3C mov ecx,[eax+4Ch] cmp eax,[ecx+000000FCh] jz L004CFD5D L004CFD3C: mov eax,[eax+4Ch] mov ecx,eax mov edx,[eax] call [edx+00000104h] test eax,eax jz L004CFD7E mov eax,[L00B294BC] mov ecx,[eax+4Ch] cmp eax,[ecx+0000026Ch] jnz L004CFD7E L004CFD5D: mov [L00D1B304],ebp mov [L00D1B300],esi mov ecx,[eax+4Ch] push eax mov edx,[ecx] call [edx+4Ch] pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFD7E: mov edi,[USER32.dll!GetKeyState] push 00000011h call edi xor ecx,ecx push 00000010h test ax,ax setl cl mov [L00D1B318],ecx call edi xor edx,edx push 00000012h test ax,ax setl dl mov [L00D1B314],edx call edi xor edx,edx test ax,ax mov eax,[L00C837F8] setl dl xor ecx,ecx mov [L00D1B310],edx test eax,eax mov [L00D1B30C],eax jz L004CFDFD mov edi,[L00D1B318] mov ebx,[L00D1B314] L004CFDD6: cmp [eax],ebp jnz L004CFDED cmp [eax+08h],edi jnz L004CFDED cmp [eax+0Ch],edx jnz L004CFDED cmp [eax+10h],ebx jz L004D026E L004CFDED: mov eax,[eax+000000E0h] inc ecx test eax,eax mov [L00D1B30C],eax jnz L004CFDD6 L004CFDFD: mov ecx,[L00B294BC] test ecx,ecx jz L004CFE3E cmp ebp,00000021h jc L004CFE11 cmp ebp,00000028h jbe L004CFE26 L004CFE11: cmp ebp,0000002Dh jz L004CFE26 cmp ebp,0000002Eh jnz CASE_004D042C_PROC0004 mov ebp,[esp+00000088h] L004CFE26: mov eax,[ecx] add ebp,0000E000h push ebp call [eax+44h] pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFE3E: mov ecx,[L00C87EA4] push esi push ebp call SUB_L0046BDA0 test eax,eax jz CASE_004D042C_PROC0004 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004CFE5F: cmp eax,00000205h ja L004D022F jz L004D0201 add eax,FFFFFEEFh cmp eax,000000F3h ja CASE_004D042C_PROC0004 xor ecx,ecx mov cl,[eax+CASE_004D0440] jmp [CASE_PROCTABLE_004D042C+ecx*4] CASE_004D042C_PROC0000: mov edx,[esp+00000088h] and edx,0000FFFFh lea eax,[edx-00009C41h] cmp eax,0000008Eh ja CASE_004D042C_PROC0004 xor ecx,ecx mov cl,[eax+CASE_004D0564] jmp [CASE_PROCTABLE_004D0534+ecx*4] CASE_004D0534_PROC0000: mov edx,[esp+00000080h] push ebp push ebp push 00000010h push edx call [USER32.dll!SendMessageA] pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0003: mov eax,[L00D1B864] push eax call [USER32.dll!GetMenu] mov cl,[L00D1B220] neg cl sbb ecx,ecx and ecx,FFFFFFF8h add ecx,00000008h push ecx push 00009C89h push eax call [USER32.dll!CheckMenuItem] mov dl,[L00D1B220] test dl,dl setz dl push edx call SUB_L004CCC60 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0004: mov eax,[L00D1B864] push eax call [USER32.dll!GetMenu] mov cl,[L00D1B2B6] neg cl sbb ecx,ecx and ecx,FFFFFFF8h add ecx,00000008h push ecx push 00009C8Ah push eax call [USER32.dll!CheckMenuItem] mov dl,[L00D1B2B6] test dl,dl setz dl push edx call SUB_L004CD1C0 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0001: cmp [L00C83640],ebp jz L004D003F push ebp push ebp push 00001388h push ebp call SUB_L00458810 add esp,00000010h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0008: mov eax,[L00D1B864] push eax call [USER32.dll!GetMenu] mov cl,[L0050CC2E] neg cl sbb ecx,ecx and ecx,FFFFFFF8h add ecx,00000008h push ecx push 00009CBCh push eax call [USER32.dll!CheckMenuItem] mov al,[L0050CC2E] pop edi test al,al setz dl pop esi pop ebp mov [L0050CC2E],dl xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0009: call SUB_L0046BC00 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0005: cmp [L00C83640],ebp jz L004D0277 push FFFFFFFFh call SUB_L0047C780 add esp,00000004h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC000A: mov al,[L0050CC26] pop edi test al,al setz al pop esi mov [L0050CC26],al pop ebp xor eax,eax L004D0020: pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0007: cmp [L00C83640],ebp jz L004D003F push ebp push ebp push 00001392h push ebp call SUB_L00458810 add esp,00000010h L004D003F: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0006: cmp [L00C83640],ebp jz L004D0058 call SUB_L0047C0D0 L004D0058: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D0534_PROC0002: mov eax,[L00D1B0F4] mov [L00D1B888],edi cmp eax,ebp jnz L004D0142 push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] mov ecx,[L00D1B864] mov esi,[USER32.dll!GetWindowLongA] push FFFFFFF0h push ecx call esi mov edx,[L00D1B864] and eax,FF39FFFFh or eax,80000000h push eax push FFFFFFF0h push edx call [USER32.dll!SetWindowLongA] mov eax,[L005073D0] mov ecx,[L005073D4] mov [L00512A60],eax mov [L00512A64],ecx call SUB_L004CBBA0 mov ecx,[L00D1B864] mov edx,[L005073D4] mov eax,[L005073D0] push FFFFFFECh push ecx mov [esp+1Ch],ebp mov [esp+18h],ebp mov [esp+24h],edx mov [esp+20h],eax call esi mov edx,[L00D1B864] push eax push edx call [USER32.dll!GetMenu] neg eax sbb eax,eax neg eax push eax mov eax,[L00D1B864] push FFFFFFF0h push eax call esi lea ecx,[esp+18h] push eax push ecx call [USER32.dll!AdjustWindowRectEx] push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] mov byte ptr [L00C8C49E],01h call SUB_L0048A8C0 pop edi mov [L00D1B888],ebp pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D0142: call SUB_L004CF4A0 pop edi mov [L00D1B888],ebp pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D042C_PROC0001: mov esi,[esp+00000080h] push esi call [USER32.dll!SetCapture] push esi call [USER32.dll!SetFocus] mov eax,[esp+0000008Ch] mov edx,eax shr edx,10h movsx ecx,dx movsx edx,ax push ecx push edx call SUB_L00476EF0 add esp,00000008h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D042C_PROC0002: call [USER32.dll!ReleaseCapture] mov eax,[esp+0000008Ch] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax call SUB_L00477080 add esp,00000008h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ CASE_004D042C_PROC0003: mov esi,[esp+00000080h] push esi call [USER32.dll!SetCapture] push esi call [USER32.dll!SetFocus] mov eax,[esp+0000008Ch] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax call SUB_L00477300 add esp,00000008h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D0201: call [USER32.dll!ReleaseCapture] mov eax,[esp+0000008Ch] mov ecx,eax shr ecx,10h movsx edx,cx movsx eax,ax push edx push eax call SUB_L00477490 add esp,00000008h xor eax,eax pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D022F: cmp eax,00000222h jz L004D0283 cmp eax,00000312h jz L004D0259 cmp eax,000003B9h jnz CASE_004D042C_PROC0004 call SUB_L004CCCA0 pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D0259: call [USER32.dll!GetActiveWindow] cmp eax,[L00D1B864] jnz L004D0277 mov ecx,[esp+00000088h] L004D026E: push ecx call SUB_L00471500 add esp,00000004h L004D0277: pop edi pop esi pop ebp xor eax,eax pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D0283: cmp esi,ebx jnz L004D02D5 mov eax,[L00B186EC] mov [L00D1B328],edi cmp eax,ebp jz L004D02C0 push ebx call [USER32.dll!GetDC] mov edx,[L00B186E0] mov edi,eax push 00000000h push edx push edi call [GDI32.dll!SelectPalette] push edi call [GDI32.dll!RealizePalette] push edi push ebx call [USER32.dll!ReleaseDC] xor ebp,ebp L004D02C0: mov eax,[L00C88318] cmp eax,ebp jz CASE_004D042C_PROC0004 push 00000011h call SUB_L004766D0 add esp,00000004h jmp CASE_004D042C_PROC0004 L004D02D5: mov [L00D1B328],ebp CASE_004D042C_PROC0004: mov al,[L00C8C4A2] test al,al jz L004D0316 cmp dword ptr [L005129FC],00000001h jnz L004D0316 mov eax,[esp+00000088h] mov ecx,[esp+00000084h] mov edx,[esp+00000080h] push esi push eax push ecx push edx call [USER32.dll!DefWindowProcW] pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ L004D0316: mov eax,[esp+00000088h] mov ecx,[esp+00000084h] mov edx,[esp+00000080h] push esi push eax push ecx push edx call [USER32.dll!DefWindowProcA] pop edi pop esi pop ebp pop ebx add esp,0000006Ch retn 0010h ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004D0340: dd CASE_004D0340_PROC0000 dd CASE_004D0340_PROC0001 dd CASE_004D042C_PROC0004 dd CASE_004D042C_PROC0004 dd CASE_004D0340_PROC0004 dd CASE_004D0340_PROC0005 CASE_PROCTABLE_004D0358: dd CASE_004D0358_PROC0000 dd CASE_004D0358_PROC0001 dd CASE_004D0358_PROC0002 dd CASE_004D0358_PROC0003 dd CASE_004D042C_PROC0004 CASE_004D036C: 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, 01h, 02h, 03h Align 4 CASE_PROCTABLE_004D042C: dd CASE_004D042C_PROC0000 dd CASE_004D042C_PROC0001 dd CASE_004D042C_PROC0002 dd CASE_004D042C_PROC0003 dd CASE_004D042C_PROC0004 CASE_004D0440: 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, 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 01h, 02h, 04h, 03h CASE_PROCTABLE_004D0534: dd CASE_004D0534_PROC0000 dd CASE_004D0534_PROC0001 dd CASE_004D0534_PROC0002 dd CASE_004D0534_PROC0003 dd CASE_004D0534_PROC0004 dd CASE_004D0534_PROC0005 dd CASE_004D0534_PROC0006 dd CASE_004D0534_PROC0007 dd CASE_004D0534_PROC0008 dd CASE_004D0534_PROC0009 dd CASE_004D0534_PROC000A dd CASE_004D042C_PROC0004 CASE_004D0564: db 00h, 0Bh, 0Bh, 01h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 02h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 03h, 04h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 02h, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 05h, 06h, 0Bh, 0Bh, 0Bh, 07h, 0Bh, 0Bh, 0Bh, 08h, 01h, 0Bh, 0Bh, 0Bh db 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 0Bh, 09h, 0Bh, 0Bh, 0Ah Align 16 L004D0600: mov eax,[L00D1B9EC] sub esp,00000080h inc eax cmp eax,00000002h mov [L00D1B9EC],eax jnz L004D0641 mov eax,[L00D1B9FC] lea edx,[esp+1Ch] push edx push 01000400h push 00000000h mov dword ptr [esp+28h],00000064h mov dword ptr [esp+78h],00000000h mov ecx,[eax] push 00000000h push 00000000h push eax call [ecx+14h] L004D0641: push 00000000h push 00000000h push 00000000h lea eax,[esp+0Ch] push 00000000h push eax call [USER32.dll!PeekMessageA] test eax,eax jz L004D06E3 push 00000000h push 00000000h lea ecx,[esp+08h] push 00000000h push ecx call [USER32.dll!GetMessageA] test eax,eax jz L004D06E3 mov eax,[esp+04h] cmp eax,00000100h jz L004D06EC cmp eax,00000201h jz L004D06EC cmp eax,00000204h jz L004D06EC cmp eax,00000112h jnz L004D069D cmp dword ptr [esp+08h],0000F120h jz L004D06EC jmp L004D06CD L004D069D: cmp eax,0000000Fh jnz L004D06CD mov eax,[L00D1B9FC] lea ecx,[esp+1Ch] push ecx push 01000400h push 00000000h mov dword ptr [esp+28h],00000064h mov dword ptr [esp+78h],00000000h mov edx,[eax] push 00000000h push 00000000h push eax call [edx+14h] L004D06CD: lea edx,[esp+00h] push edx call [USER32.dll!TranslateMessage] lea eax,[esp+00h] push eax call [USER32.dll!DispatchMessageA] L004D06E3: xor eax,eax add esp,00000080h retn ;------------------------------------------------------------------------------ L004D06EC: mov eax,00000001h add esp,00000080h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D0700: sub esp,0000020Ch lea eax,[esp+00h] push esi push edi mov edi,[esp+00000220h] push eax push L004F23D8 push 00000001h push 00000000h push L004F23C8 mov dword ptr [edi],00000000h call [ole32.dll!CoCreateInstance] mov esi,eax test esi,esi jge L004D0747 push esi push SSZ00512E60_CoCreateInstance_CLSID_AMMultiMe call SUB_L004D50EE add esp,00000008h jmp L004D081D L004D0747: mov eax,[esp+08h] push 00000000h push 00000000h push 00000000h mov ecx,[eax] push eax call [ecx+30h] mov esi,eax test esi,esi jge L004D0770 push esi push SSZ00512E10_pAMStream__Initialize_STREAMTYPE call SUB_L004D50EE add esp,00000008h jmp L004D081D L004D0770: mov eax,[esp+08h] mov ecx,[esp+0000021Ch] push 00000000h push 00000000h mov edx,[eax] push L004F23B8 push ecx push eax call [edx+3Ch] mov esi,eax test esi,esi jge L004D07A1 push esi push SSZ00512DB4_pAMStream__AddMediaStream_pDD___ call SUB_L004D50EE add esp,00000008h jmp L004D081D L004D07A1: mov eax,[esp+08h] push 00000000h push 00000001h push L004F23A8 mov edx,[eax] push 00000000h push eax call [edx+3Ch] mov esi,eax test esi,esi jge L004D07CC push esi push SSZ00512D40_pAMStream__AddMediaStream_NULL__ call SUB_L004D50EE add esp,00000008h jmp L004D081D L004D07CC: mov ecx,[esp+00000218h] lea eax,[esp+0Ch] push 00000104h push eax push FFFFFFFFh push ecx push 00000000h push 00000000h call [KERNEL32.dll!MultiByteToWideChar] mov eax,[esp+08h] lea ecx,[esp+0Ch] push 00000000h push ecx mov edx,[eax] push eax call [edx+40h] mov esi,eax test esi,esi jge L004D0811 push esi push SSZ00512D00_pAMStream__OpenFile_wPath__0___f call SUB_L004D50EE add esp,00000008h jmp L004D081D L004D0811: mov eax,[esp+08h] mov [edi],eax push eax mov edx,[eax] call [edx+04h] L004D081D: mov eax,[esp+08h] test eax,eax jnz L004D083A push SSZ00512CA4_Could_not_create_a_CLSID_MultiMe call SUB_L004D50EE mov eax,[esp+0Ch] add esp,00000004h test eax,eax jz L004D0840 L004D083A: mov ecx,[eax] push eax call [ecx+08h] L004D0840: mov eax,esi pop edi pop esi add esp,0000020Ch retn ;------------------------------------------------------------------------------ Align 8 SUB_L004D0850: sub esp,00000054h push ebx mov ebx,[esp+64h] lea ecx,[esp+08h] push esi mov eax,[ebx] push ecx xor esi,esi push L004F23B8 push ebx mov [esp+18h],esi mov [esp+1Ch],esi mov [esp+20h],esi mov [esp+14h],esi call [eax+10h] cmp eax,esi mov [esp+68h],eax jge L004D0896 push eax push SSZ00513044_pMMStream__GetMediaStream_MSPID_ call SUB_L004D50EE add esp,00000008h jmp L004D0AE4 L004D0896: mov eax,[esp+0Ch] lea ecx,[esp+10h] push ecx push L004F23E8 mov edx,[eax] push eax call [edx] cmp eax,esi mov [esp+68h],eax jge L004D08C4 push eax push SSZ00512FD0_pPrimaryVidStream__QueryInterfac call SUB_L004D50EE add esp,00000008h jmp L004D0AE4 L004D08C4: mov eax,[esp+10h] lea ecx,[esp+08h] push ecx push esi mov edx,[eax] push esi push esi push eax call [edx+34h] cmp eax,esi mov [esp+68h],eax jge L004D08F1 push eax push SSZ00512F80_pDDStream__CreateSample_NULL__NU call SUB_L004D50EE add esp,00000008h jmp L004D0AE4 L004D08F1: mov eax,[esp+08h] lea ecx,[esp+30h] push ecx lea ecx,[esp+18h] mov edx,[eax] push ecx push eax call [edx+20h] cmp eax,esi mov [esp+68h],eax jge L004D0920 push eax push SSZ00512F38_pSample__GetSurface__pSurface___ call SUB_L004D50EE add esp,00000008h jmp L004D0AE4 L004D0920: mov edx,[ebx] push 00000001h push ebx call [edx+1Ch] cmp eax,esi mov [esp+68h],eax jge L004D0943 push eax push SSZ00512EF4_pMMStream__SetState_STREAMSTATE_ call SUB_L004D50EE add esp,00000008h jmp L004D0AE4 L004D0943: mov eax,[esp+38h] push ebp cmp eax,00000280h push edi jg L004D0976 mov ecx,[esp+44h] cmp ecx,000001E0h jg L004D0976 mov edx,[esp+38h] mov [esp+30h],eax mov [esp+28h],edx mov edx,[esp+3Ch] mov [esp+2Ch],edx mov [esp+34h],ecx jmp L004D09DF L004D0976: mov ecx,[esp+38h] xor edi,edi add eax,ecx mov [esp+38h],edi cdq sub eax,edx mov edx,[esp+3Ch] mov ecx,eax mov eax,[esp+44h] add eax,edx mov ebx,00000280h cdq sar ecx,1 sub eax,edx mov ebp,000001E0h sar eax,1 lea edx,[ecx-00000140h] lea ecx,[ebx+ecx-00000140h] mov [esp+38h],edx lea edx,[esi+eax-000000F0h] mov [esp+3Ch],edx lea edx,[eax+ebp-000000F0h] mov [esp+2Ch],esi mov [esp+28h],edi mov [esp+30h],ebx mov [esp+34h],ebp mov [esp+40h],ecx mov [esp+44h],edx xor esi,esi L004D09DF: cmp [L00D1B0F4],esi jnz L004D0A31 mov ecx,[L00D1B864] lea eax,[esp+20h] push eax push ecx mov [esp+28h],esi mov [esp+2Ch],esi call [USER32.dll!ClientToScreen] mov eax,[esp+20h] mov ebx,[esp+28h] mov edi,[esp+30h] mov edx,[esp+2Ch] mov ecx,[esp+34h] add ebx,eax add edi,eax mov eax,[esp+24h] add edx,eax add ecx,eax mov [esp+28h],ebx mov [esp+30h],edi mov [esp+2Ch],edx mov [esp+34h],ecx L004D0A31: mov ebx,[esp+6Ch] mov ebp,[USER32.dll!PeekMessageA] mov edi,[USER32.dll!GetMessageA] L004D0A41: mov eax,[esp+10h] push esi push esi push esi mov edx,[eax] push esi push eax call [edx+18h] test eax,eax jnz L004D0AE2 mov edx,[esp+1Ch] mov eax,[ebx] push esi lea ecx,[esp+3Ch] push 01000000h push ecx lea ecx,[esp+34h] push edx push ecx push ebx call [eax+14h] push esi push esi push esi lea edx,[esp+54h] push esi push edx mov [esp+00000084h],eax call ebp test eax,eax jz L004D0A41 push esi push esi lea eax,[esp+50h] push esi push eax call edi test eax,eax jz L004D0A41 mov eax,[esp+4Ch] cmp eax,00000100h jz L004D0AE2 cmp eax,00000201h jz L004D0AE2 cmp eax,00000207h jz L004D0AE2 cmp eax,00000204h jz L004D0AE2 cmp eax,00000112h jnz L004D0AC7 cmp dword ptr [esp+50h],0000F120h jz L004D0AE2 L004D0AC7: lea ecx,[esp+48h] push ecx call [USER32.dll!TranslateMessage] lea edx,[esp+48h] push edx call [USER32.dll!DispatchMessageA] jmp L004D0A41 L004D0AE2: pop edi pop ebp L004D0AE4: mov eax,[esp+0Ch] cmp eax,esi jz L004D0AF2 mov ecx,[eax] push eax call [ecx+08h] L004D0AF2: mov eax,[esp+10h] cmp eax,esi jz L004D0B00 mov edx,[eax] push eax call [edx+08h] L004D0B00: mov eax,[esp+08h] cmp eax,esi jz L004D0B0E mov ecx,[eax] push eax call [ecx+08h] L004D0B0E: mov eax,[esp+14h] cmp eax,esi pop esi pop ebx jz L004D0B1E mov edx,[eax] push eax call [edx+08h] L004D0B1E: mov eax,[esp+60h] add esp,00000054h retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D0B30: sub esp,000002C0h mov ecx,[L00D1B864] push ebx push esi lea eax,[esp+28h] push edi push eax push ecx mov dword ptr [esp+34h],0000002Ch call [USER32.dll!GetWindowPlacement] mov eax,[esp+34h] xor ebx,ebx cmp eax,ebx jz L004D0FA4 cmp eax,00000006h jz L004D0FA4 mov edi,L007049FC or ecx,FFFFFFFFh xor eax,eax lea edx,[esp+000000C4h] repne scasb not ecx sub edi,ecx push L004FD2A8 mov eax,ecx mov esi,edi mov edi,edx lea edx,[esp+000001CCh] shr ecx,02h rep movsd mov ecx,eax xor eax,eax and ecx,00000003h push SSZ005130B8_music_intro_wve rep movsb mov edi,L007049FC 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 call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L004D0BED push eax call SUB_L004D6027 push SSZ005130B8_music_intro_wve call SUB_L0047C110 jmp L004D0C1C L004D0BED: push L004FD2A8 push SSZ005130B8_music_intro_wve call SUB_L0047C240 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L004D0C45 push eax call SUB_L004D6027 push SSZ005130B8_music_intro_wve call SUB_L0047C240 L004D0C1C: mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h repne scasb not ecx sub edi,ecx lea edx,[esp+000000C4h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004D0C45: push L004FD2A8 push SSZ005130A8_music_intro_mpg call SUB_L0047C110 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L004D0C76 push eax call SUB_L004D6027 push SSZ005130A8_music_intro_mpg call SUB_L0047C110 jmp L004D0CA5 L004D0C76: push L004FD2A8 push SSZ005130A8_music_intro_mpg call SUB_L0047C240 add esp,00000004h push eax call SUB_L004D6014 add esp,00000008h cmp eax,ebx jz L004D0CCE push eax call SUB_L004D6027 push SSZ005130A8_music_intro_mpg call SUB_L0047C240 L004D0CA5: mov edi,eax or ecx,FFFFFFFFh xor eax,eax add esp,00000008h repne scasb not ecx sub edi,ecx lea edx,[esp+000001C8h] mov eax,ecx mov esi,edi mov edi,edx shr ecx,02h rep movsd mov ecx,eax and ecx,00000003h rep movsb L004D0CCE: cmp [esp+000000C4h],bl jnz L004D0CE4 cmp [esp+000001C8h],bl jz L004D0FA4 L004D0CE4: mov eax,[L00D1B0F4] mov ecx,[L00D1B2AC] mov edx,[L00D1B2B0] cmp eax,ebx mov [esp+0Ch],ebx mov [L00D1BA38],ecx mov [L00D1BA3C],edx mov dword ptr [L00D1BA90],L004D0600 mov dword ptr [L00D1B9F0],L00840060 jz L004D0D42 mov eax,[L00D1B0E8] mov ecx,[L00D1B0E4] mov [L00D1B9F8],eax mov [L00D1B9FC],ecx mov dword ptr [L00D1B9F0],L0084006C jmp L004D0E84 L004D0D42: push ebx push L00D1B9F8 push ebx call jmp_DDRAW.dll!DirectDrawCreate test eax,eax jnz L004D0FA4 mov eax,[L00D1B9F8] push 00000008h push ebx push eax mov edx,[eax] call [edx+50h] test eax,eax jnz L004D0FA4 mov ecx,0000001Bh lea edi,[esp+58h] rep stosd mov eax,[L00D1B9F8] push ebx lea edx,[esp+5Ch] mov dword ptr [esp+5Ch],0000006Ch mov dword ptr [esp+60h],00000001h mov dword ptr [esp+000000C4h],00000200h mov ecx,[eax] push L00D1B9FC push edx push eax call [ecx+18h] test eax,eax jz L004D0DCD mov eax,[L00D1B864] push ebx push SSZ005121AC_Note_ push SSZ00512188_Failed_to_create_primary_surface push eax call [USER32.dll!MessageBoxA] pop edi pop esi pop ebx add esp,000002C0h retn ;------------------------------------------------------------------------------ L004D0DCD: mov eax,[L00D1B9F8] lea edx,[esp+0Ch] push ebx push edx mov ecx,[eax] push ebx push eax call [ecx+10h] test eax,eax jnz L004D0FA4 mov eax,[esp+0Ch] mov edx,[L00D1B864] push edx push ebx mov ecx,[eax] push eax call [ecx+20h] test eax,eax jnz L004D0FA4 mov eax,[L00D1B9FC] mov edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+70h] test eax,eax jnz L004D0FA4 mov ecx,[L00D1B864] lea eax,[esp+10h] push eax push ecx mov [esp+18h],ebx mov [esp+1Ch],ebx call [USER32.dll!ClientToScreen] mov eax,[L00D1B864] lea edx,[esp+1Ch] push edx push eax call [USER32.dll!GetClientRect] mov ecx,[esp+24h] mov edi,[esp+10h] lea eax,[ecx-00000280h] mov ecx,[esp+14h] cdq sub eax,edx mov edx,[esp+28h] sar eax,1 add eax,edi mov [L00D1BA4C],eax lea eax,[edx-000001E0h] cdq sub eax,edx sar eax,1 add eax,ecx mov [L00D1BA50],eax mov eax,[L00D1B9F0] or al,03h mov [L00D1B9F0],eax L004D0E84: push ebx mov dword ptr [L00D1BAC8],00000001h call SUB_L00477D30 mov al,[L00D1B220] push ebx mov [L00D1B9EC],ebx mov [esp+18h],al call SUB_L004CCC60 add esp,00000008h push ebx push ebx push ebx push SSZ00505A40_intro call SUB_L0046E410 push eax push SSZ00505A40_intro call SUB_L0046EA70 push SUB_L004C6930 mov esi,eax call SUB_L004A2010 push SUB_L004C6100 call SUB_L004A2000 push esi call SUB_L004A2020 mov al,[esp+000000E8h] add esp,00000024h cmp al,bl jz L004D0F0A mov ecx,[L00D1B864] push L00D1B9F0 lea edx,[esp+000000C8h] push ecx push edx call SUB_L004A19C0 add esp,0000000Ch L004D0F0A: cmp [esp+000001C8h],bl jz L004D0F52 mov esi,[L00D1B9F8] mov edi,[L00D1B9FC] lea eax,[esp+18h] lea ecx,[esp+000001C8h] push eax push esi push ecx call SUB_L004D0700 add esp,0000000Ch test eax,eax jl L004D0F52 mov edx,[esp+18h] push edx push edi push esi call SUB_L004D0850 mov eax,[esp+24h] add esp,0000000Ch mov ecx,[eax] push eax call [ecx+08h] L004D0F52: push 00000001h call SUB_L00477D30 mov edx,[esp+14h] mov [L00D1BAC8],ebx push edx call SUB_L004CCC60 mov eax,[L00D1BACC] add esp,00000008h push eax call [GDI32.dll!DeleteObject] cmp [L00D1B0F4],ebx jnz L004D0FA4 mov eax,[esp+0Ch] cmp eax,ebx jz L004D0F8E mov ecx,[eax] push eax call [ecx+08h] L004D0F8E: mov eax,[L00D1B9FC] push eax mov edx,[eax] call [edx+08h] mov eax,[L00D1B9F8] push eax mov ecx,[eax] call [ecx+08h] L004D0FA4: pop edi pop esi pop ebx add esp,000002C0h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D0FB0: mov eax,[esp+04h] cmp eax,00000027h ja CASE_004D0FE0_PROC0000 xor ecx,ecx mov cl,[eax+CASE_004D0FEC] jmp [CASE_PROCTABLE_004D0FE0+ecx*4] CASE_004D0FE0_PROC0001: xor eax,eax push eax call SUB_L004766D0 pop ecx retn ;------------------------------------------------------------------------------ CASE_004D0FE0_PROC0000: mov eax,00000011h push eax call SUB_L004766D0 pop ecx retn ;------------------------------------------------------------------------------ Align 4 CASE_PROCTABLE_004D0FE0: dd CASE_004D0FE0_PROC0000 dd CASE_004D0FE0_PROC0001 dd CASE_004D0FE0_PROC0000 CASE_004D0FEC: db 00h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h, 00h, 00h, 00h, 00h, 00h, 00h db 00h, 00h, 00h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 02h, 00h, 01h db 01h, 01h, 01h, 01h, 01h, 01h, 01h, 00h Align 16 SUB_L004D1020: mov eax,[esp+08h] mov ecx,[esp+04h] push 00000000h push eax push ecx push 00000000h call [USER32.dll!MessageBoxA] mov eax,[esp+0Ch] test eax,eax jz L004D1043 push 00000001h call SUB_L004D554B L004D1043: retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D1050: sub esp,00000070h push L00C852C8 call [KERNEL32.dll!EnterCriticalSection] call SUB_L00478B50 mov eax,[L00B189FC] test eax,eax jz L004D1449 mov ecx,[L005073D0] push ebx mov eax,ecx mov ebx,[L0054B290] imul eax,[L00C8834C] sub ebx,eax mov eax,[L00C88348] push esi sub ebx,eax push edi jns L004D109E mov edx,[L005073D4] imul edx,ecx add ebx,edx L004D109E: mov eax,ebx cdq idiv ecx mov eax,ebx mov esi,edx cdq idiv ecx mov edi,eax mov eax,[L00D1B0F4] test eax,eax jz L004D1323 mov al,[L00C8C4A3] test al,al jz L004D1200 mov eax,[L00D1B0E0] lea edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+44h] cmp eax,887601C2h jnz L004D10ED mov eax,[L00D1B0E0] push eax mov ecx,[eax] call [ecx+6Ch] jmp L004D1436 L004D10ED: test eax,eax jnz L004D1436 test ebx,ebx push L00CC0020 jz L004D11C4 mov eax,[L005073D4] mov edx,[L00BE9504] mov ecx,[L005073D0] mov ebx,[GDI32.dll!BitBlt] push edi push esi sub eax,edi push edx mov edx,[esp+1Ch] sub ecx,esi push eax push ecx push 00000000h push 00000000h push edx call ebx test esi,esi jz L004D115F mov edx,[L005073D4] mov ecx,[L00BE9504] lea eax,[edi+01h] push L00CC0020 sub edx,edi push eax mov eax,[L005073D0] push 00000000h dec edx push ecx mov ecx,[esp+1Ch] push edx push esi sub eax,esi push 00000000h push eax push ecx call ebx L004D115F: test edi,edi jz L004D11EB mov edx,[L00BE9504] mov eax,[L005073D0] mov ecx,[L005073D4] push L00CC0020 push 00000000h push esi push edx mov edx,[esp+1Ch] sub eax,esi push edi sub ecx,edi push eax push ecx push 00000000h push edx call ebx test esi,esi jz L004D11EB mov eax,[L00BE9504] mov edx,[L005073D4] push L00CC0020 push 00000000h push 00000000h push eax mov eax,[L005073D0] lea ecx,[edi+01h] sub edx,edi push ecx mov ecx,[esp+20h] dec edx push esi sub eax,esi push edx push eax push ecx call ebx jmp L004D11EB L004D11C4: mov edx,[L00BE9504] mov eax,[L005073D4] mov ecx,[L005073D0] push 00000000h push 00000000h push edx mov edx,[esp+1Ch] push eax push ecx push 00000000h push 00000000h push edx call [GDI32.dll!BitBlt] L004D11EB: mov eax,[L00D1B0E0] mov edx,[esp+0Ch] push edx push eax mov ecx,[eax] call [ecx+68h] jmp L004D1436 L004D1200: mov eax,[L00D1B0E0] push 00000000h lea edx,[esp+14h] push 00000021h mov dword ptr [esp+18h],0000006Ch mov ecx,[eax] push edx push 00000000h push eax call [ecx+64h] cmp eax,887601C2h jnz L004D1235 mov eax,[L00D1B0E0] push eax mov ecx,[eax] call [ecx+6Ch] jmp L004D1436 L004D1235: test eax,eax jnz L004D1436 mov esi,[esp+20h] mov eax,[L00D1B0F0] sar esi,1 test eax,eax jz L004D12A9 mov al,[L00C8C4A4] test al,al jnz L004D12A9 mov edx,[L005073D4] mov eax,[L00B189FC] imul edx,[L005073D0] mov ecx,[esp+34h] sub edx,ebx push edx push esi push ebx push 00000000h push eax push ecx call SUB_L004CBA30 add esp,00000018h test ebx,ebx jz L004D12F2 mov edx,[L005073D4] mov eax,[L00B189FC] imul edx,[L005073D0] mov ecx,[esp+34h] push ebx push esi sub edx,ebx push 00000000h push edx push eax push ecx call SUB_L004CBA30 add esp,00000018h jmp L004D12F2 L004D12A9: mov edx,[L005073D4] mov ecx,[esp+34h] imul edx,[L005073D0] sub edx,ebx push edx mov edx,[L00B189FC] push esi push ebx push 00000000h call SUB_L004CBB10 test ebx,ebx jz L004D12F2 mov eax,[L005073D4] mov edx,[L00B189FC] imul eax,[L005073D0] mov ecx,[esp+34h] push ebx push esi sub eax,ebx push 00000000h push eax call SUB_L004CBB10 L004D12F2: mov eax,[L00D1B0E0] push 00000000h push eax mov ecx,[eax] call [ecx+00000080h] mov eax,[L00D1B0EC] test eax,eax jz L004D1436 mov eax,[L00D1B0E4] push 00000001h push 00000000h push eax mov edx,[eax] call [edx+2Ch] jmp L004D1436 L004D1323: mov eax,[L00D1B864] push eax call [USER32.dll!GetDC] test ebx,ebx mov [esp+0Ch],eax push L00CC0020 jz L004D1401 mov ecx,[L00BE9504] mov edx,[L005073D4] push edi push esi push ecx mov ecx,[L005073D0] 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 L004D139A mov ecx,[L005073D4] mov eax,[L00BE9504] lea edx,[edi+01h] push L00CC0020 sub ecx,edi push edx mov edx,[L005073D0] push 00000000h dec ecx push eax mov eax,[esp+1Ch] push ecx push esi sub edx,esi push 00000000h push edx push eax call ebx L004D139A: test edi,edi jz L004D1425 mov ecx,[L00BE9504] mov edx,[L005073D0] mov eax,[L005073D4] push L00CC0020 push 00000000h push esi push ecx mov ecx,[esp+1Ch] sub edx,esi push edi sub eax,edi push edx push eax push 00000000h push ecx call ebx test esi,esi jz L004D1425 mov edx,[L00BE9504] mov ecx,[L005073D4] push L00CC0020 push 00000000h push 00000000h push edx mov edx,[L005073D0] lea eax,[edi+01h] sub ecx,edi push eax mov eax,[esp+20h] dec ecx push esi sub edx,esi push ecx push edx push eax call ebx jmp L004D1425 L004D1401: mov ecx,[L00BE9504] mov edx,[L005073D4] push 00000000h push 00000000h push ecx mov ecx,[L005073D0] push edx push ecx push 00000000h push 00000000h push eax call [GDI32.dll!BitBlt] L004D1425: mov edx,[esp+0Ch] mov eax,[L00D1B864] push edx push eax call [USER32.dll!ReleaseDC] L004D1436: call SUB_L00478DC0 push L00C852C8 call [KERNEL32.dll!LeaveCriticalSection] pop edi pop esi pop ebx L004D1449: add esp,00000070h retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D1450: mov eax,[esp+04h] push L007049FC push eax push 00000000h call SUB_L004CB5E0 add esp,0000000Ch cmp eax,FFFFFFFFh jnz L004D148A mov eax,[L00D1B0D4] test eax,eax jnz L004D1487 push 00000000h push 00000000h push 00000000h push 00000000h push SSZ005130C8_Web_browser_not_found_ call SUB_L00455DD0 add esp,00000014h L004D1487: xor eax,eax retn ;------------------------------------------------------------------------------ L004D148A: mov eax,00000001h retn ;------------------------------------------------------------------------------ SUB_L004D1490: push esi mov esi,[USER32.dll!GetSystemMetrics] push edi push 00000004h push 00000021h call esi push 00000004h mov edi,eax call esi mov ecx,[esp+1Ch] add ecx,eax lea edx,[ecx+edi*2] push edx push 00000020h call esi mov ecx,[esp+1Ch] lea edx,[ecx+eax*2] mov eax,[esp+18h] mov ecx,[esp+14h] push edx mov edx,[L00D1B864] push eax push ecx push 00000000h push edx call [USER32.dll!SetWindowPos] pop edi pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D14E0: mov ecx,[L00D1B864] sub esp,00000010h lea eax,[esp+00h] push eax push ecx call [USER32.dll!GetWindowRect] mov edx,[esp+14h] mov eax,[esp+00h] mov ecx,[esp+18h] mov [edx],eax mov edx,[esp+04h] mov [ecx],edx add esp,00000010h retn ;------------------------------------------------------------------------------ db 90h; '?' db 90h; '?' 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 L004D1534: mov bl,[esi] test ecx,00000001h jnz L004D1543 shr bl,04h jmp L004D1547 L004D1543: and bl,0Fh inc esi L004D1547: add edx,[eax+ebx*4+L005130E0] cmp edx,00007FFFh jg L004D15A5 cmp edx,FFFF8000h jl L004D15AC L004D155E: mov [edi],dx add edi,00000002h inc ecx and bl,07h add eax,[L00514720+ebx*4] cmp eax,00001600h jg L004D158D cmp eax,00000000h jl L004D1599 cmp ecx,[ebp+14h] jl L004D1534 L004D1580: mov ecx,[ebp+18h] mov [ecx],edx mov ecx,[ebp+1Ch] mov [ecx],eax popad leave retn ;------------------------------------------------------------------------------ L004D158D: mov eax,00001600h cmp ecx,[ebp+14h] jl L004D1534 jmp L004D1580 L004D1599: mov eax,00000000h cmp ecx,[ebp+14h] jl L004D1534 jmp L004D1580 L004D15A5: mov edx,00007FFFh jmp L004D155E L004D15AC: mov edx,FFFF8000h jmp L004D155E SUB_L004D15B3: push ebp mov ebp,esp pushad xor ecx,ecx mov edx,[ebp+18h] mov edx,[edx] movsx eax,dx mov [L00514748],eax shr edx,10h movsx eax,dx mov [L0051474C],eax mov edx,[ebp+14h] mov edx,[edx] movsx eax,dx mov [L00514740],eax shr edx,10h movsx eax,dx mov [L00514744],eax mov esi,[ebp+08h] mov edi,[ebp+0Ch] xor ebx,ebx L004D15F1: mov bl,[esi] shr bl,04h mov eax,[L00514748] mov edx,[L00514740] add edx,[eax+ebx*4+L005130E0] cmp edx,00007FFFh jg L004D16F4 cmp edx,FFFF8000h jl L004D16FE L004D1620: mov [edi+ecx*4],dx mov [L00514740],edx and bl,07h add eax,[L00514720+ebx*4] cmp eax,00001600h jg L004D16E0 cmp eax,00000000h jl L004D16EA L004D1648: mov [L00514748],eax mov bl,[esi] and bl,0Fh mov eax,[L0051474C] mov edx,[L00514744] add edx,[eax+ebx*4+L005130E0] cmp edx,00007FFFh jg L004D1716 cmp edx,FFFF8000h jl L004D1720 L004D167C: mov [edi+ecx*4+02h],dx mov [L00514744],edx and bl,07h add eax,[L00514720+ebx*4] cmp eax,00001600h jg L004D1708 cmp eax,00000000h jl L004D170F L004D169D: mov [L0051474C],eax add ecx,00000001h inc esi cmp ecx,[ebp+10h] jl L004D15F1 mov edx,[L00514744] shl edx,10h mov ecx,[L00514740] mov dx,cx mov ecx,[ebp+14h] mov [ecx],edx mov edx,[L0051474C] shl edx,10h mov ecx,[L00514748] mov dx,cx mov ecx,[ebp+18h] mov [ecx],edx popad leave retn ;------------------------------------------------------------------------------ L004D16E0: mov eax,00001600h jmp L004D1648 L004D16EA: mov eax,00000000h jmp L004D1648 L004D16F4: mov edx,00007FFFh jmp L004D1620 L004D16FE: mov edx,FFFF8000h jmp L004D1620 L004D1708: mov eax,00001600h jmp L004D169D L004D170F: mov eax,00000000h jmp L004D169D L004D1716: mov edx,00007FFFh jmp L004D167C L004D1720: mov edx,FFFF8000h jmp L004D167C db CCh; 'Œ' db CCh; 'Œ' 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 L004D1748: 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 L004D1748 sti popad pop edi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D1768: 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 L004D183E mov ax,[ebx] lea ebx,[ebx+02h] and al,01h jz L004D1797 lea ebx,[ebx+03h] L004D1797: 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 L004D183E xor ecx,ecx jmp L004D17DA Align 4 L004D17B8: 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 L004D17DA: mov edx,[ebx] or cl,dl jns L004D17B8 L004D17E0: add cl,cl js L004D1814 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 L004D17B8 jmp L004D17E0 Align 4 L004D1814: add cl,cl jns L004D1848 cmp dl,FCh jnc L004D1834 and edx,0000001Fh lea ecx,[edx+01h] lea esi,[ebx+01h] rep movsd mov ebx,esi mov edx,[ebx] or cl,dl jns L004D17B8 jmp L004D17E0 Align 4 L004D1834: mov ecx,edx and ecx,00000003h lea esi,[ebx+01h] rep movsb L004D183E: mov eax,[ebp-04h] popad pop edi pop esi leave retn ;------------------------------------------------------------------------------ Align 4 L004D1848: 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 L004D17B8 jmp L004D17E0 SUB_L004D188B: 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 L004D1906 L004D18B6: 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 L004D18B6 L004D1906: add edx,00000003h jl L004D192A L004D190B: 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 L004D190B L004D192A: add esp,00000004h pop edx pop ecx pop ebx pop ebp pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D1934: 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] L004D1967: mov eax,[ebp-04h] mov [ebp+24h],eax jmp L004D1970 Align 4 L004D1970: mov eax,[esi] add esi,00000004h cmp eax,[ebp+14h] jge L004D19AE L004D197A: 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 L004D19DA mov eax,[esi] add esi,00000004h cmp eax,[ebp+14h] jl L004D197A L004D19AE: 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 L004D1970 L004D19DA: add edi,ecx sub dword ptr [ebp+28h],00000001h jg L004D1967 popad pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D19E8: push esi mov esi,[esp+08h] mov [L00D20120],esi mov dword ptr [L00D20124],00000000h pop esi retn ;------------------------------------------------------------------------------ SUB_L004D19FF: mov eax,[L00D20128] mov esi,[L00D20120] shl eax,18h mov ebp,[L00D20128] sar eax,08h mov ecx,[L00D20124] imul [L00D20020] shl edx,10h xor ebx,ebx shr eax,10h mov edi,0000003Fh adc eax,edx mov [L00D1E000],eax xor eax,eax shr ebp,08h mov al,[esi] inc esi sub ecx,00000008h shl eax,cl add ecx,00000008h or ebp,eax L004D1A48: mov eax,ebp mov ebx,[L00D21740+edi*4] and eax,00000007h jmp [L00D21C40+eax*4] L004D1A5B: mov eax,[L00D20020+ebx*4] mov [L00D1E000+ebx*4],eax jmp L004D1AA8 L004D1A6B: mov eax,[L00D20020+ebx*4] neg eax mov [L00D1E000+ebx*4],eax jmp L004D1AA8 L004D1A7D: mov dword ptr [L00D1E000+ebx*4],00000000h jmp L004D1AA8 L004D1A8A: mov dword ptr [L00D1E000+ebx*4],00000000h mov ebx,[L00D2173C+edi*4] dec edi mov dword ptr [L00D1E000+ebx*4],00000000h L004D1AA8: shr ebp,03h sub ecx,00000003h cmp ecx,00000008h jge L004D1ABF xor eax,eax mov al,[esi] inc esi shl eax,cl add ecx,00000008h or ebp,eax L004D1ABF: dec edi jg L004D1A48 mov [L00D20120],esi mov [L00D20128],ebp mov [L00D20124],ecx retn ;------------------------------------------------------------------------------ L004D1AD5: mov dword ptr [L00D1E000+ebx*4],00000000h mov ebx,[L00D2173C+edi*4] dec edi L004D1AE8: mov eax,ebp xor edx,edx and eax,000000FFh shr eax,03h L004D1AF4: mov [L00D1E000+ebx*4],edx mov ebx,[L00D2173C+edi*4] mov [L00D1E000+ebx*4],edx mov ebx,[L00D21738+edi*4] sub edi,00000002h dec eax jnz L004D1AF4 inc edi jmp L004D1B73 L004D1B19: mov eax,ebp and eax,000000FCh cmp eax,000000FCh jz L004D1B45 shl eax,18h sar eax,0Ah imul [L00D20020+ebx*4] shl edx,10h shr eax,10h adc eax,edx mov [L00D1E000+ebx*4],eax jmp L004D1B73 L004D1B45: 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 [L00D20020+ebx*4] shl edx,10h shr eax,10h adc eax,edx mov [L00D1E000+ebx*4],eax L004D1B73: 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 L004D1A48 mov [L00D20120],esi mov [L00D20128],ebp mov [L00D20124],ecx retn ;------------------------------------------------------------------------------ SUB_L004D1B9F: imul [L00D20020] xor ebx,ebx mov [L00D1E000],eax mov [L00D1E004],ebx mov [L00D1E008],ebx mov [L00D1E00C],ebx mov [L00D1E010],ebx mov [L00D1E014],ebx mov [L00D1E018],ebx mov [L00D1E01C],ebx mov [L00D1E020],ebx mov [L00D1E024],ebx mov [L00D1E028],ebx mov [L00D1E02C],ebx mov [L00D1E030],ebx mov [L00D1E034],ebx mov [L00D1E038],ebx mov [L00D1E03C],ebx mov [L00D1E040],ebx mov [L00D1E044],ebx mov [L00D1E048],ebx mov [L00D1E04C],ebx mov [L00D1E050],ebx mov [L00D1E054],ebx mov [L00D1E058],ebx mov [L00D1E05C],ebx mov [L00D1E060],ebx mov [L00D1E064],ebx mov [L00D1E068],ebx mov [L00D1E06C],ebx mov [L00D1E070],ebx mov [L00D1E074],ebx mov [L00D1E078],ebx mov [L00D1E07C],ebx mov [L00D1E080],ebx mov [L00D1E084],ebx mov [L00D1E088],ebx mov [L00D1E08C],ebx mov [L00D1E090],ebx mov [L00D1E094],ebx mov [L00D1E098],ebx mov [L00D1E09C],ebx mov [L00D1E0A0],ebx mov [L00D1E0A4],ebx mov [L00D1E0A8],ebx mov [L00D1E0AC],ebx mov [L00D1E0B0],ebx mov [L00D1E0B4],ebx mov [L00D1E0B8],ebx mov [L00D1E0BC],ebx mov [L00D1E0C0],ebx mov [L00D1E0C4],ebx mov [L00D1E0C8],ebx mov [L00D1E0CC],ebx mov [L00D1E0D0],ebx mov [L00D1E0D4],ebx mov [L00D1E0D8],ebx mov [L00D1E0DC],ebx mov [L00D1E0E0],ebx mov [L00D1E0E4],ebx mov [L00D1E0E8],ebx mov [L00D1E0EC],ebx mov [L00D1E0F0],ebx mov [L00D1E0F4],ebx mov [L00D1E0F8],ebx mov [L00D1E0FC],ebx mov ebx,0000003Fh L004D1D2B: 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 L004D1D99 mov ecx,eax shr eax,0Dh mov eax,[L00D21830+eax*4] L004D1D53: mov edx,eax sar eax,10h add edi,eax cmp dh,41h jz L004D1D92 ja L004D1E2B sub bl,dh and edx,000000FFh neg eax add eax,00000010h inc edi bt ecx,eax jnc L004D1D7A neg edx L004D1D7A: mov ecx,[L00D21744+ebx*4] imul edx,[L00D20020+ecx*4] mov [L00D1E000+ecx*4],edx jmp L004D1D2B L004D1D92: mov [L00D20124],edi retn ;------------------------------------------------------------------------------ L004D1D99: mov ecx,eax shr eax,1 cmp eax,00000400h jl L004D1DB0 shr eax,08h mov eax,[L00D21860+eax*4] jmp L004D1D53 L004D1DB0: cmp eax,00000200h jl L004D1DC3 shr eax,06h mov eax,[L00D21940+eax*4] jmp L004D1D53 L004D1DC3: cmp eax,00000100h jl L004D1DD9 shr eax,04h mov eax,[L00D21940+eax*4] jmp L004D1D53 L004D1DD9: cmp eax,00000080h jl L004D1DEF shr eax,03h mov eax,[L00D21980+eax*4] jmp L004D1D53 L004D1DEF: cmp eax,00000040h jl L004D1E03 shr eax,02h mov eax,[L00D219C0+eax*4] jmp L004D1D53 L004D1E03: cmp eax,00000020h jl L004D1E16 shr eax,1 mov eax,[L00D21A00+eax*4] jmp L004D1D53 L004D1E16: cmp eax,00000010h jl L004D1D92 mov eax,[L00D21A40+eax*4] jmp L004D1D53 L004D1E2B: 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 L004D1E6B 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 L004D1E98 L004D1E6B: cmp eax,00000080h jnz L004D1E91 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 L004D1E98 L004D1E91: jle L004D1E98 sub eax,00000100h L004D1E98: mov ecx,[L00D21740+ebx*4] imul eax,[L00D20020+ecx*4] mov [L00D1E000+ecx*4],eax dec ebx jmp L004D1D2B SUB_L004D1EB4: 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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+38h],eax mov [edi+3Ch],edx retn ;------------------------------------------------------------------------------ SUB_L004D20DF: 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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+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,[L00D2012C+eax*4] mov edx,[L00D2012C+edx*4] mov ecx,[L00D2032C+ecx*4] mov ebp,[L00D2052C+ebp*4] add eax,ecx add edx,ecx add eax,ebp add edx,ebp mov [edi+1Ch],ax mov [edi+1Eh],dx retn ;------------------------------------------------------------------------------ SUB_L004D231A: 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 [L00D20120],esi mov [L00D20128],eax mov dword ptr [L00D20124],00000008h call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E220 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E260 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E2E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E320 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E360 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E3E0 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E240 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E280 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E300 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E340 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E380 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E400 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E420 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E460 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E4E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E520 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E560 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E5E0 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E440 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E480 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E500 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E540 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E580 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E600 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E620 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E640 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E660 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E680 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E6A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E6C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E6E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E700 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E720 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E740 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E760 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E780 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E7A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E7C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E7E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E800 call SUB_L004D49F7 mov edi,[esp+34h] mov esi,L00D1E220 mov ebx,L00D1E620 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E260 mov ebx,L00D1E620 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E2A0 mov ebx,L00D1E640 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E2E0 mov ebx,L00D1E640 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E320 mov ebx,L00D1E660 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E360 mov ebx,L00D1E660 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E3A0 mov ebx,L00D1E680 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E3E0 mov ebx,L00D1E680 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E420 mov ebx,L00D1E6A0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E460 mov ebx,L00D1E6A0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E4A0 mov ebx,L00D1E6C0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E4E0 mov ebx,L00D1E6C0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E520 mov ebx,L00D1E6E0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E560 mov ebx,L00D1E6E0 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E5A0 mov ebx,L00D1E700 call SUB_L004D1EB4 add edi,[esp+38h] mov esi,L00D1E5E0 mov ebx,L00D1E700 call SUB_L004D1EB4 add esp,00000014h pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D2AF9: 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 [L00D20120],esi mov [L00D20128],eax mov dword ptr [L00D20124],00000008h call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E220 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E260 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E2E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E320 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E360 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E3E0 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E240 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E280 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E300 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E340 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E380 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E400 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E420 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E460 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E4E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E520 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E560 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E5E0 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E440 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E480 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E500 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E540 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E580 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E600 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E620 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E640 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E660 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E680 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E6A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E6C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E6E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E700 call SUB_L004D49F7 call SUB_L004D19FF mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E720 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E740 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E760 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E780 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E7A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E7C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E7E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E800 call SUB_L004D49F7 mov edi,[esp+34h] mov esi,L00D1E220 mov ebx,L00D1E620 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E260 mov ebx,L00D1E620 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E2A0 mov ebx,L00D1E640 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E2E0 mov ebx,L00D1E640 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E320 mov ebx,L00D1E660 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E360 mov ebx,L00D1E660 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E3A0 mov ebx,L00D1E680 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E3E0 mov ebx,L00D1E680 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E420 mov ebx,L00D1E6A0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E460 mov ebx,L00D1E6A0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E4A0 mov ebx,L00D1E6C0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E4E0 mov ebx,L00D1E6C0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E520 mov ebx,L00D1E6E0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E560 mov ebx,L00D1E6E0 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E5A0 mov ebx,L00D1E700 call SUB_L004D20DF add edi,[esp+38h] mov esi,L00D1E5E0 mov ebx,L00D1E700 call SUB_L004D20DF add esp,00000014h pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D32D8: push ebx push ecx push edx push esi push edi push ebp call SUB_L004D3E5D mov edi,[esp+1Ch] mov esi,L00D1E220 mov ebx,L00D1E620 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E260 mov ebx,L00D1E620 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E2A0 mov ebx,L00D1E640 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E2E0 mov ebx,L00D1E640 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E320 mov ebx,L00D1E660 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E360 mov ebx,L00D1E660 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E3A0 mov ebx,L00D1E680 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E3E0 mov ebx,L00D1E680 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E420 mov ebx,L00D1E6A0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E460 mov ebx,L00D1E6A0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E4A0 mov ebx,L00D1E6C0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E4E0 mov ebx,L00D1E6C0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E520 mov ebx,L00D1E6E0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E560 mov ebx,L00D1E6E0 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E5A0 mov ebx,L00D1E700 call SUB_L004D1EB4 add edi,[esp+20h] mov esi,L00D1E5E0 mov ebx,L00D1E700 call SUB_L004D1EB4 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D341A: push ebx push ecx push edx push esi push edi push ebp call SUB_L004D3E5D mov ebp,[esp+1Ch] mov esi,L00D1E220 mov edi,L00D1E620 call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E260 mov edi,L00D1E620 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E2A0 mov edi,L00D1E640 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E2E0 mov edi,L00D1E640 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E320 mov edi,L00D1E660 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E360 mov edi,L00D1E660 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E3A0 mov edi,L00D1E680 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E3E0 mov edi,L00D1E680 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E420 mov edi,L00D1E6A0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E460 mov edi,L00D1E6A0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E4A0 mov edi,L00D1E6C0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E4E0 mov edi,L00D1E6C0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E520 mov edi,L00D1E6E0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E560 mov edi,L00D1E6E0 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E5A0 mov edi,L00D1E700 add ebp,eax call SUB_L004D3A48 mov eax,[esp+20h] mov esi,L00D1E5E0 mov edi,L00D1E700 add ebp,eax call SUB_L004D3A48 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D357A: push ebx push ecx push edx push esi push edi push ebp call SUB_L004D3E5D mov ebp,[esp+1Ch] mov esi,L00D1E220 mov edi,L00D1E620 call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E260 mov edi,L00D1E620 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E2A0 mov edi,L00D1E640 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E2E0 mov edi,L00D1E640 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E320 mov edi,L00D1E660 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E360 mov edi,L00D1E660 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E3A0 mov edi,L00D1E680 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E3E0 mov edi,L00D1E680 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E420 mov edi,L00D1E6A0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E460 mov edi,L00D1E6A0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E4A0 mov edi,L00D1E6C0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E4E0 mov edi,L00D1E6C0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E520 mov edi,L00D1E6E0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E560 mov edi,L00D1E6E0 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E5A0 mov edi,L00D1E700 add ebp,eax call SUB_L004D3775 mov eax,[esp+20h] mov esi,L00D1E5E0 mov edi,L00D1E700 add ebp,eax call SUB_L004D3775 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D36DA: push ebx push ecx push edx push esi push edi push ebp mov ebp,[L00D20120] mov edi,[L00D20124] 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 L004D3762 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 L004D3762: mov [L00D20120],ebp mov [L00D20124],edi pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D3775: push edi mov ecx,[edi+00000100h] mov edx,[edi] mov eax,[esi+04h] mov edi,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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_L004D3A48: push edi mov ecx,[edi+00000100h] mov edx,[edi] mov eax,[esi+04h] mov edi,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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,[L00D2132C+ecx*4] mov ebx,[L00D20F2C+edx*4] sub edi,ebx mov ebx,[L00D20B2C+ecx*4] lea ecx,[ebx+L00D1E9A0] mov ebx,[L00D2072C+edx*4] lea edx,[ebx+L00D1F944] 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_L004D3D1B: push ebx push ecx push edx push esi push edi push ebp call SUB_L004D3E5D mov edi,[esp+1Ch] mov esi,L00D1E220 mov ebx,L00D1E620 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E260 mov ebx,L00D1E620 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E2A0 mov ebx,L00D1E640 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E2E0 mov ebx,L00D1E640 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E320 mov ebx,L00D1E660 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E360 mov ebx,L00D1E660 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E3A0 mov ebx,L00D1E680 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E3E0 mov ebx,L00D1E680 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E420 mov ebx,L00D1E6A0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E460 mov ebx,L00D1E6A0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E4A0 mov ebx,L00D1E6C0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E4E0 mov ebx,L00D1E6C0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E520 mov ebx,L00D1E6E0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E560 mov ebx,L00D1E6E0 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E5A0 mov ebx,L00D1E700 call SUB_L004D20DF add edi,[esp+20h] mov esi,L00D1E5E0 mov ebx,L00D1E700 call SUB_L004D20DF pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D3E5D: sub esp,00000014h mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21AC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D3EC8 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 L004D3EC8 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D3EC8: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E220 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E260 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E2E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E320 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E360 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E3E0 call SUB_L004D49F7 mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21AC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D404F 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 L004D404F mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D404F: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E240 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E280 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E2C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E300 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E340 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E380 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E3C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E400 call SUB_L004D49F7 mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21AC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D41D6 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 L004D41D6 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D41D6: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E420 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E460 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4A0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E4E0 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E520 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E560 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5A0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E5E0 call SUB_L004D49F7 mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21AC0] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D435D 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 L004D435D mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D435D: mov edx,[esp+3Ch] mov ebx,[edx] add eax,ebx mov [edx],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E440 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E480 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E4C0 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E500 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E540 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E580 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E5C0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E600 call SUB_L004D49F7 mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21B40] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D44E4 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 L004D44E4 mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D44E4: mov edx,[esp+3Ch] mov ebx,[edx+04h] add eax,ebx mov [edx+04h],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E620 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E640 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E660 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E680 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E6A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E6C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E6E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E700 call SUB_L004D49F7 mov ebp,[L00D20120] mov edi,[L00D20124] 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+L00D21B40] mov edx,ebx shr ebx,04h and edx,0000000Fh xor eax,eax add edi,edx cmp ebx,00000000h jz L004D466D 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 L004D466D mov edx,00000001h shl edx,cl dec edx sub eax,edx L004D466D: mov edx,[esp+3Ch] mov ebx,[edx+08h] add eax,ebx mov [edx+08h],eax call SUB_L004D1B9F mov esi,L00D1E000 mov dword ptr [esp],L00D1E100 call SUB_L004D47CA mov esi,L00D1E020 mov dword ptr [esp],L00D1E104 call SUB_L004D47CA mov esi,L00D1E040 mov dword ptr [esp],L00D1E108 call SUB_L004D47CA mov esi,L00D1E060 mov dword ptr [esp],L00D1E10C call SUB_L004D47CA mov esi,L00D1E080 mov dword ptr [esp],L00D1E110 call SUB_L004D47CA mov esi,L00D1E0A0 mov dword ptr [esp],L00D1E114 call SUB_L004D47CA mov esi,L00D1E0C0 mov dword ptr [esp],L00D1E118 call SUB_L004D47CA mov esi,L00D1E0E0 mov dword ptr [esp],L00D1E11C call SUB_L004D47CA mov esi,L00D1E100 mov dword ptr [esp],L00D1E720 call SUB_L004D49F7 mov esi,L00D1E124 mov dword ptr [esp],L00D1E740 call SUB_L004D49F7 mov esi,L00D1E148 mov dword ptr [esp],L00D1E760 call SUB_L004D49F7 mov esi,L00D1E16C mov dword ptr [esp],L00D1E780 call SUB_L004D49F7 mov esi,L00D1E190 mov dword ptr [esp],L00D1E7A0 call SUB_L004D49F7 mov esi,L00D1E1B4 mov dword ptr [esp],L00D1E7C0 call SUB_L004D49F7 mov esi,L00D1E1D8 mov dword ptr [esp],L00D1E7E0 call SUB_L004D49F7 mov esi,L00D1E1FC mov dword ptr [esp],L00D1E800 call SUB_L004D49F7 add esp,00000014h retn ;------------------------------------------------------------------------------ SUB_L004D4792: push ebx push ecx push edx push esi push edi push ebp mov esi,[esp+1Ch] mov edi,[esp+20h] mov ecx,[esp+24h] L004D47A4: 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 L004D47A4 pop ebp pop edi pop esi pop edx pop ecx pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D47CA: 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 L004D48E1 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 [L00D21734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L00D21730] fxch ST(1) fmul dword ptr [L00D21738] imul [L00D2172C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L00D2173C] fxch ST(1) fadd dword ptr [L00D2173C] 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 [L00D2172C] 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 ;------------------------------------------------------------------------------ L004D48E1: 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 [L00D21734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L00D21730] fxch ST(1) fmul dword ptr [L00D21738] imul [L00D2172C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L00D2173C] fxch ST(1) fadd dword ptr [L00D2173C] 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 [L00D2172C] 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_L004D49F7: 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 [L00D21734] fxch ST(2) fadd ST(1),ST fmul dword ptr [L00D21730] fxch ST(1) fmul dword ptr [L00D21738] imul [L00D2172C] fadd ST(1),ST fsubp ST(2),ST fadd dword ptr [L00D2173C] fxch ST(1) fadd dword ptr [L00D2173C] 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 [L00D2172C] 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 2 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.3: jmp [WSOCK32.dll!WSOCK32.3] jmp_WSOCK32.dll!WSOCK32.15: jmp [WSOCK32.dll!WSOCK32.15] 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.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_DDRAW.dll!DirectDrawCreate: jmp [DDRAW.dll!DirectDrawCreate] jmp_DSOUND.dll!DSOUND.1: jmp [DSOUND.dll!DSOUND.1] Align 16 SUB_L004D4B90: push ecx cmp eax,00001000h lea ecx,[esp+08h] jc L004D4BB0 L004D4B9C: sub ecx,00001000h sub eax,00001000h test [ecx],eax cmp eax,00001000h jnc L004D4B9C L004D4BB0: sub ecx,eax mov eax,esp test [ecx],eax mov esp,ecx mov ecx,[eax] mov eax,[eax+04h] push eax retn ;------------------------------------------------------------------------------ L004D4BBF: push 00000019h call SUB_L004D7BD8 pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D4BC8: 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 C9h; '‰' db C2h; '‚' db 08h; db 00h; SUB_L004D4BFC: pop eax pop ecx xchg eax,[esp] jmp eax SUB_L004D4C03: pop eax pop ecx xchg eax,[esp] jmp eax SUB_L004D4C0A: push ebp mov ebp,esp push ecx push ecx push ebx push esi push edi mov eax,fs:[00000000h] mov [ebp-08h],eax mov dword ptr [ebp-04h],L004D4C32 push 00000000h push [ebp+0Ch] push [ebp-04h] push [ebp+08h] call jmp_KERNEL32.dll!RtlUnwind L004D4C32: mov eax,[ebp+0Ch] mov eax,[eax+04h] and al,FDh mov ecx,[ebp+0Ch] mov [ecx+04h],eax mov eax,fs:[00000000h] mov ebx,[ebp-08h] mov [ebx],eax mov fs:[00000000h],ebx pop edi pop esi pop ebx leave retn 0008h ;------------------------------------------------------------------------------ L004D4C59: push ebp mov ebp,esp sub esp,00000004h push ebx push esi push edi cld mov [ebp-04h],eax xor eax,eax push eax push eax push eax push [ebp-04h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D7C21 add esp,00000020h mov [ebp+14h],eax pop edi pop esi pop ebx mov eax,[ebp+14h] mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D4C8F: push ebp mov ebp,esp sub esp,00000014h mov eax,[ebp+0Ch] and dword ptr [ebp-14h],00000000h mov ecx,[ebp+08h] mov [ebp-0Ch],eax mov eax,[ebp+14h] mov dword ptr [ebp-10h],L004D4CE3 inc eax mov [ebp-08h],ecx mov [ebp-04h],eax mov eax,fs:[00000000h] mov [ebp-14h],eax lea eax,[ebp-00000014h] mov fs:[00000000h],eax push [ebp+18h] push ecx push [ebp+10h] call SUB_L004D8440 mov ecx,eax mov eax,[ebp-14h] mov fs:[00000000h],eax mov eax,ecx leave retn ;------------------------------------------------------------------------------ L004D4CE3: push ebp mov ebp,esp cld mov eax,[ebp+0Ch] push 00000000h push eax push [eax+10h] push [eax+08h] push 00000000h push [ebp+10h] push [eax+0Ch] push [ebp+08h] call SUB_L004D7C21 add esp,00000020h pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D4D08: push ebp mov ebp,esp sub esp,00000034h push ebx push esi push edi and dword ptr [ebp-28h],00000000h mov dword ptr [ebp-24h],L004D4DBE mov eax,[ebp+18h] mov [ebp-20h],eax mov eax,[ebp+0Ch] mov [ebp-1Ch],eax mov eax,[ebp+1Ch] mov [ebp-18h],eax mov eax,[ebp+20h] mov [ebp-14h],eax and dword ptr [ebp-10h],00000000h and dword ptr [ebp-0Ch],00000000h and dword ptr [ebp-08h],00000000h and dword ptr [ebp-04h],00000000h mov dword ptr [ebp-10h],L004D4D90 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 eax,[ebp+08h] mov [ebp-30h],eax mov eax,[ebp+10h] mov [ebp-2Ch],eax lea eax,[ebp-30h] push eax mov eax,[ebp+08h] push [eax] call SUB_L004D84F3 call [eax+68h] pop ecx pop ecx and dword ptr [ebp-34h],00000000h L004D4D90: cmp dword ptr [ebp-04h],00000000h jz L004D4DAD mov ebx,fs:[00000000h] mov eax,[ebx] mov ebx,[ebp-28h] mov [ebx],eax mov fs:[00000000h],ebx jmp L004D4DB6 L004D4DAD: mov eax,[ebp-28h] mov fs:[00000000h],eax L004D4DB6: mov eax,[ebp-34h] pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D4DBE: push ebp mov ebp,esp push ebx push esi push edi cld mov eax,[ebp+08h] mov eax,[eax+04h] and eax,00000066h test eax,eax jz L004D4DE1 mov eax,[ebp+0Ch] mov dword ptr [eax+24h],00000001h push 00000001h pop eax jmp L004D4E2E L004D4DE1: push 00000001h mov eax,[ebp+0Ch] push [eax+14h] mov eax,[ebp+0Ch] push [eax+10h] mov eax,[ebp+0Ch] push [eax+08h] push 00000000h push [ebp+10h] mov eax,[ebp+0Ch] push [eax+0Ch] push [ebp+08h] call SUB_L004D7C21 add esp,00000020h mov eax,[ebp+0Ch] cmp dword ptr [eax+24h],00000000h jnz L004D4E1F push [ebp+08h] push [ebp+0Ch] call SUB_L004D4C0A L004D4E1F: mov ebx,[ebp+0Ch] mov esp,[ebx+1Ch] mov ebp,[ebx+20h] jmp [ebx+18h] push 00000001h pop eax L004D4E2E: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D4E33: push ebp mov ebp,esp push ecx push ebx push esi cmp dword ptr [ebp+0Ch],00000000h push edi mov edi,[ebp+08h] mov esi,[edi+0Ch] mov ebx,[edi+10h] mov eax,esi mov [ebp+08h],esi mov [ebp-04h],eax jl L004D4E8A L004D4E51: cmp esi,FFFFFFFFh jnz L004D4E5B call SUB_L004D865B L004D4E5B: mov ecx,[ebp+10h] dec esi lea eax,[esi+esi*4] cmp [ebx+eax*4+04h],ecx lea eax,[ebx+eax*4] jge L004D4E70 cmp ecx,[eax+08h] jle L004D4E75 L004D4E70: cmp esi,FFFFFFFFh jnz L004D4E81 L004D4E75: mov eax,[ebp+08h] dec [ebp+0Ch] mov [ebp-04h],eax mov [ebp+08h],esi L004D4E81: cmp dword ptr [ebp+0Ch],00000000h jge L004D4E51 mov eax,[ebp-04h] L004D4E8A: mov ecx,[ebp+14h] inc esi mov [ecx],esi mov ecx,[ebp+18h] mov [ecx],eax cmp eax,[edi+0Ch] ja L004D4E9E cmp esi,eax jbe L004D4EA3 L004D4E9E: call SUB_L004D865B L004D4EA3: lea eax,[esi+esi*4] pop edi pop esi lea eax,[ebx+eax*4] pop ebx leave retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D4EB0: push ebp mov ebp,esp push ebx push esi push edi push ebp push 00000000h push 00000000h push L004D4EC8 push [ebp+08h] call jmp_KERNEL32.dll!RtlUnwind L004D4EC8: pop ebp pop edi pop esi pop ebx mov esp,ebp pop ebp retn ;------------------------------------------------------------------------------ L004D4ED0: mov ecx,[esp+04h] test dword ptr [ecx+04h],00000006h mov eax,00000001h jz L004D4EF1 mov eax,[esp+08h] mov edx,[esp+10h] mov [edx],eax mov eax,00000003h L004D4EF1: retn ;------------------------------------------------------------------------------ SUB_L004D4EF2: push ebx push esi push edi mov eax,[esp+10h] push eax push FFFFFFFEh push L004D4ED0 push fs:[00000000h] mov fs:[00000000h],esp L004D4F0F: mov eax,[esp+20h] mov ebx,[eax+08h] mov esi,[eax+0Ch] cmp esi,FFFFFFFFh jz L004D4F4C cmp esi,[esp+24h] jz L004D4F4C 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 L004D4F4A push 00000101h mov eax,[ebx+esi*4+08h] call SUB_L004D4F86 call [ebx+esi*4+08h] L004D4F4A: jmp L004D4F0F L004D4F4C: pop fs:[00000000h] add esp,0000000Ch pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D4F5A: xor eax,eax mov ecx,fs:[00000000h] cmp dword ptr [ecx+04h],L004D4ED0 jnz L004D4F7C mov edx,[ecx+0Ch] mov edx,[edx+0Ch] cmp [ecx+08h],edx jnz L004D4F7C mov eax,00000001h L004D4F7C: retn ;------------------------------------------------------------------------------ SUB_L004D4F7D: push ebx push ecx mov ebx,L00514750 jmp L004D4F90 SUB_L004D4F86: push ebx push ecx mov ebx,L00514750 mov ecx,[ebp+08h] L004D4F90: mov [ebx+08h],ecx mov [ebx+04h],eax mov [ebx+0Ch],ebp pop ecx pop ebx retn 0004h ;------------------------------------------------------------------------------ SUB_L004D4F9E: push [esp+04h] call SUB_L004D59F6 pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D4FA9: push 00000001h push [esp+08h] call SUB_L004D5A50 pop ecx pop ecx retn ;------------------------------------------------------------------------------ L004D4FB7: call SUB_L004D4FCF call SUB_L004D8701 mov [L00D1BAE8],eax call SUB_L004D86B1 fnclex retn ;------------------------------------------------------------------------------ L004D4FCE: retn ;------------------------------------------------------------------------------ SUB_L004D4FCF: mov eax,L004D8ADA mov dword ptr [L005147BC],L004D8784 mov [L005147B8],eax mov dword ptr [L005147C0],L004D87EA mov dword ptr [L005147C4],L004D872A mov dword ptr [L005147C8],L004D87D2 mov [L005147CC],eax retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D5008: 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 ;------------------------------------------------------------------------------ SUB_L004D502F: push esi call SUB_L004D5612 push [L00D1D234] call SUB_L004D8C88 mov edx,[L00D1D234] pop ecx mov ecx,[L00D1D230] mov esi,ecx sub esi,edx add esi,00000004h cmp eax,esi jnc L004D5095 push edx call SUB_L004D8C88 add eax,00000010h push eax push [L00D1D234] call SUB_L004D8B50 add esp,0000000Ch test eax,eax jnz L004D5078 xor esi,esi jmp L004D50A4 L004D5078: mov ecx,[L00D1D230] sub ecx,[L00D1D234] mov [L00D1D234],eax sar ecx,02h lea ecx,[eax+ecx*4] mov [L00D1D230],ecx L004D5095: mov eax,[esp+08h] mov [ecx],eax add dword ptr [L00D1D230],00000004h mov esi,eax L004D50A4: call SUB_L004D561B mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D50AD: push [esp+04h] call SUB_L004D502F neg eax sbb eax,eax pop ecx neg eax dec eax retn ;------------------------------------------------------------------------------ push 00000080h call SUB_L004D5A3E test eax,eax pop ecx mov [L00D1D234],eax jnz L004D50E0 push 00000018h call SUB_L004D7BD8 mov eax,[L00D1D234] pop ecx L004D50E0: and dword ptr [eax],00000000h mov eax,[L00D1D234] mov [L00D1D230],eax retn ;------------------------------------------------------------------------------ SUB_L004D50EE: push ebx push esi mov esi,L005147F0 push edi push esi push 00000001h call SUB_L004D8DB8 push esi call SUB_L004D8E2D mov edi,eax lea eax,[esp+20h] push eax push [esp+20h] push esi call SUB_L004D8EE4 push esi push edi mov ebx,eax call SUB_L004D8EBA push esi push 00000001h call SUB_L004D8E0A add esp,00000028h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D512F: push ebp mov ebp,esp sub esp,00000020h mov eax,[ebp+08h] push esi mov [ebp-18h],eax mov [ebp-20h],eax lea eax,[ebp+10h] mov dword ptr [ebp-14h],00000042h push eax lea eax,[ebp-20h] push [ebp+0Ch] mov dword ptr [ebp-1Ch],7FFFFFFFh push eax call SUB_L004D8EE4 add esp,0000000Ch dec [ebp-1Ch] mov esi,eax js L004D516F mov eax,[ebp-20h] and byte ptr [eax],00h jmp L004D517C L004D516F: lea eax,[ebp-20h] push eax push 00000000h call SUB_L004D96EE pop ecx pop ecx L004D517C: mov eax,esi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D5181: push ebx xor ebx,ebx cmp [L00D1BC94],ebx jnz L004D519F mov eax,[esp+08h] cmp eax,00000041h jl L004D51EE cmp eax,0000005Ah jg L004D51EE add eax,00000020h pop ebx retn ;------------------------------------------------------------------------------ L004D519F: push esi mov esi,L00D1C208 push edi push esi call [KERNEL32.dll!InterlockedIncrement] cmp [L00D1C204],ebx mov edi,[KERNEL32.dll!InterlockedDecrement] jz L004D51C9 push esi call edi push 00000013h call SUB_L004D982F pop ecx push 00000001h pop ebx L004D51C9: push [esp+10h] call SUB_L004D51F0 test ebx,ebx pop ecx mov [esp+10h],eax jz L004D51E5 push 00000013h call SUB_L004D9890 pop ecx jmp L004D51E8 L004D51E5: push esi call edi L004D51E8: mov eax,[esp+10h] pop edi pop esi L004D51EE: pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D51F0: push ebp mov ebp,esp push ecx cmp dword ptr [L00D1BC94],00000000h push ebx push esi push edi jnz L004D521D mov eax,[ebp+08h] cmp eax,00000041h jl L004D52B6 cmp eax,0000005Ah jg L004D52B6 add eax,00000020h jmp L004D52B6 L004D521D: mov ebx,[ebp+08h] mov edi,00000100h push 00000001h cmp ebx,edi pop esi jge L004D5251 cmp [L00514E30],esi jle L004D523F push esi push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004D5249 L004D523F: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,esi L004D5249: test eax,eax jnz L004D5251 L004D524D: mov eax,ebx jmp L004D52B6 L004D5251: mov edx,[L00514C24] mov eax,ebx sar eax,08h movzx ecx,al test byte ptr [edx+ecx*2+01h],80h jz L004D5275 and byte ptr [ebp+0Ah],00h push 00000002h mov [ebp+08h],al mov [ebp+09h],bl pop eax jmp L004D527E L004D5275: and byte ptr [ebp+09h],00h mov [ebp+08h],bl mov eax,esi L004D527E: push esi push 00000000h lea ecx,[ebp-04h] push 00000003h push ecx push eax lea eax,[ebp+08h] push eax push edi push [L00D1BC94] call SUB_L004D98A5 add esp,00000020h test eax,eax jz L004D524D cmp eax,esi jnz L004D52A9 movzx eax,[ebp-04h] jmp L004D52B6 L004D52A9: movzx eax,[ebp-03h] movzx ecx,[ebp-04h] shl eax,08h or eax,ecx L004D52B6: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ Align 8 SUB_L004D52C0: mov ecx,[esp+0Ch] push edi test ecx,ecx jz L004D5343 push esi push ebx mov ebx,ecx mov esi,[esp+14h] test esi,00000003h mov edi,[esp+10h] jnz L004D52E4 shr ecx,02h jnz L004D5351 jmp L004D5305 L004D52E4: mov al,[esi] inc esi mov [edi],al inc edi dec ecx jz L004D5312 test al,al jz L004D531A test esi,00000003h jnz L004D52E4 mov ebx,ecx shr ecx,02h jnz L004D5351 L004D5300: and ebx,00000003h jz L004D5312 L004D5305: mov al,[esi] inc esi mov [edi],al inc edi test al,al jz L004D533E dec ebx jnz L004D5305 L004D5312: mov eax,[esp+10h] pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ L004D531A: test edi,00000003h jz L004D5334 L004D5322: mov [edi],al inc edi dec ecx jz L004D53B6 test edi,00000003h jnz L004D5322 L004D5334: mov ebx,ecx shr ecx,02h jnz L004D53A7 L004D533B: mov [edi],al inc edi L004D533E: dec ebx jnz L004D533B pop ebx pop esi L004D5343: mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ L004D5349: mov [edi],edx add edi,00000004h dec ecx jz L004D5300 L004D5351: 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 L004D5349 test dl,dl jz L004D539B test dh,dh jz L004D5391 test edx,00FF0000h jz L004D5387 test edx,FF000000h jnz L004D5349 mov [edi],edx jmp L004D539F L004D5387: and edx,0000FFFFh mov [edi],edx jmp L004D539F L004D5391: and edx,000000FFh mov [edi],edx jmp L004D539F L004D539B: xor edx,edx mov [edi],edx L004D539F: add edi,00000004h xor eax,eax dec ecx jz L004D53B1 L004D53A7: xor eax,eax L004D53A9: mov [edi],eax add edi,00000004h dec ecx jnz L004D53A9 L004D53B1: and ebx,00000003h jnz L004D533B L004D53B6: mov eax,[esp+10h] pop ebx pop esi pop edi retn ;------------------------------------------------------------------------------ SUB_L004D53BE: push ebp mov ebp,esp push FFFFFFFFh push L004F23F8 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi and dword ptr [ebp-1Ch],00000000h mov esi,[ebp+0Ch] mov eax,esi imul eax,[ebp+10h] add [ebp+08h],eax and dword ptr [ebp-04h],00000000h L004D53F5: dec [ebp+10h] js L004D5405 sub [ebp+08h],esi mov ecx,[ebp+08h] call [ebp+14h] jmp L004D53F5 L004D5405: mov dword ptr [ebp-1Ch],00000001h or dword ptr [ebp-04h],FFFFFFFFh call SUB_L004D5426 mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn 0010h ;------------------------------------------------------------------------------ SUB_L004D5426: cmp dword ptr [ebp-1Ch],00000000h jnz L004D543D push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D543E L004D543D: retn ;------------------------------------------------------------------------------ SUB_L004D543E: push ebp mov ebp,esp push FFFFFFFFh push L004F2408 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ecx push ebx push esi push edi mov [ebp-18h],esp and dword ptr [ebp-04h],00000000h L004D5467: dec [ebp+10h] js L004D5487 mov ecx,[ebp+08h] sub ecx,[ebp+0Ch] mov [ebp+08h],ecx call [ebp+14h] jmp L004D5467 push [ebp-14h] call SUB_L004D8014 pop ecx retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] L004D5487: or dword ptr [ebp-04h],FFFFFFFFh mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn 0010h ;------------------------------------------------------------------------------ SUB_L004D549C: push ebp mov ebp,esp push FFFFFFFFh push L004F2418 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000010h push ebx push esi push edi xor eax,eax mov [ebp-20h],eax mov [ebp-04h],eax mov [ebp-1Ch],eax L004D54CA: mov eax,[ebp-1Ch] cmp eax,[ebp+10h] jge L004D54E5 mov esi,[ebp+08h] mov ecx,esi call [ebp+14h] add esi,[ebp+0Ch] mov [ebp+08h],esi inc [ebp-1Ch] jmp L004D54CA L004D54E5: mov dword ptr [ebp-20h],00000001h or dword ptr [ebp-04h],FFFFFFFFh call SUB_L004D5506 mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn 0014h ;------------------------------------------------------------------------------ SUB_L004D5506: cmp dword ptr [ebp-20h],00000000h jnz L004D551D push [ebp+18h] push [ebp-1Ch] push [ebp+0Ch] push [ebp+08h] call SUB_L004D543E L004D551D: retn ;------------------------------------------------------------------------------ SUB_L004D551E: mov eax,[L00514768] test eax,eax jz L004D5529 call eax L004D5529: push L004FB088 push L004FB074 call SUB_L004D5624 push L004FB070 push L004FB000 call SUB_L004D5624 add esp,00000010h retn ;------------------------------------------------------------------------------ SUB_L004D554B: push 00000000h push 00000000h push [esp+0Ch] call SUB_L004D556D add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004D555C: push 00000000h push 00000001h push [esp+0Ch] call SUB_L004D556D add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004D556D: push edi call SUB_L004D5612 push 00000001h pop edi cmp [L00D1BB2C],edi jnz L004D558F push [esp+08h] call [KERNEL32.dll!GetCurrentProcess] push eax call [KERNEL32.dll!TerminateProcess] L004D558F: cmp dword ptr [esp+0Ch],00000000h push ebx mov ebx,[esp+14h] mov [L00D1BB28],edi mov [L00D1BB24],bl jnz L004D55E3 mov eax,[L00D1D234] test eax,eax jz L004D55D2 mov ecx,[L00D1D230] push esi lea esi,[ecx-04h] cmp esi,eax jc L004D55D1 L004D55BE: mov eax,[esi] test eax,eax jz L004D55C6 call eax L004D55C6: sub esi,00000004h cmp esi,[L00D1D234] jnc L004D55BE L004D55D1: pop esi L004D55D2: push L004FB094 push L004FB08C call SUB_L004D5624 pop ecx pop ecx L004D55E3: push L004FB0A0 push L004FB098 call SUB_L004D5624 pop ecx pop ecx test ebx,ebx pop ebx jz L004D5600 call SUB_L004D561B pop edi retn ;------------------------------------------------------------------------------ L004D5600: push [esp+08h] mov [L00D1BB2C],edi call [KERNEL32.dll!ExitProcess] pop edi retn ;------------------------------------------------------------------------------ SUB_L004D5612: push 0000000Dh call SUB_L004D982F pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D561B: push 0000000Dh call SUB_L004D9890 pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D5624: push esi mov esi,[esp+08h] L004D5629: cmp esi,[esp+0Ch] jnc L004D563C mov eax,[esi] test eax,eax jz L004D5637 call eax L004D5637: add esi,00000004h jmp L004D5629 L004D563C: pop esi retn ;------------------------------------------------------------------------------ SUB_L004D563E: push ebp mov ebp,esp sub esp,00000020h push ebx push esi mov esi,[ebp+0Ch] push edi call SUB_L004D84F3 push 00000008h mov [ebp+0Ch],eax pop ecx xor eax,eax lea edi,[ebp-20h] push 00000007h rep stosd pop edi L004D565F: mov dl,[esi] mov bl,01h movzx ecx,dl mov eax,ecx and ecx,edi shr eax,03h shl bl,cl lea eax,[ebp+eax-20h] or [eax],bl inc esi test dl,dl jnz L004D565F mov edx,[ebp+08h] test edx,edx jnz L004D5687 mov eax,[ebp+0Ch] mov edx,[eax+18h] L004D5687: mov al,[edx] push 00000001h movzx esi,al mov ecx,esi pop ebx and ecx,edi shl ebx,cl shr esi,03h mov cl,[ebp+esi-20h] test cl,bl jz L004D56A7 test al,al jz L004D56A7 inc edx jmp L004D5687 L004D56A7: mov ebx,edx L004D56A9: mov al,[edx] test al,al jz L004D56CD movzx esi,al mov ecx,esi push 00000001h and ecx,edi pop eax shl eax,cl shr esi,03h mov cl,[ebp+esi-20h] test cl,al jnz L004D56C9 inc edx jmp L004D56A9 L004D56C9: and byte ptr [edx],00h inc edx L004D56CD: mov eax,[ebp+0Ch] pop edi pop esi mov [eax+18h],edx mov eax,ebx sub eax,edx neg eax sbb eax,eax and eax,ebx pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D56E2: push esi mov esi,[esp+0Ch] push edi push esi call SUB_L004D8D89 dec [esi+04h] pop ecx js L004D5703 mov ecx,[esi] mov al,[esp+0Ch] movzx edi,al mov [ecx],al inc [esi] jmp L004D5711 L004D5703: push esi push [esp+10h] call SUB_L004D96EE pop ecx mov edi,eax pop ecx L004D5711: push esi call SUB_L004D8DDB pop ecx mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D571D: push ebx push esi mov esi,[esp+0Ch] push edi push esi call SUB_L004D8D89 push esi call SUB_L004D8E2D mov edi,eax lea eax,[esp+20h] push eax push [esp+20h] push esi call SUB_L004D8EE4 push esi push edi mov ebx,eax call SUB_L004D8EBA push esi call SUB_L004D8DDB add esp,00000020h mov eax,ebx pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D5759: push esi mov esi,[esp+08h] push edi push esi call SUB_L004D8D89 push esi call SUB_L004D577B push esi mov edi,eax call SUB_L004D8DDB add esp,0000000Ch mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D577B: push ebp mov ebp,esp sub esp,0000000Ch push ebx push esi push edi mov edi,[ebp+08h] xor ebx,ebx mov esi,[edi+10h] cmp [edi+04h],ebx mov [ebp-0Ch],esi jge L004D5797 mov [edi+04h],ebx L004D5797: push 00000001h push ebx push esi call SUB_L004D9E61 add esp,0000000Ch cmp eax,ebx mov [ebp-04h],eax jl L004D5809 mov ecx,[edi+0Ch] test cx,0108h jnz L004D57BC sub eax,[edi+04h] jmp L004D58D7 L004D57BC: mov eax,[edi] mov edx,[edi+08h] mov ebx,eax sub ebx,edx test cl,03h mov [ebp-08h],ebx jz L004D57F9 mov ebx,esi mov ecx,esi sar ebx,05h and ecx,0000001Fh mov ebx,[L00D1C100+ebx*4] lea ecx,[ecx+ecx*8] test byte ptr [ebx+ecx*4+04h],80h jz L004D5811 mov ecx,edx L004D57EA: cmp ecx,eax jnc L004D5811 cmp byte ptr [ecx],0Ah jnz L004D57F6 inc [ebp-08h] L004D57F6: inc ecx jmp L004D57EA L004D57F9: test cl,80h jnz L004D5811 call SUB_L004D9C93 mov dword ptr [eax],00000016h L004D5809: or eax,FFFFFFFFh jmp L004D58D7 L004D5811: cmp dword ptr [ebp-04h],00000000h jnz L004D581F mov eax,[ebp-08h] jmp L004D58D7 L004D581F: test byte ptr [edi+0Ch],01h jz L004D58CF mov ecx,[edi+04h] test ecx,ecx jnz L004D5838 and [ebp-08h],ecx jmp L004D58CF L004D5838: sub eax,edx add eax,ecx mov [ebp+08h],eax mov eax,esi sar eax,05h lea ebx,[L00D1C100+eax*4] mov eax,esi and eax,0000001Fh lea esi,[eax+eax*8] mov eax,[ebx] shl esi,02h test byte ptr [esi+eax+04h],80h jz L004D58C9 push 00000002h push 00000000h push [ebp-0Ch] call SUB_L004D9E61 add esp,0000000Ch cmp eax,[ebp-04h] jnz L004D5890 mov eax,[edi+08h] mov ecx,[ebp+08h] add ecx,eax L004D587B: cmp eax,ecx jnc L004D588A cmp byte ptr [eax],0Ah jnz L004D5887 inc [ebp+08h] L004D5887: inc eax jmp L004D587B L004D588A: test byte ptr [edi+0Dh],20h jmp L004D58C4 L004D5890: push 00000000h push [ebp-04h] push [ebp-0Ch] call SUB_L004D9E61 mov eax,00000200h add esp,0000000Ch cmp [ebp+08h],eax ja L004D58B7 mov ecx,[edi+0Ch] test cl,08h jz L004D58B7 test ch,04h jz L004D58BA L004D58B7: mov eax,[edi+18h] L004D58BA: mov [ebp+08h],eax mov eax,[ebx] test byte ptr [esi+eax+04h],04h L004D58C4: jz L004D58C9 inc [ebp+08h] L004D58C9: mov eax,[ebp+08h] sub [ebp-04h],eax L004D58CF: mov eax,[ebp-08h] mov ecx,[ebp-04h] add eax,ecx L004D58D7: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D58DC: cmp dword ptr [L00514E30],00000001h jle L004D58F3 push 00000004h push [esp+08h] call SUB_L004D9AC9 pop ecx pop ecx retn ;------------------------------------------------------------------------------ L004D58F3: mov eax,[esp+04h] mov ecx,[L00514C24] mov al,[ecx+eax*2] and eax,00000004h retn ;------------------------------------------------------------------------------ SUB_L004D5904: cmp dword ptr [L00514E30],00000001h jle L004D591B push 00000008h push [esp+08h] call SUB_L004D9AC9 pop ecx pop ecx retn ;------------------------------------------------------------------------------ L004D591B: mov eax,[esp+04h] mov ecx,[L00514C24] mov al,[ecx+eax*2] and eax,00000008h retn ;------------------------------------------------------------------------------ SUB_L004D592C: push ebp mov ebp,esp sub esp,00000020h mov eax,[ebp+08h] mov dword ptr [ebp-14h],00000049h push eax mov [ebp-18h],eax mov [ebp-20h],eax call SUB_L004DA9F0 mov [ebp-1Ch],eax lea eax,[ebp+10h] push eax lea eax,[ebp-20h] push [ebp+0Ch] push eax call SUB_L004D9F39 add esp,00000010h leave retn ;------------------------------------------------------------------------------ SUB_L004D5960: push ebx push ebp push esi push edi mov edi,[esp+14h] L004D5968: cmp dword ptr [L00514E30],00000001h jle L004D5980 movzx eax,[edi] push 00000008h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004D598F L004D5980: movzx eax,[edi] mov ecx,[L00514C24] mov al,[ecx+eax*2] and eax,00000008h L004D598F: test eax,eax jz L004D5996 inc edi jmp L004D5968 L004D5996: movzx esi,[edi] inc edi cmp esi,0000002Dh mov ebp,esi jz L004D59A6 cmp esi,0000002Bh jnz L004D59AA L004D59A6: movzx esi,[edi] inc edi L004D59AA: xor ebx,ebx L004D59AC: cmp dword ptr [L00514E30],00000001h jle L004D59C1 push 00000004h push esi call SUB_L004D9AC9 pop ecx pop ecx jmp L004D59CC L004D59C1: mov eax,[L00514C24] mov al,[eax+esi*2] and eax,00000004h L004D59CC: test eax,eax jz L004D59DD lea eax,[ebx+ebx*4] lea ebx,[esi+eax*2-30h] movzx esi,[edi] inc edi jmp L004D59AC L004D59DD: cmp ebp,0000002Dh mov eax,ebx jnz L004D59E6 neg eax L004D59E6: pop edi pop esi pop ebp pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D59EB: push [esp+04h] call SUB_L004D5960 pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D59F6: push esi mov esi,[esp+08h] test esi,esi jz L004D5A3C push 00000009h call SUB_L004D982F push esi call SUB_L004DAB1E pop ecx test eax,eax pop ecx jz L004D5A25 push esi push eax call SUB_L004DAB49 push 00000009h call SUB_L004D9890 add esp,0000000Ch pop esi retn ;------------------------------------------------------------------------------ L004D5A25: push 00000009h call SUB_L004D9890 pop ecx push esi push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapFree] L004D5A3C: pop esi retn ;------------------------------------------------------------------------------ SUB_L004D5A3E: push [L00D1BCB0] push [esp+08h] call SUB_L004D5A50 pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D5A50: cmp dword ptr [esp+04h],FFFFFFE0h ja L004D5A79 L004D5A57: push [esp+04h] call SUB_L004D5A7C test eax,eax pop ecx jnz L004D5A7B cmp [esp+08h],eax jz L004D5A7B push [esp+04h] call SUB_L004D74F3 test eax,eax pop ecx jnz L004D5A57 L004D5A79: xor eax,eax L004D5A7B: retn ;------------------------------------------------------------------------------ SUB_L004D5A7C: push esi mov esi,[esp+08h] cmp esi,[L00514FE4] push edi ja L004D5AAB push 00000009h call SUB_L004D982F push esi call SUB_L004DAE74 push 00000009h mov edi,eax call SUB_L004D9890 add esp,0000000Ch test edi,edi jz L004D5AAB mov eax,edi jmp L004D5AC7 L004D5AAB: test esi,esi jnz L004D5AB2 push 00000001h pop esi L004D5AB2: add esi,0000000Fh and esi,FFFFFFF0h push esi push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapAlloc] L004D5AC7: pop edi pop esi retn ;------------------------------------------------------------------------------ db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' db CCh; 'Œ' 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] lea ecx,[ecx+00h] L004D5AE4: mov al,[edx] or al,al jz L004D5AF1 inc edx bts [esp],eax jmp L004D5AE4 L004D5AF1: mov esi,[ebp+08h] or ecx,FFFFFFFFh nop L004D5AF8: inc ecx mov al,[esi] or al,al jz L004D5B06 inc esi bt [esp],eax jc L004D5AF8 L004D5B06: mov eax,ecx add esp,00000020h pop esi leave retn ;------------------------------------------------------------------------------ db CCh; 'Œ' db CCh; 'Œ' 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] lea ecx,[ecx+00h] L004D5B24: mov al,[edx] or al,al jz L004D5B31 inc edx bts [esp],eax jmp L004D5B24 L004D5B31: mov esi,[ebp+08h] or ecx,FFFFFFFFh nop L004D5B38: inc ecx mov al,[esi] or al,al jz L004D5B46 inc esi bt [esp],eax jnc L004D5B38 L004D5B46: mov eax,ecx add esp,00000020h pop esi leave retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D5B50: 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 L004D5B71 xor eax,eax jmp L004D5B73 L004D5B71: mov eax,edi L004D5B73: cld pop edi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D5B80: mov ecx,[esp+08h] push edi push ebx push esi mov dl,[ecx] mov edi,[esp+10h] test dl,dl jz L004D5BFA mov dh,[ecx+01h] test dh,dh jz L004D5BE7 L004D5B98: mov esi,edi mov ecx,[esp+14h] mov al,[edi] inc esi cmp al,dl jz L004D5BBA test al,al jz L004D5BB4 L004D5BA9: mov al,[esi] inc esi L004D5BAC: cmp al,dl jz L004D5BBA test al,al jnz L004D5BA9 L004D5BB4: pop esi pop ebx pop edi xor eax,eax retn ;------------------------------------------------------------------------------ L004D5BBA: mov al,[esi] inc esi cmp al,dh jnz L004D5BAC lea edi,[esi-01h] L004D5BC4: mov ah,[ecx+02h] test ah,ah jz L004D5BF3 mov al,[esi] add esi,00000002h cmp al,ah jnz L004D5B98 mov al,[ecx+03h] test al,al jz L004D5BF3 mov ah,[esi-01h] add ecx,00000002h cmp al,ah jz L004D5BC4 jmp L004D5B98 L004D5BE7: xor eax,eax pop esi pop ebx pop edi mov al,dl jmp L004D63C6 L004D5BF3: lea eax,[edi-01h] pop esi pop ebx pop edi retn ;------------------------------------------------------------------------------ L004D5BFA: mov eax,edi pop esi pop ebx pop edi retn ;------------------------------------------------------------------------------ SUB_L004D5C00: mov eax,[esp+04h] push esi mov esi,[esp+0Ch] and eax,000000FFh push edi mov ecx,esi cmp byte ptr [esi+01h],3Ah jnz L004D5C1A lea ecx,[esi+02h] L004D5C1A: mov dl,[ecx] cmp dl,5Ch jz L004D5C26 cmp dl,2Fh jnz L004D5C2C L004D5C26: cmp byte ptr [ecx+01h],00h jz L004D5C39 L004D5C2C: test al,10h jnz L004D5C39 test dl,dl mov edi,00008000h jnz L004D5C3E L004D5C39: mov edi,00004040h L004D5C3E: not al and eax,00000001h push 0000002Eh or al,02h push esi shl eax,07h or edi,eax call SUB_L004DB7B4 mov esi,eax pop ecx test esi,esi pop ecx jz L004D5CA1 push SSZ004F243C__exe push esi call SUB_L004DB61F pop ecx test eax,eax pop ecx jz L004D5C9E push SSZ004F2434__cmd push esi call SUB_L004DB61F pop ecx test eax,eax pop ecx jz L004D5C9E push SSZ004F242C__bat push esi call SUB_L004DB61F pop ecx test eax,eax pop ecx jz L004D5C9E push SSZ004F2424__com push esi call SUB_L004DB61F pop ecx test eax,eax pop ecx jnz L004D5CA1 L004D5C9E: or edi,00000040h L004D5CA1: 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 retn ;------------------------------------------------------------------------------ SUB_L004D5CB8: push ebp mov ebp,esp sub esp,00000264h push ebx push esi mov esi,[ebp+08h] push edi push L004F2448 push esi call SUB_L004DBA4B pop ecx test eax,eax pop ecx jnz L004D5CEB xor ebx,ebx cmp byte ptr [esi+01h],3Ah jnz L004D5D13 mov al,[esi] cmp al,bl jz L004D5D04 cmp [esi+02h],bl jnz L004D5D04 L004D5CEB: call SUB_L004D9C93 push 00000002h pop esi mov [eax],esi call SUB_L004D9C9C mov [eax],esi or eax,FFFFFFFFh jmp L004D5F6E L004D5D04: movsx eax,al push eax call SUB_L004DB9D0 pop ecx sub eax,00000060h jmp L004D5D18 L004D5D13: call SUB_L004DB98D L004D5D18: mov [ebp-20h],eax lea eax,[ebp-00000160h] push eax push esi call [KERNEL32.dll!FindFirstFileA] or edi,FFFFFFFFh mov [ebp-14h],eax cmp eax,edi jnz L004D5DE2 push L004F2444 push esi call SUB_L004DBA4B pop ecx test eax,eax pop ecx jz L004D5DCC push 00000104h lea eax,[ebp-00000264h] push esi push eax call SUB_L004DB8E8 mov esi,eax add esp,0000000Ch cmp esi,ebx jz L004D5DCC push esi call SUB_L004DA9F0 cmp eax,00000003h pop ecx jz L004D5D7E push esi call SUB_L004D5F73 test eax,eax pop ecx jz L004D5DCC L004D5D7E: push esi call [KERNEL32.dll!GetDriveTypeA] cmp eax,00000001h jbe L004D5DCC push edi push ebx push ebx push ebx push 00000001h push 00000001h push 000007BCh mov dword ptr [ebp-00000160h],00000010h mov [ebp-00000144h],ebx mov [ebp-00000140h],ebx mov [ebp-00000134h],bl call SUB_L004DB826 mov esi,[ebp+0Ch] add esp,0000001Ch mov [esi+1Ch],eax mov [esi+18h],eax mov [esi+20h],eax jmp L004D5F1A L004D5DCC: call SUB_L004D9C93 push 00000002h pop esi mov [eax],esi call SUB_L004D9C9C mov [eax],esi jmp L004D5F6C L004D5DE2: lea eax,[ebp-1Ch] push eax lea eax,[ebp-0000014Ch] push eax call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004D5F56 lea eax,[ebp-10h] push eax lea eax,[ebp-1Ch] push eax call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004D5F56 movzx eax,[ebp-04h] push edi push eax movzx eax,[ebp-06h] push eax movzx eax,[ebp-08h] push eax movzx eax,[ebp-0Ah] push eax movzx eax,[ebp-0Eh] push eax movzx eax,[ebp-10h] push eax call SUB_L004DB826 mov esi,[ebp+0Ch] add esp,0000001Ch cmp [ebp-00000154h],ebx mov [esi+1Ch],eax jnz L004D5E4E cmp [ebp-00000150h],ebx jz L004D5EA4 L004D5E4E: lea eax,[ebp-1Ch] push eax lea eax,[ebp-00000154h] push eax call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004D5F56 lea eax,[ebp-10h] push eax lea eax,[ebp-1Ch] push eax call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004D5F56 movzx eax,[ebp-04h] push edi push eax movzx eax,[ebp-06h] push eax movzx eax,[ebp-08h] push eax movzx eax,[ebp-0Ah] push eax movzx eax,[ebp-0Eh] push eax movzx eax,[ebp-10h] push eax call SUB_L004DB826 add esp,0000001Ch L004D5EA4: cmp [ebp-0000015Ch],ebx mov [esi+18h],eax jnz L004D5EBC cmp [ebp-00000158h],ebx jnz L004D5EBC mov eax,[esi+1Ch] jmp L004D5F0E L004D5EBC: lea eax,[ebp-1Ch] push eax lea eax,[ebp-0000015Ch] push eax call [KERNEL32.dll!FileTimeToLocalFileTime] test eax,eax jz L004D5F56 lea eax,[ebp-10h] push eax lea eax,[ebp-1Ch] push eax call [KERNEL32.dll!FileTimeToSystemTime] test eax,eax jz L004D5F56 movzx eax,[ebp-04h] push edi push eax movzx eax,[ebp-06h] push eax movzx eax,[ebp-08h] push eax movzx eax,[ebp-0Ah] push eax movzx eax,[ebp-0Eh] push eax movzx eax,[ebp-10h] push eax call SUB_L004DB826 add esp,0000001Ch L004D5F0E: push [ebp-14h] mov [esi+20h],eax call [KERNEL32.dll!FindClose] L004D5F1A: push [ebp+08h] push [ebp-00000160h] call SUB_L004D5C00 mov [esi+06h],ax mov eax,[ebp-00000140h] mov [esi+14h],eax mov eax,[ebp-20h] dec eax pop ecx mov [esi],eax mov [esi+10h],eax pop ecx mov word ptr [esi+08h],0001h mov [esi+04h],bx mov [esi+0Ch],bx mov [esi+0Ah],bx xor eax,eax jmp L004D5F6E L004D5F56: call [KERNEL32.dll!GetLastError] push eax call SUB_L004D9C20 pop ecx push [ebp-14h] call [KERNEL32.dll!FindClose] L004D5F6C: mov eax,edi L004D5F6E: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D5F73: push esi mov esi,[esp+08h] push esi call SUB_L004DA9F0 cmp eax,00000005h pop ecx jc L004D5FDF mov al,[esi] cmp al,5Ch jz L004D5F8E cmp al,2Fh jnz L004D5FDF L004D5F8E: mov al,[esi+01h] cmp al,5Ch jz L004D5F99 cmp al,2Fh jnz L004D5FDF L004D5F99: mov cl,[esi+03h] lea eax,[esi+03h] xor dl,dl L004D5FA1: cmp cl,dl jz L004D5FB5 cmp cl,5Ch jz L004D5FB5 cmp cl,2Fh jz L004D5FB5 mov cl,[eax+01h] inc eax jmp L004D5FA1 L004D5FB5: cmp [eax],dl jz L004D5FDF inc eax cmp [eax],dl jz L004D5FDF L004D5FBE: mov cl,[eax] cmp cl,dl jz L004D5FD1 cmp cl,5Ch jz L004D5FD1 cmp cl,2Fh jz L004D5FD1 inc eax jmp L004D5FBE L004D5FD1: cmp [eax],dl jz L004D5FDA cmp [eax+01h],dl jnz L004D5FDF L004D5FDA: push 00000001h pop eax pop esi retn ;------------------------------------------------------------------------------ L004D5FDF: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L004D5FE3: push esi call SUB_L004DBC50 mov esi,eax test esi,esi jnz L004D5FF1 pop esi retn ;------------------------------------------------------------------------------ L004D5FF1: push edi push esi push [esp+18h] push [esp+18h] push [esp+18h] call SUB_L004DBAE0 push esi mov edi,eax call SUB_L004D8DDB add esp,00000014h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D6014: push 00000040h push [esp+0Ch] push [esp+0Ch] call SUB_L004D5FE3 add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004D6027: push esi mov esi,[esp+08h] push edi or edi,FFFFFFFFh test byte ptr [esi+0Ch],40h jz L004D603C and dword ptr [esi+0Ch],00000000h jmp L004D6053 L004D603C: push esi call SUB_L004D8D89 push esi call SUB_L004D6058 push esi mov edi,eax call SUB_L004D8DDB add esp,0000000Ch L004D6053: mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D6058: push esi mov esi,[esp+08h] push edi or edi,FFFFFFFFh test byte ptr [esi+0Ch],83h jz L004D609B push esi call SUB_L004DBE51 push esi mov edi,eax call SUB_L004DBDF8 push [esi+10h] call SUB_L004DBD18 add esp,0000000Ch test eax,eax jge L004D6089 or edi,FFFFFFFFh jmp L004D609B L004D6089: mov eax,[esi+1Ch] test eax,eax jz L004D609B push eax call SUB_L004D59F6 and dword ptr [esi+1Ch],00000000h pop ecx L004D609B: and dword ptr [esi+0Ch],00000000h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D60A4: push ebp mov ebp,esp push esi push [ebp+08h] call SUB_L004D8D89 push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D60D0 push [ebp+08h] mov esi,eax call SUB_L004D8DDB add esp,00000014h mov eax,esi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D60D0: push esi mov esi,[esp+08h] push edi mov eax,[esi+0Ch] test al,83h jz L004D614C mov edi,[esp+14h] test edi,edi jz L004D60EF cmp edi,00000001h jz L004D60EF cmp edi,00000002h jnz L004D614C L004D60EF: and al,EFh cmp edi,00000001h mov [esi+0Ch],eax jnz L004D6106 push esi call SUB_L004D577B add [esp+14h],eax pop ecx xor edi,edi L004D6106: push esi call SUB_L004DBE51 mov eax,[esi+0Ch] pop ecx test al,80h jz L004D611B and al,FCh mov [esi+0Ch],eax jmp L004D612F L004D611B: test al,01h jz L004D612F test al,08h jz L004D612F test ah,04h jnz L004D612F mov dword ptr [esi+18h],00000200h L004D612F: push edi push [esp+14h] push [esi+10h] call SUB_L004D9E61 add esp,0000000Ch xor ecx,ecx cmp eax,FFFFFFFFh setnz cl dec ecx mov eax,ecx jmp L004D615A L004D614C: call SUB_L004D9C93 mov dword ptr [eax],00000016h or eax,FFFFFFFFh L004D615A: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D615D: push ebp mov ebp,esp push esi push [ebp+14h] call SUB_L004D8D89 push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D618C push [ebp+14h] mov esi,eax call SUB_L004D8DDB add esp,00000018h mov eax,esi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D618C: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+0Ch] imul edi,[ebp+10h] mov ebx,[ebp+08h] mov ecx,edi test edi,edi mov [ebp-04h],edi mov [ebp+08h],ecx jnz L004D61B0 xor eax,eax jmp L004D6259 L004D61B0: mov esi,[ebp+14h] test word ptr [esi+0Ch],010Ch jz L004D61C3 mov eax,[esi+18h] mov [ebp+14h],eax jmp L004D61CF L004D61C3: mov dword ptr [ebp+14h],00001000h jmp L004D61CF L004D61CC: mov ecx,[ebp+08h] L004D61CF: test word ptr [esi+0Ch],010Ch jz L004D6201 mov eax,[esi+04h] test eax,eax jz L004D6201 cmp ecx,eax mov edi,ecx jc L004D61E6 mov edi,eax L004D61E6: push edi push [esi] push ebx call SUB_L004DC280 sub [ebp+08h],edi sub [esi+04h],edi add [esi],edi add esp,0000000Ch add ebx,edi mov edi,[ebp-04h] jmp L004D624C L004D6201: cmp ecx,[ebp+14h] jc L004D6234 cmp dword ptr [ebp+14h],00000000h mov eax,ecx jz L004D6217 xor edx,edx div [ebp+14h] mov eax,ecx sub eax,edx L004D6217: push eax push ebx push [esi+10h] call SUB_L004DC036 add esp,0000000Ch test eax,eax jz L004D625E cmp eax,FFFFFFFFh jz L004D6264 sub [ebp+08h],eax add ebx,eax jmp L004D624C L004D6234: push esi call SUB_L004DBF5A cmp eax,FFFFFFFFh pop ecx jz L004D6268 mov [ebx],al mov eax,[esi+18h] inc ebx dec [ebp+08h] mov [ebp+14h],eax L004D624C: cmp dword ptr [ebp+08h],00000000h jnz L004D61CC mov eax,[ebp+10h] L004D6259: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D625E: or dword ptr [esi+0Ch],00000010h jmp L004D6268 L004D6264: or dword ptr [esi+0Ch],00000020h L004D6268: mov eax,edi xor edx,edx sub eax,[ebp+08h] div [ebp+0Ch] jmp L004D6259 SUB_L004D6274: push ebp mov ebp,esp push esi push [ebp+14h] call SUB_L004D8D89 push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D62A3 push [ebp+14h] mov esi,eax call SUB_L004D8DDB add esp,00000018h mov eax,esi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D62A3: push ebp mov ebp,esp push ecx push ebx push esi push edi mov edi,[ebp+0Ch] imul edi,[ebp+10h] mov eax,[ebp+08h] mov [ebp-04h],edi test edi,edi mov [ebp+08h],eax mov ebx,edi jnz L004D62C7 xor eax,eax jmp L004D6394 L004D62C7: mov esi,[ebp+14h] test word ptr [esi+0Ch],010Ch jz L004D62DA mov eax,[esi+18h] mov [ebp+14h],eax jmp L004D62E1 L004D62DA: mov dword ptr [ebp+14h],00001000h L004D62E1: mov ecx,[esi+0Ch] and ecx,00000108h jz L004D6315 mov eax,[esi+04h] test eax,eax jz L004D6315 cmp ebx,eax mov edi,ebx jc L004D62FB mov edi,eax L004D62FB: push edi push [ebp+08h] push [esi] call SUB_L004DC280 sub [esi+04h],edi add [esi],edi add esp,0000000Ch sub ebx,edi add [ebp+08h],edi jmp L004D635B L004D6315: cmp ebx,[ebp+14h] jc L004D6360 test ecx,ecx jz L004D6329 push esi call SUB_L004DBE51 test eax,eax pop ecx jnz L004D63A2 L004D6329: cmp dword ptr [ebp+14h],00000000h jz L004D633C mov eax,ebx xor edx,edx div [ebp+14h] mov edi,ebx sub edi,edx jmp L004D633E L004D633C: mov edi,ebx L004D633E: push edi push [ebp+08h] push [esi+10h] call SUB_L004DC5B5 add esp,0000000Ch cmp eax,FFFFFFFFh jz L004D6399 add [ebp+08h],eax sub ebx,eax cmp eax,edi jc L004D6399 L004D635B: mov edi,[ebp-04h] jmp L004D6389 L004D6360: mov eax,[ebp+08h] push esi movsx eax,[eax] push eax call SUB_L004D96EE pop ecx cmp eax,FFFFFFFFh pop ecx jz L004D63A2 inc [ebp+08h] mov eax,[esi+18h] dec ebx mov [ebp+14h],eax test eax,eax jg L004D6389 mov dword ptr [ebp+14h],00000001h L004D6389: test ebx,ebx jnz L004D62E1 mov eax,[ebp+10h] L004D6394: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D6399: or dword ptr [esi+0Ch],00000020h mov eax,[ebp-04h] jmp L004D63A4 L004D63A2: mov eax,edi L004D63A4: sub eax,ebx xor edx,edx div [ebp+0Ch] jmp L004D6394 Align 4 L004D63B0: lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D63C0: xor eax,eax mov al,[esp+08h] L004D63C6: push ebx mov ebx,eax shl eax,08h mov edx,[esp+08h] test edx,00000003h jz L004D63EB L004D63D8: mov cl,[edx] inc edx cmp cl,bl jz L004D63B0 test cl,cl jz L004D6434 test edx,00000003h jnz L004D63D8 L004D63EB: or ebx,eax push edi mov eax,ebx shl ebx,10h push esi or ebx,eax L004D63F6: 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 L004D6438 and eax,81010100h jz L004D63F6 and eax,01010100h jnz L004D6432 and esi,80000000h jnz L004D63F6 L004D6432: pop esi pop edi L004D6434: pop ebx xor eax,eax retn ;------------------------------------------------------------------------------ L004D6438: mov eax,[edx-04h] cmp al,bl jz L004D6475 test al,al jz L004D6432 cmp ah,bl jz L004D646E test ah,ah jz L004D6432 shr eax,10h cmp al,bl jz L004D6467 test al,al jz L004D6432 cmp ah,bl jz L004D6460 test ah,ah jz L004D6432 jmp L004D63F6 L004D6460: pop esi pop edi lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ L004D6467: lea eax,[edx-02h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ L004D646E: lea eax,[edx-03h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ L004D6475: lea eax,[edx-04h] pop esi pop edi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D647C: mov ecx,[esp+0Ch] push esi push edi mov edi,[esp+0Ch] test ecx,ecx mov esi,edi jz L004D64B4 mov edx,[esp+10h] L004D6490: mov ax,[edx] mov [edi],ax inc edi inc edi inc edx inc edx test ax,ax jz L004D64A2 dec ecx jnz L004D6490 L004D64A2: test ecx,ecx jz L004D64B4 dec ecx jz L004D64B4 xor eax,eax shr ecx,1 rep stosd adc ecx,ecx rep stosw L004D64B4: mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D64B9: push 00000000h push [esp+08h] call [KERNEL32.dll!CreateDirectoryA] test eax,eax jnz L004D64D1 call [KERNEL32.dll!GetLastError] jmp L004D64D3 L004D64D1: xor eax,eax L004D64D3: test eax,eax jz L004D64E2 push eax call SUB_L004D9C20 pop ecx or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ L004D64E2: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004D64E5: push [esp+04h] call [KERNEL32.dll!DeleteFileA] test eax,eax jnz L004D64FB call [KERNEL32.dll!GetLastError] jmp L004D64FD L004D64FB: xor eax,eax L004D64FD: test eax,eax jz L004D650C push eax call SUB_L004D9C20 pop ecx or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ L004D650C: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004D650F: cmp dword ptr [L00D1BBE8],00000000h jnz L004D653C push 0000000Bh call SUB_L004D982F cmp dword ptr [L00D1BBE8],00000000h pop ecx jnz L004D6534 call SUB_L004D6553 inc [L00D1BBE8] L004D6534: push 0000000Bh call SUB_L004D9890 pop ecx L004D653C: retn ;------------------------------------------------------------------------------ SUB_L004D653D: push 0000000Bh call SUB_L004D982F call SUB_L004D6553 push 0000000Bh call SUB_L004D9890 pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D6553: push ebp mov ebp,esp push ecx push ecx push ebx push esi push edi push 0000000Ch pop edi xor ebx,ebx push edi mov [ebp-08h],ebx call SUB_L004D982F or dword ptr [L00514790],FFFFFFFFh or dword ptr [L00514780],FFFFFFFFh mov [L00D1BB30],ebx mov dword ptr [esp],L004F244C call SUB_L004DC924 mov esi,eax pop ecx cmp esi,ebx jnz L004D6691 push edi call SUB_L004D9890 mov dword ptr [esp],L00D1BB38 call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jz L004D67D5 mov eax,[L00D1BB38] mov ecx,[L00D1BB8C] imul eax,3Ch cmp [L00D1BB7E],bx push 00000001h pop edx mov [L00514FF0],eax mov [L00D1BB30],edx jz L004D65E1 mov esi,ecx imul esi,3Ch add eax,esi mov [L00514FF0],eax L004D65E1: cmp [L00D1BBD2],bx jz L004D6605 mov eax,[L00D1BBE0] cmp eax,ebx jz L004D6605 sub eax,ecx mov [L00514FF4],edx imul eax,3Ch mov [L00514FF8],eax jmp L004D6611 L004D6605: mov [L00514FF4],ebx mov [L00514FF8],ebx L004D6611: lea eax,[ebp-04h] mov esi,[KERNEL32.dll!WideCharToMultiByte] push eax push ebx push 0000003Fh mov edi,00000220h push [L0051507C] push FFFFFFFFh push L00D1BB3C push edi push [L00D1BCA4] call esi test eax,eax jz L004D664D cmp [ebp-04h],ebx jnz L004D664D mov eax,[L0051507C] and byte ptr [eax+3Fh],00h jmp L004D6655 L004D664D: mov eax,[L0051507C] and byte ptr [eax],00h L004D6655: lea eax,[ebp-04h] push eax push ebx push 0000003Fh push [L00515080] push FFFFFFFFh push L00D1BB90 push edi push [L00D1BCA4] call esi test eax,eax jz L004D67C4 cmp [ebp-04h],ebx jnz L004D67C4 mov eax,[L00515080] and byte ptr [eax+3Fh],00h jmp L004D67D5 L004D6691: cmp byte ptr [esi],00h jz L004D67CE mov eax,[L00D1BBE4] cmp eax,ebx jz L004D66B4 push eax push esi call SUB_L004DC8A0 pop ecx test eax,eax pop ecx jz L004D67CE L004D66B4: push [L00D1BBE4] call SUB_L004D59F6 push esi call SUB_L004DA9F0 inc eax push eax call SUB_L004D5A3E add esp,0000000Ch cmp eax,ebx mov [L00D1BBE4],eax jz L004D67CE push esi push eax call SUB_L004DC7B0 push edi call SUB_L004D9890 push 00000003h push esi push [L0051507C] call SUB_L004D52C0 mov eax,[L0051507C] add esi,00000003h add esp,00000018h and byte ptr [eax+03h],00h cmp byte ptr [esi],2Dh jnz L004D6713 mov dword ptr [ebp-08h],00000001h inc esi L004D6713: push esi call SUB_L004D5960 pop ecx mov bl,30h mov ecx,eax imul ecx,00000E10h mov [L00514FF0],ecx L004D672A: mov al,[esi] cmp al,2Bh jz L004D6738 cmp al,bl jl L004D673B cmp al,39h jg L004D673B L004D6738: inc esi jmp L004D672A L004D673B: cmp byte ptr [esi],3Ah jnz L004D678E inc esi push esi call SUB_L004D5960 imul eax,3Ch pop ecx mov ecx,[L00514FF0] add ecx,eax mov [L00514FF0],ecx L004D6759: mov al,[esi] cmp al,bl jl L004D6766 cmp al,39h jg L004D6766 inc esi jmp L004D6759 L004D6766: cmp byte ptr [esi],3Ah jnz L004D678E inc esi push esi call SUB_L004D5960 pop ecx mov ecx,[L00514FF0] add ecx,eax mov [L00514FF0],ecx L004D6781: mov al,[esi] cmp al,bl jl L004D678E cmp al,39h jg L004D678E inc esi jmp L004D6781 L004D678E: cmp dword ptr [ebp-08h],00000000h jz L004D679C neg ecx mov [L00514FF0],ecx L004D679C: movsx eax,[esi] test eax,eax mov [L00514FF4],eax jz L004D67C4 push 00000003h push esi push [L00515080] call SUB_L004D52C0 mov eax,[L00515080] add esp,0000000Ch and byte ptr [eax+03h],00h jmp L004D67D5 L004D67C4: mov eax,[L00515080] and byte ptr [eax],00h jmp L004D67D5 L004D67CE: push edi call SUB_L004D9890 pop ecx L004D67D5: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D67DA: push esi push 0000000Bh call SUB_L004D982F push [esp+0Ch] call SUB_L004D67FB push 0000000Bh mov esi,eax call SUB_L004D9890 add esp,0000000Ch mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D67FB: push ebx push esi push edi xor edi,edi cmp [L00514FF4],edi jnz L004D680F L004D6808: xor eax,eax jmp L004D695B L004D680F: mov esi,[esp+10h] push 00000001h pop ebx mov eax,[esi+14h] cmp eax,[L00514780] jnz L004D682D cmp eax,[L00514790] jz L004D692F L004D682D: cmp [L00D1BB30],edi jz L004D6905 movzx ecx,[L00D1BBDE] push ecx cmp [L00D1BBD0],di movzx ecx,[L00D1BBDC] push ecx movzx ecx,[L00D1BBDA] push ecx movzx ecx,[L00D1BBD8] push ecx jnz L004D687F movzx ecx,[L00D1BBD4] push edi push ecx movzx ecx,[L00D1BBD6] push ecx movzx ecx,[L00D1BBD2] push ecx push eax push ebx jmp L004D6893 L004D687F: movzx ecx,[L00D1BBD6] push ecx push edi movzx ecx,[L00D1BBD2] push edi push ecx push eax push edi L004D6893: push ebx call SUB_L004D69A7 movzx eax,[L00D1BB8A] add esp,0000002Ch cmp [L00D1BB7C],di push eax movzx eax,[L00D1BB88] push eax movzx eax,[L00D1BB86] push eax movzx eax,[L00D1BB84] push eax jnz L004D68ED movzx eax,[L00D1BB80] push edi push eax movzx eax,[L00D1BB82] push eax movzx eax,[L00D1BB7E] push eax push [esi+14h] push ebx L004D68E2: push edi call SUB_L004D69A7 add esp,0000002Ch jmp L004D692F L004D68ED: movzx eax,[L00D1BB82] push eax push edi movzx eax,[L00D1BB7E] push edi push eax push [esi+14h] push edi jmp L004D68E2 L004D6905: push edi push edi push edi push 00000002h push edi push edi push ebx push 00000004h push eax push ebx push ebx call SUB_L004D69A7 push edi push edi push edi push 00000002h push edi push edi push 00000005h push 0000000Ah push [esi+14h] push ebx push edi call SUB_L004D69A7 add esp,00000058h L004D692F: mov edx,[L00514784] mov eax,[L00514794] mov ecx,[esi+1Ch] cmp edx,eax jge L004D695F cmp ecx,edx jl L004D6808 cmp ecx,eax jg L004D6808 cmp ecx,edx jle L004D6973 cmp ecx,eax jge L004D6973 L004D6959: mov eax,ebx L004D695B: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004D695F: cmp ecx,eax jl L004D6959 cmp ecx,edx jg L004D6959 cmp ecx,eax jle L004D6973 cmp ecx,edx jl L004D6808 L004D6973: mov eax,[esi+08h] imul eax,3Ch add eax,[esi+04h] imul eax,3Ch add eax,[esi] imul eax,000003E8h cmp ecx,edx jnz L004D699A xor ecx,ecx cmp eax,[L00514788] setge cl L004D6996: mov eax,ecx jmp L004D695B L004D699A: xor ecx,ecx cmp eax,[L00514798] setl cl jmp L004D6996 SUB_L004D69A7: push ebp mov ebp,esp cmp dword ptr [ebp+0Ch],00000001h push ebx mov ebx,[ebp+10h] push esi jnz L004D6A42 mov eax,[ebp+14h] mov [ebp+10h],ebx and dword ptr [ebp+10h],00000003h mov esi,eax jnz L004D69D2 shl esi,02h mov eax,[esi+L00515080] jmp L004D69DB L004D69D2: shl esi,02h mov eax,[esi+L005150B4] L004D69DB: mov edx,ebx lea ecx,[eax+01h] imul edx,0000016Dh lea eax,[ebx-01h] push edi sar eax,02h mov edi,ecx push 00000007h add edi,eax lea eax,[edx+edi-000063DBh] pop edi cdq idiv edi mov eax,[ebp+18h] pop edi cmp edx,[ebp+1Ch] jg L004D6A15 imul eax,07h sub eax,edx add eax,[ebp+1Ch] lea ecx,[ecx+eax-07h] jmp L004D6A1F L004D6A15: imul eax,07h sub eax,edx add eax,[ebp+1Ch] add ecx,eax L004D6A1F: cmp dword ptr [ebp+18h],00000005h jnz L004D6A5D cmp dword ptr [ebp+10h],00000000h jnz L004D6A33 mov esi,[esi+L00515084] jmp L004D6A39 L004D6A33: mov esi,[esi+L005150B8] L004D6A39: cmp ecx,esi jle L004D6A5D sub ecx,00000007h jmp L004D6A5D L004D6A42: mov eax,[ebp+14h] test bl,03h jnz L004D6A53 mov ecx,[L00515080+eax*4] jmp L004D6A5A L004D6A53: mov ecx,[L005150B4+eax*4] L004D6A5A: add ecx,[ebp+20h] L004D6A5D: cmp dword ptr [ebp+08h],00000001h jnz L004D6A8E mov eax,[ebp+24h] mov [L00514784],ecx imul eax,3Ch add eax,[ebp+28h] mov [L00514780],ebx imul eax,3Ch add eax,[ebp+2Ch] imul eax,000003E8h add eax,[ebp+30h] mov [L00514788],eax jmp L004D6AE3 L004D6A8E: mov eax,[ebp+24h] mov [L00514794],ecx imul eax,3Ch add eax,[ebp+28h] imul eax,3Ch add eax,[L00514FF8] add eax,[ebp+2Ch] imul eax,000003E8h add eax,[ebp+30h] mov [L00514798],eax jns L004D6AC6 add eax,05265C00h dec ecx mov [L00514798],eax jmp L004D6AD7 L004D6AC6: mov edx,05265C00h cmp eax,edx jl L004D6ADD sub eax,edx inc ecx mov [L00514798],eax L004D6AD7: mov [L00514794],ecx L004D6ADD: mov [L00514790],ebx L004D6AE3: pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D6AE7: push ebp mov ebp,esp push esi mov esi,[ebp+08h] cmp dword ptr [esi],00000000h jge L004D6AFA xor eax,eax jmp L004D6C0C L004D6AFA: call SUB_L004D650F mov eax,[esi] cmp eax,0003F480h jle L004D6B60 cmp eax,7FFC0B7Fh jge L004D6B60 sub eax,[L00514FF0] mov [ebp+08h],eax lea eax,[ebp+08h] push eax call SUB_L004DC9A1 cmp dword ptr [L00514FF4],00000000h pop ecx mov esi,eax jz L004D6C0A push esi call SUB_L004D67DA test eax,eax pop ecx jz L004D6C0A mov eax,[L00514FF8] sub [ebp+08h],eax lea eax,[ebp+08h] push eax call SUB_L004DC9A1 mov esi,eax pop ecx mov dword ptr [esi+20h],00000001h jmp L004D6C0A L004D6B60: push esi call SUB_L004DC9A1 mov esi,eax push esi call SUB_L004D67DA pop ecx test eax,eax mov eax,[esi] pop ecx jz L004D6B7C sub eax,[L00514FF8] L004D6B7C: sub eax,[L00514FF0] push edi push 0000003Ch mov [ebp+08h],eax pop ecx cdq mov edi,ecx idiv edi test edx,edx mov [esi],edx jge L004D6B9B add edx,ecx mov [esi],edx sub [ebp+08h],ecx L004D6B9B: mov eax,[ebp+08h] mov edi,ecx cdq idiv edi add eax,[esi+04h] mov [ebp+08h],eax cdq idiv edi pop edi test edx,edx mov [esi+04h],edx jge L004D6BBD add edx,0000003Ch mov [esi+04h],edx sub [ebp+08h],ecx L004D6BBD: mov eax,[ebp+08h] push 00000018h cdq idiv ecx pop ecx add eax,[esi+08h] mov [ebp+08h],eax cdq idiv ecx test edx,edx mov [esi+08h],edx jge L004D6BDE add edx,ecx mov [esi+08h],edx sub [ebp+08h],ecx L004D6BDE: mov eax,[ebp+08h] push 00000018h cdq pop ecx idiv ecx mov ecx,eax test ecx,ecx mov [ebp+08h],ecx jle L004D6C0F mov eax,[esi+18h] push 00000007h add eax,ecx pop ecx cdq idiv ecx mov [esi+18h],edx mov eax,[ebp+08h] add [esi+0Ch],eax L004D6C04: mov eax,[ebp+08h] add [esi+1Ch],eax L004D6C0A: mov eax,esi L004D6C0C: pop esi pop ebp retn ;------------------------------------------------------------------------------ L004D6C0F: jge L004D6C0A mov eax,[esi+18h] push 00000007h lea eax,[eax+ecx+07h] pop ecx cdq idiv ecx mov [esi+18h],edx mov eax,[ebp+08h] add [esi+0Ch],eax mov eax,[esi+0Ch] test eax,eax jg L004D6C04 add eax,0000001Fh dec [esi+14h] mov [esi+0Ch],eax mov dword ptr [esi+1Ch],0000016Ch mov dword ptr [esi+10h],0000000Bh jmp L004D6C0A SUB_L004D6C47: push 00000001h push [esp+08h] call SUB_L004D6C55 pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D6C55: push ebp mov ebp,esp push esi push edi mov edi,[ebp+08h] mov ecx,[edi+14h] cmp ecx,00000045h jl L004D6E32 cmp ecx,0000008Bh jg L004D6E32 mov esi,[edi+10h] test esi,esi jl L004D6C81 cmp esi,0000000Bh jle L004D6CB7 L004D6C81: push ebx mov eax,esi push 0000000Ch cdq pop ebx idiv ebx push ebx add ecx,eax mov eax,esi cdq pop esi pop ebx idiv esi test edx,edx mov [edi+10h],edx jge L004D6CA2 add edx,0000000Ch dec ecx mov [edi+10h],edx L004D6CA2: cmp ecx,00000045h jl L004D6E32 cmp ecx,0000008Bh jg L004D6E32 L004D6CB7: mov edx,[edi+10h] test cl,03h mov eax,[L005150B8+edx*4] jnz L004D6CCC cmp edx,00000001h jle L004D6CCC inc eax L004D6CCC: lea edx,[ecx-01h] imul ecx,0000016Dh sar edx,02h add eax,edx lea eax,[ecx+eax-000063DFh] mov ecx,[edi+0Ch] test eax,eax lea esi,[eax+ecx] jl L004D6CF9 test ecx,ecx jl L004D6D05 test esi,esi jl L004D6E32 jmp L004D6D05 L004D6CF9: test ecx,ecx jge L004D6D05 test esi,esi jge L004D6E32 L004D6D05: lea ecx,[esi+esi*2] shl ecx,03h test esi,esi jz L004D6D20 mov eax,ecx cdq idiv esi xor edx,edx cmp eax,00000018h setnz dl mov eax,edx jmp L004D6D22 L004D6D20: xor eax,eax L004D6D22: test eax,eax jnz L004D6E32 mov eax,[edi+08h] test ecx,ecx lea esi,[eax+ecx] jl L004D6D42 test eax,eax jl L004D6D4E test esi,esi jl L004D6E32 jmp L004D6D4E L004D6D42: test eax,eax jge L004D6D4E test esi,esi jge L004D6E32 L004D6D4E: mov ecx,esi imul ecx,3Ch test esi,esi jz L004D6D68 mov eax,ecx cdq idiv esi xor edx,edx cmp eax,0000003Ch setnz dl mov eax,edx jmp L004D6D6A L004D6D68: xor eax,eax L004D6D6A: test eax,eax jnz L004D6E32 mov eax,[edi+04h] test ecx,ecx lea esi,[eax+ecx] jl L004D6D8A test eax,eax jl L004D6D96 test esi,esi jl L004D6E32 jmp L004D6D96 L004D6D8A: test eax,eax jge L004D6D96 test esi,esi jge L004D6E32 L004D6D96: mov ecx,esi imul ecx,3Ch test esi,esi jz L004D6DB0 mov eax,ecx cdq idiv esi xor edx,edx cmp eax,0000003Ch setnz dl mov eax,edx jmp L004D6DB2 L004D6DB0: xor eax,eax L004D6DB2: test eax,eax jnz L004D6E32 mov eax,[edi] test ecx,ecx lea edx,[eax+ecx] mov [ebp+08h],edx jl L004D6DCC test eax,eax jl L004D6DD4 test edx,edx jl L004D6E32 jmp L004D6DD4 L004D6DCC: test eax,eax jge L004D6DD4 test edx,edx jge L004D6E32 L004D6DD4: cmp dword ptr [ebp+0Ch],00000000h jz L004D6E18 call SUB_L004D650F mov eax,[L00514FF0] add [ebp+08h],eax lea eax,[ebp+08h] push eax call SUB_L004D6AE7 test eax,eax pop ecx jz L004D6E32 mov ecx,[edi+20h] test ecx,ecx jg L004D6E04 jge L004D6E26 cmp dword ptr [eax+20h],00000000h jle L004D6E26 L004D6E04: mov eax,[L00514FF8] add [ebp+08h],eax lea eax,[ebp+08h] push eax call SUB_L004D6AE7 pop ecx jmp L004D6E26 L004D6E18: lea eax,[ebp+08h] push eax call SUB_L004DC9A1 test eax,eax pop ecx jz L004D6E32 L004D6E26: push 00000009h mov esi,eax mov eax,[ebp+08h] pop ecx rep movsd jmp L004D6E35 L004D6E32: or eax,FFFFFFFFh L004D6E35: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D6E39: push ebx xor ebx,ebx cmp [L00D1BC94],ebx jnz L004D6E57 mov eax,[esp+08h] cmp eax,00000061h jl L004D6EA6 cmp eax,0000007Ah jg L004D6EA6 sub eax,00000020h pop ebx retn ;------------------------------------------------------------------------------ L004D6E57: push esi mov esi,L00D1C208 push edi push esi call [KERNEL32.dll!InterlockedIncrement] cmp [L00D1C204],ebx mov edi,[KERNEL32.dll!InterlockedDecrement] jz L004D6E81 push esi call edi push 00000013h call SUB_L004D982F pop ecx push 00000001h pop ebx L004D6E81: push [esp+10h] call SUB_L004D6EA8 test ebx,ebx pop ecx mov [esp+10h],eax jz L004D6E9D push 00000013h call SUB_L004D9890 pop ecx jmp L004D6EA0 L004D6E9D: push esi call edi L004D6EA0: mov eax,[esp+10h] pop edi pop esi L004D6EA6: pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D6EA8: push ebp mov ebp,esp push ecx cmp dword ptr [L00D1BC94],00000000h push ebx jnz L004D6ED3 mov eax,[ebp+08h] cmp eax,00000061h jl L004D6F71 cmp eax,0000007Ah jg L004D6F71 sub eax,00000020h jmp L004D6F71 L004D6ED3: mov ebx,[ebp+08h] cmp ebx,00000100h jge L004D6F06 cmp dword ptr [L00514E30],00000001h jle L004D6EF3 push 00000002h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004D6EFE L004D6EF3: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000002h L004D6EFE: test eax,eax jnz L004D6F06 L004D6F02: mov eax,ebx jmp L004D6F71 L004D6F06: mov edx,[L00514C24] mov eax,ebx sar eax,08h movzx ecx,al test byte ptr [edx+ecx*2+01h],80h jz L004D6F29 and byte ptr [ebp+0Ah],00h mov [ebp+08h],al mov [ebp+09h],bl push 00000002h jmp L004D6F32 L004D6F29: and byte ptr [ebp+09h],00h mov [ebp+08h],bl push 00000001h L004D6F32: pop eax lea ecx,[ebp-04h] push 00000001h push 00000000h push 00000003h push ecx push eax lea eax,[ebp+08h] push eax push 00000200h push [L00D1BC94] call SUB_L004D98A5 add esp,00000020h test eax,eax jz L004D6F02 cmp eax,00000001h jnz L004D6F64 movzx eax,[ebp-04h] jmp L004D6F71 L004D6F64: movzx eax,[ebp-03h] movzx ecx,[ebp-04h] shl eax,08h or eax,ecx L004D6F71: pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D6F74: call SUB_L004D84F3 mov ecx,[esp+04h] mov [eax+14h],ecx retn ;------------------------------------------------------------------------------ SUB_L004D6F81: call SUB_L004D84F3 mov ecx,[eax+14h] imul ecx,000343FDh add ecx,00269EC3h mov [eax+14h],ecx mov eax,ecx shr eax,10h and eax,00007FFFh retn ;------------------------------------------------------------------------------ SUB_L004D6FA3: push 00000000h push [esp+10h] push [esp+10h] push [esp+10h] call SUB_L004D6FBA add esp,00000010h retn ;------------------------------------------------------------------------------ SUB_L004D6FBA: push ebp mov ebp,esp sub esp,0000000Ch push ebx and dword ptr [ebp-08h],00000000h push esi push edi mov edi,[ebp+08h] mov bl,[edi] lea esi,[edi+01h] mov [ebp-04h],esi L004D6FD2: cmp dword ptr [L00514E30],00000001h jle L004D6FEA movzx eax,bl push 00000008h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004D6FF9 L004D6FEA: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,00000008h L004D6FF9: test eax,eax jz L004D7002 mov bl,[esi] inc esi jmp L004D6FD2 L004D7002: cmp bl,2Dh mov [ebp-04h],esi jnz L004D7010 or dword ptr [ebp+14h],00000002h jmp L004D7015 L004D7010: cmp bl,2Bh jnz L004D701B L004D7015: mov bl,[esi] inc esi mov [ebp-04h],esi L004D701B: mov eax,[ebp+10h] test eax,eax jl L004D71AF cmp eax,00000001h jz L004D71AF cmp eax,00000024h jg L004D71AF push 00000010h test eax,eax pop ecx jnz L004D7063 cmp bl,30h jz L004D704D mov dword ptr [ebp+10h],0000000Ah jmp L004D707F L004D704D: mov al,[esi] cmp al,78h jz L004D7060 cmp al,58h jz L004D7060 mov dword ptr [ebp+10h],00000008h jmp L004D707F L004D7060: mov [ebp+10h],ecx L004D7063: cmp [ebp+10h],ecx jnz L004D707F cmp bl,30h jnz L004D707F mov al,[esi] cmp al,78h jz L004D7077 cmp al,58h jnz L004D707F L004D7077: mov bl,[esi+01h] inc esi inc esi mov [ebp-04h],esi L004D707F: or eax,FFFFFFFFh xor edx,edx div [ebp+10h] mov edi,00000103h mov [ebp-0Ch],eax L004D708F: cmp dword ptr [L00514E30],00000001h movzx esi,bl jle L004D70A7 push 00000004h push esi call SUB_L004D9AC9 pop ecx pop ecx jmp L004D70B2 L004D70A7: mov eax,[L00514C24] mov al,[eax+esi*2] and eax,00000004h L004D70B2: test eax,eax jz L004D70BE movsx ecx,bl sub ecx,00000030h jmp L004D70F0 L004D70BE: cmp dword ptr [L00514E30],00000001h jle L004D70D2 push edi push esi call SUB_L004D9AC9 pop ecx pop ecx jmp L004D70DD L004D70D2: mov eax,[L00514C24] mov ax,[eax+esi*2] and eax,edi L004D70DD: test eax,eax jz L004D712B movsx eax,bl push eax call SUB_L004D6E39 pop ecx mov ecx,eax sub ecx,00000037h L004D70F0: cmp ecx,[ebp+10h] jnc L004D712B mov esi,[ebp-08h] or dword ptr [ebp+14h],00000008h cmp esi,[ebp-0Ch] jc L004D7115 jnz L004D710F or eax,FFFFFFFFh xor edx,edx div [ebp+10h] cmp ecx,edx jbe L004D7115 L004D710F: or dword ptr [ebp+14h],00000004h jmp L004D711E L004D7115: imul esi,[ebp+10h] add esi,ecx mov [ebp-08h],esi L004D711E: mov eax,[ebp-04h] inc [ebp-04h] mov bl,[eax] jmp L004D708F L004D712B: mov eax,[ebp+14h] dec [ebp-04h] mov ebx,[ebp+0Ch] test al,08h jnz L004D7148 test ebx,ebx jz L004D7142 mov eax,[ebp+08h] mov [ebp-04h],eax L004D7142: and dword ptr [ebp-08h],00000000h jmp L004D7193 L004D7148: test al,04h mov esi,7FFFFFFFh jnz L004D716C test al,01h jnz L004D7193 and eax,00000002h jz L004D7163 cmp dword ptr [ebp-08h],80000000h ja L004D716C L004D7163: test eax,eax jnz L004D7193 cmp [ebp-08h],esi jbe L004D7193 L004D716C: call SUB_L004D9C93 test byte ptr [ebp+14h],01h mov dword ptr [eax],00000022h jz L004D7183 or dword ptr [ebp-08h],FFFFFFFFh jmp L004D7193 L004D7183: mov eax,[ebp+14h] and al,02h neg al sbb eax,eax neg eax add eax,esi mov [ebp-08h],eax L004D7193: test ebx,ebx jz L004D719C mov eax,[ebp-04h] mov [ebx],eax L004D719C: test byte ptr [ebp+14h],02h jz L004D71AA mov eax,[ebp-08h] neg eax mov [ebp-08h],eax L004D71AA: mov eax,[ebp-08h] jmp L004D71BA L004D71AF: mov eax,[ebp+0Ch] test eax,eax jz L004D71B8 mov [eax],edi L004D71B8: xor eax,eax L004D71BA: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ Align 4 SUB_L004D71C0: push ebp mov ebp,esp push edi push esi push ebx mov ecx,[ebp+10h] jecxz L004D71F1 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 L004D71EF jz L004D71F1 dec ecx dec ecx L004D71EF: not ecx L004D71F1: mov eax,ecx pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ SUB_L004D71F8: mov eax,[esp+04h] L004D71FC: mov cx,[eax] test cx,cx jz L004D720F cmp cx,[esp+08h] jz L004D720F inc eax inc eax jmp L004D71FC L004D720F: mov cx,[eax] sub cx,[esp+08h] neg cx sbb ecx,ecx not ecx and eax,ecx retn ;------------------------------------------------------------------------------ SUB_L004D7221: lea eax,[esp+0Ch] push 00000000h push eax push [esp+10h] push [esp+10h] call SUB_L004DCAAB add esp,00000010h retn ;------------------------------------------------------------------------------ SUB_L004D7239: push esi push [esp+0Ch] call SUB_L004D8D89 push [esp+10h] push [esp+10h] call SUB_L004D7262 push [esp+18h] mov esi,eax call SUB_L004D8DDB add esp,00000010h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D7262: push ebx mov ebx,[esp+08h] cmp ebx,FFFFFFFFh push esi jz L004D72AE mov esi,[esp+10h] mov eax,[esi+0Ch] test al,01h jnz L004D7280 test al,80h jz L004D72AE test al,02h jnz L004D72AE L004D7280: cmp dword ptr [esi+08h],00000000h jnz L004D728D push esi call SUB_L004DCC45 pop ecx L004D728D: mov eax,[esi] cmp eax,[esi+08h] jnz L004D729D cmp dword ptr [esi+04h],00000000h jnz L004D72AE inc eax mov [esi],eax L004D729D: test byte ptr [esi+0Ch],40h jz L004D72B4 dec [esi] mov eax,[esi] cmp [eax],bl jz L004D72BA inc eax mov [esi],eax L004D72AE: or eax,FFFFFFFFh L004D72B1: pop esi pop ebx retn ;------------------------------------------------------------------------------ L004D72B4: dec [esi] mov eax,[esi] mov [eax],bl L004D72BA: mov eax,[esi+0Ch] inc [esi+04h] and al,EFh or al,01h mov [esi+0Ch],eax mov eax,ebx and eax,000000FFh jmp L004D72B1 SUB_L004D72D0: push esi mov esi,[esp+08h] push edi push esi call SUB_L004D8D89 dec [esi+04h] pop ecx js L004D72EC mov eax,[esi] movzx edi,[eax] inc eax mov [esi],eax jmp L004D72F5 L004D72EC: push esi call SUB_L004DBF5A pop ecx mov edi,eax L004D72F5: push esi call SUB_L004D8DDB pop ecx mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D7301: push ebp mov ebp,esp sub esp,000000F8h push ebx push esi mov esi,[ebp+0Ch] push edi cmp esi,00000002h jc L004D7450 cmp dword ptr [ebp+10h],00000000h jz L004D7450 and dword ptr [ebp-04h],00000000h dec esi imul esi,[ebp+10h] mov ebx,[ebp+08h] lea eax,[ebp-80h] mov [ebp+08h],eax lea eax,[ebp-000000F8h] add esi,ebx mov [ebp+0Ch],eax L004D7340: mov edi,[ebp+10h] mov eax,esi sub eax,ebx xor edx,edx div edi inc eax cmp eax,00000008h ja L004D7380 push [ebp+14h] push edi push esi push ebx call SUB_L004D7455 add esp,00000010h L004D735F: dec [ebp-04h] sub dword ptr [ebp+0Ch],00000004h sub dword ptr [ebp+08h],00000004h cmp dword ptr [ebp-04h],00000000h jl L004D7450 mov eax,[ebp+0Ch] mov ebx,[eax] mov eax,[ebp+08h] mov esi,[eax] jmp L004D7340 L004D7380: shr eax,1 imul eax,edi push edi add eax,ebx push ebx push eax call SUB_L004D74A3 add esp,0000000Ch mov [ebp-08h],ebx add edi,esi L004D7397: mov eax,[ebp-08h] add eax,[ebp+10h] cmp eax,esi mov [ebp-08h],eax ja L004D73AF push ebx push eax call [ebp+14h] pop ecx test eax,eax pop ecx jle L004D7397 L004D73AF: sub edi,[ebp+10h] cmp edi,ebx jbe L004D73C1 push ebx push edi call [ebp+14h] pop ecx test eax,eax pop ecx jge L004D73AF L004D73C1: push [ebp+10h] cmp edi,[ebp-08h] push edi jc L004D73D7 push [ebp-08h] call SUB_L004D74A3 add esp,0000000Ch jmp L004D7397 L004D73D7: push ebx call SUB_L004D74A3 mov eax,[ebp-08h] mov ecx,edi sub ecx,ebx mov edx,esi add esp,0000000Ch dec ecx sub edx,eax cmp ecx,edx jl L004D7420 mov ecx,[ebp+10h] lea edx,[ebx+ecx] cmp edx,edi jnc L004D7411 mov edx,[ebp+0Ch] add dword ptr [ebp+0Ch],00000004h sub edi,ecx mov ecx,[ebp+08h] inc [ebp-04h] add dword ptr [ebp+08h],00000004h mov [edx],ebx mov [ecx],edi L004D7411: cmp eax,esi jnc L004D735F mov ebx,eax jmp L004D7340 L004D7420: cmp eax,esi jnc L004D7439 mov ecx,[ebp+0Ch] inc [ebp-04h] add dword ptr [ebp+0Ch],00000004h mov [ecx],eax mov eax,[ebp+08h] add dword ptr [ebp+08h],00000004h mov [eax],esi L004D7439: mov eax,[ebp+10h] add eax,ebx cmp eax,edi jnc L004D735F sub edi,[ebp+10h] mov esi,edi jmp L004D7340 L004D7450: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D7455: push ebp mov ebp,esp mov eax,[ebp+08h] push edi mov edi,[ebp+0Ch] cmp edi,eax jbe L004D74A0 mov ecx,[ebp+10h] push ebx add eax,ecx push esi mov [ebp+0Ch],eax L004D746D: mov ebx,[ebp+08h] mov esi,[ebp+0Ch] L004D7473: cmp esi,edi ja L004D7489 push ebx push esi call [ebp+14h] pop ecx test eax,eax pop ecx jle L004D7484 mov ebx,esi L004D7484: add esi,[ebp+10h] jmp L004D7473 L004D7489: push [ebp+10h] push edi push ebx call SUB_L004D74A3 sub edi,[ebp+10h] add esp,0000000Ch cmp edi,[ebp+08h] ja L004D746D pop esi pop ebx L004D74A0: pop edi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D74A3: mov eax,[esp+04h] mov ecx,[esp+08h] cmp eax,ecx push esi jz L004D74CD mov edx,[esp+10h] mov esi,edx dec edx test esi,esi jz L004D74CD push ebx lea esi,[edx+01h] L004D74BF: mov bl,[ecx] mov dl,[eax] mov [eax],bl inc eax mov [ecx],dl inc ecx dec esi jnz L004D74BF pop ebx L004D74CD: pop esi retn ;------------------------------------------------------------------------------ SUB_L004D74CF: push esi push 00000009h call SUB_L004D982F mov eax,[esp+0Ch] mov esi,[L00D1BBEC] push 00000009h mov [L00D1BBEC],eax call SUB_L004D9890 pop ecx mov eax,esi pop ecx pop esi retn ;------------------------------------------------------------------------------ SUB_L004D74F3: mov eax,[L00D1BBEC] test eax,eax jz L004D750B push [esp+04h] call eax test eax,eax pop ecx jz L004D750B push 00000001h pop eax retn ;------------------------------------------------------------------------------ L004D750B: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004D750E: push ebp mov ebp,esp sub esp,000000CCh lea eax,[ebp-10h] push eax call [KERNEL32.dll!GetLocalTime] lea eax,[ebp-20h] push eax call [KERNEL32.dll!GetSystemTime] mov ax,[ebp-16h] cmp ax,[L00D1BC02] jnz L004D7573 mov ax,[ebp-18h] cmp ax,[L00D1BC00] jnz L004D7573 mov ax,[ebp-1Ah] cmp ax,[L00D1BBFE] jnz L004D7573 mov ax,[ebp-1Eh] cmp ax,[L00D1BBFA] jnz L004D7573 mov ax,[ebp-20h] cmp ax,[L00D1BBF8] jnz L004D7573 mov eax,[L00D1BBF0] jmp L004D75B8 L004D7573: lea eax,[ebp-000000CCh] push eax call [KERNEL32.dll!GetTimeZoneInformation] cmp eax,FFFFFFFFh jz L004D75A0 cmp eax,00000002h jnz L004D759C cmp word ptr [ebp-32h],0000h jz L004D759C cmp dword ptr [ebp-24h],00000000h jz L004D759C push 00000001h pop eax jmp L004D75A3 L004D759C: xor eax,eax jmp L004D75A3 L004D75A0: or eax,FFFFFFFFh L004D75A3: push esi push edi lea esi,[ebp-20h] mov edi,L00D1BBF8 movsd movsd movsd movsd pop edi mov [L00D1BBF0],eax pop esi L004D75B8: push eax movzx eax,[ebp-04h] push eax movzx eax,[ebp-06h] push eax movzx eax,[ebp-08h] push eax movzx eax,[ebp-0Ah] push eax movzx eax,[ebp-0Eh] push eax movzx eax,[ebp-10h] push eax call SUB_L004DB826 mov ecx,[ebp+08h] add esp,0000001Ch test ecx,ecx jz L004D75E8 mov [ecx],eax L004D75E8: leave retn ;------------------------------------------------------------------------------ SUB_L004D75EA: push ebp mov ebp,esp mov eax,[ebp+08h] cdq idiv [ebp+0Ch] mov ecx,eax mov eax,[ebp+08h] cdq idiv [ebp+0Ch] cmp dword ptr [ebp+08h],00000000h jge L004D760B test edx,edx jle L004D760B inc ecx sub edx,[ebp+0Ch] L004D760B: mov eax,ecx pop ebp retn ;------------------------------------------------------------------------------ db CCh; 'Œ' mov eax,[esp+0Ch] push ebx test eax,eax jz L004D7663 mov edx,[esp+08h] xor ebx,ebx mov bl,[esp+0Ch] test edx,00000003h jz L004D763D L004D762B: mov cl,[edx] inc edx xor cl,bl jz L004D769E dec eax jz L004D7663 test edx,00000003h jnz L004D762B L004D763D: sub eax,00000004h jc L004D7654 push edi mov edi,ebx shl ebx,08h add ebx,edi mov edi,ebx shl ebx,10h add ebx,edi jmp L004D766A L004D7653: pop edi L004D7654: add eax,00000004h jz L004D7663 L004D7659: mov cl,[edx] inc edx xor cl,bl jz L004D769E dec eax jnz L004D7659 L004D7663: pop ebx retn ;------------------------------------------------------------------------------ L004D7665: sub eax,00000004h jc L004D7653 L004D766A: 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 L004D7665 mov ecx,[edx-04h] xor cl,bl jz L004D76AF xor ch,bl jz L004D76A9 shr ecx,10h xor cl,bl jz L004D76A3 xor ch,bl jz L004D769D jmp L004D7665 L004D769D: pop edi L004D769E: lea eax,[edx-01h] pop ebx retn ;------------------------------------------------------------------------------ L004D76A3: lea eax,[edx-02h] pop edi pop ebx retn ;------------------------------------------------------------------------------ L004D76A9: lea eax,[edx-03h] pop edi pop ebx retn ;------------------------------------------------------------------------------ L004D76AF: lea eax,[edx-04h] pop edi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D76B5: mov ecx,[esp+08h] mov eax,[esp+04h] push esi mov dx,[ecx] lea esi,[eax+02h] mov [eax],dx L004D76C7: inc ecx inc ecx test dx,dx jz L004D76D8 mov dx,[ecx] mov [esi],dx inc esi inc esi jmp L004D76C7 L004D76D8: pop esi retn ;------------------------------------------------------------------------------ SUB_L004D76DA: push ebx push esi mov esi,[esp+0Ch] push edi imul esi,[esp+14h] cmp esi,FFFFFFE0h mov ebx,esi ja L004D76FA test esi,esi jnz L004D76F4 push 00000001h pop esi L004D76F4: add esi,0000000Fh and esi,FFFFFFF0h L004D76FA: xor edi,edi cmp esi,FFFFFFE0h ja L004D773B cmp ebx,[L00514FE4] ja L004D7726 push 00000009h call SUB_L004D982F push ebx call SUB_L004DAE74 push 00000009h mov edi,eax call SUB_L004D9890 add esp,0000000Ch test edi,edi jnz L004D7751 L004D7726: push esi push 00000008h push [L00D1C0E0] call [KERNEL32.dll!HeapAlloc] mov edi,eax test edi,edi jnz L004D775D L004D773B: cmp dword ptr [L00D1BCB0],00000000h jz L004D775D push esi call SUB_L004D74F3 test eax,eax pop ecx jz L004D7763 jmp L004D76FA L004D7751: push ebx push 00000000h push edi call SUB_L004DCC90 add esp,0000000Ch L004D775D: mov eax,edi L004D775F: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004D7763: xor eax,eax jmp L004D775F SUB_L004D7767: push esi push edi push 00000074h push 00000001h xor edi,edi call SUB_L004D76DA mov esi,eax pop ecx test esi,esi pop ecx jz L004D77C2 push esi call SUB_L004D84E0 mov eax,[esp+10h] pop ecx push esi push 00000004h push esi push L004D77DE push [esp+20h] mov [esi+48h],eax mov eax,[esp+28h] push edi mov [esi+4Ch],eax call [KERNEL32.dll!CreateThread] mov edi,eax test edi,edi mov [esi+04h],edi jz L004D77BA push edi call [KERNEL32.dll!ResumeThread] cmp eax,FFFFFFFFh jnz L004D77D9 L004D77BA: call [KERNEL32.dll!GetLastError] mov edi,eax L004D77C2: push esi call SUB_L004D59F6 test edi,edi pop ecx jz L004D77D4 push edi call SUB_L004D9C20 pop ecx L004D77D4: or eax,FFFFFFFFh jmp L004D77DB L004D77D9: mov eax,edi L004D77DB: pop edi pop esi retn ;------------------------------------------------------------------------------ L004D77DE: push ebp mov ebp,esp push FFFFFFFFh push L004F2450 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov [ebp-18h],esp mov esi,[ebp+08h] push esi push [L005147B0] call [KERNEL32.dll!TlsSetValue] test eax,eax jnz L004D7820 push 00000010h call SUB_L004D7BD8 pop ecx L004D7820: mov eax,[L0051476C] test eax,eax jz L004D782B call eax L004D782B: and dword ptr [ebp-04h],00000000h push [esi+4Ch] call [esi+48h] pop ecx call SUB_L004D7871 or dword ptr [ebp-04h],FFFFFFFFh xor eax,eax mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn 0004h ;------------------------------------------------------------------------------ mov eax,[ebp-14h] mov ecx,[eax] mov ecx,[ecx] mov [ebp-1Ch],ecx push eax push ecx call SUB_L004DCCE8 pop ecx pop ecx retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] push [ebp-1Ch] call SUB_L004D555C SUB_L004D7871: mov eax,[L00514770] test eax,eax jz L004D787C call eax L004D787C: push esi call SUB_L004D84F3 mov esi,eax test esi,esi jnz L004D7890 push 00000010h call SUB_L004D7BD8 pop ecx L004D7890: mov eax,[esi+04h] cmp eax,FFFFFFFFh jz L004D789F push eax call [KERNEL32.dll!CloseHandle] L004D789F: push esi call SUB_L004D855A pop ecx push 00000000h call [KERNEL32.dll!ExitThread] pop esi retn ;------------------------------------------------------------------------------ SUB_L004D78B0: push ebp mov ebp,esp cmp dword ptr [ebp+0Ch],00000000h push ebx mov ebx,[ebp+08h] push edi mov edi,ebx jg L004D78C4 xor eax,eax jmp L004D790E L004D78C4: push esi mov esi,[ebp+10h] push esi call SUB_L004D8D89 pop ecx L004D78CF: dec [ebp+0Ch] jz L004D7901 dec [esi+04h] js L004D78E3 mov ecx,[esi] movzx eax,[ecx] inc ecx mov [esi],ecx jmp L004D78EA L004D78E3: push esi call SUB_L004DBF5A pop ecx L004D78EA: cmp eax,FFFFFFFFh jz L004D78F8 mov [edi],al inc edi cmp al,0Ah jz L004D7901 jmp L004D78CF L004D78F8: cmp edi,[ebp+08h] jnz L004D7901 xor ebx,ebx jmp L004D7904 L004D7901: and byte ptr [edi],00h L004D7904: push esi call SUB_L004D8DDB pop ecx mov eax,ebx pop esi L004D790E: pop edi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D7912: push ebp mov ebp,esp sub esp,00000020h mov eax,[ebp+08h] push esi mov [ebp-18h],eax mov [ebp-20h],eax mov eax,[ebp+0Ch] mov dword ptr [ebp-14h],00000042h mov [ebp-1Ch],eax lea eax,[ebp+14h] push eax lea eax,[ebp-20h] push [ebp+10h] push eax call SUB_L004D8EE4 add esp,0000000Ch dec [ebp-1Ch] mov esi,eax js L004D7951 mov eax,[ebp-20h] and byte ptr [eax],00h jmp L004D795E L004D7951: lea eax,[ebp-20h] push eax push 00000000h call SUB_L004D96EE pop ecx pop ecx L004D795E: mov eax,esi pop esi leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D7970: 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] lea ecx,[ecx+00h] L004D7984: mov al,[edx] or al,al jz L004D7991 inc edx bts [esp],eax jmp L004D7984 L004D7991: mov esi,[ebp+08h] L004D7994: mov al,[esi] or al,al jz L004D79A4 inc esi bt [esp],eax jnc L004D7994 lea eax,[esi-01h] L004D79A4: add esp,00000020h pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D79AA: push ebp mov ebp,esp sub esp,00000020h mov eax,[ebp+08h] push esi push [ebp+14h] mov [ebp-18h],eax mov [ebp-20h],eax mov eax,[ebp+0Ch] push [ebp+10h] mov [ebp-1Ch],eax lea eax,[ebp-20h] mov dword ptr [ebp-14h],00000042h push eax call SUB_L004D8EE4 add esp,0000000Ch dec [ebp-1Ch] mov esi,eax js L004D79E8 mov eax,[ebp-20h] and byte ptr [eax],00h jmp L004D79F5 L004D79E8: lea eax,[ebp-20h] push eax push 00000000h call SUB_L004D96EE pop ecx pop ecx L004D79F5: mov eax,esi pop esi leave retn ;------------------------------------------------------------------------------ Align 8 SUB_L004D7A00: push ebp mov ebp,esp push edi push esi push ebx mov esi,[ebp+0Ch] mov edi,[ebp+08h] lea eax,[L00D1BC8C] cmp dword ptr [eax+08h],00000000h jnz L004D7A53 mov al,FFh mov edi,edi L004D7A1C: or al,al jz L004D7A4E mov al,[esi] inc esi mov ah,[edi] inc edi cmp ah,al jz L004D7A1C 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 L004D7A1C sbb al,al sbb al,FFh L004D7A4E: movsx eax,al jmp L004D7ACB L004D7A53: lock inc [L00D1C208] cmp dword ptr [L00D1C204],00000000h jg L004D7A67 push 00000000h jmp L004D7A7C L004D7A67: lock dec [L00D1C208] push 00000013h call SUB_L004D982F mov dword ptr [esp],00000001h L004D7A7C: mov eax,000000FFh xor ebx,ebx nop L004D7A84: or al,al jz L004D7AAF mov al,[esi] inc esi mov bl,[edi] inc edi cmp al,bl jz L004D7A84 push eax push ebx call SUB_L004D51F0 mov ebx,eax add esp,00000004h call SUB_L004D51F0 add esp,00000004h cmp bl,al jz L004D7A84 sbb eax,eax sbb eax,FFFFFFFFh L004D7AAF: mov ebx,eax pop eax or eax,eax jnz L004D7ABF lock dec [L00D1C208] jmp L004D7AC9 L004D7ABF: push 00000013h call SUB_L004D9890 add esp,00000004h L004D7AC9: mov eax,ebx L004D7ACB: pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ EntryPoint: push ebp mov ebp,esp push FFFFFFFFh push L004F2460 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000058h push ebx push esi push edi mov [ebp-18h],esp call [KERNEL32.dll!GetVersion] xor edx,edx mov dl,ah mov [L00D1BAFC],edx mov ecx,eax and ecx,000000FFh mov [L00D1BAF8],ecx shl ecx,08h add ecx,edx mov [L00D1BAF4],ecx shr eax,10h mov [L00D1BAF0],eax push 00000001h call SUB_L004DAAA4 pop ecx test eax,eax jnz L004D7B3B push 0000001Ch call SUB_L004D7BFD pop ecx L004D7B3B: call SUB_L004D848C test eax,eax jnz L004D7B4C push 00000010h call SUB_L004D7BFD pop ecx L004D7B4C: xor esi,esi mov [ebp-04h],esi call SUB_L004D9CA5 call [KERNEL32.dll!GetCommandLineA] mov [L00D1D224],eax call SUB_L004DD1BE mov [L00D1BC08],eax call SUB_L004DCF71 call SUB_L004DCEB8 call SUB_L004D551E mov [ebp-30h],esi lea eax,[ebp-5Ch] push eax call [KERNEL32.dll!GetStartupInfoA] call SUB_L004DCE60 mov [ebp-64h],eax test byte ptr [ebp-30h],01h jz L004D7B9B movzx eax,[ebp-2Ch] jmp L004D7B9E L004D7B9B: push 0000000Ah pop eax L004D7B9E: push eax push [ebp-64h] push esi push esi call [KERNEL32.dll!GetModuleHandleA] push eax call SUB_L004CE6C0 mov [ebp-60h],eax push eax call SUB_L004D554B mov eax,[ebp-14h] mov ecx,[eax] mov ecx,[ecx] mov [ebp-68h],ecx push eax push ecx call SUB_L004DCCE8 pop ecx pop ecx retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] push [ebp-68h] call SUB_L004D555C SUB_L004D7BD8: cmp dword ptr [L00D1BC10],00000001h jnz L004D7BE6 call SUB_L004DD2F0 L004D7BE6: push [esp+04h] call SUB_L004DD329 push 000000FFh call [L005147A0] pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004D7BFD: cmp dword ptr [L00D1BC10],00000001h jnz L004D7C0B call SUB_L004DD2F0 L004D7C0B: push [esp+04h] call SUB_L004DD329 pop ecx push 000000FFh call [KERNEL32.dll!ExitProcess] retn ;------------------------------------------------------------------------------ SUB_L004D7C21: push ebp mov ebp,esp push esi mov esi,[ebp+18h] push edi mov edi,19930520h cmp [esi],edi jz L004D7C37 call SUB_L004D865B L004D7C37: mov eax,[ebp+08h] test byte ptr [eax+04h],66h jz L004D7C5F cmp dword ptr [esi+04h],00000000h jz L004D7CB5 cmp dword ptr [ebp+1Ch],00000000h jnz L004D7CB5 push FFFFFFFFh push esi push [ebp+14h] push [ebp+0Ch] call SUB_L004D7F76 add esp,00000010h jmp L004D7CB5 L004D7C5F: cmp dword ptr [esi+0Ch],00000000h jz L004D7CB5 cmp dword ptr [eax],E06D7363h jnz L004D7C99 cmp [eax+14h],edi jbe L004D7C99 mov ecx,[eax+1Ch] mov ecx,[ecx+08h] test ecx,ecx jz L004D7C99 movzx edx,[ebp+24h] push edx push [ebp+20h] push [ebp+1Ch] push esi push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push eax call ecx add esp,00000020h jmp L004D7CB8 L004D7C99: push [ebp+20h] push [ebp+1Ch] push [ebp+24h] push esi push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push eax call SUB_L004D7CBC add esp,00000020h L004D7CB5: push 00000001h pop eax L004D7CB8: pop edi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D7CBC: push ebp mov ebp,esp sub esp,00000018h mov eax,[ebp+0Ch] and byte ptr [ebp-14h],00h mov eax,[eax+08h] cmp eax,FFFFFFFFh mov [ebp-10h],eax jl L004D7CDC mov ecx,[ebp+18h] cmp eax,[ecx+04h] jl L004D7CE1 L004D7CDC: call SUB_L004D865B L004D7CE1: push ebx push esi mov esi,[ebp+08h] mov ebx,E06D7363h push edi mov edi,19930520h cmp [esi],ebx jnz L004D7E44 cmp dword ptr [esi+10h],00000003h jnz L004D7D61 cmp [esi+14h],edi jnz L004D7D61 cmp dword ptr [esi+1Ch],00000000h jnz L004D7D61 call SUB_L004D84F3 cmp dword ptr [eax+6Ch],00000000h jz L004D7E3F call SUB_L004D84F3 mov esi,[eax+6Ch] call SUB_L004D84F3 mov eax,[eax+70h] push 00000001h push esi mov [ebp+10h],eax mov byte ptr [ebp-14h],01h call SUB_L004DD4E0 pop ecx test eax,eax pop ecx jnz L004D7D43 call SUB_L004D865B L004D7D43: cmp [esi],ebx jnz L004D7E44 cmp dword ptr [esi+10h],00000003h jnz L004D7D61 cmp [esi+14h],edi jnz L004D7D61 cmp dword ptr [esi+1Ch],00000000h jnz L004D7D61 call SUB_L004D865B L004D7D61: cmp [esi],ebx jnz L004D7E44 cmp dword ptr [esi+10h],00000003h jnz L004D7E44 cmp [esi+14h],edi jnz L004D7E44 mov edi,[ebp-10h] lea eax,[ebp-18h] push eax lea eax,[ebp-04h] push eax push edi push [ebp+20h] push [ebp+18h] call SUB_L004D4E33 add esp,00000014h mov ebx,eax L004D7D98: mov eax,[ebp-04h] cmp eax,[ebp-18h] jnc L004D7E2F cmp [ebx],edi jg L004D7E24 cmp edi,[ebx+04h] jg L004D7E24 mov eax,[ebx+10h] mov [ebp+08h],eax mov eax,[ebx+0Ch] test eax,eax mov [ebp-0Ch],eax jle L004D7E21 L004D7DBD: mov eax,[esi+1Ch] mov eax,[eax+0Ch] lea edi,[eax+04h] mov eax,[eax] test eax,eax mov [ebp-08h],eax jle L004D7DEE L004D7DCF: push [esi+1Ch] push [edi] push [ebp+08h] call SUB_L004D7F19 add esp,0000000Ch test eax,eax jnz L004D7DFD dec [ebp-08h] add edi,00000004h cmp [ebp-08h],eax jg L004D7DCF L004D7DEE: dec [ebp-0Ch] add dword ptr [ebp+08h],00000010h cmp dword ptr [ebp-0Ch],00000000h jg L004D7DBD jmp L004D7E21 L004D7DFD: push [ebp-14h] push [ebp+24h] push [ebp+20h] push ebx push [edi] push [ebp+08h] push [ebp+18h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push esi call SUB_L004D802A add esp,0000002Ch L004D7E21: mov edi,[ebp-10h] L004D7E24: inc [ebp-04h] add ebx,00000014h jmp L004D7D98 L004D7E2F: cmp byte ptr [ebp+1Ch],00h jz L004D7E3F push 00000001h push esi call SUB_L004D83AE pop ecx pop ecx L004D7E3F: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D7E44: cmp byte ptr [ebp+1Ch],00h jnz L004D7E6A push [ebp+24h] push [ebp+20h] push [ebp-10h] push [ebp+18h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push esi call SUB_L004D7E6F add esp,00000020h jmp L004D7E3F L004D7E6A: jmp L004D85FA SUB_L004D7E6F: push ebp mov ebp,esp push ecx push ecx push esi push edi call SUB_L004D84F3 cmp dword ptr [eax+68h],00000000h jz L004D7EA2 push [ebp+24h] push [ebp+20h] push [ebp+18h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D4D08 add esp,0000001Ch test eax,eax jnz L004D7F15 L004D7EA2: mov edi,[ebp+1Ch] lea eax,[ebp-08h] push eax lea eax,[ebp-04h] push eax push edi push [ebp+20h] push [ebp+18h] call SUB_L004D4E33 add esp,00000014h mov esi,eax L004D7EBE: mov eax,[ebp-04h] cmp eax,[ebp-08h] jnc L004D7F15 cmp edi,[esi] jl L004D7F0D cmp edi,[esi+04h] jg L004D7F0D mov eax,[esi+0Ch] mov ecx,[esi+10h] shl eax,04h add eax,ecx mov ecx,[eax-0Ch] test ecx,ecx jz L004D7EE7 cmp byte ptr [ecx+08h],00h jnz L004D7F0D L004D7EE7: push 00000001h add eax,FFFFFFF0h push [ebp+24h] push [ebp+20h] push esi push 00000000h push eax push [ebp+18h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D802A add esp,0000002Ch L004D7F0D: inc [ebp-04h] add esi,00000014h jmp L004D7EBE L004D7F15: pop edi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D7F19: push esi push edi mov edi,[esp+0Ch] mov eax,[edi+04h] test eax,eax jz L004D7F70 cmp byte ptr [eax+08h],00h lea edx,[eax+08h] jz L004D7F70 mov esi,[esp+10h] mov ecx,[esi+04h] cmp eax,ecx jz L004D7F4A add ecx,00000008h push ecx push edx call SUB_L004DC8A0 pop ecx test eax,eax pop ecx jnz L004D7F6C L004D7F4A: test byte ptr [esi],02h jz L004D7F54 test byte ptr [edi],08h jz L004D7F6C L004D7F54: mov eax,[esp+14h] mov eax,[eax] test al,01h jz L004D7F63 test byte ptr [edi],01h jz L004D7F6C L004D7F63: test al,02h jz L004D7F70 test byte ptr [edi],02h jnz L004D7F70 L004D7F6C: xor eax,eax jmp L004D7F73 L004D7F70: push 00000001h pop eax L004D7F73: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D7F76: push ebp mov ebp,esp push FFFFFFFFh push L004F2470 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch 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] L004D7FA8: cmp esi,[ebp+14h] jz L004D8002 cmp esi,FFFFFFFFh jle L004D7FB7 cmp esi,[edi+04h] jl L004D7FBC L004D7FB7: call SUB_L004D865B L004D7FBC: and dword ptr [ebp-04h],00000000h mov eax,[edi+08h] mov eax,[eax+esi*8+04h] test eax,eax jz L004D7FD7 push 00000103h push ebx push eax call SUB_L004D8440 L004D7FD7: or dword ptr [ebp-04h],FFFFFFFFh jmp L004D7FF7 push [ebp-14h] call SUB_L004D8014 pop ecx retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] or dword ptr [ebp-04h],FFFFFFFFh mov edi,[ebp+10h] mov ebx,[ebp+08h] mov esi,[ebp-1Ch] L004D7FF7: mov eax,[edi+08h] mov esi,[eax+esi*8] mov [ebp-1Ch],esi jmp L004D7FA8 L004D8002: mov [ebx+08h],esi mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D8014: mov eax,[esp+04h] mov eax,[eax] cmp dword ptr [eax],E06D7363h jz L004D8025 xor eax,eax retn ;------------------------------------------------------------------------------ L004D8025: jmp L004D85FA SUB_L004D802A: push ebp mov ebp,esp cmp dword ptr [ebp+20h],00000000h push ebx mov ebx,[ebp+1Ch] push esi push edi mov edi,[ebp+0Ch] jz L004D804C push [ebp+20h] push ebx push edi push [ebp+08h] call SUB_L004D81EA add esp,00000010h L004D804C: cmp dword ptr [ebp+2Ch],00000000h push [ebp+08h] jnz L004D8058 push edi jmp L004D805B L004D8058: push [ebp+2Ch] L004D805B: call SUB_L004D4C0A mov esi,[ebp+24h] push [esi] push [ebp+18h] push [ebp+14h] push edi call SUB_L004D7F76 mov eax,[esi+04h] push 00000100h push [ebp+28h] inc eax mov [edi+08h],eax push [ebx+0Ch] push [ebp+18h] push [ebp+10h] push edi push [ebp+08h] call SUB_L004D80A5 add esp,0000002Ch test eax,eax jz L004D80A0 push edi push eax call SUB_L004D4BC8 L004D80A0: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D80A5: push ebp mov ebp,esp push FFFFFFFFh push L004F2480 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi push edi mov [ebp-18h],esp mov ebx,[ebp+18h] mov [ebp-2Ch],ebx and dword ptr [ebp-24h],00000000h mov esi,[ebp+0Ch] mov eax,[esi-04h] mov [ebp-28h],eax call SUB_L004D84F3 mov eax,[eax+6Ch] mov [ebp-1Ch],eax call SUB_L004D84F3 mov eax,[eax+70h] mov [ebp-20h],eax call SUB_L004D84F3 mov edi,[ebp+08h] mov [eax+6Ch],edi call SUB_L004D84F3 mov ecx,[ebp+10h] mov [eax+70h],ecx and dword ptr [ebp-04h],00000000h mov dword ptr [ebp-04h],00000001h push [ebp+20h] push [ebp+1Ch] push ebx push [ebp+14h] push esi call SUB_L004D4C8F add esp,00000014h mov [ebp-2Ch],eax and dword ptr [ebp-04h],00000000h or dword ptr [ebp-04h],FFFFFFFFh call SUB_L004D8172 mov eax,[ebp-2Ch] L004D813B: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ push [ebp-14h] call SUB_L004D81C0 pop ecx retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] and dword ptr [ebp-2Ch],00000000h push FFFFFFFFh lea eax,[ebp-10h] push eax call SUB_L004D4EF2 pop ecx pop ecx xor eax,eax jmp L004D813B mov esi,[ebp+0Ch] mov edi,[ebp+08h] SUB_L004D8172: mov eax,[ebp-28h] mov [esi-04h],eax call SUB_L004D84F3 mov ecx,[ebp-1Ch] mov [eax+6Ch],ecx call SUB_L004D84F3 mov ecx,[ebp-20h] mov [eax+70h],ecx cmp dword ptr [edi],E06D7363h jnz L004D81BF cmp dword ptr [edi+10h],00000003h jnz L004D81BF cmp dword ptr [edi+14h],19930520h jnz L004D81BF cmp dword ptr [ebp-24h],00000000h jnz L004D81BF cmp dword ptr [ebp-2Ch],00000000h jz L004D81BF call SUB_L004D4F5A push eax push edi call SUB_L004D83AE pop ecx pop ecx L004D81BF: retn ;------------------------------------------------------------------------------ SUB_L004D81C0: mov eax,[esp+04h] mov eax,[eax] cmp dword ptr [eax],E06D7363h jnz L004D81E7 cmp dword ptr [eax+10h],00000003h jnz L004D81E7 cmp dword ptr [eax+14h],19930520h jnz L004D81E7 cmp dword ptr [eax+1Ch],00000000h jnz L004D81E7 push 00000001h pop eax retn ;------------------------------------------------------------------------------ L004D81E7: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004D81EA: push ebp mov ebp,esp push FFFFFFFFh push L004F2498 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000000Ch push ebx push esi push edi mov [ebp-18h],esp mov ecx,[ebp+10h] mov eax,[ecx+04h] test eax,eax jz L004D8393 cmp byte ptr [eax+08h],00h jz L004D8393 mov eax,[ecx+08h] test eax,eax jz L004D8393 mov edx,[ebp+0Ch] lea edi,[eax+edx+0Ch] and dword ptr [ebp-04h],00000000h test byte ptr [ecx],08h jz L004D8287 mov esi,[ebp+08h] push 00000001h push [esi+18h] call SUB_L004DD4E0 pop ecx pop ecx test eax,eax jz L004D838A push 00000001h push edi call SUB_L004DD4FC pop ecx pop ecx test eax,eax jz L004D838A mov eax,[esi+18h] mov [edi],eax mov ecx,[ebp+14h] add ecx,00000008h push ecx L004D8278: push eax call SUB_L004D8415 pop ecx pop ecx mov [edi],eax jmp L004D838F L004D8287: mov esi,[ebp+14h] test byte ptr [esi],01h jz L004D82E1 mov ebx,[ebp+08h] push 00000001h push [ebx+18h] call SUB_L004DD4E0 pop ecx pop ecx test eax,eax jz L004D838A push 00000001h push edi call SUB_L004DD4FC pop ecx pop ecx test eax,eax jz L004D838A push [esi+14h] push [ebx+18h] push edi call SUB_L004DD530 add esp,0000000Ch cmp dword ptr [esi+14h],00000004h jnz L004D838F mov eax,[edi] test eax,eax jz L004D838F add esi,00000008h push esi jmp L004D8278 L004D82E1: cmp dword ptr [esi+18h],00000000h mov ebx,[ebp+08h] push 00000001h push [ebx+18h] jnz L004D8329 call SUB_L004DD4E0 pop ecx pop ecx test eax,eax jz L004D838A push 00000001h push edi call SUB_L004DD4FC pop ecx pop ecx test eax,eax jz L004D838A push [esi+14h] add esi,00000008h push esi push [ebx+18h] call SUB_L004D8415 pop ecx pop ecx push eax push edi call SUB_L004DD530 add esp,0000000Ch jmp L004D838F L004D8329: call SUB_L004DD4E0 pop ecx pop ecx test eax,eax jz L004D838A push 00000001h push edi call SUB_L004DD4FC pop ecx pop ecx test eax,eax jz L004D838A push [esi+18h] call SUB_L004DD518 pop ecx test eax,eax jz L004D838A test byte ptr [esi],04h jz L004D8370 push 00000001h lea eax,[esi+08h] push eax push [ebx+18h] call SUB_L004D8415 pop ecx pop ecx push eax push [esi+18h] push edi call SUB_L004D4C03 jmp L004D838F L004D8370: lea eax,[esi+08h] push eax push [ebx+18h] call SUB_L004D8415 pop ecx pop ecx push eax push [esi+18h] push edi call SUB_L004D4BFC jmp L004D838F L004D838A: call SUB_L004D865B L004D838F: or dword ptr [ebp-04h],FFFFFFFFh L004D8393: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] jmp L004D85FA SUB_L004D83AE: push ebp mov ebp,esp push FFFFFFFFh push L004F24A8 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ecx push ebx push esi push edi mov [ebp-18h],esp mov eax,[ebp+08h] test eax,eax jz L004D83F5 mov ecx,[eax+1Ch] mov ecx,[ecx+04h] test ecx,ecx jz L004D83F5 and dword ptr [ebp-04h],00000000h push ecx push [eax+18h] call SUB_L004D4BFC or dword ptr [ebp-04h],FFFFFFFFh L004D83F5: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ xor eax,eax cmp [ebp+0Ch],al setnz al retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] jmp L004D85FA SUB_L004D8415: mov ecx,[esp+08h] push esi mov esi,[esp+08h] mov eax,[ecx] mov edx,[ecx+04h] add eax,esi test edx,edx jl L004D8436 mov esi,[edx+esi] mov ecx,[ecx+08h] mov ecx,[esi+ecx] add ecx,edx add eax,ecx L004D8436: pop esi retn ;------------------------------------------------------------------------------ Align 16 SUB_L004D8440: 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_L004D4F7D 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 L004D847F mov ecx,00000002h L004D847F: push ecx call SUB_L004D4F7D pop ebp pop ecx pop ebx leave retn 000Ch ;------------------------------------------------------------------------------ SUB_L004D848C: push esi call SUB_L004D9806 call [KERNEL32.dll!TlsAlloc] cmp eax,FFFFFFFFh mov [L005147B0],eax jz L004D84DC push 00000074h push 00000001h call SUB_L004D76DA mov esi,eax pop ecx test esi,esi pop ecx jz L004D84DC push esi push [L005147B0] call [KERNEL32.dll!TlsSetValue] test eax,eax jz L004D84DC push esi call SUB_L004D84E0 pop ecx call [KERNEL32.dll!GetCurrentThreadId] or dword ptr [esi+04h],FFFFFFFFh push 00000001h mov [esi],eax pop eax pop esi retn ;------------------------------------------------------------------------------ L004D84DC: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L004D84E0: mov eax,[esp+04h] mov dword ptr [eax+50h],L00515100 mov dword ptr [eax+14h],00000001h retn ;------------------------------------------------------------------------------ SUB_L004D84F3: push esi push edi call [KERNEL32.dll!GetLastError] push [L005147B0] mov edi,eax call [KERNEL32.dll!TlsGetValue] mov esi,eax test esi,esi jnz L004D854E push 00000074h push 00000001h call SUB_L004D76DA mov esi,eax pop ecx test esi,esi pop ecx jz L004D8546 push esi push [L005147B0] call [KERNEL32.dll!TlsSetValue] test eax,eax jz L004D8546 push esi call SUB_L004D84E0 pop ecx call [KERNEL32.dll!GetCurrentThreadId] or dword ptr [esi+04h],FFFFFFFFh mov [esi],eax jmp L004D854E L004D8546: push 00000010h call SUB_L004D7BD8 pop ecx L004D854E: push edi call [KERNEL32.dll!SetLastError] mov eax,esi pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D855A: mov eax,[L005147B0] cmp eax,FFFFFFFFh jz L004D85F9 push esi mov esi,[esp+08h] test esi,esi jnz L004D857E push eax call [KERNEL32.dll!TlsGetValue] mov esi,eax test esi,esi jz L004D85EA L004D857E: mov eax,[esi+24h] test eax,eax jz L004D858C push eax call SUB_L004D59F6 pop ecx L004D858C: mov eax,[esi+28h] test eax,eax jz L004D859A push eax call SUB_L004D59F6 pop ecx L004D859A: mov eax,[esi+30h] test eax,eax jz L004D85A8 push eax call SUB_L004D59F6 pop ecx L004D85A8: mov eax,[esi+38h] test eax,eax jz L004D85B6 push eax call SUB_L004D59F6 pop ecx L004D85B6: mov eax,[esi+40h] test eax,eax jz L004D85C4 push eax call SUB_L004D59F6 pop ecx L004D85C4: mov eax,[esi+44h] test eax,eax jz L004D85D2 push eax call SUB_L004D59F6 pop ecx L004D85D2: mov eax,[esi+50h] cmp eax,L00515100 jz L004D85E3 push eax call SUB_L004D59F6 pop ecx L004D85E3: push esi call SUB_L004D59F6 pop ecx L004D85EA: push 00000000h push [L005147B0] call [KERNEL32.dll!TlsSetValue] pop esi L004D85F9: retn ;------------------------------------------------------------------------------ L004D85FA: push ebp mov ebp,esp push FFFFFFFFh push L004F24B8 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ecx push ebx push esi push edi mov [ebp-18h],esp xor esi,esi mov [ebp-04h],esi call SUB_L004D84F3 cmp [eax+60h],esi jz L004D864D mov dword ptr [ebp-04h],00000001h call SUB_L004D84F3 call [eax+60h] mov [ebp-04h],esi jmp L004D864D push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] and dword ptr [ebp-04h],00000000h L004D864D: or dword ptr [ebp-04h],FFFFFFFFh call SUB_L004D8656 SUB_L004D8656: jmp L004DD865 SUB_L004D865B: push ebp mov ebp,esp push FFFFFFFFh push L004F24D0 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp push ecx push ecx push ebx push esi push edi mov [ebp-18h],esp and dword ptr [ebp-04h],00000000h mov eax,[L005147B4] test eax,eax jz L004D86A3 mov dword ptr [ebp-04h],00000001h call eax jmp L004D869F push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] L004D869F: and dword ptr [ebp-04h],00000000h L004D86A3: or dword ptr [ebp-04h],FFFFFFFFh call SUB_L004D86AC SUB_L004D86AC: jmp L004D85FA SUB_L004D86B1: push 00030000h push 00010000h call SUB_L004DD8B1 pop ecx pop ecx retn ;------------------------------------------------------------------------------ L004D86C3: push ebp mov ebp,esp sub esp,00000018h fld qword ptr [L004F24F0] fstp qword ptr [ebp-08h] fld qword ptr [L004F24E8] fstp qword ptr [ebp-10h] 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 [L004EE3E0] fnstsw ax sahf jbe L004D86FD push 00000001h pop eax leave retn ;------------------------------------------------------------------------------ L004D86FD: xor eax,eax leave retn ;------------------------------------------------------------------------------ SUB_L004D8701: push SSZ004F2514_KERNEL32 call [KERNEL32.dll!GetModuleHandleA] test eax,eax jz L004D8725 push L004F24F8 push eax call [KERNEL32.dll!GetProcAddress] test eax,eax jz L004D8725 push 00000000h call eax retn ;------------------------------------------------------------------------------ L004D8725: jmp L004D86C3 L004D872A: push esi mov esi,[esp+08h] movsx eax,[esi] push eax call SUB_L004D5181 cmp eax,00000065h pop ecx jz L004D876A L004D873E: inc esi cmp dword ptr [L00514E30],00000001h jle L004D8757 movsx eax,[esi] push 00000004h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004D8766 L004D8757: movsx eax,[esi] mov ecx,[L00514C24] mov al,[ecx+eax*2] and eax,00000004h L004D8766: test eax,eax jnz L004D873E L004D876A: mov cl,[L00514E34] mov al,[esi] mov [esi],cl inc esi L004D8775: mov cl,[esi] mov [esi],al mov al,cl mov cl,[esi] inc esi test cl,cl jnz L004D8775 pop esi retn ;------------------------------------------------------------------------------ L004D8784: mov eax,[esp+04h] mov dl,[L00514E34] mov cl,[eax] test cl,cl jz L004D87A0 L004D8794: cmp cl,dl jz L004D87A0 mov cl,[eax+01h] inc eax test cl,cl jnz L004D8794 L004D87A0: mov cl,[eax] inc eax test cl,cl jz L004D87D1 L004D87A7: mov cl,[eax] test cl,cl jz L004D87BA cmp cl,65h jz L004D87BA cmp cl,45h jz L004D87BA inc eax jmp L004D87A7 L004D87BA: mov ecx,eax L004D87BC: dec eax cmp byte ptr [eax],30h jz L004D87BC cmp [eax],dl jnz L004D87C7 dec eax L004D87C7: mov dl,[ecx] inc eax inc ecx test dl,dl mov [eax],dl jnz L004D87C7 L004D87D1: retn ;------------------------------------------------------------------------------ L004D87D2: mov eax,[esp+04h] fld qword ptr [eax] fcomp qword ptr [L004EE3D8] fnstsw ax sahf jc L004D87E7 push 00000001h pop eax retn ;------------------------------------------------------------------------------ L004D87E7: xor eax,eax retn ;------------------------------------------------------------------------------ L004D87EA: push ebp mov ebp,esp push ecx push ecx cmp dword ptr [ebp+08h],00000000h push [ebp+10h] jz L004D8813 lea eax,[ebp-08h] push eax call SUB_L004DDD74 mov eax,[ebp+0Ch] pop ecx pop ecx mov ecx,[ebp-08h] mov [eax],ecx mov ecx,[ebp-04h] mov [eax+04h],ecx leave retn ;------------------------------------------------------------------------------ L004D8813: lea eax,[ebp+10h] push eax call SUB_L004DDDA1 mov eax,[ebp+0Ch] pop ecx pop ecx mov ecx,[ebp+10h] mov [eax],ecx leave retn ;------------------------------------------------------------------------------ SUB_L004D8828: push ebp mov ebp,esp sub esp,00000028h lea eax,[ebp-28h] push esi push eax lea eax,[ebp-10h] push eax mov eax,[ebp+08h] push ecx push ecx fld qword ptr [eax] fstp qword ptr [esp] call SUB_L004DDE45 mov esi,[ebp+10h] lea eax,[ebp-10h] push eax mov edx,[ebp+0Ch] lea eax,[esi+01h] push eax xor eax,eax cmp dword ptr [ebp-10h],0000002Dh setz al xor ecx,ecx test esi,esi setg cl add edx,eax add ecx,edx push ecx call SUB_L004DDDCE lea eax,[ebp-10h] push 00000000h push eax push [ebp+14h] push esi push [ebp+0Ch] call SUB_L004D8889 mov eax,[ebp+0Ch] add esp,00000030h pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D8889: push ebp mov ebp,esp push ebx xor ebx,ebx cmp [ebp+18h],bl push esi mov esi,[ebp+14h] push edi mov edi,[ebp+08h] jz L004D88B7 xor eax,eax cmp [ebp+0Ch],ebx setg al push eax xor eax,eax cmp dword ptr [esi],0000002Dh setz al add eax,edi push eax call SUB_L004D8B2B pop ecx pop ecx L004D88B7: cmp dword ptr [esi],0000002Dh mov eax,edi jnz L004D88C4 mov byte ptr [edi],2Dh lea eax,[edi+01h] L004D88C4: cmp [ebp+0Ch],ebx jle L004D88DB mov dl,[eax+01h] lea ecx,[eax+01h] mov [eax],dl mov eax,ecx mov cl,[L00514E34] mov [eax],cl L004D88DB: xor ecx,ecx cmp [ebp+18h],bl push SSZ004F2520_e_000 setz cl add ecx,eax add ecx,[ebp+0Ch] push ecx call SUB_L004DC7B0 cmp [ebp+10h],ebx pop ecx pop ecx mov ecx,eax jz L004D88FF mov byte ptr [ecx],45h L004D88FF: mov eax,[esi+0Ch] inc ecx cmp byte ptr [eax],30h jz L004D8944 mov ebx,[esi+04h] dec ebx jns L004D8913 neg ebx mov byte ptr [ecx],2Dh L004D8913: inc ecx cmp ebx,00000064h jl L004D892A mov eax,ebx push 00000064h cdq pop esi idiv esi add [ecx],al mov eax,ebx cdq idiv esi mov ebx,edx L004D892A: inc ecx cmp ebx,0000000Ah jl L004D8941 mov eax,ebx push 0000000Ah cdq pop esi idiv esi add [ecx],al mov eax,ebx cdq idiv esi mov ebx,edx L004D8941: add [ecx+01h],bl L004D8944: mov eax,edi pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D894B: push ebp mov ebp,esp sub esp,00000028h lea eax,[ebp-28h] push esi push eax lea eax,[ebp-10h] push eax mov eax,[ebp+08h] push ecx push ecx fld qword ptr [eax] fstp qword ptr [esp] call SUB_L004DDE45 mov esi,[ebp+10h] lea eax,[ebp-10h] push eax mov eax,[ebp-0Ch] add eax,esi push eax xor eax,eax cmp dword ptr [ebp-10h],0000002Dh setz al add eax,[ebp+0Ch] push eax call SUB_L004DDDCE lea eax,[ebp-10h] push 00000000h push eax push esi push [ebp+0Ch] call SUB_L004D89A0 mov eax,[ebp+0Ch] add esp,0000002Ch pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004D89A0: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+10h] mov ebx,[ebp+08h] push edi mov eax,[esi+04h] dec eax cmp byte ptr [ebp+14h],00h jz L004D89D0 cmp eax,[ebp+0Ch] jnz L004D89D0 xor ecx,ecx cmp dword ptr [esi],0000002Dh setz cl add ecx,eax add ecx,ebx mov eax,ecx mov byte ptr [eax],30h and byte ptr [eax+01h],00h L004D89D0: cmp dword ptr [esi],0000002Dh mov edi,ebx jnz L004D89DD mov byte ptr [ebx],2Dh lea edi,[ebx+01h] L004D89DD: mov eax,[esi+04h] test eax,eax jg L004D89F4 push 00000001h push edi call SUB_L004D8B2B pop ecx mov byte ptr [edi],30h pop ecx inc edi jmp L004D89F6 L004D89F4: add edi,eax L004D89F6: cmp dword ptr [ebp+0Ch],00000000h jle L004D8A40 push 00000001h push edi call SUB_L004D8B2B mov al,[L00514E34] pop ecx mov [edi],al mov esi,[esi+04h] inc edi pop ecx test esi,esi jge L004D8A40 cmp byte ptr [ebp+14h],00h jz L004D8A1F neg esi jmp L004D8A26 L004D8A1F: neg esi cmp [ebp+0Ch],esi jl L004D8A29 L004D8A26: mov [ebp+0Ch],esi L004D8A29: push [ebp+0Ch] push edi call SUB_L004D8B2B push [ebp+0Ch] push 00000030h push edi call SUB_L004DCC90 add esp,00000014h L004D8A40: pop edi mov eax,ebx pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D8A47: push ebp mov ebp,esp sub esp,00000028h push ebx push esi lea eax,[ebp-28h] push edi push eax lea eax,[ebp-10h] push eax mov eax,[ebp+08h] push ecx push ecx fld qword ptr [eax] fstp qword ptr [esp] call SUB_L004DDE45 mov eax,[ebp-0Ch] mov ebx,[ebp+10h] lea esi,[eax-01h] xor eax,eax cmp dword ptr [ebp-10h],0000002Dh setz al add eax,[ebp+0Ch] mov edi,eax lea eax,[ebp-10h] push eax push ebx push edi call SUB_L004DDDCE mov eax,[ebp-0Ch] add esp,0000001Ch dec eax cmp esi,eax setl cl cmp eax,FFFFFFFCh jl L004D8AC0 cmp eax,ebx jge L004D8AC0 test cl,cl jz L004D8AAC L004D8AA2: mov al,[edi] inc edi test al,al jnz L004D8AA2 and [edi-02h],al L004D8AAC: lea eax,[ebp-10h] push 00000001h push eax push ebx push [ebp+0Ch] call SUB_L004D89A0 add esp,00000010h jmp L004D8AD5 L004D8AC0: lea eax,[ebp-10h] push 00000001h push eax push [ebp+14h] push ebx push [ebp+0Ch] call SUB_L004D8889 add esp,00000014h L004D8AD5: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D8ADA: push ebp mov ebp,esp cmp dword ptr [ebp+10h],00000065h jz L004D8B15 cmp dword ptr [ebp+10h],00000045h jz L004D8B15 cmp dword ptr [ebp+10h],00000066h jnz L004D8B02 push [ebp+14h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D894B add esp,0000000Ch pop ebp retn ;------------------------------------------------------------------------------ L004D8B02: push [ebp+18h] push [ebp+14h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D8A47 jmp L004D8B26 L004D8B15: push [ebp+18h] push [ebp+14h] push [ebp+0Ch] push [ebp+08h] call SUB_L004D8828 L004D8B26: add esp,00000010h pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D8B2B: push edi mov edi,[esp+0Ch] test edi,edi jz L004D8B4E push esi mov esi,[esp+0Ch] push esi call SUB_L004DA9F0 inc eax push eax push esi add esi,edi push esi call SUB_L004DD530 add esp,00000010h pop esi L004D8B4E: pop edi retn ;------------------------------------------------------------------------------ SUB_L004D8B50: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi test ebx,ebx jnz L004D8B6B push [ebp+0Ch] call SUB_L004D5A3E pop ecx jmp L004D8C83 L004D8B6B: mov esi,[ebp+0Ch] test esi,esi jnz L004D8B80 push ebx call SUB_L004D59F6 pop ecx L004D8B79: xor eax,eax jmp L004D8C83 L004D8B80: xor edi,edi cmp esi,FFFFFFE0h ja L004D8C64 push 00000009h call SUB_L004D982F push ebx call SUB_L004DAB1E pop ecx mov [ebp+0Ch],eax test eax,eax pop ecx jz L004D8C39 cmp esi,[L00514FE4] ja L004D8BEF push esi push ebx push eax call SUB_L004DB329 add esp,0000000Ch test eax,eax jz L004D8BC0 mov edi,ebx jmp L004D8BEB L004D8BC0: push esi call SUB_L004DAE74 mov edi,eax pop ecx test edi,edi jz L004D8BEF mov eax,[ebx-04h] dec eax cmp eax,esi jc L004D8BD7 mov eax,esi L004D8BD7: push eax push ebx push edi call SUB_L004DC280 push ebx push [ebp+0Ch] call SUB_L004DAB49 add esp,00000014h L004D8BEB: test edi,edi jnz L004D8C2F L004D8BEF: test esi,esi jnz L004D8BF6 push 00000001h pop esi L004D8BF6: add esi,0000000Fh and esi,FFFFFFF0h push esi push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapAlloc] mov edi,eax test edi,edi jz L004D8C2F mov eax,[ebx-04h] dec eax cmp eax,esi jc L004D8C1B mov eax,esi L004D8C1B: push eax push ebx push edi call SUB_L004DC280 push ebx push [ebp+0Ch] call SUB_L004DAB49 add esp,00000014h L004D8C2F: push 00000009h call SUB_L004D9890 pop ecx jmp L004D8C60 L004D8C39: push 00000009h call SUB_L004D9890 test esi,esi pop ecx jnz L004D8C48 push 00000001h pop esi L004D8C48: add esi,0000000Fh and esi,FFFFFFF0h push esi push ebx push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapReAlloc] mov edi,eax L004D8C60: test edi,edi jnz L004D8C81 L004D8C64: cmp dword ptr [L00D1BCB0],00000000h jz L004D8C81 push esi call SUB_L004D74F3 test eax,eax pop ecx jnz L004D8B80 jmp L004D8B79 L004D8C81: mov eax,edi L004D8C83: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D8C88: push esi push 00000009h call SUB_L004D982F mov esi,[esp+0Ch] push esi call SUB_L004DAB1E pop ecx test eax,eax pop ecx jz L004D8CB0 mov esi,[esi-04h] push 00000009h sub esi,00000009h call SUB_L004D9890 pop ecx jmp L004D8CC9 L004D8CB0: push 00000009h call SUB_L004D9890 pop ecx push esi push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapSize] mov esi,eax L004D8CC9: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ mov eax,[L00D1D220] push esi push 00000014h test eax,eax pop esi jnz L004D8CE1 mov eax,00000200h jmp L004D8CE7 L004D8CE1: cmp eax,esi jge L004D8CEC mov eax,esi L004D8CE7: mov [L00D1D220],eax L004D8CEC: push 00000004h push eax call SUB_L004D76DA pop ecx mov [L00D1C20C],eax test eax,eax pop ecx jnz L004D8D20 push 00000004h push esi mov [L00D1D220],esi call SUB_L004D76DA pop ecx mov [L00D1C20C],eax test eax,eax pop ecx jnz L004D8D20 push 0000001Ah call SUB_L004D7BD8 pop ecx L004D8D20: xor ecx,ecx mov eax,L005147D0 L004D8D27: mov edx,[L00D1C20C] mov [ecx+edx],eax add eax,00000020h add ecx,00000004h cmp eax,L00514A50 jl L004D8D27 xor ecx,ecx mov edx,L005147E0 L004D8D44: mov esi,ecx mov eax,ecx sar esi,05h and eax,0000001Fh mov esi,[L00D1C100+esi*4] lea eax,[eax+eax*8] mov eax,[esi+eax*4] cmp eax,FFFFFFFFh jz L004D8D64 test eax,eax jnz L004D8D67 L004D8D64: or dword ptr [edx],FFFFFFFFh L004D8D67: add edx,00000020h inc ecx cmp edx,L00514840 jl L004D8D44 pop esi retn ;------------------------------------------------------------------------------ call SUB_L004DBEAD cmp byte ptr [L00D1BB24],00h jz L004D8D88 jmp L004DDF60 L004D8D88: retn ;------------------------------------------------------------------------------ SUB_L004D8D89: mov eax,[esp+04h] mov ecx,L005147D0 cmp eax,ecx jc L004D8DAD cmp eax,L00514A30 ja L004D8DAD sub eax,ecx sar eax,05h add eax,0000001Ch push eax call SUB_L004D982F pop ecx retn ;------------------------------------------------------------------------------ L004D8DAD: add eax,00000020h push eax call [KERNEL32.dll!EnterCriticalSection] retn ;------------------------------------------------------------------------------ SUB_L004D8DB8: mov eax,[esp+04h] cmp eax,00000014h jge L004D8DCC add eax,0000001Ch push eax call SUB_L004D982F pop ecx retn ;------------------------------------------------------------------------------ L004D8DCC: mov eax,[esp+08h] add eax,00000020h push eax call [KERNEL32.dll!EnterCriticalSection] retn ;------------------------------------------------------------------------------ SUB_L004D8DDB: mov eax,[esp+04h] mov ecx,L005147D0 cmp eax,ecx jc L004D8DFF cmp eax,L00514A30 ja L004D8DFF sub eax,ecx sar eax,05h add eax,0000001Ch push eax call SUB_L004D9890 pop ecx retn ;------------------------------------------------------------------------------ L004D8DFF: add eax,00000020h push eax call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ SUB_L004D8E0A: mov eax,[esp+04h] cmp eax,00000014h jge L004D8E1E add eax,0000001Ch push eax call SUB_L004D9890 pop ecx retn ;------------------------------------------------------------------------------ L004D8E1E: mov eax,[esp+08h] add eax,00000020h push eax call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ SUB_L004D8E2D: push esi mov esi,[esp+08h] push [esi+10h] call SUB_L004DDFE1 test eax,eax pop ecx jz L004D8EB6 cmp esi,L005147F0 jnz L004D8E4B xor eax,eax jmp L004D8E56 L004D8E4B: cmp esi,L00514810 jnz L004D8EB6 push 00000001h pop eax L004D8E56: inc [L00D1BC14] test word ptr [esi+0Ch],010Ch jnz L004D8EB6 cmp dword ptr [L00D1BC18+eax*4],00000000h push ebx push edi lea edi,[L00D1BC18+eax*4] mov ebx,00001000h jnz L004D8E9C push ebx call SUB_L004D5A3E test eax,eax pop ecx mov [edi],eax jnz L004D8E9C lea eax,[esi+14h] push 00000002h mov [esi+08h],eax mov [esi],eax pop eax mov [esi+18h],eax mov [esi+04h],eax jmp L004D8EA9 L004D8E9C: mov edi,[edi] mov [esi+18h],ebx mov [esi+08h],edi mov [esi],edi mov [esi+04h],ebx L004D8EA9: or word ptr [esi+0Ch],1102h push 00000001h pop eax pop edi pop ebx pop esi retn ;------------------------------------------------------------------------------ L004D8EB6: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L004D8EBA: cmp dword ptr [esp+04h],00000000h push esi jz L004D8EE2 mov esi,[esp+0Ch] test byte ptr [esi+0Dh],10h jz L004D8EE2 push esi call SUB_L004DBE51 and byte ptr [esi+0Dh],EEh and dword ptr [esi+18h],00000000h and dword ptr [esi],00000000h and dword ptr [esi+08h],00000000h pop ecx L004D8EE2: pop esi retn ;------------------------------------------------------------------------------ SUB_L004D8EE4: push ebp mov ebp,esp sub esp,00000248h push ebx push esi push edi mov edi,[ebp+0Ch] xor esi,esi mov bl,[edi] inc edi test bl,bl mov [ebp-0Ch],esi mov [ebp-14h],esi mov [ebp+0Ch],edi jz L004D95FD mov ecx,[ebp-10h] xor edx,edx jmp L004D8F18 L004D8F10: mov ecx,[ebp-10h] mov esi,[ebp-30h] xor edx,edx L004D8F18: cmp [ebp-14h],edx jl L004D95FD cmp bl,20h jl L004D8F39 cmp bl,78h jg L004D8F39 movsx eax,bl mov al,[eax+SSZ004F2508_rePresent] and eax,0000000Fh jmp L004D8F3B L004D8F39: xor eax,eax L004D8F3B: movsx eax,[esi+eax*8+L004F2528] sar eax,04h cmp eax,00000007h mov [ebp-30h],eax ja L004D95EC jmp [CASE_PROCTABLE_004D9605+eax*4] CASE_004D9605_PROC0001: or dword ptr [ebp-10h],FFFFFFFFh mov [ebp-34h],edx mov [ebp-28h],edx mov [ebp-20h],edx mov [ebp-1Ch],edx mov [ebp-04h],edx mov [ebp-24h],edx jmp L004D95EC CASE_004D9605_PROC0002: movsx eax,bl sub eax,00000020h jz L004D8FB7 sub eax,00000003h jz L004D8FAE sub eax,00000008h jz L004D8FA5 dec eax dec eax jz L004D8F9C sub eax,00000003h jnz L004D95EC or dword ptr [ebp-04h],00000008h jmp L004D95EC L004D8F9C: or dword ptr [ebp-04h],00000004h jmp L004D95EC L004D8FA5: or dword ptr [ebp-04h],00000001h jmp L004D95EC L004D8FAE: or byte ptr [ebp-04h],80h jmp L004D95EC L004D8FB7: or dword ptr [ebp-04h],00000002h jmp L004D95EC CASE_004D9605_PROC0003: cmp bl,2Ah jnz L004D8FE8 lea eax,[ebp+10h] push eax call SUB_L004D96C3 test eax,eax pop ecx mov [ebp-20h],eax jge L004D95EC or dword ptr [ebp-04h],00000004h neg eax L004D8FE0: mov [ebp-20h],eax jmp L004D95EC L004D8FE8: mov eax,[ebp-20h] movsx ecx,bl lea eax,[eax+eax*4] lea eax,[ecx+eax*2-30h] jmp L004D8FE0 CASE_004D9605_PROC0004: mov [ebp-10h],edx jmp L004D95EC CASE_004D9605_PROC0005: cmp bl,2Ah jnz L004D9022 lea eax,[ebp+10h] push eax call SUB_L004D96C3 test eax,eax pop ecx mov [ebp-10h],eax jge L004D95EC or dword ptr [ebp-10h],FFFFFFFFh jmp L004D95EC L004D9022: lea eax,[ecx+ecx*4] movsx ecx,bl lea eax,[ecx+eax*2-30h] mov [ebp-10h],eax jmp L004D95EC CASE_004D9605_PROC0006: cmp bl,49h jz L004D9067 cmp bl,68h jz L004D905E cmp bl,6Ch jz L004D9055 cmp bl,77h jnz L004D95EC or byte ptr [ebp-03h],08h jmp L004D95EC L004D9055: or dword ptr [ebp-04h],00000010h jmp L004D95EC L004D905E: or dword ptr [ebp-04h],00000020h jmp L004D95EC L004D9067: cmp byte ptr [edi],36h jnz L004D9080 cmp byte ptr [edi+01h],34h jnz L004D9080 inc edi inc edi or byte ptr [ebp-03h],80h mov [ebp+0Ch],edi jmp L004D95EC L004D9080: mov [ebp-30h],edx CASE_004D9605_PROC0000: mov ecx,[L00514C24] mov [ebp-24h],edx movzx eax,bl test byte ptr [ecx+eax*2+01h],80h jz L004D90AF lea eax,[ebp-14h] push eax push [ebp+08h] movsx eax,bl push eax call SUB_L004D9625 mov bl,[edi] add esp,0000000Ch inc edi mov [ebp+0Ch],edi L004D90AF: lea eax,[ebp-14h] push eax push [ebp+08h] movsx eax,bl push eax call SUB_L004D9625 add esp,0000000Ch jmp L004D95EC CASE_004D9605_PROC0007: movsx eax,bl cmp eax,00000067h jg L004D92EF cmp eax,00000065h jge L004D9172 cmp eax,00000058h jg L004D91D0 jz L004D9363 sub eax,00000043h jz L004D9193 dec eax dec eax jz L004D9168 dec eax dec eax jz L004D9168 sub eax,0000000Ch jnz L004D94EE test word ptr [ebp-04h],0830h jnz L004D9111 or byte ptr [ebp-03h],08h L004D9111: mov esi,[ebp-10h] cmp esi,FFFFFFFFh jnz L004D911E mov esi,7FFFFFFFh L004D911E: lea eax,[ebp+10h] push eax call SUB_L004D96C3 test word ptr [ebp-04h],0810h pop ecx mov ecx,eax mov [ebp-08h],ecx jz L004D9337 test ecx,ecx jnz L004D9146 mov ecx,[L00514A54] mov [ebp-08h],ecx L004D9146: mov dword ptr [ebp-24h],00000001h mov eax,ecx L004D914F: mov edx,esi dec esi test edx,edx jz L004D932E cmp word ptr [eax],0000h jz L004D932E inc eax inc eax jmp L004D914F L004D9168: mov dword ptr [ebp-34h],00000001h add bl,20h L004D9172: or dword ptr [ebp-04h],00000040h lea edi,[ebp-00000248h] cmp ecx,edx mov [ebp-08h],edi jge L004D9256 mov dword ptr [ebp-10h],00000006h jmp L004D9264 L004D9193: test word ptr [ebp-04h],0830h jnz L004D919F or byte ptr [ebp-03h],08h L004D919F: test word ptr [ebp-04h],0810h lea eax,[ebp+10h] push eax jz L004D91E6 call SUB_L004D96E0 push eax lea eax,[ebp-00000248h] push eax call SUB_L004DE00A add esp,0000000Ch mov [ebp-0Ch],eax test eax,eax jge L004D91F9 mov dword ptr [ebp-28h],00000001h jmp L004D91F9 L004D91D0: sub eax,0000005Ah jz L004D9207 sub eax,00000009h jz L004D919F dec eax jz L004D93C9 jmp L004D94EE L004D91E6: call SUB_L004D96C3 pop ecx mov [ebp-00000248h],al mov dword ptr [ebp-0Ch],00000001h L004D91F9: lea eax,[ebp-00000248h] mov [ebp-08h],eax jmp L004D94EE L004D9207: lea eax,[ebp+10h] push eax call SUB_L004D96C3 test eax,eax pop ecx jz L004D9248 mov ecx,[eax+04h] test ecx,ecx jz L004D9248 test byte ptr [ebp-03h],08h jz L004D9239 movsx eax,[eax] shr eax,1 mov [ebp-08h],ecx mov [ebp-0Ch],eax mov dword ptr [ebp-24h],00000001h jmp L004D94EE L004D9239: and dword ptr [ebp-24h],00000000h mov [ebp-08h],ecx movsx eax,[eax] jmp L004D94EB L004D9248: mov eax,[L00514A50] mov [ebp-08h],eax push eax jmp L004D92E4 L004D9256: jnz L004D9264 cmp bl,67h jnz L004D9264 mov dword ptr [ebp-10h],00000001h L004D9264: mov eax,[ebp+10h] push [ebp-34h] add eax,00000008h mov [ebp+10h],eax push [ebp-10h] mov ecx,[eax-08h] mov [ebp-48h],ecx mov eax,[eax-04h] mov [ebp-44h],eax movsx eax,bl push eax lea eax,[ebp-00000248h] push eax lea eax,[ebp-48h] push eax call [L005147B8] mov esi,[ebp-04h] add esp,00000014h and esi,00000080h jz L004D92B6 cmp dword ptr [ebp-10h],00000000h jnz L004D92B6 lea eax,[ebp-00000248h] push eax call [L005147C4] pop ecx L004D92B6: cmp bl,67h jnz L004D92CD test esi,esi jnz L004D92CD lea eax,[ebp-00000248h] push eax call [L005147BC] pop ecx L004D92CD: cmp byte ptr [ebp-00000248h],2Dh jnz L004D92E3 or byte ptr [ebp-03h],01h lea edi,[ebp-00000247h] mov [ebp-08h],edi L004D92E3: push edi L004D92E4: call SUB_L004DA9F0 pop ecx jmp L004D94EB L004D92EF: sub eax,00000069h jz L004D93C9 sub eax,00000005h jz L004D939F dec eax jz L004D938C dec eax jz L004D935C sub eax,00000003h jz L004D9111 dec eax dec eax jz L004D93CD sub eax,00000003h jnz L004D94EE mov dword ptr [ebp-2Ch],00000027h jmp L004D936A L004D932E: sub eax,ecx sar eax,1 jmp L004D94EB L004D9337: test ecx,ecx jnz L004D9344 mov ecx,[L00514A50] mov [ebp-08h],ecx L004D9344: mov eax,ecx L004D9346: mov edx,esi dec esi test edx,edx jz L004D9355 cmp byte ptr [eax],00h jz L004D9355 inc eax jmp L004D9346 L004D9355: sub eax,ecx jmp L004D94EB L004D935C: mov dword ptr [ebp-10h],00000008h L004D9363: mov dword ptr [ebp-2Ch],00000007h L004D936A: test byte ptr [ebp-04h],80h mov dword ptr [ebp-0Ch],00000010h jz L004D93D4 mov al,[ebp-2Ch] mov byte ptr [ebp-16h],30h add al,51h mov dword ptr [ebp-1Ch],00000002h mov [ebp-15h],al jmp L004D93D4 L004D938C: test byte ptr [ebp-04h],80h mov dword ptr [ebp-0Ch],00000008h jz L004D93D4 or byte ptr [ebp-03h],02h jmp L004D93D4 L004D939F: lea eax,[ebp+10h] push eax call SUB_L004D96C3 test byte ptr [ebp-04h],20h pop ecx jz L004D93B8 mov cx,[ebp-14h] mov [eax],cx jmp L004D93BD L004D93B8: mov ecx,[ebp-14h] mov [eax],ecx L004D93BD: mov dword ptr [ebp-28h],00000001h jmp L004D95EC L004D93C9: or dword ptr [ebp-04h],00000040h L004D93CD: mov dword ptr [ebp-0Ch],0000000Ah L004D93D4: test byte ptr [ebp-03h],80h jz L004D93E6 lea eax,[ebp+10h] push eax call SUB_L004D96D0 pop ecx jmp L004D9427 L004D93E6: test byte ptr [ebp-04h],20h jz L004D940D test byte ptr [ebp-04h],40h lea eax,[ebp+10h] push eax jz L004D9402 call SUB_L004D96C3 pop ecx movsx eax,ax L004D93FF: cdq jmp L004D9427 L004D9402: call SUB_L004D96C3 pop ecx movzx eax,ax jmp L004D93FF L004D940D: test byte ptr [ebp-04h],40h lea eax,[ebp+10h] push eax jz L004D941F call SUB_L004D96C3 pop ecx jmp L004D93FF L004D941F: call SUB_L004D96C3 pop ecx xor edx,edx L004D9427: test byte ptr [ebp-04h],40h jz L004D9448 test edx,edx jg L004D9448 jl L004D9437 test eax,eax jnc L004D9448 L004D9437: neg eax adc edx,00000000h mov esi,eax neg edx or byte ptr [ebp-03h],01h mov edi,edx jmp L004D944C L004D9448: mov esi,eax mov edi,edx L004D944C: test byte ptr [ebp-03h],80h jnz L004D9455 and edi,00000000h L004D9455: cmp dword ptr [ebp-10h],00000000h jge L004D9464 mov dword ptr [ebp-10h],00000001h jmp L004D9468 L004D9464: and dword ptr [ebp-04h],FFFFFFF7h L004D9468: mov eax,esi or eax,edi jnz L004D9472 and dword ptr [ebp-1Ch],00000000h L004D9472: lea eax,[ebp-49h] mov [ebp-08h],eax L004D9478: mov eax,[ebp-10h] dec [ebp-10h] test eax,eax jg L004D9488 mov eax,esi or eax,edi jz L004D94C3 L004D9488: mov eax,[ebp-0Ch] cdq push edx push eax push edi push esi mov [ebp-40h],eax mov [ebp-3Ch],edx call SUB_L004DE140 push [ebp-3Ch] mov ebx,eax add ebx,00000030h push [ebp-40h] push edi push esi call SUB_L004DE0D0 cmp ebx,00000039h mov esi,eax mov edi,edx jle L004D94B9 add ebx,[ebp-2Ch] L004D94B9: mov eax,[ebp-08h] dec [ebp-08h] mov [eax],bl jmp L004D9478 L004D94C3: lea eax,[ebp-49h] sub eax,[ebp-08h] inc [ebp-08h] test byte ptr [ebp-03h],02h mov [ebp-0Ch],eax jz L004D94EE mov ecx,[ebp-08h] cmp byte ptr [ecx],30h jnz L004D94E1 test eax,eax jnz L004D94EE L004D94E1: dec [ebp-08h] inc eax mov ecx,[ebp-08h] mov byte ptr [ecx],30h L004D94EB: mov [ebp-0Ch],eax L004D94EE: cmp dword ptr [ebp-28h],00000000h jnz L004D95EC mov ebx,[ebp-04h] test bl,40h jz L004D9526 test bh,01h jz L004D950B mov byte ptr [ebp-16h],2Dh jmp L004D951F L004D950B: test bl,01h jz L004D9516 mov byte ptr [ebp-16h],2Bh jmp L004D951F L004D9516: test bl,02h jz L004D9526 mov byte ptr [ebp-16h],20h L004D951F: mov dword ptr [ebp-1Ch],00000001h L004D9526: mov esi,[ebp-20h] sub esi,[ebp-1Ch] sub esi,[ebp-0Ch] test bl,0Ch jnz L004D9546 lea eax,[ebp-14h] push eax push [ebp+08h] push esi push 00000020h call SUB_L004D965A add esp,00000010h L004D9546: lea eax,[ebp-14h] push eax lea eax,[ebp-16h] push [ebp+08h] push [ebp-1Ch] push eax call SUB_L004D968B add esp,00000010h test bl,08h jz L004D9578 test bl,04h jnz L004D9578 lea eax,[ebp-14h] push eax push [ebp+08h] push esi push 00000030h call SUB_L004D965A add esp,00000010h L004D9578: cmp dword ptr [ebp-24h],00000000h jz L004D95BF cmp dword ptr [ebp-0Ch],00000000h jle L004D95BF mov eax,[ebp-0Ch] mov ebx,[ebp-08h] lea edi,[eax-01h] L004D958D: mov ax,[ebx] inc ebx push eax lea eax,[ebp-38h] push eax inc ebx call SUB_L004DE00A pop ecx test eax,eax pop ecx jle L004D95D4 lea ecx,[ebp-14h] push ecx push [ebp+08h] push eax lea eax,[ebp-38h] push eax call SUB_L004D968B add esp,00000010h mov eax,edi dec edi test eax,eax jnz L004D958D jmp L004D95D4 L004D95BF: lea eax,[ebp-14h] push eax push [ebp+08h] push [ebp-0Ch] push [ebp-08h] call SUB_L004D968B add esp,00000010h L004D95D4: test byte ptr [ebp-04h],04h jz L004D95EC lea eax,[ebp-14h] push eax push [ebp+08h] push esi push 00000020h call SUB_L004D965A add esp,00000010h L004D95EC: mov edi,[ebp+0Ch] mov bl,[edi] inc edi test bl,bl mov [ebp+0Ch],edi jnz L004D8F10 L004D95FD: mov eax,[ebp-14h] pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004D9605: dd CASE_004D9605_PROC0000 dd CASE_004D9605_PROC0001 dd CASE_004D9605_PROC0002 dd CASE_004D9605_PROC0003 dd CASE_004D9605_PROC0004 dd CASE_004D9605_PROC0005 dd CASE_004D9605_PROC0006 dd CASE_004D9605_PROC0007 SUB_L004D9625: push ebp mov ebp,esp mov ecx,[ebp+0Ch] dec [ecx+04h] js L004D963E mov edx,[ecx] mov al,[ebp+08h] mov [edx],al inc [ecx] movzx eax,al jmp L004D9649 L004D963E: push ecx push [ebp+08h] call SUB_L004D96EE pop ecx pop ecx L004D9649: cmp eax,FFFFFFFFh mov eax,[ebp+10h] jnz L004D9656 or dword ptr [eax],FFFFFFFFh pop ebp retn ;------------------------------------------------------------------------------ L004D9656: inc [eax] pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D965A: push esi push edi mov edi,[esp+10h] mov eax,edi dec edi test eax,eax jle L004D9688 mov esi,[esp+18h] L004D966B: push esi push [esp+18h] push [esp+14h] call SUB_L004D9625 add esp,0000000Ch cmp dword ptr [esi],FFFFFFFFh jz L004D9688 mov eax,edi dec edi test eax,eax jg L004D966B L004D9688: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D968B: push ebx mov ebx,[esp+0Ch] mov eax,ebx dec ebx push esi push edi test eax,eax jle L004D96BF mov edi,[esp+1Ch] mov esi,[esp+10h] L004D96A1: movsx eax,[esi] push edi inc esi push [esp+1Ch] push eax call SUB_L004D9625 add esp,0000000Ch cmp dword ptr [edi],FFFFFFFFh jz L004D96BF mov eax,ebx dec ebx test eax,eax jg L004D96A1 L004D96BF: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004D96C3: mov eax,[esp+04h] add dword ptr [eax],00000004h mov eax,[eax] mov eax,[eax-04h] retn ;------------------------------------------------------------------------------ SUB_L004D96D0: mov eax,[esp+04h] add dword ptr [eax],00000008h mov ecx,[eax] mov eax,[ecx-08h] mov edx,[ecx-04h] retn ;------------------------------------------------------------------------------ SUB_L004D96E0: mov eax,[esp+04h] add dword ptr [eax],00000004h mov eax,[eax] mov ax,[eax-04h] retn ;------------------------------------------------------------------------------ SUB_L004D96EE: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+0Ch] mov eax,[esi+0Ch] mov ebx,[esi+10h] test al,82h jz L004D97FA test al,40h jnz L004D97FA test al,01h jz L004D9726 and dword ptr [esi+04h],00000000h test al,10h jz L004D97FA mov ecx,[esi+08h] and al,FEh mov [esi],ecx mov [esi+0Ch],eax L004D9726: mov eax,[esi+0Ch] and dword ptr [esi+04h],00000000h and dword ptr [ebp+0Ch],00000000h and al,EFh or al,02h test ax,010Ch mov [esi+0Ch],eax jnz L004D9760 cmp esi,L005147F0 jz L004D974E cmp esi,L00514810 jnz L004D9759 L004D974E: push ebx call SUB_L004DDFE1 test eax,eax pop ecx jnz L004D9760 L004D9759: push esi call SUB_L004DCC45 pop ecx L004D9760: test word ptr [esi+0Ch],0108h push edi jz L004D97D0 mov eax,[esi+08h] mov edi,[esi] sub edi,eax lea ecx,[eax+01h] mov [esi],ecx mov ecx,[esi+18h] dec ecx test edi,edi mov [esi+04h],ecx jle L004D9790 push edi push eax push ebx call SUB_L004DC5B5 add esp,0000000Ch mov [ebp+0Ch],eax jmp L004D97C6 L004D9790: cmp ebx,FFFFFFFFh jz L004D97AE mov ecx,ebx mov eax,ebx sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] lea eax,[ecx+eax*4] jmp L004D97B3 L004D97AE: mov eax,L00514FA8 L004D97B3: test byte ptr [eax+04h],20h jz L004D97C6 push 00000002h push 00000000h push ebx call SUB_L004D9E61 add esp,0000000Ch L004D97C6: mov eax,[esi+08h] mov cl,[ebp+08h] mov [eax],cl jmp L004D97E4 L004D97D0: push 00000001h lea eax,[ebp+08h] pop edi push edi push eax push ebx call SUB_L004DC5B5 add esp,0000000Ch mov [ebp+0Ch],eax L004D97E4: cmp [ebp+0Ch],edi pop edi jz L004D97F0 or dword ptr [esi+0Ch],00000020h jmp L004D97FF L004D97F0: mov eax,[ebp+08h] and eax,000000FFh jmp L004D9802 L004D97FA: or al,20h mov [esi+0Ch],eax L004D97FF: or eax,FFFFFFFFh L004D9802: pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D9806: push esi mov esi,[KERNEL32.dll!InitializeCriticalSection] push [L00514A9C] call esi push [L00514A8C] call esi push [L00514A7C] call esi push [L00514A5C] call esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D982F: push ebp mov ebp,esp mov eax,[ebp+08h] push esi cmp dword ptr [L00514A58+eax*4],00000000h lea esi,[L00514A58+eax*4] jnz L004D9885 push edi push 00000018h call SUB_L004D5A3E mov edi,eax pop ecx test edi,edi jnz L004D985E push 00000011h call SUB_L004D7BD8 pop ecx L004D985E: push 00000011h call SUB_L004D982F cmp dword ptr [esi],00000000h pop ecx push edi jnz L004D9876 call [KERNEL32.dll!InitializeCriticalSection] mov [esi],edi jmp L004D987C L004D9876: call SUB_L004D59F6 pop ecx L004D987C: push 00000011h call SUB_L004D9890 pop ecx pop edi L004D9885: push [esi] call [KERNEL32.dll!EnterCriticalSection] pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D9890: push ebp mov ebp,esp mov eax,[ebp+08h] push [L00514A58+eax*4] call [KERNEL32.dll!LeaveCriticalSection] pop ebp retn ;------------------------------------------------------------------------------ SUB_L004D98A5: push ebp mov ebp,esp push FFFFFFFFh push L004F25A0 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,0000001Ch push ebx push esi push edi mov [ebp-18h],esp xor edi,edi cmp [L00D1BCAC],edi jnz L004D991B push edi push edi push 00000001h pop ebx push ebx push L004F2598 mov esi,00000100h push esi push edi call [KERNEL32.dll!LCMapStringW] test eax,eax jz L004D98F9 mov [L00D1BCAC],ebx jmp L004D991B L004D98F9: push edi push edi push ebx push L004F2594 push esi push edi call [KERNEL32.dll!LCMapStringA] test eax,eax jz L004D9A33 mov dword ptr [L00D1BCAC],00000002h L004D991B: cmp [ebp+14h],edi jle L004D9930 push [ebp+14h] push [ebp+10h] call SUB_L004E0563 pop ecx pop ecx mov [ebp+14h],eax L004D9930: mov eax,[L00D1BCAC] cmp eax,00000002h jnz L004D9957 push [ebp+1Ch] push [ebp+18h] push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!LCMapStringA] jmp L004D9A35 L004D9957: cmp eax,00000001h jnz L004D9A33 cmp [ebp+20h],edi jnz L004D996D mov eax,[L00D1BCA4] mov [ebp+20h],eax L004D996D: push edi push edi push [ebp+14h] push [ebp+10h] mov eax,[ebp+24h] neg eax sbb eax,eax and eax,00000008h inc eax push eax push [ebp+20h] call [KERNEL32.dll!MultiByteToWideChar] mov ebx,eax mov [ebp-1Ch],ebx cmp ebx,edi jz L004D9A33 mov [ebp-04h],edi lea eax,[ebx+ebx] add eax,00000003h and al,FCh call SUB_L004D4B90 mov [ebp-18h],esp mov eax,esp mov [ebp-24h],eax or dword ptr [ebp-04h],FFFFFFFFh jmp L004D99C8 push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] xor edi,edi mov [ebp-24h],edi or dword ptr [ebp-04h],FFFFFFFFh mov ebx,[ebp-1Ch] L004D99C8: cmp [ebp-24h],edi jz L004D9A33 push ebx push [ebp-24h] push [ebp+14h] push [ebp+10h] push 00000001h push [ebp+20h] call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jz L004D9A33 push edi push edi push ebx push [ebp-24h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!LCMapStringW] mov esi,eax mov [ebp-28h],esi cmp esi,edi jz L004D9A33 test byte ptr [ebp+0Dh],04h jz L004D9A47 cmp [ebp+1Ch],edi jz L004D9AC2 cmp esi,[ebp+1Ch] jg L004D9A33 push [ebp+1Ch] push [ebp+18h] push ebx push [ebp-24h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!LCMapStringW] test eax,eax jnz L004D9AC2 L004D9A33: xor eax,eax L004D9A35: lea esp,[ebp-38h] mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004D9A47: mov dword ptr [ebp-04h],00000001h lea eax,[esi+esi] add eax,00000003h and al,FCh call SUB_L004D4B90 mov [ebp-18h],esp mov ebx,esp mov [ebp-20h],ebx or dword ptr [ebp-04h],FFFFFFFFh jmp L004D9A7B push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] xor edi,edi xor ebx,ebx or dword ptr [ebp-04h],FFFFFFFFh mov esi,[ebp-28h] L004D9A7B: cmp ebx,edi jz L004D9A33 push esi push ebx push [ebp-1Ch] push [ebp-24h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!LCMapStringW] test eax,eax jz L004D9A33 cmp [ebp+1Ch],edi push edi push edi jnz L004D9AA2 push edi push edi jmp L004D9AA8 L004D9AA2: push [ebp+1Ch] push [ebp+18h] L004D9AA8: push esi push ebx push 00000220h push [ebp+20h] call [KERNEL32.dll!WideCharToMultiByte] mov esi,eax cmp esi,edi jz L004D9A33 L004D9AC2: mov eax,esi jmp L004D9A35 SUB_L004D9AC9: push ebp mov ebp,esp push ecx mov eax,[ebp+08h] lea ecx,[eax+01h] cmp ecx,00000100h ja L004D9AE7 mov ecx,[L00514C24] movzx eax,[ecx+eax*2] jmp L004D9B39 L004D9AE7: mov ecx,eax push esi mov esi,[L00514C24] sar ecx,08h movzx edx,cl test byte ptr [esi+edx*2+01h],80h pop esi jz L004D9B0C and byte ptr [ebp-02h],00h mov [ebp-04h],cl mov [ebp-03h],al push 00000002h jmp L004D9B15 L004D9B0C: and byte ptr [ebp-03h],00h mov [ebp-04h],al push 00000001h L004D9B15: pop eax lea ecx,[ebp+0Ah] push 00000001h push 00000000h push 00000000h push ecx push eax lea eax,[ebp-04h] push eax push 00000001h call SUB_L004DE1B5 add esp,0000001Ch test eax,eax jnz L004D9B35 leave retn ;------------------------------------------------------------------------------ L004D9B35: movzx eax,[ebp+0Ah] L004D9B39: and eax,[ebp+0Ch] leave retn ;------------------------------------------------------------------------------ db CCh; 'Œ' db CCh; 'Œ' db 56h; 'V' db 43h; 'C' db 32h; '2' db 30h; '0' db 58h; 'X' db 43h; 'C' db 30h; '0' db 30h; '0' L004D9B48: 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 L004D9BE8 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] L004D9B7B: cmp esi,FFFFFFFFh jz L004D9BE1 lea ecx,[esi+esi*2] cmp dword ptr [edi+ecx*4+04h],00000000h jz L004D9BCF 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 L004D9BCF js L004D9BDA mov edi,[ebx+08h] push ebx call SUB_L004D4EB0 add esp,00000004h lea ebp,[ebx+10h] push esi push ebx call SUB_L004D4EF2 add esp,00000008h lea ecx,[esi+esi*2] push 00000001h mov eax,[edi+ecx*4+08h] call SUB_L004D4F86 mov eax,[edi+ecx*4] mov [ebx+0Ch],eax call [edi+ecx*4+08h] L004D9BCF: mov edi,[ebx+08h] lea ecx,[esi+esi*2] mov esi,[edi+ecx*4] jmp L004D9B7B L004D9BDA: mov eax,00000000h jmp L004D9BFD L004D9BE1: mov eax,00000001h jmp L004D9BFD L004D9BE8: push ebp lea ebp,[ebx+10h] push FFFFFFFFh push ebx call SUB_L004D4EF2 add esp,00000008h pop ebp mov eax,00000001h L004D9BFD: 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_L004D4EF2 add esp,00000008h pop ebp retn 0004h ;------------------------------------------------------------------------------ SUB_L004D9C20: push esi call SUB_L004D9C9C mov ecx,[esp+08h] xor esi,esi mov [eax],ecx mov eax,L00514E40 L004D9C33: cmp ecx,[eax] jz L004D9C59 add eax,00000008h inc esi cmp eax,L00514FA8 jl L004D9C33 cmp ecx,00000013h jc L004D9C69 cmp ecx,00000024h ja L004D9C69 call SUB_L004D9C93 mov dword ptr [eax],0000000Dh pop esi retn ;------------------------------------------------------------------------------ L004D9C59: call SUB_L004D9C93 mov ecx,[L00514E44+esi*8] pop esi mov [eax],ecx retn ;------------------------------------------------------------------------------ L004D9C69: cmp ecx,000000BCh jc L004D9C86 cmp ecx,000000CAh ja L004D9C86 call SUB_L004D9C93 mov dword ptr [eax],00000008h pop esi retn ;------------------------------------------------------------------------------ L004D9C86: call SUB_L004D9C93 mov dword ptr [eax],00000016h pop esi retn ;------------------------------------------------------------------------------ SUB_L004D9C93: call SUB_L004D84F3 add eax,00000008h retn ;------------------------------------------------------------------------------ SUB_L004D9C9C: call SUB_L004D84F3 add eax,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004D9CA5: push ebp mov ebp,esp sub esp,00000048h push ebx push esi push edi push 00000480h call SUB_L004D5A3E mov esi,eax pop ecx test esi,esi jnz L004D9CC7 push 0000001Bh call SUB_L004D7BD8 pop ecx L004D9CC7: mov [L00D1C100],esi mov dword ptr [L00D1C200],00000020h lea eax,[esi+00000480h] L004D9CDD: cmp esi,eax jnc L004D9CFF and byte ptr [esi+04h],00h or dword ptr [esi],FFFFFFFFh and dword ptr [esi+08h],00000000h mov byte ptr [esi+05h],0Ah mov eax,[L00D1C100] add esi,00000024h add eax,00000480h jmp L004D9CDD L004D9CFF: lea eax,[ebp-48h] push eax call [KERNEL32.dll!GetStartupInfoA] cmp word ptr [ebp-16h],0000h jz L004D9DE5 mov eax,[ebp-14h] test eax,eax jz L004D9DE5 mov edi,[eax] lea ebx,[eax+04h] lea eax,[ebx+edi] mov [ebp-04h],eax mov eax,00000800h cmp edi,eax jl L004D9D35 mov edi,eax L004D9D35: cmp [L00D1C200],edi jge L004D9D93 mov esi,L00D1C104 L004D9D42: push 00000480h call SUB_L004D5A3E test eax,eax pop ecx jz L004D9D8D add dword ptr [L00D1C200],00000020h mov [esi],eax lea ecx,[eax+00000480h] L004D9D60: cmp eax,ecx jnc L004D9D80 and byte ptr [eax+04h],00h or dword ptr [eax],FFFFFFFFh and dword ptr [eax+08h],00000000h mov byte ptr [eax+05h],0Ah mov ecx,[esi] add eax,00000024h add ecx,00000480h jmp L004D9D60 L004D9D80: add esi,00000004h cmp [L00D1C200],edi jl L004D9D42 jmp L004D9D93 L004D9D8D: mov edi,[L00D1C200] L004D9D93: xor esi,esi test edi,edi jle L004D9DE5 L004D9D99: mov eax,[ebp-04h] mov ecx,[eax] cmp ecx,FFFFFFFFh jz L004D9DDB mov al,[ebx] test al,01h jz L004D9DDB test al,08h jnz L004D9DB8 push ecx call [KERNEL32.dll!GetFileType] test eax,eax jz L004D9DDB L004D9DB8: mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] lea eax,[ecx+eax*4] mov ecx,[ebp-04h] mov ecx,[ecx] mov [eax],ecx mov cl,[ebx] mov [eax+04h],cl L004D9DDB: add dword ptr [ebp-04h],00000004h inc esi inc ebx cmp esi,edi jl L004D9D99 L004D9DE5: xor ebx,ebx L004D9DE7: mov ecx,[L00D1C100] lea eax,[ebx+ebx*8] cmp dword ptr [ecx+eax*4],FFFFFFFFh lea esi,[ecx+eax*4] jnz L004D9E46 test ebx,ebx mov byte ptr [esi+04h],81h jnz L004D9E06 push FFFFFFF6h pop eax jmp L004D9E10 L004D9E06: mov eax,ebx dec eax neg eax sbb eax,eax add eax,FFFFFFF5h L004D9E10: push eax call [KERNEL32.dll!GetStdHandle] mov edi,eax cmp edi,FFFFFFFFh jz L004D9E35 push edi call [KERNEL32.dll!GetFileType] test eax,eax jz L004D9E35 and eax,000000FFh mov [esi],edi cmp eax,00000002h jnz L004D9E3B L004D9E35: or byte ptr [esi+04h],40h jmp L004D9E4A L004D9E3B: cmp eax,00000003h jnz L004D9E4A or byte ptr [esi+04h],08h jmp L004D9E4A L004D9E46: or byte ptr [esi+04h],80h L004D9E4A: inc ebx cmp ebx,00000003h jl L004D9DE7 push [L00D1C200] call [KERNEL32.dll!SetHandleCount] pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004D9E61: push esi mov esi,[esp+08h] cmp esi,[L00D1C200] jnc L004D9EAE mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] test byte ptr [ecx+eax*4+04h],01h jz L004D9EAE push edi push esi call SUB_L004DE55E push [esp+18h] push [esp+18h] push esi call SUB_L004D9EC6 push esi mov edi,eax call SUB_L004DE5BD add esp,00000014h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L004D9EAE: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004D9EC6: push esi mov esi,[esp+08h] push edi push esi call SUB_L004DE51C cmp eax,FFFFFFFFh pop ecx jnz L004D9EE5 call SUB_L004D9C93 mov dword ptr [eax],00000009h jmp L004D9F12 L004D9EE5: push [esp+14h] push 00000000h push [esp+18h] push eax call [KERNEL32.dll!SetFilePointer] mov edi,eax cmp edi,FFFFFFFFh jnz L004D9F05 call [KERNEL32.dll!GetLastError] jmp L004D9F07 L004D9F05: xor eax,eax L004D9F07: test eax,eax jz L004D9F17 push eax call SUB_L004D9C20 pop ecx L004D9F12: or eax,FFFFFFFFh jmp L004D9F36 L004D9F17: mov ecx,esi and esi,0000001Fh sar ecx,05h mov eax,esi mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] and byte ptr [ecx+eax*4+04h],FDh lea eax,[ecx+eax*4+04h] mov eax,edi L004D9F36: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004D9F39: push ebp mov ebp,esp sub esp,000001C4h and byte ptr [ebp-15h],00h push ebx push esi mov esi,[ebp+0Ch] xor ebx,ebx push edi mov al,[esi] mov [ebp-04h],ebx test al,al mov [ebp-34h],ebx jz L004DA93F mov edi,[ebp+08h] jmp L004D9F68 L004D9F63: mov edi,[ebp+08h] xor ebx,ebx L004D9F68: cmp dword ptr [L00514E30],00000001h jle L004D9F80 movzx eax,al push 00000008h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004D9F8F L004D9F80: mov ecx,[L00514C24] movzx eax,al mov al,[ecx+eax*2] and eax,00000008h L004D9F8F: cmp eax,ebx jz L004D9FC9 dec [ebp-04h] push edi lea eax,[ebp-04h] push edi push eax call SUB_L004DA9C6 pop ecx pop ecx push eax call SUB_L004DA9AF movzx eax,[esi+01h] inc esi push eax call SUB_L004D5904 add esp,0000000Ch L004D9FB7: test eax,eax jz L004D9FC9 movzx eax,[esi+01h] inc esi push eax call SUB_L004D5904 pop ecx jmp L004D9FB7 L004D9FC9: cmp byte ptr [esi],25h jnz L004DA8AB and byte ptr [ebp-35h],00h and byte ptr [ebp-18h],00h and byte ptr [ebp-17h],00h and byte ptr [ebp-0Eh],00h and byte ptr [ebp-0Fh],00h and byte ptr [ebp-16h],00h xor edi,edi and byte ptr [ebp-05h],00h mov [ebp-1Ch],ebx mov [ebp-20h],ebx mov [ebp-0Ch],ebx mov byte ptr [ebp-0Dh],01h mov [ebp-30h],ebx L004DA000: movzx ebx,[esi+01h] inc esi cmp dword ptr [L00514E30],00000001h jle L004DA01D movzx eax,bl push 00000004h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA02C L004DA01D: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,00000004h L004DA02C: test eax,eax jz L004DA042 mov eax,[ebp-0Ch] inc [ebp-20h] lea eax,[eax+eax*4] lea eax,[ebx+eax*2-30h] mov [ebp-0Ch],eax jmp L004DA0A7 L004DA042: cmp ebx,0000004Eh jg L004DA085 jz L004DA0A7 cmp ebx,0000002Ah jz L004DA080 cmp ebx,00000046h jz L004DA0A7 cmp ebx,00000049h jz L004DA062 cmp ebx,0000004Ch jnz L004DA094 inc [ebp-0Dh] jmp L004DA0A7 L004DA062: cmp byte ptr [esi+01h],36h jnz L004DA094 cmp byte ptr [esi+02h],34h lea eax,[esi+02h] jnz L004DA094 inc [ebp-30h] and dword ptr [ebp-28h],00000000h and dword ptr [ebp-24h],00000000h mov esi,eax jmp L004DA0A7 L004DA080: inc [ebp-0Eh] jmp L004DA0A7 L004DA085: cmp ebx,00000068h jz L004DA0A1 cmp ebx,0000006Ch jz L004DA099 cmp ebx,00000077h jz L004DA09C L004DA094: inc [ebp-0Fh] jmp L004DA0A7 L004DA099: inc [ebp-0Dh] L004DA09C: inc [ebp-05h] jmp L004DA0A7 L004DA0A1: dec [ebp-0Dh] dec [ebp-05h] L004DA0A7: cmp byte ptr [ebp-0Fh],00h jz L004DA000 cmp byte ptr [ebp-0Eh],00h mov [ebp+0Ch],esi jnz L004DA0CC mov eax,[ebp+10h] mov [ebp-44h],eax add eax,00000004h mov [ebp+10h],eax mov eax,[eax-04h] mov [ebp-2Ch],eax L004DA0CC: and byte ptr [ebp-0Fh],00h cmp byte ptr [ebp-05h],00h jnz L004DA0EA mov al,[esi] cmp al,53h jz L004DA0E6 cmp al,43h jz L004DA0E6 or byte ptr [ebp-05h],FFh jmp L004DA0EA L004DA0E6: mov byte ptr [ebp-05h],01h L004DA0EA: mov ebx,[ebp+0Ch] movzx esi,[ebx] or esi,00000020h cmp esi,0000006Eh mov [ebp-3Ch],esi jz L004DA123 cmp esi,00000063h jz L004DA114 cmp esi,0000007Bh jz L004DA114 push [ebp+08h] lea eax,[ebp-04h] push eax call SUB_L004DA9C6 pop ecx jmp L004DA11F L004DA114: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 L004DA11F: pop ecx mov [ebp-14h],eax L004DA123: xor eax,eax cmp [ebp-20h],eax jz L004DA133 cmp [ebp-0Ch],eax jz L004DA90F L004DA133: cmp esi,0000006Fh jg L004DA39A jz L004DA64C cmp esi,00000063h jz L004DA377 cmp esi,00000064h jz L004DA64C jle L004DA3C4 cmp esi,00000067h jle L004DA197 cmp esi,00000069h jz L004DA17F cmp esi,0000006Eh jnz L004DA3C4 cmp byte ptr [ebp-0Eh],00h mov edi,[ebp-04h] jz L004DA87A jmp L004DA8A0 L004DA17F: push 00000064h pop esi L004DA182: mov ebx,[ebp-14h] cmp ebx,0000002Dh jnz L004DA40C mov byte ptr [ebp-17h],01h jmp L004DA411 L004DA197: mov ebx,[ebp-14h] lea esi,[ebp-000001C4h] cmp ebx,0000002Dh jnz L004DA1B3 mov [ebp-000001C4h],bl lea esi,[ebp-000001C3h] jmp L004DA1B8 L004DA1B3: cmp ebx,0000002Bh jnz L004DA1CF L004DA1B8: mov edi,[ebp+08h] dec [ebp-0Ch] inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA1D2 L004DA1CF: mov edi,[ebp+08h] L004DA1D2: cmp dword ptr [ebp-20h],00000000h jz L004DA1E1 cmp dword ptr [ebp-0Ch],0000015Dh jle L004DA1E8 L004DA1E1: mov dword ptr [ebp-0Ch],0000015Dh L004DA1E8: cmp dword ptr [L00514E30],00000001h jle L004DA1FD push 00000004h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA208 L004DA1FD: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000004h L004DA208: test eax,eax jz L004DA22D mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA22D inc [ebp-1Ch] mov [esi],bl inc esi inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA1E8 L004DA22D: cmp [L00514E34],bl jnz L004DA29B mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA29B inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax mov al,[L00514E34] mov [esi],al pop ecx mov [ebp-14h],ebx inc esi L004DA256: cmp dword ptr [L00514E30],00000001h jle L004DA26B push 00000004h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA276 L004DA26B: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000004h L004DA276: test eax,eax jz L004DA29B mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA29B inc [ebp-1Ch] mov [esi],bl inc esi inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA256 L004DA29B: cmp dword ptr [ebp-1Ch],00000000h jz L004DA333 cmp ebx,00000065h jz L004DA2B3 cmp ebx,00000045h jnz L004DA333 L004DA2B3: mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA333 mov byte ptr [esi],65h inc esi inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx cmp ebx,0000002Dh mov [ebp-14h],ebx jnz L004DA2DA mov [esi],al inc esi jmp L004DA2DF L004DA2DA: cmp ebx,0000002Bh jnz L004DA2FD L004DA2DF: mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jnz L004DA2EE and [ebp-0Ch],eax jmp L004DA2FD L004DA2EE: inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx L004DA2FD: cmp dword ptr [L00514E30],00000001h jle L004DA312 push 00000004h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA31D L004DA312: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000004h L004DA31D: test eax,eax jz L004DA333 mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA333 inc [ebp-1Ch] mov [esi],bl inc esi jmp L004DA2EE L004DA333: dec [ebp-04h] push edi push ebx call SUB_L004DA9AF cmp dword ptr [ebp-1Ch],00000000h pop ecx pop ecx jz L004DA93F cmp byte ptr [ebp-0Eh],00h jnz L004DA8A0 inc [ebp-34h] and byte ptr [esi],00h lea eax,[ebp-000001C4h] push eax movsx eax,[ebp-0Dh] push [ebp-2Ch] dec eax push eax call [L005147C0] add esp,0000000Ch jmp L004DA8A0 L004DA377: cmp [ebp-20h],eax jnz L004DA386 inc [ebp-0Ch] mov dword ptr [ebp-20h],00000001h L004DA386: cmp byte ptr [ebp-05h],00h jle L004DA390 mov byte ptr [ebp-16h],01h L004DA390: mov edi,L00514FD4 jmp L004DA4A5 L004DA39A: mov eax,esi sub eax,00000070h jz L004DA648 sub eax,00000003h jz L004DA496 dec eax dec eax jz L004DA64C sub eax,00000003h jz L004DA182 sub eax,00000003h jz L004DA3E8 L004DA3C4: movzx eax,[ebx] cmp eax,[ebp-14h] jnz L004DA90F dec [ebp-15h] cmp byte ptr [ebp-0Eh],00h jnz L004DA8A0 mov eax,[ebp-44h] mov [ebp+10h],eax jmp L004DA8A0 L004DA3E8: cmp byte ptr [ebp-05h],00h jle L004DA3F2 mov byte ptr [ebp-16h],01h L004DA3F2: mov edi,[ebp+0Ch] inc edi mov [ebp+0Ch],edi cmp byte ptr [edi],5Eh jnz L004DA4A9 mov eax,edi lea edi,[eax+01h] jmp L004DA4A5 L004DA40C: cmp ebx,0000002Bh jnz L004DA433 L004DA411: dec [ebp-0Ch] jnz L004DA422 cmp dword ptr [ebp-20h],00000000h jz L004DA422 mov byte ptr [ebp-0Fh],01h jmp L004DA433 L004DA422: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx L004DA433: cmp ebx,00000030h jnz L004DA681 push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 mov ebx,eax pop ecx cmp bl,78h mov [ebp-14h],ebx jz L004DA481 cmp bl,58h jz L004DA481 cmp esi,00000078h mov dword ptr [ebp-1Ch],00000001h jz L004DA46B push 0000006Fh L004DA465: pop esi jmp L004DA681 L004DA46B: push [ebp+08h] dec [ebp-04h] push ebx call SUB_L004DA9AF pop ecx pop ecx push 00000030h pop ebx jmp L004DA67E L004DA481: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 pop ecx mov ebx,eax mov [ebp-14h],ebx push 00000078h jmp L004DA465 L004DA496: cmp byte ptr [ebp-05h],00h jle L004DA4A0 mov byte ptr [ebp-16h],01h L004DA4A0: mov edi,SSZ00514FCC______ L004DA4A5: or byte ptr [ebp-18h],FFh L004DA4A9: push 00000020h lea eax,[ebp-64h] push 00000000h push eax call SUB_L004DCC90 add esp,0000000Ch cmp dword ptr [ebp-3Ch],0000007Bh jnz L004DA4CD cmp byte ptr [edi],5Dh jnz L004DA4CD mov dl,5Dh inc edi mov byte ptr [ebp-59h],20h jmp L004DA4D0 L004DA4CD: mov dl,[ebp-35h] L004DA4D0: mov al,[edi] cmp al,5Dh jz L004DA535 inc edi cmp al,2Dh jnz L004DA51C test dl,dl jz L004DA51C mov cl,[edi] cmp cl,5Dh jz L004DA51C inc edi cmp dl,cl jnc L004DA4EF mov al,cl jmp L004DA4F3 L004DA4EF: mov al,dl mov dl,cl L004DA4F3: cmp dl,al ja L004DA518 movzx edx,dl movzx esi,al sub esi,edx inc esi L004DA500: mov ecx,edx mov eax,edx and ecx,00000007h mov bl,01h shr eax,03h shl bl,cl lea eax,[ebp+eax-64h] or [eax],bl inc edx dec esi jnz L004DA500 L004DA518: xor dl,dl jmp L004DA4D0 L004DA51C: movzx ecx,al mov dl,al mov eax,ecx and ecx,00000007h mov bl,01h shr eax,03h shl bl,cl lea eax,[ebp+eax-64h] or [eax],bl jmp L004DA4D0 L004DA535: cmp byte ptr [edi],00h jz L004DA93F cmp dword ptr [ebp-3Ch],0000007Bh jnz L004DA547 mov [ebp+0Ch],edi L004DA547: mov edi,[ebp+08h] mov esi,[ebp-2Ch] dec [ebp-04h] push edi push [ebp-14h] mov [ebp-30h],esi call SUB_L004DA9AF pop ecx pop ecx L004DA55E: cmp dword ptr [ebp-20h],00000000h jz L004DA572 mov eax,[ebp-0Ch] dec [ebp-0Ch] test eax,eax jz L004DA60E L004DA572: inc [ebp-04h] push edi call SUB_L004DA995 cmp eax,FFFFFFFFh pop ecx mov [ebp-14h],eax jz L004DA602 mov ecx,eax push 00000001h and ecx,00000007h pop edx movsx ebx,[ebp-18h] shl edx,cl mov ecx,eax sar ecx,03h movsx ecx,[ebp+ecx-64h] xor ecx,ebx test ecx,edx jz L004DA602 cmp byte ptr [ebp-0Eh],00h jnz L004DA5FA cmp byte ptr [ebp-16h],00h jz L004DA5EF mov ecx,[L00514C24] mov [ebp-38h],al movzx eax,al test byte ptr [ecx+eax*2+01h],80h jz L004DA5CE inc [ebp-04h] push edi call SUB_L004DA995 pop ecx mov [ebp-37h],al L004DA5CE: push [L00514E30] lea eax,[ebp-38h] push eax lea eax,[ebp-3Eh] push eax call SUB_L004DE5DF mov ax,[ebp-3Eh] add esp,0000000Ch mov [esi],ax inc esi inc esi jmp L004DA5F2 L004DA5EF: mov [esi],al inc esi L004DA5F2: mov [ebp-2Ch],esi jmp L004DA55E L004DA5FA: inc [ebp-30h] jmp L004DA55E L004DA602: dec [ebp-04h] push edi push eax call SUB_L004DA9AF pop ecx pop ecx L004DA60E: cmp [ebp-30h],esi jz L004DA93F cmp byte ptr [ebp-0Eh],00h jnz L004DA8A0 inc [ebp-34h] cmp dword ptr [ebp-3Ch],00000063h jz L004DA8A0 cmp byte ptr [ebp-16h],00h mov eax,[ebp-2Ch] jz L004DA640 and word ptr [eax],0000h jmp L004DA8A0 L004DA640: and byte ptr [eax],00h jmp L004DA8A0 L004DA648: mov byte ptr [ebp-0Dh],01h L004DA64C: mov ebx,[ebp-14h] cmp ebx,0000002Dh jnz L004DA65A mov byte ptr [ebp-17h],01h jmp L004DA65F L004DA65A: cmp ebx,0000002Bh jnz L004DA681 L004DA65F: dec [ebp-0Ch] jnz L004DA670 cmp dword ptr [ebp-20h],00000000h jz L004DA670 mov byte ptr [ebp-0Fh],01h jmp L004DA681 L004DA670: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 pop ecx mov ebx,eax L004DA67E: mov [ebp-14h],ebx L004DA681: cmp dword ptr [ebp-30h],00000000h jz L004DA79A cmp byte ptr [ebp-0Fh],00h jnz L004DA778 L004DA695: cmp esi,00000078h jnz L004DA6E9 cmp dword ptr [L00514E30],00000001h jle L004DA6B2 push 00000080h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA6BF L004DA6B2: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000080h L004DA6BF: test eax,eax jz L004DA76A mov eax,[ebp-28h] mov edx,[ebp-24h] push 00000004h pop ecx call SUB_L004DE710 push ebx mov [ebp-28h],eax mov [ebp-24h],edx call SUB_L004DA95E mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA73C L004DA6E9: cmp dword ptr [L00514E30],00000001h jle L004DA6FE push 00000004h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA709 L004DA6FE: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000004h L004DA709: test eax,eax jz L004DA76A cmp esi,0000006Fh jnz L004DA727 cmp ebx,00000038h jge L004DA76A mov eax,[ebp-28h] mov edx,[ebp-24h] push 00000003h pop ecx call SUB_L004DE710 jmp L004DA736 L004DA727: push 00000000h push 0000000Ah push [ebp-24h] push [ebp-28h] call SUB_L004DAA70 L004DA736: mov [ebp-28h],eax mov [ebp-24h],edx L004DA73C: inc [ebp-1Ch] lea eax,[ebx-30h] cdq add [ebp-28h],eax adc [ebp-24h],edx cmp dword ptr [ebp-20h],00000000h jz L004DA754 dec [ebp-0Ch] jz L004DA778 L004DA754: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA695 L004DA76A: push [ebp+08h] dec [ebp-04h] push ebx call SUB_L004DA9AF pop ecx pop ecx L004DA778: cmp byte ptr [ebp-17h],00h jz L004DA85E mov eax,[ebp-28h] mov ecx,[ebp-24h] neg eax adc ecx,00000000h mov [ebp-28h],eax neg ecx mov [ebp-24h],ecx jmp L004DA85E L004DA79A: cmp byte ptr [ebp-0Fh],00h jnz L004DA856 L004DA7A4: cmp esi,00000078h jz L004DA7E8 cmp esi,00000070h jz L004DA7E8 cmp dword ptr [L00514E30],00000001h jle L004DA7C3 push 00000004h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA7CE L004DA7C3: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000004h L004DA7CE: test eax,eax jz L004DA848 cmp esi,0000006Fh jnz L004DA7E1 cmp ebx,00000038h jge L004DA848 shl edi,03h jmp L004DA820 L004DA7E1: lea edi,[edi+edi*4] shl edi,1 jmp L004DA820 L004DA7E8: cmp dword ptr [L00514E30],00000001h jle L004DA800 push 00000080h push ebx call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA80D L004DA800: mov eax,[L00514C24] mov al,[eax+ebx*2] and eax,00000080h L004DA80D: test eax,eax jz L004DA848 push ebx shl edi,04h call SUB_L004DA95E mov ebx,eax pop ecx mov [ebp-14h],ebx L004DA820: inc [ebp-1Ch] cmp dword ptr [ebp-20h],00000000h lea edi,[edi+ebx-30h] jz L004DA832 dec [ebp-0Ch] jz L004DA856 L004DA832: push [ebp+08h] inc [ebp-04h] call SUB_L004DA995 mov ebx,eax pop ecx mov [ebp-14h],ebx jmp L004DA7A4 L004DA848: push [ebp+08h] dec [ebp-04h] push ebx call SUB_L004DA9AF pop ecx pop ecx L004DA856: cmp byte ptr [ebp-17h],00h jz L004DA85E neg edi L004DA85E: cmp esi,00000046h jnz L004DA867 and dword ptr [ebp-1Ch],00000000h L004DA867: cmp dword ptr [ebp-1Ch],00000000h jz L004DA93F cmp byte ptr [ebp-0Eh],00h jnz L004DA8A0 inc [ebp-34h] L004DA87A: cmp dword ptr [ebp-30h],00000000h jz L004DA890 mov eax,[ebp-2Ch] mov ecx,[ebp-28h] mov [eax],ecx mov ecx,[ebp-24h] mov [eax+04h],ecx jmp L004DA8A0 L004DA890: cmp byte ptr [ebp-0Dh],00h mov eax,[ebp-2Ch] jz L004DA89D mov [eax],edi jmp L004DA8A0 L004DA89D: mov [eax],di L004DA8A0: inc [ebp-15h] inc [ebp+0Ch] mov esi,[ebp+0Ch] jmp L004DA8ED L004DA8AB: inc [ebp-04h] push edi call SUB_L004DA995 mov ebx,eax pop ecx movzx eax,[esi] inc esi cmp eax,ebx mov [ebp-14h],ebx mov [ebp+0Ch],esi jnz L004DA91A mov ecx,[L00514C24] movzx eax,bl test byte ptr [ecx+eax*2+01h],80h jz L004DA8ED inc [ebp-04h] push edi call SUB_L004DA995 pop ecx movzx ecx,[esi] inc esi cmp ecx,eax mov [ebp+0Ch],esi jnz L004DA928 dec [ebp-04h] L004DA8ED: cmp dword ptr [ebp-14h],FFFFFFFFh jnz L004DA903 cmp byte ptr [esi],25h jnz L004DA945 mov eax,[ebp+0Ch] cmp byte ptr [eax+01h],6Eh jnz L004DA945 mov esi,eax L004DA903: mov al,[esi] test al,al jnz L004D9F63 jmp L004DA93F L004DA90F: push [ebp+08h] dec [ebp-04h] push [ebp-14h] jmp L004DA91F L004DA91A: dec [ebp-04h] push edi push ebx L004DA91F: call SUB_L004DA9AF pop ecx pop ecx jmp L004DA93F L004DA928: dec [ebp-04h] push edi push eax call SUB_L004DA9AF dec [ebp-04h] push edi push ebx call SUB_L004DA9AF add esp,00000010h L004DA93F: cmp dword ptr [ebp-14h],FFFFFFFFh jnz L004DA956 L004DA945: mov eax,[ebp-34h] test eax,eax jnz L004DA959 cmp [ebp-15h],al jnz L004DA959 or eax,FFFFFFFFh jmp L004DA959 L004DA956: mov eax,[ebp-34h] L004DA959: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DA95E: cmp dword ptr [L00514E30],00000001h push esi jle L004DA978 mov esi,[esp+08h] push 00000004h push esi call SUB_L004D9AC9 pop ecx pop ecx jmp L004DA987 L004DA978: mov esi,[esp+08h] mov eax,[L00514C24] mov al,[eax+esi*2] and eax,00000004h L004DA987: test eax,eax jnz L004DA991 and esi,FFFFFFDFh sub esi,00000007h L004DA991: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DA995: mov edx,[esp+04h] dec [edx+04h] js L004DA9A7 mov ecx,[edx] movzx eax,[ecx] inc ecx mov [edx],ecx retn ;------------------------------------------------------------------------------ L004DA9A7: push edx call SUB_L004DBF5A pop ecx retn ;------------------------------------------------------------------------------ SUB_L004DA9AF: cmp dword ptr [esp+04h],FFFFFFFFh jz L004DA9C5 push [esp+08h] push [esp+08h] call SUB_L004D7262 pop ecx pop ecx L004DA9C5: retn ;------------------------------------------------------------------------------ SUB_L004DA9C6: push esi mov esi,[esp+08h] push edi L004DA9CC: push [esp+10h] inc [esi] call SUB_L004DA995 mov edi,eax push edi call SUB_L004D5904 pop ecx test eax,eax pop ecx jnz L004DA9CC mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ Align 8 SUB_L004DA9F0: mov ecx,[esp+04h] test ecx,00000003h jz L004DAA10 L004DA9FC: mov al,[ecx] inc ecx test al,al jz L004DAA43 test ecx,00000003h jnz L004DA9FC add eax,00000000h L004DAA10: mov eax,[ecx] mov edx,7EFEFEFFh add edx,eax xor eax,FFFFFFFFh xor eax,edx add ecx,00000004h test eax,81010100h jz L004DAA10 mov eax,[ecx-04h] test al,al jz L004DAA61 test ah,ah jz L004DAA57 test eax,00FF0000h jz L004DAA4D test eax,FF000000h jz L004DAA43 jmp L004DAA10 L004DAA43: lea eax,[ecx-01h] mov ecx,[esp+04h] sub eax,ecx retn ;------------------------------------------------------------------------------ L004DAA4D: lea eax,[ecx-02h] mov ecx,[esp+04h] sub eax,ecx retn ;------------------------------------------------------------------------------ L004DAA57: lea eax,[ecx-03h] mov ecx,[esp+04h] sub eax,ecx retn ;------------------------------------------------------------------------------ L004DAA61: lea eax,[ecx-04h] mov ecx,[esp+04h] sub eax,ecx retn ;------------------------------------------------------------------------------ Align 8 SUB_L004DAA70: mov eax,[esp+08h] mov ecx,[esp+10h] or ecx,eax mov ecx,[esp+0Ch] jnz L004DAA89 mov eax,[esp+04h] mul ecx retn 0010h ;------------------------------------------------------------------------------ L004DAA89: 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 ;------------------------------------------------------------------------------ SUB_L004DAAA4: xor eax,eax push 00000000h cmp [esp+08h],eax push 00001000h setz al push eax call [KERNEL32.dll!HeapCreate] test eax,eax mov [L00D1C0E0],eax jz L004DAAD9 call SUB_L004DAAE0 test eax,eax jnz L004DAADC push [L00D1C0E0] call [KERNEL32.dll!HeapDestroy] L004DAAD9: xor eax,eax retn ;------------------------------------------------------------------------------ L004DAADC: push 00000001h pop eax retn ;------------------------------------------------------------------------------ SUB_L004DAAE0: push 00000140h push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapAlloc] test eax,eax mov [L00D1C0DC],eax jnz L004DAAFD retn ;------------------------------------------------------------------------------ L004DAAFD: and dword ptr [L00D1C0D4],00000000h and dword ptr [L00D1C0D8],00000000h push 00000001h mov [L00D1C0D0],eax mov dword ptr [L00D1C0C8],00000010h pop eax retn ;------------------------------------------------------------------------------ SUB_L004DAB1E: mov eax,[L00D1C0D8] lea ecx,[eax+eax*4] mov eax,[L00D1C0DC] lea ecx,[eax+ecx*4] L004DAB2E: cmp eax,ecx jnc L004DAB46 mov edx,[esp+04h] sub edx,[eax+0Ch] cmp edx,00100000h jc L004DAB48 add eax,00000014h jmp L004DAB2E L004DAB46: xor eax,eax L004DAB48: retn ;------------------------------------------------------------------------------ SUB_L004DAB49: push ebp mov ebp,esp sub esp,00000014h mov edx,[ebp+0Ch] mov ecx,[ebp+08h] push ebx push esi mov eax,[ecx+10h] mov esi,edx sub esi,[ecx+0Ch] mov ebx,[edx-04h] add edx,FFFFFFFCh push edi shr esi,0Fh mov ecx,esi mov edi,[edx-04h] imul ecx,00000204h dec ebx mov [ebp-04h],edi lea ecx,[ecx+eax+00000144h] mov [ebp-0Ch],ebx mov [ebp-10h],ecx mov ecx,[ebx+edx] test cl,01h mov [ebp-08h],ecx jnz L004DAC0F sar ecx,04h push 0000003Fh dec ecx pop edi mov [ebp+0Ch],ecx cmp ecx,edi jbe L004DABA1 mov [ebp+0Ch],edi L004DABA1: mov ecx,[ebx+edx+04h] cmp ecx,[ebx+edx+08h] jnz L004DABF3 mov ecx,[ebp+0Ch] cmp ecx,00000020h jnc L004DABCF mov edi,80000000h shr edi,cl lea ecx,[ecx+eax+04h] not edi and [eax+esi*4+44h],edi dec [ecx] jnz L004DABF3 mov ecx,[ebp+08h] and [ecx],edi jmp L004DABF3 L004DABCF: add ecx,FFFFFFE0h mov edi,80000000h shr edi,cl mov ecx,[ebp+0Ch] lea ecx,[ecx+eax+04h] not edi and [eax+esi*4+000000C4h],edi dec [ecx] jnz L004DABF3 mov ecx,[ebp+08h] and [ecx+04h],edi L004DABF3: mov ecx,[ebx+edx+08h] mov edi,[ebx+edx+04h] mov [ecx+04h],edi mov ecx,[ebx+edx+04h] mov edi,[ebx+edx+08h] add ebx,[ebp-08h] mov [ecx+08h],edi mov [ebp-0Ch],ebx L004DAC0F: mov edi,ebx sar edi,04h dec edi cmp edi,0000003Fh jbe L004DAC1D push 0000003Fh pop edi L004DAC1D: mov ecx,[ebp-04h] and ecx,00000001h mov [ebp-14h],ecx jnz L004DACCC sub edx,[ebp-04h] mov ecx,[ebp-04h] sar ecx,04h push 0000003Fh mov [ebp-08h],edx dec ecx pop edx cmp ecx,edx mov [ebp+0Ch],ecx jbe L004DAC48 mov [ebp+0Ch],edx mov ecx,edx L004DAC48: add ebx,[ebp-04h] mov edi,ebx mov [ebp-0Ch],ebx sar edi,04h dec edi cmp edi,edx jbe L004DAC5A mov edi,edx L004DAC5A: cmp ecx,edi jz L004DACC9 mov ecx,[ebp-08h] mov edx,[ecx+04h] cmp edx,[ecx+08h] jnz L004DACB1 mov ecx,[ebp+0Ch] cmp ecx,00000020h jnc L004DAC8D mov edx,80000000h shr edx,cl lea ecx,[ecx+eax+04h] not edx and [eax+esi*4+44h],edx dec [ecx] jnz L004DACB1 mov ecx,[ebp+08h] and [ecx],edx jmp L004DACB1 L004DAC8D: add ecx,FFFFFFE0h mov edx,80000000h shr edx,cl mov ecx,[ebp+0Ch] lea ecx,[ecx+eax+04h] not edx and [eax+esi*4+000000C4h],edx dec [ecx] jnz L004DACB1 mov ecx,[ebp+08h] and [ecx+04h],edx L004DACB1: mov ecx,[ebp-08h] mov edx,[ecx+08h] mov ecx,[ecx+04h] mov [edx+04h],ecx mov ecx,[ebp-08h] mov edx,[ecx+04h] mov ecx,[ecx+08h] mov [edx+08h],ecx L004DACC9: mov edx,[ebp-08h] L004DACCC: cmp dword ptr [ebp-14h],00000000h jnz L004DACDB cmp [ebp+0Ch],edi jz L004DAD64 L004DACDB: mov ecx,[ebp-10h] lea ecx,[ecx+edi*8] mov ecx,[ecx+04h] mov [edx+04h],ecx mov ecx,[ebp-10h] lea ecx,[ecx+edi*8] mov [edx+08h],ecx mov [ecx+04h],edx mov ecx,[edx+04h] mov [ecx+08h],edx mov ecx,[edx+04h] cmp ecx,[edx+08h] jnz L004DAD64 mov cl,[edi+eax+04h] cmp edi,00000020h mov [ebp+0Fh],cl inc cl mov [edi+eax+04h],cl jnc L004DAD38 cmp byte ptr [ebp+0Fh],00h jnz L004DAD27 mov ebx,80000000h mov ecx,edi shr ebx,cl mov ecx,[ebp+08h] or [ecx],ebx L004DAD27: mov ebx,80000000h mov ecx,edi shr ebx,cl lea eax,[eax+esi*4+44h] or [eax],ebx jmp L004DAD61 L004DAD38: cmp byte ptr [ebp+0Fh],00h jnz L004DAD4E lea ecx,[edi-20h] mov ebx,80000000h shr ebx,cl mov ecx,[ebp+08h] or [ecx+04h],ebx L004DAD4E: lea ecx,[edi-20h] mov edi,80000000h shr edi,cl lea eax,[eax+esi*4+000000C4h] or [eax],edi L004DAD61: mov ebx,[ebp-0Ch] L004DAD64: mov eax,[ebp-10h] mov [edx],ebx mov [ebx+edx-04h],ebx dec [eax] jnz L004DAE6F mov eax,[L00D1C0D4] test eax,eax jz L004DAE61 mov ecx,[L00D1C0CC] mov edi,[KERNEL32.dll!VirtualFree] shl ecx,0Fh add ecx,[eax+0Ch] mov ebx,00008000h push 00004000h push ebx push ecx call edi mov ecx,[L00D1C0CC] mov eax,[L00D1C0D4] mov edx,80000000h shr edx,cl or [eax+08h],edx mov eax,[L00D1C0D4] mov ecx,[L00D1C0CC] mov eax,[eax+10h] and dword ptr [eax+ecx*4+000000C4h],00000000h mov eax,[L00D1C0D4] mov eax,[eax+10h] dec [eax+43h] mov eax,[L00D1C0D4] mov ecx,[eax+10h] cmp byte ptr [ecx+43h],00h jnz L004DADEF and dword ptr [eax+04h],FFFFFFFEh mov eax,[L00D1C0D4] L004DADEF: cmp dword ptr [eax+08h],FFFFFFFFh jnz L004DAE61 push ebx push 00000000h push [eax+0Ch] call edi mov eax,[L00D1C0D4] push [eax+10h] push 00000000h push [L00D1C0E0] call [KERNEL32.dll!HeapFree] mov eax,[L00D1C0D8] mov edx,[L00D1C0DC] lea eax,[eax+eax*4] shl eax,02h mov ecx,eax mov eax,[L00D1C0D4] sub ecx,eax lea ecx,[ecx+edx-14h] push ecx lea ecx,[eax+14h] push ecx push eax call SUB_L004DD530 mov eax,[ebp+08h] add esp,0000000Ch dec [L00D1C0D8] cmp eax,[L00D1C0D4] jbe L004DAE53 sub eax,00000014h L004DAE53: mov ecx,[L00D1C0DC] mov [L00D1C0D0],ecx jmp L004DAE64 L004DAE61: mov eax,[ebp+08h] L004DAE64: mov [L00D1C0D4],eax mov [L00D1C0CC],esi L004DAE6F: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DAE74: push ebp mov ebp,esp sub esp,00000014h mov eax,[L00D1C0D8] mov edx,[L00D1C0DC] push ebx push esi lea eax,[eax+eax*4] push edi lea edi,[edx+eax*4] mov eax,[ebp+08h] mov [ebp-04h],edi lea ecx,[eax+17h] and ecx,FFFFFFF0h mov [ebp-10h],ecx sar ecx,04h dec ecx cmp ecx,00000020h jge L004DAEB4 or esi,FFFFFFFFh shr esi,cl or dword ptr [ebp-08h],FFFFFFFFh mov [ebp-0Ch],esi jmp L004DAEC4 L004DAEB4: add ecx,FFFFFFE0h or eax,FFFFFFFFh xor esi,esi shr eax,cl mov [ebp-0Ch],esi mov [ebp-08h],eax L004DAEC4: mov eax,[L00D1C0D0] mov ebx,eax cmp ebx,edi mov [ebp+08h],ebx jnc L004DAEEB L004DAED2: mov ecx,[ebx+04h] mov edi,[ebx] and ecx,[ebp-08h] and edi,esi or ecx,edi jnz L004DAEEB add ebx,00000014h cmp ebx,[ebp-04h] mov [ebp+08h],ebx jc L004DAED2 L004DAEEB: cmp ebx,[ebp-04h] jnz L004DAF69 mov ebx,edx L004DAEF2: cmp ebx,eax mov [ebp+08h],ebx jnc L004DAF0E mov ecx,[ebx+04h] mov edi,[ebx] and ecx,[ebp-08h] and edi,esi or ecx,edi jnz L004DAF0C add ebx,00000014h jmp L004DAEF2 L004DAF0C: cmp ebx,eax L004DAF0E: jnz L004DAF69 L004DAF10: cmp ebx,[ebp-04h] jnc L004DAF26 cmp dword ptr [ebx+08h],00000000h jnz L004DAF23 add ebx,00000014h mov [ebp+08h],ebx jmp L004DAF10 L004DAF23: cmp ebx,[ebp-04h] L004DAF26: jnz L004DAF4E mov ebx,edx L004DAF2A: cmp ebx,eax mov [ebp+08h],ebx jnc L004DAF3E cmp dword ptr [ebx+08h],00000000h jnz L004DAF3C add ebx,00000014h jmp L004DAF2A L004DAF3C: cmp ebx,eax L004DAF3E: jnz L004DAF4E call SUB_L004DB17D mov ebx,eax test ebx,ebx mov [ebp+08h],ebx jz L004DAF62 L004DAF4E: push ebx call SUB_L004DB22E pop ecx mov ecx,[ebx+10h] mov [ecx],eax mov eax,[ebx+10h] cmp dword ptr [eax],FFFFFFFFh jnz L004DAF69 L004DAF62: xor eax,eax jmp L004DB178 L004DAF69: mov [L00D1C0D0],ebx mov eax,[ebx+10h] mov edx,[eax] cmp edx,FFFFFFFFh mov [ebp-04h],edx jz L004DAF90 mov ecx,[eax+edx*4+000000C4h] mov edi,[eax+edx*4+44h] and ecx,[ebp-08h] and edi,esi or ecx,edi jnz L004DAFC7 L004DAF90: mov edx,[eax+000000C4h] mov esi,[eax+44h] and edx,[ebp-08h] and esi,[ebp-0Ch] and dword ptr [ebp-04h],00000000h lea ecx,[eax+44h] or edx,esi mov esi,[ebp-0Ch] jnz L004DAFC4 L004DAFAD: mov edx,[ecx+00000084h] inc [ebp-04h] and edx,[ebp-08h] add ecx,00000004h mov edi,esi and edi,[ecx] or edx,edi jz L004DAFAD L004DAFC4: mov edx,[ebp-04h] L004DAFC7: mov ecx,edx xor edi,edi imul ecx,00000204h lea ecx,[ecx+eax+00000144h] mov [ebp-0Ch],ecx mov ecx,[eax+edx*4+44h] and ecx,esi jnz L004DAFF0 mov ecx,[eax+edx*4+000000C4h] push 00000020h and ecx,[ebp-08h] pop edi L004DAFF0: test ecx,ecx jl L004DAFF9 shl ecx,1 inc edi jmp L004DAFF0 L004DAFF9: mov ecx,[ebp-0Ch] mov edx,[ecx+edi*8+04h] mov ecx,[edx] sub ecx,[ebp-10h] mov esi,ecx mov [ebp-08h],ecx sar esi,04h dec esi cmp esi,0000003Fh jle L004DB016 push 0000003Fh pop esi L004DB016: cmp esi,edi jz L004DB12B mov ecx,[edx+04h] cmp ecx,[edx+08h] jnz L004DB087 cmp edi,00000020h jge L004DB056 mov ebx,80000000h mov ecx,edi shr ebx,cl mov ecx,[ebp-04h] lea edi,[eax+edi+04h] not ebx mov [ebp-14h],ebx and ebx,[eax+ecx*4+44h] mov [eax+ecx*4+44h],ebx dec [edi] jnz L004DB084 mov ebx,[ebp+08h] mov ecx,[ebp-14h] and [ebx],ecx jmp L004DB087 L004DB056: lea ecx,[edi-20h] mov ebx,80000000h shr ebx,cl mov ecx,[ebp-04h] lea edi,[eax+edi+04h] lea ecx,[eax+ecx*4+000000C4h] not ebx and [ecx],ebx dec [edi] mov [ebp-14h],ebx jnz L004DB084 mov ebx,[ebp+08h] mov ecx,[ebp-14h] and [ebx+04h],ecx jmp L004DB087 L004DB084: mov ebx,[ebp+08h] L004DB087: mov ecx,[edx+08h] mov edi,[edx+04h] cmp dword ptr [ebp-08h],00000000h mov [ecx+04h],edi mov ecx,[edx+04h] mov edi,[edx+08h] mov [ecx+08h],edi jz L004DB137 mov ecx,[ebp-0Ch] mov edi,[ecx+esi*8+04h] lea ecx,[ecx+esi*8] mov [edx+04h],edi mov [edx+08h],ecx mov [ecx+04h],edx mov ecx,[edx+04h] mov [ecx+08h],edx mov ecx,[edx+04h] cmp ecx,[edx+08h] jnz L004DB128 mov cl,[esi+eax+04h] cmp esi,00000020h mov [ebp+0Bh],cl jge L004DB0F9 inc cl cmp byte ptr [ebp+0Bh],00h mov [esi+eax+04h],cl jnz L004DB0E7 mov edi,80000000h mov ecx,esi shr edi,cl or [ebx],edi L004DB0E7: mov edi,80000000h mov ecx,esi shr edi,cl mov ecx,[ebp-04h] or [eax+ecx*4+44h],edi jmp L004DB128 L004DB0F9: inc cl cmp byte ptr [ebp+0Bh],00h mov [esi+eax+04h],cl jnz L004DB112 lea ecx,[esi-20h] mov edi,80000000h shr edi,cl or [ebx+04h],edi L004DB112: mov ecx,[ebp-04h] lea edi,[eax+ecx*4+000000C4h] lea ecx,[esi-20h] mov esi,80000000h shr esi,cl or [edi],esi L004DB128: mov ecx,[ebp-08h] L004DB12B: test ecx,ecx jz L004DB13A mov [edx],ecx mov [ecx+edx-04h],ecx jmp L004DB13A L004DB137: mov ecx,[ebp-08h] L004DB13A: mov esi,[ebp-10h] add edx,ecx lea ecx,[esi+01h] mov [edx],ecx mov [edx+esi-04h],ecx mov esi,[ebp-0Ch] mov ecx,[esi] test ecx,ecx lea edi,[ecx+01h] mov [esi],edi jnz L004DB170 cmp ebx,[L00D1C0D4] jnz L004DB170 mov ecx,[ebp-04h] cmp ecx,[L00D1C0CC] jnz L004DB170 and dword ptr [L00D1C0D4],00000000h L004DB170: mov ecx,[ebp-04h] mov [eax],ecx lea eax,[edx+04h] L004DB178: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DB17D: mov eax,[L00D1C0D8] mov ecx,[L00D1C0C8] push esi push edi xor edi,edi cmp eax,ecx jnz L004DB1C0 lea eax,[ecx+ecx*4+50h] shl eax,02h push eax push [L00D1C0DC] push edi push [L00D1C0E0] call [KERNEL32.dll!HeapReAlloc] cmp eax,edi jz L004DB210 add dword ptr [L00D1C0C8],00000010h mov [L00D1C0DC],eax mov eax,[L00D1C0D8] L004DB1C0: mov ecx,[L00D1C0DC] push 000041C4h push 00000008h lea eax,[eax+eax*4] push [L00D1C0E0] lea esi,[ecx+eax*4] call [KERNEL32.dll!HeapAlloc] cmp eax,edi mov [esi+10h],eax jz L004DB210 push 00000004h push 00002000h push 00100000h push edi call [KERNEL32.dll!VirtualAlloc] cmp eax,edi mov [esi+0Ch],eax jnz L004DB214 push [esi+10h] push edi push [L00D1C0E0] call [KERNEL32.dll!HeapFree] L004DB210: xor eax,eax jmp L004DB22B L004DB214: or dword ptr [esi+08h],FFFFFFFFh mov [esi],edi mov [esi+04h],edi inc [L00D1C0D8] mov eax,[esi+10h] or dword ptr [eax],FFFFFFFFh mov eax,esi L004DB22B: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DB22E: push ebp mov ebp,esp push ecx mov ecx,[ebp+08h] push ebx push esi push edi mov esi,[ecx+10h] mov eax,[ecx+08h] xor ebx,ebx L004DB240: test eax,eax jl L004DB249 shl eax,1 inc ebx jmp L004DB240 L004DB249: mov eax,ebx push 0000003Fh imul eax,00000204h pop edx lea eax,[eax+esi+00000144h] mov [ebp-04h],eax L004DB25E: mov [eax+08h],eax mov [eax+04h],eax add eax,00000008h dec edx jnz L004DB25E mov edi,ebx push 00000004h shl edi,0Fh add edi,[ecx+0Ch] push 00001000h push 00008000h push edi call [KERNEL32.dll!VirtualAlloc] test eax,eax jnz L004DB291 or eax,FFFFFFFFh jmp L004DB324 L004DB291: lea edx,[edi+00007000h] cmp edi,edx ja L004DB2D7 lea eax,[edi+10h] L004DB29E: or dword ptr [eax-08h],FFFFFFFFh or dword ptr [eax+00000FECh],FFFFFFFFh lea ecx,[eax+00000FFCh] mov dword ptr [eax-04h],00000FF0h mov [eax],ecx lea ecx,[eax-00001004h] mov [eax+04h],ecx mov dword ptr [eax+00000FE8h],00000FF0h add eax,00001000h lea ecx,[eax-10h] cmp ecx,edx jbe L004DB29E L004DB2D7: mov eax,[ebp-04h] lea ecx,[edi+0Ch] add eax,000001F8h push 00000001h pop edi mov [eax+04h],ecx mov [ecx+08h],eax lea ecx,[edx+0Ch] mov [eax+08h],ecx mov [ecx+04h],eax and dword ptr [esi+ebx*4+44h],00000000h mov [esi+ebx*4+000000C4h],edi mov al,[esi+43h] mov cl,al inc cl test al,al mov eax,[ebp+08h] mov [esi+43h],cl jnz L004DB314 or [eax+04h],edi L004DB314: mov edx,80000000h mov ecx,ebx shr edx,cl not edx and [eax+08h],edx mov eax,ebx L004DB324: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DB329: push ebp mov ebp,esp sub esp,0000000Ch mov ecx,[ebp+08h] mov eax,[ebp+10h] push ebx push esi push edi mov edi,[ebp+0Ch] mov edx,edi lea esi,[eax+17h] sub edx,[ecx+0Ch] mov eax,[ecx+10h] and esi,FFFFFFF0h shr edx,0Fh mov ecx,edx imul ecx,00000204h lea ecx,[ecx+eax+00000144h] mov [ebp-0Ch],ecx mov ecx,[edi-04h] dec ecx cmp esi,ecx mov [ebp+10h],ecx mov ebx,[ecx+edi-04h] lea edi,[ecx+edi-04h] mov [ebp-04h],ebx jle L004DB4D7 test bl,01h jnz L004DB4D0 add ebx,ecx cmp esi,ebx jg L004DB4D0 mov ecx,[ebp-04h] sar ecx,04h dec ecx cmp ecx,0000003Fh mov [ebp-08h],ecx jbe L004DB3A0 push 0000003Fh pop ecx mov [ebp-08h],ecx L004DB3A0: mov ebx,[edi+04h] cmp ebx,[edi+08h] jnz L004DB3F0 cmp ecx,00000020h jnc L004DB3CC mov ebx,80000000h shr ebx,cl mov ecx,[ebp-08h] lea ecx,[ecx+eax+04h] not ebx and [eax+edx*4+44h],ebx dec [ecx] jnz L004DB3F0 mov ecx,[ebp+08h] and [ecx],ebx jmp L004DB3F0 L004DB3CC: add ecx,FFFFFFE0h mov ebx,80000000h shr ebx,cl mov ecx,[ebp-08h] lea ecx,[ecx+eax+04h] not ebx and [eax+edx*4+000000C4h],ebx dec [ecx] jnz L004DB3F0 mov ecx,[ebp+08h] and [ecx+04h],ebx L004DB3F0: mov ecx,[edi+08h] mov ebx,[edi+04h] mov [ecx+04h],ebx mov ecx,[edi+04h] mov edi,[edi+08h] mov [ecx+08h],edi mov ecx,[ebp+10h] sub ecx,esi add [ebp-04h],ecx cmp dword ptr [ebp-04h],00000000h jle L004DB4BE mov edi,[ebp-04h] mov ecx,[ebp+0Ch] sar edi,04h dec edi lea ecx,[ecx+esi-04h] cmp edi,0000003Fh jbe L004DB42A push 0000003Fh pop edi L004DB42A: mov ebx,[ebp-0Ch] lea ebx,[ebx+edi*8] mov [ebp+10h],ebx mov ebx,[ebx+04h] mov [ecx+04h],ebx mov ebx,[ebp+10h] mov [ecx+08h],ebx mov [ebx+04h],ecx mov ebx,[ecx+04h] mov [ebx+08h],ecx mov ebx,[ecx+04h] cmp ebx,[ecx+08h] jnz L004DB4AC mov cl,[edi+eax+04h] cmp edi,00000020h mov [ebp+13h],cl inc cl mov [edi+eax+04h],cl jnc L004DB483 cmp byte ptr [ebp+13h],00h jnz L004DB476 mov ebx,80000000h mov ecx,edi shr ebx,cl mov ecx,[ebp+08h] or [ecx],ebx L004DB476: lea eax,[eax+edx*4+44h] mov edx,80000000h mov ecx,edi jmp L004DB4A8 L004DB483: cmp byte ptr [ebp+13h],00h jnz L004DB499 lea ecx,[edi-20h] mov ebx,80000000h shr ebx,cl mov ecx,[ebp+08h] or [ecx+04h],ebx L004DB499: lea eax,[eax+edx*4+000000C4h] lea ecx,[edi-20h] mov edx,80000000h L004DB4A8: shr edx,cl or [eax],edx L004DB4AC: mov edx,[ebp+0Ch] mov ecx,[ebp-04h] lea eax,[edx+esi-04h] mov [eax],ecx mov [ecx+eax-04h],ecx jmp L004DB4C1 L004DB4BE: mov edx,[ebp+0Ch] L004DB4C1: lea eax,[esi+01h] mov [edx-04h],eax mov [edx+esi-08h],eax jmp L004DB617 L004DB4D0: xor eax,eax jmp L004DB61A L004DB4D7: jge L004DB617 mov ebx,[ebp+0Ch] sub [ebp+10h],esi lea ecx,[esi+01h] mov [ebx-04h],ecx lea ebx,[ebx+esi-04h] mov esi,[ebp+10h] mov [ebp+0Ch],ebx sar esi,04h dec esi mov [ebx-04h],ecx cmp esi,0000003Fh jbe L004DB502 push 0000003Fh pop esi L004DB502: test byte ptr [ebp-04h],01h jnz L004DB591 mov esi,[ebp-04h] sar esi,04h dec esi cmp esi,0000003Fh jbe L004DB51B push 0000003Fh pop esi L004DB51B: mov ecx,[edi+04h] cmp ecx,[edi+08h] jnz L004DB56A cmp esi,00000020h jnc L004DB546 mov ebx,80000000h mov ecx,esi shr ebx,cl lea esi,[esi+eax+04h] not ebx and [eax+edx*4+44h],ebx dec [esi] jnz L004DB567 mov ecx,[ebp+08h] and [ecx],ebx jmp L004DB567 L004DB546: lea ecx,[esi-20h] mov ebx,80000000h shr ebx,cl lea ecx,[esi+eax+04h] not ebx and [eax+edx*4+000000C4h],ebx dec [ecx] jnz L004DB567 mov ecx,[ebp+08h] and [ecx+04h],ebx L004DB567: mov ebx,[ebp+0Ch] L004DB56A: mov ecx,[edi+08h] mov esi,[edi+04h] mov [ecx+04h],esi mov ecx,[edi+04h] mov esi,[edi+08h] mov [ecx+08h],esi mov esi,[ebp+10h] add esi,[ebp-04h] mov [ebp+10h],esi sar esi,04h dec esi cmp esi,0000003Fh jbe L004DB591 push 0000003Fh pop esi L004DB591: mov ecx,[ebp-0Ch] mov edi,[ecx+esi*8+04h] lea ecx,[ecx+esi*8] mov [ebx+04h],edi mov [ebx+08h],ecx mov [ecx+04h],ebx mov ecx,[ebx+04h] mov [ecx+08h],ebx mov ecx,[ebx+04h] cmp ecx,[ebx+08h] jnz L004DB60E mov cl,[esi+eax+04h] cmp esi,00000020h mov [ebp+0Fh],cl inc cl mov [esi+eax+04h],cl jnc L004DB5E5 cmp byte ptr [ebp+0Fh],00h jnz L004DB5D8 mov edi,80000000h mov ecx,esi shr edi,cl mov ecx,[ebp+08h] or [ecx],edi L004DB5D8: lea eax,[eax+edx*4+44h] mov edx,80000000h mov ecx,esi jmp L004DB60A L004DB5E5: cmp byte ptr [ebp+0Fh],00h jnz L004DB5FB lea ecx,[esi-20h] mov edi,80000000h shr edi,cl mov ecx,[ebp+08h] or [ecx+04h],edi L004DB5FB: lea eax,[eax+edx*4+000000C4h] lea ecx,[esi-20h] mov edx,80000000h L004DB60A: shr edx,cl or [eax],edx L004DB60E: mov eax,[ebp+10h] mov [ebx],eax mov [eax+ebx-04h],eax L004DB617: push 00000001h pop eax L004DB61A: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DB61F: push ebp mov ebp,esp sub esp,0000000Ch cmp dword ptr [L00D1BEAC],00000000h push ebx push esi push edi jnz L004DB643 push [ebp+0Ch] push [ebp+08h] call SUB_L004D7A00 pop ecx pop ecx jmp L004DB7AF L004DB643: push 00000019h call SUB_L004D982F mov esi,[ebp+0Ch] pop ecx mov ecx,[ebp+08h] mov ebx,00000200h lea eax,[esi-01h] mov [ebp-0Ch],eax lea eax,[ecx-01h] mov [ebp-08h],eax L004DB662: movzx ax,[ecx] movzx edx,al inc ecx inc [ebp-08h] test byte ptr [edx+L00D1BFC1],04h mov [ebp+08h],ecx jz L004DB6D0 cmp byte ptr [ecx],00h jnz L004DB682 xor edi,edi jmp L004DB6ED L004DB682: push 00000001h lea eax,[ebp-04h] push [L00D1BE9C] push 00000002h push eax push 00000002h push [ebp-08h] push ebx push [L00D1C0C4] call SUB_L004D98A5 add esp,00000020h cmp eax,00000001h jnz L004DB6B0 movzx di,[ebp-04h] jmp L004DB6C8 L004DB6B0: cmp eax,00000002h jnz L004DB783 movzx di,[ebp-04h] movzx ax,[ebp-03h] shl edi,08h add edi,eax L004DB6C8: inc [ebp+08h] inc [ebp-08h] jmp L004DB6ED L004DB6D0: movzx eax,ax mov cl,[eax+L00D1BFC1] and cl,10h cmp cl,10h jnz L004DB6EB movzx di,[eax+L00D1BEC0] jmp L004DB6ED L004DB6EB: mov edi,eax L004DB6ED: movzx ax,[esi] movzx ecx,al inc esi inc [ebp-0Ch] test byte ptr [ecx+L00D1BFC1],04h mov [ebp+0Ch],esi jz L004DB757 cmp byte ptr [esi],00h jnz L004DB70D xor esi,esi jmp L004DB76E L004DB70D: push 00000001h lea eax,[ebp-04h] push [L00D1BE9C] push 00000002h push eax push 00000002h push [ebp-0Ch] push ebx push [L00D1C0C4] call SUB_L004D98A5 add esp,00000020h cmp eax,00000001h jnz L004DB73B movzx si,[ebp-04h] jmp L004DB74F L004DB73B: cmp eax,00000002h jnz L004DB783 movzx si,[ebp-04h] movzx ax,[ebp-03h] shl esi,08h add esi,eax L004DB74F: inc [ebp+0Ch] inc [ebp-0Ch] jmp L004DB76E L004DB757: movzx esi,ax mov al,[esi+L00D1BFC1] and al,10h cmp al,10h jnz L004DB76E movzx si,[esi+L00D1BEC0] L004DB76E: cmp di,si jnz L004DB792 test di,di jz L004DB7A5 mov esi,[ebp+0Ch] mov ecx,[ebp+08h] jmp L004DB662 L004DB783: push 00000019h call SUB_L004D9890 pop ecx mov eax,7FFFFFFFh jmp L004DB7AF L004DB792: push 00000019h call SUB_L004D9890 cmp si,di pop ecx sbb eax,eax and eax,00000002h dec eax jmp L004DB7AF L004DB7A5: push 00000019h call SUB_L004D9890 pop ecx xor eax,eax L004DB7AF: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DB7B4: push ebp mov ebp,esp push esi xor esi,esi cmp [L00D1BEAC],esi jnz L004DB7D1 push [ebp+0Ch] push [ebp+08h] call SUB_L004D5B50 pop ecx pop ecx jmp L004DB823 L004DB7D1: push edi push 00000019h call SUB_L004D982F pop ecx mov ecx,[ebp+08h] L004DB7DD: mov dl,[ecx] movzx eax,dl movzx edi,al test byte ptr [edi+L00D1BFC1],04h jz L004DB80C mov dl,[ecx+01h] inc ecx test dl,dl jz L004DB808 movzx edi,dl shl eax,08h or eax,edi cmp [ebp+0Ch],eax jnz L004DB813 lea esi,[ecx-01h] jmp L004DB813 L004DB808: test esi,esi jmp L004DB80F L004DB80C: cmp [ebp+0Ch],eax L004DB80F: jnz L004DB813 mov esi,ecx L004DB813: inc ecx test dl,dl jnz L004DB7DD push 00000019h call SUB_L004D9890 pop ecx mov eax,esi pop edi L004DB823: pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DB826: push ebp mov ebp,esp sub esp,00000024h push ebx mov ebx,[ebp+08h] sub ebx,0000076Ch cmp ebx,00000046h jl L004DB8E2 cmp ebx,0000008Ah jg L004DB8E2 push esi push edi mov edi,[ebp+0Ch] mov esi,[L005150B4+edi*4] add esi,[ebp+10h] test bl,03h jnz L004DB865 cmp edi,00000002h jle L004DB865 inc esi L004DB865: call SUB_L004D650F mov eax,ebx lea ecx,[ebx-01h] imul eax,0000016Dh sar ecx,02h mov edx,esi mov [ebp-08h],esi add edx,ecx mov [ebp-10h],ebx add eax,edx mov edx,[ebp+1Ch] lea ecx,[eax+eax*2] mov eax,[ebp+14h] mov [ebp-1Ch],eax lea ecx,[eax+ecx*8] imul ecx,3Ch add ecx,[ebp+18h] imul ecx,3Ch add ecx,[L00514FF0] dec edi cmp dword ptr [ebp+20h],00000001h mov [ebp-14h],edi pop edi pop esi lea ecx,[ecx+edx+7C558180h] mov [ebp+08h],ecx jz L004DB8D8 cmp dword ptr [ebp+20h],FFFFFFFFh jnz L004DB8DE cmp dword ptr [L00514FF4],00000000h jz L004DB8DE lea eax,[ebp-24h] push eax call SUB_L004D67DA pop ecx mov ecx,[ebp+08h] test eax,eax jz L004DB8DE L004DB8D8: add ecx,[L00514FF8] L004DB8DE: mov eax,ecx jmp L004DB8E5 L004DB8E2: or eax,FFFFFFFFh L004DB8E5: pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DB8E8: push ebp mov ebp,esp push ebx mov ebx,[ebp+0Ch] test ebx,ebx push edi jz L004DB97C cmp byte ptr [ebx],00h jz L004DB97C mov edi,[ebp+08h] test edi,edi jnz L004DB929 push 00000104h call SUB_L004D5A3E mov edi,eax pop ecx test edi,edi jnz L004DB922 call SUB_L004D9C93 mov dword ptr [eax],0000000Ch jmp L004DB974 L004DB922: mov dword ptr [ebp+10h],00000104h L004DB929: lea eax,[ebp+0Ch] push eax push edi push [ebp+10h] push ebx call [KERNEL32.dll!GetFullPathNameA] cmp eax,[ebp+10h] jc L004DB957 cmp dword ptr [ebp+08h],00000000h jnz L004DB94A push edi call SUB_L004D59F6 pop ecx L004DB94A: call SUB_L004D9C93 mov dword ptr [eax],00000022h jmp L004DB974 L004DB957: test eax,eax jnz L004DB978 cmp [ebp+08h],eax jnz L004DB967 push edi call SUB_L004D59F6 pop ecx L004DB967: call [KERNEL32.dll!GetLastError] push eax call SUB_L004D9C20 pop ecx L004DB974: xor eax,eax jmp L004DB989 L004DB978: mov eax,edi jmp L004DB989 L004DB97C: push [ebp+10h] push [ebp+08h] call SUB_L004DEB23 pop ecx pop ecx L004DB989: pop edi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DB98D: push ebp mov ebp,esp sub esp,00000104h lea eax,[ebp-00000104h] push esi push eax push 00000104h xor esi,esi call [KERNEL32.dll!GetCurrentDirectoryA] test eax,eax jz L004DB9CB cmp byte ptr [ebp-00000103h],3Ah jnz L004DB9CB movzx eax,[ebp-00000104h] push eax call SUB_L004D6E39 mov esi,eax pop ecx sub esi,00000040h L004DB9CB: mov eax,esi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004DB9D0: push ebp mov ebp,esp push ecx push ebx mov ebx,[ebp+08h] cmp ebx,000000FFh jbe L004DBA31 mov eax,ebx mov [ebp+0Bh],bl shr eax,08h mov [ebp+0Ah],al movzx eax,al test byte ptr [eax+L00D1BFC1],04h jz L004DBA46 push 00000001h lea eax,[ebp-04h] push [L00D1BE9C] push 00000002h push eax lea eax,[ebp+0Ah] push 00000002h push eax push 00000100h push [L00D1C0C4] call SUB_L004D98A5 add esp,00000020h test eax,eax jz L004DBA46 movzx eax,[ebp-04h] movzx ecx,[ebp-03h] shl eax,08h add eax,ecx jmp L004DBA48 L004DBA31: mov al,[ebx+L00D1BFC1] and al,10h cmp al,10h jnz L004DBA46 movzx eax,[ebx+L00D1BEC0] jmp L004DBA48 L004DBA46: mov eax,ebx L004DBA48: pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DBA4B: push ebx xor ebx,ebx cmp [L00D1BEAC],ebx jnz L004DBA67 push [esp+0Ch] push [esp+0Ch] call SUB_L004D7970 pop ecx pop ecx pop ebx retn ;------------------------------------------------------------------------------ L004DBA67: push esi push 00000019h call SUB_L004D982F mov esi,[esp+10h] pop ecx cmp [esi],bl jz L004DBACD push edi mov edi,[esp+14h] L004DBA7D: cmp [edi],bl mov eax,edi jz L004DBAB2 L004DBA83: mov cl,[eax] movzx edx,cl test byte ptr [edx+L00D1BFC1],04h jz L004DBAA9 cmp cl,[esi] jnz L004DBA9D mov cl,[eax+01h] cmp cl,[esi+01h] jz L004DBAB2 L004DBA9D: cmp [eax+01h],bl lea ecx,[eax+01h] jz L004DBAB2 mov eax,ecx jmp L004DBAAD L004DBAA9: cmp cl,[esi] jz L004DBAB2 L004DBAAD: inc eax cmp [eax],bl jnz L004DBA83 L004DBAB2: cmp [eax],bl jnz L004DBACC movzx eax,[esi] test byte ptr [eax+L00D1BFC1],04h jz L004DBAC7 inc esi cmp [esi],bl jz L004DBACC L004DBAC7: inc esi cmp [esi],bl jnz L004DBA7D L004DBACC: pop edi L004DBACD: push 00000019h call SUB_L004D9890 mov al,[esi] pop ecx neg al sbb eax,eax and eax,esi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DBAE0: push ebp mov ebp,esp push ecx push ecx push ebx push esi mov esi,[L00D1BE58] push edi mov edi,[ebp+0Ch] xor ebx,ebx mov [ebp-08h],ebx mov [ebp-04h],ebx mov al,[edi] cmp al,61h jz L004DBB19 cmp al,72h jz L004DBB12 cmp al,77h jnz L004DBC2D mov ecx,00000301h jmp L004DBB1E L004DBB12: xor ecx,ecx or esi,00000001h jmp L004DBB21 L004DBB19: mov ecx,00000109h L004DBB1E: or esi,00000002h L004DBB21: push 00000001h pop edx L004DBB24: mov al,[edi+01h] inc edi cmp al,bl jz L004DBC13 cmp edx,ebx jz L004DBC13 movsx eax,al cmp eax,00000054h jg L004DBBB2 jz L004DBBA2 sub eax,0000002Bh jz L004DBB8C sub eax,00000019h jz L004DBB82 sub eax,0000000Eh jz L004DBB6D dec eax jnz L004DBC04 cmp [ebp-04h],ebx jnz L004DBC04 mov dword ptr [ebp-04h],00000001h or ecx,00000020h jmp L004DBB24 L004DBB6D: cmp [ebp-04h],ebx jnz L004DBC04 mov dword ptr [ebp-04h],00000001h or ecx,00000010h jmp L004DBB24 L004DBB82: test cl,40h jnz L004DBC04 or ecx,00000040h jmp L004DBB24 L004DBB8C: test cl,02h jnz L004DBC04 and ecx,FFFFFFFEh and esi,FFFFFFFCh or ecx,00000002h or esi,00000080h jmp L004DBB24 L004DBBA2: mov eax,00001000h test eax,ecx jnz L004DBC04 or ecx,eax jmp L004DBB24 L004DBBB2: sub eax,00000062h jz L004DBBFF dec eax jz L004DBBE8 sub eax,0000000Bh jz L004DBBD1 sub eax,00000006h jnz L004DBC04 test ch,C0h jnz L004DBC04 or ch,40h jmp L004DBB24 L004DBBD1: cmp [ebp-08h],ebx jnz L004DBC04 mov dword ptr [ebp-08h],00000001h and esi,FFFFBFFFh jmp L004DBB24 L004DBBE8: cmp [ebp-08h],ebx jnz L004DBC04 mov dword ptr [ebp-08h],00000001h or esi,00004000h jmp L004DBB24 L004DBBFF: test ch,C0h jz L004DBC0B L004DBC04: xor edx,edx jmp L004DBB24 L004DBC0B: or ch,80h jmp L004DBB24 L004DBC13: push 000001A4h push [ebp+10h] push ecx push [ebp+08h] call SUB_L004DEC56 mov ecx,eax add esp,00000010h cmp ecx,ebx jge L004DBC31 L004DBC2D: xor eax,eax jmp L004DBC4B L004DBC31: mov eax,[ebp+14h] inc [L00D1BC14] mov [eax+0Ch],esi mov [eax+04h],ebx mov [eax],ebx mov [eax+08h],ebx mov [eax+1Ch],ebx mov [eax+10h],ecx L004DBC4B: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DBC50: push ebx push esi push edi push 00000002h xor ebx,ebx xor edi,edi call SUB_L004D982F xor esi,esi cmp [L00D1D220],ebx pop ecx jle L004DBD0A L004DBC6D: mov eax,[L00D1C20C] mov eax,[eax+esi*4] cmp eax,ebx jz L004DBCB0 test byte ptr [eax+0Ch],83h jnz L004DBCA0 push eax push esi call SUB_L004D8DB8 pop ecx pop ecx mov ecx,[L00D1C20C] mov eax,[ecx+esi*4] test byte ptr [eax+0Ch],83h jz L004DBCAB push eax push esi call SUB_L004D8E0A pop ecx pop ecx L004DBCA0: inc esi cmp esi,[L00D1D220] jl L004DBC6D jmp L004DBD0A L004DBCAB: mov edi,[ecx+esi*4] jmp L004DBCF4 L004DBCB0: push 00000038h shl esi,02h call SUB_L004D5A3E pop ecx mov ecx,[L00D1C20C] mov [esi+ecx],eax mov eax,[L00D1C20C] mov eax,[esi+eax] cmp eax,ebx jz L004DBD0A add eax,00000020h push eax call [KERNEL32.dll!InitializeCriticalSection] mov eax,[L00D1C20C] mov eax,[esi+eax] add eax,00000020h push eax call [KERNEL32.dll!EnterCriticalSection] mov eax,[L00D1C20C] mov edi,[esi+eax] L004DBCF4: cmp edi,ebx jz L004DBD0A or dword ptr [edi+10h],FFFFFFFFh mov [edi+04h],ebx mov [edi+0Ch],ebx mov [edi+08h],ebx mov [edi],ebx mov [edi+1Ch],ebx L004DBD0A: push 00000002h call SUB_L004D9890 pop ecx mov eax,edi pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DBD18: push esi mov esi,[esp+08h] cmp esi,[L00D1C200] jnc L004DBD5D mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] test byte ptr [ecx+eax*4+04h],01h jz L004DBD5D push edi push esi call SUB_L004DE55E push esi call SUB_L004DBD75 push esi mov edi,eax call SUB_L004DE5BD add esp,0000000Ch mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L004DBD5D: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004DBD75: push esi mov esi,[esp+08h] push edi push esi call SUB_L004DE51C cmp eax,FFFFFFFFh pop ecx jz L004DBDC3 cmp esi,00000001h jz L004DBD91 cmp esi,00000002h jnz L004DBDA7 L004DBD91: push 00000002h call SUB_L004DE51C push 00000001h mov edi,eax call SUB_L004DE51C pop ecx cmp eax,edi pop ecx jz L004DBDC3 L004DBDA7: push esi call SUB_L004DE51C pop ecx push eax call [KERNEL32.dll!CloseHandle] test eax,eax jnz L004DBDC3 call [KERNEL32.dll!GetLastError] mov edi,eax jmp L004DBDC5 L004DBDC3: xor edi,edi L004DBDC5: push esi call SUB_L004DE49D mov eax,esi and esi,0000001Fh sar eax,05h pop ecx mov eax,[L00D1C100+eax*4] lea ecx,[esi+esi*8] and byte ptr [eax+ecx*4+04h],00h test edi,edi jz L004DBDF3 push edi call SUB_L004D9C20 pop ecx or eax,FFFFFFFFh jmp L004DBDF5 L004DBDF3: xor eax,eax L004DBDF5: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DBDF8: push esi mov esi,[esp+08h] mov eax,[esi+0Ch] test al,83h jz L004DBE21 test al,08h jz L004DBE21 push [esi+08h] call SUB_L004D59F6 and word ptr [esi+0Ch],FBF7h xor eax,eax pop ecx mov [esi],eax mov [esi+08h],eax mov [esi+04h],eax L004DBE21: pop esi retn ;------------------------------------------------------------------------------ SUB_L004DBE23: push esi mov esi,[esp+08h] push esi call SUB_L004DBE51 test eax,eax pop ecx jz L004DBE38 or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ L004DBE38: test byte ptr [esi+0Dh],40h jz L004DBE4D push [esi+10h] call SUB_L004DEF25 neg eax pop ecx pop esi sbb eax,eax retn ;------------------------------------------------------------------------------ L004DBE4D: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L004DBE51: 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 L004DBE9E test ax,0108h jz L004DBE9E mov eax,[esi+08h] mov edi,[esi] sub edi,eax test edi,edi jle L004DBE9E push edi push eax push [esi+10h] call SUB_L004DC5B5 add esp,0000000Ch cmp eax,edi jnz L004DBE97 mov eax,[esi+0Ch] test al,80h jz L004DBE9E and al,FDh mov [esi+0Ch],eax jmp L004DBE9E L004DBE97: or dword ptr [esi+0Ch],00000020h or ebx,FFFFFFFFh L004DBE9E: mov eax,[esi+08h] and dword ptr [esi+04h],00000000h mov [esi],eax pop edi mov eax,ebx pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DBEAD: push 00000001h call SUB_L004DBEB6 pop ecx retn ;------------------------------------------------------------------------------ SUB_L004DBEB6: push ebx push esi push edi push 00000002h xor ebx,ebx xor edi,edi call SUB_L004D982F xor esi,esi pop ecx cmp [L00D1D220],esi jle L004DBF43 L004DBECF: mov eax,[L00D1C20C] mov eax,[eax+esi*4] test eax,eax jz L004DBF3A test byte ptr [eax+0Ch],83h jz L004DBF3A push eax push esi call SUB_L004D8DB8 mov eax,[L00D1C20C] pop ecx pop ecx mov eax,[eax+esi*4] mov ecx,[eax+0Ch] test cl,83h jz L004DBF2A cmp dword ptr [esp+10h],00000001h jnz L004DBF10 push eax call SUB_L004DBE23 cmp eax,FFFFFFFFh pop ecx jz L004DBF2A inc ebx jmp L004DBF2A L004DBF10: cmp dword ptr [esp+10h],00000000h jnz L004DBF2A test cl,02h jz L004DBF2A push eax call SUB_L004DBE23 cmp eax,FFFFFFFFh pop ecx jnz L004DBF2A or edi,eax L004DBF2A: mov eax,[L00D1C20C] push [eax+esi*4] push esi call SUB_L004D8E0A pop ecx pop ecx L004DBF3A: inc esi cmp esi,[L00D1D220] jl L004DBECF L004DBF43: push 00000002h call SUB_L004D9890 cmp dword ptr [esp+14h],00000001h pop ecx mov eax,ebx jz L004DBF56 mov eax,edi L004DBF56: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DBF5A: push esi mov esi,[esp+08h] mov eax,[esi+0Ch] test al,83h jz L004DC031 test al,40h jnz L004DC031 test al,02h jz L004DBF80 or al,20h mov [esi+0Ch],eax jmp L004DC031 L004DBF80: or al,01h test ax,010Ch mov [esi+0Ch],eax jnz L004DBF94 push esi call SUB_L004DCC45 pop ecx jmp L004DBF99 L004DBF94: mov eax,[esi+08h] mov [esi],eax L004DBF99: push [esi+18h] push [esi+08h] push [esi+10h] call SUB_L004DC036 add esp,0000000Ch mov [esi+04h],eax test eax,eax jz L004DC020 cmp eax,FFFFFFFFh jz L004DC020 mov edx,[esi+0Ch] test dl,82h jnz L004DBFF5 mov ecx,[esi+10h] push edi cmp ecx,FFFFFFFFh jz L004DBFDE mov edi,ecx sar edi,05h and ecx,0000001Fh mov edi,[L00D1C100+edi*4] lea ecx,[ecx+ecx*8] lea edi,[edi+ecx*4] jmp L004DBFE3 L004DBFDE: mov edi,L00514FA8 L004DBFE3: mov cl,[edi+04h] pop edi and cl,82h cmp cl,82h jnz L004DBFF5 or dh,20h mov [esi+0Ch],edx L004DBFF5: cmp dword ptr [esi+18h],00000200h jnz L004DC012 mov ecx,[esi+0Ch] test cl,08h jz L004DC012 test ch,04h jnz L004DC012 mov dword ptr [esi+18h],00001000h L004DC012: mov ecx,[esi] dec eax mov [esi+04h],eax movzx eax,[ecx] inc ecx mov [esi],ecx pop esi retn ;------------------------------------------------------------------------------ L004DC020: neg eax sbb eax,eax and eax,00000010h add eax,00000010h or [esi+0Ch],eax and dword ptr [esi+04h],00000000h L004DC031: or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004DC036: push esi mov esi,[esp+08h] cmp esi,[L00D1C200] jnc L004DC083 mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] test byte ptr [ecx+eax*4+04h],01h jz L004DC083 push edi push esi call SUB_L004DE55E push [esp+18h] push [esp+18h] push esi call SUB_L004DC09B push esi mov edi,eax call SUB_L004DE5BD add esp,00000014h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L004DC083: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004DC09B: push ebp mov ebp,esp sub esp,0000000Ch and dword ptr [ebp-08h],00000000h cmp dword ptr [ebp+10h],00000000h push ebx mov ebx,[ebp+0Ch] push esi push edi mov edx,ebx jz L004DC26D mov eax,[ebp+08h] mov ecx,eax and eax,0000001Fh sar ecx,05h lea esi,[eax+eax*8] mov eax,[L00D1C100+ecx*4] lea edi,[L00D1C100+ecx*4] shl esi,02h add eax,esi mov cl,[eax+04h] test cl,02h jnz L004DC26D test cl,48h jz L004DC106 mov al,[eax+05h] cmp al,0Ah jz L004DC106 dec [ebp+10h] mov [ebx],al mov eax,[edi] lea edx,[ebx+01h] mov dword ptr [ebp-08h],00000001h mov byte ptr [eax+esi+05h],0Ah L004DC106: lea eax,[ebp-0Ch] push 00000000h push eax mov eax,[edi] push [ebp+10h] push edx push [eax+esi] call [KERNEL32.dll!ReadFile] test eax,eax jnz L004DC158 call [KERNEL32.dll!GetLastError] push 00000005h pop esi cmp eax,esi jnz L004DC140 call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C mov [eax],esi jmp L004DC150 L004DC140: cmp eax,0000006Dh jz L004DC26D push eax call SUB_L004D9C20 pop ecx L004DC150: or eax,FFFFFFFFh jmp L004DC26F L004DC158: mov eax,[edi] mov edx,[ebp-0Ch] add [ebp-08h],edx lea ecx,[eax+esi+04h] mov al,[eax+esi+04h] test al,80h jz L004DC268 test edx,edx jz L004DC17D cmp byte ptr [ebx],0Ah jnz L004DC17D or al,04h jmp L004DC17F L004DC17D: and al,FBh L004DC17F: mov [ecx],al mov eax,[ebp+0Ch] mov ecx,[ebp-08h] mov [ebp+10h],eax add ecx,eax cmp eax,ecx mov [ebp-08h],ecx jnc L004DC262 L004DC197: mov eax,[ebp+10h] mov al,[eax] cmp al,1Ah jz L004DC252 cmp al,0Dh jz L004DC1B3 mov [ebx],al inc ebx inc [ebp+10h] jmp L004DC244 L004DC1B3: dec ecx cmp [ebp+10h],ecx jnc L004DC1D1 mov eax,[ebp+10h] inc eax cmp byte ptr [eax],0Ah jnz L004DC1C8 add dword ptr [ebp+10h],00000002h jmp L004DC226 L004DC1C8: mov byte ptr [ebx],0Dh inc ebx mov [ebp+10h],eax jmp L004DC244 L004DC1D1: lea eax,[ebp-0Ch] push 00000000h push eax inc [ebp+10h] lea eax,[ebp-01h] push 00000001h push eax mov eax,[edi] push [eax+esi] call [KERNEL32.dll!ReadFile] test eax,eax jnz L004DC1F9 call [KERNEL32.dll!GetLastError] test eax,eax jnz L004DC240 L004DC1F9: cmp dword ptr [ebp-0Ch],00000000h jz L004DC240 mov eax,[edi] test byte ptr [eax+esi+04h],48h jz L004DC21B mov al,[ebp-01h] cmp al,0Ah jz L004DC226 mov byte ptr [ebx],0Dh mov ecx,[edi] inc ebx mov [ecx+esi+05h],al jmp L004DC244 L004DC21B: cmp ebx,[ebp+0Ch] jnz L004DC22B cmp byte ptr [ebp-01h],0Ah jnz L004DC22B L004DC226: mov byte ptr [ebx],0Ah jmp L004DC243 L004DC22B: push 00000001h push FFFFFFFFh push [ebp+08h] call SUB_L004D9EC6 add esp,0000000Ch cmp byte ptr [ebp-01h],0Ah jz L004DC244 L004DC240: mov byte ptr [ebx],0Dh L004DC243: inc ebx L004DC244: mov ecx,[ebp-08h] cmp [ebp+10h],ecx jc L004DC197 jmp L004DC262 L004DC252: mov eax,[edi] lea esi,[eax+esi+04h] mov al,[esi] test al,40h jnz L004DC262 or al,02h mov [esi],al L004DC262: sub ebx,[ebp+0Ch] mov [ebp-08h],ebx L004DC268: mov eax,[ebp-08h] jmp L004DC26F L004DC26D: xor eax,eax L004DC26F: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004DC280: 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 L004DC2A0 cmp edi,eax jc L004DC418 L004DC2A0: test edi,00000003h jnz L004DC2BC shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004DC2DC rep movsd jmp [L004DC3C8+edx*4] L004DC2BC: mov eax,edi mov edx,00000003h sub ecx,00000004h jc L004DC2D4 and eax,00000003h add ecx,eax jmp [L004DC2E0+eax*4] L004DC2D4: jmp [L004DC3D8+ecx*4] Align 4 L004DC2DC: jmp [L004DC35C+ecx*4] db 90h; '?' dd L004DC2F0 dd L004DC31C dd L004DC340 L004DC2F0: 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 L004DC2DC rep movsd jmp [L004DC3C8+edx*4] Align 4 L004DC31C: 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 L004DC2DC rep movsd jmp [L004DC3C8+edx*4] Align 4 L004DC340: and edx,ecx mov al,[esi] mov [edi],al inc esi shr ecx,02h inc edi cmp ecx,00000008h jc L004DC2DC rep movsd jmp [L004DC3C8+edx*4] Align 4 L004DC35C: dd L004DC3BF dd L004DC3AC dd L004DC3A4 dd L004DC39C dd L004DC394 dd L004DC38C dd L004DC384 dd L004DC37C L004DC37C: mov eax,[esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch],eax L004DC384: mov eax,[esi+ecx*4-18h] mov [edi+ecx*4-18h],eax L004DC38C: mov eax,[esi+ecx*4-14h] mov [edi+ecx*4-14h],eax L004DC394: mov eax,[esi+ecx*4-10h] mov [edi+ecx*4-10h],eax L004DC39C: mov eax,[esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch],eax L004DC3A4: mov eax,[esi+ecx*4-08h] mov [edi+ecx*4-08h],eax L004DC3AC: mov eax,[esi+ecx*4-04h] mov [edi+ecx*4-04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004DC3BF: jmp [L004DC3C8+edx*4] Align 4 L004DC3C8: dd L004DC3D8 dd L004DC3E0 dd L004DC3EC dd L004DC400 L004DC3D8: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DC3E0: mov al,[esi] mov [edi],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DC3EC: 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 L004DC400: 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 L004DC418: lea esi,[ecx+esi-04h] lea edi,[ecx+edi-04h] test edi,00000003h jnz L004DC44C shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004DC440 std rep movsd cld jmp [L004DC560+edx*4] Align 4 L004DC440: neg ecx jmp [L004DC510+ecx*4] Align 4 L004DC44C: mov eax,edi mov edx,00000003h cmp ecx,00000004h jc L004DC464 and eax,00000003h sub ecx,eax jmp [L004DC468+eax*4] L004DC464: jmp [L004DC560+ecx*4] db 90h; '?' dd L004DC478 dd L004DC498 dd L004DC4C0 L004DC478: mov al,[esi+03h] and edx,ecx mov [edi+03h],al dec esi shr ecx,02h dec edi cmp ecx,00000008h jc L004DC440 std rep movsd cld jmp [L004DC560+edx*4] Align 4 L004DC498: 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 L004DC440 std rep movsd cld jmp [L004DC560+edx*4] Align 4 L004DC4C0: 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 L004DC440 std rep movsd cld jmp [L004DC560+edx*4] Align 4 dd L004DC514 dd L004DC51C dd L004DC524 dd L004DC52C dd L004DC534 dd L004DC53C dd L004DC544 L004DC510: dd L004DC557 L004DC514: mov eax,[esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch],eax L004DC51C: mov eax,[esi+ecx*4+18h] mov [edi+ecx*4+18h],eax L004DC524: mov eax,[esi+ecx*4+14h] mov [edi+ecx*4+14h],eax L004DC52C: mov eax,[esi+ecx*4+10h] mov [edi+ecx*4+10h],eax L004DC534: mov eax,[esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch],eax L004DC53C: mov eax,[esi+ecx*4+08h] mov [edi+ecx*4+08h],eax L004DC544: mov eax,[esi+ecx*4+04h] mov [edi+ecx*4+04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004DC557: jmp [L004DC560+edx*4] Align 4 L004DC560: dd L004DC570 dd L004DC578 dd L004DC588 dd L004DC59C L004DC570: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DC578: mov al,[esi+03h] mov [edi+03h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DC588: 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 L004DC59C: 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 ;------------------------------------------------------------------------------ SUB_L004DC5B5: push esi mov esi,[esp+08h] cmp esi,[L00D1C200] jnc L004DC602 mov ecx,esi mov eax,esi sar ecx,05h and eax,0000001Fh mov ecx,[L00D1C100+ecx*4] lea eax,[eax+eax*8] test byte ptr [ecx+eax*4+04h],01h jz L004DC602 push edi push esi call SUB_L004DE55E push [esp+18h] push [esp+18h] push esi call SUB_L004DC61A push esi mov edi,eax call SUB_L004DE5BD add esp,00000014h mov eax,edi pop edi pop esi retn ;------------------------------------------------------------------------------ L004DC602: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004DC61A: push ebp mov ebp,esp sub esp,00000414h push ebx push esi push edi xor edi,edi cmp [ebp+10h],edi mov [ebp-08h],edi mov [ebp-10h],edi jnz L004DC63A L004DC633: xor eax,eax jmp L004DC7A0 L004DC63A: mov eax,[ebp+08h] sar eax,05h lea ebx,[L00D1C100+eax*4] mov eax,[ebp+08h] and eax,0000001Fh lea esi,[eax+eax*8] mov eax,[ebx] shl esi,02h test byte ptr [eax+esi+04h],20h jz L004DC66A push 00000002h push edi push [ebp+08h] call SUB_L004D9EC6 add esp,0000000Ch L004DC66A: mov eax,[ebx] add eax,esi test byte ptr [eax+04h],80h jz L004DC739 mov eax,[ebp+0Ch] cmp [ebp+10h],edi mov [ebp-04h],eax mov [ebp+08h],edi jbe L004DC774 L004DC68A: lea eax,[ebp-00000414h] L004DC690: mov ecx,[ebp-04h] sub ecx,[ebp+0Ch] cmp ecx,[ebp+10h] jnc L004DC6C4 mov ecx,[ebp-04h] inc [ebp-04h] mov cl,[ecx] cmp cl,0Ah jnz L004DC6AF inc [ebp-10h] mov byte ptr [eax],0Dh inc eax L004DC6AF: mov [eax],cl inc eax mov ecx,eax lea edx,[ebp-00000414h] sub ecx,edx cmp ecx,00000400h jl L004DC690 L004DC6C4: mov edi,eax lea eax,[ebp-00000414h] sub edi,eax lea eax,[ebp-0Ch] push 00000000h push eax lea eax,[ebp-00000414h] push edi push eax mov eax,[ebx] push [eax+esi] call [KERNEL32.dll!WriteFile] test eax,eax jz L004DC72E mov eax,[ebp-0Ch] add [ebp-08h],eax cmp eax,edi jl L004DC700 mov eax,[ebp-04h] sub eax,[ebp+0Ch] cmp eax,[ebp+10h] jc L004DC68A L004DC700: xor edi,edi L004DC702: mov eax,[ebp-08h] cmp eax,edi jnz L004DC79D cmp [ebp+08h],edi jz L004DC774 push 00000005h pop esi cmp [ebp+08h],esi jnz L004DC766 call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C mov [eax],esi jmp L004DC76F L004DC72E: call [KERNEL32.dll!GetLastError] mov [ebp+08h],eax jmp L004DC700 L004DC739: lea ecx,[ebp-0Ch] push edi push ecx push [ebp+10h] push [ebp+0Ch] push [eax] call [KERNEL32.dll!WriteFile] test eax,eax jz L004DC75B mov eax,[ebp-0Ch] mov [ebp+08h],edi mov [ebp-08h],eax jmp L004DC702 L004DC75B: call [KERNEL32.dll!GetLastError] mov [ebp+08h],eax jmp L004DC702 L004DC766: push [ebp+08h] call SUB_L004D9C20 pop ecx L004DC76F: or eax,FFFFFFFFh jmp L004DC7A0 L004DC774: mov eax,[ebx] test byte ptr [eax+esi+04h],40h jz L004DC789 mov eax,[ebp+0Ch] cmp byte ptr [eax],1Ah jz L004DC633 L004DC789: call SUB_L004D9C93 mov dword ptr [eax],0000001Ch call SUB_L004D9C9C mov [eax],edi jmp L004DC76F L004DC79D: sub eax,[ebp-10h] L004DC7A0: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ Align 16 SUB_L004DC7B0: push edi mov edi,[esp+08h] jmp L004DC821 Align 16 SUB_L004DC7C0: mov ecx,[esp+04h] push edi test ecx,00000003h jz L004DC7DC L004DC7CD: mov al,[ecx] inc ecx test al,al jz L004DC80F test ecx,00000003h jnz L004DC7CD L004DC7DC: mov eax,[ecx] mov edx,7EFEFEFFh add edx,eax xor eax,FFFFFFFFh xor eax,edx add ecx,00000004h test eax,81010100h jz L004DC7DC mov eax,[ecx-04h] test al,al jz L004DC81E test ah,ah jz L004DC819 test eax,00FF0000h jz L004DC814 test eax,FF000000h jz L004DC80F jmp L004DC7DC L004DC80F: lea edi,[ecx-01h] jmp L004DC821 L004DC814: lea edi,[ecx-02h] jmp L004DC821 L004DC819: lea edi,[ecx-03h] jmp L004DC821 L004DC81E: lea edi,[ecx-04h] L004DC821: mov ecx,[esp+0Ch] test ecx,00000003h jz L004DC846 L004DC82D: mov dl,[ecx] inc ecx test dl,dl jz L004DC898 mov [edi],dl inc edi test ecx,00000003h jnz L004DC82D jmp L004DC846 L004DC841: mov [edi],edx add edi,00000004h L004DC846: mov edx,7EFEFEFFh mov eax,[ecx] add edx,eax xor eax,FFFFFFFFh xor eax,edx mov edx,[ecx] add ecx,00000004h test eax,81010100h jz L004DC841 test dl,dl jz L004DC898 test dh,dh jz L004DC88F test edx,00FF0000h jz L004DC882 test edx,FF000000h jz L004DC87A jmp L004DC841 L004DC87A: mov [edi],edx mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ L004DC882: mov [edi],dx mov eax,[esp+08h] mov byte ptr [edi+02h],00h pop edi retn ;------------------------------------------------------------------------------ L004DC88F: mov [edi],dx mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ L004DC898: mov [edi],dl mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ SUB_L004DC8A0: mov edx,[esp+04h] mov ecx,[esp+08h] test edx,00000003h jnz L004DC8EC L004DC8B0: mov eax,[edx] cmp al,[ecx] jnz L004DC8E4 or al,al jz L004DC8E0 cmp ah,[ecx+01h] jnz L004DC8E4 or ah,ah jz L004DC8E0 shr eax,10h cmp al,[ecx+02h] jnz L004DC8E4 or al,al jz L004DC8E0 cmp ah,[ecx+03h] jnz L004DC8E4 add ecx,00000004h add edx,00000004h or ah,ah jnz L004DC8B0 mov edi,edi L004DC8E0: xor eax,eax retn ;------------------------------------------------------------------------------ Align 4 L004DC8E4: sbb eax,eax shl eax,1 inc eax retn ;------------------------------------------------------------------------------ Align 4 L004DC8EC: test edx,00000001h jz L004DC908 mov al,[edx] inc edx cmp al,[ecx] jnz L004DC8E4 inc ecx or al,al jz L004DC8E0 test edx,00000002h jz L004DC8B0 L004DC908: mov ax,[edx] add edx,00000002h cmp al,[ecx] jnz L004DC8E4 or al,al jz L004DC8E0 cmp ah,[ecx+01h] jnz L004DC8E4 or ah,ah jz L004DC8E0 add ecx,00000002h jmp L004DC8B0 SUB_L004DC924: cmp dword ptr [L00D1D228],00000000h push ebx push esi mov esi,[L00D1BB0C] push edi jz L004DC99B test esi,esi jnz L004DC955 cmp [L00D1BB14],esi jz L004DC99B call SUB_L004DEFF7 test eax,eax jnz L004DC99B mov esi,[L00D1BB0C] test esi,esi jz L004DC99B L004DC955: mov ebx,[esp+10h] test ebx,ebx jz L004DC99B push ebx call SUB_L004DA9F0 pop ecx mov edi,eax L004DC966: mov eax,[esi] test eax,eax jz L004DC99B push eax call SUB_L004DA9F0 cmp eax,edi pop ecx jbe L004DC98E mov eax,[esi] cmp byte ptr [eax+edi],3Dh jnz L004DC98E push edi push ebx push eax call SUB_L004DEFB8 add esp,0000000Ch test eax,eax jz L004DC993 L004DC98E: add esi,00000004h jmp L004DC966 L004DC993: mov eax,[esi] lea eax,[eax+edi+01h] jmp L004DC99D L004DC99B: xor eax,eax L004DC99D: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DC9A1: mov eax,[esp+04h] push ebx push esi push edi mov esi,[eax] xor ebx,ebx call SUB_L004D84F3 test esi,esi mov edi,eax jge L004DC9BE xor eax,eax jmp L004DCAA7 L004DC9BE: cmp dword ptr [edi+40h],00000000h jnz L004DC9D8 push 00000024h call SUB_L004D5A3E pop ecx mov [edi+40h],eax test eax,eax mov ecx,L00D1BCB8 jz L004DC9DB L004DC9D8: mov ecx,[edi+40h] L004DC9DB: mov eax,esi mov edi,07861F80h cdq idiv edi mov edx,eax imul edx,F879E080h add esi,edx lea edx,[00000046h+eax*4] mov eax,01E13380h cmp esi,eax jl L004DCA1A sub esi,eax inc edx cmp esi,eax jl L004DCA1A sub esi,eax mov eax,01E28500h inc edx cmp esi,eax jl L004DCA17 inc edx sub esi,eax jmp L004DCA1A L004DCA17: push 00000001h pop ebx L004DCA1A: mov eax,esi mov [ecx+14h],edx cdq mov edi,00015180h idiv edi mov edi,L00515084 mov [ecx+1Ch],eax imul eax,FFFEAE80h add esi,eax test ebx,ebx jnz L004DCA40 mov edi,L005150B8 L004DCA40: mov edx,[ecx+1Ch] push 00000001h pop eax lea ebx,[edi+04h] L004DCA49: cmp [ebx],edx jge L004DCA53 inc eax add ebx,00000004h jmp L004DCA49 L004DCA53: mov edx,[ecx+1Ch] dec eax mov [ecx+10h],eax push 00000007h sub edx,[edi+eax*4] mov eax,[esp+14h] mov edi,00015180h mov [ecx+0Ch],edx mov eax,[eax] cdq idiv edi pop edi push 0000003Ch add eax,00000004h cdq idiv edi mov eax,esi mov edi,00000E10h mov [ecx+18h],edx cdq idiv edi pop edi mov [ecx+08h],eax imul eax,FFFFF1F0h add esi,eax mov eax,esi cdq idiv edi mov [ecx+04h],eax imul eax,3Ch sub esi,eax and dword ptr [ecx+20h],00000000h mov [ecx],esi mov eax,ecx L004DCAA7: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DCAAB: push ebp mov ebp,esp push ecx push ecx push ebx mov ebx,[ebp+0Ch] push esi push edi push 0000005Ch push ebx mov edi,ebx call SUB_L004DB7B4 push 0000002Fh push ebx mov esi,eax call SUB_L004DB7B4 add esp,00000010h test eax,eax jnz L004DCB16 test esi,esi jnz L004DCB20 push 0000003Ah push ebx call SUB_L004DF0AB mov esi,eax pop ecx test esi,esi pop ecx jnz L004DCB20 push ebx call SUB_L004DA9F0 add eax,00000003h push eax call SUB_L004D5A3E mov edi,eax pop ecx test edi,edi pop ecx jz L004DCB79 push L004F25F8 push edi call SUB_L004DC7B0 push ebx push edi call SUB_L004DC7C0 add esp,00000010h lea esi,[edi+02h] jmp L004DCB20 L004DCB16: test esi,esi jz L004DCB1E cmp eax,esi jbe L004DCB20 L004DCB1E: mov esi,eax L004DCB20: or dword ptr [ebp-08h],FFFFFFFFh push 0000002Eh push esi call SUB_L004DB7B4 pop ecx test eax,eax pop ecx jz L004DCB5F push 00000000h push edi call SUB_L004DF065 pop ecx cmp eax,FFFFFFFFh pop ecx jz L004DCBE1 push [ebp+14h] push [ebp+10h] push edi push [ebp+08h] call SUB_L004DCBF4 add esp,00000010h mov [ebp-08h],eax jmp L004DCBE1 L004DCB5F: push edi call SUB_L004DA9F0 add eax,00000005h push eax call SUB_L004D5A3E mov ebx,eax pop ecx test ebx,ebx pop ecx mov [ebp-04h],ebx jnz L004DCB7E L004DCB79: or eax,FFFFFFFFh jmp L004DCBEF L004DCB7E: push edi push ebx call SUB_L004DC7B0 push edi call SUB_L004DA9F0 mov esi,eax add esp,0000000Ch add esi,ebx mov ebx,L005150F8 L004DCB97: push [ebx] push esi call SUB_L004DC7B0 push 00000000h push [ebp-04h] call SUB_L004DF065 add esp,00000010h cmp eax,FFFFFFFFh jnz L004DCBBE sub ebx,00000004h cmp ebx,L005150EC jge L004DCB97 jmp L004DCBD5 L004DCBBE: push [ebp+14h] push [ebp+10h] push [ebp-04h] push [ebp+08h] call SUB_L004DCBF4 add esp,00000010h mov [ebp-08h],eax L004DCBD5: push [ebp-04h] call SUB_L004D59F6 mov ebx,[ebp+0Ch] pop ecx L004DCBE1: cmp edi,ebx jz L004DCBEC push edi call SUB_L004D59F6 pop ecx L004DCBEC: mov eax,[ebp-08h] L004DCBEF: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DCBF4: push ebp mov ebp,esp push [ebp+0Ch] lea eax,[ebp+10h] push eax lea eax,[ebp+14h] push eax push [ebp+14h] push [ebp+10h] call SUB_L004DF32B add esp,00000014h cmp eax,FFFFFFFFh jnz L004DCC19 or eax,eax pop ebp retn ;------------------------------------------------------------------------------ L004DCC19: push esi push [ebp+10h] push [ebp+14h] push [ebp+0Ch] push [ebp+08h] call SUB_L004DF142 push [ebp+14h] mov esi,eax call SUB_L004D59F6 push [ebp+10h] call SUB_L004D59F6 add esp,00000018h mov eax,esi pop esi pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DCC45: inc [L00D1BC14] push 00001000h call SUB_L004D5A3E pop ecx mov ecx,[esp+04h] test eax,eax mov [ecx+08h],eax jz L004DCC6E or dword ptr [ecx+0Ch],00000008h mov dword ptr [ecx+18h],00001000h jmp L004DCC7F L004DCC6E: or dword ptr [ecx+0Ch],00000004h lea eax,[ecx+14h] mov [ecx+08h],eax mov dword ptr [ecx+18h],00000002h L004DCC7F: mov eax,[ecx+08h] and dword ptr [ecx+04h],00000000h mov [ecx],eax retn ;------------------------------------------------------------------------------ Align 8 SUB_L004DCC90: mov edx,[esp+0Ch] mov ecx,[esp+04h] test edx,edx jz L004DCCE3 xor eax,eax mov al,[esp+08h] push edi mov edi,ecx cmp edx,00000004h jc L004DCCD7 neg ecx and ecx,00000003h jz L004DCCB9 sub edx,ecx L004DCCB3: mov [edi],al inc edi dec ecx jnz L004DCCB3 L004DCCB9: mov ecx,eax shl eax,08h add eax,ecx mov ecx,eax shl eax,10h add eax,ecx mov ecx,edx and edx,00000003h shr ecx,02h jz L004DCCD7 rep stosd test edx,edx jz L004DCCDD L004DCCD7: mov [edi],al inc edi dec edx jnz L004DCCD7 L004DCCDD: mov eax,[esp+08h] pop edi retn ;------------------------------------------------------------------------------ L004DCCE3: mov eax,[esp+04h] retn ;------------------------------------------------------------------------------ SUB_L004DCCE8: push ebp mov ebp,esp push ecx push ebx push esi call SUB_L004D84F3 mov esi,eax push [esi+50h] push [ebp+08h] call SUB_L004DCE26 pop ecx test eax,eax pop ecx jz L004DCE19 mov ebx,[eax+08h] test ebx,ebx mov [ebp+08h],ebx jz L004DCE19 cmp ebx,00000005h jnz L004DCD29 and dword ptr [eax+08h],00000000h push 00000001h pop eax jmp L004DCE22 L004DCD29: cmp ebx,00000001h jz L004DCE14 mov ecx,[esi+54h] mov [ebp-04h],ecx mov ecx,[ebp+0Ch] mov [esi+54h],ecx mov ecx,[eax+04h] cmp ecx,00000008h jnz L004DCE06 mov edx,[L00515178] mov ecx,[L0051517C] add ecx,edx push edi cmp edx,ecx jge L004DCD84 lea ecx,[edx+edx*2] shl ecx,02h L004DCD63: mov edi,[esi+50h] add ecx,0000000Ch and dword ptr [ecx+edi-04h],00000000h mov edi,[L00515178] mov ebx,[L0051517C] inc edx add ebx,edi cmp edx,ebx jl L004DCD63 mov ebx,[ebp+08h] L004DCD84: mov eax,[eax] mov edi,[esi+58h] cmp eax,C000008Eh jnz L004DCD99 mov dword ptr [esi+58h],00000083h jmp L004DCDF7 L004DCD99: cmp eax,C0000090h jnz L004DCDA9 mov dword ptr [esi+58h],00000081h jmp L004DCDF7 L004DCDA9: cmp eax,C0000091h jnz L004DCDB9 mov dword ptr [esi+58h],00000084h jmp L004DCDF7 L004DCDB9: cmp eax,C0000093h jnz L004DCDC9 mov dword ptr [esi+58h],00000085h jmp L004DCDF7 L004DCDC9: cmp eax,C000008Dh jnz L004DCDD9 mov dword ptr [esi+58h],00000082h jmp L004DCDF7 L004DCDD9: cmp eax,C000008Fh jnz L004DCDE9 mov dword ptr [esi+58h],00000086h jmp L004DCDF7 L004DCDE9: cmp eax,C0000092h jnz L004DCDF7 mov dword ptr [esi+58h],0000008Ah L004DCDF7: push [esi+58h] push 00000008h call ebx pop ecx mov [esi+58h],edi pop ecx pop edi jmp L004DCE0E L004DCE06: and dword ptr [eax+08h],00000000h push ecx call ebx pop ecx L004DCE0E: mov eax,[ebp-04h] mov [esi+54h],eax L004DCE14: or eax,FFFFFFFFh jmp L004DCE22 L004DCE19: push [ebp+0Ch] call [KERNEL32.dll!UnhandledExceptionFilter] L004DCE22: pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DCE26: mov edx,[esp+08h] mov ecx,[L00515184] push esi mov esi,[esp+08h] cmp [edx],esi push edi mov eax,edx jz L004DCE4D lea edi,[ecx+ecx*2] lea edi,[edx+edi*4] L004DCE42: add eax,0000000Ch cmp eax,edi jnc L004DCE4D cmp [eax],esi jnz L004DCE42 L004DCE4D: lea ecx,[ecx+ecx*2] lea ecx,[edx+ecx*4] cmp eax,ecx jnc L004DCE5B cmp [eax],esi jz L004DCE5D L004DCE5B: xor eax,eax L004DCE5D: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DCE60: cmp dword ptr [L00D1D22C],00000000h jnz L004DCE6E call SUB_L004DEB07 L004DCE6E: push esi mov esi,[L00D1D224] mov al,[esi] cmp al,22h jnz L004DCEA0 L004DCE7B: mov al,[esi+01h] inc esi cmp al,22h jz L004DCE98 test al,al jz L004DCE98 movzx eax,al push eax call SUB_L004DF531 test eax,eax pop ecx jz L004DCE7B inc esi jmp L004DCE7B L004DCE98: cmp byte ptr [esi],22h jnz L004DCEAA L004DCE9D: inc esi jmp L004DCEAA L004DCEA0: cmp al,20h jbe L004DCEAA L004DCEA4: inc esi cmp byte ptr [esi],20h ja L004DCEA4 L004DCEAA: mov al,[esi] test al,al jz L004DCEB4 cmp al,20h jbe L004DCE9D L004DCEB4: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DCEB8: push ebx xor ebx,ebx cmp [L00D1D22C],ebx push esi push edi jnz L004DCECA call SUB_L004DEB07 L004DCECA: mov esi,[L00D1BC08] xor edi,edi L004DCED2: mov al,[esi] cmp al,bl jz L004DCEEA cmp al,3Dh jz L004DCEDD inc edi L004DCEDD: push esi call SUB_L004DA9F0 pop ecx lea esi,[esi+eax+01h] jmp L004DCED2 L004DCEEA: lea eax,[00000004h+edi*4] push eax call SUB_L004D5A3E mov esi,eax pop ecx cmp esi,ebx mov [L00D1BB0C],esi jnz L004DCF0C push 00000009h call SUB_L004D7BD8 pop ecx L004DCF0C: mov edi,[L00D1BC08] cmp [edi],bl jz L004DCF4F push ebp L004DCF17: push edi call SUB_L004DA9F0 mov ebp,eax pop ecx inc ebp cmp byte ptr [edi],3Dh jz L004DCF48 push ebp call SUB_L004D5A3E cmp eax,ebx pop ecx mov [esi],eax jnz L004DCF3B push 00000009h call SUB_L004D7BD8 pop ecx L004DCF3B: push edi push [esi] call SUB_L004DC7B0 pop ecx add esi,00000004h pop ecx L004DCF48: add edi,ebp cmp [edi],bl jnz L004DCF17 pop ebp L004DCF4F: push [L00D1BC08] call SUB_L004D59F6 pop ecx mov [L00D1BC08],ebx mov [esi],ebx pop edi pop esi mov dword ptr [L00D1D228],00000001h pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DCF71: push ebp mov ebp,esp push ecx push ecx push ebx xor ebx,ebx cmp [L00D1D22C],ebx push esi push edi jnz L004DCF88 call SUB_L004DEB07 L004DCF88: mov esi,L00D1BCDC push 00000104h push esi push ebx call [KERNEL32.dll!GetModuleFileNameA] mov eax,[L00D1D224] mov [L00D1BB1C],esi mov edi,esi cmp [eax],bl jz L004DCFAD mov edi,eax L004DCFAD: lea eax,[ebp-08h] push eax lea eax,[ebp-04h] push eax push ebx push ebx push edi call SUB_L004DD00A mov eax,[ebp-08h] mov ecx,[ebp-04h] lea eax,[eax+ecx*4] push eax call SUB_L004D5A3E mov esi,eax add esp,00000018h cmp esi,ebx jnz L004DCFDD push 00000008h call SUB_L004D7BD8 pop ecx L004DCFDD: lea eax,[ebp-08h] push eax lea eax,[ebp-04h] push eax mov eax,[ebp-04h] lea eax,[esi+eax*4] push eax push esi push edi call SUB_L004DD00A mov eax,[ebp-04h] add esp,00000014h dec eax mov [L00D1BB04],esi pop edi pop esi mov [L00D1BB00],eax pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DD00A: push ebp mov ebp,esp mov ecx,[ebp+18h] mov eax,[ebp+14h] push ebx push esi and dword ptr [ecx],00000000h mov esi,[ebp+10h] push edi mov edi,[ebp+0Ch] mov dword ptr [eax],00000001h mov eax,[ebp+08h] test edi,edi jz L004DD034 mov [edi],esi add edi,00000004h mov [ebp+0Ch],edi L004DD034: cmp byte ptr [eax],22h jnz L004DD07D L004DD039: mov dl,[eax+01h] inc eax cmp dl,22h jz L004DD06B test dl,dl jz L004DD06B movzx edx,dl test byte ptr [edx+L00D1BFC1],04h jz L004DD05E inc [ecx] test esi,esi jz L004DD05E mov dl,[eax] mov [esi],dl inc esi inc eax L004DD05E: inc [ecx] test esi,esi jz L004DD039 mov dl,[eax] mov [esi],dl inc esi jmp L004DD039 L004DD06B: inc [ecx] test esi,esi jz L004DD075 and byte ptr [esi],00h inc esi L004DD075: cmp byte ptr [eax],22h jnz L004DD0C0 inc eax jmp L004DD0C0 L004DD07D: inc [ecx] test esi,esi jz L004DD088 mov dl,[eax] mov [esi],dl inc esi L004DD088: mov dl,[eax] inc eax movzx ebx,dl test byte ptr [ebx+L00D1BFC1],04h jz L004DD0A3 inc [ecx] test esi,esi jz L004DD0A2 mov bl,[eax] mov [esi],bl inc esi L004DD0A2: inc eax L004DD0A3: cmp dl,20h jz L004DD0B1 test dl,dl jz L004DD0B5 cmp dl,09h jnz L004DD07D L004DD0B1: test dl,dl jnz L004DD0B8 L004DD0B5: dec eax jmp L004DD0C0 L004DD0B8: test esi,esi jz L004DD0C0 and byte ptr [esi-01h],00h L004DD0C0: and dword ptr [ebp+18h],00000000h L004DD0C4: cmp byte ptr [eax],00h jz L004DD1AD L004DD0CD: mov dl,[eax] cmp dl,20h jz L004DD0D9 cmp dl,09h jnz L004DD0DC L004DD0D9: inc eax jmp L004DD0CD L004DD0DC: cmp byte ptr [eax],00h jz L004DD1AD test edi,edi jz L004DD0F1 mov [edi],esi add edi,00000004h mov [ebp+0Ch],edi L004DD0F1: mov edx,[ebp+14h] inc [edx] L004DD0F6: mov dword ptr [ebp+08h],00000001h xor ebx,ebx L004DD0FF: cmp byte ptr [eax],5Ch jnz L004DD108 inc eax inc ebx jmp L004DD0FF L004DD108: cmp byte ptr [eax],22h jnz L004DD139 test bl,01h jnz L004DD137 xor edi,edi cmp [ebp+18h],edi jz L004DD126 cmp byte ptr [eax+01h],22h lea edx,[eax+01h] jnz L004DD126 mov eax,edx jmp L004DD129 L004DD126: mov [ebp+08h],edi L004DD129: mov edi,[ebp+0Ch] xor edx,edx cmp [ebp+18h],edx setz dl mov [ebp+18h],edx L004DD137: shr ebx,1 L004DD139: mov edx,ebx dec ebx test edx,edx jz L004DD14E inc ebx L004DD141: test esi,esi jz L004DD149 mov byte ptr [esi],5Ch inc esi L004DD149: inc [ecx] dec ebx jnz L004DD141 L004DD14E: mov dl,[eax] test dl,dl jz L004DD19E cmp dword ptr [ebp+18h],00000000h jnz L004DD164 cmp dl,20h jz L004DD19E cmp dl,09h jz L004DD19E L004DD164: cmp dword ptr [ebp+08h],00000000h jz L004DD198 test esi,esi jz L004DD187 movzx ebx,dl test byte ptr [ebx+L00D1BFC1],04h jz L004DD180 mov [esi],dl inc esi inc eax inc [ecx] L004DD180: mov dl,[eax] mov [esi],dl inc esi jmp L004DD196 L004DD187: movzx edx,dl test byte ptr [edx+L00D1BFC1],04h jz L004DD196 inc eax inc [ecx] L004DD196: inc [ecx] L004DD198: inc eax jmp L004DD0F6 L004DD19E: test esi,esi jz L004DD1A6 and byte ptr [esi],00h inc esi L004DD1A6: inc [ecx] jmp L004DD0C4 L004DD1AD: test edi,edi jz L004DD1B4 and dword ptr [edi],00000000h L004DD1B4: mov eax,[ebp+14h] pop edi pop esi pop ebx inc [eax] pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DD1BE: push ecx push ecx mov eax,[L00D1BDE0] push ebx push ebp mov ebp,[KERNEL32.dll!GetEnvironmentStringsW] push esi push edi xor ebx,ebx xor esi,esi xor edi,edi cmp eax,ebx jnz L004DD20C call ebp mov esi,eax cmp esi,ebx jz L004DD1ED mov dword ptr [L00D1BDE0],00000001h jmp L004DD215 L004DD1ED: call [KERNEL32.dll!GetEnvironmentStrings] mov edi,eax cmp edi,ebx jz L004DD2E7 mov dword ptr [L00D1BDE0],00000002h jmp L004DD29B L004DD20C: cmp eax,00000001h jnz L004DD296 L004DD215: cmp esi,ebx jnz L004DD225 call ebp mov esi,eax cmp esi,ebx jz L004DD2E7 L004DD225: cmp [esi],bx mov eax,esi jz L004DD23A L004DD22C: inc eax inc eax cmp [eax],bx jnz L004DD22C inc eax inc eax cmp [eax],bx jnz L004DD22C L004DD23A: sub eax,esi mov edi,[KERNEL32.dll!WideCharToMultiByte] sar eax,1 push ebx push ebx inc eax push ebx push ebx push eax push esi push ebx push ebx mov [esp+34h],eax call edi mov ebp,eax cmp ebp,ebx jz L004DD28B push ebp call SUB_L004D5A3E cmp eax,ebx pop ecx mov [esp+10h],eax jz L004DD28B push ebx push ebx push ebp push eax push [esp+24h] push esi push ebx push ebx call edi test eax,eax jnz L004DD287 push [esp+10h] call SUB_L004D59F6 pop ecx mov [esp+10h],ebx L004DD287: mov ebx,[esp+10h] L004DD28B: push esi call [KERNEL32.dll!FreeEnvironmentStringsW] mov eax,ebx jmp L004DD2E9 L004DD296: cmp eax,00000002h jnz L004DD2E7 L004DD29B: cmp edi,ebx jnz L004DD2AB call [KERNEL32.dll!GetEnvironmentStrings] mov edi,eax cmp edi,ebx jz L004DD2E7 L004DD2AB: cmp [edi],bl mov eax,edi jz L004DD2BB L004DD2B1: inc eax cmp [eax],bl jnz L004DD2B1 inc eax cmp [eax],bl jnz L004DD2B1 L004DD2BB: sub eax,edi inc eax mov ebp,eax push ebp call SUB_L004D5A3E mov esi,eax pop ecx cmp esi,ebx jnz L004DD2D1 xor esi,esi jmp L004DD2DC L004DD2D1: push ebp push edi push esi call SUB_L004DC280 add esp,0000000Ch L004DD2DC: push edi call [KERNEL32.dll!FreeEnvironmentStringsA] mov eax,esi jmp L004DD2E9 L004DD2E7: xor eax,eax L004DD2E9: pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004DD2F0: mov eax,[L00D1BC10] cmp eax,00000001h jz L004DD307 test eax,eax jnz L004DD328 cmp dword ptr [L005147A4],00000001h jnz L004DD328 L004DD307: push 000000FCh call SUB_L004DD329 mov eax,[L00D1BDE4] pop ecx test eax,eax jz L004DD31D call eax L004DD31D: push 000000FFh call SUB_L004DD329 pop ecx L004DD328: retn ;------------------------------------------------------------------------------ SUB_L004DD329: push ebp mov ebp,esp sub esp,000001A4h mov edx,[ebp+08h] xor ecx,ecx mov eax,L00515188 L004DD33C: cmp edx,[eax] jz L004DD34B add eax,00000008h inc ecx cmp eax,L00515218 jl L004DD33C L004DD34B: push esi mov esi,ecx shl esi,03h cmp edx,[esi+L00515188] jnz L004DD479 mov eax,[L00D1BC10] cmp eax,00000001h jz L004DD453 test eax,eax jnz L004DD37C cmp dword ptr [L005147A4],00000001h jz L004DD453 L004DD37C: cmp edx,000000FCh jz L004DD479 lea eax,[ebp-000001A4h] push 00000104h push eax push 00000000h call [KERNEL32.dll!GetModuleFileNameA] test eax,eax jnz L004DD3B3 lea eax,[ebp-000001A4h] push SSZ004F28D0__program_name_unknown_ push eax call SUB_L004DC7B0 pop ecx pop ecx L004DD3B3: lea eax,[ebp-000001A4h] push edi push eax lea edi,[ebp-000001A4h] call SUB_L004DA9F0 inc eax pop ecx cmp eax,0000003Ch jbe L004DD3F6 lea eax,[ebp-000001A4h] push eax call SUB_L004DA9F0 mov edi,eax lea eax,[ebp-000001A4h] sub eax,0000003Bh push 00000003h add edi,eax push L004F28CC push edi call SUB_L004D52C0 add esp,00000010h L004DD3F6: lea eax,[ebp-000000A0h] push SSZ004F28B0_Runtime_Error___Program__ push eax call SUB_L004DC7B0 lea eax,[ebp-000000A0h] push edi push eax call SUB_L004DC7C0 lea eax,[ebp-000000A0h] push L004FF2D4 push eax call SUB_L004DC7C0 push [esi+L0051518C] lea eax,[ebp-000000A0h] push eax call SUB_L004DC7C0 push 00012010h lea eax,[ebp-000000A0h] push SSZ004F2888_Microsoft_Visual_C___Runtime_Lib push eax call SUB_L004DF573 add esp,0000002Ch pop edi jmp L004DD479 L004DD453: lea eax,[ebp+08h] lea esi,[esi+L0051518C] push 00000000h push eax push [esi] call SUB_L004DA9F0 pop ecx push eax push [esi] push FFFFFFF4h call [KERNEL32.dll!GetStdHandle] push eax call [KERNEL32.dll!WriteFile] L004DD479: pop esi leave retn ;------------------------------------------------------------------------------ L004DD47C: push esi mov esi,[esp+08h] mov eax,[esi] cmp dword ptr [eax],E06D7363h jnz L004DD49F cmp dword ptr [eax+10h],00000003h jnz L004DD49F cmp dword ptr [eax+14h],19930520h jnz L004DD49F jmp L004D85FA L004DD49F: mov eax,[L00D1BDE8] test eax,eax jz L004DD4BC push eax call SUB_L004DD518 test eax,eax pop ecx jz L004DD4BC push esi call [L00D1BDE8] jmp L004DD4BE L004DD4BC: xor eax,eax L004DD4BE: pop esi retn 0004h ;------------------------------------------------------------------------------ push L004DD47C call [KERNEL32.dll!SetUnhandledExceptionFilter] mov [L00D1BDE8],eax retn ;------------------------------------------------------------------------------ push [L00D1BDE8] call [KERNEL32.dll!SetUnhandledExceptionFilter] retn ;------------------------------------------------------------------------------ SUB_L004DD4E0: push esi push 00000001h pop esi push [esp+0Ch] push [esp+0Ch] call [KERNEL32.dll!IsBadReadPtr] test eax,eax jz L004DD4F8 xor esi,esi L004DD4F8: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DD4FC: push esi push 00000001h pop esi push [esp+0Ch] push [esp+0Ch] call [KERNEL32.dll!IsBadWritePtr] test eax,eax jz L004DD514 xor esi,esi L004DD514: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DD518: push esi push 00000001h pop esi push [esp+08h] call [KERNEL32.dll!IsBadCodePtr] test eax,eax jz L004DD52C xor esi,esi L004DD52C: mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DD530: 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 L004DD550 cmp edi,eax jc L004DD6C8 L004DD550: test edi,00000003h jnz L004DD56C shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004DD58C rep movsd jmp [L004DD678+edx*4] L004DD56C: mov eax,edi mov edx,00000003h sub ecx,00000004h jc L004DD584 and eax,00000003h add ecx,eax jmp [L004DD590+eax*4] L004DD584: jmp [L004DD688+ecx*4] Align 4 L004DD58C: jmp [L004DD60C+ecx*4] db 90h; '?' dd L004DD5A0 dd L004DD5CC dd L004DD5F0 L004DD5A0: 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 L004DD58C rep movsd jmp [L004DD678+edx*4] Align 4 L004DD5CC: 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 L004DD58C rep movsd jmp [L004DD678+edx*4] Align 4 L004DD5F0: and edx,ecx mov al,[esi] mov [edi],al inc esi shr ecx,02h inc edi cmp ecx,00000008h jc L004DD58C rep movsd jmp [L004DD678+edx*4] Align 4 L004DD60C: dd L004DD66F dd L004DD65C dd L004DD654 dd L004DD64C dd L004DD644 dd L004DD63C dd L004DD634 dd L004DD62C L004DD62C: mov eax,[esi+ecx*4-1Ch] mov [edi+ecx*4-1Ch],eax L004DD634: mov eax,[esi+ecx*4-18h] mov [edi+ecx*4-18h],eax L004DD63C: mov eax,[esi+ecx*4-14h] mov [edi+ecx*4-14h],eax L004DD644: mov eax,[esi+ecx*4-10h] mov [edi+ecx*4-10h],eax L004DD64C: mov eax,[esi+ecx*4-0Ch] mov [edi+ecx*4-0Ch],eax L004DD654: mov eax,[esi+ecx*4-08h] mov [edi+ecx*4-08h],eax L004DD65C: mov eax,[esi+ecx*4-04h] mov [edi+ecx*4-04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004DD66F: jmp [L004DD678+edx*4] Align 4 L004DD678: dd L004DD688 dd L004DD690 dd L004DD69C dd L004DD6B0 L004DD688: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DD690: mov al,[esi] mov [edi],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DD69C: 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 L004DD6B0: 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 L004DD6C8: lea esi,[ecx+esi-04h] lea edi,[ecx+edi-04h] test edi,00000003h jnz L004DD6FC shr ecx,02h and edx,00000003h cmp ecx,00000008h jc L004DD6F0 std rep movsd cld jmp [L004DD810+edx*4] Align 4 L004DD6F0: neg ecx jmp [L004DD7C0+ecx*4] Align 4 L004DD6FC: mov eax,edi mov edx,00000003h cmp ecx,00000004h jc L004DD714 and eax,00000003h sub ecx,eax jmp [L004DD718+eax*4] L004DD714: jmp [L004DD810+ecx*4] db 90h; '?' dd L004DD728 dd L004DD748 dd L004DD770 L004DD728: mov al,[esi+03h] and edx,ecx mov [edi+03h],al dec esi shr ecx,02h dec edi cmp ecx,00000008h jc L004DD6F0 std rep movsd cld jmp [L004DD810+edx*4] Align 4 L004DD748: 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 L004DD6F0 std rep movsd cld jmp [L004DD810+edx*4] Align 4 L004DD770: 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 L004DD6F0 std rep movsd cld jmp [L004DD810+edx*4] Align 4 dd L004DD7C4 dd L004DD7CC dd L004DD7D4 dd L004DD7DC dd L004DD7E4 dd L004DD7EC dd L004DD7F4 L004DD7C0: dd L004DD807 L004DD7C4: mov eax,[esi+ecx*4+1Ch] mov [edi+ecx*4+1Ch],eax L004DD7CC: mov eax,[esi+ecx*4+18h] mov [edi+ecx*4+18h],eax L004DD7D4: mov eax,[esi+ecx*4+14h] mov [edi+ecx*4+14h],eax L004DD7DC: mov eax,[esi+ecx*4+10h] mov [edi+ecx*4+10h],eax L004DD7E4: mov eax,[esi+ecx*4+0Ch] mov [edi+ecx*4+0Ch],eax L004DD7EC: mov eax,[esi+ecx*4+08h] mov [edi+ecx*4+08h],eax L004DD7F4: mov eax,[esi+ecx*4+04h] mov [edi+ecx*4+04h],eax lea eax,[00000000h+ecx*4] add esi,eax add edi,eax L004DD807: jmp [L004DD810+edx*4] Align 4 L004DD810: dd L004DD820 dd L004DD828 dd L004DD838 dd L004DD84C L004DD820: mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DD828: mov al,[esi+03h] mov [edi+03h],al mov eax,[ebp+08h] pop esi pop edi leave retn ;------------------------------------------------------------------------------ Align 4 L004DD838: 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 L004DD84C: 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 ;------------------------------------------------------------------------------ L004DD865: push 0000000Ah call SUB_L004DD329 push 00000016h call SUB_L004DF5FC pop ecx pop ecx push 00000003h call SUB_L004D555C SUB_L004DD87C: push ebp mov ebp,esp push ecx push esi fstcw word ptr [ebp-04h] push [ebp-04h] call SUB_L004DD8C7 mov esi,eax mov eax,[ebp+0Ch] not eax and esi,eax mov eax,[ebp+08h] and eax,[ebp+0Ch] or esi,eax push esi call SUB_L004DD959 pop ecx mov [ebp+0Ch],eax pop ecx fldcw word ptr [ebp+0Ch] mov eax,esi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004DD8B1: mov eax,[esp+08h] and eax,FFF7FFFFh push eax push [esp+08h] call SUB_L004DD87C pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004DD8C7: push ebx mov ebx,[esp+08h] xor eax,eax push ebp test bl,01h push edi jz L004DD8D8 push 00000010h pop eax L004DD8D8: test bl,04h jz L004DD8DF or al,08h L004DD8DF: test bl,08h jz L004DD8E6 or al,04h L004DD8E6: test bl,10h jz L004DD8ED or al,02h L004DD8ED: test bl,20h jz L004DD8F4 or al,01h L004DD8F4: test bl,02h jz L004DD8FE or eax,00080000h L004DD8FE: movzx ecx,bx push esi mov edx,ecx mov esi,00000C00h mov edi,00000300h and edx,esi mov ebp,00000200h jz L004DD936 cmp edx,00000400h jz L004DD933 cmp edx,00000800h jz L004DD92F cmp edx,esi jnz L004DD936 or eax,edi jmp L004DD936 L004DD92F: or eax,ebp jmp L004DD936 L004DD933: or ah,01h L004DD936: and ecx,edi pop esi jz L004DD946 cmp ecx,ebp jnz L004DD94B or eax,00010000h jmp L004DD94B L004DD946: or eax,00020000h L004DD94B: pop edi pop ebp test bh,10h pop ebx jz L004DD958 or eax,00040000h L004DD958: retn ;------------------------------------------------------------------------------ SUB_L004DD959: push ebx mov ebx,[esp+08h] xor eax,eax push esi test bl,10h jz L004DD969 push 00000001h pop eax L004DD969: test bl,08h jz L004DD970 or al,04h L004DD970: test bl,04h jz L004DD977 or al,08h L004DD977: test bl,02h jz L004DD97E or al,10h L004DD97E: test bl,01h jz L004DD985 or al,20h L004DD985: test ebx,00080000h jz L004DD98F or al,02h L004DD98F: mov ecx,ebx mov edx,00000300h and ecx,edx mov esi,00000200h jz L004DD9BC cmp ecx,00000100h jz L004DD9B9 cmp ecx,esi jz L004DD9B4 cmp ecx,edx jnz L004DD9BC or ah,0Ch jmp L004DD9BC L004DD9B4: or ah,08h jmp L004DD9BC L004DD9B9: or ah,04h L004DD9BC: mov ecx,ebx and ecx,00030000h jz L004DD9D2 cmp ecx,00010000h jnz L004DD9D4 or eax,esi jmp L004DD9D4 L004DD9D2: or eax,edx L004DD9D4: pop esi test ebx,00040000h pop ebx jz L004DD9E1 or ah,10h L004DD9E1: retn ;------------------------------------------------------------------------------ SUB_L004DD9E2: mov eax,[esp+08h] push esi push 00000020h cdq pop ecx idiv ecx push 0000001Fh mov esi,eax mov eax,[esp+10h] cdq idiv ecx pop ecx mov eax,[esp+08h] sub ecx,edx or edx,FFFFFFFFh shl edx,cl not edx test [eax+esi*4],edx jnz L004DDA27 inc esi cmp esi,00000003h jge L004DDA22 lea eax,[eax+esi*4] L004DDA14: cmp dword ptr [eax],00000000h jnz L004DDA27 inc esi add eax,00000004h cmp esi,00000003h jl L004DDA14 L004DDA22: push 00000001h pop eax pop esi retn ;------------------------------------------------------------------------------ L004DDA27: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ SUB_L004DDA2B: mov eax,[esp+08h] push ebx push esi push edi push 00000020h mov ebx,[esp+14h] cdq pop ecx idiv ecx mov esi,eax mov eax,[esp+14h] cdq idiv ecx lea edi,[ebx+esi*4] push edi push 0000001Fh pop ecx push 00000001h pop eax sub ecx,edx shl eax,cl push eax push [edi] call SUB_L004DF7BB add esp,0000000Ch dec esi js L004DDA7D lea edi,[ebx+esi*4] L004DDA64: test eax,eax jz L004DDA7D push edi push 00000001h push [edi] call SUB_L004DF7BB add esp,0000000Ch dec esi sub edi,00000004h test esi,esi jge L004DDA64 L004DDA7D: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DDA81: push ebp mov ebp,esp push ecx push ecx mov eax,[ebp+0Ch] push ebx push esi push edi lea edi,[eax-01h] push 00000020h pop ecx and dword ptr [ebp-04h],00000000h lea ebx,[edi+01h] push 00000020h mov eax,ebx pop esi cdq idiv ecx push 0000001Fh mov ecx,eax mov eax,ebx cdq idiv esi mov eax,[ebp+08h] pop esi push 00000001h mov [ebp-08h],ecx lea eax,[eax+ecx*4] mov [ebp+0Ch],eax sub esi,edx pop edx mov ecx,esi shl edx,cl test [eax],edx jz L004DDAE5 inc ebx push ebx push [ebp+08h] call SUB_L004DD9E2 pop ecx test eax,eax pop ecx jnz L004DDAE2 push edi push [ebp+08h] call SUB_L004DDA2B pop ecx mov [ebp-04h],eax pop ecx L004DDAE2: mov eax,[ebp+0Ch] L004DDAE5: or edx,FFFFFFFFh mov ecx,esi shl edx,cl push 00000003h pop ecx and [eax],edx mov eax,[ebp-08h] inc eax cmp eax,ecx jge L004DDB05 mov edx,[ebp+08h] sub ecx,eax lea edi,[edx+eax*4] xor eax,eax rep stosd L004DDB05: mov eax,[ebp-04h] pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DDB0D: mov eax,[esp+08h] mov ecx,[esp+04h] push esi push 00000003h sub ecx,eax pop edx L004DDB1B: mov esi,[eax] mov [ecx+eax],esi add eax,00000004h dec edx jnz L004DDB1B pop esi retn ;------------------------------------------------------------------------------ SUB_L004DDB28: push edi mov edi,[esp+08h] xor eax,eax stosd stosd stosd pop edi retn ;------------------------------------------------------------------------------ SUB_L004DDB34: mov eax,[esp+04h] xor ecx,ecx L004DDB3A: cmp dword ptr [eax],00000000h jnz L004DDB4C inc ecx add eax,00000004h cmp ecx,00000003h jl L004DDB3A push 00000001h pop eax retn ;------------------------------------------------------------------------------ L004DDB4C: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004DDB4F: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[ebp+0Ch] push ebx push esi push edi push 00000020h mov edi,[ebp+08h] pop ebx or esi,FFFFFFFFh cdq mov ecx,ebx mov dword ptr [ebp-04h],00000003h idiv ecx mov [ebp-0Ch],eax mov eax,[ebp+0Ch] cdq idiv ecx and dword ptr [ebp+0Ch],00000000h mov ecx,edx shl esi,cl sub ebx,edx not esi L004DDB85: mov eax,[edi] mov ecx,eax and ecx,esi mov [ebp-08h],ecx mov ecx,edx shr eax,cl or eax,[ebp+0Ch] mov [edi],eax mov eax,[ebp-08h] mov ecx,ebx add edi,00000004h shl eax,cl dec [ebp-04h] mov [ebp+0Ch],eax jnz L004DDB85 mov edi,[ebp-0Ch] push 00000002h pop ebx mov esi,edi push 00000008h pop ecx shl esi,02h L004DDBB7: cmp ebx,edi jl L004DDBCA mov edx,[ebp+08h] mov eax,ecx sub eax,esi mov eax,[eax+edx] mov [ecx+edx],eax jmp L004DDBD1 L004DDBCA: mov eax,[ebp+08h] and dword ptr [ecx+eax],00000000h L004DDBD1: dec ebx sub ecx,00000004h jns L004DDBB7 pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DDBDC: push ebp mov ebp,esp sub esp,00000018h mov eax,[ebp+08h] push ebx push esi push edi movzx ecx,[eax+0Ah] mov ebx,ecx and ecx,00008000h mov [ebp+08h],ecx mov ecx,[eax+06h] mov [ebp-0Ch],ecx mov ecx,[eax+02h] movzx eax,[eax] mov edi,[ebp+10h] and ebx,00007FFFh sub ebx,00003FFFh mov [ebp-08h],ecx shl eax,10h cmp ebx,FFFFC001h mov [ebp-04h],eax jnz L004DDC49 lea eax,[ebp-0Ch] xor esi,esi push eax call SUB_L004DDB34 test eax,eax pop ecx jnz L004DDD08 lea eax,[ebp-0Ch] push eax call SUB_L004DDB28 pop ecx L004DDC41: push 00000002h L004DDC43: pop eax jmp L004DDD0A L004DDC49: lea eax,[ebp-0Ch] push eax lea eax,[ebp-18h] push eax call SUB_L004DDB0D push [edi+08h] lea eax,[ebp-0Ch] push eax call SUB_L004DDA81 add esp,00000010h test eax,eax jz L004DDC6A inc ebx L004DDC6A: mov eax,[edi+04h] mov ecx,eax sub ecx,[edi+08h] cmp ebx,ecx jge L004DDC82 lea eax,[ebp-0Ch] push eax call SUB_L004DDB28 pop ecx jmp L004DDCBE L004DDC82: cmp ebx,eax jg L004DDCC5 sub eax,ebx mov esi,eax lea eax,[ebp-18h] push eax lea eax,[ebp-0Ch] push eax call SUB_L004DDB0D lea eax,[ebp-0Ch] push esi push eax call SUB_L004DDB4F push [edi+08h] lea eax,[ebp-0Ch] push eax call SUB_L004DDA81 mov eax,[edi+0Ch] inc eax push eax lea eax,[ebp-0Ch] push eax call SUB_L004DDB4F add esp,00000020h L004DDCBE: xor esi,esi jmp L004DDC41 L004DDCC5: cmp ebx,[edi] jl L004DDCF1 lea eax,[ebp-0Ch] push eax call SUB_L004DDB28 push [edi+0Ch] or byte ptr [ebp-09h],80h lea eax,[ebp-0Ch] push eax call SUB_L004DDB4F mov esi,[edi+14h] add esp,0000000Ch add esi,[edi] push 00000001h jmp L004DDC43 L004DDCF1: push [edi+0Ch] mov esi,[edi+14h] and byte ptr [ebp-09h],7Fh lea eax,[ebp-0Ch] push eax add esi,ebx call SUB_L004DDB4F pop ecx pop ecx L004DDD08: xor eax,eax L004DDD0A: push 0000001Fh pop ecx sub ecx,[edi+0Ch] mov edi,[edi+10h] shl esi,cl mov ecx,[ebp+08h] neg ecx sbb ecx,ecx and ecx,80000000h or esi,ecx or esi,[ebp-0Ch] cmp edi,00000040h jnz L004DDD39 mov ecx,[ebp+0Ch] mov edx,[ebp-08h] mov [ecx+04h],esi mov [ecx],edx jmp L004DDD43 L004DDD39: cmp edi,00000020h jnz L004DDD43 mov ecx,[ebp+0Ch] mov [ecx],esi L004DDD43: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DDD48: push L00515220 push [esp+0Ch] push [esp+0Ch] call SUB_L004DDBDC add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004DDD5E: push L00515238 push [esp+0Ch] push [esp+0Ch] call SUB_L004DDBDC add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004DDD74: push ebp mov ebp,esp sub esp,0000000Ch xor eax,eax push eax push eax push eax push eax push [ebp+0Ch] lea eax,[ebp+0Ch] push eax lea eax,[ebp-0Ch] push eax call SUB_L004DF95C push [ebp+08h] lea eax,[ebp-0Ch] push eax call SUB_L004DDD48 add esp,00000024h leave retn ;------------------------------------------------------------------------------ SUB_L004DDDA1: push ebp mov ebp,esp sub esp,0000000Ch xor eax,eax push eax push eax push eax push eax push [ebp+0Ch] lea eax,[ebp+0Ch] push eax lea eax,[ebp-0Ch] push eax call SUB_L004DF95C push [ebp+08h] lea eax,[ebp-0Ch] push eax call SUB_L004DDD5E add esp,00000024h leave retn ;------------------------------------------------------------------------------ SUB_L004DDDCE: push ebp mov ebp,esp mov edx,[ebp+10h] push ebx mov ebx,[ebp+0Ch] push esi mov esi,[ebp+08h] mov ecx,[edx+0Ch] push edi lea edi,[esi+01h] mov byte ptr [esi],30h test ebx,ebx mov eax,edi jle L004DDE0B mov [ebp+08h],ebx xor ebx,ebx L004DDDF1: mov dl,[ecx] test dl,dl jz L004DDDFD movsx edx,dl inc ecx jmp L004DDE00 L004DDDFD: push 00000030h pop edx L004DDE00: mov [eax],dl inc eax dec [ebp+08h] jnz L004DDDF1 mov edx,[ebp+10h] L004DDE0B: and byte ptr [eax],00h test ebx,ebx jl L004DDE24 cmp byte ptr [ecx],35h jl L004DDE24 L004DDE17: dec eax cmp byte ptr [eax],39h jnz L004DDE22 mov byte ptr [eax],30h jmp L004DDE17 L004DDE22: inc [eax] L004DDE24: cmp byte ptr [esi],31h jnz L004DDE2E inc [edx+04h] jmp L004DDE40 L004DDE2E: push edi call SUB_L004DA9F0 inc eax push eax push edi push esi call SUB_L004DD530 add esp,00000010h L004DDE40: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DDE45: push ebp mov ebp,esp sub esp,00000028h push esi lea eax,[ebp+08h] push edi push eax lea eax,[ebp-0Ch] push eax call SUB_L004DDEA1 pop ecx lea eax,[ebp-28h] pop ecx lea esi,[ebp-0Ch] push eax push 00000000h push 00000011h sub esp,0000000Ch mov edi,esp movsd movsd movsw call SUB_L004DFE2D mov esi,[ebp+10h] mov edi,[ebp+14h] mov [esi+08h],eax movsx eax,[ebp-26h] mov [esi],eax movsx eax,[ebp-28h] mov [esi+04h],eax lea eax,[ebp-24h] push eax push edi call SUB_L004DC7B0 add esp,00000020h mov [esi+0Ch],edi mov eax,esi pop edi pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004DDEA1: push ebp mov ebp,esp push ecx mov edx,[ebp+0Ch] push ebx push esi push edi mov ax,[edx+06h] mov edi,000007FFh mov ecx,eax and eax,00008000h shr ecx,04h and ecx,edi mov [ebp+0Ch],eax mov eax,[edx+04h] mov edx,[edx] movzx ebx,cx mov esi,80000000h and eax,000FFFFFh test ebx,ebx mov [ebp-04h],esi jz L004DDEEF cmp ebx,edi jz L004DDEE8 lea edi,[ecx+00003C00h] jmp L004DDF10 L004DDEE8: mov edi,00007FFFh jmp L004DDF10 L004DDEEF: xor ebx,ebx cmp eax,ebx jnz L004DDF07 cmp edx,ebx jnz L004DDF07 mov eax,[ebp+08h] mov [eax+04h],ebx mov [eax],ebx mov [eax+08h],bx jmp L004DDF52 L004DDF07: lea edi,[ecx+00003C01h] mov [ebp-04h],ebx L004DDF10: mov ecx,edx shr ecx,15h shl eax,0Bh or ecx,eax mov eax,[ebp+08h] or ecx,[ebp-04h] shl edx,0Bh mov [eax+04h],ecx mov [eax],edx L004DDF28: test esi,ecx jnz L004DDF49 mov edx,[eax] add ecx,ecx mov ebx,edx shr ebx,1Fh or ebx,ecx lea ecx,[edx+edx] mov [eax],ecx mov [eax+04h],ebx add edi,0000FFFFh mov ecx,ebx jmp L004DDF28 L004DDF49: mov ecx,[ebp+0Ch] or ecx,edi mov [eax+08h],cx L004DDF52: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004DDF57: push 00000002h call SUB_L004D7BD8 pop ecx retn ;------------------------------------------------------------------------------ L004DDF60: push ebx push edi push 00000002h xor ebx,ebx call SUB_L004D982F pop ecx push 00000003h pop edi cmp [L00D1D220],edi jle L004DDFD4 push esi L004DDF78: mov eax,[L00D1C20C] mov esi,edi shl esi,02h mov eax,[esi+eax] test eax,eax jz L004DDFCA test byte ptr [eax+0Ch],83h jz L004DDF9C push eax call SUB_L004D6027 cmp eax,FFFFFFFFh pop ecx jz L004DDF9C inc ebx L004DDF9C: cmp edi,00000014h jl L004DDFCA mov eax,[L00D1C20C] mov eax,[esi+eax] add eax,00000020h push eax call [KERNEL32.dll!DeleteCriticalSection] mov eax,[L00D1C20C] push [esi+eax] call SUB_L004D59F6 mov eax,[L00D1C20C] pop ecx and dword ptr [esi+eax],00000000h L004DDFCA: inc edi cmp edi,[L00D1D220] jl L004DDF78 pop esi L004DDFD4: push 00000002h call SUB_L004D9890 pop ecx mov eax,ebx pop edi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DDFE1: mov eax,[esp+04h] cmp eax,[L00D1C200] jc L004DDFF0 xor eax,eax retn ;------------------------------------------------------------------------------ L004DDFF0: mov ecx,eax and eax,0000001Fh sar ecx,05h lea eax,[eax+eax*8] mov ecx,[L00D1C100+ecx*4] mov al,[ecx+eax*4+04h] and eax,00000040h retn ;------------------------------------------------------------------------------ SUB_L004DE00A: push ebp mov ebp,esp push ebx push esi mov esi,L00D1C208 push edi push esi call [KERNEL32.dll!InterlockedIncrement] mov edi,[KERNEL32.dll!InterlockedDecrement] xor ebx,ebx cmp [L00D1C204],ebx jz L004DE03A push esi call edi push 00000013h call SUB_L004D982F pop ecx push 00000001h pop ebx L004DE03A: push [ebp+0Ch] push [ebp+08h] call SUB_L004DE063 pop ecx mov [ebp+0Ch],eax test ebx,ebx pop ecx jz L004DE058 push 00000013h call SUB_L004D9890 pop ecx jmp L004DE05B L004DE058: push esi call edi L004DE05B: mov eax,[ebp+0Ch] pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DE063: push ebp mov ebp,esp mov eax,[ebp+08h] test eax,eax jnz L004DE06F pop ebp retn ;------------------------------------------------------------------------------ L004DE06F: cmp dword ptr [L00D1BC94],00000000h jnz L004DE08A mov cx,[ebp+0Ch] cmp cx,00FFh ja L004DE0BC push 00000001h mov [eax],cl pop eax pop ebp retn ;------------------------------------------------------------------------------ L004DE08A: lea ecx,[ebp+08h] and dword ptr [ebp+08h],00000000h push ecx push 00000000h push [L00514E30] push eax lea eax,[ebp+0Ch] push 00000001h push eax push 00000220h push [L00D1BCA4] call [KERNEL32.dll!WideCharToMultiByte] test eax,eax jz L004DE0BC cmp dword ptr [ebp+08h],00000000h jz L004DE0CA L004DE0BC: call SUB_L004D9C93 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh L004DE0CA: pop ebp retn ;------------------------------------------------------------------------------ Align 8 SUB_L004DE0D0: push ebx push esi mov eax,[esp+18h] or eax,eax jnz L004DE0F2 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 L004DE133 L004DE0F2: mov ecx,eax mov ebx,[esp+14h] mov edx,[esp+10h] mov eax,[esp+0Ch] L004DE100: shr ecx,1 rcr ebx,1 shr edx,1 rcr eax,1 or ecx,ecx jnz L004DE100 div ebx mov esi,eax mul [esp+18h] mov ecx,eax mov eax,[esp+14h] mul esi add edx,ecx jc L004DE12E cmp edx,[esp+10h] ja L004DE12E jc L004DE12F cmp eax,[esp+0Ch] jbe L004DE12F L004DE12E: dec esi L004DE12F: xor edx,edx mov eax,esi L004DE133: pop esi pop ebx retn 0010h ;------------------------------------------------------------------------------ Align 16 SUB_L004DE140: push ebx mov eax,[esp+14h] or eax,eax jnz L004DE161 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 L004DE1B1 L004DE161: mov ecx,eax mov ebx,[esp+10h] mov edx,[esp+0Ch] mov eax,[esp+08h] L004DE16F: shr ecx,1 rcr ebx,1 shr edx,1 rcr eax,1 or ecx,ecx jnz L004DE16F div ebx mov ecx,eax mul [esp+14h] xchg eax,ecx mul [esp+10h] add edx,ecx jc L004DE19A cmp edx,[esp+0Ch] ja L004DE19A jc L004DE1A2 cmp eax,[esp+08h] jbe L004DE1A2 L004DE19A: sub eax,[esp+10h] sbb edx,[esp+14h] L004DE1A2: sub eax,[esp+08h] sbb edx,[esp+0Ch] neg edx neg eax sbb edx,00000000h L004DE1B1: pop ebx retn 0010h ;------------------------------------------------------------------------------ SUB_L004DE1B5: push ebp mov ebp,esp push FFFFFFFFh push L004F28E8 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000018h push ebx push esi push edi mov [ebp-18h],esp mov eax,[L00D1BE50] xor ebx,ebx cmp eax,ebx jnz L004DE224 lea eax,[ebp-1Ch] push eax push 00000001h pop esi push esi push L004F2598 push esi call [KERNEL32.dll!GetStringTypeW] test eax,eax jz L004DE202 mov eax,esi jmp L004DE21F L004DE202: lea eax,[ebp-1Ch] push eax push esi push L004F2594 push esi push ebx call [KERNEL32.dll!GetStringTypeA] test eax,eax jz L004DE2EA push 00000002h pop eax L004DE21F: mov [L00D1BE50],eax L004DE224: cmp eax,00000002h jnz L004DE24D mov eax,[ebp+1Ch] cmp eax,ebx jnz L004DE235 mov eax,[L00D1BC94] L004DE235: push [ebp+14h] push [ebp+10h] push [ebp+0Ch] push [ebp+08h] push eax call [KERNEL32.dll!GetStringTypeA] jmp L004DE2EC L004DE24D: cmp eax,00000001h jnz L004DE2EA cmp [ebp+18h],ebx jnz L004DE263 mov eax,[L00D1BCA4] mov [ebp+18h],eax L004DE263: push ebx push ebx push [ebp+10h] push [ebp+0Ch] mov eax,[ebp+20h] neg eax sbb eax,eax and eax,00000008h inc eax push eax push [ebp+18h] call [KERNEL32.dll!MultiByteToWideChar] mov [ebp-20h],eax cmp eax,ebx jz L004DE2EA mov [ebp-04h],ebx lea edi,[eax+eax] mov eax,edi add eax,00000003h and al,FCh call SUB_L004D4B90 mov [ebp-18h],esp mov esi,esp mov [ebp-24h],esi push edi push ebx push esi call SUB_L004DCC90 add esp,0000000Ch jmp L004DE2B9 push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] xor ebx,ebx xor esi,esi L004DE2B9: or dword ptr [ebp-04h],FFFFFFFFh cmp esi,ebx jz L004DE2EA push [ebp-20h] push esi push [ebp+10h] push [ebp+0Ch] push 00000001h push [ebp+18h] call [KERNEL32.dll!MultiByteToWideChar] cmp eax,ebx jz L004DE2EA push [ebp+14h] push eax push esi push [ebp+08h] call [KERNEL32.dll!GetStringTypeW] jmp L004DE2EC L004DE2EA: xor eax,eax L004DE2EC: lea esp,[ebp-34h] mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DE2FE: push ecx push ecx push ebx push ebp push esi push edi push 00000012h or edi,FFFFFFFFh call SUB_L004D982F xor ebx,ebx pop ecx mov [esp+10h],ebx mov [esp+14h],ebx mov ebp,L00D1C100 L004DE31E: mov esi,[ebp+00h] test esi,esi jz L004DE3C2 lea eax,[esi+00000480h] L004DE32F: cmp esi,eax jnc L004DE3A7 test byte ptr [esi+04h],01h jnz L004DE37D cmp dword ptr [esi+08h],00000000h jnz L004DE362 push 00000011h call SUB_L004D982F cmp dword ptr [esi+08h],00000000h pop ecx jnz L004DE35A lea eax,[esi+0Ch] push eax call [KERNEL32.dll!InitializeCriticalSection] inc [esi+08h] L004DE35A: push 00000011h call SUB_L004D9890 pop ecx L004DE362: lea ebx,[esi+0Ch] push ebx call [KERNEL32.dll!EnterCriticalSection] test byte ptr [esi+04h],01h jz L004DE38A push ebx call [KERNEL32.dll!LeaveCriticalSection] mov ebx,[esp+10h] L004DE37D: mov eax,[ebp+00h] add esi,00000024h add eax,00000480h jmp L004DE32F L004DE38A: or dword ptr [esi],FFFFFFFFh mov eax,esi sub eax,[ebp+00h] push 00000024h pop ecx cdq idiv ecx mov edi,eax add edi,[esp+14h] cmp edi,FFFFFFFFh jnz L004DE410 mov ebx,[esp+10h] L004DE3A7: add dword ptr [esp+14h],00000020h add ebp,00000004h inc ebx cmp ebp,L00D1C200 mov [esp+10h],ebx jl L004DE31E jmp L004DE410 L004DE3C2: mov esi,00000480h push esi call SUB_L004D5A3E test eax,eax pop ecx jz L004DE410 add dword ptr [L00D1C200],00000020h lea ecx,[L00D1C100+ebx*4] lea edx,[eax+00000480h] mov [ecx],eax L004DE3E8: cmp eax,edx jnc L004DE404 and byte ptr [eax+04h],00h or dword ptr [eax],FFFFFFFFh and dword ptr [eax+08h],00000000h mov byte ptr [eax+05h],0Ah mov edx,[ecx] add eax,00000024h add edx,esi jmp L004DE3E8 L004DE404: shl ebx,05h mov edi,ebx push edi call SUB_L004DE55E pop ecx L004DE410: push 00000012h call SUB_L004D9890 pop ecx mov eax,edi pop edi pop esi pop ebp pop ebx pop ecx pop ecx retn ;------------------------------------------------------------------------------ SUB_L004DE421: mov ecx,[esp+04h] push esi cmp ecx,[L00D1C200] push edi jnc L004DE484 mov eax,ecx sar eax,05h lea edi,[L00D1C100+eax*4] mov eax,ecx and eax,0000001Fh lea esi,[eax+eax*8] mov eax,[edi] shl esi,02h cmp dword ptr [eax+esi],FFFFFFFFh jnz L004DE484 cmp dword ptr [L005147A4],00000001h push ebx mov ebx,[esp+14h] jnz L004DE47A sub ecx,00000000h jz L004DE471 dec ecx jz L004DE46C dec ecx jnz L004DE47A push ebx push FFFFFFF4h jmp L004DE474 L004DE46C: push ebx push FFFFFFF5h jmp L004DE474 L004DE471: push ebx push FFFFFFF6h L004DE474: call [KERNEL32.dll!SetStdHandle] L004DE47A: mov eax,[edi] mov [eax+esi],ebx xor eax,eax pop ebx jmp L004DE49A L004DE484: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh L004DE49A: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DE49D: mov ecx,[esp+04h] push esi cmp ecx,[L00D1C200] push edi jnc L004DE503 mov eax,ecx sar eax,05h lea edi,[L00D1C100+eax*4] mov eax,ecx and eax,0000001Fh lea esi,[eax+eax*8] mov eax,[edi] shl esi,02h add eax,esi test byte ptr [eax+04h],01h jz L004DE503 cmp dword ptr [eax],FFFFFFFFh jz L004DE503 cmp dword ptr [L005147A4],00000001h jnz L004DE4F9 xor eax,eax sub ecx,eax jz L004DE4F0 dec ecx jz L004DE4EB dec ecx jnz L004DE4F9 push eax push FFFFFFF4h jmp L004DE4F3 L004DE4EB: push eax push FFFFFFF5h jmp L004DE4F3 L004DE4F0: push eax push FFFFFFF6h L004DE4F3: call [KERNEL32.dll!SetStdHandle] L004DE4F9: mov eax,[edi] or dword ptr [eax+esi],FFFFFFFFh xor eax,eax jmp L004DE519 L004DE503: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh L004DE519: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DE51C: mov eax,[esp+04h] cmp eax,[L00D1C200] jnc L004DE547 mov ecx,eax and eax,0000001Fh sar ecx,05h lea eax,[eax+eax*8] mov ecx,[L00D1C100+ecx*4] test byte ptr [ecx+eax*4+04h],01h lea eax,[ecx+eax*4] jz L004DE547 mov eax,[eax] retn ;------------------------------------------------------------------------------ L004DE547: call SUB_L004D9C93 mov dword ptr [eax],00000009h call SUB_L004D9C9C and dword ptr [eax],00000000h or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ SUB_L004DE55E: mov eax,[esp+04h] push ebx mov ecx,eax and eax,0000001Fh sar ecx,05h push esi push edi mov esi,[L00D1C100+ecx*4] lea ebx,[L00D1C100+ecx*4] lea edi,[eax+eax*8] shl edi,02h add esi,edi cmp dword ptr [esi+08h],00000000h jnz L004DE5AC push 00000011h call SUB_L004D982F cmp dword ptr [esi+08h],00000000h pop ecx jnz L004DE5A4 lea eax,[esi+0Ch] push eax call [KERNEL32.dll!InitializeCriticalSection] inc [esi+08h] L004DE5A4: push 00000011h call SUB_L004D9890 pop ecx L004DE5AC: mov eax,[ebx] lea eax,[eax+edi+0Ch] push eax call [KERNEL32.dll!EnterCriticalSection] pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DE5BD: mov eax,[esp+04h] mov ecx,eax and eax,0000001Fh sar ecx,05h lea eax,[eax+eax*8] mov ecx,[L00D1C100+ecx*4] lea eax,[ecx+eax*4+0Ch] push eax call [KERNEL32.dll!LeaveCriticalSection] retn ;------------------------------------------------------------------------------ SUB_L004DE5DF: push ebp mov ebp,esp push ebx push esi mov esi,L00D1C208 push edi push esi call [KERNEL32.dll!InterlockedIncrement] mov edi,[KERNEL32.dll!InterlockedDecrement] xor ebx,ebx cmp [L00D1C204],ebx jz L004DE60F push esi call edi push 00000013h call SUB_L004D982F pop ecx push 00000001h pop ebx L004DE60F: push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call SUB_L004DE63C add esp,0000000Ch mov [ebp+10h],eax test ebx,ebx jz L004DE631 push 00000013h call SUB_L004D9890 pop ecx jmp L004DE634 L004DE631: push esi call edi L004DE634: mov eax,[ebp+10h] pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DE63C: push ebp mov ebp,esp push ebx push esi mov esi,[ebp+0Ch] xor ebx,ebx cmp esi,ebx jz L004DE65F cmp [ebp+10h],ebx jz L004DE65F mov al,[esi] cmp al,bl jnz L004DE665 mov eax,[ebp+08h] cmp eax,ebx jz L004DE65F mov [eax],bx L004DE65F: xor eax,eax L004DE661: pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ L004DE665: cmp [L00D1BC94],ebx jnz L004DE680 mov ecx,[ebp+08h] cmp ecx,ebx jz L004DE67B movzx ax,al mov [ecx],ax L004DE67B: push 00000001h pop eax jmp L004DE661 L004DE680: mov ecx,[L00514C24] movzx eax,al test byte ptr [ecx+eax*2+01h],80h jz L004DE6DE mov eax,[L00514E30] cmp eax,00000001h jle L004DE6C4 cmp [ebp+10h],eax jl L004DE6CE xor ecx,ecx cmp [ebp+08h],ebx setnz cl push ecx push [ebp+08h] push eax push esi push 00000009h push [L00D1BCA4] call [KERNEL32.dll!MultiByteToWideChar] test eax,eax mov eax,[L00514E30] jnz L004DE661 L004DE6C4: cmp [ebp+10h],eax jc L004DE6CE cmp [esi+01h],bl jnz L004DE661 L004DE6CE: call SUB_L004D9C93 mov dword ptr [eax],0000002Ah or eax,FFFFFFFFh jmp L004DE661 L004DE6DE: xor eax,eax cmp [ebp+08h],ebx setnz al push eax push [ebp+08h] push 00000001h push esi push 00000009h push [L00D1BCA4] call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jnz L004DE67B jmp L004DE6CE Align 16 SUB_L004DE710: cmp cl,40h jnc L004DE72A cmp cl,20h jnc L004DE720 shld edx,eax,cl shl eax,cl retn ;------------------------------------------------------------------------------ L004DE720: mov edx,eax xor eax,eax and cl,1Fh shl edx,cl retn ;------------------------------------------------------------------------------ L004DE72A: xor eax,eax xor edx,edx retn ;------------------------------------------------------------------------------ SUB_L004DE72F: push ebp mov ebp,esp sub esp,00000018h push ebx push esi push edi push 00000019h call SUB_L004D982F push [ebp+08h] call SUB_L004DE8DC mov ebx,eax pop ecx cmp ebx,[L00D1BE9C] pop ecx mov [ebp+08h],ebx jnz L004DE75D L004DE756: xor esi,esi jmp L004DE8CD L004DE75D: test ebx,ebx jz L004DE8BB xor edx,edx mov eax,L00515258 L004DE76C: cmp [eax],ebx jz L004DE7E4 add eax,00000030h inc edx cmp eax,L00515348 jl L004DE76C lea eax,[ebp-18h] push eax push ebx call [KERNEL32.dll!GetCPInfo] push 00000001h pop esi cmp eax,esi jnz L004DE8B2 push 00000040h and dword ptr [L00D1C0C4],00000000h pop ecx xor eax,eax mov edi,L00D1BFC0 cmp [ebp-18h],esi rep stosd stosb mov [L00D1BE9C],ebx jbe L004DE89F cmp byte ptr [ebp-12h],00h jz L004DE87A lea ecx,[ebp-11h] L004DE7C1: mov dl,[ecx] test dl,dl jz L004DE87A movzx eax,[ecx-01h] movzx edx,dl L004DE7D2: cmp eax,edx ja L004DE86E or byte ptr [eax+L00D1BFC1],04h inc eax jmp L004DE7D2 L004DE7E4: and dword ptr [ebp-04h],00000000h push 00000040h pop ecx xor eax,eax mov edi,L00D1BFC0 lea esi,[edx+edx*2] rep stosd shl esi,04h stosb lea ebx,[esi+L00515268] L004DE801: cmp byte ptr [ebx],00h mov ecx,ebx jz L004DE834 L004DE808: mov dl,[ecx+01h] test dl,dl jz L004DE834 movzx eax,[ecx] movzx edi,dl cmp eax,edi ja L004DE82D mov edx,[ebp-04h] mov dl,[edx+L00515250] L004DE822: or [eax+L00D1BFC1],dl inc eax cmp eax,edi jbe L004DE822 L004DE82D: inc ecx inc ecx cmp byte ptr [ecx],00h jnz L004DE808 L004DE834: inc [ebp-04h] add ebx,00000008h cmp dword ptr [ebp-04h],00000004h jc L004DE801 mov eax,[ebp+08h] mov dword ptr [L00D1BEAC],00000001h push eax mov [L00D1BE9C],eax call SUB_L004DE926 lea esi,[esi+L0051525C] mov edi,L00D1BEA0 movsd movsd pop ecx mov [L00D1C0C4],eax movsd jmp L004DE8C0 L004DE86E: inc ecx inc ecx cmp byte ptr [ecx-01h],00h jnz L004DE7C1 L004DE87A: mov eax,esi L004DE87C: or byte ptr [eax+L00D1BFC1],08h inc eax cmp eax,000000FFh jc L004DE87C push ebx call SUB_L004DE926 pop ecx mov [L00D1C0C4],eax mov [L00D1BEAC],esi jmp L004DE8A6 L004DE89F: and dword ptr [L00D1BEAC],00000000h L004DE8A6: xor eax,eax mov edi,L00D1BEA0 stosd stosd stosd jmp L004DE8C0 L004DE8B2: cmp dword ptr [L00D1BE54],00000000h jz L004DE8CA L004DE8BB: call SUB_L004DE959 L004DE8C0: call SUB_L004DE982 jmp L004DE756 L004DE8CA: or esi,FFFFFFFFh L004DE8CD: push 00000019h call SUB_L004D9890 pop ecx mov eax,esi pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DE8DC: mov eax,[esp+04h] and dword ptr [L00D1BE54],00000000h cmp eax,FFFFFFFEh jnz L004DE8FC mov dword ptr [L00D1BE54],00000001h jmp_KERNEL32.dll!GetOEMCP: jmp [KERNEL32.dll!GetOEMCP] L004DE8FC: cmp eax,FFFFFFFDh jnz L004DE911 mov dword ptr [L00D1BE54],00000001h jmp_KERNEL32.dll!GetACP: jmp [KERNEL32.dll!GetACP] L004DE911: cmp eax,FFFFFFFCh jnz L004DE925 mov eax,[L00D1BCA4] mov dword ptr [L00D1BE54],00000001h L004DE925: retn ;------------------------------------------------------------------------------ SUB_L004DE926: mov eax,[esp+04h] sub eax,000003A4h jz L004DE953 sub eax,00000004h jz L004DE94D sub eax,0000000Dh jz L004DE947 dec eax jz L004DE941 xor eax,eax retn ;------------------------------------------------------------------------------ L004DE941: mov eax,00000404h retn ;------------------------------------------------------------------------------ L004DE947: mov eax,00000412h retn ;------------------------------------------------------------------------------ L004DE94D: mov eax,00000804h retn ;------------------------------------------------------------------------------ L004DE953: mov eax,00000411h retn ;------------------------------------------------------------------------------ SUB_L004DE959: push edi push 00000040h pop ecx xor eax,eax mov edi,L00D1BFC0 rep stosd stosb xor eax,eax mov edi,L00D1BEA0 mov [L00D1BE9C],eax mov [L00D1BEAC],eax mov [L00D1C0C4],eax stosd stosd stosd pop edi retn ;------------------------------------------------------------------------------ SUB_L004DE982: push ebp mov ebp,esp sub esp,00000514h lea eax,[ebp-14h] push esi push eax push [L00D1BE9C] call [KERNEL32.dll!GetCPInfo] cmp eax,00000001h jnz L004DEABB xor eax,eax mov esi,00000100h L004DE9AC: mov [ebp+eax-00000114h],al inc eax cmp eax,esi jc L004DE9AC mov al,[ebp-0Eh] mov byte ptr [ebp-00000114h],20h test al,al jz L004DE9FD push ebx push edi lea edx,[ebp-0Dh] L004DE9CB: movzx ecx,[edx] movzx eax,al cmp eax,ecx ja L004DE9F2 sub ecx,eax lea edi,[ebp+eax-00000114h] inc ecx mov eax,20202020h mov ebx,ecx shr ecx,02h rep stosd mov ecx,ebx and ecx,00000003h rep stosb L004DE9F2: inc edx inc edx mov al,[edx-01h] test al,al jnz L004DE9CB pop edi pop ebx L004DE9FD: push 00000000h lea eax,[ebp-00000514h] push [L00D1C0C4] push [L00D1BE9C] push eax lea eax,[ebp-00000114h] push esi push eax push 00000001h call SUB_L004DE1B5 push 00000000h lea eax,[ebp-00000214h] push [L00D1BE9C] push esi push eax lea eax,[ebp-00000114h] push esi push eax push esi push [L00D1C0C4] call SUB_L004D98A5 push 00000000h lea eax,[ebp-00000314h] push [L00D1BE9C] push esi push eax lea eax,[ebp-00000114h] push esi push eax push 00000200h push [L00D1C0C4] call SUB_L004D98A5 add esp,0000005Ch xor eax,eax lea ecx,[ebp-00000514h] L004DEA78: mov dx,[ecx] test dl,01h jz L004DEA96 or byte ptr [eax+L00D1BFC1],10h mov dl,[ebp+eax-00000214h] L004DEA8E: mov [eax+L00D1BEC0],dl jmp L004DEAB2 L004DEA96: test dl,02h jz L004DEAAB or byte ptr [eax+L00D1BFC1],20h mov dl,[ebp+eax-00000314h] jmp L004DEA8E L004DEAAB: and byte ptr [eax+L00D1BEC0],00h L004DEAB2: inc eax inc ecx inc ecx cmp eax,esi jc L004DEA78 jmp L004DEB04 L004DEABB: xor eax,eax mov esi,00000100h L004DEAC2: cmp eax,00000041h jc L004DEAE0 cmp eax,0000005Ah ja L004DEAE0 or byte ptr [eax+L00D1BFC1],10h mov cl,al add cl,20h L004DEAD8: mov [eax+L00D1BEC0],cl jmp L004DEAFF L004DEAE0: cmp eax,00000061h jc L004DEAF8 cmp eax,0000007Ah ja L004DEAF8 or byte ptr [eax+L00D1BFC1],20h mov cl,al sub cl,20h jmp L004DEAD8 L004DEAF8: and byte ptr [eax+L00D1BEC0],00h L004DEAFF: inc eax cmp eax,esi jc L004DEAC2 L004DEB04: pop esi leave retn ;------------------------------------------------------------------------------ SUB_L004DEB07: cmp dword ptr [L00D1D22C],00000000h jnz L004DEB22 push FFFFFFFDh call SUB_L004DE72F pop ecx mov dword ptr [L00D1D22C],00000001h L004DEB22: retn ;------------------------------------------------------------------------------ SUB_L004DEB23: push esi push 0000000Ch call SUB_L004D982F push [esp+10h] push [esp+10h] push 00000000h call SUB_L004DEB4A push 0000000Ch mov esi,eax call SUB_L004D9890 add esp,00000014h mov eax,esi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DEB4A: push ebp mov ebp,esp sub esp,00000108h push ebx mov ebx,[ebp+08h] test ebx,ebx jz L004DEBAF push ebx call SUB_L004DEC1F test eax,eax pop ecx jnz L004DEB81 call SUB_L004D9C9C mov dword ptr [eax],0000000Fh call SUB_L004D9C93 mov dword ptr [eax],0000000Dh L004DEB7C: xor eax,eax L004DEB7E: pop ebx leave retn ;------------------------------------------------------------------------------ L004DEB81: lea eax,[ebp-04h] and byte ptr [ebp+0Bh],00h push eax lea eax,[ebp-00000108h] push eax lea eax,[ebp+08h] add bl,40h push 00000104h push eax mov [ebp+08h],bl mov byte ptr [ebp+09h],3Ah mov byte ptr [ebp+0Ah],2Eh call [KERNEL32.dll!GetFullPathNameA] jmp L004DEBC1 L004DEBAF: lea eax,[ebp-00000108h] push eax push 00000104h call [KERNEL32.dll!GetCurrentDirectoryA] L004DEBC1: test eax,eax jz L004DEB7C inc eax cmp eax,00000104h ja L004DEB7C mov ecx,[ebp+0Ch] test ecx,ecx jnz L004DEBF6 cmp eax,[ebp+10h] jg L004DEBDC mov eax,[ebp+10h] L004DEBDC: push eax call SUB_L004D5A3E pop ecx mov ecx,eax test ecx,ecx jnz L004DEC0B call SUB_L004D9C93 mov dword ptr [eax],0000000Ch jmp L004DEB7C L004DEBF6: cmp eax,[ebp+10h] jle L004DEC0B call SUB_L004D9C93 mov dword ptr [eax],00000022h jmp L004DEB7C L004DEC0B: lea eax,[ebp-00000108h] push eax push ecx call SUB_L004DC7B0 pop ecx pop ecx jmp L004DEB7E SUB_L004DEC1F: push ebp mov ebp,esp mov eax,[ebp+08h] test eax,eax jz L004DEC4D and byte ptr [ebp+0Bh],00h add al,40h mov [ebp+08h],al lea eax,[ebp+08h] push eax mov byte ptr [ebp+09h],3Ah mov byte ptr [ebp+0Ah],5Ch call [KERNEL32.dll!GetDriveTypeA] test eax,eax jz L004DEC52 cmp eax,00000001h jz L004DEC52 L004DEC4D: push 00000001h pop eax pop ebp retn ;------------------------------------------------------------------------------ L004DEC52: xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DEC56: push ebp mov ebp,esp sub esp,0000001Ch mov ecx,[ebp+0Ch] push ebx xor ebx,ebx push esi test cl,80h push edi mov dword ptr [ebp-1Ch],0000000Ch mov [ebp-18h],ebx jz L004DEC7C mov [ebp-14h],ebx mov byte ptr [ebp-01h],10h jmp L004DEC87 L004DEC7C: and byte ptr [ebp-01h],00h mov dword ptr [ebp-14h],00000001h L004DEC87: mov eax,00008000h test eax,ecx jnz L004DECA1 test ch,40h jnz L004DEC9D cmp [L00D1BE8C],eax jz L004DECA1 L004DEC9D: or byte ptr [ebp-01h],80h L004DECA1: push 00000003h mov eax,ecx pop esi and eax,esi sub eax,ebx jz L004DECC8 dec eax jz L004DECBF dec eax jnz L004DED5A mov dword ptr [ebp-0Ch],C0000000h jmp L004DECCF L004DECBF: mov dword ptr [ebp-0Ch],40000000h jmp L004DECCF L004DECC8: mov dword ptr [ebp-0Ch],80000000h L004DECCF: mov eax,[ebp+10h] cmp eax,00000010h jz L004DECFD cmp eax,00000020h jz L004DECF4 cmp eax,00000030h jz L004DECEB cmp eax,00000040h jnz L004DED5A mov [ebp-10h],esi jmp L004DED00 L004DECEB: mov dword ptr [ebp-10h],00000002h jmp L004DED00 L004DECF4: mov dword ptr [ebp-10h],00000001h jmp L004DED00 L004DECFD: mov [ebp-10h],ebx L004DED00: mov edx,00000700h mov eax,00000400h and ecx,edx mov edi,00000100h cmp ecx,eax jg L004DED46 jz L004DED41 cmp ecx,ebx jz L004DED41 cmp ecx,edi jz L004DED38 cmp ecx,00000200h jz L004DED74 cmp ecx,00000300h jnz L004DED5A mov dword ptr [ebp-08h],00000002h jmp L004DED84 L004DED38: mov dword ptr [ebp-08h],00000004h jmp L004DED84 L004DED41: mov [ebp-08h],esi jmp L004DED84 L004DED46: cmp ecx,00000500h jz L004DED7D cmp ecx,00000600h jz L004DED74 cmp ecx,edx jz L004DED7D L004DED5A: call SUB_L004D9C93 mov dword ptr [eax],00000016h call SUB_L004D9C9C mov [eax],ebx or eax,FFFFFFFFh jmp L004DEF20 L004DED74: mov dword ptr [ebp-08h],00000005h jmp L004DED84 L004DED7D: mov dword ptr [ebp-08h],00000001h L004DED84: mov eax,[ebp+0Ch] mov esi,00000080h test edi,eax jz L004DEDA3 mov ecx,[L00D1BAEC] not ecx and ecx,[ebp+14h] test cl,80h jnz L004DEDA3 push 00000001h pop esi L004DEDA3: test al,40h jz L004DEDB1 or esi,04000000h or byte ptr [ebp-0Ah],01h L004DEDB1: test ah,10h jz L004DEDB8 or esi,edi L004DEDB8: test al,20h jz L004DEDC4 or esi,08000000h jmp L004DEDCE L004DEDC4: test al,10h jz L004DEDCE or esi,10000000h L004DEDCE: call SUB_L004DE2FE mov ebx,eax or edi,FFFFFFFFh cmp ebx,edi jnz L004DEDF6 call SUB_L004D9C93 mov dword ptr [eax],00000018h call SUB_L004D9C9C and dword ptr [eax],00000000h mov eax,edi jmp L004DEF20 L004DEDF6: push 00000000h push esi push [ebp-08h] lea eax,[ebp-1Ch] push eax push [ebp-10h] push [ebp-0Ch] push [ebp+08h] call [KERNEL32.dll!CreateFileA] mov esi,eax cmp esi,edi jnz L004DEE29 L004DEE15: call [KERNEL32.dll!GetLastError] push eax call SUB_L004D9C20 pop ecx mov esi,edi jmp L004DEF17 L004DEE29: push esi call [KERNEL32.dll!GetFileType] test eax,eax jnz L004DEE3D push esi call [KERNEL32.dll!CloseHandle] jmp L004DEE15 L004DEE3D: cmp eax,00000002h jnz L004DEE48 or byte ptr [ebp-01h],40h jmp L004DEE51 L004DEE48: cmp eax,00000003h jnz L004DEE51 or byte ptr [ebp-01h],08h L004DEE51: push esi push ebx call SUB_L004DE421 mov eax,ebx pop ecx sar eax,05h pop ecx mov cl,[ebp-01h] lea edi,[L00D1C100+eax*4] mov eax,ebx or cl,01h and eax,0000001Fh mov [ebp+0Bh],cl lea esi,[eax+eax*8] mov eax,[edi] shl esi,02h and byte ptr [ebp+0Bh],48h mov [eax+esi+04h],cl jnz L004DEEFE test cl,80h jz L004DEEFE test byte ptr [ebp+0Ch],02h jz L004DEEFE push 00000002h push FFFFFFFFh push ebx call SUB_L004D9EC6 add esp,0000000Ch cmp eax,FFFFFFFFh mov [ebp-10h],eax jnz L004DEEBF call SUB_L004D9C9C cmp dword ptr [eax],00000083h jz L004DEEFE L004DEEB3: push ebx call SUB_L004DBD18 pop ecx or esi,FFFFFFFFh jmp L004DEF17 L004DEEBF: and byte ptr [ebp+13h],00h lea eax,[ebp+13h] push 00000001h push eax push ebx call SUB_L004DC09B add esp,0000000Ch test eax,eax jnz L004DEEEC cmp byte ptr [ebp+13h],1Ah jnz L004DEEEC push [ebp-10h] push ebx call SUB_L004E01C1 pop ecx cmp eax,FFFFFFFFh pop ecx jz L004DEEB3 L004DEEEC: push 00000000h push 00000000h push ebx call SUB_L004D9EC6 add esp,0000000Ch cmp eax,FFFFFFFFh jz L004DEEB3 L004DEEFE: cmp byte ptr [ebp+0Bh],00h jnz L004DEF15 test byte ptr [ebp+0Ch],08h jz L004DEF15 mov eax,[edi] or byte ptr [eax+esi+04h],20h lea eax,[eax+esi+04h] L004DEF15: mov esi,ebx L004DEF17: push ebx call SUB_L004DE5BD pop ecx mov eax,esi L004DEF20: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DEF25: push ebx mov ebx,[esp+08h] cmp ebx,[L00D1C200] push esi push edi jnc L004DEFA6 mov eax,ebx sar eax,05h lea edi,[L00D1C100+eax*4] mov eax,ebx and eax,0000001Fh lea esi,[eax+eax*8] mov eax,[edi] shl esi,02h test byte ptr [eax+esi+04h],01h jz L004DEFA6 push ebx call SUB_L004DE55E mov eax,[edi] pop ecx test byte ptr [eax+esi+04h],01h jz L004DEF8D push ebx call SUB_L004DE51C pop ecx push eax call [KERNEL32.dll!FlushFileBuffers] test eax,eax jnz L004DEF80 call [KERNEL32.dll!GetLastError] mov esi,eax jmp L004DEF82 L004DEF80: xor esi,esi L004DEF82: test esi,esi jz L004DEF9B call SUB_L004D9C9C mov [eax],esi L004DEF8D: call SUB_L004D9C93 mov dword ptr [eax],00000009h or esi,FFFFFFFFh L004DEF9B: push ebx call SUB_L004DE5BD pop ecx mov eax,esi jmp L004DEFB4 L004DEFA6: call SUB_L004D9C93 mov dword ptr [eax],00000009h or eax,FFFFFFFFh L004DEFB4: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ SUB_L004DEFB8: push ebp mov ebp,esp cmp dword ptr [ebp+10h],00000000h jnz L004DEFC5 xor eax,eax pop ebp retn ;------------------------------------------------------------------------------ L004DEFC5: push [L00D1BE9C] push [ebp+10h] push [ebp+0Ch] push [ebp+10h] push [ebp+08h] push 00000001h push [L00D1C0C4] call SUB_L004E02E6 add esp,0000001Ch test eax,eax jnz L004DEFF2 mov eax,7FFFFFFFh pop ebp retn ;------------------------------------------------------------------------------ L004DEFF2: add eax,FFFFFFFEh pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DEFF7: push ecx push ebx push ebp push esi mov esi,[L00D1BB14] push edi xor edi,edi mov eax,[esi] cmp eax,edi jz L004DF058 mov ebx,[KERNEL32.dll!WideCharToMultiByte] L004DF010: push edi push edi push edi push edi push FFFFFFFFh push eax push edi push 00000001h call ebx mov ebp,eax cmp ebp,edi jz L004DF060 push ebp call SUB_L004D5A3E cmp eax,edi pop ecx mov [esp+10h],eax jz L004DF060 push edi push edi push ebp push eax push FFFFFFFFh push [esi] push edi push 00000001h call ebx test eax,eax jz L004DF060 push edi push [esp+14h] call SUB_L004E058E mov eax,[esi+04h] add esi,00000004h pop ecx cmp eax,edi pop ecx jnz L004DF010 L004DF058: xor eax,eax L004DF05A: pop edi pop esi pop ebp pop ebx pop ecx retn ;------------------------------------------------------------------------------ L004DF060: or eax,FFFFFFFFh jmp L004DF05A SUB_L004DF065: push [esp+04h] call [KERNEL32.dll!GetFileAttributesA] cmp eax,FFFFFFFFh jnz L004DF085 call [KERNEL32.dll!GetLastError] push eax call SUB_L004D9C20 pop ecx L004DF081: or eax,FFFFFFFFh retn ;------------------------------------------------------------------------------ L004DF085: test al,01h jz L004DF0A8 test byte ptr [esp+08h],02h jz L004DF0A8 call SUB_L004D9C93 mov dword ptr [eax],0000000Dh call SUB_L004D9C9C mov dword ptr [eax],00000005h jmp L004DF081 L004DF0A8: xor eax,eax retn ;------------------------------------------------------------------------------ SUB_L004DF0AB: push ebp mov ebp,esp cmp dword ptr [L00D1BEAC],00000000h push ebx push esi jnz L004DF0C8 push [ebp+0Ch] push [ebp+08h] call SUB_L004D63C0 pop ecx pop ecx jmp L004DF13E L004DF0C8: push 00000019h call SUB_L004D982F mov esi,[ebp+08h] pop ecx L004DF0D3: movzx bx,[esi] test bx,bx jz L004DF126 movzx eax,bl test byte ptr [eax+L00D1BFC1],04h jz L004DF102 mov al,[esi+01h] inc esi test al,al jz L004DF10D movzx ecx,bx movzx eax,al shl ecx,08h or ecx,eax cmp [ebp+0Ch],ecx jz L004DF119 jmp L004DF10A L004DF102: movzx eax,bx cmp [ebp+0Ch],eax jz L004DF126 L004DF10A: inc esi jmp L004DF0D3 L004DF10D: push 00000019h call SUB_L004D9890 pop ecx xor eax,eax jmp L004DF13E L004DF119: push 00000019h call SUB_L004D9890 pop ecx lea eax,[esi-01h] jmp L004DF13E L004DF126: push 00000019h call SUB_L004D9890 mov eax,[ebp+0Ch] pop ecx movzx ecx,bx sub eax,ecx neg eax sbb eax,eax not eax and eax,esi L004DF13E: pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DF142: push ebp mov ebp,esp sub esp,00000060h mov eax,[ebp+08h] and byte ptr [ebp-01h],00h push ebx push esi push edi xor edi,edi cmp eax,edi mov [ebp-08h],edi jz L004DF170 cmp eax,00000001h jz L004DF170 jle L004DF192 cmp eax,00000003h jle L004DF170 cmp eax,00000004h jnz L004DF192 mov byte ptr [ebp-01h],01h L004DF170: mov eax,[ebp+10h] mov [ebp-0Ch],eax L004DF176: mov cl,[eax] test cl,cl jz L004DF1A9 L004DF17C: inc eax cmp byte ptr [eax],00h jnz L004DF17C cmp byte ptr [eax+01h],00h lea ecx,[eax+01h] jz L004DF176 mov byte ptr [eax],20h mov eax,ecx jmp L004DF176 L004DF192: call SUB_L004D9C93 mov dword ptr [eax],00000016h call SUB_L004D9C9C mov [eax],edi jmp L004DF2CD L004DF1A9: push 00000044h lea eax,[ebp-60h] pop esi push esi push edi push eax call SUB_L004DCC90 mov [ebp-60h],esi mov esi,[L00D1C200] add esp,0000000Ch cmp esi,edi jz L004DF1EB lea ecx,[esi-01h] L004DF1CA: mov edx,ecx mov eax,ecx sar edx,05h and eax,0000001Fh mov edx,[L00D1C100+edx*4] lea eax,[eax+eax*8] cmp byte ptr [edx+eax*4+04h],00h jnz L004DF1EB dec esi dec ecx cmp esi,edi jnz L004DF1CA L004DF1EB: lea eax,[esi+esi*4+04h] push 00000001h mov [ebp-2Eh],ax movzx eax,ax push eax call SUB_L004D76DA mov [ebp-2Ch],eax pop ecx mov [eax],esi mov eax,[ebp-2Ch] pop ecx xor ebx,ebx cmp esi,edi lea ecx,[eax+04h] lea edx,[eax+esi+04h] jle L004DF24F L004DF215: mov edi,ebx mov eax,ebx sar edi,05h and eax,0000001Fh mov edi,[L00D1C100+edi*4] lea eax,[eax+eax*8] lea edi,[edi+eax*4] mov al,[edi+04h] test al,10h jnz L004DF23B mov [ecx],al mov eax,[edi] mov [edx],eax jmp L004DF241 L004DF23B: and byte ptr [ecx],00h or dword ptr [edx],FFFFFFFFh L004DF241: inc ebx inc ecx add edx,00000004h cmp ebx,esi jl L004DF215 mov eax,[ebp-2Ch] xor edi,edi L004DF24F: cmp byte ptr [ebp-01h],00h jz L004DF282 lea ecx,[eax+04h] xor edx,edx lea eax,[eax+esi+04h] L004DF25E: cmp esi,00000003h jge L004DF267 mov ebx,esi jmp L004DF26A L004DF267: push 00000003h pop ebx L004DF26A: cmp edx,ebx jge L004DF27B and byte ptr [ecx],00h or dword ptr [eax],FFFFFFFFh inc edx inc ecx add eax,00000004h jmp L004DF25E L004DF27B: mov dword ptr [ebp-08h],00000008h L004DF282: call SUB_L004D9C93 mov [eax],edi call SUB_L004D9C9C mov [eax],edi lea eax,[ebp-1Ch] push eax lea eax,[ebp-60h] push eax push edi push [ebp+14h] push [ebp-08h] push 00000001h push edi push edi push [ebp-0Ch] push [ebp+0Ch] call [KERNEL32.dll!CreateProcessA] mov esi,eax call [KERNEL32.dll!GetLastError] push [ebp-2Ch] mov ebx,eax call SUB_L004D59F6 cmp esi,edi pop ecx jnz L004DF2D2 push ebx call SUB_L004D9C20 pop ecx L004DF2CD: or eax,FFFFFFFFh jmp L004DF326 L004DF2D2: cmp dword ptr [ebp+08h],00000002h jnz L004DF2DE push edi call SUB_L004D555C L004DF2DE: cmp [ebp+08h],edi mov esi,[KERNEL32.dll!CloseHandle] jnz L004DF308 push FFFFFFFFh push [ebp-1Ch] call [KERNEL32.dll!WaitForSingleObject] lea eax,[ebp+10h] push eax push [ebp-1Ch] call [KERNEL32.dll!GetExitCodeProcess] push [ebp-1Ch] call esi jmp L004DF31E L004DF308: cmp dword ptr [ebp+08h],00000004h jnz L004DF318 push [ebp-1Ch] call esi mov [ebp+10h],edi jmp L004DF31E L004DF318: mov eax,[ebp-1Ch] mov [ebp+10h],eax L004DF31E: push [ebp-18h] call esi mov eax,[ebp+10h] L004DF326: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DF32B: push ebp mov ebp,esp push ebx mov ebx,[ebp+08h] push esi push edi push 00000002h pop esi mov edi,esi L004DF339: mov eax,[ebx] test eax,eax jz L004DF34F push eax add ebx,00000004h call SUB_L004DA9F0 pop ecx lea edi,[edi+eax+01h] jmp L004DF339 L004DF34F: push edi call SUB_L004D5A3E pop ecx mov ecx,[ebp+10h] test eax,eax mov [ecx],eax jnz L004DF36A mov eax,[ebp+14h] and dword ptr [eax],00000000h jmp L004DF44C L004DF36A: mov edi,[ebp+0Ch] test edi,edi jz L004DF387 L004DF371: mov eax,[edi] test eax,eax jz L004DF3AE push eax add edi,00000004h call SUB_L004DA9F0 pop ecx lea esi,[esi+eax+01h] jmp L004DF371 L004DF387: mov eax,[ebp+14h] mov ebx,[ebp+14h] mov edi,[ebp+14h] and dword ptr [eax],00000000h L004DF393: mov eax,[ebp+10h] mov esi,[eax] mov eax,[ebp+08h] mov [ebp+10h],eax mov eax,[eax] test eax,eax jnz L004DF46A L004DF3A8: inc esi jmp L004DF489 L004DF3AE: mov eax,[L00D1BC08] test eax,eax jnz L004DF3C9 call SUB_L004DD1BE test eax,eax mov [L00D1BC08],eax jz L004DF462 L004DF3C9: xor ebx,ebx cmp [eax],bl jz L004DF3F2 mov edi,eax mov cl,[edi] L004DF3D3: cmp cl,3Dh jz L004DF3F2 push edi call SUB_L004DA9F0 lea ebx,[ebx+eax+01h] mov eax,[L00D1BC08] pop ecx mov cl,[eax+ebx] lea edi,[eax+ebx] test cl,cl jnz L004DF3D3 L004DF3F2: mov edi,ebx add eax,ebx L004DF3F6: cmp byte ptr [eax],3Dh jnz L004DF424 cmp byte ptr [eax+01h],00h jz L004DF424 cmp byte ptr [eax+02h],3Ah jnz L004DF424 cmp byte ptr [eax+03h],3Dh jnz L004DF424 add eax,00000004h push eax call SUB_L004DA9F0 lea edi,[edi+eax+05h] mov eax,[L00D1BC08] pop ecx add eax,edi jmp L004DF3F6 L004DF424: mov eax,edi sub eax,ebx add eax,esi push eax call SUB_L004D5A3E pop ecx mov ecx,[ebp+14h] test eax,eax mov [ecx],eax jnz L004DF393 mov esi,[ebp+10h] push [esi] call SUB_L004D59F6 and dword ptr [esi],00000000h pop ecx L004DF44C: call SUB_L004D9C93 mov dword ptr [eax],0000000Ch call SUB_L004D9C9C mov dword ptr [eax],00000008h L004DF462: or eax,FFFFFFFFh jmp L004DF52C L004DF46A: push eax push esi call SUB_L004DC7B0 mov eax,[ebp+08h] mov ecx,[eax] add eax,00000004h push ecx mov [ebp+10h],eax call SUB_L004DA9F0 add esp,0000000Ch lea esi,[esi+eax+01h] L004DF489: mov eax,[ebp+10h] mov eax,[eax] test eax,eax jz L004DF4B5 push eax push esi call SUB_L004DC7B0 mov eax,[ebp+10h] add dword ptr [ebp+10h],00000004h mov eax,[eax] push eax call SUB_L004DA9F0 add esp,0000000Ch add esi,eax mov byte ptr [esi],20h jmp L004DF3A8 L004DF4B5: mov eax,[ebp+14h] and byte ptr [esi-01h],00h and byte ptr [esi],00h cmp dword ptr [ebp+0Ch],00000000h mov esi,[eax] jz L004DF505 mov eax,edi sub eax,ebx push eax mov eax,[L00D1BC08] add eax,ebx push eax push esi call SUB_L004DC280 sub edi,ebx add esp,0000000Ch add esi,edi mov edi,[ebp+0Ch] L004DF4E4: mov eax,[edi] test eax,eax jz L004DF505 push eax push esi call SUB_L004DC7B0 mov eax,[edi] add edi,00000004h push eax call SUB_L004DA9F0 add esp,0000000Ch lea esi,[esi+eax+01h] jmp L004DF4E4 L004DF505: test esi,esi jz L004DF517 mov eax,[ebp+14h] cmp esi,[eax] jnz L004DF514 and byte ptr [esi],00h inc esi L004DF514: and byte ptr [esi],00h L004DF517: push [L00D1BC08] call SUB_L004D59F6 and dword ptr [L00D1BC08],00000000h pop ecx xor eax,eax L004DF52C: pop edi pop esi pop ebx pop ebp retn ;------------------------------------------------------------------------------ SUB_L004DF531: push 00000004h push 00000000h push [esp+0Ch] call SUB_L004DF542 add esp,0000000Ch retn ;------------------------------------------------------------------------------ SUB_L004DF542: movzx eax,[esp+04h] mov cl,[esp+0Ch] test [eax+L00D1BFC1],cl jnz L004DF56F cmp dword ptr [esp+08h],00000000h jz L004DF568 movzx eax,[L00514C2E+eax*2] and eax,[esp+08h] jmp L004DF56A L004DF568: xor eax,eax L004DF56A: test eax,eax jnz L004DF56F retn ;------------------------------------------------------------------------------ L004DF56F: push 00000001h pop eax retn ;------------------------------------------------------------------------------ SUB_L004DF573: push ebx xor ebx,ebx cmp [L00D1BE5C],ebx push esi push edi jnz L004DF5C2 push SSZ004F2924_user32_dll call [KERNEL32.dll!LoadLibraryA] mov edi,eax cmp edi,ebx jz L004DF5F8 mov esi,[KERNEL32.dll!GetProcAddress] push SSZ004F2918_MessageBoxA push edi call esi test eax,eax mov [L00D1BE5C],eax jz L004DF5F8 push SSZ004F2908_GetActiveWindow push edi call esi push SSZ004F28F4_GetLastActivePopup push edi mov [L00D1BE60],eax call esi mov [L00D1BE64],eax L004DF5C2: mov eax,[L00D1BE60] test eax,eax jz L004DF5E1 call eax mov ebx,eax test ebx,ebx jz L004DF5E1 mov eax,[L00D1BE64] test eax,eax jz L004DF5E1 push ebx call eax mov ebx,eax L004DF5E1: push [esp+18h] push [esp+18h] push [esp+18h] push ebx call [L00D1BE5C] L004DF5F4: pop edi pop esi pop ebx retn ;------------------------------------------------------------------------------ L004DF5F8: xor eax,eax jmp L004DF5F4 SUB_L004DF5FC: push ebp mov ebp,esp sub esp,0000000Ch mov eax,[ebp+08h] and dword ptr [ebp-04h],00000000h dec eax push ebx push esi dec eax push edi jz L004DF677 dec eax dec eax jz L004DF65A sub eax,00000004h jz L004DF65A sub eax,00000003h jz L004DF65A sub eax,00000004h jz L004DF64D sub eax,00000006h jz L004DF640 dec eax jz L004DF633 or eax,FFFFFFFFh jmp L004DF779 L004DF633: mov ebx,[L00D1BE70] mov edi,L00D1BE70 jmp L004DF682 L004DF640: mov ebx,[L00D1BE6C] mov edi,L00D1BE6C jmp L004DF682 L004DF64D: mov ebx,[L00D1BE74] mov edi,L00D1BE74 jmp L004DF682 L004DF65A: call SUB_L004D84F3 mov esi,eax push [esi+50h] push [ebp+08h] call SUB_L004DF77E mov edi,eax pop ecx add edi,00000008h pop ecx mov ebx,[edi] jmp L004DF694 L004DF677: mov ebx,[L00D1BE68] mov edi,L00D1BE68 L004DF682: push 00000001h mov dword ptr [ebp-04h],00000001h call SUB_L004D982F mov esi,[ebp+08h] pop ecx L004DF694: cmp ebx,00000001h jnz L004DF6AF cmp dword ptr [ebp-04h],00000000h jz L004DF777 push ebx call SUB_L004D9890 pop ecx jmp L004DF777 L004DF6AF: xor ecx,ecx cmp ebx,ecx jnz L004DF6C9 cmp [ebp-04h],ecx jz L004DF6C2 push 00000001h call SUB_L004D9890 pop ecx L004DF6C2: push 00000003h call SUB_L004D555C L004DF6C9: mov eax,[ebp+08h] cmp eax,00000008h jz L004DF6DB cmp eax,0000000Bh jz L004DF6DB cmp eax,00000004h jnz L004DF6F6 L004DF6DB: mov edx,[esi+54h] cmp eax,00000008h mov [ebp-08h],edx mov [esi+54h],ecx jnz L004DF732 mov edx,[esi+58h] mov dword ptr [esi+58h],0000008Ch mov [ebp-0Ch],edx L004DF6F6: cmp eax,00000008h jnz L004DF732 mov ecx,[L00515178] mov eax,[L0051517C] add eax,ecx cmp ecx,eax jge L004DF734 lea eax,[ecx+ecx*2] shl eax,02h L004DF712: mov edx,[esi+50h] add eax,0000000Ch and dword ptr [edx+eax-04h],00000000h mov edx,[L00515178] mov edi,[L0051517C] inc ecx add edi,edx cmp ecx,edi jl L004DF712 jmp L004DF734 L004DF732: mov [edi],ecx L004DF734: cmp dword ptr [ebp-04h],00000000h jz L004DF742 push 00000001h call SUB_L004D9890 pop ecx L004DF742: cmp dword ptr [ebp+08h],00000008h jnz L004DF753 push [esi+58h] push 00000008h call ebx pop ecx pop ecx jmp L004DF765 L004DF753: push [ebp+08h] call ebx cmp dword ptr [ebp+08h],0000000Bh pop ecx jz L004DF765 cmp dword ptr [ebp+08h],00000004h jnz L004DF777 L004DF765: mov eax,[ebp-08h] cmp dword ptr [ebp+08h],00000008h mov [esi+54h],eax jnz L004DF777 mov eax,[ebp-0Ch] mov [esi+58h],eax L004DF777: xor eax,eax L004DF779: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DF77E: mov edx,[esp+08h] mov ecx,[L00515184] push esi mov esi,[esp+08h] cmp [edx+04h],esi push edi mov eax,edx jz L004DF7A7 lea edi,[ecx+ecx*2] lea edi,[edx+edi*4] L004DF79B: add eax,0000000Ch cmp eax,edi jnc L004DF7A7 cmp [eax+04h],esi jnz L004DF79B L004DF7A7: lea ecx,[ecx+ecx*2] lea ecx,[edx+ecx*4] cmp eax,ecx jnc L004DF7B6 cmp [eax+04h],esi jz L004DF7B8 L004DF7B6: xor eax,eax L004DF7B8: pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DF7BB: mov edx,[esp+04h] push esi mov esi,[esp+0Ch] xor eax,eax lea ecx,[edx+esi] cmp ecx,edx jc L004DF7D1 cmp ecx,esi jnc L004DF7D4 L004DF7D1: push 00000001h pop eax L004DF7D4: mov edx,[esp+10h] pop esi mov [edx],ecx retn ;------------------------------------------------------------------------------ SUB_L004DF7DC: push esi mov esi,[esp+08h] push edi mov edi,[esp+10h] push esi push [edi] push [esi] call SUB_L004DF7BB add esp,0000000Ch test eax,eax jz L004DF80E lea eax,[esi+04h] push eax push 00000001h push [eax] call SUB_L004DF7BB add esp,0000000Ch test eax,eax jz L004DF80E inc [esi+08h] L004DF80E: lea eax,[esi+04h] push eax push [edi+04h] push [eax] call SUB_L004DF7BB add esp,0000000Ch test eax,eax jz L004DF826 inc [esi+08h] L004DF826: lea eax,[esi+08h] push eax push [edi+08h] push [eax] call SUB_L004DF7BB add esp,0000000Ch pop edi pop esi retn ;------------------------------------------------------------------------------ SUB_L004DF83A: 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 ;------------------------------------------------------------------------------ SUB_L004DF868: 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 ;------------------------------------------------------------------------------ SUB_L004DF895: push ebp mov ebp,esp sub esp,00000010h mov eax,[ebp+0Ch] push ebx mov ebx,[ebp+10h] xor edx,edx cmp eax,edx push esi mov dword ptr [ebp-04h],0000404Eh mov [ebx],edx mov [ebx+04h],edx mov [ebx+08h],edx jbe L004DF909 push edi mov [ebp+10h],eax L004DF8BC: mov esi,ebx lea edi,[ebp-10h] movsd movsd push ebx movsd call SUB_L004DF83A push ebx call SUB_L004DF83A lea eax,[ebp-10h] push eax push ebx call SUB_L004DF7DC push ebx call SUB_L004DF83A mov eax,[ebp+08h] and dword ptr [ebp-0Ch],00000000h and dword ptr [ebp-08h],00000000h movsx eax,[eax] mov [ebp-10h],eax lea eax,[ebp-10h] push eax push ebx call SUB_L004DF7DC add esp,0000001Ch inc [ebp+08h] dec [ebp+10h] jnz L004DF8BC xor edx,edx pop edi L004DF909: cmp [ebx+08h],edx jnz L004DF936 mov ecx,[ebx+04h] mov eax,ecx shr eax,10h mov [ebx+08h],eax mov eax,[ebx] mov esi,eax shr esi,10h shl ecx,10h or esi,ecx shl eax,10h add dword ptr [ebp-04h],0000FFF0h mov [ebx+04h],esi mov [ebx],eax jmp L004DF909 L004DF936: mov esi,00008000h L004DF93B: test [ebx+08h],esi jnz L004DF950 push ebx call SUB_L004DF83A add dword ptr [ebp-04h],0000FFFFh pop ecx jmp L004DF93B L004DF950: mov ax,[ebp-04h] pop esi mov [ebx+0Ah],ax pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004DF95C: push ebp mov ebp,esp sub esp,0000005Ch push ebx push esi push edi mov edi,[ebp+10h] lea eax,[ebp-5Ch] push 00000001h mov [ebp-0Ch],eax xor eax,eax pop edx mov [ebp-28h],eax mov [ebp-18h],edx mov [ebp-04h],eax mov [ebp-10h],eax mov [ebp-24h],eax mov [ebp-20h],eax mov [ebp-2Ch],eax mov [ebp-30h],eax mov [ebp-1Ch],eax mov [ebp-08h],eax mov [ebp-14h],eax mov [ebp+10h],edi L004DF997: mov cl,[edi] cmp cl,20h jz L004DF9AD cmp cl,09h jz L004DF9AD cmp cl,0Ah jz L004DF9AD cmp cl,0Dh jnz L004DF9B0 L004DF9AD: inc edi jmp L004DF997 L004DF9B0: push 00000004h pop esi L004DF9B3: mov bl,[edi] inc edi cmp eax,0000000Bh ja CASE_004DFDFD_PROC000A jmp [CASE_PROCTABLE_004DFDFD+eax*4] CASE_004DFDFD_PROC0000: cmp bl,31h jl L004DF9D7 cmp bl,39h jg L004DF9D7 L004DF9D0: push 00000003h jmp L004DFBF4 L004DF9D7: cmp bl,[L00514E34] jnz L004DF9E6 L004DF9DF: push 00000005h jmp L004DFC2C L004DF9E6: movsx eax,bl sub eax,0000002Bh jz L004DFA0C dec eax dec eax jz L004DFA00 sub eax,00000003h jnz L004DFCCF jmp L004DFA8F L004DFA00: push 00000002h mov dword ptr [ebp-28h],00008000h pop eax jmp L004DF9B3 L004DFA0C: and dword ptr [ebp-28h],00000000h push 00000002h pop eax jmp L004DF9B3 CASE_004DFDFD_PROC0001: cmp bl,31h mov [ebp-10h],edx jl L004DFA22 cmp bl,39h jle L004DF9D0 L004DFA22: cmp bl,[L00514E34] jz L004DFAEA cmp bl,2Bh jz L004DFA64 cmp bl,2Dh jz L004DFA64 cmp bl,30h jz L004DFA8F L004DFA3D: cmp bl,43h jle L004DFCCF cmp bl,45h jle L004DFA5D cmp bl,63h jle L004DFCCF cmp bl,65h jg L004DFCCF L004DFA5D: push 00000006h jmp L004DFC2C L004DFA64: dec edi push 0000000Bh jmp L004DFC2C CASE_004DFDFD_PROC0002: cmp bl,31h jl L004DFA7A cmp bl,39h jle L004DF9D0 L004DFA7A: cmp bl,[L00514E34] jz L004DF9DF cmp bl,30h jnz L004DFC44 L004DFA8F: mov eax,edx jmp L004DF9B3 CASE_004DFDFD_PROC0003: mov [ebp-10h],edx L004DFA99: cmp [L00514E30],edx jle L004DFAB2 movzx eax,bl push esi push eax call SUB_L004D9AC9 pop ecx pop ecx push 00000001h pop edx jmp L004DFAC0 L004DFAB2: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,esi L004DFAC0: test eax,eax jz L004DFAE2 cmp dword ptr [ebp-04h],00000019h jnc L004DFADA mov eax,[ebp-0Ch] inc [ebp-04h] sub bl,30h inc [ebp-0Ch] mov [eax],bl jmp L004DFADD L004DFADA: inc [ebp-08h] L004DFADD: mov bl,[edi] inc edi jmp L004DFA99 L004DFAE2: cmp bl,[L00514E34] jnz L004DFB51 L004DFAEA: mov eax,esi jmp L004DF9B3 CASE_004DFDFD_PROC0004: cmp dword ptr [ebp-04h],00000000h mov [ebp-10h],edx mov [ebp-24h],edx jnz L004DFB0A L004DFAFD: cmp bl,30h jnz L004DFB0A dec [ebp-08h] mov bl,[edi] inc edi jmp L004DFAFD L004DFB0A: cmp [L00514E30],edx jle L004DFB23 movzx eax,bl push esi push eax call SUB_L004D9AC9 pop ecx pop ecx push 00000001h pop edx jmp L004DFB31 L004DFB23: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,esi L004DFB31: test eax,eax jz L004DFB51 cmp dword ptr [ebp-04h],00000019h jnc L004DFB4C mov eax,[ebp-0Ch] inc [ebp-04h] sub bl,30h inc [ebp-0Ch] dec [ebp-08h] mov [eax],bl L004DFB4C: mov bl,[edi] inc edi jmp L004DFB0A L004DFB51: cmp bl,2Bh jz L004DFA64 cmp bl,2Dh jz L004DFA64 jmp L004DFA3D CASE_004DFDFD_PROC0005: cmp [L00514E30],edx mov [ebp-24h],edx jle L004DFB84 movzx eax,bl push esi push eax call SUB_L004D9AC9 pop ecx pop ecx push 00000001h pop edx jmp L004DFB92 L004DFB84: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,esi L004DFB92: test eax,eax jz L004DFC44 mov eax,esi jmp L004DFBF5 CASE_004DFDFD_PROC0006: lea ecx,[edi-02h] cmp bl,31h mov [ebp+10h],ecx jl L004DFBAE cmp bl,39h jle L004DFBF2 L004DFBAE: movsx eax,bl sub eax,0000002Bh jz L004DFC2A dec eax dec eax jz L004DFC1E sub eax,00000003h jnz L004DFCD2 L004DFBC3: push 00000008h jmp L004DFC2C CASE_004DFDFD_PROC0008: mov [ebp-20h],edx L004DFBCA: cmp bl,30h jnz L004DFBD4 mov bl,[edi] inc edi jmp L004DFBCA L004DFBD4: cmp bl,31h jl L004DFCCF cmp bl,39h jg L004DFCCF jmp L004DFBF2 CASE_004DFDFD_PROC0007: cmp bl,31h jl L004DFBFB cmp bl,39h jg L004DFBFB L004DFBF2: push 00000009h L004DFBF4: pop eax L004DFBF5: dec edi jmp L004DF9B3 L004DFBFB: cmp bl,30h jnz L004DFC44 jmp L004DFBC3 CASE_004DFDFD_PROC000B: cmp dword ptr [ebp+20h],00000000h jz L004DFC32 movsx eax,bl lea ecx,[edi-01h] sub eax,0000002Bh mov [ebp+10h],ecx jz L004DFC2A dec eax dec eax jnz L004DFCD2 L004DFC1E: or dword ptr [ebp-18h],FFFFFFFFh push 00000007h pop eax jmp L004DF9B3 L004DFC2A: push 00000007h L004DFC2C: pop eax jmp L004DF9B3 L004DFC32: push 0000000Ah dec edi pop eax CASE_004DFDFD_PROC000A: cmp eax,0000000Ah jz L004DFCD4 jmp L004DF9B3 L004DFC44: mov edi,[ebp+10h] jmp L004DFCD4 CASE_004DFDFD_PROC0009: mov dword ptr [ebp-20h],00000001h xor esi,esi L004DFC55: cmp dword ptr [L00514E30],00000001h jle L004DFC6D movzx eax,bl push 00000004h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004DFC7C L004DFC6D: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,00000004h L004DFC7C: test eax,eax jz L004DFC9C movsx ecx,bl lea eax,[esi+esi*4] lea esi,[ecx+eax*2-30h] cmp esi,00001450h jg L004DFC97 mov bl,[edi] inc edi jmp L004DFC55 L004DFC97: mov esi,00001451h L004DFC9C: mov [ebp-1Ch],esi L004DFC9F: cmp dword ptr [L00514E30],00000001h jle L004DFCB7 movzx eax,bl push 00000004h push eax call SUB_L004D9AC9 pop ecx pop ecx jmp L004DFCC6 L004DFCB7: mov ecx,[L00514C24] movzx eax,bl mov al,[ecx+eax*2] and eax,00000004h L004DFCC6: test eax,eax jz L004DFCCF mov bl,[edi] inc edi jmp L004DFC9F L004DFCCF: dec edi jmp L004DFCD4 L004DFCD2: mov edi,ecx L004DFCD4: mov eax,[ebp+0Ch] cmp dword ptr [ebp-10h],00000000h mov [eax],edi jz L004DFDBC push 00000018h pop eax cmp [ebp-04h],eax jbe L004DFD00 cmp byte ptr [ebp-45h],05h jl L004DFCF4 inc [ebp-45h] L004DFCF4: mov [ebp-04h],eax mov eax,[ebp-0Ch] dec eax inc [ebp-08h] jmp L004DFD03 L004DFD00: mov eax,[ebp-0Ch] L004DFD03: cmp dword ptr [ebp-04h],00000000h jbe L004DFDB2 L004DFD0D: dec eax cmp byte ptr [eax],00h jnz L004DFD1B dec [ebp-04h] inc [ebp-08h] jmp L004DFD0D L004DFD1B: lea eax,[ebp-40h] push eax lea eax,[ebp-5Ch] push [ebp-04h] push eax call SUB_L004DF895 mov eax,[ebp-1Ch] xor ecx,ecx add esp,0000000Ch cmp [ebp-18h],ecx jge L004DFD3A neg eax L004DFD3A: add eax,[ebp-08h] cmp [ebp-20h],ecx jnz L004DFD45 add eax,[ebp+18h] L004DFD45: cmp [ebp-24h],ecx jnz L004DFD4D sub eax,[ebp+1Ch] L004DFD4D: cmp eax,00001450h jle L004DFD84 mov dword ptr [ebp-2Ch],00000001h L004DFD5B: mov ebx,[ebp+10h] mov esi,[ebp+10h] mov eax,[ebp+10h] mov edx,[ebp+10h] L004DFD67: cmp dword ptr [ebp-2Ch],00000000h jz L004DFDCD xor ebx,ebx mov eax,00007FFFh mov esi,80000000h xor edx,edx mov dword ptr [ebp-14h],00000002h jmp L004DFDE2 L004DFD84: cmp eax,FFFFEBB0h jge L004DFD94 mov dword ptr [ebp-30h],00000001h jmp L004DFD5B L004DFD94: push [ebp+14h] push eax lea eax,[ebp-40h] push eax call SUB_L004E09F4 mov edx,[ebp-40h] mov ebx,[ebp-3Eh] mov esi,[ebp-3Ah] mov eax,[ebp-36h] add esp,0000000Ch jmp L004DFD67 L004DFDB2: xor edx,edx xor eax,eax xor esi,esi xor ebx,ebx jmp L004DFD67 L004DFDBC: xor edx,edx xor eax,eax xor esi,esi xor ebx,ebx mov dword ptr [ebp-14h],00000004h jmp L004DFDE2 L004DFDCD: cmp dword ptr [ebp-30h],00000000h jz L004DFDE2 xor edx,edx xor eax,eax xor esi,esi xor ebx,ebx mov dword ptr [ebp-14h],00000001h L004DFDE2: mov ecx,[ebp+08h] or eax,[ebp-28h] pop edi mov [ecx+06h],esi mov [ecx+02h],ebx mov [ecx+0Ah],ax mov eax,[ebp-14h] pop esi mov [ecx],dx pop ebx leave retn ;------------------------------------------------------------------------------ CASE_PROCTABLE_004DFDFD: dd CASE_004DFDFD_PROC0000 dd CASE_004DFDFD_PROC0001 dd CASE_004DFDFD_PROC0002 dd CASE_004DFDFD_PROC0003 dd CASE_004DFDFD_PROC0004 dd CASE_004DFDFD_PROC0005 dd CASE_004DFDFD_PROC0006 dd CASE_004DFDFD_PROC0007 dd CASE_004DFDFD_PROC0008 dd CASE_004DFDFD_PROC0009 dd CASE_004DFDFD_PROC000A dd CASE_004DFDFD_PROC000B SUB_L004DFE2D: push ebp mov ebp,esp sub esp,0000001Ch mov eax,[ebp+10h] push ebx mov ebx,[ebp+1Ch] push esi mov ecx,eax mov esi,00007FFFh and ecx,00008000h and eax,esi test cx,cx push edi mov byte ptr [ebp-1Ch],CCh mov byte ptr [ebp-1Bh],CCh mov byte ptr [ebp-1Ah],CCh mov byte ptr [ebp-19h],CCh mov byte ptr [ebp-18h],CCh mov byte ptr [ebp-17h],CCh mov byte ptr [ebp-16h],CCh mov byte ptr [ebp-15h],CCh mov byte ptr [ebp-14h],CCh mov byte ptr [ebp-13h],CCh mov byte ptr [ebp-12h],FBh mov byte ptr [ebp-11h],3Fh mov dword ptr [ebp-04h],00000001h mov edx,eax jz L004DFE8F mov byte ptr [ebx+02h],2Dh jmp L004DFE93 L004DFE8F: mov byte ptr [ebx+02h],20h L004DFE93: mov edi,[ebp+0Ch] test dx,dx jnz L004DFEB9 test edi,edi jnz L004DFEB9 cmp [ebp+08h],edi jnz L004DFEB9 L004DFEA4: and word ptr [ebx],0000h mov byte ptr [ebx+02h],20h mov byte ptr [ebx+03h],01h mov byte ptr [ebx+04h],30h jmp L004E00B7 L004DFEB9: cmp dx,si jnz L004DFF38 mov eax,80000000h mov word ptr [ebx],0001h cmp edi,eax jnz L004DFED2 cmp dword ptr [ebp+08h],00000000h jz L004DFEE1 L004DFED2: test edi,40000000h jnz L004DFEE1 push SSZ004F2948_1_SNAN jmp L004DFF27 L004DFEE1: test cx,cx jz L004DFEFB cmp edi,C0000000h jnz L004DFEFB cmp dword ptr [ebp+08h],00000000h jnz L004DFF22 push SSZ004F2940_1_IND jmp L004DFF0A L004DFEFB: cmp edi,eax jnz L004DFF22 cmp dword ptr [ebp+08h],00000000h jnz L004DFF22 push SSZ004F2938_1_INF L004DFF0A: lea eax,[ebx+04h] push eax call SUB_L004DC7B0 pop ecx mov byte ptr [ebx+03h],05h pop ecx L004DFF19: and dword ptr [ebp-04h],00000000h jmp L004E0090 L004DFF22: push SSZ004F2930_1_QNAN L004DFF27: lea eax,[ebx+04h] push eax call SUB_L004DC7B0 pop ecx mov byte ptr [ebx+03h],06h pop ecx jmp L004DFF19 L004DFF38: movzx eax,dx mov ecx,edi mov esi,eax shr ecx,18h imul eax,00004D10h shr esi,08h and word ptr [ebp-10h],0000h push 00000001h lea ecx,[esi+ecx*2] mov [ebp-06h],dx imul ecx,4Dh mov [ebp-0Ah],edi lea esi,[ecx+eax-134312F4h] mov eax,[ebp+08h] sar esi,10h mov [ebp-0Eh],eax movsx eax,si neg eax push eax lea eax,[ebp-10h] push eax call SUB_L004E09F4 add esp,0000000Ch cmp word ptr [ebp-06h],3FFFh jc L004DFF99 lea eax,[ebp-1Ch] inc esi push eax lea eax,[ebp-10h] push eax call SUB_L004E07D4 pop ecx pop ecx L004DFF99: test byte ptr [ebp+18h],01h mov [ebx],si jz L004DFFB3 mov edi,[ebp+14h] movsx eax,si add edi,eax test edi,edi jg L004DFFB6 jmp L004DFEA4 L004DFFB3: mov edi,[ebp+14h] L004DFFB6: cmp edi,00000015h jle L004DFFBE push 00000015h pop edi L004DFFBE: movzx esi,[ebp-06h] sub esi,00003FFEh and word ptr [ebp-06h],0000h mov dword ptr [ebp+1Ch],00000008h L004DFFD4: lea eax,[ebp-10h] push eax call SUB_L004DF83A dec [ebp+1Ch] pop ecx jnz L004DFFD4 test esi,esi jge L004DFFFE neg esi and esi,000000FFh jle L004DFFFE L004DFFF1: lea eax,[ebp-10h] push eax call SUB_L004DF868 dec esi pop ecx jnz L004DFFF1 L004DFFFE: lea ecx,[edi+01h] lea eax,[ebx+04h] test ecx,ecx mov [ebp+1Ch],eax jle L004E005B mov [ebp+14h],ecx L004E000E: lea esi,[ebp-10h] lea edi,[ebp+08h] movsd movsd lea eax,[ebp-10h] push eax movsd call SUB_L004DF83A lea eax,[ebp-10h] push eax call SUB_L004DF83A lea eax,[ebp+08h] push eax lea eax,[ebp-10h] push eax call SUB_L004DF7DC lea eax,[ebp-10h] push eax call SUB_L004DF83A mov al,[ebp-05h] mov ecx,[ebp+1Ch] and byte ptr [ebp-05h],00h add esp,00000014h add al,30h inc [ebp+1Ch] dec [ebp+14h] mov [ecx],al jnz L004E000E mov eax,[ebp+1Ch] L004E005B: mov cl,[eax-01h] dec eax dec eax cmp cl,35h lea ecx,[ebx+04h] jl L004E0098 L004E0068: cmp eax,ecx jc L004E007B cmp byte ptr [eax],39h jnz L004E0077 mov byte ptr [eax],30h dec eax jmp L004E0068 L004E0077: cmp eax,ecx jnc L004E007F L004E007B: inc eax inc word ptr [ebx] L004E007F: inc [eax] L004E0081: sub al,bl sub al,03h mov [ebx+03h],al movsx eax,al and byte ptr [eax+ebx+04h],00h L004E0090: mov eax,[ebp-04h] L004E0093: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004E0098: cmp eax,ecx jc L004E00A8 cmp byte ptr [eax],30h jnz L004E00A4 dec eax jmp L004E0098 L004E00A4: cmp eax,ecx jnc L004E0081 L004E00A8: and word ptr [ebx],0000h mov byte ptr [ebx+02h],20h mov byte ptr [ebx+03h],01h mov byte ptr [ecx],30h L004E00B7: and byte ptr [ebx+05h],00h push 00000001h pop eax jmp L004E0093 push ebp mov ebp,esp push edi push esi push ebx mov ecx,[ebp+10h] or ecx,ecx jz L004E01BA mov esi,[ebp+08h] mov edi,[ebp+0Ch] lea eax,[L00D1BC8C] cmp dword ptr [eax+08h],00000000h jnz L004E0131 mov bh,41h mov bl,5Ah mov dh,20h lea ecx,[ecx+00h] L004E00EC: mov ah,[esi] or ah,ah mov al,[edi] jz L004E0115 or al,al jz L004E0115 inc esi inc edi cmp ah,bh jc L004E0104 cmp ah,bl ja L004E0104 add ah,dh L004E0104: cmp al,bh jc L004E010E cmp al,bl ja L004E010E add al,dh L004E010E: cmp ah,al jnz L004E011F dec ecx jnz L004E00EC L004E0115: xor ecx,ecx cmp ah,al jz L004E01BA L004E011F: mov ecx,FFFFFFFFh jc L004E01BA neg ecx jmp L004E01BA L004E0131: lock inc [L00D1C208] cmp dword ptr [L00D1C204],00000000h jg L004E0145 push 00000000h jmp L004E015E L004E0145: lock dec [L00D1C208] mov ebx,ecx push 00000013h call SUB_L004D982F mov dword ptr [esp],00000001h mov ecx,ebx L004E015E: xor eax,eax xor ebx,ebx mov edi,edi L004E0164: mov al,[esi] or eax,eax mov bl,[edi] jz L004E018F or ebx,ebx jz L004E018F inc esi inc edi push ecx push eax push ebx call SUB_L004D51F0 mov ebx,eax add esp,00000004h call SUB_L004D51F0 add esp,00000004h pop ecx cmp eax,ebx jnz L004E0195 dec ecx jnz L004E0164 L004E018F: xor ecx,ecx cmp eax,ebx jz L004E019E L004E0195: mov ecx,FFFFFFFFh jc L004E019E neg ecx L004E019E: pop eax or eax,eax jnz L004E01AC lock dec [L00D1C208] jmp L004E01BA L004E01AC: mov ebx,ecx push 00000013h call SUB_L004D9890 add esp,00000004h mov ecx,ebx L004E01BA: mov eax,ecx pop ebx pop esi pop edi leave retn ;------------------------------------------------------------------------------ SUB_L004E01C1: push ebp mov ebp,esp mov eax,00001004h call SUB_L004D4B90 push ebx push esi xor esi,esi push 00000001h push esi push [ebp+08h] call SUB_L004D9EC6 or ebx,FFFFFFFFh add esp,0000000Ch cmp eax,ebx mov [ebp-04h],eax jz L004E02E0 push 00000002h push esi push [ebp+08h] call SUB_L004D9EC6 add esp,0000000Ch cmp eax,ebx jz L004E02E0 push edi mov edi,[ebp+0Ch] sub edi,eax test edi,edi jle L004E0283 mov ebx,00001000h lea eax,[ebp-00001004h] push ebx push esi push eax call SUB_L004DCC90 push 00008000h push [ebp+08h] call SUB_L004E0A70 add esp,00000014h mov [ebp+0Ch],eax L004E0234: cmp edi,ebx mov eax,ebx jge L004E023C mov eax,edi L004E023C: push eax lea eax,[ebp-00001004h] push eax push [ebp+08h] call SUB_L004DC61A add esp,0000000Ch cmp eax,FFFFFFFFh jz L004E025C sub edi,eax test edi,edi jle L004E0274 jmp L004E0234 L004E025C: call SUB_L004D9C9C cmp dword ptr [eax],00000005h jnz L004E0271 call SUB_L004D9C93 mov dword ptr [eax],0000000Dh L004E0271: or esi,FFFFFFFFh L004E0274: push [ebp+0Ch] push [ebp+08h] call SUB_L004E0A70 pop ecx pop ecx jmp L004E02CB L004E0283: jge L004E02CB push 00000000h push [ebp+0Ch] push [ebp+08h] call SUB_L004D9EC6 push [ebp+08h] call SUB_L004DE51C add esp,00000010h push eax call [KERNEL32.dll!SetEndOfFile] mov esi,eax neg esi sbb esi,esi neg esi dec esi cmp esi,ebx jnz L004E02CB call SUB_L004D9C93 mov dword ptr [eax],0000000Dh call [KERNEL32.dll!GetLastError] mov edi,eax call SUB_L004D9C9C mov [eax],edi L004E02CB: push 00000000h push [ebp-04h] push [ebp+08h] call SUB_L004D9EC6 add esp,0000000Ch mov eax,esi pop edi jmp L004E02E2 L004E02E0: mov eax,ebx L004E02E2: pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004E02E6: push ebp mov ebp,esp push FFFFFFFFh push L004F2A78 push L004D9B48 mov eax,fs:[00000000h] push eax mov fs:[00000000h],esp sub esp,00000030h push ebx push esi push edi mov [ebp-18h],esp xor ebx,ebx cmp [L00D1BE90],ebx push 00000001h pop edi jnz L004E0359 push edi mov eax,L004F2598 push eax push edi push eax push ebx push ebx call [KERNEL32.dll!CompareStringW] test eax,eax jz L004E0336 mov [L00D1BE90],edi jmp L004E0359 L004E0336: push edi mov eax,L004F2594 push eax push edi push eax push ebx push ebx call [KERNEL32.dll!CompareStringA] test eax,eax jz L004E054F mov dword ptr [L00D1BE90],00000002h L004E0359: mov esi,[ebp+14h] cmp esi,ebx jle L004E0370 push esi push [ebp+10h] call SUB_L004E0563 pop ecx pop ecx mov esi,eax mov [ebp+14h],esi L004E0370: cmp [ebp+1Ch],ebx jle L004E0385 push [ebp+1Ch] push [ebp+18h] call SUB_L004E0563 pop ecx pop ecx mov [ebp+1Ch],eax L004E0385: mov eax,[L00D1BE90] cmp eax,00000002h jnz L004E03AA push [ebp+1Ch] push [ebp+18h] push esi push [ebp+10h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!CompareStringA] jmp L004E0551 L004E03AA: cmp eax,edi jnz L004E054F cmp [ebp+20h],ebx jnz L004E03BF mov eax,[L00D1BCA4] mov [ebp+20h],eax L004E03BF: cmp esi,ebx jz L004E03CC cmp [ebp+1Ch],ebx jnz L004E0464 L004E03CC: cmp esi,[ebp+1Ch] jnz L004E03D9 L004E03D1: push 00000002h L004E03D3: pop eax jmp L004E0551 L004E03D9: cmp [ebp+1Ch],edi jle L004E03E5 L004E03DE: mov eax,edi jmp L004E0551 L004E03E5: cmp esi,edi jg L004E042A lea eax,[ebp-3Ch] push eax push [ebp+20h] call [KERNEL32.dll!GetCPInfo] test eax,eax jz L004E054F cmp esi,ebx jle L004E042E cmp dword ptr [ebp-3Ch],00000002h jc L004E042A lea eax,[ebp-36h] cmp [ebp-36h],bl jz L004E042A L004E0410: mov dl,[eax+01h] cmp dl,bl jz L004E042A mov ecx,[ebp+10h] mov cl,[ecx] cmp cl,[eax] jc L004E0424 cmp cl,dl jbe L004E03D1 L004E0424: inc eax inc eax cmp [eax],bl jnz L004E0410 L004E042A: push 00000003h jmp L004E03D3 L004E042E: cmp [ebp+1Ch],ebx jle L004E0464 cmp dword ptr [ebp-3Ch],00000002h jc L004E03DE lea eax,[ebp-36h] cmp [ebp-36h],bl jz L004E03DE L004E0441: mov dl,[eax+01h] cmp dl,bl jz L004E03DE mov ecx,[ebp+18h] mov cl,[ecx] cmp cl,[eax] jc L004E0459 cmp cl,dl jbe L004E03D1 L004E0459: inc eax inc eax cmp [eax],bl jnz L004E0441 jmp L004E03DE L004E0464: push ebx push ebx push esi push [ebp+10h] push 00000009h push [ebp+20h] call [KERNEL32.dll!MultiByteToWideChar] mov [ebp-1Ch],eax cmp eax,ebx jz L004E054F mov [ebp-04h],ebx add eax,eax add eax,00000003h and al,FCh call SUB_L004D4B90 mov [ebp-18h],esp mov eax,esp mov [ebp-24h],eax or dword ptr [ebp-04h],FFFFFFFFh jmp L004E04B3 push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] xor ebx,ebx mov [ebp-24h],ebx or dword ptr [ebp-04h],FFFFFFFFh mov esi,[ebp+14h] push 00000001h pop edi L004E04B3: cmp [ebp-24h],ebx jz L004E054F push [ebp-1Ch] push [ebp-24h] push esi push [ebp+10h] push edi push [ebp+20h] mov esi,[KERNEL32.dll!MultiByteToWideChar] call esi test eax,eax jz L004E054F push ebx push ebx push [ebp+1Ch] push [ebp+18h] push 00000009h push [ebp+20h] call esi mov esi,eax mov [ebp-20h],esi cmp esi,ebx jz L004E054F mov [ebp-04h],edi lea eax,[esi+esi] add eax,00000003h and al,FCh call SUB_L004D4B90 mov [ebp-18h],esp mov edi,esp mov [ebp-28h],edi or dword ptr [ebp-04h],FFFFFFFFh jmp L004E051E push 00000001h pop eax retn ;------------------------------------------------------------------------------ mov esp,[ebp-18h] xor ebx,ebx xor edi,edi or dword ptr [ebp-04h],FFFFFFFFh mov esi,[ebp-20h] L004E051E: cmp edi,ebx jz L004E054F push esi push edi push [ebp+1Ch] push [ebp+18h] push 00000001h push [ebp+20h] call [KERNEL32.dll!MultiByteToWideChar] test eax,eax jz L004E054F push esi push edi push [ebp-1Ch] push [ebp-24h] push [ebp+0Ch] push [ebp+08h] call [KERNEL32.dll!CompareStringW] jmp L004E0551 L004E054F: xor eax,eax L004E0551: lea esp,[ebp-4Ch] mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004E0563: mov edx,[esp+08h] mov eax,[esp+04h] test edx,edx push esi lea ecx,[edx-01h] jz L004E0580 L004E0573: cmp byte ptr [eax],00h jz L004E0580 inc eax mov esi,ecx dec ecx test esi,esi jnz L004E0573 L004E0580: cmp byte ptr [eax],00h pop esi jnz L004E058B sub eax,[esp+04h] retn ;------------------------------------------------------------------------------ L004E058B: mov eax,edx retn ;------------------------------------------------------------------------------ SUB_L004E058E: push ebp mov ebp,esp push ecx push ecx push ebx push esi push edi xor edi,edi cmp [ebp+08h],edi jz L004E05F2 push 0000003Dh push [ebp+08h] call SUB_L004DF0AB mov esi,eax pop ecx cmp esi,edi pop ecx mov [ebp-08h],esi jz L004E05F2 cmp [ebp+08h],esi jz L004E05F2 mov eax,[L00D1BB0C] xor ebx,ebx cmp [esi+01h],bl setz bl cmp eax,[L00D1BB10] jnz L004E05D8 push eax call SUB_L004E076D pop ecx mov [L00D1BB0C],eax L004E05D8: cmp eax,edi jnz L004E0630 cmp [ebp+0Ch],edi jz L004E05FA cmp [L00D1BB14],edi jz L004E05FA call SUB_L004DEFF7 test eax,eax jz L004E0630 L004E05F2: or eax,FFFFFFFFh L004E05F5: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ L004E05FA: cmp ebx,edi jnz L004E070E push 00000004h call SUB_L004D5A3E cmp eax,edi pop ecx mov [L00D1BB0C],eax jz L004E05F2 mov [eax],edi cmp [L00D1BB14],edi jnz L004E0630 push 00000004h call SUB_L004D5A3E cmp eax,edi pop ecx mov [L00D1BB14],eax jz L004E05F2 mov [eax],edi L004E0630: sub esi,[ebp+08h] mov edi,[L00D1BB0C] mov [ebp-04h],edi push esi push [ebp+08h] call SUB_L004E0715 mov esi,eax pop ecx test esi,esi pop ecx jl L004E0690 cmp dword ptr [edi],00000000h jz L004E0690 test ebx,ebx jz L004E0688 push [edi+esi*4] lea edi,[edi+esi*4] call SUB_L004D59F6 pop ecx L004E0662: cmp dword ptr [edi],00000000h jz L004E0672 mov eax,[edi+04h] inc esi mov [edi],eax add edi,00000004h jmp L004E0662 L004E0672: mov eax,esi shl eax,02h push eax push [ebp-04h] call SUB_L004D8B50 pop ecx test eax,eax pop ecx jz L004E06C2 jmp L004E06BD L004E0688: mov eax,[ebp+08h] mov [edi+esi*4],eax jmp L004E06C2 L004E0690: test ebx,ebx jnz L004E070E test esi,esi jge L004E069A neg esi L004E069A: lea eax,[00000008h+esi*4] push eax push edi call SUB_L004D8B50 pop ecx test eax,eax pop ecx jz L004E05F2 mov ecx,[ebp+08h] mov [eax+esi*4],ecx and dword ptr [eax+esi*4+04h],00000000h L004E06BD: mov [L00D1BB0C],eax L004E06C2: cmp dword ptr [ebp+0Ch],00000000h jz L004E070E push [ebp+08h] call SUB_L004DA9F0 inc eax inc eax push eax call SUB_L004D5A3E mov esi,eax pop ecx test esi,esi pop ecx jz L004E070E push [ebp+08h] push esi call SUB_L004DC7B0 mov eax,esi pop ecx sub eax,[ebp+08h] pop ecx add eax,[ebp-08h] and byte ptr [eax],00h inc eax neg ebx sbb ebx,ebx not ebx and ebx,eax push ebx push esi call [KERNEL32.dll!SetEnvironmentVariableA] push esi call SUB_L004D59F6 pop ecx L004E070E: xor eax,eax jmp L004E05F5 SUB_L004E0715: push esi mov esi,[L00D1BB0C] push edi mov eax,[esi] test eax,eax jz L004E0750 mov edi,[esp+10h] L004E0727: push edi push eax push [esp+14h] call SUB_L004DEFB8 add esp,0000000Ch test eax,eax jnz L004E0746 mov eax,[esi] mov al,[eax+edi] cmp al,3Dh jz L004E0760 test al,al jz L004E0760 L004E0746: mov eax,[esi+04h] add esi,00000004h test eax,eax jnz L004E0727 L004E0750: mov eax,esi sub eax,[L00D1BB0C] sar eax,02h neg eax L004E075D: pop edi pop esi retn ;------------------------------------------------------------------------------ L004E0760: mov eax,esi sub eax,[L00D1BB0C] sar eax,02h jmp L004E075D SUB_L004E076D: push edi mov edi,[esp+08h] xor ecx,ecx test edi,edi jnz L004E077C xor eax,eax pop edi retn ;------------------------------------------------------------------------------ L004E077C: cmp dword ptr [edi],00000000h lea eax,[edi+04h] jz L004E078E L004E0784: mov edx,[eax] inc ecx add eax,00000004h test edx,edx jnz L004E0784 L004E078E: push ebx push ebp lea eax,[00000004h+ecx*4] push esi push eax call SUB_L004D5A3E mov esi,eax pop ecx test esi,esi mov ebp,esi jnz L004E07AF push 00000009h call SUB_L004D7BD8 pop ecx L004E07AF: mov eax,[edi] mov ebx,edi L004E07B3: test eax,eax jz L004E07CA push eax add ebx,00000004h call SUB_L004E0AD1 mov [esi],eax mov eax,[ebx] pop ecx add esi,00000004h jmp L004E07B3 L004E07CA: and dword ptr [esi],00000000h mov eax,ebp pop esi pop ebp pop ebx pop edi retn ;------------------------------------------------------------------------------ SUB_L004E07D4: push ebp mov ebp,esp sub esp,00000024h push ebx mov ebx,[ebp+0Ch] push esi mov esi,[ebp+08h] mov cx,[ebx+0Ah] xor eax,eax push edi mov [ebp-14h],eax mov [ebp-24h],eax mov [ebp-20h],eax mov [ebp-1Ch],eax mov ax,[esi+0Ah] mov edi,ecx mov edx,00007FFFh xor edi,eax and eax,edx and ecx,edx and edi,00008000h cmp ax,7FFFh lea edx,[ecx+eax] mov [ebp+08h],edx jnc L004E09D4 cmp cx,7FFFh jnc L004E09D4 cmp dx,BFFDh ja L004E09D4 cmp dx,3FBFh ja L004E083D xor eax,eax jmp L004E0877 L004E083D: test ax,ax mov edx,7FFFFFFFh jnz L004E085F inc [ebp+08h] test [esi+08h],edx jnz L004E085F xor eax,eax cmp [esi+04h],eax jnz L004E0861 cmp [esi],eax jnz L004E0861 jmp L004E09CE L004E085F: xor eax,eax L004E0861: cmp cx,ax jnz L004E0884 inc [ebp+08h] test [ebx+08h],edx jnz L004E0884 cmp [ebx+04h],eax jnz L004E0884 cmp [ebx],eax jnz L004E0884 L004E0877: mov [esi+08h],eax mov [esi+04h],eax mov [esi],eax jmp L004E09EF L004E0884: mov [ebp-10h],eax lea eax,[ebp-20h] mov [ebp-04h],eax mov dword ptr [ebp+0Ch],00000005h L004E0894: mov eax,[ebp-10h] add eax,eax cmp dword ptr [ebp+0Ch],00000000h jle L004E08E8 add eax,esi lea ecx,[ebx+08h] mov [ebp-08h],eax mov eax,[ebp+0Ch] mov [ebp-0Ch],ecx mov [ebp-18h],eax L004E08B0: mov eax,[ebp-08h] mov ecx,[ebp-0Ch] movzx eax,[eax] movzx ecx,[ecx] imul eax,ecx mov ecx,[ebp-04h] add ecx,FFFFFFFCh push ecx push eax push [ecx] call SUB_L004DF7BB add esp,0000000Ch test eax,eax jz L004E08DB mov eax,[ebp-04h] inc word ptr [eax] L004E08DB: add dword ptr [ebp-08h],00000002h sub dword ptr [ebp-0Ch],00000002h dec [ebp-18h] jnz L004E08B0 L004E08E8: add dword ptr [ebp-04h],00000002h inc [ebp-10h] dec [ebp+0Ch] cmp dword ptr [ebp+0Ch],00000000h jg L004E0894 add dword ptr [ebp+08h],0000C002h cmp word ptr [ebp+08h],0000h jle L004E092B L004E0906: test byte ptr [ebp-19h],80h jnz L004E0924 lea eax,[ebp-24h] push eax call SUB_L004DF83A add dword ptr [ebp+08h],0000FFFFh pop ecx cmp word ptr [ebp+08h],0000h jg L004E0906 L004E0924: cmp word ptr [ebp+08h],0000h jg L004E0964 L004E092B: add dword ptr [ebp+08h],0000FFFFh cmp word ptr [ebp+08h],0000h jge L004E0964 movsx eax,[ebp+08h] neg eax add [ebp+08h],eax mov ebx,eax L004E0944: test byte ptr [ebp-24h],01h jz L004E094D inc [ebp-14h] L004E094D: lea eax,[ebp-24h] push eax call SUB_L004DF868 dec ebx pop ecx jnz L004E0944 cmp dword ptr [ebp-14h],00000000h jz L004E0964 or byte ptr [ebp-24h],01h L004E0964: cmp word ptr [ebp-24h],8000h ja L004E097B mov eax,[ebp-24h] and eax,0001FFFFh cmp eax,00018000h jnz L004E09B0 L004E097B: cmp dword ptr [ebp-22h],FFFFFFFFh jnz L004E09AD and dword ptr [ebp-22h],00000000h cmp dword ptr [ebp-1Eh],FFFFFFFFh jnz L004E09A8 and dword ptr [ebp-1Eh],00000000h cmp word ptr [ebp-1Ah],FFFFh jnz L004E09A2 inc [ebp+08h] mov word ptr [ebp-1Ah],8000h jmp L004E09B0 L004E09A2: inc word ptr [ebp-1Ah] jmp L004E09B0 L004E09A8: inc [ebp-1Eh] jmp L004E09B0 L004E09AD: inc [ebp-22h] L004E09B0: mov eax,[ebp+08h] cmp ax,7FFFh jnc L004E09D4 mov cx,[ebp-22h] or eax,edi mov [esi],cx mov ecx,[ebp-20h] mov [esi+02h],ecx mov ecx,[ebp-1Ch] mov [esi+06h],ecx L004E09CE: mov [esi+0Ah],ax jmp L004E09EF L004E09D4: neg di sbb edi,edi and dword ptr [esi+04h],00000000h and edi,80000000h add edi,7FFF8000h and dword ptr [esi],00000000h mov [esi+08h],edi L004E09EF: pop edi pop esi pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004E09F4: push ebp mov ebp,esp sub esp,0000000Ch push ebx mov ebx,L00515440 xor ecx,ecx sub ebx,00000060h cmp [ebp+0Ch],ecx jz L004E0A6D jge L004E0A1C mov eax,[ebp+0Ch] mov ebx,L005155A0 neg eax mov [ebp+0Ch],eax sub ebx,00000060h L004E0A1C: cmp [ebp+10h],ecx jnz L004E0A27 mov eax,[ebp+08h] mov [eax],cx L004E0A27: cmp [ebp+0Ch],ecx jz L004E0A6D push esi push edi L004E0A2E: mov eax,[ebp+0Ch] add ebx,00000054h sar dword ptr [ebp+0Ch],03h and eax,00000007h cmp eax,ecx jz L004E0A66 lea eax,[eax+eax*2] cmp word ptr [ebx+eax*4],8000h lea esi,[ebx+eax*4] jc L004E0A59 lea edi,[ebp-0Ch] movsd movsd movsd dec [ebp-0Ah] lea esi,[ebp-0Ch] L004E0A59: push esi push [ebp+08h] call SUB_L004E07D4 pop ecx pop ecx xor ecx,ecx L004E0A66: cmp [ebp+0Ch],ecx jnz L004E0A2E pop edi pop esi L004E0A6D: pop ebx leave retn ;------------------------------------------------------------------------------ SUB_L004E0A70: mov eax,[esp+04h] push esi mov ecx,eax and eax,0000001Fh sar ecx,05h lea eax,[eax+eax*8] mov esi,00008000h mov ecx,[L00D1C100+ecx*4] lea edx,[ecx+eax*4+04h] mov cl,[ecx+eax*4+04h] mov al,cl and eax,00000080h cmp [esp+0Ch],esi jnz L004E0AA6 and cl,7Fh jmp L004E0AB3 L004E0AA6: cmp dword ptr [esp+0Ch],00004000h jnz L004E0AC1 or cl,80h L004E0AB3: neg eax sbb eax,eax mov [edx],cl and ax,C000h add eax,esi pop esi retn ;------------------------------------------------------------------------------ L004E0AC1: call SUB_L004D9C93 mov dword ptr [eax],00000016h or eax,FFFFFFFFh pop esi retn ;------------------------------------------------------------------------------ SUB_L004E0AD1: push esi mov esi,[esp+08h] test esi,esi jz L004E0AF8 push esi call SUB_L004DA9F0 inc eax push eax call SUB_L004D5A3E pop ecx test eax,eax pop ecx jz L004E0AF8 push esi push eax call SUB_L004DC7B0 pop ecx pop ecx pop esi retn ;------------------------------------------------------------------------------ L004E0AF8: xor eax,eax pop esi retn ;------------------------------------------------------------------------------ Align 8 jmp_KERNEL32.dll!RtlUnwind: jmp [KERNEL32.dll!RtlUnwind] Align 16 L004E0B10: mov ecx,[ebp-10h] add ecx,00000024h jmp SUB_L00402C50 L004E0B1B: mov eax,L004F2A90 jmp L004D4C59 Align 16 L004E0B30: mov ecx,[ebp-10h] add ecx,00000024h jmp SUB_L00402C50 L004E0B3B: mov eax,L004F2AB8 jmp L004D4C59 Align 16 L004E0B50: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0B5B: mov eax,L004F2AE0 jmp L004D4C59 Align 16 L004E0B70: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0B7B: mov eax,L004F2B08 jmp L004D4C59 Align 16 L004E0B90: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0B9B: mov eax,L004F2B30 jmp L004D4C59 Align 16 L004E0BB0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0BBB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0BC6: mov eax,L004F2B58 jmp L004D4C59 L004E0BD0: lea ecx,[ebp-50h] jmp SUB_L0040C3C0 L004E0BD8: mov eax,L004F2B88 jmp L004D4C59 Align 16 L004E0BF0: mov ecx,[ebp-00000410h] jmp SUB_L00458FF0 L004E0BFB: mov eax,L004F2BB0 jmp L004D4C59 Align 16 L004E0C10: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0C18: mov eax,L004F2BD8 jmp L004D4C59 Align 16 L004E0C30: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0C38: mov eax,L004F2C00 jmp L004D4C59 Align 16 L004E0C50: mov ecx,[ebp-00000810h] jmp SUB_L00411830 L004E0C5B: mov eax,L004F2C28 jmp L004D4C59 Align 16 L004E0C70: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0C7B: mov eax,L004F2C50 jmp L004D4C59 Align 16 L004E0C90: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E0C98: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0CA3: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0CAE: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0CB9: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0CC4: mov eax,L004F2C78 jmp L004D4C59 Align 4 L004E0CD0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0CD8: mov eax,L004F2CC0 jmp L004D4C59 Align 16 L004E0CF0: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0CFB: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0D06: mov eax,L004F2CE8 jmp L004D4C59 L004E0D10: mov eax,[ebp-60h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0D1B: mov eax,L004F2D18 jmp L004D4C59 Align 16 L004E0D30: mov ecx,[ebp-00000098h] jmp SUB_L00458FF0 L004E0D3B: mov eax,L004F2D40 jmp L004D4C59 Align 16 L004E0D50: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0D58: mov eax,L004F2D68 jmp L004D4C59 Align 16 L004E0D70: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E0D78: mov eax,[ebp+28h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0D83: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0D8E: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0D99: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0DA4: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0DAF: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0DBA: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0DC5: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0DD0: mov eax,L004F2D90 jmp L004D4C59 Align 8 L004E0DE0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0DE8: mov eax,L004F2DF8 jmp L004D4C59 Align 16 L004E0E00: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E0E08: mov eax,L004F2E20 jmp L004D4C59 Align 16 L004E0E20: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E0E28: mov eax,L004F2E48 jmp L004D4C59 Align 16 L004E0E40: mov ecx,[ebp-00000668h] jmp SUB_L00458FF0 L004E0E4B: mov eax,[ebp-00000678h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0E59: mov eax,[ebp-00000678h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0E67: mov eax,L004F2E70 jmp L004D4C59 Align 16 L004E0E80: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0E88: mov eax,L004F2EA8 jmp L004D4C59 Align 16 L004E0EA0: mov ecx,[ebp-10h] jmp SUB_L004172F0 L004E0EA8: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0EB3: mov eax,L004F2ED0 jmp L004D4C59 Align 4 L004E0EC0: mov ecx,[ebp-10h] jmp SUB_L004172F0 L004E0EC8: mov eax,L004F2F00 jmp L004D4C59 Align 16 L004E0EE0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0EEB: mov eax,L004F2F28 jmp L004D4C59 Align 16 L004E0F00: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0F08: mov eax,L004F2F50 jmp L004D4C59 Align 16 L004E0F20: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0F28: mov eax,L004F2F78 jmp L004D4C59 Align 16 L004E0F40: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0F48: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0F53: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0F5E: mov eax,L004F2FA0 jmp L004D4C59 Align 16 L004E0F70: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E0F78: mov eax,L004F2FD8 jmp L004D4C59 Align 16 L004E0F90: mov eax,[ebp-30h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0F9B: lea ecx,[ebp-2Ch] jmp SUB_L004C8100 L004E0FA3: lea ecx,[ebp-2Ch] jmp SUB_L004C8100 L004E0FAB: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E0FB3: mov eax,L004F3000 jmp L004D4C59 Align 4 L004E0FC0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0FCB: mov eax,L004F3040 jmp L004D4C59 Align 16 L004E0FE0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E0FEB: mov eax,L004F3068 jmp L004D4C59 Align 16 L004E1000: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E100B: mov eax,L004F3090 jmp L004D4C59 Align 16 L004E1020: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E102B: mov eax,L004F30B8 jmp L004D4C59 Align 16 L004E1040: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E104B: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1056: mov eax,L004F30E0 jmp L004D4C59 L004E1060: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E106B: mov eax,L004F3110 jmp L004D4C59 Align 16 L004E1080: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E108B: mov eax,L004F3138 jmp L004D4C59 Align 16 L004E10A0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E10AB: mov eax,L004F3160 jmp L004D4C59 Align 16 L004E10C0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E10CB: mov eax,L004F3188 jmp L004D4C59 Align 16 L004E10E0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E10EB: mov eax,L004F31B0 jmp L004D4C59 Align 16 L004E1100: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E110B: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1116: mov eax,L004F31D8 jmp L004D4C59 L004E1120: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E112B: mov eax,L004F3208 jmp L004D4C59 Align 16 L004E1140: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E114B: mov eax,L004F3230 jmp L004D4C59 Align 16 L004E1160: mov eax,[ebp-58h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E116B: mov eax,L004F3258 jmp L004D4C59 Align 16 L004E1180: mov eax,[ebp-5Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E118B: mov eax,L004F3280 jmp L004D4C59 Align 16 L004E11A0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E11AB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E11B6: mov eax,L004F32A8 jmp L004D4C59 L004E11C0: lea ecx,[ebp-000000BCh] jmp SUB_L0043CE40 L004E11CB: mov eax,L004F32D8 jmp L004D4C59 Align 16 L004E11E0: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E11EB: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E11F6: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1201: mov eax,L004F3300 jmp L004D4C59 Align 8 L004E1210: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E121B: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1226: mov eax,L004F3338 jmp L004D4C59 L004E1230: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E123B: mov eax,L004F3368 jmp L004D4C59 Align 16 L004E1250: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E125B: mov eax,L004F3390 jmp L004D4C59 Align 16 L004E1270: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E127B: mov eax,L004F33B8 jmp L004D4C59 Align 16 L004E1290: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E129B: mov eax,L004F33E0 jmp L004D4C59 Align 16 L004E12B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E12BB: mov eax,L004F3408 jmp L004D4C59 Align 16 L004E12D0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E12DB: mov eax,L004F3430 jmp L004D4C59 Align 16 L004E12F0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E12FB: mov eax,L004F3458 jmp L004D4C59 Align 16 L004E1310: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E131B: mov eax,L004F3480 jmp L004D4C59 Align 16 L004E1330: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E133B: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1346: mov eax,L004F34A8 jmp L004D4C59 L004E1350: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1358: mov eax,L004F34D8 jmp L004D4C59 Align 16 L004E1370: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1378: mov eax,L004F3500 jmp L004D4C59 Align 16 L004E1390: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1398: mov eax,L004F3528 jmp L004D4C59 Align 16 L004E13B0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E13B8: mov eax,L004F3550 jmp L004D4C59 Align 16 L004E13D0: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E13D8: mov eax,L004F3578 jmp L004D4C59 Align 16 L004E13F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E13F8: mov eax,L004F35A0 jmp L004D4C59 Align 16 L004E1410: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1418: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1423: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E142E: mov eax,L004F35C8 jmp L004D4C59 Align 16 L004E1440: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1448: mov eax,L004F3600 jmp L004D4C59 Align 16 L004E1460: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E146B: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1476: mov eax,L004F3628 jmp L004D4C59 L004E1480: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1488: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1493: mov eax,L004F3658 jmp L004D4C59 Align 4 L004E14A0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E14A8: mov eax,L004F3688 jmp L004D4C59 Align 16 L004E14C0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E14CB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E14D6: mov eax,L004F36B0 jmp L004D4C59 L004E14E0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E14EB: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E14F6: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1501: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E150C: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1517: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1522: mov eax,L004F36F0 jmp L004D4C59 Align 8 L004E1530: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1538: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1543: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E154E: mov eax,L004F3740 jmp L004D4C59 Align 16 L004E1560: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1568: mov eax,L004F3778 jmp L004D4C59 Align 16 L004E1580: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E158B: mov eax,L004F37A0 jmp L004D4C59 Align 16 L004E15A0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E15A8: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15B3: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15BE: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15C9: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15D4: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15DF: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15EA: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E15F5: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1600: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E160B: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1616: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1621: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E162C: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1637: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1642: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E164D: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1658: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1663: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E166E: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1679: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1684: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E168F: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E169A: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E16A5: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E16B0: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E16BB: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E16C6: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E16D1: mov eax,L004F37C8 jmp L004D4C59 Align 8 L004E16E0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E16E8: mov eax,L004F38C8 jmp L004D4C59 Align 16 L004E1700: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E170B: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1716: mov eax,L004F38F0 jmp L004D4C59 L004E1720: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1728: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1733: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E173E: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1749: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1754: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E175F: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E176A: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1775: mov eax,L004F3920 jmp L004D4C59 Align 4 L004E1780: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E1788: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1793: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E179E: mov eax,L004F3980 jmp L004D4C59 Align 16 L004E17B0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E17B8: mov eax,L004F39B8 jmp L004D4C59 Align 16 L004E17D0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E17D8: mov eax,L004F39E0 jmp L004D4C59 Align 16 L004E17F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E17F8: mov eax,L004F3A08 jmp L004D4C59 Align 16 L004E1810: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1818: mov eax,L004F3A30 jmp L004D4C59 Align 16 L004E1830: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1838: mov eax,L004F3A58 jmp L004D4C59 Align 16 L004E1850: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1858: mov eax,L004F3A80 jmp L004D4C59 Align 16 L004E1870: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E1878: mov eax,L004F3AA8 jmp L004D4C59 Align 16 L004E1890: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1898: mov eax,L004F3AD0 jmp L004D4C59 Align 16 L004E18B0: mov ecx,[ebp-10h] jmp SUB_L0042D5C0 L004E18B8: mov eax,L004F3AF8 jmp L004D4C59 Align 16 L004E18D0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E18D8: mov eax,L004F3B20 jmp L004D4C59 Align 16 L004E18F0: mov ecx,[ebp-00000090h] jmp SUB_L00458FF0 L004E18FB: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1909: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1917: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1925: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1933: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1941: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E194F: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E195D: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E196B: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1979: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1987: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1995: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E19A3: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E19B1: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E19BF: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E19CD: mov eax,[ebp-00000098h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E19DB: mov eax,L004F3B48 jmp L004D4C59 Align 16 L004E19F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E19F8: mov eax,L004F3BF0 jmp L004D4C59 Align 16 L004E1A10: mov ecx,[ebp-74h] jmp SUB_L00458FF0 L004E1A18: mov eax,[ebp-70h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1A23: mov eax,[ebp-70h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1A2E: mov eax,L004F3C18 jmp L004D4C59 Align 16 L004E1A40: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1A48: mov eax,L004F3C50 jmp L004D4C59 Align 16 L004E1A60: mov ecx,[ebp-70h] jmp SUB_L00458FF0 L004E1A68: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1A73: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1A7E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1A89: mov eax,L004F3C78 jmp L004D4C59 Align 16 L004E1AA0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1AA8: mov eax,L004F3CB8 jmp L004D4C59 Align 16 L004E1AC0: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E1AC8: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1AD3: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1ADE: mov eax,L004F3CE0 jmp L004D4C59 Align 16 L004E1AF0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1AF8: mov eax,L004F3D18 jmp L004D4C59 Align 16 L004E1B10: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1B1B: mov eax,L004F3D40 jmp L004D4C59 Align 16 L004E1B30: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1B3B: mov eax,L004F3D68 jmp L004D4C59 Align 16 L004E1B50: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1B5B: mov eax,L004F3D90 jmp L004D4C59 Align 16 L004E1B70: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1B7B: mov eax,L004F3DB8 jmp L004D4C59 Align 16 L004E1B90: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1B9B: mov eax,L004F3DE0 jmp L004D4C59 Align 16 L004E1BB0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1BBB: mov eax,L004F3E08 jmp L004D4C59 Align 16 L004E1BD0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1BDB: mov eax,L004F3E30 jmp L004D4C59 Align 16 L004E1BF0: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E1BF8: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C03: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C0E: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C19: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C24: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C2F: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C3A: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C45: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C50: mov eax,L004F3E58 jmp L004D4C59 Align 8 L004E1C60: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E1C68: mov eax,L004F3EC0 jmp L004D4C59 Align 16 L004E1C80: mov ecx,[ebp-18h] jmp L004477C0 L004E1C88: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C93: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1C9E: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CA9: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CB4: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CBF: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CCA: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CD5: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CE0: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CEB: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1CF6: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D01: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D0C: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D17: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D22: mov eax,L004F3EE8 jmp L004D4C59 Align 8 L004E1D30: mov ecx,[ebp-50h] jmp L004477C0 L004E1D38: mov eax,L004F3F80 jmp L004D4C59 Align 16 L004E1D50: mov eax,[ebp-00002820h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D5E: mov eax,[ebp-00002820h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D6C: mov eax,[ebp-00002820h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1D7A: mov eax,L004F3FA8 jmp L004D4C59 Align 16 L004E1D90: mov ecx,[ebp-10h] jmp L004477C0 L004E1D98: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DA3: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DAE: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DB9: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DC4: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DCF: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DDA: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DE5: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DF0: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1DFB: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E06: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E11: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E1C: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E27: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E32: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E3D: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E48: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E53: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E5E: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E69: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E74: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E7F: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1E8A: mov eax,L004F3FE0 jmp L004D4C59 Align 16 L004E1EA0: mov ecx,[ebp-00002018h] jmp L004477C0 L004E1EAB: mov eax,L004F40B8 jmp L004D4C59 Align 16 L004E1EC0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1ECB: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1ED6: mov eax,L004F40E0 jmp L004D4C59 L004E1EE0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1EEB: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1EF6: mov eax,L004F4110 jmp L004D4C59 L004E1F00: mov ecx,[ebp-10h] jmp L004477C0 L004E1F08: mov eax,L004F4140 jmp L004D4C59 Align 16 L004E1F20: mov ecx,[ebp-10h] jmp L004477C0 L004E1F28: mov eax,L004F4168 jmp L004D4C59 Align 16 L004E1F40: mov ecx,[ebp-18h] jmp L004477C0 L004E1F48: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F53: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F5E: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F69: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F74: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F7F: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1F8A: mov eax,L004F4190 jmp L004D4C59 Align 16 L004E1FA0: mov ecx,[ebp-10h] jmp L004477C0 L004E1FA8: mov eax,L004F41E8 jmp L004D4C59 Align 16 L004E1FC0: mov ecx,[ebp-14h] jmp L004477C0 L004E1FC8: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1FD3: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1FDE: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E1FE9: mov eax,L004F4210 jmp L004D4C59 Align 16 L004E2000: mov ecx,[ebp-10h] jmp L004477C0 L004E2008: mov eax,L004F4250 jmp L004D4C59 Align 16 L004E2020: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E202B: mov eax,L004F4278 jmp L004D4C59 Align 16 L004E2040: mov ecx,[ebp-10h] jmp L004477C0 L004E2048: mov eax,L004F42A0 jmp L004D4C59 Align 16 L004E2060: mov ecx,[ebp-10h] jmp L004477C0 L004E2068: mov eax,L004F42C8 jmp L004D4C59 Align 16 L004E2080: lea ecx,[ebp-1Ch] jmp SUB_L004B3270 L004E2088: mov eax,L004F42F0 jmp L004D4C59 Align 16 L004E20A0: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E20A8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E20B3: mov eax,L004F4318 jmp L004D4C59 Align 4 L004E20C0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E20C8: mov eax,L004F4348 jmp L004D4C59 Align 16 L004E20E0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E20E8: mov ecx,[ebp-10h] add ecx,000000D8h jmp SUB_L00402C50 L004E20F6: push SUB_L00402C50 push 00000002h push 0000000Ch mov eax,[ebp-10h] add eax,000000ECh push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E210E: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2119: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2124: mov eax,L004F4370 jmp L004D4C59 Align 4 L004E2130: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E2138: mov ecx,[ebp-20h] add ecx,000000D8h jmp SUB_L00402C50 L004E2146: push SUB_L00402C50 push 00000002h push 0000000Ch mov eax,[ebp-20h] add eax,000000ECh push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E215E: mov eax,L004F43B8 jmp L004D4C59 Align 16 L004E2170: mov eax,[ebp-0000044Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E217E: mov eax,L004F43F0 jmp L004D4C59 Align 16 L004E2190: mov ecx,[ebp-10h] add ecx,0000000Ch jmp L0043D950 L004E219B: mov eax,L004F4418 jmp L004D4C59 Align 16 L004E21B0: lea ecx,[ebp-30h] jmp SUB_L004C8100 L004E21B8: lea ecx,[ebp-60h] jmp SUB_L004C8100 L004E21C0: lea ecx,[ebp-30h] jmp SUB_L0043D940 L004E21C8: lea ecx,[ebp-7Ch] jmp L0043DA10 L004E21D0: lea ecx,[ebp-70h] jmp SUB_L004C8100 L004E21D8: lea ecx,[ebp-50h] jmp SUB_L004C8100 L004E21E0: mov eax,[ebp-80h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E21EB: lea ecx,[ebp-40h] jmp SUB_L004C8100 L004E21F3: mov eax,[ebp-80h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E21FE: mov eax,L004F4440 jmp L004D4C59 Align 16 L004E2210: mov ecx,[ebp-20h] jmp SUB_L004C8100 L004E2218: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E2220: mov eax,L004F44A8 jmp L004D4C59 Align 8 L004E2230: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E223B: mov ecx,[ebp-10h] jmp SUB_L004C8100 L004E2243: mov eax,L004F44D8 jmp L004D4C59 Align 4 L004E2250: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E2258: mov eax,L004F4508 jmp L004D4C59 Align 16 L004E2270: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E2278: mov eax,L004F4530 jmp L004D4C59 Align 16 L004E2290: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E2298: mov eax,L004F4558 jmp L004D4C59 Align 16 L004E22B0: lea ecx,[ebp-38h] jmp SUB_L00402C50 L004E22B8: lea ecx,[ebp-000000C8h] jmp SUB_L00402C50 L004E22C3: lea ecx,[ebp-000000ACh] jmp SUB_L00402C50 L004E22CE: mov eax,L004F4580 jmp L004D4C59 Align 16 L004E22E0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E22E8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E22F3: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E22FE: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2309: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2314: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E231F: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E232A: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2335: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2340: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E234B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2356: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2361: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E236C: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2377: mov eax,L004F45B8 jmp L004D4C59 Align 16 L004E2390: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E2398: mov eax,L004F4648 jmp L004D4C59 Align 16 L004E23B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E23BB: mov eax,L004F4670 jmp L004D4C59 Align 16 L004E23D0: mov ecx,[ebp-0000109Ch] jmp SUB_L00458FF0 L004E23DB: mov eax,[ebp-00001030h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E23E9: lea ecx,[ebp-0000102Ch] jmp SUB_L004C8100 L004E23F4: lea ecx,[ebp-0000101Ch] jmp SUB_L004C8100 L004E23FF: mov eax,L004F4698 jmp L004D4C59 Align 8 L004E2410: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E2418: mov eax,L004F46D8 jmp L004D4C59 Align 16 L004E2430: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E243B: mov eax,L004F4700 jmp L004D4C59 Align 16 L004E2450: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E245B: mov eax,L004F4728 jmp L004D4C59 Align 16 L004E2470: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E247B: mov eax,L004F4750 jmp L004D4C59 Align 16 L004E2490: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E249B: mov eax,L004F4778 jmp L004D4C59 Align 16 L004E24B0: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E24BB: mov eax,L004F47A0 jmp L004D4C59 Align 16 L004E24D0: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E24DB: mov eax,L004F47C8 jmp L004D4C59 Align 16 L004E24F0: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E24FB: mov eax,L004F47F0 jmp L004D4C59 Align 16 L004E2510: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E251B: mov eax,L004F4818 jmp L004D4C59 Align 16 L004E2530: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E253B: mov eax,L004F4840 jmp L004D4C59 Align 16 L004E2550: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E255B: mov eax,L004F4868 jmp L004D4C59 Align 16 L004E2570: mov ecx,[ebp-10h] jmp L00445BA0 L004E2578: mov eax,[ebp+40h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2583: mov eax,L004F4890 jmp L004D4C59 Align 4 L004E2590: mov ecx,[ebp-10h] jmp L00445BA0 L004E2598: mov eax,L004F48C0 jmp L004D4C59 Align 16 L004E25B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E25BB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E25C6: mov eax,L004F48E8 jmp L004D4C59 L004E25D0: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E25DB: mov eax,L004F4918 jmp L004D4C59 Align 16 L004E25F0: mov ecx,[ebp-00000224h] jmp L004477C0 L004E25FB: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2609: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2617: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2625: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2633: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2641: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E264F: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E265D: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E266B: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2679: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2687: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2695: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E26A3: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E26B1: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E26BF: mov eax,L004F4940 jmp L004D4C59 Align 8 L004E26D0: mov ecx,[ebp-00000224h] jmp L004477C0 L004E26DB: mov eax,L004F49D8 jmp L004D4C59 Align 16 L004E26F0: mov ecx,[ebp-10h] jmp L004477C0 L004E26F8: mov eax,L004F4A00 jmp L004D4C59 Align 16 L004E2710: mov ecx,[ebp-10h] jmp L004477C0 L004E2718: mov eax,L004F4A28 jmp L004D4C59 Align 16 L004E2730: mov ecx,[ebp-10h] jmp L004477C0 L004E2738: mov eax,L004F4A50 jmp L004D4C59 Align 16 L004E2750: mov ecx,[ebp-10h] jmp L004477C0 L004E2758: mov eax,L004F4A78 jmp L004D4C59 Align 16 L004E2770: mov ecx,[ebp-14h] jmp L004477C0 L004E2778: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2783: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E278E: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2799: mov eax,L004F4AA0 jmp L004D4C59 Align 16 L004E27B0: mov ecx,[ebp-10h] jmp L004477C0 L004E27B8: mov eax,L004F4AE0 jmp L004D4C59 Align 16 L004E27D0: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E27DB: mov eax,L004F4B08 jmp L004D4C59 Align 16 L004E27F0: mov ecx,[ebp-10h] jmp L004477C0 L004E27F8: mov eax,L004F4B30 jmp L004D4C59 Align 16 L004E2810: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E281B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2826: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2831: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E283C: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2847: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2852: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E285D: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2868: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2873: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E287E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2889: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2894: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E289F: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E28AA: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E28B5: mov eax,L004F4B58 jmp L004D4C59 Align 4 L004E28C0: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E28C8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E28D3: mov eax,L004F4BF0 jmp L004D4C59 Align 4 L004E28E0: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E28E8: mov eax,L004F4C20 jmp L004D4C59 Align 16 L004E2900: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2908: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2913: mov eax,L004F4C48 jmp L004D4C59 Align 4 L004E2920: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2928: mov eax,L004F4C78 jmp L004D4C59 Align 16 L004E2940: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E294E: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E295C: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E296A: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2978: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2986: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2994: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E29A2: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E29B0: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E29BE: mov eax,L004F4CA0 jmp L004D4C59 Align 16 L004E29D0: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E29D8: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E29E3: mov eax,L004F4D08 jmp L004D4C59 Align 4 L004E29F0: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E29FE: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A0C: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A1A: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A28: mov eax,L004F4D38 jmp L004D4C59 Align 16 L004E2A40: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2A48: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A53: mov eax,L004F4D78 jmp L004D4C59 Align 4 L004E2A60: mov ecx,[ebp-0000FE10h] jmp SUB_L00449D30 L004E2A6B: mov eax,[ebp-0000FE24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A79: mov eax,[ebp-0000FE24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A87: mov eax,[ebp-0000FE24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2A95: mov eax,[ebp-0000FE24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2AA3: mov eax,[ebp-0000FE24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2AB1: mov eax,L004F4DA8 jmp L004D4C59 Align 8 L004E2AC0: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2AC8: mov eax,L004F4DF8 jmp L004D4C59 Align 16 L004E2AE0: mov eax,[ebp-0000FAD8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2AEE: mov eax,[ebp-0000FAD8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2AFC: mov eax,L004F4E20 jmp L004D4C59 Align 16 L004E2B10: mov ecx,[ebp-00000210h] jmp SUB_L00449D30 L004E2B1B: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B29: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B37: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B45: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B53: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B61: mov eax,L004F4E50 jmp L004D4C59 Align 8 L004E2B70: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2B78: mov eax,L004F4EA0 jmp L004D4C59 Align 16 L004E2B90: mov eax,[ebp-0000FAD8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2B9E: mov eax,[ebp-0000FAD8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2BAC: mov eax,L004F4EC8 jmp L004D4C59 Align 16 L004E2BC0: mov ecx,[ebp-00000210h] jmp SUB_L00449D30 L004E2BCB: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2BD9: mov eax,[ebp-00000214h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2BE7: mov eax,L004F4EF8 jmp L004D4C59 Align 16 L004E2C00: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2C0E: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2C1C: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2C2A: mov eax,[ebp-000002D8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2C38: mov eax,L004F4F30 jmp L004D4C59 Align 16 L004E2C50: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2C58: mov eax,L004F4F70 jmp L004D4C59 Align 16 L004E2C70: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2C78: mov eax,L004F4F98 jmp L004D4C59 Align 16 L004E2C90: mov ecx,[ebp-10h] jmp SUB_L00449D30 L004E2C98: mov eax,[ebp+18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2CA3: mov eax,L004F4FC0 jmp L004D4C59 Align 4 L004E2CB0: lea ecx,[ebp+1Ch] jmp SUB_L00402C50 L004E2CB8: lea ecx,[ebp+14h] jmp SUB_L00402C50 L004E2CC0: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E2CC8: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2CD0: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2CDB: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2CE3: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2CEE: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2CF6: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D01: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D0C: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D17: mov eax,[ebp+38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D22: mov eax,[ebp+38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D2D: mov eax,L004F4FF0 jmp L004D4C59 Align 16 L004E2D40: lea ecx,[ebp+0Ch] jmp SUB_L00402C50 L004E2D48: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E2D50: mov ecx,[ebp-18h] jmp SUB_L00458FF0 L004E2D58: mov ecx,[ebp-18h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2D66: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2D71: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E2D79: mov ecx,[ebp+1Ch] jmp SUB_L00402CD0 L004E2D81: mov eax,L004F5078 jmp L004D4C59 Align 8 L004E2D90: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E2D98: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E2DA0: mov ecx,[ebp-20h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2DAE: mov eax,[ebp-24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2DB9: lea ecx,[ebp-18h] jmp SUB_L00402C50 L004E2DC1: mov ecx,[ebp-24h] jmp SUB_L00402CD0 L004E2DC9: mov eax,L004F50D0 jmp L004D4C59 Align 16 L004E2DE0: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E2DE8: mov ecx,[ebp-28h] jmp SUB_L00458FF0 L004E2DF0: mov ecx,[ebp-28h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2DFE: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E2E06: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2E11: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E2E19: mov ecx,[ebp+1Ch] jmp SUB_L00402CD0 L004E2E21: mov eax,L004F5120 jmp L004D4C59 Align 8 L004E2E30: mov ecx,[ebp-24h] jmp SUB_L00458FF0 L004E2E38: mov ecx,[ebp-24h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2E46: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2E51: lea ecx,[ebp-18h] jmp SUB_L00402C50 L004E2E59: mov ecx,[ebp-20h] jmp SUB_L00402CD0 L004E2E61: mov eax,L004F5178 jmp L004D4C59 Align 8 L004E2E70: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E2E78: mov ecx,[ebp-18h] jmp SUB_L00458FF0 L004E2E80: mov ecx,[ebp-18h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2E8E: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2E99: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2EA1: mov ecx,[ebp+14h] jmp SUB_L00402CD0 L004E2EA9: mov eax,L004F51C0 jmp L004D4C59 Align 16 L004E2EC0: mov ecx,[ebp-18h] jmp SUB_L00458FF0 L004E2EC8: mov ecx,[ebp-18h] add ecx,0000009Ch jmp SUB_L00402C50 L004E2ED6: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2EE1: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2EE9: mov ecx,[ebp+0Ch] jmp SUB_L00402CD0 L004E2EF1: mov eax,L004F5210 jmp L004D4C59 Align 8 L004E2F00: lea ecx,[ebp+1Ch] jmp SUB_L00402C50 L004E2F08: lea ecx,[ebp+14h] jmp SUB_L00402C50 L004E2F10: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E2F18: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2F20: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F2B: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2F33: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F3E: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E2F46: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F51: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F5C: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F67: mov eax,[ebp+38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F72: mov eax,[ebp+38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2F7D: mov eax,L004F5258 jmp L004D4C59 Align 16 L004E2F90: lea ecx,[ebp+10h] jmp SUB_L00402C50 L004E2F98: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E2FA0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2FAB: mov eax,L004F52E0 jmp L004D4C59 Align 16 L004E2FC0: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E2FC8: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2FD3: mov eax,L004F5318 jmp L004D4C59 Align 4 L004E2FE0: lea ecx,[ebp+0Ch] jmp SUB_L00402C50 L004E2FE8: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E2FF3: mov eax,L004F5348 jmp L004D4C59 Align 4 L004E3000: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E300B: mov eax,L004F5378 jmp L004D4C59 Align 16 L004E3020: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E3028: mov eax,L004F53A0 jmp L004D4C59 Align 16 L004E3040: lea ecx,[ebp+0Ch] jmp SUB_L00402C50 L004E3048: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E3050: mov ecx,[ebp-18h] jmp SUB_L00458FF0 L004E3058: mov ecx,[ebp-18h] add ecx,0000009Ch jmp SUB_L00402C50 L004E3066: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3071: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E3079: mov ecx,[ebp+1Ch] jmp SUB_L00402CD0 L004E3081: mov eax,L004F53C8 jmp L004D4C59 Align 8 L004E3090: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E3098: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E30A0: mov ecx,[ebp-20h] add ecx,0000009Ch jmp SUB_L00402C50 L004E30AE: mov eax,[ebp-24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E30B9: lea ecx,[ebp-18h] jmp SUB_L00402C50 L004E30C1: mov ecx,[ebp-24h] jmp SUB_L00402CD0 L004E30C9: mov eax,L004F5420 jmp L004D4C59 Align 16 L004E30E0: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E30E8: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E30F0: mov ecx,[ebp-20h] add ecx,0000009Ch jmp SUB_L00402C50 L004E30FE: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E3106: mov eax,[ebp+1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3111: lea ecx,[ebp-30h] jmp SUB_L00402C50 L004E3119: mov ecx,[ebp+1Ch] jmp SUB_L00402CD0 L004E3121: mov eax,L004F5470 jmp L004D4C59 Align 8 L004E3130: mov ecx,[ebp-24h] jmp SUB_L00458FF0 L004E3138: mov ecx,[ebp-24h] add ecx,0000009Ch jmp SUB_L00402C50 L004E3146: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3151: lea ecx,[ebp-18h] jmp SUB_L00402C50 L004E3159: mov ecx,[ebp-20h] jmp SUB_L00402CD0 L004E3161: mov eax,L004F54C8 jmp L004D4C59 Align 8 L004E3170: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E3178: mov ecx,[ebp-18h] jmp SUB_L00458FF0 L004E3180: mov ecx,[ebp-18h] add ecx,0000009Ch jmp SUB_L00402C50 L004E318E: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3199: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E31A1: mov ecx,[ebp+14h] jmp SUB_L00402CD0 L004E31A9: mov eax,L004F5510 jmp L004D4C59 Align 16 L004E31C0: mov ecx,[ebp-1Ch] jmp SUB_L00458FF0 L004E31C8: mov ecx,[ebp-1Ch] add ecx,0000009Ch jmp SUB_L00402C50 L004E31D6: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E31E1: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E31E9: mov ecx,[ebp-18h] jmp SUB_L00402CD0 L004E31F1: mov eax,L004F5560 jmp L004D4C59 Align 8 L004E3200: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3208: mov ecx,[ebp-10h] add ecx,0000009Ch jmp SUB_L00402C50 L004E3216: mov eax,L004F55A8 jmp L004D4C59 L004E3220: lea ecx,[ebp-28h] jmp SUB_L00402C50 L004E3228: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3233: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E323E: mov eax,L004F55D8 jmp L004D4C59 Align 16 L004E3250: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E325B: mov eax,L004F5610 jmp L004D4C59 Align 16 L004E3270: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E327B: mov eax,L004F5638 jmp L004D4C59 Align 16 L004E3290: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E329B: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32A6: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32B1: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32BC: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32C7: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32D2: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32DD: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32E8: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32F3: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E32FE: mov eax,L004F5660 jmp L004D4C59 Align 16 L004E3310: mov eax,[ebp-0000027Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E331E: mov eax,[ebp-0000027Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E332C: mov eax,[ebp-0000027Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E333A: mov eax,[ebp-0000027Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3348: mov eax,L004F56D0 jmp L004D4C59 Align 16 L004E3360: mov eax,[ebp-000003F8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E336E: mov eax,[ebp-000003F8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E337C: mov eax,L004F5710 jmp L004D4C59 Align 16 L004E3390: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E339B: mov eax,L004F5740 jmp L004D4C59 Align 16 L004E33B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E33BB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E33C6: mov eax,L004F5768 jmp L004D4C59 L004E33D0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E33DB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E33E6: mov eax,L004F5798 jmp L004D4C59 L004E33F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E33F8: mov eax,L004F57C8 jmp L004D4C59 Align 16 L004E3410: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3418: mov eax,L004F57F0 jmp L004D4C59 Align 16 L004E3430: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E3438: mov eax,L004F5818 jmp L004D4C59 Align 16 L004E3450: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3458: mov eax,L004F5840 jmp L004D4C59 Align 16 L004E3470: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3478: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3483: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E348E: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3499: mov eax,[ebp+20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E34A4: mov eax,L004F5868 jmp L004D4C59 Align 4 L004E34B0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E34B8: mov eax,L004F58B0 jmp L004D4C59 Align 16 L004E34D0: lea ecx,[ebp-34h] jmp SUB_L00402C50 L004E34D8: lea ecx,[ebp-2Ch] jmp SUB_L00402C50 L004E34E0: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E34E8: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E34F3: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E34FE: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E3506: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E350E: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3519: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3521: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E352C: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3534: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E353F: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E354A: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3555: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3560: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E356B: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3573: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E357B: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3586: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E358E: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3599: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E35A1: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E35AC: mov eax,[ebp-38h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E35B7: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E35C2: mov eax,L004F58D8 jmp L004D4C59 Align 8 L004E35D0: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E35D8: mov ecx,[ebp-1Ch] jmp SUB_L00458FF0 L004E35E0: mov ecx,[ebp-1Ch] add ecx,0000009Ch jmp SUB_L00402C50 L004E35EE: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E35F9: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3601: mov ecx,[ebp-18h] jmp SUB_L00402CD0 L004E3609: mov eax,L004F59C0 jmp L004D4C59 Align 16 L004E3620: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E362B: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3636: mov eax,L004F5A10 jmp L004D4C59 L004E3640: mov eax,[ebp-00010010h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E364E: mov eax,[ebp-00010010h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E365C: mov eax,[ebp-00010010h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E366A: mov eax,[ebp-00010010h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3678: mov eax,L004F5A40 jmp L004D4C59 Align 16 L004E3690: mov ecx,[ebp-1Ch] jmp L004477C0 L004E3698: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36A3: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36AE: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36B9: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36C4: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36CF: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E36DA: mov eax,L004F5A80 jmp L004D4C59 Align 16 L004E36F0: mov ecx,[ebp-10h] jmp L004477C0 L004E36F8: mov eax,L004F5AD8 jmp L004D4C59 Align 16 L004E3710: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E371B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3726: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3731: mov eax,L004F5B00 jmp L004D4C59 Align 8 L004E3740: mov eax,[ebp-00000410h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E374E: mov eax,L004F5B38 jmp L004D4C59 Align 16 L004E3760: mov ecx,[ebp-10h] jmp L004477C0 L004E3768: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3773: mov eax,L004F5B60 jmp L004D4C59 Align 4 L004E3780: mov ecx,[ebp-10h] jmp L004477C0 L004E3788: mov eax,L004F5B90 jmp L004D4C59 Align 16 L004E37A0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E37AB: mov eax,L004F5BB8 jmp L004D4C59 Align 16 L004E37C0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E37CB: mov eax,L004F5BE0 jmp L004D4C59 Align 16 L004E37E0: mov ecx,[ebp-10h] jmp L004477C0 L004E37E8: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E37F3: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E37FE: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3809: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3814: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E381F: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E382A: mov eax,L004F5C08 jmp L004D4C59 Align 16 L004E3840: mov ecx,[ebp-10h] jmp L004477C0 L004E3848: mov eax,L004F5C60 jmp L004D4C59 Align 16 L004E3860: mov ecx,[ebp-10h] jmp L004477C0 L004E3868: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3873: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E387E: mov eax,L004F5C88 jmp L004D4C59 Align 16 L004E3890: mov ecx,[ebp-10h] jmp L004477C0 L004E3898: mov eax,L004F5CC0 jmp L004D4C59 Align 16 L004E38B0: mov ecx,[ebp-10h] jmp L004477C0 L004E38B8: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E38C3: mov eax,L004F5CE8 jmp L004D4C59 Align 4 L004E38D0: mov ecx,[ebp-10h] jmp L004477C0 L004E38D8: mov eax,L004F5D18 jmp L004D4C59 Align 16 L004E38F0: mov ecx,[ebp-10h] jmp L004477C0 L004E38F8: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3903: mov eax,L004F5D40 jmp L004D4C59 Align 4 L004E3910: mov ecx,[ebp-10h] jmp L004477C0 L004E3918: mov eax,L004F5D70 jmp L004D4C59 Align 16 L004E3930: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E393E: mov eax,[ebp-00000228h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E394C: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E395A: mov eax,L004F5D98 jmp L004D4C59 Align 16 L004E3970: mov ecx,[ebp-10h] jmp L004477C0 L004E3978: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3983: mov eax,L004F5DD0 jmp L004D4C59 Align 4 L004E3990: mov ecx,[ebp-10h] jmp L004477C0 L004E3998: mov eax,L004F5E00 jmp L004D4C59 Align 16 L004E39B0: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E39BE: mov eax,L004F5E28 jmp L004D4C59 Align 16 L004E39D0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E39D8: mov eax,L004F5E50 jmp L004D4C59 Align 16 L004E39F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E39F8: mov eax,L004F5E78 jmp L004D4C59 Align 16 L004E3A10: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3A18: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A23: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A2E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A39: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A44: mov eax,L004F5EA0 jmp L004D4C59 Align 4 L004E3A50: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3A58: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A63: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A6E: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A79: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3A84: mov eax,L004F5EE8 jmp L004D4C59 Align 4 L004E3A90: mov ecx,[ebp-1Ch] jmp SUB_L00458FF0 L004E3A98: mov eax,L004F5F30 jmp L004D4C59 Align 16 L004E3AB0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3ABB: mov eax,L004F5F58 jmp L004D4C59 Align 16 L004E3AD0: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3ADE: mov eax,L004F5F80 jmp L004D4C59 Align 16 L004E3AF0: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3AFE: mov eax,L004F5FA8 jmp L004D4C59 Align 16 L004E3B10: mov eax,[ebp-00000698h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B1E: mov eax,[ebp-00000698h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B2C: mov eax,[ebp-00000698h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B3A: mov eax,L004F5FD0 jmp L004D4C59 Align 16 L004E3B50: mov eax,[ebp-00000590h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B5E: mov eax,[ebp-00000590h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B6C: mov eax,L004F6008 jmp L004D4C59 Align 16 L004E3B80: mov eax,[ebp-000001A8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B8E: mov eax,[ebp-000001A8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3B9C: mov eax,[ebp-000001A8h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BAA: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BB8: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BC6: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BD4: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BE2: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BF0: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3BFE: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C0C: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C1A: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C28: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C36: mov eax,[ebp-000001A4h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C44: mov eax,L004F6038 jmp L004D4C59 Align 4 L004E3C50: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3C5E: mov eax,L004F60D0 jmp L004D4C59 Align 16 L004E3C70: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E3C78: mov eax,[ebp-2Ch] and eax,00000001h test eax,eax jz L004E3C8E mov ecx,[ebp+04h] jmp SUB_L004C8100 L004E3C8E: retn ;------------------------------------------------------------------------------ L004E3C8F: mov eax,L004F60F8 jmp L004D4C59 Align 8 L004E3CA0: lea ecx,[ebp-00000A30h] jmp SUB_L004C8100 L004E3CAB: lea ecx,[ebp-00000A40h] jmp SUB_L004C8100 L004E3CB6: lea ecx,[ebp-00000A1Ch] jmp SUB_L004C8100 L004E3CC1: mov eax,L004F6128 jmp L004D4C59 Align 8 L004E3CD0: lea ecx,[ebp-00000C30h] jmp SUB_L0046AF70 L004E3CDB: mov eax,[ebp-00000C10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3CE9: mov eax,L004F6160 jmp L004D4C59 Align 16 L004E3D00: mov eax,[ebp-00000210h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3D0E: mov eax,L004F6190 jmp L004D4C59 Align 16 L004E3D20: lea ecx,[ebp-2Ch] jmp SUB_L0046AF70 L004E3D28: mov eax,L004F61B8 jmp L004D4C59 Align 16 L004E3D40: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3D4B: mov eax,L004F61E0 jmp L004D4C59 Align 16 L004E3D60: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3D6B: mov eax,L004F6208 jmp L004D4C59 Align 16 L004E3D80: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3D8B: mov eax,L004F6230 jmp L004D4C59 Align 16 L004E3DA0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DAB: mov eax,L004F6258 jmp L004D4C59 Align 16 L004E3DC0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3DC8: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DD3: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DDE: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DE9: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DF4: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3DFF: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E0A: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E15: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E20: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E2B: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E36: mov eax,L004F6280 jmp L004D4C59 L004E3E40: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3E48: mov eax,L004F62F8 jmp L004D4C59 Align 16 L004E3E60: mov eax,[ebp-00000174h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E6E: mov eax,[ebp-00000174h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E7C: mov eax,[ebp-00000174h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E8A: mov eax,[ebp-00000174h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3E98: mov eax,L004F6320 jmp L004D4C59 Align 16 L004E3EB0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3EB8: mov eax,L004F6360 jmp L004D4C59 Align 16 L004E3ED0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3ED8: mov eax,L004F6388 jmp L004D4C59 Align 16 L004E3EF0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3EFB: mov eax,L004F63B0 jmp L004D4C59 Align 16 L004E3F10: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3F1B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3F26: mov eax,L004F63D8 jmp L004D4C59 L004E3F30: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3F3B: mov eax,L004F6408 jmp L004D4C59 Align 16 L004E3F50: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E3F58: mov eax,L004F6430 jmp L004D4C59 Align 16 L004E3F70: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E3F78: mov eax,L004F6458 jmp L004D4C59 Align 16 L004E3F90: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3F9B: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3FA6: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3FB1: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E3FBC: mov eax,L004F6480 jmp L004D4C59 Align 16 L004E3FD0: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3FD8: mov eax,L004F64C0 jmp L004D4C59 Align 16 L004E3FF0: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E3FF8: mov eax,L004F64E8 jmp L004D4C59 Align 16 L004E4010: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4018: mov eax,L004F6510 jmp L004D4C59 Align 16 L004E4030: lea ecx,[ebp+0Ch] jmp SUB_L00402C50 L004E4038: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E4040: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4048: mov eax,L004F6538 jmp L004D4C59 Align 16 L004E4060: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4068: mov eax,L004F6570 jmp L004D4C59 Align 16 L004E4080: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E408B: mov eax,L004F6598 jmp L004D4C59 Align 16 L004E40A0: mov eax,[ebp-5Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E40AB: mov eax,L004F65C0 jmp L004D4C59 Align 16 L004E40C0: mov eax,[ebp-7Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E40CB: mov eax,L004F65E8 jmp L004D4C59 Align 16 L004E40E0: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E40EB: mov eax,L004F6610 jmp L004D4C59 Align 16 L004E4100: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E410B: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L004C8100 L004E4116: mov ecx,[ebp+04h] add ecx,00000004h jmp SUB_L004C8100 L004E4121: mov eax,L004F6638 jmp L004D4C59 Align 8 L004E4130: lea ecx,[ebp-1Ch] jmp SUB_L004B3270 L004E4138: mov eax,L004F6670 jmp L004D4C59 Align 16 L004E4150: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L004C8100 L004E415B: mov eax,L004F6698 jmp L004D4C59 Align 16 L004E4170: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E4178: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4180: mov eax,L004F66C0 jmp L004D4C59 Align 8 L004E4190: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4198: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E41A3: mov eax,L004F66F0 jmp L004D4C59 Align 4 L004E41B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E41BB: mov eax,L004F6720 jmp L004D4C59 Align 16 L004E41D0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E41DB: mov eax,L004F6748 jmp L004D4C59 Align 16 L004E41F0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E41FB: mov eax,L004F6770 jmp L004D4C59 Align 16 L004E4210: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E421B: mov eax,L004F6798 jmp L004D4C59 Align 16 L004E4230: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E4238: mov eax,L004F67C0 jmp L004D4C59 Align 16 L004E4250: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E4258: mov eax,L004F67E8 jmp L004D4C59 Align 16 L004E4270: mov ecx,[ebp-10h] jmp SUB_L00402CD0 L004E4278: mov ecx,[ebp-10h] jmp SUB_L0047E560 L004E4280: mov eax,L004F6810 jmp L004D4C59 Align 8 L004E4290: mov ecx,[ebp-10h] jmp SUB_L0047E560 L004E4298: mov eax,L004F6840 jmp L004D4C59 Align 16 L004E42B0: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E42B8: mov eax,L004F6868 jmp L004D4C59 Align 16 L004E42D0: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E42D8: mov eax,L004F6890 jmp L004D4C59 Align 16 L004E42F0: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E42F8: mov eax,L004F68B8 jmp L004D4C59 Align 16 L004E4310: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E4318: mov eax,L004F68E0 jmp L004D4C59 Align 16 L004E4330: lea ecx,[ebp+08h] jmp SUB_L00402C50 L004E4338: mov eax,L004F6908 jmp L004D4C59 Align 16 L004E4350: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E4358: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E4360: mov eax,L004F6930 jmp L004D4C59 Align 8 L004E4370: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4378: mov eax,L004F6960 jmp L004D4C59 Align 16 L004E4390: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E439B: mov eax,L004F6988 jmp L004D4C59 Align 16 L004E43B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E43BB: mov eax,L004F69B0 jmp L004D4C59 Align 16 L004E43D0: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E43D8: mov eax,L004F69D8 jmp L004D4C59 Align 16 L004E43F0: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E43F8: mov eax,L004F6A00 jmp L004D4C59 Align 16 L004E4410: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E4418: mov eax,L004F6A28 jmp L004D4C59 Align 16 L004E4430: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E4438: mov eax,L004F6A50 jmp L004D4C59 Align 16 L004E4450: mov ecx,[ebp-10h] jmp SUB_L00480850 L004E4458: mov eax,L004F6A78 jmp L004D4C59 Align 16 L004E4470: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E4478: mov ecx,[ebp-10h] jmp SUB_L00480850 L004E4480: push SUB_L00402C50 push 00000004h push 0000000Ah mov eax,[ebp-10h] add eax,00000158h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E4498: mov ecx,[ebp-10h] add ecx,00000180h jmp SUB_L00402C50 L004E44A6: mov eax,L004F6AA0 jmp L004D4C59 L004E44B0: mov ecx,[ebp-10h] jmp SUB_L0047E910 L004E44B8: mov ecx,[ebp-10h] jmp SUB_L00480850 L004E44C0: push SUB_L00402C50 push 00000004h push 0000000Ah mov eax,[ebp-10h] add eax,00000158h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E44D8: mov ecx,[ebp-10h] add ecx,00000180h jmp SUB_L00402C50 L004E44E6: mov eax,L004F6AE0 jmp L004D4C59 L004E44F0: mov ecx,[ebp-40h] jmp SUB_L00480850 L004E44F8: push SUB_L00402C50 push 00000004h push 0000000Ah mov eax,[ebp-40h] add eax,00000158h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E4510: mov ecx,[ebp-40h] add ecx,00000180h jmp SUB_L00402C50 L004E451E: mov eax,L004F6B20 jmp L004D4C59 Align 16 L004E4530: mov ecx,[ebp-10h] jmp SUB_L00481290 L004E4538: mov eax,L004F6B58 jmp L004D4C59 Align 16 L004E4550: mov ecx,[ebp-18h] jmp SUB_L0047E560 L004E4558: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4560: mov eax,L004F6B80 jmp L004D4C59 Align 8 L004E4570: mov ecx,[ebp-10h] jmp SUB_L0047E560 L004E4578: mov eax,L004F6BB0 jmp L004D4C59 Align 16 L004E4590: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4598: lea ecx,[ebp-20h] jmp SUB_L00402C50 L004E45A0: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E45AB: mov ecx,[ebp+24h] jmp SUB_L0047E910 L004E45B3: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E45BE: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E45C9: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E45D4: mov eax,L004F6BD8 jmp L004D4C59 Align 4 L004E45E0: lea ecx,[ebp+04h] jmp SUB_L00402C50 L004E45E8: mov eax,L004F6C30 jmp L004D4C59 Align 16 L004E4600: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E460B: mov eax,L004F6C58 jmp L004D4C59 Align 16 L004E4620: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E4628: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4633: mov ecx,[ebp+0Ch] jmp SUB_L0047E910 L004E463B: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4646: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4651: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E465C: mov eax,L004F6C80 jmp L004D4C59 Align 16 L004E4670: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E467B: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004B3270 L004E4686: mov eax,L004F6CD0 jmp L004D4C59 L004E4690: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E4698: push SUB_L004C8100 push 0000000Ah push 00000010h mov eax,[ebp-14h] add eax,000000A8h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E46B0: push SUB_L004C8100 push 0000000Ah push 00000010h mov eax,[ebp-14h] add eax,00000148h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E46C8: mov ecx,[ebp-14h] add ecx,000001E8h jmp SUB_L004C8100 L004E46D6: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E46E1: mov eax,L004F6D00 jmp L004D4C59 Align 8 L004E46F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E46F8: push SUB_L004C8100 push 0000000Ah push 00000010h mov eax,[ebp-10h] add eax,000000A8h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E4710: push SUB_L004C8100 push 0000000Ah push 00000010h mov eax,[ebp-10h] add eax,00000148h push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E4728: mov ecx,[ebp-10h] add ecx,000001E8h jmp SUB_L004C8100 L004E4736: mov eax,L004F6D48 jmp L004D4C59 L004E4740: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E474B: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4756: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4761: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E476C: mov eax,L004F6D88 jmp L004D4C59 Align 16 L004E4780: mov eax,[ebp-5Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E478B: mov eax,[ebp-5Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4796: mov eax,[ebp-5Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47A1: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47AC: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47B7: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47C2: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47CD: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47D8: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47E3: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47EE: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E47F9: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4804: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E480F: mov eax,[ebp-54h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E481A: mov eax,L004F6DC8 jmp L004D4C59 Align 16 L004E4830: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E483B: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4846: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4851: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E485C: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4867: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4872: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E487D: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4888: mov eax,[ebp-50h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4893: mov eax,[ebp-64h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E489E: mov eax,L004F6E58 jmp L004D4C59 Align 16 L004E48B0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E48BB: mov eax,L004F6EC8 jmp L004D4C59 Align 16 L004E48D0: lea ecx,[ebp-2Ch] jmp SUB_L004C8100 L004E48D8: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E48E0: lea ecx,[ebp-00000090h] jmp SUB_L004C8100 L004E48EB: mov eax,[ebp-000000A0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E48F9: mov ecx,[ebp-000000A0h] jmp SUB_L00486FF0 L004E4904: lea ecx,[ebp-3Ch] jmp SUB_L004C8100 L004E490C: mov eax,[ebp-000000A0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E491A: lea ecx,[ebp-70h] jmp SUB_L004C8100 L004E4922: mov eax,[ebp-000000A0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4930: mov ecx,[ebp-000000A0h] jmp SUB_L00486FF0 L004E493B: lea ecx,[ebp-60h] jmp SUB_L004C8100 L004E4943: mov eax,[ebp-000000A0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4951: lea ecx,[ebp-50h] jmp SUB_L004C8100 L004E4959: mov eax,[ebp-000000A0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4967: mov ecx,[ebp-000000A0h] jmp SUB_L00486FF0 L004E4972: lea ecx,[ebp-80h] jmp SUB_L004C8100 L004E497A: mov eax,[ebp-40h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4985: mov ecx,[ebp-40h] jmp SUB_L00486FF0 L004E498D: mov eax,L004F6EF0 jmp L004D4C59 Align 16 L004E49A0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E49AB: mov eax,L004F6FA0 jmp L004D4C59 Align 16 L004E49C0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E49CB: mov eax,L004F6FC8 jmp L004D4C59 Align 16 L004E49E0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E49E8: mov eax,L004F6FF0 jmp L004D4C59 Align 16 L004E4A00: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4A0B: mov eax,L004F7018 jmp L004D4C59 Align 16 L004E4A20: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4A2B: mov eax,L004F7040 jmp L004D4C59 Align 16 L004E4A40: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4A4B: mov eax,L004F7068 jmp L004D4C59 Align 16 L004E4A60: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4A6B: mov ecx,[ebp-10h] jmp SUB_L00486FF0 L004E4A73: mov eax,L004F7090 jmp L004D4C59 Align 4 L004E4A80: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4A8B: mov eax,L004F70C0 jmp L004D4C59 Align 16 L004E4AA0: lea ecx,[ebp-5Ch] jmp SUB_L004C8100 L004E4AA8: mov eax,L004F70E8 jmp L004D4C59 Align 16 L004E4AC0: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4ACB: mov eax,L004F7110 jmp L004D4C59 Align 16 L004E4AE0: mov ecx,[ebp-20h] add ecx,00000008h jmp SUB_L004C8100 L004E4AEB: mov ecx,[ebp-20h] jmp SUB_L00486FF0 L004E4AF3: mov ecx,[ebp-20h] add ecx,0000002Ch jmp SUB_L004C8100 L004E4AFE: push SUB_L004C8100 push 0000000Ch push 00000010h mov eax,[ebp-20h] add eax,0000003Ch push eax call SUB_L004D53BE retn ;------------------------------------------------------------------------------ L004E4B14: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4B1C: mov eax,L004F7138 jmp L004D4C59 Align 16 L004E4B30: mov ecx,[ebp-10h] jmp SUB_L00486FF0 L004E4B38: mov ecx,[ebp-10h] add ecx,0000002Ch jmp SUB_L004C8100 L004E4B43: mov ecx,[ebp-10h] add ecx,00000008h jmp SUB_L004C8100 L004E4B4E: mov eax,L004F7180 jmp L004D4C59 Align 16 L004E4B60: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4B68: mov eax,L004F71B8 jmp L004D4C59 Align 16 L004E4B80: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4B8B: mov eax,L004F71E0 jmp L004D4C59 Align 16 L004E4BA0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4BA8: mov eax,L004F7208 jmp L004D4C59 Align 16 L004E4BC0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4BC8: mov eax,L004F7230 jmp L004D4C59 Align 16 L004E4BE0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4BE8: mov eax,L004F7258 jmp L004D4C59 Align 16 L004E4C00: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4C08: mov eax,L004F7280 jmp L004D4C59 Align 16 L004E4C20: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4C28: mov eax,L004F72A8 jmp L004D4C59 Align 16 L004E4C40: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4C48: mov eax,L004F72D0 jmp L004D4C59 Align 16 L004E4C60: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4C68: mov eax,L004F72F8 jmp L004D4C59 Align 16 L004E4C80: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4C88: mov eax,L004F7320 jmp L004D4C59 Align 16 L004E4CA0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4CA8: mov eax,L004F7348 jmp L004D4C59 Align 16 L004E4CC0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4CC8: mov eax,L004F7370 jmp L004D4C59 Align 16 L004E4CE0: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4CE8: mov eax,L004F7398 jmp L004D4C59 Align 16 L004E4D00: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4D08: mov eax,L004F73C0 jmp L004D4C59 Align 16 L004E4D20: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4D28: mov eax,L004F73E8 jmp L004D4C59 Align 16 L004E4D40: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4D48: mov eax,L004F7410 jmp L004D4C59 Align 16 L004E4D60: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4D68: mov eax,L004F7438 jmp L004D4C59 Align 16 L004E4D80: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4D88: mov eax,L004F7460 jmp L004D4C59 Align 16 L004E4DA0: lea ecx,[ebp-0000013Ch] jmp SUB_L004C8100 L004E4DAB: lea ecx,[ebp-0000011Ch] jmp SUB_L004C8100 L004E4DB6: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4DC1: lea ecx,[ebp-0000011Ch] jmp SUB_L004C8100 L004E4DCC: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4DD7: mov eax,L004F7488 jmp L004D4C59 Align 16 L004E4DF0: lea ecx,[ebp-00000224h] jmp SUB_L004C8100 L004E4DFB: lea ecx,[ebp-00000234h] jmp SUB_L004C8100 L004E4E06: mov eax,L004F74D0 jmp L004D4C59 L004E4E10: lea ecx,[ebp-0000011Ch] jmp SUB_L004C8100 L004E4E1B: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4E26: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4E31: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4E3C: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4E47: lea ecx,[ebp-0000012Ch] jmp SUB_L004C8100 L004E4E52: mov eax,L004F7500 jmp L004D4C59 Align 8 L004E4E60: lea ecx,[ebp-2Ch] jmp SUB_L004C8100 L004E4E68: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E4E70: mov eax,L004F7550 jmp L004D4C59 Align 8 L004E4E80: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E4E88: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4E93: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4E9E: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4EA9: mov eax,L004F7580 jmp L004D4C59 Align 16 L004E4EC0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E4EC8: mov eax,L004F75C0 jmp L004D4C59 Align 16 L004E4EE0: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4EEB: mov eax,L004F75E8 jmp L004D4C59 Align 16 L004E4F00: lea ecx,[ebp-00000C1Ch] jmp SUB_L004C8100 L004E4F0B: mov eax,L004F7610 jmp L004D4C59 Align 16 L004E4F20: lea ecx,[ebp-00000270h] jmp SUB_L00402C50 L004E4F2B: mov eax,L004F7638 jmp L004D4C59 Align 16 L004E4F40: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4F4B: mov eax,L004F7660 jmp L004D4C59 Align 16 L004E4F60: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4F6B: mov eax,L004F7688 jmp L004D4C59 Align 16 L004E4F80: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4F8B: mov eax,L004F76B0 jmp L004D4C59 Align 16 L004E4FA0: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E4FA8: lea ecx,[ebp-18h] jmp SUB_L00402C50 L004E4FB0: mov eax,L004F76D8 jmp L004D4C59 Align 8 L004E4FC0: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E4FC8: mov eax,[ebp-1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4FD3: mov eax,[ebp-1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4FDE: mov eax,[ebp-1Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E4FE9: mov eax,L004F7708 jmp L004D4C59 Align 16 L004E5000: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E500B: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5016: mov eax,L004F7748 jmp L004D4C59 L004E5020: mov eax,[ebp-00001014h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E502E: mov eax,[ebp-00001018h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E503C: mov eax,L004F7778 jmp L004D4C59 Align 16 L004E5050: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E505B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5066: mov eax,L004F77A8 jmp L004D4C59 L004E5070: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E5078: mov eax,L004F77D8 jmp L004D4C59 Align 16 L004E5090: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E509B: mov eax,L004F7800 jmp L004D4C59 Align 16 L004E50B0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E50BB: mov eax,L004F7828 jmp L004D4C59 Align 16 L004E50D0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E50DB: mov eax,L004F7850 jmp L004D4C59 Align 16 L004E50F0: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E50F8: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E5100: mov eax,L004F7878 jmp L004D4C59 Align 8 L004E5110: lea ecx,[ebp-1Ch] jmp SUB_L00402C50 L004E5118: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E5120: mov eax,L004F78A8 jmp L004D4C59 Align 8 L004E5130: mov eax,[ebp-0000013Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E513E: mov eax,[ebp-00000140h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E514C: mov eax,L004F78D8 jmp L004D4C59 Align 16 L004E5160: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E516B: mov eax,L004F7908 jmp L004D4C59 Align 16 L004E5180: mov eax,[ebp-00000430h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E518E: mov eax,[ebp-00000430h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E519C: mov eax,L004F7930 jmp L004D4C59 Align 16 L004E51B0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E51BB: mov eax,L004F7960 jmp L004D4C59 Align 16 L004E51D0: mov eax,[ebp-00000434h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E51DE: mov eax,[ebp-00000434h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E51EC: mov eax,[ebp-00000434h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E51FA: mov eax,L004F7988 jmp L004D4C59 Align 16 L004E5210: mov eax,[ebp-00000338h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E521E: mov eax,[ebp-00000338h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E522C: mov eax,L004F79C0 jmp L004D4C59 Align 16 L004E5240: mov eax,[ebp-000002FCh] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E524E: mov eax,L004F79F0 jmp L004D4C59 Align 16 L004E5260: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E526B: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5276: mov eax,L004F7A18 jmp L004D4C59 L004E5280: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E528B: mov eax,L004F7A48 jmp L004D4C59 Align 16 L004E52A0: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E52AB: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E52B6: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E52C1: mov eax,L004F7A70 jmp L004D4C59 Align 8 L004E52D0: mov eax,[ebp-00001F70h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E52DE: mov eax,L004F7AA8 jmp L004D4C59 Align 16 L004E52F0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E52FB: mov eax,L004F7AD0 jmp L004D4C59 Align 16 L004E5310: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E531B: mov eax,L004F7AF8 jmp L004D4C59 Align 16 L004E5330: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E5338: mov eax,[ebp-24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5343: mov eax,L004F7B20 jmp L004D4C59 Align 4 L004E5350: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E535E: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E536C: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E537A: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5388: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5396: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E53A4: mov eax,[ebp-0001FA10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E53B2: mov eax,L004F7B50 jmp L004D4C59 Align 8 L004E53C0: mov eax,[ebp-0001F8C0h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E53CE: mov eax,L004F7BA8 jmp L004D4C59 Align 16 L004E53E0: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E53E8: mov eax,L004F7BD0 jmp L004D4C59 Align 16 L004E5400: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5408: mov eax,L004F7BF8 jmp L004D4C59 Align 16 L004E5420: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5428: mov eax,L004F7C20 jmp L004D4C59 Align 16 L004E5440: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E544B: mov eax,L004F7C48 jmp L004D4C59 Align 16 L004E5460: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E546B: mov eax,L004F7C70 jmp L004D4C59 Align 16 L004E5480: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E548B: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5496: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54A1: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54AC: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54B7: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54C2: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54CD: mov eax,L004F7C98 jmp L004D4C59 Align 16 L004E54E0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E54EB: mov eax,L004F7CF0 jmp L004D4C59 Align 16 L004E5500: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E550B: mov eax,L004F7D18 jmp L004D4C59 Align 16 L004E5520: mov ecx,[ebp-1Ch] jmp L004477C0 L004E5528: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5533: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E553E: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5549: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5554: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E555F: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E556A: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5575: mov eax,L004F7D40 jmp L004D4C59 Align 4 L004E5580: mov ecx,[ebp-10h] jmp L004477C0 L004E5588: mov eax,L004F7DA0 jmp L004D4C59 Align 16 L004E55A0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E55A8: mov eax,L004F7DC8 jmp L004D4C59 Align 16 L004E55C0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E55C8: mov eax,L004F7DF0 jmp L004D4C59 Align 16 L004E55E0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E55E8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E55F3: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E55FE: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5609: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5614: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E561F: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E562A: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5635: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5640: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E564B: mov eax,[ebp+24h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5656: mov eax,L004F7E18 jmp L004D4C59 L004E5660: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5668: mov eax,L004F7E90 jmp L004D4C59 Align 16 L004E5680: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E568B: mov eax,L004F7EB8 jmp L004D4C59 Align 16 L004E56A0: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E56AB: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E56B6: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E56C1: mov eax,L004F7EE0 jmp L004D4C59 Align 8 L004E56D0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E56D8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E56E3: mov eax,L004F7F18 jmp L004D4C59 Align 4 L004E56F0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E56FB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5706: mov eax,L004F7F48 jmp L004D4C59 L004E5710: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5718: mov eax,L004F7F78 jmp L004D4C59 Align 16 L004E5730: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E573B: mov eax,L004F7FA0 jmp L004D4C59 Align 16 L004E5750: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5758: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5763: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E576E: mov eax,L004F7FC8 jmp L004D4C59 Align 16 L004E5780: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5788: mov eax,L004F8000 jmp L004D4C59 Align 16 L004E57A0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E57A8: mov ecx,[ebp-10h] add ecx,0000009Ch jmp L004A8F10 L004E57B6: mov ecx,[ebp-10h] add ecx,00000110h jmp SUB_L004AB0D0 L004E57C4: mov ecx,[ebp-10h] add ecx,00000120h jmp SUB_L004AB0D0 L004E57D2: mov ecx,[ebp-10h] add ecx,00000130h jmp SUB_L004AB0D0 L004E57E0: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E57EB: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E57F6: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5801: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E580C: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5817: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5822: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E582D: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5838: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5843: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E584E: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5859: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5864: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E586F: mov eax,L004F8028 jmp L004D4C59 Align 8 L004E5880: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E5888: cmp dword ptr [ebp-14h],00000000h jz L004E58A2 mov eax,[ebp-14h] add eax,0000009Ch mov [ebp-50h],eax jmp L004E58A9 L004E58A2: mov dword ptr [ebp-50h],00000000h L004E58A9: mov ecx,[ebp-50h] jmp L004A8F10 L004E58B1: mov ecx,[ebp-14h] add ecx,00000110h jmp SUB_L004AB0D0 L004E58BF: mov ecx,[ebp-14h] add ecx,00000120h jmp SUB_L004AB0D0 L004E58CD: mov ecx,[ebp-14h] add ecx,00000130h jmp SUB_L004AB0D0 L004E58DB: mov ecx,[ebp-10h] jmp L004A8F10 L004E58E3: mov ecx,[ebp-10h] jmp L004A8F10 L004E58EB: mov eax,L004F80D8 jmp L004D4C59 Align 16 L004E5900: mov eax,[ebp-00000110h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E590E: mov eax,[ebp-00000110h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E591C: mov eax,[ebp-00000114h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E592A: mov eax,L004F8130 jmp L004D4C59 Align 16 L004E5940: mov eax,[ebp-30h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E594B: lea ecx,[ebp-2Ch] jmp SUB_L004C8100 L004E5953: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E595B: mov eax,L004F8168 jmp L004D4C59 Align 16 L004E5970: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E597B: mov eax,L004F81A0 jmp L004D4C59 Align 16 L004E5990: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5998: mov eax,L004F81C8 jmp L004D4C59 Align 16 L004E59B0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E59B8: mov eax,L004F81F0 jmp L004D4C59 Align 16 L004E59D0: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E59D8: mov ecx,[ebp-14h] add ecx,0000009Ch jmp L004A8F10 L004E59E6: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E59F1: mov eax,L004F8218 jmp L004D4C59 Align 8 L004E5A00: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5A08: mov eax,L004F8250 jmp L004D4C59 Align 16 L004E5A20: mov ecx,[ebp-10h] jmp SUB_L00428100 L004E5A28: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5A33: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5A3E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5A49: mov eax,L004F8278 jmp L004D4C59 Align 16 L004E5A60: lea ecx,[ebp-1Ch] jmp SUB_L004AB0D0 L004E5A68: mov eax,L004F82B8 jmp L004D4C59 Align 16 L004E5A80: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E5A88: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5A93: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5A9E: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5AA9: mov eax,L004F82E0 jmp L004D4C59 Align 16 L004E5AC0: mov ecx,[ebp-00002014h] jmp SUB_L00458FF0 L004E5ACB: mov eax,L004F8320 jmp L004D4C59 Align 16 L004E5AE0: mov eax,[ebp-00001410h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5AEE: mov eax,L004F8348 jmp L004D4C59 Align 16 L004E5B00: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5B08: mov eax,L004F8370 jmp L004D4C59 Align 16 L004E5B20: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5B28: mov eax,L004F8398 jmp L004D4C59 Align 16 L004E5B40: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5B48: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B53: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B5E: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B69: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B74: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B7F: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B8A: mov eax,[ebp-14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5B95: mov eax,L004F83C0 jmp L004D4C59 Align 4 L004E5BA0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5BA8: mov eax,L004F8420 jmp L004D4C59 Align 16 L004E5BC0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5BC8: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5BD3: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5BDE: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5BE9: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5BF4: mov eax,L004F8448 jmp L004D4C59 Align 4 L004E5C00: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5C08: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C13: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C1E: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C29: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C34: mov eax,L004F8490 jmp L004D4C59 Align 4 L004E5C40: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5C48: mov eax,L004F84D8 jmp L004D4C59 Align 16 L004E5C60: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5C68: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C73: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C7E: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C89: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C94: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5C9F: mov eax,L004F8500 jmp L004D4C59 Align 8 L004E5CB0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5CB8: mov eax,L004F8550 jmp L004D4C59 Align 16 L004E5CD0: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5CDB: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5CE6: mov eax,L004F8578 jmp L004D4C59 L004E5CF0: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5CF8: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D03: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D0E: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D19: mov eax,L004F85A8 jmp L004D4C59 Align 16 L004E5D30: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5D38: mov eax,L004F85E8 jmp L004D4C59 Align 16 L004E5D50: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5D58: mov eax,[ebp+10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D63: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D6E: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5D79: mov eax,L004F8610 jmp L004D4C59 Align 16 L004E5D90: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5D98: mov eax,L004F8650 jmp L004D4C59 Align 16 L004E5DB0: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5DB8: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5DC3: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5DCE: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5DD9: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5DE4: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5DEF: mov eax,L004F8678 jmp L004D4C59 Align 8 L004E5E00: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5E08: mov eax,L004F86C8 jmp L004D4C59 Align 16 L004E5E20: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E5E28: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E33: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E3E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E49: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E54: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E5F: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E6A: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5E75: mov eax,L004F86F0 jmp L004D4C59 Align 4 L004E5E80: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5E88: mov eax,L004F8750 jmp L004D4C59 Align 16 L004E5EA0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5EAB: mov eax,L004F8778 jmp L004D4C59 Align 16 L004E5EC0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5ECB: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5ED6: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5EE1: mov eax,L004F87A0 jmp L004D4C59 Align 8 L004E5EF0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5EFB: mov eax,L004F87D8 jmp L004D4C59 Align 16 L004E5F10: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E5F18: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5F23: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5F2E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5F39: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5F44: mov eax,L004F8800 jmp L004D4C59 Align 4 L004E5F50: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E5F58: mov eax,L004F8848 jmp L004D4C59 Align 16 L004E5F70: mov ecx,[ebp-10h] jmp SUB_L004A9120 L004E5F78: mov eax,L004F8870 jmp L004D4C59 Align 16 L004E5F90: mov ecx,[ebp-10h] jmp SUB_L004A9120 L004E5F98: mov eax,L004F8898 jmp L004D4C59 Align 16 L004E5FB0: mov ecx,[ebp-00000110h] jmp L004BA640 L004E5FBB: mov ecx,[ebp-00000110h] add ecx,00030050h jmp L004BB830 L004E5FCC: mov eax,[ebp-00000114h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E5FDA: mov eax,L004F88C0 jmp L004D4C59 Align 16 L004E5FF0: mov ecx,[ebp-10h] jmp L004BA640 L004E5FF8: mov ecx,[ebp-10h] add ecx,00030050h jmp L004BB830 L004E6006: mov eax,L004F88F8 jmp L004D4C59 L004E6010: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E601B: mov eax,L004F8928 jmp L004D4C59 Align 16 L004E6030: mov ecx,[ebp-00000110h] jmp L004BA640 L004E603B: mov eax,L004F8950 jmp L004D4C59 Align 16 L004E6050: mov eax,[ebp-00000110h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E605E: mov ecx,[ebp-00000110h] jmp L004BA640 L004E6069: mov eax,L004F8978 jmp L004D4C59 Align 16 L004E6080: mov ecx,[ebp-20h] jmp SUB_L00458FF0 L004E6088: mov eax,L004F89A8 jmp L004D4C59 Align 16 L004E60A0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E60AB: mov eax,L004F89D0 jmp L004D4C59 Align 16 L004E60C0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E60CB: mov eax,L004F89F8 jmp L004D4C59 Align 16 L004E60E0: mov eax,[ebp+08h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E60EB: mov eax,L004F8A20 jmp L004D4C59 Align 16 L004E6100: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E6108: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6113: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E611E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6129: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6134: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E613F: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E614A: mov eax,L004F8A48 jmp L004D4C59 Align 16 L004E6160: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6168: mov eax,L004F8AA0 jmp L004D4C59 Align 16 L004E6180: mov ecx,[ebp-14h] jmp SUB_L00458FF0 L004E6188: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6193: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E619E: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61A9: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61B4: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61BF: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61CA: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61D5: mov eax,[ebp+0Ch] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E61E0: mov eax,L004F8AC8 jmp L004D4C59 Align 8 L004E61F0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E61F8: mov eax,L004F8B30 jmp L004D4C59 Align 16 L004E6210: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6218: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6223: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E622E: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6239: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6244: mov eax,L004F8B58 jmp L004D4C59 Align 4 L004E6250: mov ecx,[ebp-28h] jmp SUB_L00458FF0 L004E6258: lea ecx,[ebp-24h] jmp SUB_L00402C50 L004E6260: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E626B: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6276: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6281: mov eax,[ebp+04h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E628C: mov eax,L004F8BA0 jmp L004D4C59 Align 16 L004E62A0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E62A8: mov eax,L004F8BF0 jmp L004D4C59 Align 16 L004E62C0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E62C8: mov eax,L004F8C18 jmp L004D4C59 Align 16 L004E62E0: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E62E8: mov eax,L004F8C40 jmp L004D4C59 Align 16 L004E6300: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6308: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6313: mov eax,[ebp+14h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E631E: mov eax,L004F8C68 jmp L004D4C59 Align 16 L004E6330: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6338: mov eax,L004F8CA0 jmp L004D4C59 Align 16 L004E6350: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E635B: mov eax,[ebp-20h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E6366: mov eax,L004F8CC8 jmp L004D4C59 L004E6370: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6378: mov eax,L004F8CF8 jmp L004D4C59 Align 16 L004E6390: mov ecx,[ebp-10h] jmp SUB_L00458FF0 L004E6398: mov eax,L004F8D20 jmp L004D4C59 Align 16 L004E63B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E63BB: mov eax,L004F8D48 jmp L004D4C59 Align 16 L004E63D0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E63DB: mov eax,L004F8D70 jmp L004D4C59 Align 16 L004E63F0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E63FB: mov eax,L004F8D98 jmp L004D4C59 Align 16 L004E6410: mov eax,[ebp-00000090h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E641E: mov eax,L004F8DC0 jmp L004D4C59 Align 16 L004E6430: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E643B: mov ecx,[ebp-10h] add ecx,00000004h jmp SUB_L004C8100 L004E6446: mov ecx,[ebp+04h] add ecx,00000004h jmp SUB_L004C8100 L004E6451: mov eax,L004F8DE8 jmp L004D4C59 Align 8 L004E6460: mov eax,L004F8E20 jmp L004D4C59 Align 8 L004E6470: lea ecx,[ebp-1Ch] jmp SUB_L004C8100 L004E6478: mov eax,L004F8E78 jmp L004D4C59 Align 16 L004E6490: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E649B: mov eax,L004F8EA0 jmp L004D4C59 Align 16 L004E64B0: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E64BB: mov eax,L004F8EC8 jmp L004D4C59 Align 16 L004E64D0: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E64D8: mov eax,[ebp-18h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E64E3: mov eax,L004F8EF0 jmp L004D4C59 Align 4 L004E64F0: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E64F8: mov eax,L004F8F20 jmp L004D4C59 Align 16 L004E6510: lea ecx,[ebp-14h] jmp SUB_L00402C50 L004E6518: mov eax,L004F8F48 jmp L004D4C59 Align 16 L004E6530: mov eax,[ebp-00000138h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E653E: mov eax,L004F8F70 jmp L004D4C59 Align 16 L004E6550: mov eax,[ebp-10h] push eax call SUB_L004D4F9E pop ecx retn ;------------------------------------------------------------------------------ L004E655B: mov eax,L004F8F98 jmp L004D4C59 ;------------------------------------------------------------------------------ 00000A9Bh DUP (??) ; ; ;------------------------------------------------------------------------------ ; Name: .rdata (Data Section) ; Virtual Address: 004E7000h Virtual Size: 000131B6h ; Pointer To RawData: 000E7000h Size Of RawData: 00014000h ; ADVAPI32.dll!RegOpenKeyExA: dd ?? ADVAPI32.dll!RegSetValueExA: dd ?? ADVAPI32.dll!RegCreateKeyExA: dd ?? ADVAPI32.dll!RegCloseKey: dd ?? ADVAPI32.dll!RegQueryValueExA: dd ?? dd 00000000 COMCTL32.dll!COMCTL32.17: dd ?? dd 00000000 DDRAW.dll!DirectDrawCreate: dd ?? dd 00000000 DSOUND.dll!DSOUND.1: dd ?? dd 00000000 GDI32.dll!DeleteDC: dd ?? GDI32.dll!CreatePalette: dd ?? GDI32.dll!GetDeviceCaps: dd ?? GDI32.dll!DeleteObject: dd ?? GDI32.dll!SelectObject: dd ?? GDI32.dll!SelectPalette: dd ?? GDI32.dll!CreateCompatibleDC: dd ?? GDI32.dll!BitBlt: dd ?? GDI32.dll!RealizePalette: dd ?? GDI32.dll!CreateDIBSection: dd ?? dd 00000000 KERNEL32.dll!MultiByteToWideChar: dd ?? KERNEL32.dll!GetLastError: dd ?? KERNEL32.dll!CreateMutexA: dd ?? KERNEL32.dll!CreateProcessA: dd ?? KERNEL32.dll!UnmapViewOfFile: dd ?? KERNEL32.dll!WideCharToMultiByte: dd ?? KERNEL32.dll!CreateFileA: dd ?? KERNEL32.dll!FlushViewOfFile: dd ?? KERNEL32.dll!OpenFileMappingA: dd ?? KERNEL32.dll!GetACP: dd ?? KERNEL32.dll!IsDBCSLeadByte: dd ?? KERNEL32.dll!GetCurrentProcess: dd ?? KERNEL32.dll!GetCurrentThread: dd ?? KERNEL32.dll!SetThreadPriority: dd ?? KERNEL32.dll!SetFilePointer: dd ?? KERNEL32.dll!LoadLibraryA: dd ?? KERNEL32.dll!GetProcAddress: dd ?? KERNEL32.dll!GetVersionExA: dd ?? KERNEL32.dll!ReadFile: dd ?? KERNEL32.dll!WriteFile: dd ?? KERNEL32.dll!TerminateProcess: dd ?? KERNEL32.dll!OpenMutexA: dd ?? KERNEL32.dll!CloseHandle: dd ?? KERNEL32.dll!GetProfileStringA: dd ?? KERNEL32.dll!EnterCriticalSection: dd ?? KERNEL32.dll!LeaveCriticalSection: dd ?? KERNEL32.dll!DeleteCriticalSection: dd ?? KERNEL32.dll!InitializeCriticalSection: dd ?? KERNEL32.dll!CreateFileMappingA: dd ?? KERNEL32.dll!MapViewOfFile: dd ?? KERNEL32.dll!GetTimeZoneInformation: dd ?? KERNEL32.dll!TlsGetValue: dd ?? KERNEL32.dll!SetLastError: dd ?? KERNEL32.dll!TlsAlloc: dd ?? KERNEL32.dll!GetCurrentThreadId: dd ?? KERNEL32.dll!GetVersion: dd ?? KERNEL32.dll!GetCommandLineA: dd ?? KERNEL32.dll!GetStartupInfoA: dd ?? KERNEL32.dll!GetModuleHandleA: dd ?? KERNEL32.dll!ExitThread: dd ?? KERNEL32.dll!TlsSetValue: dd ?? KERNEL32.dll!ResumeThread: dd ?? KERNEL32.dll!GetLocalTime: dd ?? KERNEL32.dll!GetSystemTime: dd ?? KERNEL32.dll!DeleteFileA: dd ?? KERNEL32.dll!CreateDirectoryA: dd ?? KERNEL32.dll!FindFirstFileA: dd ?? KERNEL32.dll!FileTimeToLocalFileTime: dd ?? KERNEL32.dll!FileTimeToSystemTime: dd ?? KERNEL32.dll!FindClose: dd ?? KERNEL32.dll!HeapAlloc: dd ?? KERNEL32.dll!HeapFree: dd ?? KERNEL32.dll!RtlUnwind: dd ?? KERNEL32.dll!HeapReAlloc: dd ?? KERNEL32.dll!HeapSize: dd ?? KERNEL32.dll!LCMapStringA: dd ?? KERNEL32.dll!LCMapStringW: dd ?? KERNEL32.dll!SetHandleCount: dd ?? KERNEL32.dll!GetStdHandle: dd ?? KERNEL32.dll!GetFileType: dd ?? KERNEL32.dll!HeapDestroy: dd ?? KERNEL32.dll!HeapCreate: dd ?? KERNEL32.dll!VirtualFree: dd ?? KERNEL32.dll!VirtualAlloc: dd ?? KERNEL32.dll!InterlockedIncrement: dd ?? KERNEL32.dll!InterlockedExchange: dd ?? KERNEL32.dll!Sleep: dd ?? KERNEL32.dll!CreateThread: dd ?? KERNEL32.dll!GetStringTypeA: dd ?? KERNEL32.dll!GetTickCount: dd ?? KERNEL32.dll!IsBadWritePtr: dd ?? KERNEL32.dll!GetFullPathNameA: dd ?? KERNEL32.dll!GetCurrentDirectoryA: dd ?? KERNEL32.dll!UnhandledExceptionFilter: dd ?? KERNEL32.dll!GetModuleFileNameA: dd ?? KERNEL32.dll!FreeEnvironmentStringsA: dd ?? KERNEL32.dll!FreeEnvironmentStringsW: dd ?? KERNEL32.dll!GetEnvironmentStrings: dd ?? KERNEL32.dll!GetEnvironmentStringsW: dd ?? KERNEL32.dll!SetUnhandledExceptionFilter: dd ?? KERNEL32.dll!IsBadReadPtr: dd ?? KERNEL32.dll!IsBadCodePtr: dd ?? KERNEL32.dll!GetCPInfo: dd ?? KERNEL32.dll!SetEnvironmentVariableA: dd ?? KERNEL32.dll!GetStringTypeW: dd ?? KERNEL32.dll!SetStdHandle: dd ?? KERNEL32.dll!GetOEMCP: dd ?? KERNEL32.dll!FlushFileBuffers: dd ?? KERNEL32.dll!GetFileAttributesA: dd ?? KERNEL32.dll!GetExitCodeProcess: dd ?? KERNEL32.dll!WaitForSingleObject: dd ?? KERNEL32.dll!ExitProcess: dd ?? KERNEL32.dll!OutputDebugStringA: dd ?? KERNEL32.dll!GlobalMemoryStatus: dd ?? KERNEL32.dll!InterlockedDecrement: dd ?? KERNEL32.dll!GetDiskFreeSpaceA: dd ?? KERNEL32.dll!GetDriveTypeA: dd ?? KERNEL32.dll!SetEndOfFile: dd ?? KERNEL32.dll!CompareStringA: dd ?? KERNEL32.dll!GetLogicalDriveStringsA: dd ?? KERNEL32.dll!GetSystemInfo: dd ?? KERNEL32.dll!CompareStringW: dd ?? dd 00000000 USER32.dll!MapVirtualKeyA: dd ?? USER32.dll!SetFocus: dd ?? USER32.dll!GetKeyState: dd ?? USER32.dll!GetAsyncKeyState: 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!GetCursorPos: dd ?? USER32.dll!MessageBoxA: dd ?? USER32.dll!FindWindowA: dd ?? USER32.dll!RegisterClassA: dd ?? USER32.dll!UpdateWindow: dd ?? USER32.dll!CreateWindowExA: dd ?? USER32.dll!LoadCursorA: dd ?? USER32.dll!LoadMenuA: dd ?? USER32.dll!GetMessageA: dd ?? USER32.dll!ScreenToClient: dd ?? USER32.dll!GetFocus: dd ?? USER32.dll!SetCapture: dd ?? USER32.dll!ReleaseCapture: dd ?? USER32.dll!GetActiveWindow: dd ?? USER32.dll!DefWindowProcW: dd ?? USER32.dll!SetMenu: dd ?? USER32.dll!AdjustWindowRectEx: dd ?? USER32.dll!OpenClipboard: dd ?? USER32.dll!GetClipboardData: dd ?? USER32.dll!CloseClipboard: dd ?? USER32.dll!RegisterClassW: dd ?? USER32.dll!CreateWindowExW: dd ?? USER32.dll!GetWindowDC: dd ?? USER32.dll!DestroyMenu: dd ?? USER32.dll!ShowCursor: dd ?? USER32.dll!BeginPaint: dd ?? USER32.dll!EndPaint: dd ?? USER32.dll!GetWindowRect: dd ?? USER32.dll!SetWindowPos: dd ?? USER32.dll!SetCursor: dd ?? USER32.dll!ClientToScreen: dd ?? USER32.dll!PostQuitMessage: dd ?? USER32.dll!GetWindowLongA: dd ?? USER32.dll!SetWindowLongA: dd ?? USER32.dll!LoadIconA: dd ?? USER32.dll!GetSystemMetrics: dd ?? USER32.dll!TranslateMessage: dd ?? USER32.dll!TranslateAcceleratorA: dd ?? USER32.dll!DispatchMessageA: dd ?? USER32.dll!LoadAcceleratorsA: dd ?? USER32.dll!SetWindowTextA: dd ?? USER32.dll!InvalidateRect: dd ?? USER32.dll!GetMenu: dd ?? USER32.dll!CheckMenuItem: dd ?? USER32.dll!GetWindowPlacement: dd ?? USER32.dll!GetClientRect: dd ?? USER32.dll!SendMessageA: dd ?? USER32.dll!ShowWindow: dd ?? USER32.dll!IsZoomed: dd ?? dd 00000000 WINMM.dll!mmioRead: dd ?? WINMM.dll!timeSetEvent: dd ?? WINMM.dll!timeKillEvent: dd ?? WINMM.dll!mciSendCommandA: dd ?? WINMM.dll!midiOutSetVolume: dd ?? WINMM.dll!midiOutGetDevCapsA: dd ?? WINMM.dll!midiOutGetVolume: dd ?? WINMM.dll!mmioClose: dd ?? WINMM.dll!mmioOpenA: dd ?? WINMM.dll!mmioSetBuffer: dd ?? WINMM.dll!mmioSeek: dd ?? dd 00000000 WSOCK32.dll!WSOCK32.18: dd ?? WSOCK32.dll!WSOCK32.151: dd ?? WSOCK32.dll!WSOCK32.57: dd ?? WSOCK32.dll!WSOCK32.19: dd ?? WSOCK32.dll!WSOCK32.111: dd ?? WSOCK32.dll!WSOCK32.2: dd ?? WSOCK32.dll!WSOCK32.20: dd ?? WSOCK32.dll!WSOCK32.17: dd ?? WSOCK32.dll!WSOCK32.8: dd ?? WSOCK32.dll!WSOCK32.9: dd ?? WSOCK32.dll!WSOCK32.23: dd ?? WSOCK32.dll!WSOCK32.21: dd ?? WSOCK32.dll!WSOCK32.4: dd ?? WSOCK32.dll!WSOCK32.12: dd ?? WSOCK32.dll!WSOCK32.16: dd ?? WSOCK32.dll!WSOCK32.15: dd ?? WSOCK32.dll!WSOCK32.3: dd ?? WSOCK32.dll!WSOCK32.115: dd ?? WSOCK32.dll!WSOCK32.52: dd ?? WSOCK32.dll!WSOCK32.116: dd ?? WSOCK32.dll!WSOCK32.14: dd ?? dd 00000000 ole32.dll!CoInitialize: dd ?? ole32.dll!CoUninitialize: dd ?? ole32.dll!CoCreateInstance: dd ?? dd 00000000 db 00h; db 00h; db 00h; db 00h; L004E7388: dd L00402CB0 dd L00402C60 dd L004D4BBF dd L004D4BBF dd SUB_L00403910 dd SUB_L00402D40 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00404F00 dd L00402C80 dd L00402C90 dd L00402C90 dd L00402CA0 dd SUB_L00401E90 L004E73DC: dd 43800000h L004E73E0: dd 3F800000h db 00h; db 00h; db 00h; db 00h; L004E73E8: dq 3FD45F4F4E286E83h L004E73F0: dd 43000000h db 00h; db 00h; db 00h; db 00h; L004E73F8: dq 40F0000000000000h L004E7400: dq 3F9921FB54442EEAh L004E7408: db 91h; ''' db 3Ch; '<' db 2Bh; '+' db 0Fh; db 44h; 'D' db C6h; '†' db 0Ch; db 96h; '-' db D2h; '’' db 40h; '@' db 93h; '"' db 21h; '!' db F2h; 'â' db 12h; db A5h; '?' db AAh; 'ò' db DAh; 'š' db E9h; '©' db 9Ah; '?' db D4h; '”' db F7h; 'ç' db 14h; db 97h; '-' db D0h; '' db FCh; 'ì' db C9h; '‰' db C7h; '‡' db D6h; '–' db A8h; 'ð' db A3h; '?' db 7Bh; '{' db 67h; 'g' db 36h; '6' db 9Bh; '>' db 0Bh; db 1Ah; db 03h; db ACh; '¿' db F9h; 'é' db 02h; db AEh; 'R' db 2Dh; '-' db 01h; db 77h; 'w' db 79h; 'y' db 6Bh; 'k' db 0Ch; db 67h; 'g' db A4h; 'ý' db B4h; '?' db 1Eh; db D7h; '—' db AAh; 'ò' db 51h; 'Q' db D6h; '–' db E1h; '¡' db BCh; '?' db 27h; ''' db 15h; db 25h; '%' db 17h; db 17h; db 47h; 'G' db 65h; 'e' db 40h; '@' db 8Bh; '<' db B8h; 'ñ' db 19h; db DBh; '›' db 4Eh; 'N' db 17h; db 74h; 't' db AAh; 'ò' db 63h; 'c' db ACh; '¿' db 37h; '7' db A0h; 'ÿ' db 8Fh; '?' db 77h; 'w' db CDh; '' db 5Dh; ']' db 23h; '#' db EFh; '¯' db B7h; 'ú' db 13h; db 2Bh; '+' db 83h; '?' db BFh; 'õ' db 0Fh; db 8Ch; '?' db B1h; '+' db 0Bh; db C8h; 'ˆ' db 6Fh; 'o' db 39h; '9' db 4Dh; 'M' db A1h; 'ö' db A5h; '?' db FAh; 'ê' db 2Bh; '+' db C6h; '†' db E2h; '¢' db 9Ch; '?' db 29h; ')' db CCh; 'Œ' db 26h; '&' db E9h; '©' db 2Dh; '-' db CDh; '' db 6Fh; 'o' db D2h; '’' db CAh; 'Š' db BEh; '?' db 47h; 'G' db 9Bh; '>' db 21h; '!' db AEh; 'R' db 3Eh; '>' db 31h; '1' db 69h; 'i' db E7h; '§' db 0Bh; db E6h; '¦' db 6Fh; 'o' db CFh; '' db 91h; ''' db 88h; '?' db 59h; 'Y' db AFh; 'ô' db 90h; '?' db C5h; '…' db 2Dh; '-' db AEh; 'R' db D2h; '’' db 52h; 'R' db B5h; 'ç' db 28h; '(' db 98h; '?' db 3Bh; ';' db 7Fh; '' db 65h; 'e' db EDh; '­' db 5Eh; '^' db 93h; '"' db 30h; '0' db BFh; 'õ' db 0Ah; db 34h; '4' db DBh; '›' db 3Dh; '=' L004E749E: db 00h; db 00h; L004E74A0: db 9Eh; '?' db ECh; '¬' db 5Bh; '[' db 3Ch; '<' db 8Fh; '?' db A8h; 'ð' db 8Ch; '?' db 55h; 'U' db B6h; db 21h; '!' db 71h; 'q' db 98h; '?' db A4h; 'ý' db 47h; 'G' db 22h; '"' db 58h; 'X' db F8h; 'è' db C4h; '„' db D8h; '˜' db 72h; 'r' db 54h; 'T' db FCh; 'ì' db F9h; 'é' db DEh; 'ž' db 2Dh; '-' db 53h; 'S' db DBh; '›' db 32h; '2' db 03h; db 10h; db 5Ah; 'Z' db 18h; db 89h; '%' db 9Fh; '?' db 5Ch; '\' db 53h; 'S' db 06h; db 7Fh; '' db 44h; 'D' db 38h; '8' db 32h; '2' db CEh; 'Ž' db ACh; '¿' db DBh; '›' db 91h; ''' db 44h; 'D' db 4Eh; 'N' db 1Eh; db 29h; ')' db 78h; 'x' db 5Ah; 'Z' db F0h; 'à' db ABh; '<' db 00h; db 7Fh; '' db 91h; ''' db E6h; '¦' db B6h; db D2h; '’' db E7h; '§' db A0h; 'ÿ' db 05h; db C2h; '‚' db F2h; 'â' db 8Dh; '?' db 46h; 'F' db A9h; 'c' db BBh; '>' db 52h; 'R' db 1Bh; db 41h; 'A' db DFh; 'Ÿ' db F0h; 'à' db 4Ah; 'J' db C9h; '‰' db 14h; db 27h; ''' db A9h; 'c' db 6Bh; 'k' db 4Ah; 'J' db 91h; ''' db 4Bh; 'K' db 8Ah; '?' db 80h; '?' db F5h; 'å' db CFh; '' db BBh; '>' db 3Ch; '<' db BCh; '?' db F4h; 'ä' db C9h; '‰' db D5h; '•' db 42h; 'B' db 7Ah; 'z' db FAh; 'ê' db B7h; 'ú' db D5h; '•' db 8Ch; '?' db 01h; db C0h; '€' db FDh; 'í' db 1Eh; db AAh; 'ò' db 57h; 'W' db C1h; '' db 20h; ' ' db 7Ah; 'z' db 38h; '8' db 2Ch; ',' db B7h; 'ú' db CDh; '' db 14h; db 55h; 'U' db 9Fh; '?' db D1h; '‘' db 5Bh; '[' db FBh; 'ë' db 70h; 'p' db C0h; '€' db 77h; 'w' db A4h; 'ý' db 15h; db B3h; 'i' db 9Fh; '?' db 6Bh; 'k' db BBh; '>' db 10h; db 5Ah; 'Z' db 80h; '?' db 9Dh; '?' db 16h; db 54h; 'T' db 6Bh; 'k' db 7Ch; '|' db 5Fh; '_' db ADh; '-' db 35h; '5' db CBh; '‹' db 92h; ''' db 24h; '$' db 08h; db 11h; db D9h; '™' db 61h; 'a' db 24h; '$' db A7h; db 75h; 'u' db BFh; 'õ' db 4Dh; 'M' db 7Eh; '~' db 70h; 'p' db 0Ch; db 90h; '?' db CFh; '' db 9Ch; '?' db 04h; db ACh; '¿' db 53h; 'S' db 89h; '%' db EFh; '¯' db 99h; 'T' db 22h; '"' db F6h; 'æ' db 89h; '%' db 10h; db E6h; '¦' db 72h; 'r' db 23h; '#' db 0Ah; db 5Ch; '\' db A5h; '?' db FFh; 'ï' db 9Ch; '?' db 78h; 'x' db DAh; 'š' db 7Fh; '' db DFh; 'Ÿ' db FFh; 'ï' db BBh; '>' db 11h; db 6Bh; 'k' db 75h; 'u' db F0h; 'à' db 29h; ')' db A5h; '?' db 86h; 'Å' db D0h; '' db 53h; 'S' db 77h; 'w' db E7h; '§' db B1h; '+' db 0Dh; db 4Ch; 'L' db 06h; db DAh; 'š' db 55h; 'U' db 4Eh; 'N' db 50h; 'P' db 1Bh; db 7Ah; 'z' db 1Ch; db 90h; '?' db CEh; 'Ž' db 64h; 'd' db D6h; '–' db 17h; db 52h; 'R' db FBh; 'ë' db 00h; db 26h; '&' db 75h; 'u' db 25h; '%' db CDh; '' db 95h; db 15h; db 0Fh; db 13h; db D8h; '˜' db ABh; '<' db 30h; '0' db F1h; 'á' db C5h; '…' db C5h; '…' db FAh; 'ê' db 0Ch; db 8Eh; '?' db 86h; 'Å' db 1Eh; db 3Fh; '?' db CBh; '‹' db 8Bh; '<' db D1h; '‘' db ECh; '¬' db CEh; 'Ž' db A9h; 'c' db 96h; '-' db 91h; ''' db 11h; db B4h; '?' db 97h; '-' db 1Eh; db 65h; 'e' db 5Fh; '_' db A4h; 'ý' db 55h; 'U' db EBh; '«' db ECh; '¬' db CFh; '' db 19h; db D9h; '™' db 9Fh; '?' db E0h; ' ' db 5Eh; '^' db 57h; 'W' db 45h; 'E' db 73h; 's' db 0Eh; db 2Dh; '-' db 18h; db E1h; '¡' db 55h; 'U' db 05h; db 04h; db BFh; 'õ' db 5Eh; '^' db 81h; '?' db 1Fh; db DDh; '' db FFh; 'ï' db 5Ch; '\' db C3h; 'ƒ' db F4h; 'ä' db F2h; 'â' db 06h; db 56h; 'V' db 54h; 'T' db 4Dh; 'M' db FBh; 'ë' db 96h; '-' db 54h; 'T' db 33h; '3' db 97h; '-' db 07h; db 43h; 'C' db 4Fh; 'O' db 39h; '9' db C4h; '„' db A8h; 'ð' db 5Eh; '^' db 02h; db 37h; '7' db 17h; db 7Bh; '{' db 64h; 'd' db E6h; '¦' db A2h; '÷' db 2Eh; '.' db 24h; '$' db 13h; db 07h; db FEh; 'î' db A1h; 'ö' db 88h; '?' db B7h; 'ú' db 60h; '`' db DDh; '' db 4Ch; 'L' db E0h; ' ' db A1h; 'ö' db DCh; 'œ' db BAh; 'ó' db 6Ch; 'l' db 81h; '?' db 5Ch; '\' db 3Fh; '?' db 93h; '"' db 7Ah; 'z' db 1Fh; db 2Ah; '*' db 1Ch; db AEh; 'R' db 5Ch; '\' db BEh; '?' db 9Dh; '?' db 84h; '"' db 6Fh; 'o' db CBh; '‹' db 51h; 'Q' db 4Dh; 'M' db 13h; db C6h; '†' db 81h; '?' db 28h; '(' db C3h; 'ƒ' db 03h; db 34h; '4' db B0h; 'ø' db 5Dh; ']' db CBh; '‹' db 8Dh; '?' db 69h; 'i' db 1Ch; db DEh; 'ž' db 29h; ')' db 31h; '1' db F1h; 'á' db 22h; '"' db C3h; 'ƒ' db 1Ch; db 82h; ''' db 8Ah; '?' db 57h; 'W' db 08h; db 32h; '2' db 8Bh; '<' db A2h; '÷' db 1Eh; db 12h; db C9h; '‰' db B9h; 'ü' db CDh; '' db A8h; 'ð' db E6h; '¦' db 1Ch; db 59h; 'Y' db ACh; '¿' db 0Ch; db F6h; 'æ' db A5h; '?' db 3Bh; ';' db E4h; '¤' db 64h; 'd' db 2Fh; '/' db 45h; 'E' db 33h; '3' db A2h; '÷' db 4Ah; 'J' db DAh; 'š' db 39h; '9' db E2h; '¢' db 0Eh; db 94h; '"' db F2h; 'â' db AAh; 'ò' db B0h; 'ø' db 82h; ''' db B7h; 'ú' db 33h; '3' db D2h; '’' db 6Fh; 'o' db C0h; '€' db 00h; db D7h; '—' db 8Dh; '?' db 1Fh; db 8Eh; '?' db 79h; 'y' db 85h; ':' db 3Eh; '>' db 2Ah; '*' L004E7630: db D2h; '’' db B7h; 'ú' db F6h; 'æ' db 9Ch; '?' db CFh; '' db 06h; db E8h; '¨' db C1h; '' db AEh; 'R' db EBh; '«' db 7Fh; '' db E9h; '©' db 87h; 'Ø' db 28h; '(' db 1Ch; db 9Bh; '>' db E8h; '¨' db 8Ch; '?' db 2Ah; '*' db 97h; '-' db D1h; '‘' db D2h; '’' db A6h; '³' db 76h; 'v' db ADh; '-' db 23h; '#' db 69h; 'i' db A0h; 'ÿ' db EFh; '¯' db 1Fh; db 8Ch; '?' db BAh; 'ó' db 24h; '$' db 62h; 'b' db 40h; '@' db 0Bh; db 21h; '!' db C6h; '†' db 07h; db 89h; '%' db BAh; 'ó' db 60h; '`' db 9Eh; '?' db 26h; '&' db 98h; '?' db 18h; db AFh; 'ô' db 01h; db DFh; 'Ÿ' db 2Bh; '+' db 56h; 'V' db C9h; '‰' db B3h; 'i' db 72h; 'r' db 35h; '5' db 8Dh; '?' db 1Dh; db 4Fh; 'O' db 61h; 'a' db AFh; 'ô' db 53h; 'S' db 12h; db 6Eh; 'n' db 49h; 'I' db 1Ch; db 87h; 'Ø' db 6Ch; 'l' db B1h; '+' db D4h; '”' db 1Bh; db A2h; '÷' db B2h; 'I' db D4h; '”' db A1h; 'ö' db 2Ch; ',' db E2h; '¢' db 2Fh; '/' db E9h; '©' db A4h; 'ý' db 62h; 'b' db 17h; db 83h; '?' db 1Ch; db 68h; 'h' db B3h; 'i' db D6h; '–' db 65h; 'e' db 2Dh; '-' db 81h; '?' db 5Bh; '[' db 4Dh; 'M' db 9Bh; '>' db 15h; db 6Fh; 'o' db 0Bh; db DFh; 'Ÿ' db CEh; 'Ž' db 91h; ''' db B9h; 'ü' db 8Ah; '?' db 61h; 'a' db 20h; ' ' db B1h; '+' db F9h; 'é' db CAh; 'Š' db 0Ah; db C4h; '„' db 76h; 'v' db 5Bh; '[' db 4Bh; 'K' db ABh; '<' db 16h; db 5Bh; '[' db D2h; '’' db 4Ah; 'J' db FDh; 'í' db 44h; 'D' db B7h; 'ú' db DFh; 'Ÿ' db 1Fh; db 8Bh; '<' db 6Fh; 'o' db ABh; '<' db 0Ch; db ABh; '<' db 3Dh; '=' db 0Ch; db 7Ah; 'z' db 35h; '5' db 6Ch; 'l' db BDh; '?' db FFh; 'ï' db 62h; 'b' db 53h; 'S' db 77h; 'w' db 44h; 'D' db F2h; 'â' db 44h; 'D' db 5Fh; '_' db 8Ch; '?' db 59h; 'Y' db 25h; '%' db 5Fh; '_' db 6Bh; 'k' db B5h; 'ç' db 27h; ''' db 0Dh; db D2h; '’' db 23h; '#' db BEh; '?' db 40h; '@' db B3h; 'i' db 3Eh; '>' db 8Bh; '<' db 92h; ''' db B1h; '+' db 78h; 'x' db 57h; 'W' db CBh; '‹' db B0h; 'ø' db B3h; 'i' db B4h; '?' db B6h; db D5h; '•' db B6h; db A7h; db 66h; 'f' db 6Eh; 'n' db FBh; 'ë' db A7h; db 32h; '2' db 93h; '"' db EEh; '®' db 79h; 'y' db 61h; 'a' db 45h; 'E' db 49h; 'I' db D7h; '—' db 93h; '"' db 34h; '4' db 90h; '?' db 1Ah; db ADh; '-' db 2Ch; ',' db 84h; '"' db 3Eh; '>' db E9h; '©' db 0Bh; db 2Ch; ',' db C6h; '†' db B3h; 'i' db B1h; '+' db 82h; ''' db FBh; 'ë' db 86h; 'Å' db ECh; '¬' db A8h; 'ð' db 76h; 'v' db 55h; 'U' db 98h; '?' db 7Eh; '~' db E3h; '£' db A2h; '÷' db 47h; 'G' db B6h; db 72h; 'r' db 05h; db 61h; 'a' db 0Bh; db A5h; '?' db 72h; 'r' db 17h; db CBh; '‹' db 18h; db AEh; 'R' db 03h; db 8Ch; '?' db 61h; 'a' db 32h; '2' db D9h; '™' db 2Bh; '+' db 42h; 'B' db EFh; '¯' db F2h; 'â' db 3Fh; '?' db 0Ah; db 06h; db 82h; ''' db 09h; db C9h; '‰' db 76h; 'v' db F2h; 'â' db 3Dh; '=' db 54h; 'T' db 50h; 'P' db FDh; 'í' db 25h; '%' db A2h; '÷' db 2Fh; '/' db 2Eh; '.' db F1h; 'á' db 34h; '4' db 64h; 'd' db 94h; '"' db DCh; 'œ' db 90h; '?' db 58h; 'X' db 5Dh; ']' db 1Eh; db 6Fh; 'o' db B4h; '?' db EFh; '¯' db 73h; 's' db E8h; '¨' db B0h; 'ø' db EDh; '­' db C0h; '€' db D2h; '’' db E1h; '¡' db 42h; 'B' db ECh; '¬' db 04h; db 69h; 'i' db A8h; 'ð' db 27h; ''' db 9Ch; '?' db 7Ch; '|' db 79h; 'y' db 87h; 'Ø' db 9Ah; '?' db B2h; 'I' db 48h; 'H' db 50h; 'P' db 73h; 's' db ECh; '¬' db 1Eh; db 4Dh; 'M' db D0h; '' db 80h; '?' db 51h; 'Q' db 46h; 'F' db 21h; '!' db C9h; '‰' db F8h; 'è' db 93h; '"' db CCh; 'Œ' db E8h; '¨' db 41h; 'A' db 70h; 'p' db C9h; '‰' db E4h; '¤' db 78h; 'x' db 8Fh; '?' db 6Bh; 'k' db 2Ch; ',' db 27h; ''' db 4Ch; 'L' db 7Eh; '~' db 2Ch; ',' db 5Ah; 'Z' db 15h; db 69h; 'i' db 64h; 'd' db DDh; '' db 00h; db C7h; '‡' db 09h; db CDh; '' db F6h; 'æ' db 2Dh; '-' db 2Dh; '-' db 31h; '1' db 6Fh; 'o' db 01h; db 01h; db 3Eh; '>' db CDh; '' db 60h; '`' db 16h; db B4h; '?' db E7h; '§' db E8h; '¨' db 76h; 'v' db C4h; '„' db 50h; 'P' db 4Fh; 'O' db 08h; db 5Bh; '[' db 62h; 'b' db 28h; '(' db 24h; '$' db 42h; 'B' db 7Dh; '}' db 9Ah; '?' db 19h; db 26h; '&' db 2Fh; '/' db D4h; '”' db 67h; 'g' db B9h; 'ü' db 24h; '$' db 0Ch; db BBh; '>' db 14h; db 7Dh; '}' db 19h; db C8h; 'ˆ' db 73h; 's' db 79h; 'y' db A7h; db 70h; 'p' db CFh; '' db 2Dh; '-' db 53h; 'S' db DCh; 'œ' db 91h; ''' db 83h; '?' db F2h; 'â' db 0Ch; db 12h; db 3Bh; ';' db AFh; 'ô' db 1Bh; db 6Bh; 'k' db 02h; db 99h; 'T' db 8Bh; '<' db 61h; 'a' db E3h; '£' db 2Ch; ',' db A2h; '÷' db 54h; 'T' db CDh; '' db 51h; 'Q' db AFh; 'ô' db E5h; '¥' db 18h; db 58h; 'X' db 11h; db 7Fh; '' db F0h; 'à' db 50h; 'P' db 9Ch; '?' db 15h; db 6Eh; 'n' db 26h; '&' db 01h; db E9h; '©' db DBh; '›' db 50h; 'P' db 13h; db EAh; 'ª' db 22h; '"' db 59h; 'Y' db 30h; '0' db 3Bh; ';' db E4h; '¤' db 5Fh; '_' db 43h; 'C' db 1Eh; L004E77C0: dd L00411090 dd L004582E0 dd L00457E60 dd L00411DE0 dd SUB_L00456DF0 dd L00411BB0 dd L00411C00 dd SUB_L00447D90 dd L00411C90 dd L00411A60 dd L00411AC0 dd SUB_L00447D90 dd L00411B50 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L004122C0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00411B10 L004E7938: dd L004123C0 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L004123F0 dd L004123F0 dd L004123F0 dd L004123F0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E7AAC: dd L00412F40 dd L004582E0 dd L00457E60 dd L00411DE0 dd SUB_L00456DF0 dd L00411BB0 dd L00411C00 dd SUB_L00447D90 dd L00411C90 dd L00411A60 dd L00411AC0 dd SUB_L00447D90 dd L00411B50 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L004122C0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00412F70 L004E7C24: dd L00413400 dd L004582E0 dd L00457E60 dd L004136B0 dd L00413790 dd L004134D0 dd L00413500 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0049F6C0 dd SUB_L00401E90 dd L00413520 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E7D98: dd L00414050 dd L004582E0 dd L00457E60 dd L00414620 dd L00414700 dd L00414130 dd L00414190 dd SUB_L00447D90 dd L00414110 dd L0041C970 dd L004591D0 dd L004144C0 dd L00414500 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E7F0C: dd L00415230 dd L004582E0 dd L00457E60 dd L004136B0 dd L00422B80 dd L00415360 dd L00415450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L00415470 dd SUB_L00401E90 dd L004154A0 dd L0043F770 dd L00415F70 dd SUB_L00447780 dd L004156F0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8080: dd L00416710 dd L00416810 dd L00416840 dd SUB_L00401E90 dd SUB_L00403910 dd SUB_L00402D40 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L004168C0 dd L00402C80 dd L00402C90 dd L00402C90 dd L00402CA0 dd SUB_L00401E90 db 00h; db 00h; db 00h; db 00h; L004E80D8: dd 00000026h L004E80DC: dd 00000020h L004E80E0: dd 000000C2h L004E80E4: dd 000000D2h L004E80E8: dd 000000E0h L004E80EC: dd 00000020h L004E80F0: dd 0000017Ch L004E80F4: dd 000000D2h L004E80F8: dd 0000003Eh L004E80FC: dd 0000000Ah L004E8100: dd 000000B6h L004E8104: db C2h; '‚' db 00h; db 00h; db 00h; L004E8108: dd 000000E1h L004E810C: dd 0000000Ah L004E8110: dd 0000015Ch db C2h; '‚' db 00h; db 00h; db 00h; L004E8118: dd L00416D10 dd L004582E0 dd L00457E60 dd L0041A330 dd SUB_L00456DF0 dd L00418620 dd L004188D0 dd SUB_L00447D90 dd L0041A300 dd L0041C970 dd L004591D0 dd L00418980 dd L0041A2A0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00418D90 dd L00447790 dd L0041A290 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00418090 dd L004173D0 dd L00417550 dd L004189B0 dd L00418A50 L004E82A0: dd L0041A730 dd L004582E0 dd L00457E60 dd L0041A330 dd L0043F810 dd L0041A800 dd L0041A9C0 dd SUB_L00447D90 dd L0041A300 dd L0041C970 dd L004591D0 dd L0041AA20 dd L0041B1B0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00418D90 dd L00447790 dd L0041A290 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L0041B2A0 dd L0041B210 dd L0041B260 dd L0041ABC0 dd L0041AE10 L004E8428: dd L0041C7C0 dd L004582E0 dd L00457E60 dd L004A8E20 dd L0042FBE0 dd L0041C870 dd L0041C8E0 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0041C980 dd L0041C9B0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E859C: dd 00000065h db F7h; 'ç' db 00h; db 00h; db 00h; db ADh; '-' db 00h; db 00h; db 00h; L004E85A8: dd 0000014Fh db C8h; 'ˆ' db 00h; db 00h; db 00h; db 4Fh; 'O' db 01h; db 00h; db 00h; db A1h; 'ö' db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 15h; db 01h; db 00h; db 00h; L004E85C0: dd 0000008Fh db 60h; '`' db 00h; db 00h; db 00h; db CBh; '‹' db 00h; db 00h; db 00h; L004E85CC: dd 000000A0h db 33h; '3' db 01h; db 00h; db 00h; db FCh; 'ì' db 00h; db 00h; db 00h; db 8Ch; '?' db 01h; db 00h; db 00h; db F7h; 'ç' db 00h; db 00h; db 00h; db 85h; ':' db 00h; db 00h; db 00h; L004E85E4: dd L0041CC30 dd L004582E0 dd L00457E60 dd SUB_L0041CE70 dd L004AE890 dd L0041D1A0 dd L0041D2D0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041D0F0 dd SUB_L00401E90 dd SUB_L00447D90 dd L0041D3B0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8758: dd 00000000h L004E875C: dd L004220A0 dd L004582E0 dd L00457E60 dd L00422490 dd L004226D0 dd L004222E0 dd L00422360 dd L004228E0 dd L004222C0 dd L00422410 dd L00422430 dd SUB_L00447D90 dd L00422440 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L00422740 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E88D0: dd L004228B0 dd L004582E0 dd L00457E60 dd L00422A90 dd L00422B80 dd L00422900 dd L00422920 dd L004228E0 dd L004222C0 dd L00422990 dd L004229B0 dd L004229C0 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8A44: dd L00422F30 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd L004231D0 dd L00423200 dd SUB_L00447D90 dd L004231A0 dd L00423250 dd L00423290 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8BB8: dd L004232C0 dd L004582E0 dd L00457E60 dd L004C2AD0 dd L0042FBE0 dd L00423EA0 dd L004252A0 dd SUB_L00447D90 dd L00414110 dd L0041C970 dd L004591D0 dd L004252F0 dd L00425370 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00423DD0 dd L00447790 dd L00423BE0 dd L00423E00 dd SUB_L00402C50 dd SUB_L00402C50 dd L00423D30 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8D2C: dd L00424330 dd L004582E0 dd L00457E60 dd L004295A0 dd L0042FBE0 dd L00424430 dd L00424450 dd SUB_L00447D90 dd L00414110 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L004243E0 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00424740 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E8EA0: dd L00424EC0 dd L004582E0 dd L00457E60 dd L004C2AD0 dd L0042FBE0 dd L00425240 dd L004252A0 dd SUB_L00447D90 dd L00414110 dd L0041C970 dd L004591D0 dd L004252F0 dd L00425370 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L004251B0 dd SUB_L00401E90 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 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; L004E9338: dd L004296F0 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd L0042AF60 dd L0042B150 dd SUB_L00447D90 dd L004231A0 dd L0042A020 dd L0042A070 dd SUB_L00447D90 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L0042B440 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L004297B0 L004E94B0: dd L00426C30 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd L00426D00 dd L00424450 dd SUB_L00447D90 dd L004123F0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd SUB_L004712D0 dd L00426D40 dd SUB_L00401E90 dd L00426F60 dd L00426F70 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00401E90 dd L004278C0 dd L00426CE0 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E9624: dd L00427B20 dd L004582E0 dd L00457E60 dd L0045B550 dd L0045B540 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E9798: dd L004280B0 dd L004582E0 dd L00457E60 dd SUB_L0041CE70 dd L0042FBE0 dd L004282C0 dd L00428F20 dd SUB_L00447D90 dd L00428280 dd L00428490 dd L00428570 dd L0041C970 dd L00428590 dd L00428610 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00428320 L004E9910: dd L00428DC0 dd L004582E0 dd L00457E60 dd L004295A0 dd L0042FBE0 dd L00428EB0 dd L00428F20 dd SUB_L00447780 dd L00428E90 dd L00429080 dd L00429170 dd L0041C970 dd L004291B0 dd L00429230 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004E9A84: dd L0042A320 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd L0042AF60 dd L0042B150 dd SUB_L00447D90 dd L004231A0 dd L0042B1F0 dd L0042B230 dd SUB_L00447D90 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L0042B440 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L0042A610 L004E9BFC: dd L0042D5A0 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd SUB_L00447D90 dd L0042E270 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L0042E310 dd L0042E3F0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L0042D650 L004E9D74: dd L0042DDF0 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd L0042DF50 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L0042DEA0 dd L0042E3F0 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L0042E000 L004E9EEC: dd L0042F170 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd L004C1A90 dd L004123F0 dd SUB_L00447D90 dd L004123F0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd SUB_L004712D0 dd L0042F2C0 dd L00430A90 dd L0042F370 dd L0042F380 dd L00447790 dd L0042F260 dd SUB_L00402C50 dd SUB_L004712D0 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 L004EA060: dd L0042F6D0 dd L004582E0 dd L00457E60 dd L004710B0 dd L004A7810 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L0042F790 dd L0042FC50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EA1D4: dd L0042FB10 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L0042FC40 dd L0042FC50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EA348: dd L0042FEE0 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L004123F0 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00401E90 dd SUB_L00401E90 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EA4BC: dd L004309D0 dd L004582E0 dd L00457E60 dd L004710B0 dd L00430AA0 dd L004C1A90 dd L004123F0 dd SUB_L00447D90 dd L004123F0 dd L00430AF0 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L00430A90 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L00430B00 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EA630: dd L004310D0 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L004312A0 dd L00431310 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00431390 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00431280 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L004313E0 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd L004313B0 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004EA7CC: dd 00000061h db 41h; 'A' db 00h; db 00h; db 00h; L004EA7D4: db 62h; 'b' db 00h; db 00h; db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db 47h; 'G' db 00h; db 00h; db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 73h; 's' db 00h; db 00h; db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 74h; 't' db 00h; db 00h; db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 75h; 'u' db 00h; db 00h; db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db 56h; 'V' db 00h; db 00h; db 00h; db 77h; 'w' db 00h; db 00h; db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 5Ah; 'Z' 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; L004EA8B8: dd L00432A50 dd L00433970 dd L00434610 dd L00448100 dd L00448250 dd L00433760 dd L004337D0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L004342B0 dd L00433920 dd L0043F770 dd L0043F770 dd L004342E0 dd SUB_L00447780 dd L00433A40 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00433A90 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00433F20 dd L004330C0 dd L00433C10 dd L00433100 dd L00433150 dd L00447790 dd L00433DA0 dd L00433A30 L004EAA4C: dd L00434920 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00434B30 dd L004484E0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L00448530 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EABE0: dd L00434E80 dd L004582E0 dd L00457E60 dd L0049FFA0 dd L0045FF20 dd L00434B30 dd L004484E0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L00448530 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L004351B0 dd L00448420 dd L004351D0 dd L004351F0 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EAD74: dd L00435430 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00449B50 dd L00449BC0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L00448530 dd L004356C0 dd L004356A0 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L004354E0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EAF08: dd L00435840 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00449180 dd L004491D0 dd SUB_L00447D90 dd L00434AE0 dd L00436440 dd L004364C0 dd L00436460 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00436720 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd L004364D0 L004EB09C: dd L00439C30 dd L004582E0 dd L00457E60 dd L0043AB00 dd L0043ABC0 dd L00439EA0 dd L00439F20 dd SUB_L00447D90 dd L00439E10 dd L0043A040 dd L0043A240 dd L0043A340 dd L0043A4E0 dd L0043F770 dd L0043F770 dd L00487070 dd L0043B1E0 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L0043A450 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EB210: dd L0043B600 dd L004582E0 dd L00457E60 dd L0043CC80 dd L0043CD80 dd L0043B760 dd L0043B830 dd SUB_L00447D90 dd L0042FC20 dd L0043BF70 dd L004591D0 dd L0043C260 dd L0043C600 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EB384: dd L0043E0F0 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd SUB_L00447D90 dd L0043E650 dd L0043E540 dd L0043E5C0 dd L0043E3B0 dd L004591D0 dd SUB_L0043E3E0 dd L0043E640 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EB4F8: dd L0043F640 dd L004582E0 dd L00457E60 dd L004ABA80 dd L0043F810 dd L0043F710 dd L004BE570 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L004BE7A0 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L0043F780 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EB66C: dd L004447B0 dd L004582E0 dd L00457E60 dd L00458080 dd L00444AF0 dd L004458E0 dd L00445960 dd SUB_L00447D90 dd L004458B0 dd L004459E0 dd L004591D0 dd L00445A40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00444AA0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00445A30 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EB7E0: dd L00445B50 dd L00445C20 dd L004461B0 dd SUB_L00447D90 dd L00446240 dd L004462C0 L004EB7F8: dd L00446820 dd SUB_L004712D0 dd L00446900 dd L00446990 dd L004469B0 dd L004469E0 L004EB810: dd L004477A0 dd L00433970 dd L00434610 dd L00448100 dd L00448250 dd L00447DA0 dd L00447E10 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L004480D0 dd L00447F40 dd L0043F770 dd L0043F770 dd L00448220 dd SUB_L00447780 dd L00447FA0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447FC0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00448080 dd L00487070 dd L00448000 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd L00447F90 L004EB9A4: dd L00448430 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00434B30 dd L004484E0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L00448530 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EBB38: dd L004487C0 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00449180 dd L004491D0 dd SUB_L00447D90 dd L00434AE0 dd L004490E0 dd L00449160 dd L00449100 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00449300 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd L00449170 L004EBCCC: dd L00449920 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00449B50 dd L00449BC0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L00448530 dd L004356C0 dd L004356A0 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L004354E0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EBE60: dd L00449D10 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00449D00 dd SUB_L00402C50 L004EBFFC: dd L0044B940 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044BA50 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00450800 dd L0044BAF0 L004EC198: dd L0044BDE0 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044BEC0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L0044C3F0 dd L0044C830 L004EC334: dd L0044CB50 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044CB90 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L0044CFA0 dd L0044D410 L004EC4D0: dd L0044D720 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044D760 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00450800 dd SUB_L00402C50 L004EC66C: dd L0044E1D0 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd L0044E250 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044E260 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L0044E6D0 dd L0044E880 L004EC808: dd L0044EE60 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd L0044E250 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044EEE0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L0044F290 dd L0044F440 L004EC9A4: dd L0044F980 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0044F9C0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L0044FC90 dd L0044FEF0 L004ECB40: dd L00450140 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00450170 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00450800 dd SUB_L00402C50 L004ECCDC: dd L004503F0 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00450420 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00450800 dd SUB_L00402C50 L004ECE78: dd L00450710 dd L00433970 dd L00434610 dd L0044B320 dd L0044B570 dd L0044B140 dd L0044B1D0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0044B2E0 dd L0044B270 dd L0043F770 dd L0043F770 dd L0044B520 dd SUB_L00447780 dd L0044B2C0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00450740 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd SUB_L00447D90 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00401E90 dd L00450800 dd SUB_L00402C50 L004ED014: dd L00453760 dd L00402C60 dd L00453B30 dd L004537F0 dd SUB_L00403910 dd SUB_L00402D40 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00404F00 dd L00453E70 dd L00402C90 dd L00402C90 dd L00402CA0 dd SUB_L00401E90 L004ED068: dd L004518F0 dd L004582E0 dd L00447790 dd L00447790 dd L0045B540 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L00455620 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004ED1DC: dd L00458F10 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004ED350: dd L0045B490 dd L004582E0 dd L00457E60 dd L0045B550 dd L0045B540 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004ED4C4: dd L0045B6D0 dd L004582E0 dd L00457E60 dd L0045B920 dd L004B2370 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004ED638: dd 3C23D70Ah L004ED63C: dd L0045BE90 dd L004582E0 dd L00457E60 dd L0045C200 dd L0045C340 dd L0045C3A0 dd L00424450 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L0045C3D0 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L0045C410 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004ED7B0: dd L0045C450 L004ED7B4: dd 35800000h db 00h; db 00h; db 00h; db 00h; L004ED7BC: dd 00000001h L004ED7C0: dd 000000C4h L004ED7C4: dd SSZ00503CE8_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 DCh; 'œ' db 3Ch; '<' db 50h; 'P' 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 CCh; 'Œ' db 3Ch; '<' db 50h; 'P' 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 C0h; '€' db 3Ch; '<' db 50h; 'P' 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 B8h; 'ñ' db 3Ch; '<' db 50h; 'P' 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 ACh; '¿' db 3Ch; '<' db 50h; 'P' 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 A0h; 'ÿ' db 3Ch; '<' db 50h; 'P' 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 90h; '?' db 3Ch; '<' db 50h; 'P' 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 84h; '"' db 3Ch; '<' db 50h; 'P' 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 78h; 'x' db 3Ch; '<' db 50h; 'P' 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 6Ch; 'l' db 3Ch; '<' db 50h; 'P' 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 60h; '`' db 3Ch; '<' db 50h; 'P' 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 54h; 'T' db 3Ch; '<' db 50h; 'P' 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 48h; 'H' db 3Ch; '<' db 50h; 'P' 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 3Ch; '<' db 3Ch; '<' db 50h; 'P' 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 30h; '0' db 3Ch; '<' db 50h; 'P' 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 24h; '$' db 3Ch; '<' db 50h; 'P' db 00h; L004ED8C8: dd L0045FDE0 dd L004582E0 dd L00457E60 L004ED8D4: dd L0049FFA0 dd L0045FF20 dd L0045FEF0 dd L0045FF10 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L0045FFF0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L0049FF40 dd L00448420 dd L0045FF90 dd L0045FFC0 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EDA5C: dd L00463D20 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L004648C0 dd L00464A80 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L00464680 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00464C10 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00464040 dd L004640B0 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EDBF0: dd L00465AC0 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L00465D00 dd L004666F0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L004678A0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EDD84: dd L00465FD0 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L00466260 dd L004666F0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L004678A0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EDF18: dd L004664B0 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L00466680 dd L004666F0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L004678A0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00487070 dd SUB_L00447780 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EE0AC: dd L00466980 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L00467900 dd L004666F0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L004678A0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00467960 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L00467160 dd L004671C0 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EE240: dd L004685A0 dd L004582E0 dd L00457E60 dd L00466160 dd SUB_L00456DF0 dd L00467900 dd L004666F0 dd SUB_L00447D90 dd L00434AE0 dd L0041C970 dd L004591D0 dd L004678A0 dd L00448580 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L00467960 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L00487070 dd L00448420 dd L004689F0 dd L00468A50 dd L00447790 dd L00487070 dd SUB_L00402C50 db 00h; db 00h; db 00h; db 00h; L004EE3D8: dq 0000000000000000h L004EE3E0: dq 3FF0000000000000h L004EE3E8: dd L00469840 dd L004582E0 dd L00457E60 dd L0046AA50 dd L00469A20 dd L004698F0 dd L004123F0 dd SUB_L00447D90 dd L004123F0 dd L00469990 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EE55C: dd L0046A000 dd L004582E0 dd L00457E60 dd L0046AA50 dd L0042FBE0 dd L0046AB70 dd L0046AC20 dd SUB_L00447D90 dd L0046AB30 dd L0041C970 dd L004591D0 dd L0046AC40 dd SUB_L00401E90 dd L0046AD00 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EE6D0: dd L0046BD70 L004EE6D4: dd L00470FE0 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd SUB_L00447D90 dd L004123F0 dd SUB_L00447D90 dd L004123F0 dd L004711A0 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd SUB_L004712D0 dd SUB_L00401E90 dd L004711D0 dd L004711E0 dd L004711F0 dd L00471280 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L004712D0 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EE848: dd L00473550 dd L004582E0 dd L00457E60 dd L00458080 dd L004735E0 dd L00473620 dd L00473710 dd L004737F0 dd L00473860 dd L00473920 dd L00473B30 dd L00473C40 dd L00473D10 dd L0043F770 dd L0043F770 dd L00487070 dd L00474800 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EE9BC: dd L00474B60 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00474C10 dd L00424450 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L00474C40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EEB30: 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; L004EEB58: dd L0047E1D0 dd L0047E3C0 dd L004077B0 dd L00407770 dd L00403A50 dd SUB_L00402D40 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00404980 dd L00402C80 dd L00402C90 dd L00402C90 dd L00402CA0 dd SUB_L00401E90 L004EEBAC: dd L0047E330 dd L0047E430 dd L00408030 dd L00407F90 dd L00403B90 dd SUB_L00402D40 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L004049B0 dd L00402C80 dd L00479040 dd L004790E0 dd L004790B0 dd SUB_L00401E90 L004EEC00: dd L0047DEC0 dd L0047E620 dd SUB_L00404FE0 dd L00404F10 dd L00403CD0 dd SUB_L00402D40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L004049F0 dd L0047FF70 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L0047F5C0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L0047E540 dd L0047E550 dd L0047FF50 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 L004EEC84: dd L0047E080 dd L0047E810 dd SUB_L00404FE0 dd L00404F10 dd L00403CD0 dd SUB_L00402D40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L004049F0 dd L0047FF70 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C80 dd L00480220 dd L00480260 dd L00402C80 dd L00402C80 dd L0047E540 dd L0047E550 dd L0047FF50 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 dd L00403750 L004EED0C: dd L00480720 dd L00402C60 dd SUB_L00404FE0 dd L00404F10 dd L00403CD0 dd SUB_L00402D40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L004049F0 dd L0047FF70 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C80 dd L00480220 dd L00480260 dd L00402C80 dd L004809F0 dd L0047E540 dd L0047E550 dd L0047FF50 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 dd L00403750 L004EED94: dd L00480A30 dd L00402C60 dd SUB_L00404FE0 dd L00404F10 dd L00403CD0 dd SUB_L00402D40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L004049F0 dd L0047FF70 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C80 dd L00480220 dd L00480260 dd L00402C70 dd L00402C80 dd L0047E540 dd L0047E550 dd L0047FF50 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 dd L00403750 L004EEE1C: dd L00480D40 dd L00402C60 dd L00405CB0 dd L004059C0 dd L00403E30 dd L00402E40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L004049F0 dd L00402C80 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C70 dd L00480220 dd L00480260 dd L00402C80 dd L004809F0 dd L0047E540 dd L0047E550 dd L00480D30 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 dd L00403750 L004EEEA4: dd L00481070 dd L00402C60 dd L00406490 dd L00405F90 dd L00404070 dd SUB_L00402F80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00404C40 dd L00402C80 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C80 dd L00480220 dd L00402C80 dd L00402C80 dd L004809F0 dd L0047E540 dd L0047E550 dd L00481060 dd SUB_L00481970 dd L00481980 dd L0047FFB0 dd L0047FFF0 dd L00403290 dd L004032F0 dd L004B4B30 dd L004817D0 dd L0047AA40 dd L00481950 dd L00481D50 dd L00481680 dd L00481730 dd L004816D0 L004EEF50: dd L00481F80 dd L00402C60 dd L004070C0 dd L00406C40 dd L00404310 dd L004030F0 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00404F00 dd L00402C80 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L004802D0 dd L00402C80 dd L00480220 dd L00402C80 dd L00402C80 dd L004809F0 dd L0047E540 dd L0047E550 dd L00481060 dd SUB_L00481970 dd L00481980 dd L0047FFB0 dd L0047FFF0 dd L00403250 dd L004032F0 dd L004B57E0 dd L004817D0 dd L0047A6A0 dd L00481950 dd L00481D50 dd L004816A0 dd L00481F70 dd L00481F70 L004EEFFC: dd L00482210 dd L00402C60 dd L004053B0 dd L00404F10 dd L00403CD0 dd SUB_L00402D40 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L004049F0 dd L0047FF70 dd L00479080 dd L00402C90 dd L00402CA0 dd SUB_L0047F5C0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L0047E540 dd L0047E550 dd L0047FF50 dd L0047FF90 dd L0047FEC0 dd L0047FFB0 dd L0047FFF0 L004EF080: 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; L004EF0D0: dd L00484ED0 dd L004582E0 dd L00457E60 dd L00487760 dd SUB_L00456DF0 dd L004878C0 dd L00487AC0 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L00487AE0 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00485710 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L004852A0 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EF244: dd L00487F70 dd L00488040 dd L004880C0 dd L00488190 dd L004882A0 dd L00488270 L004EF25C: dd L00487050 dd L004D4BBF dd L004D4BBF dd L004D4BBF dd L004D4BBF dd SUB_L00402C50 L004EF274: dd L00488310 dd L00488390 dd L004883C0 dd L00488520 dd L00488580 dd L00488550 L004EF28C: dd L00488C30 dd L00488CB0 dd L00488CE0 dd L00488E60 dd L00488EC0 dd L00488E90 L004EF2A4: dd L004887A0 dd L00488820 dd L00488850 dd L00488B20 dd L00488B80 dd L00488B50 L004EF2BC: dd L00488670 dd L00402C80 dd L00487070 dd SUB_L00402C50 dd L00487080 dd SUB_L00402C50 L004EF2D4: dd L004890F0 dd L00489190 dd L004891E0 dd L00489340 dd L00489400 dd L00489370 L004EF2EC: db 0Dh; db 0Ah; db 00h; db 00h; L004EF2F0: db 0Dh; db 0Ah; db 00h; db 00h; L004EF2F4: dd L0048B9E0 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L00449B50 dd L00449BC0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd L004356C0 dd L0048BD20 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0048BA90 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EF468: dq 3FD0000000000000h L004EF470: dd L0049E630 dd L004582E0 dd L00457E60 dd L0049E700 dd L0043ABC0 dd L0049EBA0 dd L00413500 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0049F6C0 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L0049F320 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EF5E4: dd L0049FC30 dd L004582E0 dd L00457E60 dd L0049FFA0 dd L0045FF20 dd L0049FD50 dd L0049FD70 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L0049FF10 dd L00448580 dd L0043F770 dd L0043F770 dd L0049FEF0 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00434B80 dd L0049FF40 dd L00448420 dd L0049FF60 dd L0049FF80 dd L00447790 dd L00487070 dd SUB_L00402C50 L004EF778: dd L004A21D0 dd L004582E0 dd L00457E60 dd L004A22C0 dd L004B2370 dd SUB_L00447D90 dd L004A2280 dd SUB_L00447D90 dd L004A22A0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L004A2380 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 L004EF8EC: dd L004A2C30 dd L004582E0 dd L00457E60 dd L004A36A0 dd L0043ABC0 dd L004A2D60 dd L004A2E30 dd SUB_L00447D90 dd L0042FC20 dd L004A4BF0 dd L004591D0 dd L004A2EA0 dd L004A2F40 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd SUB_L00481970 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EFA60: dd L004A3E40 dd L004582E0 dd L00457E60 dd L004A5A90 dd L004A5BE0 dd L004A46A0 dd L004A47B0 dd SUB_L00447D90 dd L004A4650 dd L004A4BF0 dd L004591D0 dd L004A4C20 dd L004A4E70 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L004A4DF0 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L004A5C60 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EFBD4: dd L004A62F0 dd L004582E0 dd L00457E60 dd SUB_L0041CE70 dd L0042FBE0 dd L004A63B0 dd L00424450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L004A63F0 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L004A6430 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004EFD48: dd L004AAB70 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd SUB_L00447D90 dd L004AABA0 dd SUB_L00447D90 dd L004231A0 dd L0042A020 dd L0042A070 dd SUB_L00447D90 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L0042B440 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L004297B0 L004EFEC0: dd L004AAFD0 L004EFEC4: dd L004A8850 L004EFEC8: dd L004A7690 dd L004582E0 dd L00457E60 dd L0046AA50 dd L004A7810 dd L004A7E50 dd L004123F0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0020: dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F003C: dd SUB_L004712D0 L004F0040: dd L004A8D40 dd L004582E0 dd L00457E60 dd L004A8E20 dd L00422B80 dd L004A8ED0 dd L004A8EE0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F01B4: dd L004A8F70 dd L004582E0 dd L00457E60 dd SUB_L004A9200 dd L004A9130 dd L004A92D0 dd L004A9330 dd SUB_L00447D90 dd SUB_L00447D90 dd L004A91E0 dd L004A91F0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0328: dd L004A9710 L004F032C: dd L004A9570 dd L004582E0 dd L00457E60 dd L0046AA50 dd L004A9760 dd L004123F0 dd L004123F0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F04A0: dd L004A9890 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L004A98C0 dd L004A98E0 dd L004A9900 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd L004A9940 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0614: dd L004AAA80 dd L004582E0 dd L00457E60 dd L004AAAB0 dd L0042FBE0 dd L004282C0 dd L00428F20 dd SUB_L00447D90 dd L00428280 dd L00428490 dd L00428570 dd L0041C970 dd L00428590 dd L00428610 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L004AAAD0 L004F078C: dd L004AB8C0 dd L004582E0 dd L00457E60 dd L004ABA80 dd L004ABB60 dd L0049EBA0 dd L004AC190 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0049F6C0 dd SUB_L00401E90 dd L004AC220 dd L0043F770 dd SUB_L004ABBB0 dd SUB_L00447780 dd L004AC270 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 L004F0900: dd L004AC990 dd L004582E0 dd L00457E60 dd L004AD650 dd L004AD710 dd L004ACA90 dd L004ACAF0 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L004ACB60 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0A74: dd L004AE6B0 dd L004582E0 dd L00457E60 dd L00458080 dd L004AE890 dd SUB_L00447D90 dd L004123F0 dd SUB_L00447D90 dd SUB_L00447D90 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L004AE8E0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L004AE8F0 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0BE8: dd L004AF040 dd L004582E0 dd L00457E60 dd L004B0990 dd L004B1AB0 dd L004AF580 dd L004AFAB0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L004AFB10 dd L004AFCE0 dd L004AFBC0 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0D5C: dd L004B0DC0 dd L004582E0 dd L00457E60 dd L004B1930 dd L004B1AB0 dd L004B0E50 dd L004B0EC0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L004B0F10 dd L004B11D0 dd L004B1170 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L004B0FC0 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F0ED0: dd L004B2000 dd L004582E0 dd L00457E60 dd L004295A0 dd L004B2370 dd L0043F710 dd L004B23C0 dd SUB_L00447D90 dd L0042FC20 dd L004B2420 dd L004591D0 dd L0041C980 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L004B2560 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1044: dd L004B2B30 dd L004582E0 dd L00457E60 dd L004295A0 dd L004B2370 dd L0043F710 dd L004B2BF0 dd SUB_L00447D90 dd L004B2BE0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L004B2C40 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F11B8: dd L004B3160 dd L004582E0 dd L00457E60 dd L004710B0 dd L0042FBE0 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L004123F0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd L004B3230 dd L004B3240 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F132C: dd L004B6850 dd L004582E0 dd L00457E60 dd L004B84B0 dd L004B85C0 dd L004B69D0 dd L004B6AA0 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004591D0 dd L004B6C50 dd L004B7820 dd L004B73A0 dd L0043F770 dd SUB_L004B7250 dd SUB_L00447780 dd L004B75A0 dd L00447790 dd L004B8BC0 dd SUB_L00402C50 dd SUB_L004B8B00 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F14A0: dd L004B8FC0 dd L004582E0 dd L00457E60 dd L004B9080 dd L0042FBE0 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd SUB_L004712D0 dd SUB_L00402C50 dd L004B9170 dd L004B9180 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1614: dd L004B9350 dd L004582E0 dd L00457E60 dd L004B9450 dd L004A9130 dd L004A92D0 dd L004B94A0 dd SUB_L00447D90 dd SUB_L00447D90 dd L004A91E0 dd L004A91F0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L004B9400 L004F178C: dd L004D4BBF L004F1790: dd L004BA2B0 L004F1794: dd L004BA600 L004F1798: dd L004BA810 L004F179C: dd L004BB340 L004F17A0: dd L004BC860 L004F17A4: dd L004BD0A0 dd L004582E0 dd L00457E60 dd L004BD230 dd SUB_L00456DF0 dd L004123F0 dd L004123F0 dd L004123F0 dd L004123F0 dd L0041C970 dd L004591D0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd L004BD2F0 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1918: dd C2080000h L004F191C: dd 41200000h L004F1920: dd 3DCCCCCDh L004F1924: dd L004BE440 dd L004582E0 dd L00457E60 dd L004ABA80 dd L004B85C0 dd L004BE510 dd L004BE570 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L004BE7A0 dd L004BE830 dd L004BE8B0 dd L0043F770 dd L004BEA80 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1A98: dd L004BF5B0 dd L004582E0 dd L00457E60 dd L004ABA80 dd L004ABB60 dd L004BF6B0 dd L004BE570 dd SUB_L00447D90 dd L0042FC20 dd L0041C970 dd L004591D0 dd L004BE7A0 dd L004BF830 dd L004BF8B0 dd L0043F770 dd L004BF900 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1C0C: dd L004C0060 dd L004582E0 dd L004C02B0 dd L004C02E0 dd L0045B540 dd SUB_L00447D90 dd L004C0090 dd SUB_L00447D90 dd SUB_L00447D90 dd SUB_L00447D90 dd L004591D0 dd SUB_L004C00D0 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1D80: dd L004C1000 dd L004582E0 dd L00457E60 dd L004C1240 dd L00413790 dd L0045BA10 dd L00424450 dd SUB_L00447D90 dd L004C1120 dd L0041C970 dd L004591D0 dd L0045BA40 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L004C1190 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F1EF4: dd L004C1450 dd L004582E0 dd L00457E60 dd L00458080 dd SUB_L00456DF0 dd L004C1A90 dd SUB_L00447D90 dd SUB_L00447D90 dd L00411C90 dd L0041C970 dd L004C1AA0 dd SUB_L00447D90 dd SUB_L00401E90 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd SUB_L004712D0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F2068: dd 3FCCCCCDh L004F206C: dd L004C2120 dd L004582E0 dd L00457E60 dd L004C2AD0 dd L0042FBE0 dd L00423EA0 dd L004252A0 dd SUB_L00447D90 dd L00414110 dd L0041C970 dd L004591D0 dd L004252F0 dd L00425370 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L004C2A10 dd L00447790 dd L004C27C0 dd L004C2A40 dd SUB_L00402C50 dd SUB_L00402C50 dd L004C2970 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F21E0: dd L004C2BB0 dd L004582E0 dd L00457E60 dd L0042AEA0 dd L0042FBE0 dd L004C36F0 dd L004C38B0 dd SUB_L00447D90 dd L004231A0 dd L004C3910 dd L004C3950 dd SUB_L00447D90 dd L004C3980 dd L0043F770 dd L0043F770 dd L00487070 dd SUB_L00447780 dd L004C3AB0 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00447790 dd SUB_L00402C50 dd SUB_L00402C50 dd L00447790 dd L00411070 dd L00447790 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C70 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 dd L00402C80 L004F2354: dd BF5020C5h L004F2358: dd 3EC83127h L004F235C: dd 400126E9h L004F2360: dq 3FEB7DCCF9D7885Ch L004F2368: dd 3FCC49BAh L004F236C: dd 3F94FDF4h L004F2370: dd 47800000h L004F2374: dd 3D800000h L004F2378: dq 405AC00000000000h SSZ004F2380____1_: db ' "%1"',0 Align 4 L004F2388: dd C51C4000h L004F238C: dd B9D1B717h L004F2390: dd 3B808081h L004F2394: dd 451C4000h L004F2398: dd BF800000h L004F239C: dd 3F000000h L004F23A0: dd 3D638E39h L004F23A4: dd 46AC4000h L004F23A8: db 6Bh; 'k' db F5h; 'å' db 5Fh; '_' db A3h; '?' db DAh; 'š' db 9Fh; '?' db D0h; '' db 11h; db 8Fh; '?' db DFh; 'Ÿ' db 00h; db C0h; '€' db 4Fh; 'O' db D9h; '™' db 18h; db 9Dh; '?' L004F23B8: db 6Ah; 'j' db F5h; 'å' db 5Fh; '_' db A3h; '?' db DAh; 'š' db 9Fh; '?' db D0h; '' db 11h; db 8Fh; '?' db DFh; 'Ÿ' db 00h; db C0h; '€' db 4Fh; 'O' db D9h; '™' db 18h; db 9Dh; '?' L004F23C8: db E5h; '¥' db 7Ch; '|' db C4h; '„' db 49h; 'I' db A4h; 'ý' db 9Bh; '>' db D0h; '' db 11h; db 82h; ''' db 12h; db 00h; db C0h; '€' db 4Fh; 'O' db C3h; 'ƒ' db 2Ch; ',' db 45h; 'E' L004F23D8: db 5Ch; '\' db 59h; 'Y' db BEh; '?' db BEh; '?' db 6Fh; 'o' db 9Ah; '?' db D0h; '' db 11h; db 8Fh; '?' db DEh; 'ž' db 00h; db C0h; '€' db 4Fh; 'O' db D9h; '™' db 18h; db 9Dh; '?' L004F23E8: db CEh; 'Ž' db 4Fh; 'O' db 10h; db F4h; 'ä' db 70h; 'p' db 9Ah; '?' db D0h; '' db 11h; db 8Fh; '?' db DEh; 'ž' db 00h; db C0h; '€' db 4Fh; 'O' db D9h; '™' db 18h; db 9Dh; '?' L004F23F8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 26h; '&' db 54h; 'T' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2408: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 7Ah; 'z' db 54h; 'T' db 4Dh; 'M' db 00h; db 84h; '"' db 54h; 'T' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2418: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 06h; db 55h; 'U' db 4Dh; 'M' db 00h; SSZ004F2424__com: db '.com',0 Align 4 SSZ004F242C__bat: db '.bat',0 Align 4 SSZ004F2434__cmd: db '.cmd',0 Align 4 SSZ004F243C__exe: db '.exe',0 Align 4 L004F2444: db 2Eh; '.' db 2Fh; '/' db 5Ch; '\' db 00h; L004F2448: db 3Fh; '?' db 2Ah; '*' db 00h; db 00h; L004F244C: db 54h; 'T' db 5Ah; 'Z' db 00h; db 00h; L004F2450: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 52h; 'R' db 78h; 'x' db 4Dh; 'M' db 00h; db 66h; 'f' db 78h; 'x' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2460: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B9h; 'ü' db 7Bh; '{' db 4Dh; 'M' db 00h; db CDh; '' db 7Bh; '{' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2470: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db DDh; '' db 7Fh; '' db 4Dh; 'M' db 00h; db E7h; '§' db 7Fh; '' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2480: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 81h; '?' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; db 4Ah; 'J' db 81h; '?' db 4Dh; 'M' db 00h; db 54h; 'T' db 81h; '?' db 4Dh; 'M' db 00h; L004F2498: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db A2h; '÷' db 83h; '?' db 4Dh; 'M' db 00h; db A6h; '³' db 83h; '?' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F24A8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 04h; db 84h; '"' db 4Dh; 'M' db 00h; db 0Dh; db 84h; '"' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L004F24B8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 56h; 'V' db 86h; 'Å' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; db 42h; 'B' db 86h; 'Å' db 4Dh; 'M' db 00h; db 46h; 'F' db 86h; 'Å' db 4Dh; 'M' db 00h; L004F24D0: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db ACh; '¿' db 86h; 'Å' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; db 98h; '?' db 86h; 'Å' db 4Dh; 'M' db 00h; db 9Ch; '?' db 86h; 'Å' db 4Dh; 'M' db 00h; L004F24E8: dq 4150017EC0000000h L004F24F0: dq 4147FFFF80000000h L004F24F8: db 49h; 'I' db 73h; 's' db 50h; 'P' db 72h; 'r' db 6Fh; 'o' db 63h; 'c' db 65h; 'e' db 73h; 's' db 73h; 's' db 6Fh; 'o' db 72h; 'r' db 46h; 'F' db 65h; 'e' db 61h; 'a' db 74h; 't' db 75h; 'u' SSZ004F2508_rePresent: db 'rePresent',0 Align 4 SSZ004F2514_KERNEL32: db 'KERNEL32',0 Align 4 SSZ004F2520_e_000: db 'e+000',0 Align 4 L004F2528: 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; SWC004F2584__null_: unicode '(null)',0000h Align 4 L004F2594: db 00h; db 00h; db 00h; db 00h; L004F2598: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L004F25A0: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db B5h; 'ç' db 99h; 'T' db 4Dh; 'M' db 00h; db B9h; 'ü' db 99h; 'T' db 4Dh; 'M' db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 69h; 'i' db 9Ah; '?' db 4Dh; 'M' db 00h; db 6Dh; 'm' db 9Ah; '?' db 4Dh; 'M' 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; L004F25F8: db 2Eh; '.' db 5Ch; '\' 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; SSZ004F2860_R6002____floating_point_not_load: db 'R6002',0Dh,0Ah,'- floating point not loaded',0Dh,0Ah,0 Align 4 SSZ004F2888_Microsoft_Visual_C___Runtime_Lib: db 'Microsoft Visual C++ Runtime Library',0 Align 4 SSZ004F28B0_Runtime_Error___Program__: db 'Runtime Error!',0Ah,0Ah,'Program: ',0 Align 4 L004F28CC: db 2Eh; '.' db 2Eh; '.' db 2Eh; '.' db 00h; SSZ004F28D0__program_name_unknown_: db '',0 Align 4 L004F28E8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db AEh; 'R' db E2h; '¢' db 4Dh; 'M' db 00h; db B2h; 'I' db E2h; '¢' db 4Dh; 'M' db 00h; SSZ004F28F4_GetLastActivePopup: db 'GetLastActivePopup',0 Align 4 SSZ004F2908_GetActiveWindow: db 'GetActiveWindow',0 SSZ004F2918_MessageBoxA: db 'MessageBoxA',0 SSZ004F2924_user32_dll: db 'user32.dll',0 Align 4 SSZ004F2930_1_QNAN: db '1#QNAN',0 Align 4 SSZ004F2938_1_INF: db '1#INF',0 Align 4 SSZ004F2940_1_IND: db '1#IND',0 Align 4 SSZ004F2948_1_SNAN: db '1#SNAN',0 db 00h; db 48h; 'H' db 3Ah; ':' db 6Dh; 'm' db 6Dh; 'm' db 3Ah; ':' db 73h; 's' db 73h; 's' db 00h; db 64h; 'd' db 64h; 'd' db 64h; 'd' db 64h; 'd' db 2Ch; ',' db 20h; ' ' db 4Dh; 'M' db 4Dh; 'M' db 4Dh; 'M' db 4Dh; 'M' db 20h; ' ' db 64h; 'd' db 64h; 'd' db 2Ch; ',' db 20h; ' ' db 79h; 'y' db 79h; 'y' db 79h; 'y' db 79h; 'y' db 00h; db 4Dh; 'M' db 2Fh; '/' db 64h; 'd' db 2Fh; '/' db 79h; 'y' db 79h; 'y' db 00h; db 00h; db 50h; 'P' db 4Dh; 'M' db 00h; db 00h; db 41h; 'A' db 4Dh; 'M' db 00h; db 00h; db 44h; 'D' db 65h; 'e' db 63h; 'c' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 00h; db 4Eh; 'N' db 6Fh; 'o' db 76h; 'v' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 00h; db 4Fh; 'O' db 63h; 'c' db 74h; 't' db 6Fh; 'o' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 00h; db 53h; 'S' db 65h; 'e' db 70h; 'p' db 74h; 't' db 65h; 'e' db 6Dh; 'm' db 62h; 'b' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 41h; 'A' db 75h; 'u' db 67h; 'g' db 75h; 'u' db 73h; 's' db 74h; 't' db 00h; db 00h; db 4Ah; 'J' db 75h; 'u' db 6Ch; 'l' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 4Ah; 'J' db 75h; 'u' db 6Eh; 'n' db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 70h; 'p' db 72h; 'r' db 69h; 'i' db 6Ch; 'l' db 00h; db 00h; db 00h; db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 63h; 'c' db 68h; 'h' db 00h; db 00h; db 00h; db 46h; 'F' db 65h; 'e' db 62h; 'b' db 72h; 'r' db 75h; 'u' db 61h; 'a' db 72h; 'r' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 4Ah; 'J' db 61h; 'a' db 6Eh; 'n' db 75h; 'u' db 61h; 'a' db 72h; 'r' db 79h; 'y' db 00h; db 44h; 'D' db 65h; 'e' db 63h; 'c' db 00h; db 4Eh; 'N' db 6Fh; 'o' db 76h; 'v' db 00h; db 4Fh; 'O' db 63h; 'c' db 74h; 't' db 00h; db 53h; 'S' db 65h; 'e' db 70h; 'p' db 00h; db 41h; 'A' db 75h; 'u' db 67h; 'g' db 00h; db 4Ah; 'J' db 75h; 'u' db 6Ch; 'l' db 00h; db 4Ah; 'J' db 75h; 'u' db 6Eh; 'n' db 00h; db 4Dh; 'M' db 61h; 'a' db 79h; 'y' db 00h; db 41h; 'A' db 70h; 'p' db 72h; 'r' db 00h; db 4Dh; 'M' db 61h; 'a' db 72h; 'r' db 00h; db 46h; 'F' db 65h; 'e' db 62h; 'b' db 00h; db 4Ah; 'J' db 61h; 'a' db 6Eh; 'n' db 00h; db 53h; 'S' db 61h; 'a' db 74h; 't' db 75h; 'u' db 72h; 'r' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 46h; 'F' db 72h; 'r' db 69h; 'i' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 54h; 'T' db 68h; 'h' db 75h; 'u' db 72h; 'r' db 73h; 's' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 00h; db 00h; db 57h; 'W' db 65h; 'e' db 64h; 'd' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 00h; db 54h; 'T' db 75h; 'u' db 65h; 'e' db 73h; 's' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 4Dh; 'M' db 6Fh; 'o' db 6Eh; 'n' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 53h; 'S' db 75h; 'u' db 6Eh; 'n' db 64h; 'd' db 61h; 'a' db 79h; 'y' db 00h; db 00h; db 53h; 'S' db 61h; 'a' db 74h; 't' db 00h; db 46h; 'F' db 72h; 'r' db 69h; 'i' db 00h; db 54h; 'T' db 68h; 'h' db 75h; 'u' db 00h; db 57h; 'W' db 65h; 'e' db 64h; 'd' db 00h; db 54h; 'T' db 75h; 'u' db 65h; 'e' db 00h; db 4Dh; 'M' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 53h; 'S' db 75h; 'u' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 00h; L004F2A78: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 9Dh; '?' db 04h; db 4Eh; 'N' db 00h; db A1h; 'ö' db 04h; db 4Eh; 'N' db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 0Ch; db 05h; db 4Eh; 'N' db 00h; db 10h; db 05h; db 4Eh; 'N' db 00h; L004F2A90: dd 19930520h dd 00000001h dd L004F2AB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2AB0: dd FFFFFFFFh dd L004E0B10 L004F2AB8: dd 19930520h dd 00000001h dd L004F2AD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2AD8: dd FFFFFFFFh dd L004E0B30 L004F2AE0: dd 19930520h dd 00000001h dd L004F2B00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2B00: dd FFFFFFFFh dd L004E0B50 L004F2B08: dd 19930520h dd 00000001h dd L004F2B28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2B28: dd FFFFFFFFh dd L004E0B70 L004F2B30: dd 19930520h dd 00000001h dd L004F2B50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2B50: dd FFFFFFFFh dd L004E0B90 L004F2B58: dd 19930520h dd 00000002h dd L004F2B78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2B78: dd FFFFFFFFh dd L004E0BB0 dd FFFFFFFFh dd L004E0BBB L004F2B88: dd 19930520h dd 00000001h dd L004F2BA8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2BA8: dd FFFFFFFFh dd L004E0BD0 L004F2BB0: dd 19930520h dd 00000001h dd L004F2BD0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2BD0: dd FFFFFFFFh dd L004E0BF0 L004F2BD8: dd 19930520h dd 00000001h dd L004F2BF8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2BF8: dd FFFFFFFFh dd L004E0C10 L004F2C00: dd 19930520h dd 00000001h dd L004F2C20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2C20: dd FFFFFFFFh dd L004E0C30 L004F2C28: dd 19930520h dd 00000001h dd L004F2C48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2C48: dd FFFFFFFFh dd L004E0C50 L004F2C50: dd 19930520h dd 00000001h dd L004F2C70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2C70: dd FFFFFFFFh dd L004E0C70 L004F2C78: dd 19930520h dd 00000005h dd L004F2C98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2C98: dd FFFFFFFFh dd L004E0C90 dd 00000000h dd L004E0C98 dd 00000000h dd L004E0CA3 dd 00000000h dd L004E0CAE dd 00000000h dd L004E0CB9 L004F2CC0: dd 19930520h dd 00000001h dd L004F2CE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2CE0: dd FFFFFFFFh dd L004E0CD0 L004F2CE8: dd 19930520h dd 00000002h dd L004F2D08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2D08: dd FFFFFFFFh dd L004E0CF0 dd FFFFFFFFh dd L004E0CFB L004F2D18: dd 19930520h dd 00000001h dd L004F2D38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2D38: dd FFFFFFFFh dd L004E0D10 L004F2D40: dd 19930520h dd 00000001h dd L004F2D60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2D60: dd FFFFFFFFh dd L004E0D30 L004F2D68: dd 19930520h dd 00000001h dd L004F2D88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2D88: dd FFFFFFFFh dd L004E0D50 L004F2D90: dd 19930520h dd 00000009h dd L004F2DB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2DB0: dd FFFFFFFFh dd L004E0D70 dd 00000000h dd L004E0D78 dd 00000000h dd L004E0D83 dd 00000000h dd L004E0D8E dd 00000000h dd L004E0D99 dd 00000000h dd L004E0DA4 dd 00000000h dd L004E0DAF dd 00000000h dd L004E0DBA dd 00000000h dd L004E0DC5 L004F2DF8: dd 19930520h dd 00000001h dd L004F2E18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2E18: dd FFFFFFFFh dd L004E0DE0 L004F2E20: dd 19930520h dd 00000001h dd L004F2E40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2E40: dd FFFFFFFFh dd L004E0E00 L004F2E48: dd 19930520h dd 00000001h dd L004F2E68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2E68: dd FFFFFFFFh dd L004E0E20 L004F2E70: dd 19930520h dd 00000003h dd L004F2E90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2E90: dd FFFFFFFFh dd L004E0E40 dd 00000000h dd L004E0E4B dd 00000000h dd L004E0E59 L004F2EA8: dd 19930520h dd 00000001h dd L004F2EC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2EC8: dd FFFFFFFFh dd L004E0E80 L004F2ED0: dd 19930520h dd 00000002h dd L004F2EF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2EF0: dd FFFFFFFFh dd L004E0EA0 dd 00000000h dd L004E0EA8 L004F2F00: dd 19930520h dd 00000001h dd L004F2F20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2F20: dd FFFFFFFFh dd L004E0EC0 L004F2F28: dd 19930520h dd 00000001h dd L004F2F48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2F48: dd FFFFFFFFh dd L004E0EE0 L004F2F50: dd 19930520h dd 00000001h dd L004F2F70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2F70: dd FFFFFFFFh dd L004E0F00 L004F2F78: dd 19930520h dd 00000001h dd L004F2F98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2F98: dd FFFFFFFFh dd L004E0F20 L004F2FA0: dd 19930520h dd 00000003h dd L004F2FC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2FC0: dd FFFFFFFFh dd L004E0F40 dd 00000000h dd L004E0F48 dd 00000000h dd L004E0F53 L004F2FD8: dd 19930520h dd 00000001h dd L004F2FF8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F2FF8: dd FFFFFFFFh dd L004E0F70 L004F3000: dd 19930520h dd 00000004h dd L004F3020 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3020: dd FFFFFFFFh dd L004E0F90 dd FFFFFFFFh dd L004E0F9B dd FFFFFFFFh dd L004E0FA3 dd FFFFFFFFh dd L004E0FAB L004F3040: dd 19930520h dd 00000001h dd L004F3060 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3060: dd FFFFFFFFh dd L004E0FC0 L004F3068: dd 19930520h dd 00000001h dd L004F3088 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3088: dd FFFFFFFFh dd L004E0FE0 L004F3090: dd 19930520h dd 00000001h dd L004F30B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F30B0: dd FFFFFFFFh dd L004E1000 L004F30B8: dd 19930520h dd 00000001h dd L004F30D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F30D8: dd FFFFFFFFh dd L004E1020 L004F30E0: dd 19930520h dd 00000002h dd L004F3100 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3100: dd FFFFFFFFh dd L004E104B dd FFFFFFFFh dd L004E1040 L004F3110: dd 19930520h dd 00000001h dd L004F3130 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3130: dd FFFFFFFFh dd L004E1060 L004F3138: dd 19930520h dd 00000001h dd L004F3158 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3158: dd FFFFFFFFh dd L004E1080 L004F3160: dd 19930520h dd 00000001h dd L004F3180 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3180: dd FFFFFFFFh dd L004E10A0 L004F3188: dd 19930520h dd 00000001h dd L004F31A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F31A8: dd FFFFFFFFh dd L004E10C0 L004F31B0: dd 19930520h dd 00000001h dd L004F31D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F31D0: dd FFFFFFFFh dd L004E10E0 L004F31D8: dd 19930520h dd 00000002h dd L004F31F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F31F8: dd FFFFFFFFh dd L004E1100 dd FFFFFFFFh dd L004E110B L004F3208: dd 19930520h dd 00000001h dd L004F3228 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3228: dd FFFFFFFFh dd L004E1120 L004F3230: dd 19930520h dd 00000001h dd L004F3250 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3250: dd FFFFFFFFh dd L004E1140 L004F3258: dd 19930520h dd 00000001h dd L004F3278 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3278: dd FFFFFFFFh dd L004E1160 L004F3280: dd 19930520h dd 00000001h dd L004F32A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F32A0: dd FFFFFFFFh dd L004E1180 L004F32A8: dd 19930520h dd 00000002h dd L004F32C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F32C8: dd FFFFFFFFh dd L004E11A0 dd FFFFFFFFh dd L004E11AB L004F32D8: dd 19930520h dd 00000001h dd L004F32F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F32F8: dd FFFFFFFFh dd L004E11C0 L004F3300: dd 19930520h dd 00000003h dd L004F3320 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3320: dd FFFFFFFFh dd L004E11E0 dd FFFFFFFFh dd L004E11EB dd FFFFFFFFh dd L004E11F6 L004F3338: dd 19930520h dd 00000002h dd L004F3358 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3358: dd FFFFFFFFh dd L004E1210 dd FFFFFFFFh dd L004E121B L004F3368: dd 19930520h dd 00000001h dd L004F3388 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3388: dd FFFFFFFFh dd L004E1230 L004F3390: dd 19930520h dd 00000001h dd L004F33B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F33B0: dd FFFFFFFFh dd L004E1250 L004F33B8: dd 19930520h dd 00000001h dd L004F33D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F33D8: dd FFFFFFFFh dd L004E1270 L004F33E0: dd 19930520h dd 00000001h dd L004F3400 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3400: dd FFFFFFFFh dd L004E1290 L004F3408: dd 19930520h dd 00000001h dd L004F3428 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3428: dd FFFFFFFFh dd L004E12B0 L004F3430: dd 19930520h dd 00000001h dd L004F3450 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3450: dd FFFFFFFFh dd L004E12D0 L004F3458: dd 19930520h dd 00000001h dd L004F3478 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3478: dd FFFFFFFFh dd L004E12F0 L004F3480: dd 19930520h dd 00000001h dd L004F34A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F34A0: dd FFFFFFFFh dd L004E1310 L004F34A8: dd 19930520h dd 00000002h dd L004F34C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F34C8: dd FFFFFFFFh dd L004E1330 dd FFFFFFFFh dd L004E133B L004F34D8: dd 19930520h dd 00000001h dd L004F34F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F34F8: dd FFFFFFFFh dd L004E1350 L004F3500: dd 19930520h dd 00000001h dd L004F3520 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3520: dd FFFFFFFFh dd L004E1370 L004F3528: dd 19930520h dd 00000001h dd L004F3548 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3548: dd FFFFFFFFh dd L004E1390 L004F3550: dd 19930520h dd 00000001h dd L004F3570 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3570: dd FFFFFFFFh dd L004E13B0 L004F3578: dd 19930520h dd 00000001h dd L004F3598 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3598: dd FFFFFFFFh dd L004E13D0 L004F35A0: dd 19930520h dd 00000001h dd L004F35C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F35C0: dd FFFFFFFFh dd L004E13F0 L004F35C8: dd 19930520h dd 00000003h dd L004F35E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F35E8: dd FFFFFFFFh dd L004E1410 dd 00000000h dd L004E1418 dd 00000000h dd L004E1423 L004F3600: dd 19930520h dd 00000001h dd L004F3620 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3620: dd FFFFFFFFh dd L004E1440 L004F3628: dd 19930520h dd 00000002h dd L004F3648 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3648: dd FFFFFFFFh dd L004E1460 dd FFFFFFFFh dd L004E146B L004F3658: dd 19930520h dd 00000002h dd L004F3678 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3678: dd FFFFFFFFh dd L004E1480 dd 00000000h dd L004E1488 L004F3688: dd 19930520h dd 00000001h dd L004F36A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F36A8: dd FFFFFFFFh dd L004E14A0 L004F36B0: dd 19930520h dd 00000004h dd L004F36D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F36D0: dd FFFFFFFFh dd L004E14C0 dd FFFFFFFFh dd L004E14CB dd FFFFFFFFh dd 00000000h dd FFFFFFFFh dd 00000000h L004F36F0: dd 19930520h dd 00000006h dd L004F3710 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3710: dd FFFFFFFFh dd L004E14E0 dd FFFFFFFFh dd L004E14EB dd FFFFFFFFh dd L004E14F6 dd FFFFFFFFh dd L004E1501 dd FFFFFFFFh dd L004E150C dd FFFFFFFFh dd L004E1517 L004F3740: dd 19930520h dd 00000003h dd L004F3760 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3760: dd FFFFFFFFh dd L004E1530 dd 00000000h dd L004E1538 dd 00000000h dd L004E1543 L004F3778: dd 19930520h dd 00000001h dd L004F3798 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3798: dd FFFFFFFFh dd L004E1560 L004F37A0: dd 19930520h dd 00000001h dd L004F37C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F37C0: dd FFFFFFFFh dd L004E1580 L004F37C8: dd 19930520h dd 0000001Ch dd L004F37E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F37E8: dd FFFFFFFFh dd L004E15A0 dd 00000000h dd L004E15A8 dd 00000000h dd L004E15B3 dd 00000000h dd L004E15BE dd 00000000h dd L004E15C9 dd 00000000h dd L004E15D4 dd 00000000h dd L004E15DF dd 00000000h dd L004E15EA dd 00000000h dd L004E15F5 dd 00000000h dd L004E1600 dd 00000000h dd L004E160B dd 00000000h dd L004E1616 dd 00000000h dd L004E1621 dd 00000000h dd L004E162C dd 00000000h dd L004E1637 dd 00000000h dd L004E1642 dd 00000000h dd L004E164D dd 00000000h dd L004E1658 dd 00000000h dd L004E1663 dd 00000000h dd L004E166E dd 00000000h dd L004E1679 dd 00000000h dd L004E1684 dd 00000000h dd L004E168F dd 00000000h dd L004E169A dd 00000000h dd L004E16A5 dd 00000000h dd L004E16B0 dd 00000000h dd L004E16BB dd 00000000h dd L004E16C6 L004F38C8: dd 19930520h dd 00000001h dd L004F38E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F38E8: dd FFFFFFFFh dd L004E16E0 L004F38F0: dd 19930520h dd 00000002h dd L004F3910 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3910: dd FFFFFFFFh dd L004E1700 dd FFFFFFFFh dd L004E170B L004F3920: dd 19930520h dd 00000008h dd L004F3940 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3940: dd FFFFFFFFh dd L004E1720 dd 00000000h dd L004E1728 dd 00000000h dd L004E1733 dd 00000000h dd L004E173E dd 00000000h dd L004E1749 dd 00000000h dd L004E1754 dd 00000000h dd L004E175F dd 00000000h dd L004E176A L004F3980: dd 19930520h dd 00000003h dd L004F39A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F39A0: dd FFFFFFFFh dd L004E1780 dd 00000000h dd L004E1788 dd 00000000h dd L004E1793 L004F39B8: dd 19930520h dd 00000001h dd L004F39D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F39D8: dd FFFFFFFFh dd L004E17B0 L004F39E0: dd 19930520h dd 00000001h dd L004F3A00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3A00: dd FFFFFFFFh dd L004E17D0 L004F3A08: dd 19930520h dd 00000001h dd L004F3A28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3A28: dd FFFFFFFFh dd L004E17F0 L004F3A30: dd 19930520h dd 00000001h dd L004F3A50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3A50: dd FFFFFFFFh dd L004E1810 L004F3A58: dd 19930520h dd 00000001h dd L004F3A78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3A78: dd FFFFFFFFh dd L004E1830 L004F3A80: dd 19930520h dd 00000001h dd L004F3AA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3AA0: dd FFFFFFFFh dd L004E1850 L004F3AA8: dd 19930520h dd 00000001h dd L004F3AC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3AC8: dd FFFFFFFFh dd L004E1870 L004F3AD0: dd 19930520h dd 00000001h dd L004F3AF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3AF0: dd FFFFFFFFh dd L004E1890 L004F3AF8: dd 19930520h dd 00000001h dd L004F3B18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3B18: dd FFFFFFFFh dd L004E18B0 L004F3B20: dd 19930520h dd 00000001h dd L004F3B40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3B40: dd FFFFFFFFh dd L004E18D0 L004F3B48: dd 19930520h dd 00000011h dd L004F3B68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3B68: dd FFFFFFFFh dd L004E18F0 dd 00000000h dd L004E18FB dd 00000000h dd L004E1909 dd 00000000h dd L004E1917 dd 00000000h dd L004E1925 dd 00000000h dd L004E1933 dd 00000000h dd L004E1941 dd 00000000h dd L004E194F dd 00000000h dd L004E195D dd 00000000h dd L004E196B dd 00000000h dd L004E1979 dd 00000000h dd L004E1987 dd 00000000h dd L004E1995 dd 00000000h dd L004E19A3 dd 00000000h dd L004E19B1 dd 00000000h dd L004E19BF dd 00000000h dd L004E19CD L004F3BF0: dd 19930520h dd 00000001h dd L004F3C10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3C10: dd FFFFFFFFh dd L004E19F0 L004F3C18: dd 19930520h dd 00000003h dd L004F3C38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3C38: dd FFFFFFFFh dd L004E1A10 dd 00000000h dd L004E1A18 dd 00000000h dd L004E1A23 L004F3C50: dd 19930520h dd 00000001h dd L004F3C70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3C70: dd FFFFFFFFh dd L004E1A40 L004F3C78: dd 19930520h dd 00000004h dd L004F3C98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3C98: dd FFFFFFFFh dd L004E1A60 dd 00000000h dd L004E1A68 dd 00000000h dd L004E1A73 dd 00000000h dd L004E1A7E L004F3CB8: dd 19930520h dd 00000001h dd L004F3CD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3CD8: dd FFFFFFFFh dd L004E1AA0 L004F3CE0: dd 19930520h dd 00000003h dd L004F3D00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3D00: dd FFFFFFFFh dd L004E1AC0 dd 00000000h dd L004E1AC8 dd 00000000h dd L004E1AD3 L004F3D18: dd 19930520h dd 00000001h dd L004F3D38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3D38: dd FFFFFFFFh dd L004E1AF0 L004F3D40: dd 19930520h dd 00000001h dd L004F3D60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3D60: dd FFFFFFFFh dd L004E1B10 L004F3D68: dd 19930520h dd 00000001h dd L004F3D88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3D88: dd FFFFFFFFh dd L004E1B30 L004F3D90: dd 19930520h dd 00000001h dd L004F3DB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3DB0: dd FFFFFFFFh dd L004E1B50 L004F3DB8: dd 19930520h dd 00000001h dd L004F3DD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3DD8: dd FFFFFFFFh dd L004E1B70 L004F3DE0: dd 19930520h dd 00000001h dd L004F3E00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3E00: dd FFFFFFFFh dd L004E1B90 L004F3E08: dd 19930520h dd 00000001h dd L004F3E28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3E28: dd FFFFFFFFh dd L004E1BB0 L004F3E30: dd 19930520h dd 00000001h dd L004F3E50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3E50: dd FFFFFFFFh dd L004E1BD0 L004F3E58: dd 19930520h dd 00000009h dd L004F3E78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3E78: dd FFFFFFFFh dd L004E1BF0 dd 00000000h dd L004E1BF8 dd 00000000h dd L004E1C03 dd 00000000h dd L004E1C0E dd 00000000h dd L004E1C19 dd 00000000h dd L004E1C24 dd 00000000h dd L004E1C2F dd 00000000h dd L004E1C3A dd 00000000h dd L004E1C45 L004F3EC0: dd 19930520h dd 00000001h dd L004F3EE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3EE0: dd FFFFFFFFh dd L004E1C60 L004F3EE8: dd 19930520h dd 0000000Fh dd L004F3F08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3F08: dd FFFFFFFFh dd L004E1C80 dd 00000000h dd L004E1C88 dd 00000000h dd L004E1C93 dd 00000000h dd L004E1C9E dd 00000000h dd L004E1CA9 dd 00000000h dd L004E1CB4 dd 00000000h dd L004E1CBF dd 00000000h dd L004E1CCA dd 00000000h dd L004E1CD5 dd 00000000h dd L004E1CE0 dd 00000000h dd L004E1CEB dd 00000000h dd L004E1CF6 dd 00000000h dd L004E1D01 dd 00000000h dd L004E1D0C dd 00000000h dd L004E1D17 L004F3F80: dd 19930520h dd 00000001h dd L004F3FA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3FA0: dd FFFFFFFFh dd L004E1D30 L004F3FA8: dd 19930520h dd 00000003h dd L004F3FC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F3FC8: dd FFFFFFFFh dd L004E1D50 dd FFFFFFFFh dd L004E1D5E dd FFFFFFFFh dd L004E1D6C L004F3FE0: dd 19930520h dd 00000017h dd L004F4000 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4000: dd FFFFFFFFh dd L004E1D90 dd 00000000h dd L004E1D98 dd 00000000h dd L004E1DA3 dd 00000000h dd L004E1DAE dd 00000000h dd L004E1DB9 dd 00000000h dd L004E1DC4 dd 00000000h dd L004E1DCF dd 00000000h dd L004E1DDA dd 00000000h dd L004E1DE5 dd 00000000h dd L004E1DF0 dd 00000000h dd L004E1DFB dd 00000000h dd L004E1E06 dd 00000000h dd L004E1E11 dd 00000000h dd L004E1E1C dd 00000000h dd L004E1E27 dd 00000000h dd L004E1E32 dd 00000000h dd L004E1E3D dd 00000000h dd L004E1E48 dd 00000000h dd L004E1E53 dd 00000000h dd L004E1E5E dd 00000000h dd L004E1E69 dd 00000000h dd L004E1E74 dd 00000000h dd L004E1E7F L004F40B8: dd 19930520h dd 00000001h dd L004F40D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F40D8: dd FFFFFFFFh dd L004E1EA0 L004F40E0: dd 19930520h dd 00000002h dd L004F4100 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4100: dd FFFFFFFFh dd L004E1EC0 dd FFFFFFFFh dd L004E1ECB L004F4110: dd 19930520h dd 00000002h dd L004F4130 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4130: dd FFFFFFFFh dd L004E1EE0 dd FFFFFFFFh dd L004E1EEB L004F4140: dd 19930520h dd 00000001h dd L004F4160 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4160: dd FFFFFFFFh dd L004E1F00 L004F4168: dd 19930520h dd 00000001h dd L004F4188 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4188: dd FFFFFFFFh dd L004E1F20 L004F4190: dd 19930520h dd 00000007h dd L004F41B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F41B0: dd FFFFFFFFh dd L004E1F40 dd 00000000h dd L004E1F48 dd 00000000h dd L004E1F53 dd 00000000h dd L004E1F5E dd 00000000h dd L004E1F69 dd 00000000h dd L004E1F74 dd 00000000h dd L004E1F7F L004F41E8: dd 19930520h dd 00000001h dd L004F4208 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4208: dd FFFFFFFFh dd L004E1FA0 L004F4210: dd 19930520h dd 00000004h dd L004F4230 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4230: dd FFFFFFFFh dd L004E1FC0 dd 00000000h dd L004E1FC8 dd 00000000h dd L004E1FD3 dd 00000000h dd L004E1FDE L004F4250: dd 19930520h dd 00000001h dd L004F4270 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4270: dd FFFFFFFFh dd L004E2000 L004F4278: dd 19930520h dd 00000001h dd L004F4298 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4298: dd FFFFFFFFh dd L004E2020 L004F42A0: dd 19930520h dd 00000001h dd L004F42C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F42C0: dd FFFFFFFFh dd L004E2040 L004F42C8: dd 19930520h dd 00000001h dd L004F42E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F42E8: dd FFFFFFFFh dd L004E2060 L004F42F0: dd 19930520h dd 00000001h dd L004F4310 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4310: dd FFFFFFFFh dd L004E2080 L004F4318: dd 19930520h dd 00000002h dd L004F4338 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4338: dd FFFFFFFFh dd L004E20A0 dd 00000000h dd L004E20A8 L004F4348: dd 19930520h dd 00000001h dd L004F4368 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4368: dd FFFFFFFFh dd L004E20C0 L004F4370: dd 19930520h dd 00000005h dd L004F4390 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4390: dd FFFFFFFFh dd L004E20E0 dd 00000000h dd L004E20E8 dd 00000001h dd L004E20F6 dd 00000002h dd L004E210E dd 00000002h dd L004E2119 L004F43B8: dd 19930520h dd 00000003h dd L004F43D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F43D8: dd FFFFFFFFh dd L004E2130 dd 00000000h dd L004E2138 dd 00000001h dd L004E2146 L004F43F0: dd 19930520h dd 00000001h dd L004F4410 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4410: dd FFFFFFFFh dd L004E2170 L004F4418: dd 19930520h dd 00000001h dd L004F4438 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4438: dd FFFFFFFFh dd L004E2190 L004F4440: dd 19930520h dd 00000009h dd L004F4460 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4460: dd FFFFFFFFh dd L004E21B0 dd 00000000h dd L004E21B8 dd FFFFFFFFh dd L004E21C0 dd 00000002h dd L004E21C8 dd 00000003h dd L004E21D0 dd 00000004h dd L004E21D8 dd 00000004h dd L004E21E0 dd 00000004h dd L004E21EB dd 00000003h dd L004E21F3 L004F44A8: dd 19930520h dd 00000002h dd L004F44C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F44C8: dd FFFFFFFFh dd L004E2210 dd 00000000h dd L004E2218 L004F44D8: dd 19930520h dd 00000002h dd L004F44F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F44F8: dd FFFFFFFFh dd L004E2230 dd 00000000h dd L004E223B L004F4508: dd 19930520h dd 00000001h dd L004F4528 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4528: dd FFFFFFFFh dd L004E2250 L004F4530: dd 19930520h dd 00000001h dd L004F4550 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4550: dd FFFFFFFFh dd L004E2270 L004F4558: dd 19930520h dd 00000001h dd L004F4578 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4578: dd FFFFFFFFh dd L004E2290 L004F4580: dd 19930520h dd 00000003h dd L004F45A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F45A0: dd FFFFFFFFh dd L004E22B0 dd 00000000h dd L004E22B8 dd 00000001h dd L004E22C3 L004F45B8: dd 19930520h dd 0000000Eh dd L004F45D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F45D8: dd FFFFFFFFh dd L004E22E0 dd 00000000h dd L004E22E8 dd 00000000h dd L004E22F3 dd 00000000h dd L004E22FE dd 00000000h dd L004E2309 dd 00000000h dd L004E2314 dd 00000000h dd L004E231F dd 00000000h dd L004E232A dd 00000000h dd L004E2335 dd 00000000h dd L004E2340 dd 00000000h dd L004E234B dd 00000000h dd L004E2356 dd 00000000h dd L004E2361 dd 00000000h dd L004E236C L004F4648: dd 19930520h dd 00000001h dd L004F4668 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4668: dd FFFFFFFFh dd L004E2390 L004F4670: dd 19930520h dd 00000001h dd L004F4690 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4690: dd FFFFFFFFh dd L004E23B0 L004F4698: dd 19930520h dd 00000004h dd L004F46B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F46B8: dd FFFFFFFFh dd L004E23D0 dd 00000000h dd L004E23DB dd 00000000h dd L004E23E9 dd 00000002h dd L004E23F4 L004F46D8: dd 19930520h dd 00000001h dd L004F46F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F46F8: dd FFFFFFFFh dd L004E2410 L004F4700: dd 19930520h dd 00000001h dd L004F4720 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4720: dd FFFFFFFFh dd L004E2430 L004F4728: dd 19930520h dd 00000001h dd L004F4748 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4748: dd FFFFFFFFh dd L004E2450 L004F4750: dd 19930520h dd 00000001h dd L004F4770 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4770: dd FFFFFFFFh dd L004E2470 L004F4778: dd 19930520h dd 00000001h dd L004F4798 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4798: dd FFFFFFFFh dd L004E2490 L004F47A0: dd 19930520h dd 00000001h dd L004F47C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F47C0: dd FFFFFFFFh dd L004E24B0 L004F47C8: dd 19930520h dd 00000001h dd L004F47E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F47E8: dd FFFFFFFFh dd L004E24D0 L004F47F0: dd 19930520h dd 00000001h dd L004F4810 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4810: dd FFFFFFFFh dd L004E24F0 L004F4818: dd 19930520h dd 00000001h dd L004F4838 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4838: dd FFFFFFFFh dd L004E2510 L004F4840: dd 19930520h dd 00000001h dd L004F4860 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4860: dd FFFFFFFFh dd L004E2530 L004F4868: dd 19930520h dd 00000001h dd L004F4888 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4888: dd FFFFFFFFh dd L004E2550 L004F4890: dd 19930520h dd 00000002h dd L004F48B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F48B0: dd FFFFFFFFh dd L004E2570 dd 00000000h dd L004E2578 L004F48C0: dd 19930520h dd 00000001h dd L004F48E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F48E0: dd FFFFFFFFh dd L004E2590 L004F48E8: dd 19930520h dd 00000002h dd L004F4908 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4908: dd FFFFFFFFh dd L004E25B0 dd FFFFFFFFh dd L004E25BB L004F4918: dd 19930520h dd 00000001h dd L004F4938 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4938: dd FFFFFFFFh dd L004E25D0 L004F4940: dd 19930520h dd 0000000Fh dd L004F4960 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4960: dd FFFFFFFFh dd L004E25F0 dd 00000000h dd L004E25FB dd 00000000h dd L004E2609 dd 00000000h dd L004E2617 dd 00000000h dd L004E2625 dd 00000000h dd L004E2633 dd 00000000h dd L004E2641 dd 00000000h dd L004E264F dd 00000000h dd L004E265D dd 00000000h dd L004E266B dd 00000000h dd L004E2679 dd 00000000h dd L004E2687 dd 00000000h dd L004E2695 dd 00000000h dd L004E26A3 dd 00000000h dd L004E26B1 L004F49D8: dd 19930520h dd 00000001h dd L004F49F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F49F8: dd FFFFFFFFh dd L004E26D0 L004F4A00: dd 19930520h dd 00000001h dd L004F4A20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4A20: dd FFFFFFFFh dd L004E26F0 L004F4A28: dd 19930520h dd 00000001h dd L004F4A48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4A48: dd FFFFFFFFh dd L004E2710 L004F4A50: dd 19930520h dd 00000001h dd L004F4A70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4A70: dd FFFFFFFFh dd L004E2730 L004F4A78: dd 19930520h dd 00000001h dd L004F4A98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4A98: dd FFFFFFFFh dd L004E2750 L004F4AA0: dd 19930520h dd 00000004h dd L004F4AC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4AC0: dd FFFFFFFFh dd L004E2770 dd 00000000h dd L004E2778 dd 00000000h dd L004E2783 dd 00000000h dd L004E278E L004F4AE0: dd 19930520h dd 00000001h dd L004F4B00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4B00: dd FFFFFFFFh dd L004E27B0 L004F4B08: dd 19930520h dd 00000001h dd L004F4B28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4B28: dd FFFFFFFFh dd L004E27D0 L004F4B30: dd 19930520h dd 00000001h dd L004F4B50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4B50: dd FFFFFFFFh dd L004E27F0 L004F4B58: dd 19930520h dd 0000000Fh dd L004F4B78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4B78: dd FFFFFFFFh dd L004E2810 dd FFFFFFFFh dd L004E281B dd FFFFFFFFh dd L004E2826 dd FFFFFFFFh dd L004E2831 dd FFFFFFFFh dd L004E283C dd FFFFFFFFh dd L004E2847 dd FFFFFFFFh dd L004E2852 dd FFFFFFFFh dd L004E285D dd FFFFFFFFh dd L004E2868 dd FFFFFFFFh dd L004E2873 dd FFFFFFFFh dd L004E287E dd FFFFFFFFh dd L004E2889 dd FFFFFFFFh dd L004E2894 dd FFFFFFFFh dd L004E289F dd FFFFFFFFh dd L004E28AA L004F4BF0: dd 19930520h dd 00000002h dd L004F4C10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4C10: dd FFFFFFFFh dd L004E28C0 dd 00000000h dd L004E28C8 L004F4C20: dd 19930520h dd 00000001h dd L004F4C40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4C40: dd FFFFFFFFh dd L004E28E0 L004F4C48: dd 19930520h dd 00000002h dd L004F4C68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4C68: dd FFFFFFFFh dd L004E2900 dd 00000000h dd L004E2908 L004F4C78: dd 19930520h dd 00000001h dd L004F4C98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4C98: dd FFFFFFFFh dd L004E2920 L004F4CA0: dd 19930520h dd 00000009h dd L004F4CC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4CC0: dd FFFFFFFFh dd L004E2940 dd FFFFFFFFh dd L004E294E dd FFFFFFFFh dd L004E295C dd FFFFFFFFh dd L004E296A dd FFFFFFFFh dd L004E2978 dd FFFFFFFFh dd L004E2986 dd FFFFFFFFh dd L004E2994 dd FFFFFFFFh dd L004E29A2 dd FFFFFFFFh dd L004E29B0 L004F4D08: dd 19930520h dd 00000002h dd L004F4D28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4D28: dd FFFFFFFFh dd L004E29D0 dd 00000000h dd L004E29D8 L004F4D38: dd 19930520h dd 00000004h dd L004F4D58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4D58: dd FFFFFFFFh dd L004E29F0 dd FFFFFFFFh dd L004E29FE dd FFFFFFFFh dd L004E2A0C dd FFFFFFFFh dd L004E2A1A L004F4D78: dd 19930520h dd 00000002h dd L004F4D98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4D98: dd FFFFFFFFh dd L004E2A40 dd 00000000h dd L004E2A48 L004F4DA8: dd 19930520h dd 00000006h dd L004F4DC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4DC8: dd FFFFFFFFh dd L004E2A60 dd 00000000h dd L004E2A6B dd 00000000h dd L004E2A79 dd 00000000h dd L004E2A87 dd 00000000h dd L004E2A95 dd 00000000h dd L004E2AA3 L004F4DF8: dd 19930520h dd 00000001h dd L004F4E18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4E18: dd FFFFFFFFh dd L004E2AC0 L004F4E20: dd 19930520h dd 00000002h dd L004F4E40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4E40: dd FFFFFFFFh dd L004E2AE0 dd FFFFFFFFh dd L004E2AEE L004F4E50: dd 19930520h dd 00000006h dd L004F4E70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4E70: dd FFFFFFFFh dd L004E2B10 dd 00000000h dd L004E2B1B dd 00000000h dd L004E2B29 dd 00000000h dd L004E2B37 dd 00000000h dd L004E2B45 dd 00000000h dd L004E2B53 L004F4EA0: dd 19930520h dd 00000001h dd L004F4EC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4EC0: dd FFFFFFFFh dd L004E2B70 L004F4EC8: dd 19930520h dd 00000002h dd L004F4EE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4EE8: dd FFFFFFFFh dd L004E2B90 dd FFFFFFFFh dd L004E2B9E L004F4EF8: dd 19930520h dd 00000003h dd L004F4F18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4F18: dd FFFFFFFFh dd L004E2BC0 dd 00000000h dd L004E2BCB dd 00000000h dd L004E2BD9 L004F4F30: dd 19930520h dd 00000004h dd L004F4F50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4F50: dd FFFFFFFFh dd L004E2C00 dd FFFFFFFFh dd L004E2C0E dd FFFFFFFFh dd L004E2C1C dd FFFFFFFFh dd L004E2C2A L004F4F70: dd 19930520h dd 00000001h dd L004F4F90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4F90: dd FFFFFFFFh dd L004E2C50 L004F4F98: dd 19930520h dd 00000001h dd L004F4FB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4FB8: dd FFFFFFFFh dd L004E2C70 L004F4FC0: dd 19930520h dd 00000002h dd L004F4FE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F4FE0: dd FFFFFFFFh dd L004E2C90 dd 00000000h dd L004E2C98 L004F4FF0: dd 19930520h dd 0000000Dh dd L004F5010 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5010: dd FFFFFFFFh dd L004E2CB0 dd 00000000h dd L004E2CB8 dd 00000001h dd L004E2CC0 dd 00000002h dd L004E2CC8 dd 00000003h dd L004E2CD0 dd 00000001h dd L004E2CDB dd 00000005h dd L004E2CE3 dd 00000001h dd L004E2CEE dd 00000007h dd L004E2CF6 dd 00000001h dd L004E2D01 dd 00000001h dd L004E2D0C dd 00000001h dd L004E2D17 dd 00000001h dd L004E2D22 L004F5078: dd 19930520h dd 00000007h dd L004F5098 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5098: dd FFFFFFFFh dd L004E2D40 dd 00000000h dd L004E2D48 dd 00000001h dd L004E2D50 dd 00000002h dd L004E2D58 dd 00000003h dd L004E2D66 dd 00000004h dd L004E2D71 dd 00000005h dd L004E2D79 L004F50D0: dd 19930520h dd 00000006h dd L004F50F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F50F0: dd FFFFFFFFh dd L004E2D90 dd 00000000h dd L004E2D98 dd 00000001h dd L004E2DA0 dd 00000002h dd L004E2DAE dd 00000003h dd L004E2DB9 dd 00000004h dd L004E2DC1 L004F5120: dd 19930520h dd 00000007h dd L004F5140 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5140: dd FFFFFFFFh dd L004E2DE0 dd 00000000h dd L004E2DE8 dd 00000001h dd L004E2DF0 dd 00000002h dd L004E2DFE dd 00000003h dd L004E2E06 dd 00000004h dd L004E2E11 dd 00000005h dd L004E2E19 L004F5178: dd 19930520h dd 00000005h dd L004F5198 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5198: dd FFFFFFFFh dd L004E2E30 dd 00000000h dd L004E2E38 dd 00000001h dd L004E2E46 dd 00000002h dd L004E2E51 dd 00000003h dd L004E2E59 L004F51C0: dd 19930520h dd 00000006h dd L004F51E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F51E0: dd FFFFFFFFh dd L004E2E70 dd 00000000h dd L004E2E78 dd 00000001h dd L004E2E80 dd 00000002h dd L004E2E8E dd 00000003h dd L004E2E99 dd 00000004h dd L004E2EA1 L004F5210: dd 19930520h dd 00000005h dd L004F5230 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5230: dd FFFFFFFFh dd L004E2EC0 dd 00000000h dd L004E2EC8 dd 00000001h dd L004E2ED6 dd 00000002h dd L004E2EE1 dd 00000003h dd L004E2EE9 L004F5258: dd 19930520h dd 0000000Dh dd L004F5278 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5278: dd FFFFFFFFh dd L004E2F00 dd 00000000h dd L004E2F08 dd 00000001h dd L004E2F10 dd 00000002h dd L004E2F18 dd 00000003h dd L004E2F20 dd 00000001h dd L004E2F2B dd 00000005h dd L004E2F33 dd 00000001h dd L004E2F3E dd 00000007h dd L004E2F46 dd 00000001h dd L004E2F51 dd 00000001h dd L004E2F5C dd 00000001h dd L004E2F67 dd 00000001h dd L004E2F72 L004F52E0: dd 19930520h dd 00000003h dd L004F5300 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5300: dd FFFFFFFFh dd L004E2F90 dd 00000000h dd L004E2F98 dd 00000001h dd L004E2FA0 L004F5318: dd 19930520h dd 00000002h dd L004F5338 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5338: dd FFFFFFFFh dd L004E2FC0 dd 00000000h dd L004E2FC8 L004F5348: dd 19930520h dd 00000002h dd L004F5368 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5368: dd FFFFFFFFh dd L004E2FE0 dd 00000000h dd L004E2FE8 L004F5378: dd 19930520h dd 00000001h dd L004F5398 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5398: dd FFFFFFFFh dd L004E3000 L004F53A0: dd 19930520h dd 00000001h dd L004F53C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F53C0: dd FFFFFFFFh dd L004E3020 L004F53C8: dd 19930520h dd 00000007h dd L004F53E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F53E8: dd FFFFFFFFh dd L004E3040 dd 00000000h dd L004E3048 dd 00000001h dd L004E3050 dd 00000002h dd L004E3058 dd 00000003h dd L004E3066 dd 00000004h dd L004E3071 dd 00000005h dd L004E3079 L004F5420: dd 19930520h dd 00000006h dd L004F5440 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5440: dd FFFFFFFFh dd L004E3090 dd 00000000h dd L004E3098 dd 00000001h dd L004E30A0 dd 00000002h dd L004E30AE dd 00000003h dd L004E30B9 dd 00000004h dd L004E30C1 L004F5470: dd 19930520h dd 00000007h dd L004F5490 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5490: dd FFFFFFFFh dd L004E30E0 dd 00000000h dd L004E30E8 dd 00000001h dd L004E30F0 dd 00000002h dd L004E30FE dd 00000003h dd L004E3106 dd 00000004h dd L004E3111 dd 00000005h dd L004E3119 L004F54C8: dd 19930520h dd 00000005h dd L004F54E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F54E8: dd FFFFFFFFh dd L004E3130 dd 00000000h dd L004E3138 dd 00000001h dd L004E3146 dd 00000002h dd L004E3151 dd 00000003h dd L004E3159 L004F5510: dd 19930520h dd 00000006h dd L004F5530 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5530: dd FFFFFFFFh dd L004E3170 dd 00000000h dd L004E3178 dd 00000001h dd L004E3180 dd 00000002h dd L004E318E dd 00000003h dd L004E3199 dd 00000004h dd L004E31A1 L004F5560: dd 19930520h dd 00000005h dd L004F5580 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5580: dd FFFFFFFFh dd L004E31C0 dd 00000000h dd L004E31C8 dd 00000001h dd L004E31D6 dd 00000002h dd L004E31E1 dd 00000003h dd L004E31E9 L004F55A8: dd 19930520h dd 00000002h dd L004F55C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F55C8: dd FFFFFFFFh dd L004E3200 dd 00000000h dd L004E3208 L004F55D8: dd 19930520h dd 00000003h dd L004F55F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F55F8: dd FFFFFFFFh dd L004E3220 dd 00000000h dd L004E3228 dd FFFFFFFFh dd L004E3233 L004F5610: dd 19930520h dd 00000001h dd L004F5630 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5630: dd FFFFFFFFh dd L004E3250 L004F5638: dd 19930520h dd 00000001h dd L004F5658 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5658: dd FFFFFFFFh dd L004E3270 L004F5660: dd 19930520h dd 0000000Ah dd L004F5680 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5680: dd FFFFFFFFh dd L004E32F3 dd FFFFFFFFh dd L004E32E8 dd FFFFFFFFh dd L004E3290 dd FFFFFFFFh dd L004E32BC dd FFFFFFFFh dd L004E329B dd FFFFFFFFh dd L004E32A6 dd FFFFFFFFh dd L004E32B1 dd FFFFFFFFh dd L004E32C7 dd FFFFFFFFh dd L004E32D2 dd FFFFFFFFh dd L004E32DD L004F56D0: dd 19930520h dd 00000004h dd L004F56F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F56F0: dd FFFFFFFFh dd L004E3310 dd FFFFFFFFh dd L004E331E dd FFFFFFFFh dd L004E332C dd FFFFFFFFh dd L004E333A L004F5710: dd 19930520h dd 00000002h dd L004F5730 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5730: dd FFFFFFFFh dd L004E3360 dd FFFFFFFFh dd L004E336E L004F5740: dd 19930520h dd 00000001h dd L004F5760 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5760: dd FFFFFFFFh dd L004E3390 L004F5768: dd 19930520h dd 00000002h dd L004F5788 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5788: dd FFFFFFFFh dd L004E33B0 dd FFFFFFFFh dd L004E33BB L004F5798: dd 19930520h dd 00000002h dd L004F57B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F57B8: dd FFFFFFFFh dd L004E33D0 dd FFFFFFFFh dd L004E33DB L004F57C8: dd 19930520h dd 00000001h dd L004F57E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F57E8: dd FFFFFFFFh dd L004E33F0 L004F57F0: dd 19930520h dd 00000001h dd L004F5810 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5810: dd FFFFFFFFh dd L004E3410 L004F5818: dd 19930520h dd 00000001h dd L004F5838 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5838: dd FFFFFFFFh dd L004E3430 L004F5840: dd 19930520h dd 00000001h dd L004F5860 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5860: dd FFFFFFFFh dd L004E3450 L004F5868: dd 19930520h dd 00000005h dd L004F5888 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5888: dd FFFFFFFFh dd L004E3470 dd 00000000h dd L004E3478 dd 00000000h dd L004E3483 dd 00000000h dd L004E348E dd 00000000h dd L004E3499 L004F58B0: dd 19930520h dd 00000001h dd L004F58D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F58D0: dd FFFFFFFFh dd L004E34B0 L004F58D8: dd 19930520h dd 00000019h dd L004F58F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F58F8: dd FFFFFFFFh dd L004E34D0 dd 00000000h dd L004E34D8 dd 00000001h dd L004E34E0 dd 00000002h dd L004E34E8 dd 00000002h dd L004E34F3 dd 00000002h dd L004E34FE dd 00000005h dd L004E3506 dd 00000006h dd L004E350E dd 00000002h dd L004E3519 dd 00000008h dd L004E3521 dd 00000002h dd L004E352C dd 0000000Ah dd L004E3534 dd 00000002h dd L004E353F dd 00000002h dd L004E354A dd 00000002h dd L004E3555 dd 00000002h dd L004E3560 dd 00000002h dd L004E356B dd 00000010h dd L004E3573 dd 00000011h dd L004E357B dd 00000002h dd L004E3586 dd 00000013h dd L004E358E dd 00000002h dd L004E3599 dd 00000015h dd L004E35A1 dd 00000002h dd L004E35AC dd 00000002h dd L004E35B7 L004F59C0: dd 19930520h dd 00000006h dd L004F59E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F59E0: dd FFFFFFFFh dd L004E35D0 dd 00000000h dd L004E35D8 dd 00000001h dd L004E35E0 dd 00000002h dd L004E35EE dd 00000003h dd L004E35F9 dd 00000004h dd L004E3601 L004F5A10: dd 19930520h dd 00000002h dd L004F5A30 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5A30: dd FFFFFFFFh dd L004E3620 dd FFFFFFFFh dd L004E362B L004F5A40: dd 19930520h dd 00000004h dd L004F5A60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5A60: dd FFFFFFFFh dd L004E3640 dd FFFFFFFFh dd L004E364E dd FFFFFFFFh dd L004E365C dd FFFFFFFFh dd L004E366A L004F5A80: dd 19930520h dd 00000007h dd L004F5AA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5AA0: dd FFFFFFFFh dd L004E3690 dd 00000000h dd L004E3698 dd 00000000h dd L004E36A3 dd 00000000h dd L004E36AE dd 00000000h dd L004E36B9 dd 00000000h dd L004E36C4 dd 00000000h dd L004E36CF L004F5AD8: dd 19930520h dd 00000001h dd L004F5AF8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5AF8: dd FFFFFFFFh dd L004E36F0 L004F5B00: dd 19930520h dd 00000003h dd L004F5B20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5B20: dd FFFFFFFFh dd L004E3710 dd FFFFFFFFh dd L004E371B dd FFFFFFFFh dd L004E3726 L004F5B38: dd 19930520h dd 00000001h dd L004F5B58 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5B58: dd FFFFFFFFh dd L004E3740 L004F5B60: dd 19930520h dd 00000002h dd L004F5B80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5B80: dd FFFFFFFFh dd L004E3760 dd 00000000h dd L004E3768 L004F5B90: dd 19930520h dd 00000001h dd L004F5BB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5BB0: dd FFFFFFFFh dd L004E3780 L004F5BB8: dd 19930520h dd 00000001h dd L004F5BD8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5BD8: dd FFFFFFFFh dd L004E37A0 L004F5BE0: dd 19930520h dd 00000001h dd L004F5C00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5C00: dd FFFFFFFFh dd L004E37C0 L004F5C08: dd 19930520h dd 00000007h dd L004F5C28 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5C28: dd FFFFFFFFh dd L004E37E0 dd 00000000h dd L004E37E8 dd 00000000h dd L004E37F3 dd 00000000h dd L004E37FE dd 00000000h dd L004E3809 dd 00000000h dd L004E3814 dd 00000000h dd L004E381F L004F5C60: dd 19930520h dd 00000001h dd L004F5C80 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5C80: dd FFFFFFFFh dd L004E3840 L004F5C88: dd 19930520h dd 00000003h dd L004F5CA8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5CA8: dd FFFFFFFFh dd L004E3860 dd 00000000h dd L004E3868 dd 00000000h dd L004E3873 L004F5CC0: dd 19930520h dd 00000001h dd L004F5CE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5CE0: dd FFFFFFFFh dd L004E3890 L004F5CE8: dd 19930520h dd 00000002h dd L004F5D08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5D08: dd FFFFFFFFh dd L004E38B0 dd 00000000h dd L004E38B8 L004F5D18: dd 19930520h dd 00000001h dd L004F5D38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5D38: dd FFFFFFFFh dd L004E38D0 L004F5D40: dd 19930520h dd 00000002h dd L004F5D60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5D60: dd FFFFFFFFh dd L004E38F0 dd 00000000h dd L004E38F8 L004F5D70: dd 19930520h dd 00000001h dd L004F5D90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5D90: dd FFFFFFFFh dd L004E3910 L004F5D98: dd 19930520h dd 00000003h dd L004F5DB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5DB8: dd FFFFFFFFh dd L004E3930 dd FFFFFFFFh dd L004E393E dd FFFFFFFFh dd L004E394C L004F5DD0: dd 19930520h dd 00000002h dd L004F5DF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5DF0: dd FFFFFFFFh dd L004E3970 dd 00000000h dd L004E3978 L004F5E00: dd 19930520h dd 00000001h dd L004F5E20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5E20: dd FFFFFFFFh dd L004E3990 L004F5E28: dd 19930520h dd 00000001h dd L004F5E48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5E48: dd FFFFFFFFh dd L004E39B0 L004F5E50: dd 19930520h dd 00000001h dd L004F5E70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5E70: dd FFFFFFFFh dd L004E39D0 L004F5E78: dd 19930520h dd 00000001h dd L004F5E98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5E98: dd FFFFFFFFh dd L004E39F0 L004F5EA0: dd 19930520h dd 00000005h dd L004F5EC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5EC0: dd FFFFFFFFh dd L004E3A10 dd 00000000h dd L004E3A18 dd 00000000h dd L004E3A23 dd 00000000h dd L004E3A2E dd 00000000h dd L004E3A39 L004F5EE8: dd 19930520h dd 00000005h dd L004F5F08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5F08: dd FFFFFFFFh dd L004E3A50 dd 00000000h dd L004E3A58 dd 00000000h dd L004E3A63 dd 00000000h dd L004E3A6E dd 00000000h dd L004E3A79 L004F5F30: dd 19930520h dd 00000001h dd L004F5F50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5F50: dd FFFFFFFFh dd L004E3A90 L004F5F58: dd 19930520h dd 00000001h dd L004F5F78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5F78: dd FFFFFFFFh dd L004E3AB0 L004F5F80: dd 19930520h dd 00000001h dd L004F5FA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5FA0: dd FFFFFFFFh dd L004E3AD0 L004F5FA8: dd 19930520h dd 00000001h dd L004F5FC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5FC8: dd FFFFFFFFh dd L004E3AF0 L004F5FD0: dd 19930520h dd 00000003h dd L004F5FF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F5FF0: dd FFFFFFFFh dd L004E3B10 dd FFFFFFFFh dd L004E3B1E dd FFFFFFFFh dd L004E3B2C L004F6008: dd 19930520h dd 00000002h dd L004F6028 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6028: dd FFFFFFFFh dd L004E3B50 dd FFFFFFFFh dd L004E3B5E L004F6038: dd 19930520h dd 0000000Fh dd L004F6058 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6058: dd FFFFFFFFh dd L004E3B80 dd FFFFFFFFh dd L004E3B8E dd FFFFFFFFh dd 00000000h dd FFFFFFFFh dd L004E3B9C dd FFFFFFFFh dd L004E3BAA dd FFFFFFFFh dd L004E3BB8 dd FFFFFFFFh dd L004E3BC6 dd FFFFFFFFh dd L004E3BD4 dd FFFFFFFFh dd L004E3BE2 dd FFFFFFFFh dd L004E3BF0 dd FFFFFFFFh dd L004E3BFE dd FFFFFFFFh dd L004E3C0C dd FFFFFFFFh dd L004E3C1A dd FFFFFFFFh dd L004E3C28 dd FFFFFFFFh dd L004E3C36 L004F60D0: dd 19930520h dd 00000001h dd L004F60F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F60F0: dd FFFFFFFFh dd L004E3C50 L004F60F8: dd 19930520h dd 00000002h dd L004F6118 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6118: dd FFFFFFFFh dd L004E3C78 dd 00000000h dd L004E3C70 L004F6128: dd 19930520h dd 00000003h dd L004F6148 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6148: dd FFFFFFFFh dd L004E3CA0 dd 00000000h dd L004E3CAB dd 00000001h dd L004E3CB6 L004F6160: dd 19930520h dd 00000002h dd L004F6180 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6180: dd FFFFFFFFh dd L004E3CD0 dd 00000000h dd L004E3CDB L004F6190: dd 19930520h dd 00000001h dd L004F61B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F61B0: dd FFFFFFFFh dd L004E3D00 L004F61B8: dd 19930520h dd 00000001h dd L004F61D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F61D8: dd FFFFFFFFh dd L004E3D20 L004F61E0: dd 19930520h dd 00000001h dd L004F6200 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6200: dd FFFFFFFFh dd L004E3D40 L004F6208: dd 19930520h dd 00000001h dd L004F6228 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6228: dd FFFFFFFFh dd L004E3D60 L004F6230: dd 19930520h dd 00000001h dd L004F6250 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6250: dd FFFFFFFFh dd L004E3D80 L004F6258: dd 19930520h dd 00000001h dd L004F6278 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6278: dd FFFFFFFFh dd L004E3DA0 L004F6280: dd 19930520h dd 0000000Bh dd L004F62A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F62A0: dd FFFFFFFFh dd L004E3DC0 dd 00000000h dd L004E3DC8 dd 00000000h dd L004E3DD3 dd 00000000h dd L004E3DDE dd 00000000h dd L004E3DE9 dd 00000000h dd L004E3DF4 dd 00000000h dd L004E3DFF dd 00000000h dd L004E3E0A dd 00000000h dd L004E3E15 dd 00000000h dd L004E3E20 dd 00000000h dd L004E3E2B L004F62F8: dd 19930520h dd 00000001h dd L004F6318 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6318: dd FFFFFFFFh dd L004E3E40 L004F6320: dd 19930520h dd 00000004h dd L004F6340 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6340: dd FFFFFFFFh dd L004E3E60 dd FFFFFFFFh dd L004E3E6E dd FFFFFFFFh dd L004E3E7C dd FFFFFFFFh dd L004E3E8A L004F6360: dd 19930520h dd 00000001h dd L004F6380 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6380: dd FFFFFFFFh dd L004E3EB0 L004F6388: dd 19930520h dd 00000001h dd L004F63A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F63A8: dd FFFFFFFFh dd L004E3ED0 L004F63B0: dd 19930520h dd 00000001h dd L004F63D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F63D0: dd FFFFFFFFh dd L004E3EF0 L004F63D8: dd 19930520h dd 00000002h dd L004F63F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F63F8: dd FFFFFFFFh dd L004E3F10 dd FFFFFFFFh dd L004E3F1B L004F6408: dd 19930520h dd 00000001h dd L004F6428 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6428: dd FFFFFFFFh dd L004E3F30 L004F6430: dd 19930520h dd 00000001h dd L004F6450 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6450: dd FFFFFFFFh dd L004E3F50 L004F6458: dd 19930520h dd 00000001h dd L004F6478 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6478: dd FFFFFFFFh dd L004E3F70 L004F6480: dd 19930520h dd 00000004h dd L004F64A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F64A0: dd FFFFFFFFh dd L004E3F90 dd FFFFFFFFh dd L004E3F9B dd FFFFFFFFh dd L004E3FA6 dd FFFFFFFFh dd L004E3FB1 L004F64C0: dd 19930520h dd 00000001h dd L004F64E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F64E0: dd FFFFFFFFh dd L004E3FD0 L004F64E8: dd 19930520h dd 00000001h dd L004F6508 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6508: dd FFFFFFFFh dd L004E3FF0 L004F6510: dd 19930520h dd 00000001h dd L004F6530 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6530: dd FFFFFFFFh dd L004E4010 L004F6538: dd 19930520h dd 00000003h dd L004F6558 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6558: dd FFFFFFFFh dd L004E4030 dd 00000000h dd L004E4038 dd 00000001h dd L004E4040 L004F6570: dd 19930520h dd 00000001h dd L004F6590 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6590: dd FFFFFFFFh dd L004E4060 L004F6598: dd 19930520h dd 00000001h dd L004F65B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F65B8: dd FFFFFFFFh dd L004E4080 L004F65C0: dd 19930520h dd 00000001h dd L004F65E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F65E0: dd FFFFFFFFh dd L004E40A0 L004F65E8: dd 19930520h dd 00000001h dd L004F6608 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6608: dd FFFFFFFFh dd L004E40C0 L004F6610: dd 19930520h dd 00000001h dd L004F6630 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6630: dd FFFFFFFFh dd L004E40E0 L004F6638: dd 19930520h dd 00000003h dd L004F6658 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6658: dd FFFFFFFFh dd L004E4100 dd 00000000h dd L004E410B dd FFFFFFFFh dd L004E4116 L004F6670: dd 19930520h dd 00000001h dd L004F6690 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6690: dd FFFFFFFFh dd L004E4130 L004F6698: dd 19930520h dd 00000001h dd L004F66B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F66B8: dd FFFFFFFFh dd L004E4150 L004F66C0: dd 19930520h dd 00000002h dd L004F66E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F66E0: dd FFFFFFFFh dd L004E4170 dd 00000000h dd L004E4178 L004F66F0: dd 19930520h dd 00000002h dd L004F6710 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6710: dd FFFFFFFFh dd L004E4190 dd 00000000h dd L004E4198 L004F6720: dd 19930520h dd 00000001h dd L004F6740 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6740: dd FFFFFFFFh dd L004E41B0 L004F6748: dd 19930520h dd 00000001h dd L004F6768 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6768: dd FFFFFFFFh dd L004E41D0 L004F6770: dd 19930520h dd 00000001h dd L004F6790 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6790: dd FFFFFFFFh dd L004E41F0 L004F6798: dd 19930520h dd 00000001h dd L004F67B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F67B8: dd FFFFFFFFh dd L004E4210 L004F67C0: dd 19930520h dd 00000001h dd L004F67E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F67E0: dd FFFFFFFFh dd L004E4230 L004F67E8: dd 19930520h dd 00000001h dd L004F6808 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6808: dd FFFFFFFFh dd L004E4250 L004F6810: dd 19930520h dd 00000002h dd L004F6830 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6830: dd FFFFFFFFh dd L004E4270 dd FFFFFFFFh dd L004E4278 L004F6840: dd 19930520h dd 00000001h dd L004F6860 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6860: dd FFFFFFFFh dd L004E4290 L004F6868: dd 19930520h dd 00000001h dd L004F6888 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6888: dd FFFFFFFFh dd L004E42B0 L004F6890: dd 19930520h dd 00000001h dd L004F68B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F68B0: dd FFFFFFFFh dd L004E42D0 L004F68B8: dd 19930520h dd 00000001h dd L004F68D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F68D8: dd FFFFFFFFh dd L004E42F0 L004F68E0: dd 19930520h dd 00000001h dd L004F6900 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6900: dd FFFFFFFFh dd L004E4310 L004F6908: dd 19930520h dd 00000001h dd L004F6928 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6928: dd FFFFFFFFh dd L004E4330 L004F6930: dd 19930520h dd 00000002h dd L004F6950 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6950: dd FFFFFFFFh dd L004E4350 dd 00000000h dd L004E4358 L004F6960: dd 19930520h dd 00000001h dd L004F6980 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6980: dd FFFFFFFFh dd L004E4370 L004F6988: dd 19930520h dd 00000001h dd L004F69A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F69A8: dd FFFFFFFFh dd L004E4390 L004F69B0: dd 19930520h dd 00000001h dd L004F69D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F69D0: dd FFFFFFFFh dd L004E43B0 L004F69D8: dd 19930520h dd 00000001h dd L004F69F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F69F8: dd FFFFFFFFh dd L004E43D0 L004F6A00: dd 19930520h dd 00000001h dd L004F6A20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6A20: dd FFFFFFFFh dd L004E43F0 L004F6A28: dd 19930520h dd 00000001h dd L004F6A48 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6A48: dd FFFFFFFFh dd L004E4410 L004F6A50: dd 19930520h dd 00000001h dd L004F6A70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6A70: dd FFFFFFFFh dd L004E4430 L004F6A78: dd 19930520h dd 00000001h dd L004F6A98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6A98: dd FFFFFFFFh dd L004E4450 L004F6AA0: dd 19930520h dd 00000004h dd L004F6AC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6AC0: dd FFFFFFFFh dd L004E4470 dd FFFFFFFFh dd L004E4478 dd 00000001h dd L004E4480 dd 00000002h dd L004E4498 L004F6AE0: dd 19930520h dd 00000004h dd L004F6B00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6B00: dd FFFFFFFFh dd L004E44B0 dd FFFFFFFFh dd L004E44B8 dd 00000001h dd L004E44C0 dd 00000002h dd L004E44D8 L004F6B20: dd 19930520h dd 00000003h dd L004F6B40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6B40: dd FFFFFFFFh dd L004E44F0 dd 00000000h dd L004E44F8 dd 00000001h dd L004E4510 L004F6B58: dd 19930520h dd 00000001h dd L004F6B78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6B78: dd FFFFFFFFh dd L004E4530 L004F6B80: dd 19930520h dd 00000002h dd L004F6BA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6BA0: dd FFFFFFFFh dd L004E4550 dd 00000000h dd L004E4558 L004F6BB0: dd 19930520h dd 00000001h dd L004F6BD0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6BD0: dd FFFFFFFFh dd L004E4570 L004F6BD8: dd 19930520h dd 00000007h dd L004F6BF8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6BF8: dd FFFFFFFFh dd L004E4590 dd 00000000h dd L004E4598 dd 00000001h dd L004E45A0 dd 00000002h dd L004E45AB dd 00000001h dd L004E45B3 dd 00000001h dd L004E45BE dd 00000001h dd L004E45C9 L004F6C30: dd 19930520h dd 00000001h dd L004F6C50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6C50: dd FFFFFFFFh dd L004E45E0 L004F6C58: dd 19930520h dd 00000001h dd L004F6C78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6C78: dd FFFFFFFFh dd L004E4600 L004F6C80: dd 19930520h dd 00000006h dd L004F6CA0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6CA0: dd FFFFFFFFh dd L004E4620 dd 00000000h dd L004E4628 dd 00000001h dd L004E4633 dd 00000000h dd L004E463B dd 00000000h dd L004E4646 dd 00000000h dd L004E4651 L004F6CD0: dd 19930520h dd 00000002h dd L004F6CF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6CF0: dd FFFFFFFFh dd L004E4670 dd 00000000h dd L004E467B L004F6D00: dd 19930520h dd 00000005h dd L004F6D20 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6D20: dd FFFFFFFFh dd L004E4690 dd 00000000h dd L004E4698 dd 00000001h dd L004E46B0 dd 00000002h dd L004E46C8 dd 00000003h dd L004E46D6 L004F6D48: dd 19930520h dd 00000004h dd L004F6D68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6D68: dd FFFFFFFFh dd L004E46F0 dd 00000000h dd L004E46F8 dd 00000001h dd L004E4710 dd 00000002h dd L004E4728 L004F6D88: dd 19930520h dd 00000004h dd L004F6DA8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6DA8: dd FFFFFFFFh dd L004E4740 dd FFFFFFFFh dd L004E474B dd FFFFFFFFh dd L004E4756 dd FFFFFFFFh dd L004E4761 L004F6DC8: dd 19930520h dd 0000000Eh dd L004F6DE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6DE8: dd FFFFFFFFh dd L004E4780 dd FFFFFFFFh dd L004E478B dd FFFFFFFFh dd L004E4796 dd FFFFFFFFh dd L004E47A1 dd FFFFFFFFh dd L004E47AC dd FFFFFFFFh dd L004E47B7 dd FFFFFFFFh dd L004E47C2 dd FFFFFFFFh dd L004E47CD dd FFFFFFFFh dd L004E47D8 dd FFFFFFFFh dd L004E47E3 dd FFFFFFFFh dd L004E47EE dd FFFFFFFFh dd L004E47F9 dd FFFFFFFFh dd L004E4804 dd FFFFFFFFh dd L004E480F L004F6E58: dd 19930520h dd 0000000Ah dd L004F6E78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6E78: dd FFFFFFFFh dd L004E4830 dd FFFFFFFFh dd L004E483B dd FFFFFFFFh dd L004E4846 dd FFFFFFFFh dd L004E4851 dd FFFFFFFFh dd L004E485C dd FFFFFFFFh dd L004E4867 dd FFFFFFFFh dd L004E4872 dd FFFFFFFFh dd L004E487D dd FFFFFFFFh dd L004E4888 dd FFFFFFFFh dd L004E4893 L004F6EC8: dd 19930520h dd 00000001h dd L004F6EE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6EE8: dd FFFFFFFFh dd L004E48B0 L004F6EF0: dd 19930520h dd 00000012h dd L004F6F10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6F10: dd FFFFFFFFh dd L004E48D0 dd FFFFFFFFh dd L004E48D8 dd FFFFFFFFh dd L004E48E0 dd 00000002h dd L004E48EB dd 00000003h dd L004E48F9 dd FFFFFFFFh dd L004E4972 dd 00000005h dd L004E497A dd 00000006h dd L004E4985 dd FFFFFFFFh dd L004E4904 dd 00000008h dd L004E490C dd FFFFFFFFh dd L004E491A dd 0000000Ah dd L004E4922 dd 0000000Bh dd L004E4930 dd FFFFFFFFh dd L004E493B dd 0000000Dh dd L004E4943 dd FFFFFFFFh dd L004E4951 dd 0000000Fh dd L004E4959 dd 00000010h dd L004E4967 L004F6FA0: dd 19930520h dd 00000001h dd L004F6FC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6FC0: dd FFFFFFFFh dd L004E49A0 L004F6FC8: dd 19930520h dd 00000001h dd L004F6FE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F6FE8: dd FFFFFFFFh dd L004E49C0 L004F6FF0: dd 19930520h dd 00000001h dd L004F7010 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7010: dd FFFFFFFFh dd L004E49E0 L004F7018: dd 19930520h dd 00000001h dd L004F7038 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7038: dd FFFFFFFFh dd L004E4A00 L004F7040: dd 19930520h dd 00000001h dd L004F7060 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7060: dd FFFFFFFFh dd L004E4A20 L004F7068: dd 19930520h dd 00000001h dd L004F7088 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7088: dd FFFFFFFFh dd L004E4A40 L004F7090: dd 19930520h dd 00000002h dd L004F70B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F70B0: dd FFFFFFFFh dd L004E4A60 dd FFFFFFFFh dd L004E4A6B L004F70C0: dd 19930520h dd 00000001h dd L004F70E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F70E0: dd FFFFFFFFh dd L004E4A80 L004F70E8: dd 19930520h dd 00000001h dd L004F7108 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7108: dd FFFFFFFFh dd L004E4AA0 L004F7110: dd 19930520h dd 00000001h dd L004F7130 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7130: dd FFFFFFFFh dd L004E4AC0 L004F7138: dd 19930520h dd 00000005h dd L004F7158 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7158: dd FFFFFFFFh dd L004E4AE0 dd FFFFFFFFh dd L004E4AEB dd 00000001h dd L004E4AF3 dd 00000002h dd L004E4AFE dd 00000003h dd L004E4B14 L004F7180: dd 19930520h dd 00000003h dd L004F71A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F71A0: dd FFFFFFFFh dd L004E4B30 dd 00000000h dd L004E4B38 dd FFFFFFFFh dd L004E4B43 L004F71B8: dd 19930520h dd 00000001h dd L004F71D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F71D8: dd FFFFFFFFh dd L004E4B60 L004F71E0: dd 19930520h dd 00000001h dd L004F7200 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7200: dd FFFFFFFFh dd L004E4B80 L004F7208: dd 19930520h dd 00000001h dd L004F7228 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7228: dd FFFFFFFFh dd L004E4BA0 L004F7230: dd 19930520h dd 00000001h dd L004F7250 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7250: dd FFFFFFFFh dd L004E4BC0 L004F7258: dd 19930520h dd 00000001h dd L004F7278 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7278: dd FFFFFFFFh dd L004E4BE0 L004F7280: dd 19930520h dd 00000001h dd L004F72A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F72A0: dd FFFFFFFFh dd L004E4C00 L004F72A8: dd 19930520h dd 00000001h dd L004F72C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F72C8: dd FFFFFFFFh dd L004E4C20 L004F72D0: dd 19930520h dd 00000001h dd L004F72F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F72F0: dd FFFFFFFFh dd L004E4C40 L004F72F8: dd 19930520h dd 00000001h dd L004F7318 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7318: dd FFFFFFFFh dd L004E4C60 L004F7320: dd 19930520h dd 00000001h dd L004F7340 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7340: dd FFFFFFFFh dd L004E4C80 L004F7348: dd 19930520h dd 00000001h dd L004F7368 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7368: dd FFFFFFFFh dd L004E4CA0 L004F7370: dd 19930520h dd 00000001h dd L004F7390 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7390: dd FFFFFFFFh dd L004E4CC0 L004F7398: dd 19930520h dd 00000001h dd L004F73B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F73B8: dd FFFFFFFFh dd L004E4CE0 L004F73C0: dd 19930520h dd 00000001h dd L004F73E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F73E0: dd FFFFFFFFh dd L004E4D00 L004F73E8: dd 19930520h dd 00000001h dd L004F7408 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7408: dd FFFFFFFFh dd L004E4D20 L004F7410: dd 19930520h dd 00000001h dd L004F7430 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7430: dd FFFFFFFFh dd L004E4D40 L004F7438: dd 19930520h dd 00000001h dd L004F7458 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7458: dd FFFFFFFFh dd L004E4D60 L004F7460: dd 19930520h dd 00000001h dd L004F7480 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7480: dd FFFFFFFFh dd L004E4D80 L004F7488: dd 19930520h dd 00000005h dd L004F74A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F74A8: dd FFFFFFFFh dd L004E4DA0 dd 00000000h dd L004E4DAB dd 00000000h dd L004E4DB6 dd 00000000h dd L004E4DC1 dd 00000003h dd L004E4DCC L004F74D0: dd 19930520h dd 00000002h dd L004F74F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F74F0: dd FFFFFFFFh dd L004E4DF0 dd 00000000h dd L004E4DFB L004F7500: dd 19930520h dd 00000006h dd L004F7520 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7520: dd FFFFFFFFh dd L004E4E10 dd 00000000h dd L004E4E1B dd 00000000h dd L004E4E26 dd 00000000h dd L004E4E31 dd 00000000h dd L004E4E3C dd 00000000h dd L004E4E47 L004F7550: dd 19930520h dd 00000002h dd L004F7570 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7570: dd FFFFFFFFh dd L004E4E60 dd 00000000h dd L004E4E68 L004F7580: dd 19930520h dd 00000004h dd L004F75A0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F75A0: dd FFFFFFFFh dd L004E4E80 dd 00000000h dd L004E4E88 dd 00000000h dd L004E4E93 dd 00000000h dd L004E4E9E L004F75C0: dd 19930520h dd 00000001h dd L004F75E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F75E0: dd FFFFFFFFh dd L004E4EC0 L004F75E8: dd 19930520h dd 00000001h dd L004F7608 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7608: dd FFFFFFFFh dd L004E4EE0 L004F7610: dd 19930520h dd 00000001h dd L004F7630 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7630: dd FFFFFFFFh dd L004E4F00 L004F7638: dd 19930520h dd 00000001h dd L004F7658 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7658: dd FFFFFFFFh dd L004E4F20 L004F7660: dd 19930520h dd 00000001h dd L004F7680 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7680: dd FFFFFFFFh dd L004E4F40 L004F7688: dd 19930520h dd 00000001h dd L004F76A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F76A8: dd FFFFFFFFh dd L004E4F60 L004F76B0: dd 19930520h dd 00000001h dd L004F76D0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F76D0: dd FFFFFFFFh dd L004E4F80 L004F76D8: dd 19930520h dd 00000002h dd L004F76F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F76F8: dd FFFFFFFFh dd L004E4FA0 dd 00000000h dd L004E4FA8 L004F7708: dd 19930520h dd 00000004h dd L004F7728 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7728: dd FFFFFFFFh dd L004E4FC0 dd 00000000h dd L004E4FC8 dd 00000000h dd L004E4FD3 dd 00000000h dd L004E4FDE L004F7748: dd 19930520h dd 00000002h dd L004F7768 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7768: dd FFFFFFFFh dd L004E5000 dd FFFFFFFFh dd L004E500B L004F7778: dd 19930520h dd 00000002h dd L004F7798 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7798: dd FFFFFFFFh dd L004E5020 dd FFFFFFFFh dd L004E502E L004F77A8: dd 19930520h dd 00000002h dd L004F77C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F77C8: dd FFFFFFFFh dd L004E5050 dd FFFFFFFFh dd L004E505B L004F77D8: dd 19930520h dd 00000001h dd L004F77F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F77F8: dd FFFFFFFFh dd L004E5070 L004F7800: dd 19930520h dd 00000001h dd L004F7820 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7820: dd FFFFFFFFh dd L004E5090 L004F7828: dd 19930520h dd 00000001h dd L004F7848 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7848: dd FFFFFFFFh dd L004E50B0 L004F7850: dd 19930520h dd 00000001h dd L004F7870 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7870: dd FFFFFFFFh dd L004E50D0 L004F7878: dd 19930520h dd 00000002h dd L004F7898 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7898: dd FFFFFFFFh dd L004E50F0 dd 00000000h dd L004E50F8 L004F78A8: dd 19930520h dd 00000002h dd L004F78C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F78C8: dd FFFFFFFFh dd L004E5110 dd 00000000h dd L004E5118 L004F78D8: dd 19930520h dd 00000002h dd L004F78F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F78F8: dd FFFFFFFFh dd L004E513E dd FFFFFFFFh dd L004E5130 L004F7908: dd 19930520h dd 00000001h dd L004F7928 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7928: dd FFFFFFFFh dd L004E5160 L004F7930: dd 19930520h dd 00000002h dd L004F7950 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7950: dd FFFFFFFFh dd L004E5180 dd FFFFFFFFh dd L004E518E L004F7960: dd 19930520h dd 00000001h dd L004F7980 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7980: dd FFFFFFFFh dd L004E51B0 L004F7988: dd 19930520h dd 00000003h dd L004F79A8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F79A8: dd FFFFFFFFh dd L004E51D0 dd FFFFFFFFh dd L004E51DE dd FFFFFFFFh dd L004E51EC L004F79C0: dd 19930520h dd 00000002h dd L004F79E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F79E0: dd FFFFFFFFh dd L004E5210 dd FFFFFFFFh dd L004E521E L004F79F0: dd 19930520h dd 00000001h dd L004F7A10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7A10: dd FFFFFFFFh dd L004E5240 L004F7A18: dd 19930520h dd 00000002h dd L004F7A38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7A38: dd FFFFFFFFh dd L004E5260 dd FFFFFFFFh dd L004E526B L004F7A48: dd 19930520h dd 00000001h dd L004F7A68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7A68: dd FFFFFFFFh dd L004E5280 L004F7A70: dd 19930520h dd 00000003h dd L004F7A90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7A90: dd FFFFFFFFh dd L004E52A0 dd FFFFFFFFh dd L004E52AB dd FFFFFFFFh dd L004E52B6 L004F7AA8: dd 19930520h dd 00000001h dd L004F7AC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7AC8: dd FFFFFFFFh dd L004E52D0 L004F7AD0: dd 19930520h dd 00000001h dd L004F7AF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7AF0: dd FFFFFFFFh dd L004E52F0 L004F7AF8: dd 19930520h dd 00000001h dd L004F7B18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7B18: dd FFFFFFFFh dd L004E5310 L004F7B20: dd 19930520h dd 00000002h dd L004F7B40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7B40: dd FFFFFFFFh dd L004E5330 dd 00000000h dd L004E5338 L004F7B50: dd 19930520h dd 00000007h dd L004F7B70 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7B70: dd FFFFFFFFh dd L004E5350 dd FFFFFFFFh dd L004E535E dd FFFFFFFFh dd L004E5396 dd FFFFFFFFh dd L004E53A4 dd FFFFFFFFh dd L004E537A dd FFFFFFFFh dd L004E5388 dd FFFFFFFFh dd L004E536C L004F7BA8: dd 19930520h dd 00000001h dd L004F7BC8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7BC8: dd FFFFFFFFh dd L004E53C0 L004F7BD0: dd 19930520h dd 00000001h dd L004F7BF0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7BF0: dd FFFFFFFFh dd L004E53E0 L004F7BF8: dd 19930520h dd 00000001h dd L004F7C18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7C18: dd FFFFFFFFh dd L004E5400 L004F7C20: dd 19930520h dd 00000001h dd L004F7C40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7C40: dd FFFFFFFFh dd L004E5420 L004F7C48: dd 19930520h dd 00000001h dd L004F7C68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7C68: dd FFFFFFFFh dd L004E5440 L004F7C70: dd 19930520h dd 00000001h dd L004F7C90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7C90: dd FFFFFFFFh dd L004E5460 L004F7C98: dd 19930520h dd 00000007h dd L004F7CB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7CB8: dd FFFFFFFFh dd L004E5480 dd FFFFFFFFh dd L004E548B dd FFFFFFFFh dd L004E5496 dd FFFFFFFFh dd L004E54A1 dd FFFFFFFFh dd L004E54AC dd FFFFFFFFh dd L004E54B7 dd FFFFFFFFh dd L004E54C2 L004F7CF0: dd 19930520h dd 00000001h dd L004F7D10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7D10: dd FFFFFFFFh dd L004E54E0 L004F7D18: dd 19930520h dd 00000001h dd L004F7D38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7D38: dd FFFFFFFFh dd L004E5500 L004F7D40: dd 19930520h dd 00000008h dd L004F7D60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7D60: dd FFFFFFFFh dd L004E5520 dd 00000000h dd L004E5528 dd 00000000h dd L004E5533 dd 00000000h dd L004E553E dd 00000000h dd L004E5549 dd 00000000h dd L004E5554 dd 00000000h dd L004E555F dd 00000000h dd L004E556A L004F7DA0: dd 19930520h dd 00000001h dd L004F7DC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7DC0: dd FFFFFFFFh dd L004E5580 L004F7DC8: dd 19930520h dd 00000001h dd L004F7DE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7DE8: dd FFFFFFFFh dd L004E55A0 L004F7DF0: dd 19930520h dd 00000001h dd L004F7E10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7E10: dd FFFFFFFFh dd L004E55C0 L004F7E18: dd 19930520h dd 0000000Bh dd L004F7E38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7E38: dd FFFFFFFFh dd L004E55E0 dd 00000000h dd L004E55E8 dd 00000000h dd L004E55F3 dd 00000000h dd L004E55FE dd 00000000h dd L004E5609 dd 00000000h dd L004E5614 dd 00000000h dd L004E561F dd 00000000h dd L004E562A dd 00000000h dd L004E5635 dd 00000000h dd L004E5640 dd 00000000h dd L004E564B L004F7E90: dd 19930520h dd 00000001h dd L004F7EB0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7EB0: dd FFFFFFFFh dd L004E5660 L004F7EB8: dd 19930520h dd 00000001h dd L004F7ED8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7ED8: dd FFFFFFFFh dd L004E5680 L004F7EE0: dd 19930520h dd 00000003h dd L004F7F00 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7F00: dd FFFFFFFFh dd L004E56A0 dd FFFFFFFFh dd L004E56AB dd FFFFFFFFh dd L004E56B6 L004F7F18: dd 19930520h dd 00000002h dd L004F7F38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7F38: dd FFFFFFFFh dd L004E56D0 dd 00000000h dd L004E56D8 L004F7F48: dd 19930520h dd 00000002h dd L004F7F68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7F68: dd FFFFFFFFh dd L004E56F0 dd FFFFFFFFh dd L004E56FB L004F7F78: dd 19930520h dd 00000001h dd L004F7F98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7F98: dd FFFFFFFFh dd L004E5710 L004F7FA0: dd 19930520h dd 00000001h dd L004F7FC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7FC0: dd FFFFFFFFh dd L004E5730 L004F7FC8: dd 19930520h dd 00000003h dd L004F7FE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F7FE8: dd FFFFFFFFh dd L004E5750 dd 00000000h dd L004E5758 dd 00000000h dd L004E5763 L004F8000: dd 19930520h dd 00000001h dd L004F8020 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8020: dd FFFFFFFFh dd L004E5780 L004F8028: dd 19930520h dd 00000012h dd L004F8048 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8048: dd FFFFFFFFh dd L004E57A0 dd 00000000h dd L004E57A8 dd 00000001h dd L004E57B6 dd 00000002h dd L004E57C4 dd 00000003h dd L004E57D2 dd 00000004h dd L004E57E0 dd 00000004h dd L004E57EB dd 00000004h dd L004E57F6 dd 00000004h dd L004E5801 dd 00000004h dd L004E580C dd 00000004h dd L004E5817 dd 00000004h dd L004E5822 dd 00000004h dd L004E582D dd 00000004h dd L004E5838 dd 00000004h dd L004E5843 dd 00000004h dd L004E584E dd 00000004h dd L004E5859 dd 00000004h dd L004E5864 L004F80D8: dd 19930520h dd 00000007h dd L004F80F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F80F8: dd FFFFFFFFh dd L004E5880 dd 00000000h dd L004E5888 dd 00000001h dd L004E58B1 dd 00000002h dd L004E58BF dd 00000003h dd L004E58CD dd 00000004h dd L004E58DB dd 00000004h dd L004E58E3 L004F8130: dd 19930520h dd 00000003h dd L004F8150 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8150: dd FFFFFFFFh dd L004E5900 dd FFFFFFFFh dd L004E590E dd FFFFFFFFh dd L004E591C L004F8168: dd 19930520h dd 00000003h dd L004F8188 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8188: dd FFFFFFFFh dd L004E5940 dd FFFFFFFFh dd L004E594B dd FFFFFFFFh dd L004E5953 L004F81A0: dd 19930520h dd 00000001h dd L004F81C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F81C0: dd FFFFFFFFh dd L004E5970 L004F81C8: dd 19930520h dd 00000001h dd L004F81E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F81E8: dd FFFFFFFFh dd L004E5990 L004F81F0: dd 19930520h dd 00000001h dd L004F8210 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8210: dd FFFFFFFFh dd L004E59B0 L004F8218: dd 19930520h dd 00000003h dd L004F8238 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8238: dd FFFFFFFFh dd L004E59D0 dd 00000000h dd L004E59D8 dd 00000001h dd L004E59E6 L004F8250: dd 19930520h dd 00000001h dd L004F8270 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8270: dd FFFFFFFFh dd L004E5A00 L004F8278: dd 19930520h dd 00000004h dd L004F8298 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8298: dd FFFFFFFFh dd L004E5A20 dd 00000000h dd L004E5A28 dd 00000000h dd L004E5A33 dd 00000000h dd L004E5A3E L004F82B8: dd 19930520h dd 00000001h dd L004F82D8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F82D8: dd FFFFFFFFh dd L004E5A60 L004F82E0: dd 19930520h dd 00000004h dd L004F8300 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8300: dd FFFFFFFFh dd L004E5A80 dd 00000000h dd L004E5A88 dd 00000000h dd L004E5A93 dd 00000000h dd L004E5A9E L004F8320: dd 19930520h dd 00000001h dd L004F8340 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8340: dd FFFFFFFFh dd L004E5AC0 L004F8348: dd 19930520h dd 00000001h dd L004F8368 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8368: dd FFFFFFFFh dd L004E5AE0 L004F8370: dd 19930520h dd 00000001h dd L004F8390 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8390: dd FFFFFFFFh dd L004E5B00 L004F8398: dd 19930520h dd 00000001h dd L004F83B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F83B8: dd FFFFFFFFh dd L004E5B20 L004F83C0: dd 19930520h dd 00000008h dd L004F83E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F83E0: dd FFFFFFFFh dd L004E5B40 dd 00000000h dd L004E5B48 dd 00000000h dd L004E5B53 dd 00000000h dd L004E5B5E dd 00000000h dd L004E5B69 dd 00000000h dd L004E5B74 dd 00000000h dd L004E5B7F dd 00000000h dd L004E5B8A L004F8420: dd 19930520h dd 00000001h dd L004F8440 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8440: dd FFFFFFFFh dd L004E5BA0 L004F8448: dd 19930520h dd 00000005h dd L004F8468 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8468: dd FFFFFFFFh dd L004E5BC0 dd 00000000h dd L004E5BC8 dd 00000000h dd L004E5BD3 dd 00000000h dd L004E5BDE dd 00000000h dd L004E5BE9 L004F8490: dd 19930520h dd 00000005h dd L004F84B0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F84B0: dd FFFFFFFFh dd L004E5C00 dd 00000000h dd L004E5C08 dd 00000000h dd L004E5C13 dd 00000000h dd L004E5C1E dd 00000000h dd L004E5C29 L004F84D8: dd 19930520h dd 00000001h dd L004F84F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F84F8: dd FFFFFFFFh dd L004E5C40 L004F8500: dd 19930520h dd 00000006h dd L004F8520 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8520: dd FFFFFFFFh dd L004E5C60 dd 00000000h dd L004E5C68 dd 00000000h dd L004E5C73 dd 00000000h dd L004E5C7E dd 00000000h dd L004E5C89 dd 00000000h dd L004E5C94 L004F8550: dd 19930520h dd 00000001h dd L004F8570 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8570: dd FFFFFFFFh dd L004E5CB0 L004F8578: dd 19930520h dd 00000002h dd L004F8598 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8598: dd FFFFFFFFh dd L004E5CD0 dd FFFFFFFFh dd L004E5CDB L004F85A8: dd 19930520h dd 00000004h dd L004F85C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F85C8: dd FFFFFFFFh dd L004E5CF0 dd 00000000h dd L004E5CF8 dd 00000000h dd L004E5D03 dd 00000000h dd L004E5D0E L004F85E8: dd 19930520h dd 00000001h dd L004F8608 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8608: dd FFFFFFFFh dd L004E5D30 L004F8610: dd 19930520h dd 00000004h dd L004F8630 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8630: dd FFFFFFFFh dd L004E5D50 dd 00000000h dd L004E5D58 dd 00000000h dd L004E5D63 dd 00000000h dd L004E5D6E L004F8650: dd 19930520h dd 00000001h dd L004F8670 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8670: dd FFFFFFFFh dd L004E5D90 L004F8678: dd 19930520h dd 00000006h dd L004F8698 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8698: dd FFFFFFFFh dd L004E5DB0 dd 00000000h dd L004E5DB8 dd 00000000h dd L004E5DC3 dd 00000000h dd L004E5DCE dd 00000000h dd L004E5DD9 dd 00000000h dd L004E5DE4 L004F86C8: dd 19930520h dd 00000001h dd L004F86E8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F86E8: dd FFFFFFFFh dd L004E5E00 L004F86F0: dd 19930520h dd 00000008h dd L004F8710 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8710: dd FFFFFFFFh dd L004E5E20 dd 00000000h dd L004E5E28 dd 00000000h dd L004E5E33 dd 00000000h dd L004E5E3E dd 00000000h dd L004E5E49 dd 00000000h dd L004E5E54 dd 00000000h dd L004E5E5F dd 00000000h dd L004E5E6A L004F8750: dd 19930520h dd 00000001h dd L004F8770 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8770: dd FFFFFFFFh dd L004E5E80 L004F8778: dd 19930520h dd 00000001h dd L004F8798 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8798: dd FFFFFFFFh dd L004E5EA0 L004F87A0: dd 19930520h dd 00000003h dd L004F87C0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F87C0: dd FFFFFFFFh dd L004E5EC0 dd FFFFFFFFh dd L004E5ECB dd FFFFFFFFh dd L004E5ED6 L004F87D8: dd 19930520h dd 00000001h dd L004F87F8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F87F8: dd FFFFFFFFh dd L004E5EF0 L004F8800: dd 19930520h dd 00000005h dd L004F8820 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8820: dd FFFFFFFFh dd L004E5F10 dd 00000000h dd L004E5F18 dd 00000000h dd L004E5F23 dd 00000000h dd L004E5F2E dd 00000000h dd L004E5F39 L004F8848: dd 19930520h dd 00000001h dd L004F8868 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8868: dd FFFFFFFFh dd L004E5F50 L004F8870: dd 19930520h dd 00000001h dd L004F8890 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8890: dd FFFFFFFFh dd L004E5F70 L004F8898: dd 19930520h dd 00000001h dd L004F88B8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F88B8: dd FFFFFFFFh dd L004E5F90 L004F88C0: dd 19930520h dd 00000003h dd L004F88E0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F88E0: dd FFFFFFFFh dd L004E5FB0 dd 00000000h dd L004E5FBB dd 00000001h dd L004E5FCC L004F88F8: dd 19930520h dd 00000002h dd L004F8918 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8918: dd FFFFFFFFh dd L004E5FF0 dd 00000000h dd L004E5FF8 L004F8928: dd 19930520h dd 00000001h dd L004F8948 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8948: dd FFFFFFFFh dd L004E6010 L004F8950: dd 19930520h dd 00000001h dd L004F8970 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8970: dd FFFFFFFFh dd L004E6030 L004F8978: dd 19930520h dd 00000002h dd L004F8998 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8998: dd FFFFFFFFh dd L004E6050 dd 00000000h dd L004E605E L004F89A8: dd 19930520h dd 00000001h dd L004F89C8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F89C8: dd FFFFFFFFh dd L004E6080 L004F89D0: dd 19930520h dd 00000001h dd L004F89F0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F89F0: dd FFFFFFFFh dd L004E60A0 L004F89F8: dd 19930520h dd 00000001h dd L004F8A18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8A18: dd FFFFFFFFh dd L004E60C0 L004F8A20: dd 19930520h dd 00000001h dd L004F8A40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8A40: dd FFFFFFFFh dd L004E60E0 L004F8A48: dd 19930520h dd 00000007h dd L004F8A68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8A68: dd FFFFFFFFh dd L004E6100 dd 00000000h dd L004E6108 dd 00000000h dd L004E6113 dd 00000000h dd L004E611E dd 00000000h dd L004E6129 dd 00000000h dd L004E6134 dd 00000000h dd L004E613F L004F8AA0: dd 19930520h dd 00000001h dd L004F8AC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8AC0: dd FFFFFFFFh dd L004E6160 L004F8AC8: dd 19930520h dd 00000009h dd L004F8AE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8AE8: dd FFFFFFFFh dd L004E6180 dd 00000000h dd L004E6188 dd 00000000h dd L004E6193 dd 00000000h dd L004E619E dd 00000000h dd L004E61A9 dd 00000000h dd L004E61B4 dd 00000000h dd L004E61BF dd 00000000h dd L004E61CA dd 00000000h dd L004E61D5 L004F8B30: dd 19930520h dd 00000001h dd L004F8B50 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8B50: dd FFFFFFFFh dd L004E61F0 L004F8B58: dd 19930520h dd 00000005h dd L004F8B78 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8B78: dd FFFFFFFFh dd L004E6210 dd 00000000h dd L004E6218 dd 00000000h dd L004E6223 dd 00000000h dd L004E622E dd 00000000h dd L004E6239 L004F8BA0: dd 19930520h dd 00000006h dd L004F8BC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8BC0: dd FFFFFFFFh dd L004E6250 dd 00000000h dd L004E6258 dd 00000001h dd L004E6260 dd 00000001h dd L004E626B dd 00000001h dd L004E6276 dd 00000001h dd L004E6281 L004F8BF0: dd 19930520h dd 00000001h dd L004F8C10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8C10: dd FFFFFFFFh dd L004E62A0 L004F8C18: dd 19930520h dd 00000001h dd L004F8C38 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8C38: dd FFFFFFFFh dd L004E62C0 L004F8C40: dd 19930520h dd 00000001h dd L004F8C60 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8C60: dd FFFFFFFFh dd L004E62E0 L004F8C68: dd 19930520h dd 00000003h dd L004F8C88 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8C88: dd FFFFFFFFh dd L004E6300 dd 00000000h dd L004E6308 dd 00000000h dd L004E6313 L004F8CA0: dd 19930520h dd 00000001h dd L004F8CC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8CC0: dd FFFFFFFFh dd L004E6330 L004F8CC8: dd 19930520h dd 00000002h dd L004F8CE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8CE8: dd FFFFFFFFh dd L004E6350 dd FFFFFFFFh dd L004E635B L004F8CF8: dd 19930520h dd 00000001h dd L004F8D18 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8D18: dd FFFFFFFFh dd L004E6370 L004F8D20: dd 19930520h dd 00000001h dd L004F8D40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8D40: dd FFFFFFFFh dd L004E6390 L004F8D48: dd 19930520h dd 00000001h dd L004F8D68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8D68: dd FFFFFFFFh dd L004E63B0 L004F8D70: dd 19930520h dd 00000001h dd L004F8D90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8D90: dd FFFFFFFFh dd L004E63D0 L004F8D98: dd 19930520h dd 00000001h dd L004F8DB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8DB8: dd FFFFFFFFh dd L004E63F0 L004F8DC0: dd 19930520h dd 00000001h dd L004F8DE0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8DE0: dd FFFFFFFFh dd L004E6410 L004F8DE8: dd 19930520h dd 00000003h dd L004F8E08 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8E08: dd FFFFFFFFh dd L004E6430 dd 00000000h dd L004E643B dd FFFFFFFFh dd L004E6446 L004F8E20: dd 19930520h dd 00000002h dd L004F8E40 dd 00000001h dd L004F8E50 dd 00000000h dd 00000000h dd 00000000h L004F8E40: dd FFFFFFFFh dd 00000000h dd FFFFFFFFh dd 00000000h L004F8E50: dd 00000000h dd 00000000h dd 00000001h dd 00000001h dd L004F8E68 db 00h; db 00h; db 00h; db 00h; L004F8E68: dd 00000000h dd 00000000h dd 00000000h dd L004C804E L004F8E78: dd 19930520h dd 00000001h dd L004F8E98 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8E98: dd FFFFFFFFh dd L004E6470 L004F8EA0: dd 19930520h dd 00000001h dd L004F8EC0 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8EC0: dd FFFFFFFFh dd L004E6490 L004F8EC8: dd 19930520h dd 00000001h dd L004F8EE8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8EE8: dd FFFFFFFFh dd L004E64B0 L004F8EF0: dd 19930520h dd 00000002h dd L004F8F10 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8F10: dd FFFFFFFFh dd L004E64D0 dd 00000000h dd L004E64D8 L004F8F20: dd 19930520h dd 00000001h dd L004F8F40 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8F40: dd FFFFFFFFh dd L004E64F0 L004F8F48: dd 19930520h dd 00000001h dd L004F8F68 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8F68: dd FFFFFFFFh dd L004E6510 L004F8F70: dd 19930520h dd 00000001h dd L004F8F90 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8F90: dd FFFFFFFFh dd L004E6530 L004F8F98: dd 19930520h dd 00000001h dd L004F8FB8 dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h L004F8FB8: dd FFFFFFFFh dd L004E6550 dd 000F90F8h dd 00000000h dd 00000000h dd 000F9756h dd 000E705Ch dd 000F9294h dd 00000000h dd 00000000h dd 000F9B34h dd 000E71F8h dd 000F90CCh dd 00000000h dd 00000000h dd 000F9BE2h dd 000E7030h dd 000F909Ch dd 00000000h dd 00000000h dd 000F9C50h dd 000E7000h dd 000F9410h dd 00000000h dd 00000000h dd 000F9C94h dd 000E7374h dd 000F93B8h dd 00000000h dd 00000000h dd 000F9C9Eh dd 000E731Ch dd 000F90B4h dd 00000000h dd 00000000h dd 000F9CAAh dd 000E7018h dd 000F90BCh dd 00000000h dd 00000000h dd 000F9CD8h dd 000E7020h dd 000F90C4h dd 00000000h dd 00000000h dd 000F9CE2h dd 000E7028h dd 000F9388h dd 00000000h dd 00000000h dd 000F9D9Eh dd 000E72ECh dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 00000000h dd 000F9C0Eh dd 000F9C1Eh dd 000F9C30h dd 000F9C42h dd 000F9BFAh dd 00000000h dd 80000011h dd 00000000h dd 000F9CC4h dd 00000000h dd 80000001h dd 00000000h dd 000F9B70h dd 000F9B40h dd 000F9B50h dd 000F9B60h dd 000F9B7Ch dd 000F9B8Ch dd 000F9B9Ch dd 000F9BB2h dd 000F9BBCh dd 000F9BCEh dd 00000000h dd 000F9686h dd 000F969Ch dd 000F96ACh dd 000F96BCh dd 000F96CEh dd 000F9670h dd 000F9706h dd 000F9714h dd 000F9726h dd 000F973Ah dd 000F9744h dd 000F965Ch dd 000F9648h dd 000F9634h dd 000F9622h dd 000F9612h dd 000F9600h dd 000F95F0h dd 000F95E4h dd 000F95D8h dd 000F95C4h dd 000F95B6h dd 000F95A8h dd 000F9594h dd 000F957Ch dd 000F9564h dd 000F954Ch dd 000F9530h dd 000F96F0h dd 000F96E0h dd 000F9506h dd 000F9F02h dd 000F9EF2h dd 000F9EE6h dd 000F9ED0h dd 000F9EC2h dd 000F9EB0h dd 000F9E9Eh dd 000F9E8Ah dd 000F9E7Ch dd 000F9E6Eh dd 000F9E5Eh dd 000F9E4Eh dd 000F9E3Eh dd 000F9E30h dd 000F9E1Ch dd 000F9E0Ah dd 000F9DF0h dd 000F9DD8h dd 000F9DCCh dd 000F9DC0h dd 000F9DB4h dd 000F9DA8h dd 000F9F10h dd 000F9F1Eh dd 000F9F2Ah dd 000F9F3Ah dd 000F9F4Ah dd 000F9F5Ch dd 000F9F6Ch dd 000F9F7Ah dd 000F9F88h dd 000F9F96h dd 000F9FA4h dd 000F9438h dd 000F9450h dd 000F9466h dd 000F946Eh dd 000FA0D2h dd 000F947Eh dd 000F9FB4h dd 000F9FC4h dd 000F9FD8h dd 000F9FF0h dd 000FA00Ch dd 000FA022h dd 000FA03Ch dd 000FA056h dd 000FA06Eh dd 000FA088h dd 000FA0A6h dd 000FA0B6h dd 000FA0C6h dd 000FA19Ch dd 000FA0E4h dd 000FA0F6h dd 000FA106h dd 000FA112h dd 000FA126h dd 000FA13Ch dd 000FA152h dd 000F948Eh dd 000F949Ch dd 000F94B2h dd 000F9420h dd 000F94C8h dd 000F94DCh dd 000FA168h dd 000FA178h dd 000F94ECh dd 000F9520h dd 000FA18Ah dd 00000000h dd 000F980Ah dd 000F97FEh dd 000F97F0h dd 000F981Ch dd 000F97C2h dd 000F97BAh dd 000F97AEh dd 000F979Eh dd 000F978Ch dd 000F977Ah dd 000F9764h dd 000F9842h dd 000F9852h dd 000F9860h dd 000F986Eh dd 000F9880h dd 000F9890h dd 000F98A2h dd 000F98B0h dd 000F9B26h dd 000F9830h dd 000F9B1Ah dd 000F9B0Ch dd 000F9AFAh dd 000F9AE8h dd 000F9AD6h dd 000F9ACCh dd 000F9AB6h dd 000F9AA6h dd 000F9A92h dd 000F9A80h dd 000F9A6Eh dd 000F9A5Ch dd 000F9A4Eh dd 000F9A40h dd 000F9A32h dd 000F9A24h dd 000F9A18h dd 000F9A08h dd 000F99F8h dd 000F99ECh dd 000F99DAh dd 000F99C8h dd 000F99B6h dd 000F99A4h dd 000F9998h dd 000F9984h dd 000F9970h dd 000F9958h dd 000F9944h dd 000F9930h dd 000F991Eh dd 000F990Ch dd 000F9902h dd 000F98F2h dd 000F98DCh dd 000F98CCh dd 000F98BCh dd 000F97D6h dd 000F97E4h dd 00000000h dd 000F9CEEh dd 000F9D8Eh dd 000F9D7Eh dd 000F9D6Ch dd 000F9D58h dd 000F9D42h dd 000F9D2Eh dd 000F9D22h dd 000F9D16h dd 000F9D06h dd 000F9CFAh dd 00000000h dd 80000012h dd 80000097h dd 80000039h dd 80000013h dd 8000006Fh dd 80000002h dd 80000014h dd 80000011h dd 80000008h dd 80000009h dd 80000017h dd 80000015h dd 80000004h dd 8000000Ch dd 80000010h dd 8000000Fh dd 80000003h dd 80000073h dd 80000034h dd 80000074h dd 8000000Eh dd 00000000h dd 000F9C5Eh dd 000F9C6Eh dd 000F9C80h dd 00000000h dw 01ADh db 'InterlockedDecrement',0 db 00h dw 01B0h db 'InterlockedIncrement',0 db 00h dw 01AEh db 'InterlockedExchange',0 dw 0296h db 'Sleep',0 dw 004Ah db 'CreateThread',0 db 00h dw 016Dh db 'GetTickCount',0 db 00h dw 007Dh db 'ExitProcess',0 dw 01F5h db 'OutputDebugStringA',0 db 00h dw 018Dh db 'GlobalMemoryStatus',0 db 00h dw 0100h db 'GetDiskFreeSpaceA',0 dw 0104h db 'GetDriveTypeA',0 dw 011Eh db 'GetLogicalDriveStringsA',0 dw 0170h db 'GetTimeZoneInformation',0 db 00h dw 015Bh db 'GetSystemInfo',0 dw 01AAh db 'InitializeCriticalSection',0 dw 0055h db 'DeleteCriticalSection',0 dw 01C1h db 'LeaveCriticalSection',0 db 00h dw 0066h db 'EnterCriticalSection',0 db 00h dw 014Bh db 'GetProfileStringA',0 dw 001Bh db 'CloseHandle',0 dw 01EDh db 'OpenMutexA',0 db 00h dw 029Eh db 'TerminateProcess',0 db 00h dw 02DFh db 'WriteFile',0 dw 0218h db 'ReadFile',0 db 00h dw 0175h db 'GetVersionExA',0 dw 013Eh db 'GetProcAddress',0 db 00h dw 01C2h db 'LoadLibraryA',0 db 00h dw 026Ah db 'SetFilePointer',0 db 00h dw 0287h db 'SetThreadPriority',0 dw 00F9h db 'GetCurrentThread',0 db 00h dw 00F7h db 'GetCurrentProcess',0 dw 02D2h db 'WideCharToMultiByte',0 dw 01E4h db 'MultiByteToWideChar',0 dw 011Ah db 'GetLastError',0 db 00h dw 003Fh db 'CreateMutexA',0 db 00h dw 0044h db 'CreateProcessA',0 db 00h dw 02B0h db 'UnmapViewOfFile',0 dw 01D6h db 'MapViewOfFile',0 dw 0035h db 'CreateFileMappingA',0 db 00h dw 0034h db 'CreateFileA',0 dw 00ACh db 'FlushViewOfFile',0 dw 01E9h db 'OpenFileMappingA',0 db 00h dw 00B9h db 'GetACP',0 db 00h dw 01B9h db 'IsDBCSLeadByte',0 db 00h db 'KERNEL32.dll',0 db 00h dw 0106h db 'GetDoubleClickTime',0 db 00h dw 0110h db 'GetKeyNameTextA',0 dw 0084h db 'DefWindowProcA',0 db 00h dw 01DCh db 'PeekMessageA',0 db 00h dw 0203h db 'ReleaseDC',0 dw 00FDh db 'GetDC',0 dw 00FFh db 'GetDesktopWindow',0 db 00h dw 026Ah db 'ShowWindow',0 db 00h dw 0193h db 'IsZoomed',0 db 00h dw 0112h db 'GetKeyState',0 dw 022Fh db 'SetFocus',0 db 00h dw 01B5h db 'MapVirtualKeyA',0 db 00h dw 00E3h db 'GetAsyncKeyState',0 db 00h dw 020Ah db 'ScreenToClient',0 db 00h dw 00FCh db 'GetCursorPos',0 db 00h dw 01BEh db 'MessageBoxA',0 dw 00D5h db 'FindWindowA',0 dw 01F2h db 'RegisterClassA',0 db 00h dw 0291h db 'UpdateWindow',0 db 00h dw 0059h db 'CreateWindowExA',0 dw 019Ah db 'LoadCursorA',0 dw 01A6h db 'LoadMenuA',0 dw 0214h db 'SendMessageA',0 db 00h dw 00F0h db 'GetClientRect',0 dw 015Bh db 'GetWindowPlacement',0 db 00h dw 0034h db 'CheckMenuItem',0 dw 011Ch db 'GetMenu',0 dw 017Ah db 'InvalidateRect',0 db 00h dw 025Eh db 'SetWindowTextA',0 db 00h dw 0196h db 'LoadAcceleratorsA',0 dw 0095h db 'DispatchMessageA',0 db 00h dw 027Fh db 'TranslateAcceleratorA',0 dw 0282h db 'TranslateMessage',0 db 00h dw 0146h db 'GetSystemMetrics',0 db 00h dw 019Eh db 'LoadIconA',0 dw 0258h db 'SetWindowLongA',0 db 00h dw 0156h db 'GetWindowLongA',0 db 00h dw 01E0h db 'PostQuitMessage',0 dw 003Ah db 'ClientToScreen',0 db 00h dw 0226h db 'SetCursor',0 dw 025Bh db 'SetWindowPos',0 db 00h dw 015Ch db 'GetWindowRect',0 dw 00BBh db 'EndPaint',0 db 00h dw 000Ch db 'BeginPaint',0 db 00h dw 0266h db 'ShowCursor',0 db 00h dw 008Dh db 'DestroyMenu',0 dw 0154h db 'GetWindowDC',0 dw 005Ah db 'CreateWindowExW',0 dw 01F5h db 'RegisterClassW',0 db 00h dw 003Ch db 'CloseClipboard',0 db 00h dw 00F2h db 'GetClipboardData',0 db 00h dw 01D3h db 'OpenClipboard',0 dw 0002h db 'AdjustWindowRectEx',0 db 00h dw 0235h db 'SetMenu',0 dw 0085h db 'DefWindowProcW',0 db 00h dw 00DDh db 'GetActiveWindow',0 dw 0202h db 'ReleaseCapture',0 db 00h dw 021Dh db 'SetCapture',0 db 00h dw 0107h db 'GetFocus',0 db 00h dw 012Ah db 'GetMessageA',0 db 'USER32.dll',0 db 00h dw 0042h db 'CreatePalette',0 dw 0125h db 'GetDeviceCaps',0 dw 0053h db 'DeleteObject',0 db 00h dw 0050h db 'DeleteDC',0 db 00h dw 01C7h db 'SelectObject',0 db 00h dw 01C8h db 'SelectPalette',0 dw 002Ah db 'CreateCompatibleDC',0 db 00h dw 0011h db 'BitBlt',0 db 00h dw 01ACh db 'RealizePalette',0 db 00h dw 002Fh db 'CreateDIBSection',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 017Bh db 'RegQueryValueExA',0 db 00h dw 0172h db 'RegOpenKeyExA',0 dw 0186h db 'RegSetValueExA',0 db 00h dw 015Fh db 'RegCreateKeyExA',0 dw 015Bh db 'RegCloseKey',0 db 'ADVAPI32.dll',0 db 00h dw 002Dh db 'CoInitialize',0 db 00h dw 0053h db 'CoUninitialize',0 db 00h dw 000Dh db 'CoCreateInstance',0 db 00h db 'ole32.dll',0 db 'WSOCK32.dll',0 db 'COMCTL32.dll',0 db 00h db 4Dh; 'M' db 53h; 'S' db 56h; 'V' db 46h; 'F' db 57h; 'W' db 33h; '3' db 32h; '2' db 2Eh; '.' db 64h; 'd' db 6Ch; 'l' db 6Ch; 'l' db 00h; dw 0007h db 'DirectDrawCreate',0 db 00h db 'DDRAW.dll',0 db 'DSOUND.dll',0 db 00h dw 0084h db 'mmioRead',0 db 00h dw 0087h db 'mmioSeek',0 db 00h dw 0089h db 'mmioSetBuffer',0 dw 0082h db 'mmioOpenA',0 dw 007Bh db 'mmioClose',0 dw 0054h db 'midiOutGetVolume',0 db 00h dw 004Eh db 'midiOutGetDevCapsA',0 db 00h dw 005Ah db 'midiOutSetVolume',0 db 00h dw 0033h db 'mciSendCommandA',0 dw 0099h db 'timeKillEvent',0 dw 009Ah db 'timeSetEvent',0 db 00h db 'WINMM.dll',0 dw 022Fh db 'RtlUnwind',0 dw 019Fh db 'HeapFree',0 db 00h dw 0199h db 'HeapAlloc',0 dw 0090h db 'FindClose',0 dw 008Ah db 'FileTimeToSystemTime',0 db 00h dw 0089h db 'FileTimeToLocalFileTime',0 dw 0094h db 'FindFirstFileA',0 db 00h dw 002Dh db 'CreateDirectoryA',0 db 00h dw 0057h db 'DeleteFileA',0 dw 015Dh db 'GetSystemTime',0 dw 011Bh db 'GetLocalTime',0 db 00h dw 022Ch db 'ResumeThread',0 db 00h dw 02A5h db 'TlsSetValue',0 dw 007Eh db 'ExitThread',0 db 00h dw 0126h db 'GetModuleHandleA',0 db 00h dw 0150h db 'GetStartupInfoA',0 dw 00CAh db 'GetCommandLineA',0 dw 0174h db 'GetVersion',0 db 00h dw 00FAh db 'GetCurrentThreadId',0 db 00h dw 02A2h db 'TlsAlloc',0 db 00h dw 0271h db 'SetLastError',0 db 00h dw 02A4h db 'TlsGetValue',0 dw 01A2h db 'HeapReAlloc',0 dw 01A3h db 'HeapSize',0 db 00h dw 01BFh db 'LCMapStringA',0 db 00h dw 01C0h db 'LCMapStringW',0 db 00h dw 026Dh db 'SetHandleCount',0 db 00h dw 0152h db 'GetStdHandle',0 db 00h dw 0115h db 'GetFileType',0 dw 019Dh db 'HeapDestroy',0 dw 019Bh db 'HeapCreate',0 db 00h dw 02BFh db 'VirtualFree',0 dw 02BBh db 'VirtualAlloc',0 db 00h dw 01B8h db 'IsBadWritePtr',0 dw 0116h db 'GetFullPathNameA',0 db 00h dw 00F5h db 'GetCurrentDirectoryA',0 db 00h dw 02ADh db 'UnhandledExceptionFilter',0 db 00h dw 0124h db 'GetModuleFileNameA',0 db 00h dw 00B2h db 'FreeEnvironmentStringsA',0 dw 00B3h db 'FreeEnvironmentStringsW',0 dw 0106h db 'GetEnvironmentStrings',0 dw 0108h db 'GetEnvironmentStringsW',0 db 00h dw 028Bh db 'SetUnhandledExceptionFilter',0 dw 01B5h db 'IsBadReadPtr',0 db 00h dw 01B2h db 'IsBadCodePtr',0 db 00h dw 00BFh db 'GetCPInfo',0 dw 0153h db 'GetStringTypeA',0 db 00h dw 0156h db 'GetStringTypeW',0 db 00h dw 027Ch db 'SetStdHandle',0 db 00h dw 0131h db 'GetOEMCP',0 db 00h dw 00AAh db 'FlushFileBuffers',0 db 00h dw 010Dh db 'GetFileAttributesA',0 db 00h dw 010Bh db 'GetExitCodeProcess',0 db 00h dw 02CEh db 'WaitForSingleObject',0 dw 0261h db 'SetEndOfFile',0 db 00h dw 0021h db 'CompareStringA',0 db 00h dw 0022h db 'CompareStringW',0 db 00h dw 0262h db 'SetEnvironmentVariableA',0 ;------------------------------------------------------------------------------ 00000E4Ah DUP (??) ; ; ;------------------------------------------------------------------------------ ; Name: .data ; Virtual Address: 004FB000h Virtual Size: 00822238h ; Pointer To RawData: 000FB000h Size Of RawData: 0001B000h ; L004FB000: db 00h; db 00h; db 00h; db 00h; db 00h; db 10h; db 40h; '@' db 00h; db 30h; '0' db 1Dh; db 40h; '@' db 00h; db 10h; db 92h; ''' db 40h; '@' db 00h; db B0h; 'ø' db 92h; ''' db 40h; '@' db 00h; db 40h; '@' db 99h; 'T' db 40h; '@' db 00h; db 90h; '?' db 99h; 'T' db 40h; '@' db 00h; db 50h; 'P' db B1h; '+' db 40h; '@' db 00h; db B0h; 'ø' db 0Ch; db 44h; 'D' db 00h; db D0h; '' db 0Ch; db 44h; 'D' db 00h; db F0h; 'à' db 0Ch; db 44h; 'D' db 00h; db 10h; db 0Dh; db 44h; 'D' db 00h; db 10h; db 08h; db 45h; 'E' db 00h; db B0h; 'ø' db 08h; db 45h; 'E' db 00h; db 50h; 'P' db 67h; 'g' db 46h; 'F' db 00h; db D0h; '' db 14h; db 47h; 'G' db 00h; db 10h; db 62h; 'b' db 47h; 'G' db 00h; db B0h; 'ø' db B0h; 'ø' db 47h; 'G' db 00h; db C0h; '€' db B0h; 'ø' db 47h; 'G' db 00h; db E0h; ' ' db B0h; 'ø' db 47h; 'G' db 00h; db 20h; ' ' db B1h; '+' db 47h; 'G' db 00h; db D0h; '' db B1h; '+' db 47h; 'G' db 00h; db C0h; '€' db 22h; '"' db 48h; 'H' db 00h; db F0h; 'à' db 22h; '"' db 48h; 'H' db 00h; db B0h; 'ø' db 4Bh; 'K' db 48h; 'H' db 00h; db 30h; '0' db 35h; '5' db 4Bh; 'K' db 00h; db 00h; db D4h; '”' db 4Bh; 'K' db 00h; db 10h; db CDh; '' db 4Ch; 'L' db 00h; L004FB070: db 00h; db 00h; db 00h; db 00h; L004FB074: db 00h; db 00h; db 00h; db 00h; db BFh; 'õ' db 50h; 'P' db 4Dh; 'M' db 00h; db CDh; '' db 8Ch; '?' db 4Dh; 'M' db 00h; db 07h; db EBh; '«' db 4Dh; 'M' db 00h; db C2h; '‚' db D4h; '”' db 4Dh; 'M' db 00h; L004FB088: db 00h; db 00h; db 00h; db 00h; L004FB08C: db 00h; db 00h; db 00h; db 00h; db 75h; 'u' db 8Dh; '?' db 4Dh; 'M' db 00h; L004FB094: db 00h; db 00h; db 00h; db 00h; L004FB098: db 00h; db 00h; db 00h; db 00h; db D3h; '“' db D4h; '”' db 4Dh; 'M' db 00h; L004FB0A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 06h; 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 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 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 12h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 0Eh; db 00h; db 00h; db 00h; db 0Ch; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 0Ah; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 06h; 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 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; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 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 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; 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 11h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; L004FB230: dd 00000000h db 01h; db 00h; db 00h; db 00h; db 02h; db 00h; db 00h; db 00h; db 04h; 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 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 1Ah; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; 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; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 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 02h; 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 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 1Ch; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; L004FB330: 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 01h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; 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 03h; db 00h; db 00h; db 00h; db 04h; 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; db 08h; 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 0Fh; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; L004FB3B0: 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 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; db 06h; db 00h; db 00h; db 00h; db 08h; 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 12h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 16h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; L004FB430: 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 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; 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 08h; db 00h; db 00h; db 00h; L004FB4B0: 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 13h; 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 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 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 06h; 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 13h; 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 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 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 06h; 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 13h; 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 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 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 06h; 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 13h; 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 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 13h; 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 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 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 06h; 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 13h; 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 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 01h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 14h; db 00h; db 00h; db 00h; db 06h; 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 13h; 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 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 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 06h; 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 13h; 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 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 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 06h; db 00h; db 00h; db 00h; L004FB7D0: 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; L004FBAA8: 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; L004FBAF0: dd 00000D45h L004FBAF4: 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; L004FBB3C: dd 0000781Fh L004FBB40: 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; L004FBB60: 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; L004FBB80: dd 00000263h L004FBB84: db 8Bh; '<' db 02h; db 00h; db 00h; L004FBB88: 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; L004FBBD8: dd 00000240h L004FBBDC: db E1h; '¡' db 03h; db 00h; db 00h; L004FBBE0: 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; L004FBC08: 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; SSZ004FBC24_DrawManager__startup__begin__: db 'DrawManager::startup: begin.',0Ah,0 Align 4 SSZ004FBC44_CDrawItem__RemoveFromDrawList___: db 'CDrawItem::RemoveFromDrawList(): code would have asserted because ',27h,'DrawMapThingie::table[locY][locX] == this',27h,' evaluates to 0. the GMs are getting this assertion failure a lot, but hugh cannot, even after spending many hours following them around in the game :-(',0Ah,0 Align 4 SSZ004FBD4C_CCorpse__RemoveFromDrawList__cod: db 'CCorpse::RemoveFromDrawList: code would have asserted because ',27h,'DrawMapThingie::table[locY][locX] == this',27h,' evaluates to 0. the GMs are getting this assertion failure a lot, but hugh cannot, even after spending many hours following them around in the game :-(',0Ah,0 Align 4 SSZ004FBE50_CCorpse__RemoveFromDrawList__big: db 'CCorpse::RemoveFromDrawList: bigMobComponents == reinterpret_cast(0xdddddddd). code would have crashed. continuing...',0Ah,0 Align 4 SSZ004FBEDC_CMobile__RemoveFromDrawList____c: db 'CMobile::RemoveFromDrawList(): code would have asserted because ',27h,'DrawMapThingie::table[locY][locX] == this',27h,' evaluates to 0',0Ah,0 SSZ004FBF58_background_for_missile_anim: db 'background for missile anim',0 db 00h; db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 10h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ch; db 1Ah; db 00h; db 1Ch; db 1Ah; db 18h; db 00h; db 1Dh; db 18h; db 14h; db 00h; db 1Dh; db 16h; db 14h; db 00h; db 1Dh; db 15h; db 14h; db 00h; db 1Bh; db 14h; db 12h; db 00h; db 19h; db 13h; db 10h; db 00h; db 17h; db 12h; db 0Eh; db 00h; db 14h; db 10h; db 0Ch; db 00h; db 14h; db 10h; db 0Ch; db 00h; db 14h; db 10h; db 0Ch; db 00h; db 14h; db 10h; db 0Ch; db 00h; db 14h; db 10h; db 0Ch; db 00h; db 0Ah; db 0Ah; db 0Eh; db 00h; db 08h; db 08h; db 0Ch; db 00h; db 08h; db 08h; db 0Ch; db 00h; db 08h; db 08h; db 0Ch; db 00h; db 08h; db 08h; db 0Bh; db 00h; db 08h; db 08h; db 0Bh; db 00h; db 08h; db 08h; db 0Ah; db 00h; db 08h; db 08h; db 0Ah; db 00h; db 08h; db 08h; db 09h; db 00h; db 08h; db 08h; db 08h; db 00h; db 07h; db 07h; db 07h; db 00h; db 06h; db 06h; db 06h; db 00h; L004FC008: dd 00000064h L004FC00C: dd FFFFFFE2h L004FC010: 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; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 11h; db 00h; db 00h; db 00h; db 0Fh; db 00h; db 00h; db 00h; db 0Dh; db 00h; db 00h; db 00h; db 0Bh; db 00h; db 00h; db 00h; db 09h; db 00h; db 00h; db 00h; db 08h; db 00h; db 00h; db 00h; db 07h; db 00h; db 00h; db 00h; db 06h; 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 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; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 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 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; 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 11h; db 00h; db 00h; db 00h; db 13h; db 00h; db 00h; db 00h; db 15h; db 00h; db 00h; db 00h; db 17h; db 00h; db 00h; db 00h; db 18h; db 00h; db 00h; db 00h; db 19h; db 00h; db 00h; db 00h; db 1Ah; db 00h; db 00h; db 00h; db 1Bh; db 00h; db 00h; db 00h; db 1Ch; db 00h; db 00h; db 00h; db 1Dh; db 00h; db 00h; db 00h; db 1Eh; db 00h; db 00h; db 00h; db 1Fh; db 00h; db 00h; db 00h; L004FC148: dd 0000001Fh 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; L004FC168: 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; SSZ004FC18C_light_mul: db 'light.mul',0 Align 4 SSZ004FC198_lightidx_mul: db 'lightidx.mul',0 Align 4 SSZ004FC1A8_thelightthingie__startup_: db 'thelightthingie::startup:',0 Align 4 SSZ004FC1C4_thelightthingie__shutdown_: db 'thelightthingie::shutdown:',0 Align 4 SSZ004FC1E0_DirtyRect_Internal__r____0_: db 'DirtyRect_Internal: r == 0',0Ah,0 SSZ004FC1FC_DirtyRect__r____0_: db 'DirtyRect: r == 0',0Ah,0 Align 4 L004FC210: dd 00000001h db 18h; db C2h; '‚' db 4Fh; 'O' db 00h; db 42h; 'B' db 6Ch; 'l' db 6Fh; 'o' db 77h; 'w' db 46h; 'F' db 69h; 'i' db 73h; 's' db 68h; 'h' db 20h; ' ' db 70h; 'p' db 61h; 'a' db 72h; 'r' db 74h; 't' db 20h; ' ' db 6Fh; 'o' db 66h; 'f' db 20h; ' ' db 53h; 'S' db 53h; 'S' db 4Ch; 'L' db 65h; 'e' db 61h; 'a' db 79h; 'y' db 20h; ' ' db 30h; '0' db 2Eh; '.' db 37h; '7' db 2Eh; '.' db 30h; '0' db 20h; ' ' db 33h; '3' db 30h; '0' db 2Dh; '-' db 4Ah; 'J' db 61h; 'a' db 6Eh; 'n' db 2Dh; '-' 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; L004FC248: db 88h; '?' db 6Ah; 'j' db 3Fh; '?' db 24h; '$' db D3h; '“' db 08h; db A3h; '?' db 85h; ':' db 2Eh; '.' db 8Ah; '?' db 19h; db 13h; db 44h; 'D' db 73h; 's' db 70h; 'p' db 03h; db 22h; '"' db 38h; '8' db 09h; db A4h; 'ý' db D0h; '' db 31h; '1' db 9Fh; '?' db 29h; ')' db 98h; '?' db FAh; 'ê' db 2Eh; '.' db 08h; db 89h; '%' db 6Ch; 'l' db 4Eh; 'N' db ECh; '¬' db E6h; '¦' db 21h; '!' db 28h; '(' db 45h; 'E' db 77h; 'w' db 13h; db D0h; '' db 38h; '8' db CFh; '' db 66h; 'f' db 54h; 'T' db BEh; '?' db 6Ch; 'l' db 0Ch; db E9h; '©' db 34h; '4' db B7h; 'ú' db 29h; ')' db ACh; '¿' db C0h; '€' db DDh; '' db 50h; 'P' db 7Ch; '|' db C9h; '‰' db B5h; 'ç' db D5h; '•' db 84h; '"' db 3Fh; '?' db 17h; db 09h; db 47h; 'G' db B5h; 'ç' db D9h; '™' db D5h; '•' db 16h; db 92h; ''' db 1Bh; db FBh; 'ë' db 79h; 'y' db 89h; '%' db A6h; '³' db 0Bh; db 31h; '1' db D1h; '‘' db ACh; '¿' db B5h; 'ç' db DFh; 'Ÿ' db 98h; '?' db DBh; '›' db 72h; 'r' db FDh; 'í' db 2Fh; '/' db B7h; 'ú' db DFh; 'Ÿ' db 1Ah; db D0h; '' db EDh; '­' db AFh; 'ô' db E1h; '¡' db B8h; 'ñ' db 96h; '-' db 7Eh; '~' db 26h; '&' db 6Ah; 'j' db 45h; 'E' db 90h; '?' db 7Ch; '|' db BAh; 'ó' db 99h; 'T' db 7Fh; '' db 2Ch; ',' db F1h; 'á' db 47h; 'G' db 99h; 'T' db A1h; 'ö' db 24h; '$' db F7h; 'ç' db 6Ch; 'l' db 91h; ''' db B3h; 'i' db E2h; '¢' db F2h; 'â' db 01h; db 08h; db 16h; db FCh; 'ì' db 8Eh; '?' db 85h; ':' db D8h; '˜' db 20h; ' ' db 69h; 'i' db 63h; 'c' db 69h; 'i' db 4Eh; 'N' db 57h; 'W' db 71h; 'q' db A3h; '?' db FEh; 'î' db 58h; 'X' db A4h; 'ý' db 7Eh; '~' db 3Dh; '=' db 93h; '"' db F4h; 'ä' db 8Fh; '?' db 74h; 't' db 95h; db 0Dh; db 58h; 'X' db B6h; db 8Eh; '?' db 72h; 'r' db 58h; 'X' db CDh; '' db 8Bh; '<' db 71h; 'q' db EEh; '®' db 4Ah; 'J' db 15h; db 82h; ''' db 1Dh; db A4h; 'ý' db 54h; 'T' db 7Bh; '{' db B5h; 'ç' db 59h; 'Y' db 5Ah; 'Z' db C2h; '‚' db 39h; '9' db D5h; '•' db 30h; '0' db 9Ch; '?' db 13h; db 60h; '`' db F2h; 'â' db 2Ah; '*' db 23h; '#' db B0h; 'ø' db D1h; '‘' db C5h; '…' db F0h; 'à' db 85h; ':' db 60h; '`' db 28h; '(' db 18h; db 79h; 'y' db 41h; 'A' db CAh; 'Š' db EFh; '¯' db 38h; '8' db DBh; '›' db B8h; 'ñ' db B0h; 'ø' db DCh; 'œ' db 79h; 'y' db 8Eh; '?' db 0Eh; db 18h; db 3Ah; ':' db 60h; '`' db 8Bh; '<' db 0Eh; db 9Eh; '?' db 6Ch; 'l' db 3Eh; '>' db 8Ah; '?' db 1Eh; db B0h; 'ø' db C1h; '' db 77h; 'w' db 15h; db D7h; '—' db 27h; ''' db 4Bh; 'K' db 31h; '1' db BDh; '?' db DAh; 'š' db 2Fh; '/' db AFh; 'ô' db 78h; 'x' db 60h; '`' db 5Ch; '\' db 60h; '`' db 55h; 'U' db F3h; 'ã' db 25h; '%' db 55h; 'U' db E6h; '¦' db 94h; '"' db ABh; '<' db 55h; 'U' db AAh; 'ò' db 62h; 'b' db 98h; '?' db 48h; 'H' db 57h; 'W' db 40h; '@' db 14h; db E8h; '¨' db 63h; 'c' db 6Ah; 'j' db 39h; '9' db CAh; 'Š' db 55h; 'U' db B6h; db 10h; db ABh; '<' db 2Ah; '*' db 34h; '4' db 5Ch; '\' db CCh; 'Œ' db B4h; '?' db CEh; 'Ž' db E8h; '¨' db 41h; 'A' db 11h; db AFh; 'ô' db 86h; 'Å' db 54h; 'T' db A1h; 'ö' db 93h; '"' db E9h; '©' db 72h; 'r' db 7Ch; '|' db 11h; db 14h; db EEh; '®' db B3h; 'i' db 2Ah; '*' db BCh; '?' db 6Fh; 'o' db 63h; 'c' db 5Dh; ']' db C5h; '…' db A9h; 'c' db 2Bh; '+' db F6h; 'æ' db 31h; '1' db 18h; db 74h; 't' db 16h; db 3Eh; '>' db 5Ch; '\' db CEh; 'Ž' db 1Eh; db 93h; '"' db 87h; 'Ø' db 9Bh; '>' db 33h; '3' db BAh; 'ó' db D6h; '–' db AFh; 'ô' db 5Ch; '\' db CFh; '' db 24h; '$' db 6Ch; 'l' db 81h; '?' db 53h; 'S' db 32h; '2' db 7Ah; 'z' db 77h; 'w' db 86h; 'Å' db 95h; db 28h; '(' db 98h; '?' db 48h; 'H' db 8Fh; '?' db 3Bh; ';' db AFh; 'ô' db B9h; 'ü' db 4Bh; 'K' db 6Bh; 'k' db 1Bh; db E8h; '¨' db BFh; 'õ' db C4h; '„' db 93h; '"' db 21h; '!' db 28h; '(' db 66h; 'f' db CCh; 'Œ' db 09h; db D8h; '˜' db 61h; 'a' db 91h; ''' db A9h; 'c' db 21h; '!' db FBh; 'ë' db 60h; '`' db ACh; '¿' db 7Ch; '|' db 48h; 'H' db 32h; '2' db 80h; '?' db ECh; '¬' db 5Dh; ']' db 5Dh; ']' db 5Dh; ']' db 84h; '"' db EFh; '¯' db B1h; '+' db 75h; 'u' db 85h; ':' db E9h; '©' db 02h; db 23h; '#' db 26h; '&' db DCh; 'œ' db 88h; '?' db 1Bh; db 65h; 'e' db EBh; '«' db 81h; '?' db 3Eh; '>' db 89h; '%' db 23h; '#' db C5h; '…' db ACh; '¿' db 96h; '-' db D3h; '“' db F3h; 'ã' db 6Fh; 'o' db 6Dh; 'm' db 0Fh; db 39h; '9' db 42h; 'B' db F4h; 'ä' db 83h; '?' db 82h; ''' db 44h; 'D' db 0Bh; db 2Eh; '.' db 04h; db 20h; ' ' db 84h; '"' db A4h; 'ý' db 4Ah; 'J' db F0h; 'à' db C8h; 'ˆ' db 69h; 'i' db 5Eh; '^' db 9Bh; '>' db 1Fh; db 9Eh; '?' db 42h; 'B' db 68h; 'h' db C6h; '†' db 21h; '!' db 9Ah; '?' db 6Ch; 'l' db E9h; '©' db F6h; 'æ' db 61h; 'a' db 9Ch; '?' db 0Ch; db 67h; 'g' db F0h; 'à' db 88h; '?' db D3h; '“' db ABh; '<' db D2h; '’' db A0h; 'ÿ' db 51h; 'Q' db 6Ah; 'j' db 68h; 'h' db 2Fh; '/' db 54h; 'T' db D8h; '˜' db 28h; '(' db A7h; db 0Fh; db 96h; '-' db A3h; '?' db 33h; '3' db 51h; 'Q' db ABh; '<' db 6Ch; 'l' db 0Bh; db EFh; '¯' db 6Eh; 'n' db E4h; '¤' db 3Bh; ';' db 7Ah; 'z' db 13h; db 50h; 'P' db F0h; 'à' db 3Bh; ';' db BAh; 'ó' db 98h; '?' db 2Ah; '*' db FBh; 'ë' db 7Eh; '~' db 1Dh; db 65h; 'e' db F1h; 'á' db A1h; 'ö' db 76h; 'v' db 01h; db AFh; 'ô' db 39h; '9' db 3Eh; '>' db 59h; 'Y' db CAh; 'Š' db 66h; 'f' db 88h; '?' db 0Eh; db 43h; 'C' db 82h; ''' db 19h; db 86h; 'Å' db EEh; '®' db 8Ch; '?' db B4h; '?' db 9Fh; '?' db 6Fh; 'o' db 45h; 'E' db C3h; 'ƒ' db A5h; '?' db 84h; '"' db 7Dh; '}' db BEh; '?' db 5Eh; '^' db 8Bh; '<' db 3Bh; ';' db D8h; '˜' db 75h; 'u' db 6Fh; 'o' db E0h; ' ' db 73h; 's' db 20h; ' ' db C1h; '' db 85h; ':' db 9Fh; '?' db 44h; 'D' db 1Ah; db 40h; '@' db A6h; '³' db 6Ah; 'j' db C1h; '' db 56h; 'V' db 62h; 'b' db AAh; 'ò' db D3h; '“' db 4Eh; 'N' db 06h; db 77h; 'w' db 3Fh; '?' db 36h; '6' db 72h; 'r' db DFh; 'Ÿ' db FEh; 'î' db 1Bh; db 3Dh; '=' db 02h; db 9Bh; '>' db 42h; 'B' db 24h; '$' db D7h; '—' db D0h; '' db 37h; '7' db 48h; 'H' db 12h; db 0Ah; db D0h; '' db D3h; '“' db EAh; 'ª' db 0Fh; db DBh; '›' db 9Bh; '>' db C0h; '€' db F1h; 'á' db 49h; 'I' db C9h; '‰' db 72h; 'r' db 53h; 'S' db 07h; db 7Bh; '{' db 1Bh; db 99h; 'T' db 80h; '?' db D8h; '˜' db 79h; 'y' db D4h; '”' db 25h; '%' db F7h; 'ç' db DEh; 'ž' db E8h; '¨' db F6h; 'æ' db 1Ah; db 50h; 'P' db FEh; 'î' db E3h; '£' db 3Bh; ';' db 4Ch; 'L' db 79h; 'y' db B6h; db BDh; '?' db E0h; ' ' db 6Ch; 'l' db 97h; '-' db BAh; 'ó' db 06h; db C0h; '€' db 04h; db B6h; db 4Fh; 'O' db A9h; 'c' db C1h; '' db C4h; '„' db 60h; '`' db 9Fh; '?' db 40h; '@' db C2h; '‚' db 9Eh; '?' db 5Ch; '\' db 5Eh; '^' db 63h; 'c' db 24h; '$' db 6Ah; 'j' db 19h; db AFh; 'ô' db 6Fh; 'o' db FBh; 'ë' db 68h; 'h' db B5h; 'ç' db 53h; 'S' db 6Ch; 'l' db 3Eh; '>' db EBh; '«' db B2h; 'I' db 39h; '9' db 13h; db 6Fh; 'o' db ECh; '¬' db 52h; 'R' db 3Bh; ';' db 1Fh; db 51h; 'Q' db FCh; 'ì' db 6Dh; 'm' db 2Ch; ',' db 95h; db 30h; '0' db 9Bh; '>' db 44h; 'D' db 45h; 'E' db 81h; '?' db CCh; 'Œ' db 09h; db BDh; '?' db 5Eh; '^' db AFh; 'ô' db 04h; db D0h; '' db E3h; '£' db BEh; '?' db FDh; 'í' db 4Ah; 'J' db 33h; '3' db DEh; 'ž' db 07h; db 28h; '(' db 0Fh; db 66h; 'f' db B3h; 'i' db 4Bh; 'K' db 2Eh; '.' db 19h; db 57h; 'W' db A8h; 'ð' db CBh; '‹' db C0h; '€' db 0Fh; db 74h; 't' db C8h; 'ˆ' db 45h; 'E' db 39h; '9' db 5Fh; '_' db 0Bh; db D2h; '’' db DBh; '›' db FBh; 'ë' db D3h; '“' db B9h; 'ü' db BDh; '?' db C0h; '€' db 79h; 'y' db 55h; 'U' db 0Ah; db 32h; '2' db 60h; '`' db 1Ah; db C6h; '†' db 00h; db A1h; 'ö' db D6h; '–' db 79h; 'y' db 72h; 'r' db 2Ch; ',' db 40h; '@' db FEh; 'î' db 25h; '%' db 9Fh; '?' db 67h; 'g' db CCh; 'Œ' db A3h; '?' db 1Fh; db FBh; 'ë' db F8h; 'è' db E9h; '©' db A5h; '?' db 8Eh; '?' db F8h; 'è' db 22h; '"' db 32h; '2' db DBh; '›' db DFh; 'Ÿ' db 16h; db 75h; 'u' db 3Ch; '<' db 15h; db 6Bh; 'k' db 61h; 'a' db FDh; 'í' db C8h; 'ˆ' db 1Eh; db 50h; 'P' db 2Fh; '/' db ABh; '<' db 52h; 'R' db 05h; db ADh; '-' db FAh; 'ê' db B5h; 'ç' db 3Dh; '=' db 32h; '2' db 60h; '`' db 87h; 'Ø' db 23h; '#' db FDh; 'í' db 48h; 'H' db 7Bh; '{' db 31h; '1' db 53h; 'S' db 82h; ''' db DFh; 'Ÿ' db 00h; db 3Eh; '>' db BBh; '>' db 57h; 'W' db 5Ch; '\' db 9Eh; '?' db A0h; 'ÿ' db 8Ch; '?' db 6Fh; 'o' db CAh; 'Š' db 2Eh; '.' db 56h; 'V' db 87h; 'Ø' db 1Ah; db DBh; '›' db 69h; 'i' db 17h; db DFh; 'Ÿ' db F6h; 'æ' db A8h; 'ð' db 42h; 'B' db D5h; '•' db C3h; 'ƒ' db FFh; 'ï' db 7Eh; '~' db 28h; '(' db C6h; '†' db 32h; '2' db 67h; 'g' db ACh; '¿' db 73h; 's' db 55h; 'U' db 4Fh; 'O' db 8Ch; '?' db B0h; 'ø' db 27h; ''' db 5Bh; '[' db 69h; 'i' db C8h; 'ˆ' db 58h; 'X' db CAh; 'Š' db BBh; '>' db 5Dh; ']' db A3h; '?' db FFh; 'ï' db E1h; '¡' db A0h; 'ÿ' db 11h; db F0h; 'à' db B8h; 'ñ' db 98h; '?' db 3Dh; '=' db FAh; 'ê' db 10h; db B8h; 'ñ' db 83h; '?' db 21h; '!' db FDh; 'í' db 6Ch; 'l' db B5h; 'ç' db FCh; 'ì' db 4Ah; 'J' db 5Bh; '[' db D3h; '“' db D1h; '‘' db 2Dh; '-' db 79h; 'y' db E4h; '¤' db 53h; 'S' db 9Ah; '?' db 65h; 'e' db 45h; 'E' db F8h; 'è' db B6h; db BCh; '?' db 49h; 'I' db 8Eh; '?' db D2h; '’' db 90h; '?' db 97h; '-' db FBh; 'ë' db 4Bh; 'K' db DAh; 'š' db F2h; 'â' db DDh; '' db E1h; '¡' db 33h; '3' db 7Eh; '~' db CBh; '‹' db A4h; 'ý' db 41h; 'A' db 13h; db FBh; 'ë' db 62h; 'b' db E8h; '¨' db C6h; '†' db E4h; '¤' db CEh; 'Ž' db DAh; 'š' db CAh; 'Š' db 20h; ' ' db EFh; '¯' db 01h; db 4Ch; 'L' db 77h; 'w' db 36h; '6' db FEh; 'î' db 9Eh; '?' db 7Eh; '~' db D0h; '' db B4h; '?' db 1Fh; db F1h; 'á' db 2Bh; '+' db 4Dh; 'M' db DAh; 'š' db DBh; '›' db 95h; db 98h; '?' db 91h; ''' db 90h; '?' db AEh; 'R' db 71h; 'q' db 8Eh; '?' db ADh; '-' db EAh; 'ª' db A0h; 'ÿ' db D5h; '•' db 93h; '"' db 6Bh; 'k' db D0h; '' db D1h; '‘' db 8Eh; '?' db D0h; '' db E0h; ' ' db 25h; '%' db C7h; '‡' db AFh; 'ô' db 2Fh; '/' db 5Bh; '[' db 3Ch; '<' db 8Eh; '?' db B7h; 'ú' db 94h; '"' db 75h; 'u' db 8Eh; '?' db FBh; 'ë' db E2h; '¢' db F6h; 'æ' db 8Fh; '?' db 64h; 'd' db 2Bh; '+' db 12h; db F2h; 'â' db 12h; db B8h; 'ñ' db 88h; '?' db 88h; '?' db 1Ch; db F0h; 'à' db 0Dh; db 90h; '?' db A0h; 'ÿ' db 5Eh; '^' db ADh; '-' db 4Fh; 'O' db 1Ch; db C3h; 'ƒ' db 8Fh; '?' db 68h; 'h' db 91h; ''' db F1h; 'á' db CFh; '' db D1h; '‘' db ADh; '-' db C1h; '' db A8h; 'ð' db B3h; 'i' db 18h; db 22h; '"' db 2Fh; '/' db 2Fh; '/' db 77h; 'w' db 17h; db 0Eh; db BEh; '?' db FEh; 'î' db 2Dh; '-' db 75h; 'u' db EAh; 'ª' db A1h; 'ö' db 1Fh; db 02h; db 8Bh; '<' db 0Fh; db CCh; 'Œ' db A0h; 'ÿ' db E5h; '¥' db E8h; '¨' db 74h; 't' db 6Fh; 'o' db B5h; 'ç' db D6h; '–' db F3h; 'ã' db ACh; '¿' db 18h; db 99h; 'T' db E2h; '¢' db 89h; '%' db CEh; 'Ž' db E0h; ' ' db 4Fh; 'O' db A8h; 'ð' db B4h; '?' db B7h; 'ú' db E0h; ' ' db 13h; db FDh; 'í' db 81h; '?' db 3Bh; ';' db C4h; '„' db 7Ch; '|' db D9h; '™' db A8h; 'ð' db ADh; '-' db D2h; '’' db 66h; 'f' db A2h; '÷' db 5Fh; '_' db 16h; db 05h; db 77h; 'w' db 95h; db 80h; '?' db 14h; db 73h; 's' db CCh; 'Œ' db 93h; '"' db 77h; 'w' db 14h; db 1Ah; db 21h; '!' db 65h; 'e' db 20h; ' ' db ADh; '-' db E6h; '¦' db 86h; 'Å' db FAh; 'ê' db B5h; 'ç' db 77h; 'w' db F5h; 'å' db 42h; 'B' db 54h; 'T' db C7h; '‡' db CFh; '' db 35h; '5' db 9Dh; '?' db FBh; 'ë' db 0Ch; db AFh; 'ô' db CDh; '' db EBh; '«' db A0h; 'ÿ' db 89h; '%' db 3Eh; '>' db 7Bh; '{' db D3h; '“' db 1Bh; db 41h; 'A' db D6h; '–' db 49h; 'I' db 7Eh; '~' db 1Eh; db AEh; 'R' db 2Dh; '-' db 0Eh; db 25h; '%' db 00h; db 5Eh; '^' db B3h; 'i' db 71h; 'q' db 20h; ' ' db BBh; '>' db 00h; db 68h; 'h' db 22h; '"' db AFh; 'ô' db E0h; ' ' db B8h; 'ñ' db 57h; 'W' db 9Bh; '>' db 36h; '6' db 64h; 'd' db 24h; '$' db 1Eh; db B9h; 'ü' db 09h; db F0h; 'à' db 1Dh; db 91h; ''' db 63h; 'c' db 55h; 'U' db AAh; 'ò' db A6h; '³' db DFh; 'Ÿ' db 59h; 'Y' db 89h; '%' db 43h; 'C' db C1h; '' db 78h; 'x' db 7Fh; '' db 53h; 'S' db 5Ah; 'Z' db D9h; '™' db A2h; '÷' db 5Bh; '[' db 7Dh; '}' db 20h; ' ' db C5h; '…' db B9h; 'ü' db E5h; '¥' db 02h; db 76h; 'v' db 03h; db 26h; '&' db 83h; '?' db A9h; 'c' db CFh; '' db 95h; db 62h; 'b' db 68h; 'h' db 19h; db C8h; 'ˆ' db 11h; db 41h; 'A' db 4Ah; 'J' db 73h; 's' db 4Eh; 'N' db CAh; 'Š' db 2Dh; '-' db 47h; 'G' db B3h; 'i' db 4Ah; 'J' db A9h; 'c' db 14h; db 7Bh; '{' db 52h; 'R' db 00h; db 51h; 'Q' db 1Bh; db 15h; db 29h; ')' db 53h; 'S' db 9Ah; '?' db 3Fh; '?' db 57h; 'W' db 0Fh; db D6h; '–' db E4h; '¤' db C6h; '†' db 9Bh; '>' db BCh; '?' db 76h; 'v' db A4h; 'ý' db 60h; '`' db 2Bh; '+' db 00h; db 74h; 't' db E6h; '¦' db 81h; '?' db B5h; 'ç' db 6Fh; 'o' db BAh; 'ó' db 08h; db 1Fh; db E9h; '©' db 1Bh; db 57h; 'W' db 6Bh; 'k' db ECh; '¬' db 96h; '-' db F2h; 'â' db 15h; db D9h; '™' db 0Dh; db 2Ah; '*' db 21h; '!' db 65h; 'e' db 63h; 'c' db B6h; db B6h; db F9h; 'é' db B9h; 'ü' db E7h; '§' db 2Eh; '.' db 05h; db 34h; '4' db FFh; 'ï' db 64h; 'd' db 56h; 'V' db 85h; ':' db C5h; '…' db 5Dh; ']' db 2Dh; '-' db B0h; 'ø' db 53h; 'S' db A1h; 'ö' db 8Fh; '?' db 9Fh; '?' db A9h; 'c' db 99h; 'T' db 47h; 'G' db BAh; 'ó' db 08h; db 6Ah; 'j' db 07h; db 85h; ':' db 6Eh; 'n' db E9h; '©' db 70h; 'p' db 7Ah; 'z' db 4Bh; 'K' db 44h; 'D' db 29h; ')' db B3h; 'i' db B5h; 'ç' db 2Eh; '.' db 09h; db 75h; 'u' db DBh; '›' db 23h; '#' db 26h; '&' db 19h; db C4h; '„' db B0h; 'ø' db A6h; '³' db 6Eh; 'n' db ADh; '-' db 7Dh; '}' db DFh; 'Ÿ' db A7h; db 49h; 'I' db B8h; 'ñ' db 60h; '`' db EEh; '®' db 9Ch; '?' db 66h; 'f' db B2h; 'I' db EDh; '­' db 8Fh; '?' db 71h; 'q' db 8Ch; '?' db AAh; 'ò' db ECh; '¬' db FFh; 'ï' db 17h; db 9Ah; '?' db 69h; 'i' db 6Ch; 'l' db 52h; 'R' db 64h; 'd' db 56h; 'V' db E1h; '¡' db 9Eh; '?' db B1h; '+' db C2h; '‚' db A5h; '?' db 02h; db 36h; '6' db 19h; db 29h; ')' db 4Ch; 'L' db 09h; db 75h; 'u' db 40h; '@' db 13h; db 59h; 'Y' db A0h; 'ÿ' db 3Eh; '>' db 3Ah; ':' db 18h; db E4h; '¤' db 9Ah; '?' db 98h; '?' db 54h; 'T' db 3Fh; '?' db 65h; 'e' db 9Dh; '?' db 42h; 'B' db 5Bh; '[' db D6h; '–' db E4h; '¤' db 8Fh; '?' db 6Bh; 'k' db D6h; '–' db 3Fh; '?' db F7h; 'ç' db 99h; 'T' db 07h; db 9Ch; '?' db D2h; '’' db A1h; 'ö' db F5h; 'å' db 30h; '0' db E8h; '¨' db EFh; '¯' db E6h; '¦' db 38h; '8' db 2Dh; '-' db 4Dh; 'M' db C1h; '' db 5Dh; ']' db 25h; '%' db F0h; 'à' db 86h; 'Å' db 20h; ' ' db DDh; '' db 4Ch; 'L' db 26h; '&' db EBh; '«' db 70h; 'p' db 84h; '"' db C6h; '†' db E9h; '©' db 82h; ''' db 63h; 'c' db 5Eh; '^' db CCh; 'Œ' db 1Eh; db 02h; db 3Fh; '?' db 6Bh; 'k' db 68h; 'h' db 09h; db C9h; '‰' db EFh; '¯' db BAh; 'ó' db 3Eh; '>' db 14h; db 18h; db 97h; '-' db 3Ch; '<' db A1h; 'ö' db 70h; 'p' db 6Ah; 'j' db 6Bh; 'k' db 84h; '"' db 35h; '5' db 7Fh; '' db 68h; 'h' db 86h; 'Å' db E2h; '¢' db A0h; 'ÿ' db 52h; 'R' db 05h; db 53h; 'S' db 9Ch; '?' db B7h; 'ú' db 37h; '7' db 07h; db 50h; 'P' db AAh; 'ò' db 1Ch; db 84h; '"' db 07h; db 3Eh; '>' db 5Ch; '\' db AEh; 'R' db DEh; 'ž' db 7Fh; '' db ECh; '¬' db 44h; 'D' db 7Dh; '}' db 8Eh; '?' db B8h; 'ñ' db F2h; 'â' db 16h; db 57h; 'W' db 37h; '7' db DAh; 'š' db 3Ah; ':' db B0h; 'ø' db 0Dh; db 0Ch; db 50h; 'P' db F0h; 'à' db 04h; db 1Fh; db 1Ch; db F0h; 'à' db FFh; 'ï' db B3h; 'i' db 00h; db 02h; db 1Ah; db F5h; 'å' db 0Ch; db AEh; 'R' db B2h; 'I' db 74h; 't' db B5h; 'ç' db 3Ch; '<' db 58h; 'X' db 7Ah; 'z' db 83h; '?' db 25h; '%' db BDh; '?' db 21h; '!' db 09h; db DCh; 'œ' db F9h; 'é' db 13h; db 91h; ''' db D1h; '‘' db F6h; 'æ' db 2Fh; '/' db A9h; 'c' db 7Ch; '|' db 73h; 's' db 47h; 'G' db 32h; '2' db 94h; '"' db 01h; db 47h; 'G' db F5h; 'å' db 22h; '"' db 81h; '?' db E5h; '¥' db E5h; '¥' db 3Ah; ':' db DCh; 'œ' db DAh; 'š' db C2h; '‚' db 37h; '7' db 34h; '4' db 76h; 'v' db B5h; 'ç' db C8h; 'ˆ' db A7h; db DDh; '' db F3h; 'ã' db 9Ah; '?' db 46h; 'F' db 61h; 'a' db 44h; 'D' db A9h; 'c' db 0Eh; db 03h; db D0h; '' db 0Fh; db 3Eh; '>' db C7h; '‡' db C8h; 'ˆ' db ECh; '¬' db 41h; 'A' db 1Eh; db 75h; 'u' db A4h; 'ý' db 99h; 'T' db CDh; '' db 38h; '8' db E2h; '¢' db 2Fh; '/' db 0Eh; db EAh; 'ª' db 3Bh; ';' db A1h; 'ö' db BBh; '>' db 80h; '?' db 32h; '2' db 31h; '1' db B3h; 'i' db 3Eh; '>' db 18h; db 38h; '8' db 8Bh; '<' db 54h; 'T' db 4Eh; 'N' db 08h; db B9h; 'ü' db 6Dh; 'm' db 4Fh; 'O' db 03h; db 0Dh; db 42h; 'B' db 6Fh; 'o' db BFh; 'õ' db 04h; db 0Ah; db F6h; 'æ' db 90h; '?' db 12h; db B8h; 'ñ' db 2Ch; ',' db 79h; 'y' db 7Ch; '|' db 97h; '-' db 24h; '$' db 72h; 'r' db B0h; 'ø' db 79h; 'y' db 56h; 'V' db AFh; 'ô' db 89h; '%' db AFh; 'ô' db BCh; '?' db 1Fh; db 77h; 'w' db 9Ah; '?' db DEh; 'ž' db 10h; db 08h; db 93h; '"' db D9h; '™' db 12h; db AEh; 'R' db 8Bh; '<' db B3h; 'i' db 2Eh; '.' db 3Fh; '?' db CFh; '' db DCh; 'œ' db 1Fh; db 72h; 'r' db 12h; db 55h; 'U' db 24h; '$' db 71h; 'q' db 6Bh; 'k' db 2Eh; '.' db E6h; '¦' db DDh; '' db 1Ah; db 50h; 'P' db 87h; 'Ø' db CDh; '' db 84h; '"' db 9Fh; '?' db 18h; db 47h; 'G' db 58h; 'X' db 7Ah; 'z' db 17h; db DAh; 'š' db 08h; db 74h; 't' db BCh; '?' db 9Ah; '?' db 9Fh; '?' db BCh; '?' db 8Ch; '?' db 7Dh; '}' db 4Bh; 'K' db E9h; '©' db 3Ah; ':' db ECh; '¬' db 7Ah; 'z' db ECh; '¬' db FAh; 'ê' db 1Dh; db 85h; ':' db DBh; '›' db 66h; 'f' db 43h; 'C' db 09h; db 63h; 'c' db D2h; '’' db C3h; 'ƒ' db 64h; 'd' db C4h; '„' db 47h; 'G' db 18h; db 1Ch; db EFh; '¯' db 08h; db D9h; '™' db 15h; db 32h; '2' db 37h; '7' db 3Bh; ';' db 43h; 'C' db DDh; '' db 16h; db BAh; 'ó' db C2h; '‚' db 24h; '$' db 43h; 'C' db 4Dh; 'M' db A1h; 'ö' db 12h; db 51h; 'Q' db C4h; '„' db 65h; 'e' db 2Ah; '*' db 02h; db 00h; db 94h; '"' db 50h; 'P' db DDh; '' db E4h; '¤' db 3Ah; ':' db 13h; db 9Eh; '?' db F8h; 'è' db DFh; 'Ÿ' db 71h; 'q' db 55h; 'U' db 4Eh; 'N' db 31h; '1' db 10h; db D6h; '–' db 77h; 'w' db ACh; '¿' db 81h; '?' db 9Bh; '>' db 19h; db 11h; db 5Fh; '_' db F1h; 'á' db 56h; 'V' db 35h; '5' db 04h; db 6Bh; 'k' db C7h; '‡' db A3h; '?' db D7h; '—' db 3Bh; ';' db 18h; db 11h; db 3Ch; '<' db 09h; db A5h; '?' db 24h; '$' db 59h; 'Y' db EDh; '­' db E6h; '¦' db 8Fh; '?' db F2h; 'â' db FAh; 'ê' db FBh; 'ë' db F1h; 'á' db 97h; '-' db 2Ch; ',' db BFh; 'õ' db BAh; 'ó' db 9Eh; '?' db 6Eh; 'n' db 3Ch; '<' db 15h; db 1Eh; db 70h; 'p' db 45h; 'E' db E3h; '£' db 86h; 'Å' db B1h; '+' db 6Fh; 'o' db E9h; '©' db EAh; 'ª' db 0Ah; db 5Eh; '^' db 0Eh; db 86h; 'Å' db B3h; 'i' db 2Ah; '*' db 3Eh; '>' db 5Ah; 'Z' db 1Ch; db E7h; '§' db 1Fh; db 77h; 'w' db FAh; 'ê' db 06h; db 3Dh; '=' db 4Eh; 'N' db B9h; 'ü' db DCh; 'œ' db 65h; 'e' db 29h; ')' db 0Fh; db 1Dh; db E7h; '§' db 99h; 'T' db D6h; '–' db 89h; '%' db 3Eh; '>' db 80h; '?' db 25h; '%' db C8h; 'ˆ' db 66h; 'f' db 52h; 'R' db 78h; 'x' db C9h; '‰' db 4Ch; 'L' db 2Eh; '.' db 6Ah; 'j' db B3h; 'i' db 10h; db 9Ch; '?' db BAh; 'ó' db 0Eh; db 15h; db C6h; '†' db 78h; 'x' db EAh; 'ª' db E2h; '¢' db 94h; '"' db 53h; 'S' db 3Ch; '<' db FCh; 'ì' db A5h; '?' db F4h; 'ä' db 2Dh; '-' db 0Ah; db 1Eh; db A7h; db 4Eh; 'N' db F7h; 'ç' db F2h; 'â' db 3Dh; '=' db 2Bh; '+' db 1Dh; db 36h; '6' db 0Fh; db 26h; '&' db 39h; '9' db 19h; db 60h; '`' db 79h; 'y' db C2h; '‚' db 19h; db 08h; db A7h; db 23h; '#' db 52h; 'R' db B6h; db 12h; db 13h; db F7h; 'ç' db 6Eh; 'n' db FEh; 'î' db ADh; '-' db EBh; '«' db 66h; 'f' db 1Fh; db C3h; 'ƒ' db EAh; 'ª' db 95h; db 45h; 'E' db BCh; '?' db E3h; '£' db 83h; '?' db C8h; 'ˆ' db 7Bh; '{' db A6h; '³' db D1h; '‘' db 37h; '7' db 7Fh; '' db B1h; '+' db 28h; '(' db FFh; 'ï' db 8Ch; '?' db 01h; db EFh; '¯' db DDh; '' db 32h; '2' db C3h; 'ƒ' db A5h; '?' db 5Ah; 'Z' db 6Ch; 'l' db BEh; '?' db 85h; ':' db 21h; '!' db 58h; 'X' db 65h; 'e' db 02h; db 98h; '?' db ABh; '<' db 68h; 'h' db 0Fh; db A5h; '?' db CEh; 'Ž' db EEh; '®' db 3Bh; ';' db 95h; db 2Fh; '/' db DBh; '›' db ADh; '-' db 7Dh; '}' db EFh; '¯' db 2Ah; '*' db 84h; '"' db 2Fh; '/' db 6Eh; 'n' db 5Bh; '[' db 28h; '(' db B6h; db 21h; '!' db 15h; db 70h; 'p' db 61h; 'a' db 07h; db 29h; ')' db 75h; 'u' db 47h; 'G' db DDh; '' db ECh; '¬' db 10h; db 15h; db 9Fh; '?' db 61h; 'a' db 30h; '0' db A8h; 'ð' db CCh; 'Œ' db 13h; db 96h; '-' db BDh; '?' db 61h; 'a' db EBh; '«' db 1Eh; db FEh; 'î' db 34h; '4' db 03h; db CFh; '' db 63h; 'c' db 03h; db AAh; 'ò' db 90h; '?' db 5Ch; '\' db 73h; 's' db B5h; 'ç' db 39h; '9' db A2h; '÷' db 70h; 'p' db 4Ch; 'L' db 0Bh; db 9Eh; '?' db 9Eh; '?' db D5h; '•' db 14h; db DEh; 'ž' db AAh; 'ò' db CBh; '‹' db BCh; '?' db 86h; 'Å' db CCh; 'Œ' db EEh; '®' db A7h; db 2Ch; ',' db 62h; 'b' db 60h; '`' db ABh; '<' db 5Ch; '\' db ABh; '<' db 9Ch; '?' db 6Eh; 'n' db 84h; '"' db F3h; 'ã' db B2h; 'I' db AFh; 'ô' db 1Eh; db 8Bh; '<' db 64h; 'd' db CAh; 'Š' db F0h; 'à' db BDh; '?' db 19h; db B9h; 'ü' db 69h; 'i' db 23h; '#' db A0h; 'ÿ' db 50h; 'P' db BBh; '>' db 5Ah; 'Z' db 65h; 'e' db 32h; '2' db 5Ah; 'Z' db 68h; 'h' db 40h; '@' db B3h; 'i' db B4h; '?' db 2Ah; '*' db 3Ch; '<' db D5h; '•' db E9h; '©' db 9Eh; '?' db 31h; '1' db F7h; 'ç' db B8h; 'ñ' db 21h; '!' db C0h; '€' db 19h; db 0Bh; db 54h; 'T' db 9Bh; '>' db 99h; 'T' db A0h; 'ÿ' db 5Fh; '_' db 87h; 'Ø' db 7Eh; '~' db 99h; 'T' db F7h; 'ç' db 95h; db A8h; 'ð' db 7Dh; '}' db 3Dh; '=' db 62h; 'b' db 9Ah; '?' db 88h; '?' db 37h; '7' db F8h; 'è' db 77h; 'w' db 2Dh; '-' db E3h; '£' db 97h; '-' db 5Fh; '_' db 93h; '"' db EDh; '­' db 11h; db 81h; '?' db 12h; db 68h; 'h' db 16h; db 29h; ')' db 88h; '?' db 35h; '5' db 0Eh; db D6h; '–' db 1Fh; db E6h; '¦' db C7h; '‡' db A1h; 'ö' db DFh; 'Ÿ' db DEh; 'ž' db 96h; '-' db 99h; 'T' db BAh; 'ó' db 58h; 'X' db 78h; 'x' db A5h; '?' db 84h; '"' db F5h; 'å' db 57h; 'W' db 63h; 'c' db 72h; 'r' db 22h; '"' db 1Bh; db FFh; 'ï' db C3h; 'ƒ' db 83h; '?' db 9Bh; '>' db 96h; '-' db 46h; 'F' db C2h; '‚' db 1Ah; db EBh; '«' db 0Ah; db B3h; 'i' db CDh; '' db 54h; 'T' db 30h; '0' db 2Eh; '.' db 53h; 'S' db E4h; '¤' db 48h; 'H' db D9h; '™' db 8Fh; '?' db 28h; '(' db 31h; '1' db BCh; '?' db 6Dh; 'm' db EFh; '¯' db F2h; 'â' db EBh; '«' db 58h; 'X' db EAh; 'ª' db FFh; 'ï' db C6h; '†' db 34h; '4' db 61h; 'a' db EDh; '­' db 28h; '(' db FEh; 'î' db 73h; 's' db 3Ch; '<' db 7Ch; '|' db EEh; '®' db D9h; '™' db 14h; db 4Ah; 'J' db 5Dh; ']' db E3h; '£' db B7h; 'ú' db 64h; 'd' db E8h; '¨' db 14h; db 5Dh; ']' db 10h; db 42h; 'B' db E0h; ' ' db 13h; db 3Eh; '>' db 20h; ' ' db B6h; db E2h; '¢' db EEh; '®' db 45h; 'E' db EAh; 'ª' db ABh; '<' db AAh; 'ò' db A3h; '?' db 15h; db 4Fh; 'O' db 6Ch; 'l' db DBh; '›' db D0h; '' db 4Fh; 'O' db CBh; '‹' db FAh; 'ê' db 42h; 'B' db F4h; 'ä' db 42h; 'B' db C7h; '‡' db B5h; 'ç' db BBh; '>' db 6Ah; 'j' db EFh; '¯' db 1Dh; db 3Bh; ';' db 4Fh; 'O' db 65h; 'e' db 05h; db 21h; '!' db CDh; '' db 41h; 'A' db 9Eh; '?' db 79h; 'y' db 1Eh; db D8h; '˜' db C7h; '‡' db 4Dh; 'M' db 85h; ':' db 86h; 'Å' db 6Ah; 'j' db 47h; 'G' db 4Bh; 'K' db E4h; '¤' db 50h; 'P' db 62h; 'b' db 81h; '?' db 3Dh; '=' db F2h; 'â' db A1h; 'ö' db 62h; 'b' db CFh; '' db 46h; 'F' db 26h; '&' db 8Dh; '?' db 5Bh; '[' db A0h; 'ÿ' db 83h; '?' db 88h; '?' db FCh; 'ì' db A3h; '?' db B6h; db C7h; '‡' db C1h; '' db C3h; 'ƒ' db 24h; '$' db 15h; db 7Fh; '' db 92h; ''' db 74h; 't' db CBh; '‹' db 69h; 'i' db 0Bh; db 8Ah; '?' db 84h; '"' db 47h; 'G' db 85h; ':' db B2h; 'I' db 92h; ''' db 56h; 'V' db 00h; db BFh; 'õ' db 5Bh; '[' db 09h; db 9Dh; '?' db 48h; 'H' db 19h; db ADh; '-' db 74h; 't' db B1h; '+' db 62h; 'b' db 14h; db 00h; db 0Eh; db 82h; ''' db 23h; '#' db 2Ah; '*' db 8Dh; '?' db 42h; 'B' db 58h; 'X' db EAh; 'ª' db F5h; 'å' db 55h; 'U' db 0Ch; db 3Eh; '>' db F4h; 'ä' db ADh; '-' db 1Dh; db 61h; 'a' db 70h; 'p' db 3Fh; '?' db 23h; '#' db 92h; ''' db F0h; 'à' db 72h; 'r' db 33h; '3' db 41h; 'A' db 7Eh; '~' db 93h; '"' db 8Dh; '?' db F1h; 'á' db ECh; '¬' db 5Fh; '_' db D6h; '–' db DBh; '›' db 3Bh; ';' db 22h; '"' db 6Ch; 'l' db 59h; 'Y' db 37h; '7' db DEh; 'ž' db 7Ch; '|' db 60h; '`' db 74h; 't' db EEh; '®' db CBh; '‹' db A7h; db F2h; 'â' db 85h; ':' db 40h; '@' db 6Eh; 'n' db 32h; '2' db 77h; 'w' db CEh; 'Ž' db 84h; '"' db 80h; '?' db 07h; db A6h; '³' db 9Eh; '?' db 50h; 'P' db F8h; 'è' db 19h; db 55h; 'U' db D8h; '˜' db EFh; '¯' db E8h; '¨' db 35h; '5' db 97h; '-' db D9h; '™' db 61h; 'a' db AAh; 'ò' db A7h; db 69h; 'i' db A9h; 'c' db C2h; '‚' db 06h; db 0Ch; db C5h; '…' db FCh; 'ì' db ABh; '<' db 04h; db 5Ah; 'Z' db DCh; 'œ' db CAh; 'Š' db 0Bh; db 80h; '?' db 2Eh; '.' db 7Ah; 'z' db 44h; 'D' db 9Eh; '?' db 84h; '"' db 34h; '4' db 45h; 'E' db C3h; 'ƒ' db 05h; db 67h; 'g' db D5h; '•' db FDh; 'í' db C9h; '‰' db 9Eh; '?' db 1Eh; db 0Eh; db D3h; '“' db DBh; '›' db 73h; 's' db DBh; '›' db CDh; '' db 88h; '?' db 55h; 'U' db 10h; db 79h; 'y' db DAh; 'š' db 5Fh; '_' db 67h; 'g' db 40h; '@' db 43h; 'C' db 67h; 'g' db E3h; '£' db 65h; 'e' db 34h; '4' db C4h; '„' db C5h; '…' db D8h; '˜' db 38h; '8' db 3Eh; '>' db 71h; 'q' db 9Eh; '?' db F8h; 'è' db 28h; '(' db 3Dh; '=' db 20h; ' ' db FFh; 'ï' db 6Dh; 'm' db F1h; 'á' db E7h; '§' db 21h; '!' db 3Eh; '>' db 15h; db 4Ah; 'J' db 3Dh; '=' db B0h; 'ø' db 8Fh; '?' db 2Bh; '+' db 9Fh; '?' db E3h; '£' db E6h; '¦' db F7h; 'ç' db ADh; '-' db 83h; '?' db DBh; '›' db 68h; 'h' db 5Ah; 'Z' db 3Dh; '=' db E9h; '©' db F7h; 'ç' db 40h; '@' db 81h; '?' db 94h; '"' db 1Ch; db 26h; '&' db 4Ch; 'L' db F6h; 'æ' db 34h; '4' db 29h; ')' db 69h; 'i' db 94h; '"' db F7h; 'ç' db 20h; ' ' db 15h; db 41h; 'A' db F7h; 'ç' db D4h; '”' db 02h; db 76h; 'v' db 2Eh; '.' db 6Bh; 'k' db F4h; 'ä' db BCh; '?' db 68h; 'h' db 00h; db A2h; '÷' db D4h; '”' db 71h; 'q' db 24h; '$' db 08h; db D4h; '”' db 6Ah; 'j' db F4h; 'ä' db 20h; ' ' db 33h; '3' db B7h; 'ú' db D4h; '”' db B7h; 'ú' db 43h; 'C' db AFh; 'ô' db 61h; 'a' db 00h; db 50h; 'P' db 2Eh; '.' db F6h; 'æ' db 39h; '9' db 1Eh; db 46h; 'F' db 45h; 'E' db 24h; '$' db 97h; '-' db 74h; 't' db 4Fh; 'O' db 21h; '!' db 14h; db 40h; '@' db 88h; '?' db 8Bh; '<' db BFh; 'õ' db 1Dh; db FCh; 'ì' db 95h; db 4Dh; 'M' db AFh; 'ô' db 91h; ''' db B5h; 'ç' db 96h; '-' db D3h; '“' db DDh; '' db F4h; 'ä' db 70h; 'p' db 45h; 'E' db 2Fh; '/' db A0h; 'ÿ' db 66h; 'f' db ECh; '¬' db 09h; db BCh; '?' db BFh; 'õ' db 85h; ':' db 97h; '-' db BDh; '?' db 03h; db D0h; '' db 6Dh; 'm' db ACh; '¿' db 7Fh; '' db 04h; db 85h; ':' db CBh; '‹' db 31h; '1' db B3h; 'i' db 27h; ''' db EBh; '«' db 96h; '-' db 41h; 'A' db 39h; '9' db FDh; 'í' db 55h; 'U' db E6h; '¦' db 47h; 'G' db 25h; '%' db DAh; 'š' db 9Ah; '?' db 0Ah; db CAh; 'Š' db ABh; '<' db 25h; '%' db 78h; 'x' db 50h; 'P' db 28h; '(' db F4h; 'ä' db 29h; ')' db 04h; db 53h; 'S' db DAh; 'š' db 86h; 'Å' db 2Ch; ',' db 0Ah; db FBh; 'ë' db 6Dh; 'm' db B6h; db E9h; '©' db 62h; 'b' db 14h; db DCh; 'œ' db 68h; 'h' db 00h; db 69h; 'i' db 48h; 'H' db D7h; '—' db A4h; 'ý' db C0h; '€' db 0Eh; db 68h; 'h' db EEh; '®' db 8Dh; '?' db A1h; 'ö' db 27h; ''' db A2h; '÷' db FEh; 'î' db 3Fh; '?' db 4Fh; 'O' db 8Ch; '?' db ADh; '-' db 87h; 'Ø' db E8h; '¨' db 06h; db E0h; ' ' db 8Ch; '?' db B5h; 'ç' db B6h; db D6h; '–' db F4h; 'ä' db 7Ah; 'z' db 7Ch; '|' db 1Eh; db CEh; 'Ž' db AAh; 'ò' db ECh; '¬' db 5Fh; '_' db 37h; '7' db D3h; '“' db 99h; 'T' db A3h; '?' db 78h; 'x' db CEh; 'Ž' db 42h; 'B' db 2Ah; '*' db 6Bh; 'k' db 40h; '@' db 35h; '5' db 9Eh; '?' db FEh; 'î' db 20h; ' ' db B9h; 'ü' db 85h; ':' db F3h; 'ã' db D9h; '™' db ABh; '<' db D7h; '—' db 39h; '9' db EEh; '®' db 8Bh; '<' db 4Eh; 'N' db 12h; db 3Bh; ';' db F7h; 'ç' db FAh; 'ê' db C9h; '‰' db 1Dh; db 56h; 'V' db 18h; db 6Dh; 'm' db 4Bh; 'K' db 31h; '1' db 66h; 'f' db A3h; '?' db 26h; '&' db B2h; 'I' db 97h; '-' db E3h; '£' db EAh; 'ª' db 74h; 't' db FAh; 'ê' db 6Eh; 'n' db 3Ah; ':' db 32h; '2' db 43h; 'C' db 5Bh; '[' db DDh; '' db F7h; 'ç' db E7h; '§' db 41h; 'A' db 68h; 'h' db FBh; 'ë' db 20h; ' ' db 78h; 'x' db CAh; 'Š' db 4Eh; 'N' db F5h; 'å' db 0Ah; db FBh; 'ë' db 97h; '-' db B3h; 'i' db FEh; 'î' db D8h; '˜' db ACh; '¿' db 56h; 'V' db 40h; '@' db 45h; 'E' db 27h; ''' db 95h; db 48h; 'H' db BAh; 'ó' db 3Ah; ':' db 3Ah; ':' db 53h; 'S' db 55h; 'U' db 87h; 'Ø' db 8Dh; '?' db 83h; '?' db 20h; ' ' db B7h; 'ú' db A9h; 'c' db 6Bh; 'k' db FEh; 'î' db 4Bh; 'K' db 95h; db 96h; '-' db D0h; '' db BCh; '?' db 67h; 'g' db A8h; 'ð' db 55h; 'U' db 58h; 'X' db 9Ah; '?' db 15h; db A1h; 'ö' db 63h; 'c' db 29h; ')' db A9h; 'c' db CCh; 'Œ' db 33h; '3' db DBh; '›' db E1h; '¡' db 99h; 'T' db 56h; 'V' db 4Ah; 'J' db 2Ah; '*' db A6h; '³' db F9h; 'é' db 25h; '%' db 31h; '1' db 3Fh; '?' db 1Ch; db 7Eh; '~' db F4h; 'ä' db 5Eh; '^' db 7Ch; '|' db 31h; '1' db 29h; ')' db 90h; '?' db 02h; db E8h; '¨' db F8h; 'è' db FDh; 'í' db 70h; 'p' db 2Fh; '/' db 27h; ''' db 04h; db 5Ch; '\' db 15h; db BBh; '>' db 80h; '?' db E3h; '£' db 2Ch; ',' db 28h; '(' db 05h; db 48h; 'H' db 15h; db C1h; '' db 95h; db 22h; '"' db 6Dh; 'm' db C6h; '†' db E4h; '¤' db 3Fh; '?' db 13h; db C1h; '' db 48h; 'H' db DCh; 'œ' db 86h; 'Å' db 0Fh; db C7h; '‡' db EEh; '®' db C9h; '‰' db F9h; 'é' db 07h; db 0Fh; db 1Fh; db 04h; db 41h; 'A' db A4h; 'ý' db 79h; 'y' db 47h; 'G' db 40h; '@' db 17h; db 6Eh; 'n' db 88h; '?' db 5Dh; ']' db EBh; '«' db 51h; 'Q' db 5Fh; '_' db 32h; '2' db D1h; '‘' db C0h; '€' db 9Bh; '>' db D5h; '•' db 8Fh; '?' db C1h; '' db BCh; '?' db F2h; 'â' db 64h; 'd' db 35h; '5' db 11h; db 41h; 'A' db 34h; '4' db 78h; 'x' db 7Bh; '{' db 25h; '%' db 60h; '`' db 9Ch; '?' db 2Ah; '*' db 60h; '`' db A3h; '?' db E8h; '¨' db F8h; 'è' db DFh; 'Ÿ' db 1Bh; db 6Ch; 'l' db 63h; 'c' db 1Fh; db C2h; '‚' db B4h; '?' db 12h; db 0Eh; db 9Eh; '?' db 32h; '2' db E1h; '¡' db 02h; db D1h; '‘' db 4Fh; 'O' db 66h; 'f' db AFh; 'ô' db 15h; db 81h; '?' db D1h; '‘' db CAh; 'Š' db E0h; ' ' db 95h; db 23h; '#' db 6Bh; 'k' db E1h; '¡' db 92h; ''' db 3Eh; '>' db 33h; '3' db 62h; 'b' db 0Bh; db 24h; '$' db 3Bh; ';' db 22h; '"' db B9h; 'ü' db BEh; '?' db EEh; '®' db 0Eh; db A2h; '÷' db B2h; 'I' db 85h; ':' db 99h; 'T' db 0Dh; db BAh; 'ó' db E6h; '¦' db 8Ch; '?' db 0Ch; db 72h; 'r' db DEh; 'ž' db 28h; '(' db F7h; 'ç' db A2h; '÷' db 2Dh; '-' db 45h; 'E' db 78h; 'x' db 12h; db D0h; '' db FDh; 'í' db 94h; '"' db B7h; 'ú' db 95h; db 62h; 'b' db 08h; db 7Dh; '}' db 64h; 'd' db F0h; 'à' db F5h; 'å' db CCh; 'Œ' db E7h; '§' db 6Fh; 'o' db A3h; '?' db 49h; 'I' db 54h; 'T' db FAh; 'ê' db 48h; 'H' db 7Dh; '}' db 87h; 'Ø' db 27h; ''' db FDh; 'í' db 9Dh; '?' db C3h; 'ƒ' db 1Eh; db 8Dh; '?' db 3Eh; '>' db F3h; 'ã' db 41h; 'A' db 63h; 'c' db 47h; 'G' db 0Ah; db 74h; 't' db FFh; 'ï' db 2Eh; '.' db 99h; 'T' db ABh; '<' db 6Eh; 'n' db 6Fh; 'o' db 3Ah; ':' db 37h; '7' db FDh; 'í' db F8h; 'è' db F4h; 'ä' db 60h; '`' db DCh; 'œ' db 12h; db A8h; 'ð' db F8h; 'è' db DDh; '' db EBh; '«' db A1h; 'ö' db 4Ch; 'L' db E1h; '¡' db 1Bh; db 99h; 'T' db 0Dh; db 6Bh; 'k' db 6Eh; 'n' db DBh; '›' db 10h; db 55h; 'U' db 7Bh; '{' db C6h; '†' db 37h; '7' db 2Ch; ',' db 67h; 'g' db 6Dh; 'm' db 3Bh; ';' db D4h; '”' db 65h; 'e' db 27h; ''' db 04h; db E8h; '¨' db D0h; '' db DCh; 'œ' db C7h; '‡' db 0Dh; db 29h; ')' db F1h; 'á' db A3h; '?' db FFh; 'ï' db 00h; db CCh; 'Œ' db 92h; ''' db 0Fh; db 39h; '9' db B5h; 'ç' db 0Bh; db EDh; '­' db 0Fh; db 69h; 'i' db FBh; 'ë' db 9Fh; '?' db 7Bh; '{' db 66h; 'f' db 9Ch; '?' db 7Dh; '}' db DBh; '›' db CEh; 'Ž' db 0Bh; db CFh; '' db 91h; ''' db A0h; 'ÿ' db A3h; '?' db 5Eh; '^' db 15h; db D9h; '™' db 88h; '?' db 2Fh; '/' db 13h; db BBh; '>' db 24h; '$' db ADh; '-' db 5Bh; '[' db 51h; 'Q' db BFh; 'õ' db 79h; 'y' db 94h; '"' db 7Bh; '{' db EBh; '«' db D6h; '–' db 3Bh; ';' db 76h; 'v' db B3h; 'i' db 2Eh; '.' db 39h; '9' db 37h; '7' db 79h; 'y' db 59h; 'Y' db 11h; db CCh; 'Œ' db 97h; '-' db E2h; '¢' db 26h; '&' db 80h; '?' db 2Dh; '-' db 31h; '1' db 2Eh; '.' db F4h; 'ä' db A7h; db ADh; '-' db 42h; 'B' db 68h; 'h' db 3Bh; ';' db 2Bh; '+' db 6Ah; 'j' db C6h; '†' db CCh; 'Œ' db 4Ch; 'L' db 75h; 'u' db 12h; db 1Ch; db F1h; 'á' db 2Eh; '.' db 78h; 'x' db 37h; '7' db 42h; 'B' db 12h; db 6Ah; 'j' db E7h; '§' db 51h; 'Q' db 92h; ''' db B7h; 'ú' db E6h; '¦' db BBh; '>' db A1h; 'ö' db 06h; db 50h; 'P' db 63h; 'c' db FBh; 'ë' db 4Bh; 'K' db 18h; db 10h; db 6Bh; 'k' db 1Ah; db FAh; 'ê' db EDh; '­' db CAh; 'Š' db 11h; db D8h; '˜' db BDh; '?' db 25h; '%' db 3Dh; '=' db C9h; '‰' db C3h; 'ƒ' db E1h; '¡' db E2h; '¢' db 59h; 'Y' db 16h; db 42h; 'B' db 44h; 'D' db 86h; 'Å' db 13h; db 12h; db 0Ah; db 6Eh; 'n' db ECh; '¬' db 0Ch; db D9h; '™' db 2Ah; '*' db EAh; 'ª' db ABh; '<' db D5h; '•' db 4Eh; 'N' db 67h; 'g' db AFh; 'ô' db 64h; 'd' db 5Fh; '_' db A8h; 'ð' db 86h; 'Å' db DAh; 'š' db 88h; '?' db E9h; '©' db BFh; 'õ' db BEh; '?' db FEh; 'î' db C3h; 'ƒ' db E4h; '¤' db 64h; 'd' db 57h; 'W' db 80h; '?' db BCh; '?' db 9Dh; '?' db 86h; 'Å' db C0h; '€' db F7h; 'ç' db F0h; 'à' db F8h; 'è' db 7Bh; '{' db 78h; 'x' db 60h; '`' db 4Dh; 'M' db 60h; '`' db 03h; db 60h; '`' db 46h; 'F' db 83h; '?' db FDh; 'í' db D1h; '‘' db B0h; 'ø' db 1Fh; db 38h; '8' db F6h; 'æ' db 04h; db AEh; 'R' db 45h; 'E' db 77h; 'w' db CCh; 'Œ' db FCh; 'ì' db 36h; '6' db D7h; '—' db 33h; '3' db 6Bh; 'k' db 42h; 'B' db 83h; '?' db 71h; 'q' db ABh; '<' db 1Eh; db F0h; 'à' db 87h; 'Ø' db 41h; 'A' db 80h; '?' db B0h; 'ø' db 5Fh; '_' db 5Eh; '^' db 00h; db 3Ch; '<' db BEh; '?' db 57h; 'W' db A0h; 'ÿ' db 77h; 'w' db 24h; '$' db AEh; 'R' db E8h; '¨' db BDh; '?' db 99h; 'T' db 42h; 'B' db 46h; 'F' db 55h; 'U' db 61h; 'a' db 2Eh; '.' db 58h; 'X' db BFh; 'õ' db 8Fh; '?' db F4h; 'ä' db 58h; 'X' db 4Eh; 'N' db A2h; '÷' db FDh; 'í' db DDh; '' db F2h; 'â' db 38h; '8' db EFh; '¯' db 74h; 't' db F4h; 'ä' db C2h; '‚' db BDh; '?' db 89h; '%' db 87h; 'Ø' db C3h; 'ƒ' db F9h; 'é' db 66h; 'f' db 53h; 'S' db 74h; 't' db 8Eh; '?' db B3h; 'i' db C8h; 'ˆ' db 55h; 'U' db F2h; 'â' db 75h; 'u' db B4h; '?' db B9h; 'ü' db D9h; '™' db FCh; 'ì' db 46h; 'F' db 61h; 'a' db 26h; '&' db EBh; '«' db 7Ah; 'z' db 84h; '"' db DFh; 'Ÿ' db 1Dh; db 8Bh; '<' db 79h; 'y' db 0Eh; db 6Ah; 'j' db 84h; '"' db E2h; '¢' db 95h; db 5Fh; '_' db 91h; ''' db 8Eh; '?' db 59h; 'Y' db 6Eh; 'n' db 46h; 'F' db 70h; 'p' db 57h; 'W' db B4h; '?' db 20h; ' ' db 91h; ''' db 55h; 'U' db D5h; '•' db 8Ch; '?' db 4Ch; 'L' db DEh; 'ž' db 02h; db C9h; '‰' db E1h; '¡' db ACh; '¿' db 0Bh; db B9h; 'ü' db D0h; '' db 05h; db 82h; ''' db BBh; '>' db 48h; 'H' db 62h; 'b' db A8h; 'ð' db 11h; db 9Eh; '?' db A9h; 'c' db 74h; 't' db 75h; 'u' db B6h; db 19h; db 7Fh; '' db B7h; 'ú' db 09h; db DCh; 'œ' db A9h; 'c' db E0h; ' ' db A1h; 'ö' db 09h; db 2Dh; '-' db 66h; 'f' db 33h; '3' db 46h; 'F' db 32h; '2' db C4h; '„' db 02h; db 1Fh; db 5Ah; 'Z' db E8h; '¨' db 8Ch; '?' db BEh; '?' db F0h; 'à' db 09h; db 25h; '%' db A0h; 'ÿ' db 99h; 'T' db 4Ah; 'J' db 10h; db FEh; 'î' db 6Eh; 'n' db 1Dh; db 1Dh; db 3Dh; '=' db B9h; 'ü' db 1Ah; db DFh; 'Ÿ' db A4h; 'ý' db A5h; '?' db 0Bh; db 0Fh; db F2h; 'â' db 86h; 'Å' db A1h; 'ö' db 69h; 'i' db F1h; 'á' db 68h; 'h' db 28h; '(' db 83h; '?' db DAh; 'š' db B7h; 'ú' db DCh; 'œ' db FEh; 'î' db 06h; db 39h; '9' db 57h; 'W' db 9Bh; '>' db CEh; 'Ž' db E2h; '¢' db A1h; 'ö' db 52h; 'R' db 7Fh; '' db CDh; '' db 4Fh; 'O' db 01h; db 5Eh; '^' db 11h; db 50h; 'P' db FAh; 'ê' db 83h; '?' db 06h; db A7h; db C4h; '„' db B5h; 'ç' db 02h; db A0h; 'ÿ' db 27h; ''' db D0h; '' db E6h; '¦' db 0Dh; db 27h; ''' db 8Ch; '?' db F8h; 'è' db 9Ah; '?' db 41h; 'A' db 86h; 'Å' db 3Fh; '?' db 77h; 'w' db 06h; db 4Ch; 'L' db 60h; '`' db C3h; 'ƒ' db B5h; 'ç' db 06h; db A8h; 'ð' db 61h; 'a' db 28h; '(' db 7Ah; 'z' db 17h; db F0h; 'à' db E0h; ' ' db 86h; 'Å' db F5h; 'å' db C0h; '€' db AAh; 'ò' db 58h; 'X' db 60h; '`' db 00h; db 62h; 'b' db 7Dh; '}' db DCh; 'œ' db 30h; '0' db D7h; '—' db 9Eh; '?' db E6h; '¦' db 11h; db 63h; 'c' db EAh; 'ª' db 38h; '8' db 23h; '#' db 94h; '"' db DDh; '' db C2h; '‚' db 53h; 'S' db 34h; '4' db 16h; db C2h; '‚' db C2h; '‚' db 56h; 'V' db EEh; '®' db CBh; '‹' db BBh; '>' db DEh; 'ž' db B6h; db BCh; '?' db 90h; '?' db A1h; 'ö' db 7Dh; '}' db FCh; 'ì' db EBh; '«' db 76h; 'v' db 1Dh; db 59h; 'Y' db CEh; 'Ž' db 09h; db E4h; '¤' db 05h; db 6Fh; 'o' db 88h; '?' db 01h; db 7Ch; '|' db 4Bh; 'K' db 3Dh; '=' db 0Ah; db 72h; 'r' db 39h; '9' db 24h; '$' db 7Ch; '|' db 92h; ''' db 7Ch; '|' db 5Fh; '_' db 72h; 'r' db E3h; '£' db 86h; 'Å' db B9h; 'ü' db 9Dh; '?' db 4Dh; 'M' db 72h; 'r' db B4h; '?' db 5Bh; '[' db C1h; '' db 1Ah; db FCh; 'ì' db B8h; 'ñ' db 9Eh; '?' db D3h; '“' db 78h; 'x' db 55h; 'U' db 54h; 'T' db EDh; '­' db B5h; 'ç' db A5h; '?' db FCh; 'ì' db 08h; db D3h; '“' db 7Ch; '|' db 3Dh; '=' db D8h; '˜' db C4h; '„' db 0Fh; db ADh; '-' db 4Dh; 'M' db 5Eh; '^' db EFh; '¯' db 50h; 'P' db 1Eh; db F8h; 'è' db E6h; '¦' db 61h; 'a' db B1h; '+' db D9h; '™' db 14h; db 85h; ':' db A2h; '÷' db 3Ch; '<' db 13h; db 51h; 'Q' db 6Ch; 'l' db E7h; '§' db C7h; '‡' db D5h; '•' db 6Fh; 'o' db C4h; '„' db 4Eh; 'N' db E1h; '¡' db 56h; 'V' db CEh; 'Ž' db BFh; 'õ' db 2Ah; '*' db 36h; '6' db 37h; '7' db C8h; 'ˆ' db C6h; '†' db DDh; '' db 34h; '4' db 32h; '2' db 9Ah; '?' db D7h; '—' db 12h; db 82h; ''' db 63h; 'c' db 92h; ''' db 8Eh; '?' db FAh; 'ê' db 0Eh; db 67h; 'g' db E0h; ' ' db 00h; db 60h; '`' db 40h; '@' db 37h; '7' db CEh; 'Ž' db 39h; '9' db 3Ah; ':' db CFh; '' db F5h; 'å' db FAh; 'ê' db D3h; '“' db 37h; '7' db 77h; 'w' db C2h; '‚' db ABh; '<' db 1Bh; db 2Dh; '-' db C5h; '…' db 5Ah; 'Z' db 9Eh; '?' db 67h; 'g' db B0h; 'ø' db 5Ch; '\' db 42h; 'B' db 37h; '7' db A3h; '?' db 4Fh; 'O' db 40h; '@' db 27h; ''' db 82h; ''' db D3h; '“' db BEh; '?' db 9Bh; '>' db BCh; '?' db 99h; 'T' db 9Dh; '?' db 8Eh; '?' db 11h; db D5h; '•' db 15h; db 73h; 's' db 0Fh; db BFh; 'õ' db 7Eh; '~' db 1Ch; db 2Dh; '-' db D6h; '–' db 7Bh; '{' db C4h; '„' db 00h; db C7h; '‡' db 6Bh; 'k' db 1Bh; db 8Ch; '?' db B7h; 'ú' db 45h; 'E' db 90h; '?' db A1h; 'ö' db 21h; '!' db BEh; '?' db B1h; '+' db 6Eh; 'n' db B2h; 'I' db B4h; '?' db 6Eh; 'n' db 36h; '6' db 6Ah; 'j' db 2Fh; '/' db ABh; '<' db 48h; 'H' db 57h; 'W' db 79h; 'y' db 6Eh; 'n' db 94h; '"' db BCh; '?' db D2h; '’' db 76h; 'v' db A3h; '?' db C6h; '†' db C8h; 'ˆ' db C2h; '‚' db 49h; 'I' db 65h; 'e' db EEh; '®' db F8h; 'è' db 0Fh; db 53h; 'S' db 7Dh; '}' db DEh; 'ž' db 8Dh; '?' db 46h; 'F' db 1Dh; db 0Ah; db 73h; 's' db D5h; '•' db C6h; '†' db 4Dh; 'M' db D0h; '' db 4Ch; 'L' db DBh; '›' db BBh; '>' db 39h; '9' db 29h; ')' db 50h; 'P' db 46h; 'F' db BAh; 'ó' db A9h; 'c' db E8h; '¨' db 26h; '&' db 95h; db ACh; '¿' db 04h; db E3h; '£' db 5Eh; '^' db BEh; '?' db F0h; 'à' db D5h; '•' db FAh; 'ê' db A1h; 'ö' db 9Ah; '?' db 51h; 'Q' db 2Dh; '-' db 6Ah; 'j' db E2h; '¢' db 8Ch; '?' db EFh; '¯' db 63h; 'c' db 22h; '"' db EEh; '®' db 86h; 'Å' db 9Ah; '?' db B8h; 'ñ' db C2h; '‚' db 89h; '%' db C0h; '€' db F6h; 'æ' db 2Eh; '.' db 24h; '$' db 43h; 'C' db AAh; 'ò' db 03h; db 1Eh; db A5h; '?' db A4h; 'ý' db D0h; '' db F2h; 'â' db 9Ch; '?' db BAh; 'ó' db 61h; 'a' db C0h; '€' db 83h; '?' db 4Dh; 'M' db 6Ah; 'j' db E9h; '©' db 9Bh; '>' db 50h; 'P' db 15h; db E5h; '¥' db 8Fh; '?' db D6h; '–' db 5Bh; '[' db 64h; 'd' db BAh; 'ó' db F9h; 'é' db A2h; '÷' db 26h; '&' db 28h; '(' db E1h; '¡' db 3Ah; ':' db 3Ah; ':' db A7h; db 86h; 'Å' db 95h; db A9h; 'c' db 4Bh; 'K' db E9h; '©' db 62h; 'b' db 55h; 'U' db EFh; '¯' db D3h; '“' db EFh; '¯' db 2Fh; '/' db C7h; '‡' db DAh; 'š' db F7h; 'ç' db 52h; 'R' db F7h; 'ç' db 69h; 'i' db 6Fh; 'o' db 04h; db 3Fh; '?' db 59h; 'Y' db 0Ah; db FAh; 'ê' db 77h; 'w' db 15h; db A9h; 'c' db E4h; '¤' db 80h; '?' db 01h; db 86h; 'Å' db B0h; 'ø' db 87h; 'Ø' db ADh; '-' db E6h; '¦' db 09h; db 9Bh; '>' db 93h; '"' db E5h; '¥' db 3Eh; '>' db 3Bh; ';' db 5Ah; 'Z' db FDh; 'í' db 90h; '?' db E9h; '©' db 97h; '-' db D7h; '—' db 34h; '4' db 9Eh; '?' db D9h; '™' db B7h; 'ú' db F0h; 'à' db 2Ch; ',' db 51h; 'Q' db 8Bh; '<' db 2Bh; '+' db 02h; db 3Ah; ':' db ACh; '¿' db D5h; '•' db 96h; '-' db 7Dh; '}' db A6h; '³' db 7Dh; '}' db 01h; db D6h; '–' db 3Eh; '>' db CFh; '' db D1h; '‘' db 28h; '(' db 2Dh; '-' db 7Dh; '}' db 7Ch; '|' db CFh; '' db 25h; '%' db 9Fh; '?' db 1Fh; db 9Bh; '>' db B8h; 'ñ' db F2h; 'â' db ADh; '-' db 72h; 'r' db B4h; '?' db D6h; '–' db 5Ah; 'Z' db 4Ch; 'L' db F5h; 'å' db 88h; '?' db 5Ah; 'Z' db 71h; 'q' db ACh; '¿' db 29h; ')' db E0h; ' ' db E6h; '¦' db A5h; '?' db 19h; db E0h; ' ' db FDh; 'í' db ACh; '¿' db B0h; 'ø' db 47h; 'G' db 9Bh; '>' db FAh; 'ê' db 93h; '"' db EDh; '­' db 8Dh; '?' db C4h; '„' db D3h; '“' db E8h; '¨' db CCh; 'Œ' db 57h; 'W' db 3Bh; ';' db 28h; '(' db 29h; ')' db 66h; 'f' db D5h; '•' db F8h; 'è' db 28h; '(' db 2Eh; '.' db 13h; db 79h; 'y' db 91h; ''' db 01h; db 5Fh; '_' db 78h; 'x' db 55h; 'U' db 60h; '`' db 75h; 'u' db EDh; '­' db 44h; 'D' db 0Eh; db 96h; '-' db F7h; 'ç' db 8Ch; '?' db 5Eh; '^' db D3h; '“' db E3h; '£' db D4h; '”' db 6Dh; 'm' db 05h; db 15h; db BAh; 'ó' db 6Dh; 'm' db F4h; 'ä' db 88h; '?' db 25h; '%' db 61h; 'a' db A1h; 'ö' db 03h; db BDh; '?' db F0h; 'à' db 64h; 'd' db 05h; db 15h; db 9Eh; '?' db EBh; '«' db C3h; 'ƒ' db A2h; '÷' db 57h; 'W' db 90h; '?' db 3Ch; '<' db ECh; '¬' db 1Ah; db 27h; ''' db 97h; '-' db 2Ah; '*' db 07h; db 3Ah; ':' db A9h; 'c' db 9Bh; '>' db 6Dh; 'm' db 3Fh; '?' db 1Bh; db F5h; 'å' db 21h; '!' db 63h; 'c' db 1Eh; db FBh; 'ë' db 66h; 'f' db 9Ch; '?' db F5h; 'å' db 19h; db F3h; 'ã' db DCh; 'œ' db 26h; '&' db 28h; '(' db D9h; '™' db 33h; '3' db 75h; 'u' db F5h; 'å' db FDh; 'í' db 55h; 'U' db B1h; '+' db 82h; ''' db 34h; '4' db 56h; 'V' db 03h; db BBh; '>' db 3Ch; '<' db BAh; 'ó' db 8Ah; '?' db 11h; db 77h; 'w' db 51h; 'Q' db 28h; '(' db F8h; 'è' db D9h; '™' db 0Ah; db C2h; '‚' db 67h; 'g' db 51h; 'Q' db CCh; 'Œ' db ABh; '<' db 5Fh; '_' db 92h; ''' db ADh; '-' db CCh; 'Œ' db 51h; 'Q' db 17h; db E8h; '¨' db 4Dh; 'M' db 8Eh; '?' db DCh; 'œ' db 30h; '0' db 38h; '8' db 62h; 'b' db 58h; 'X' db 9Dh; '?' db 37h; '7' db 91h; ''' db F9h; 'é' db 20h; ' ' db 93h; '"' db C2h; '‚' db 90h; '?' db 7Ah; 'z' db EAh; 'ª' db CEh; 'Ž' db 7Bh; '{' db 3Eh; '>' db FBh; 'ë' db 64h; 'd' db CEh; 'Ž' db 21h; '!' db 51h; 'Q' db 32h; '2' db BEh; '?' db 4Fh; 'O' db 77h; 'w' db 7Eh; '~' db E3h; '£' db B6h; db A8h; 'ð' db 46h; 'F' db 3Dh; '=' db 29h; ')' db C3h; 'ƒ' db 69h; 'i' db 53h; 'S' db DEh; 'ž' db 48h; 'H' db 80h; '?' db E6h; '¦' db 13h; db 64h; 'd' db 10h; db 08h; db AEh; 'R' db A2h; '÷' db 24h; '$' db B2h; 'I' db 6Dh; 'm' db DDh; '' db FDh; 'í' db 2Dh; '-' db 85h; ':' db 69h; 'i' db 66h; 'f' db 21h; '!' db 07h; db 09h; db 0Ah; db 46h; 'F' db 9Ah; '?' db B3h; 'i' db DDh; '' db C0h; '€' db 45h; 'E' db 64h; 'd' db CFh; '' db DEh; 'ž' db 6Ch; 'l' db 58h; 'X' db AEh; 'R' db C8h; 'ˆ' db 20h; ' ' db 1Ch; db DDh; '' db F7h; 'ç' db BEh; '?' db 5Bh; '[' db 40h; '@' db 8Dh; '?' db 58h; 'X' db 1Bh; db 7Fh; '' db 01h; db D2h; '’' db CCh; 'Œ' db BBh; '>' db E3h; '£' db B4h; '?' db 6Bh; 'k' db 7Eh; '~' db 6Ah; 'j' db A2h; '÷' db DDh; '' db 45h; 'E' db FFh; 'ï' db 59h; 'Y' db 3Ah; ':' db 44h; 'D' db 0Ah; db 35h; '5' db 3Eh; '>' db D5h; '•' db CDh; '' db B4h; '?' db BCh; '?' db A8h; 'ð' db CEh; 'Ž' db EAh; 'ª' db 72h; 'r' db BBh; '>' db 84h; '"' db 64h; 'd' db FAh; 'ê' db AEh; 'R' db 12h; db 66h; 'f' db 8Dh; '?' db 47h; 'G' db 6Fh; 'o' db 3Ch; '<' db BFh; 'õ' db 63h; 'c' db E4h; '¤' db 9Bh; '>' db D2h; '’' db 9Eh; '?' db 5Dh; ']' db 2Fh; '/' db 54h; 'T' db 1Bh; db 77h; 'w' db C2h; '‚' db AEh; 'R' db 70h; 'p' db 63h; 'c' db 4Eh; 'N' db F6h; 'æ' db 8Dh; '?' db 0Dh; db 0Eh; db 74h; 't' db 57h; 'W' db 13h; db 5Bh; '[' db E7h; '§' db 71h; 'q' db 16h; db 72h; 'r' db F8h; 'è' db 5Dh; ']' db 7Dh; '}' db 53h; 'S' db AFh; 'ô' db 08h; db CBh; '‹' db 40h; '@' db 40h; '@' db CCh; 'Œ' db E2h; '¢' db B4h; '?' db 4Eh; 'N' db 6Ah; 'j' db 46h; 'F' db D2h; '’' db 34h; '4' db 84h; '"' db AFh; 'ô' db 15h; db 01h; db 28h; '(' db 04h; db B0h; 'ø' db E1h; '¡' db 1Dh; db 3Ah; ':' db 98h; '?' db 95h; db B4h; '?' db 9Fh; '?' db B8h; 'ñ' db 06h; db 48h; 'H' db A0h; 'ÿ' db 6Eh; 'n' db CEh; 'Ž' db 82h; ''' db 3Bh; ';' db 3Fh; '?' db 6Fh; 'o' db 82h; ''' db ABh; '<' db 20h; ' ' db 35h; '5' db 4Bh; 'K' db 1Dh; db 1Ah; db 01h; db F8h; 'è' db 27h; ''' db 72h; 'r' db 27h; ''' db B1h; '+' db 60h; '`' db 15h; db 61h; 'a' db DCh; 'œ' db 3Fh; '?' db 93h; '"' db E7h; '§' db 2Bh; '+' db 79h; 'y' db 3Ah; ':' db BBh; '>' db BDh; '?' db 25h; '%' db 45h; 'E' db 34h; '4' db E1h; '¡' db 39h; '9' db 88h; '?' db A0h; 'ÿ' db 4Bh; 'K' db 79h; 'y' db CEh; 'Ž' db 51h; 'Q' db B7h; 'ú' db C9h; '‰' db 32h; '2' db 2Fh; '/' db C9h; '‰' db BAh; 'ó' db 1Fh; db A0h; 'ÿ' db 7Eh; '~' db C8h; 'ˆ' db 1Ch; db E0h; ' ' db F6h; 'æ' db D1h; '‘' db C7h; '‡' db BCh; '?' db C3h; 'ƒ' db 11h; db 01h; db CFh; '' db C7h; '‡' db AAh; 'ò' db E8h; '¨' db A1h; 'ö' db 49h; 'I' db 87h; 'Ø' db 90h; '?' db 1Ah; db 9Ah; '?' db BDh; '?' db 4Fh; 'O' db D4h; '”' db CBh; '‹' db DEh; 'ž' db DAh; 'š' db D0h; '' db 38h; '8' db DAh; 'š' db 0Ah; db D5h; '•' db 2Ah; '*' db C3h; 'ƒ' db 39h; '9' db 03h; db 67h; 'g' db 36h; '6' db 91h; ''' db C6h; '†' db 7Ch; '|' db 31h; '1' db F9h; 'é' db 8Dh; '?' db 4Fh; 'O' db 2Bh; '+' db B1h; '+' db E0h; ' ' db B7h; 'ú' db 59h; 'Y' db 9Eh; '?' db F7h; 'ç' db 3Ah; ':' db BBh; '>' db F5h; 'å' db 43h; 'C' db FFh; 'ï' db 19h; db D5h; '•' db F2h; 'â' db 9Ch; '?' db 45h; 'E' db D9h; '™' db 27h; ''' db 2Ch; ',' db 22h; '"' db 97h; '-' db BFh; 'õ' db 2Ah; '*' db FCh; 'ì' db E6h; '¦' db 15h; db 71h; 'q' db FCh; 'ì' db 91h; ''' db 0Fh; db 25h; '%' db 15h; db 94h; '"' db 9Bh; '>' db 61h; 'a' db 93h; '"' db E5h; '¥' db FAh; 'ê' db EBh; '«' db 9Ch; '?' db B6h; db CEh; 'Ž' db 59h; 'Y' db 64h; 'd' db A8h; 'ð' db C2h; '‚' db D1h; '‘' db A8h; 'ð' db BAh; 'ó' db 12h; db 5Eh; '^' db 07h; db C1h; '' db B6h; db 0Ch; db 6Ah; 'j' db 05h; db E3h; '£' db 65h; 'e' db 50h; 'P' db D2h; '’' db 10h; db 42h; 'B' db A4h; 'ý' db 03h; db CBh; '‹' db 0Eh; db 6Eh; 'n' db ECh; '¬' db E0h; ' ' db 3Bh; ';' db DBh; '›' db 98h; '?' db 16h; db BEh; '?' db A0h; 'ÿ' db 98h; '?' db 4Ch; 'L' db 64h; 'd' db E9h; '©' db 78h; 'x' db 32h; '2' db 32h; '2' db 95h; db 1Fh; db 9Fh; '?' db DFh; 'Ÿ' db 92h; ''' db D3h; '“' db E0h; ' ' db 2Bh; '+' db 34h; '4' db A0h; 'ÿ' db D3h; '“' db 1Eh; db F2h; 'â' db 71h; 'q' db 89h; '%' db 41h; 'A' db 74h; 't' db 0Ah; db 1Bh; db 8Ch; '?' db 34h; '4' db A3h; '?' db 4Bh; 'K' db 20h; ' ' db 71h; 'q' db BEh; '?' db C5h; '…' db D8h; '˜' db 32h; '2' db 76h; 'v' db C3h; 'ƒ' db 8Dh; '?' db 9Fh; '?' db 35h; '5' db DFh; 'Ÿ' db 2Eh; '.' db 2Fh; '/' db 99h; 'T' db 9Bh; '>' db 47h; 'G' db 6Fh; 'o' db 0Bh; db E6h; '¦' db 1Dh; db F1h; 'á' db E3h; '£' db 0Fh; db 54h; 'T' db DAh; 'š' db 4Ch; 'L' db E5h; '¥' db 91h; ''' db D8h; '˜' db DAh; 'š' db 1Eh; db CFh; '' db 79h; 'y' db 62h; 'b' db CEh; 'Ž' db 6Fh; 'o' db 7Eh; '~' db 3Eh; '>' db CDh; '' db 66h; 'f' db B1h; '+' db 18h; db 16h; db 05h; db 1Dh; db 2Ch; ',' db FDh; 'í' db C5h; '…' db D2h; '’' db 8Fh; '?' db 84h; '"' db 99h; 'T' db 22h; '"' db FBh; 'ë' db F6h; 'æ' db 57h; 'W' db F3h; 'ã' db 23h; '#' db F5h; 'å' db 23h; '#' db 76h; 'v' db 32h; '2' db A6h; '³' db 31h; '1' db 35h; '5' db A8h; 'ð' db 93h; '"' db 02h; db CDh; '' db CCh; 'Œ' db 56h; 'V' db 62h; 'b' db 81h; '?' db F0h; 'à' db ACh; '¿' db B5h; 'ç' db EBh; '«' db 75h; 'u' db 5Ah; 'Z' db 97h; '-' db 36h; '6' db 16h; db 6Eh; 'n' db CCh; 'Œ' db 73h; 's' db D2h; '’' db 88h; '?' db 92h; ''' db 62h; 'b' db 96h; '-' db DEh; 'ž' db D0h; '' db 49h; 'I' db B9h; 'ü' db 81h; '?' db 1Bh; db 90h; '?' db 50h; 'P' db 4Ch; 'L' db 14h; db 56h; 'V' db C6h; '†' db 71h; 'q' db BDh; '?' db C7h; '‡' db C6h; '†' db E6h; '¦' db 0Ah; db 14h; db 7Ah; 'z' db 32h; '2' db 06h; db D0h; '' db E1h; '¡' db 45h; 'E' db 9Ah; '?' db 7Bh; '{' db F2h; 'â' db C3h; 'ƒ' db FDh; 'í' db 53h; 'S' db AAh; 'ò' db C9h; '‰' db 00h; db 0Fh; db A8h; 'ð' db 62h; 'b' db E2h; '¢' db BFh; 'õ' db 25h; '%' db BBh; '>' db F6h; 'æ' db D2h; '’' db BDh; '?' db 35h; '5' db 05h; db 69h; 'i' db 12h; db 71h; 'q' db 22h; '"' db 02h; db 04h; db B2h; 'I' db 7Ch; '|' db CFh; '' db CBh; '‹' db B6h; db 2Bh; '+' db 9Ch; '?' db 76h; 'v' db CDh; '' db C0h; '€' db 3Eh; '>' db 11h; db 53h; 'S' db D3h; '“' db E3h; '£' db 40h; '@' db 16h; db 60h; '`' db BDh; '?' db ABh; '<' db 38h; '8' db F0h; 'à' db ADh; '-' db 47h; 'G' db 25h; '%' db 9Ch; '?' db 20h; ' ' db 38h; '8' db BAh; 'ó' db 76h; 'v' db CEh; 'Ž' db 46h; 'F' db F7h; 'ç' db C5h; '…' db A1h; 'ö' db AFh; 'ô' db 77h; 'w' db 60h; '`' db 60h; '`' db 75h; 'u' db 20h; ' ' db 4Eh; 'N' db FEh; 'î' db CBh; '‹' db 85h; ':' db D8h; '˜' db 8Dh; '?' db E8h; '¨' db 8Ah; '?' db B0h; 'ø' db F9h; 'é' db AAh; 'ò' db 7Ah; 'z' db 7Eh; '~' db AAh; 'ò' db F9h; 'é' db 4Ch; 'L' db 5Ch; '\' db C2h; '‚' db 48h; 'H' db 19h; db 8Ch; '?' db 8Ah; '?' db FBh; 'ë' db 02h; db E4h; '¤' db 6Ah; 'j' db C3h; 'ƒ' db 01h; db F9h; 'é' db E1h; '¡' db EBh; '«' db D6h; '–' db 69h; 'i' db F8h; 'è' db D4h; '”' db 90h; '?' db A0h; 'ÿ' db DEh; 'ž' db 5Ch; '\' db A6h; '³' db 2Dh; '-' db 25h; '%' db 09h; db 3Fh; '?' db 9Fh; '?' db E6h; '¦' db 08h; db C2h; '‚' db 32h; '2' db 61h; 'a' db 4Eh; 'N' db B7h; 'ú' db 5Bh; '[' db E2h; '¢' db 77h; 'w' db CEh; 'Ž' db E3h; '£' db DFh; 'Ÿ' db 8Fh; '?' db 57h; 'W' db E6h; '¦' db 72h; 'r' db C3h; 'ƒ' db 3Ah; ':' L004FD290: db 01h; db 00h; db 00h; db 00h; L004FD294: db 0Ah; db 00h; db 00h; db 00h; SSZ004FD298_animdata_mul: db 'animdata.mul',0 Align 4 L004FD2A8: db 72h; 'r' db 62h; 'b' db 00h; db 00h; SSZ004FD2AC_animCrap__Update__either_pointer: db 'animCrap::Update: either pointer ',27h,'pObj',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 SSZ004FD320_animCrap__Update____a____NULL__: db 'animCrap::Update(): a == NULL!',0Ah,0 SSZ004FD340_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\animedit.cxx',0 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; L004FE9BC: 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; L004FE9CC: 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; 'ï' SSZ004FE9DC_IsCovered__pBark____NULL_: db 'IsCovered: pBark == NULL',0Ah,0 Align 4 L004FE9F8: db 20h; ' ' db 00h; db 00h; db 00h; SSZ004FE9FC_framedata_for_CBarkGump: db 'framedata for CBarkGump',0 SSZ004FEA14_bark_gump: db 'bark gump',0 Align 4 SSZ004FEA20_You_see__: db 'You see: ',0 Align 4 L004FEA2C: db 3Ah; ':' db 20h; ' ' db 00h; db 00h; SSZ004FEA30_draggump_framedata: db 'draggump framedata',0 Align 4 SSZ004FEA44_CBarkGump___CBarkGump____frame_0: db 'CBarkGump::~CBarkGump(): frame[0].pBMP == 0xdddddddd ... code would have crashed. setting to zero.',0Ah,0 SSZ004FEAA8_framedata_for_CInputGump: db 'framedata for CInputGump',0 Align 4 SSZ004FEAC4_CInputGump__Redraw___d_bytes_of_: db 'CInputGump::Redraw: %d bytes of pixelFrameMemory at address %p',0Ah,0 SSZ004FEB04__3d_fps__s: db '%3d fps %s',0 Align 4 SSZ004FEB10_CInputGump__RedrawUnicode___d_by: db 'CInputGump::RedrawUnicode: %d bytes of pixelFrameMemory at address %p',0Ah,0 Align 4 SSZ004FEB58_unicode_bark_gump: db 'unicode bark gump',0 Align 4 L004FEB6C: dd 00000012h SSZ004FEB70_bb_frame: db 'bb frame',0 Align 4 SSZ004FEB7C_framedata_for_CBBGump: db 'framedata for CBBGump',0 Align 4 SSZ004FEB94_bulletinboard_gump: db 'bulletinboard gump',0 Align 4 SSZ004FEBA8_BB_framedata: db 'BB framedata',0 Align 4 SSZ004FEBB8_BB_frame0_pBMP: db 'BB frame0 pBMP',0 Align 4 SSZ004FEBC8_Date_Time: db 'Date/Time',0 Align 4 SSZ004FEBD4__s____s___s_: db '%s - %s [%s]',0 Align 4 L004FEBE4: db 41h; 'A' db 71h; 'q' db 00h; db 00h; SSZ004FEBE8_bbline_frame: db 'bbline frame',0 Align 4 SSZ004FEBF8_framedata_for_CBBLineGump: db 'framedata for CBBLineGump',0 Align 4 SSZ004FEC14_bbline_gump: db 'bbline gump',0 SSZ004FEC20_BBLine_framedata: db 'BBLine framedata',0 Align 4 SSZ004FEC34_BBLine_frame0_pBMP: db 'BBLine frame0 pBMP',0 Align 4 SSZ004FEC48_Subject_: db 'Subject:',0 Align 4 SSZ004FEC54_Time_: db 'Time:',0 Align 4 SSZ004FEC5C_Author_: db 'Author:',0 SSZ004FEC64_bbmsg_frame: db 'bbmsg frame',0 SSZ004FEC70_framedata_for_CBBMsgGump: db 'framedata for CBBMsgGump',0 Align 4 SSZ004FEC8C_bbmsg_gump: db 'bbmsg gump',0 Align 4 SSZ004FEC98_BBMsg_framedata: db 'BBMsg framedata',0 SSZ004FECA8_BBMsg_frame1_pBMP: db 'BBMsg frame1 pBMP',0 Align 4 SSZ004FECBC_BBMsg_frame0_pBMP: db 'BBMsg frame0 pBMP',0 Align 4 SSZ004FECD0_bbmsg_frame1: db 'bbmsg frame1',0 Align 4 SSZ004FECE0_bbmsg_frame0: db 'bbmsg frame0',0 Align 4 SSZ004FECF0_bbmsg_frame0_pBMP: db 'bbmsg frame0 pBMP',0 Align 4 L004FED04: db 5Fh; '_' db 00h; db 00h; db 00h; SSZ004FED08_CBigMobComponent__CBigMobCompone: db 'CBigMobComponent::CBigMobComponent: myOwner == NULL',0Ah,0 Align 4 SSZ004FED40_CBigMobComponent___CBigMobCompon: db 'CBigMobComponent::~CBigMobComponent: owner == reinterpret_cast(0xdddddddd) ... code would have crashed. continuing...',0Ah,0 Align 4 SSZ004FEDC8_CBigMobComponent___CBigMobCompon: db 'CBigMobComponent::~CBigMobComponent: prevMobComp == reinterpret_cast(0xdddddddd) ... code would have crashed. continuing...',0Ah,0 SSZ004FEE58_CBigMobComponent___CBigMobCompon: db 'CBigMobComponent::~CBigMobComponent: nextMobComp == reinterpret_cast(0xdddddddd) ... code would have crashed. continuing...',0Ah,0 SSZ004FEEE8_CBigMobComponent__Release__owner: db 'CBigMobComponent::Release: owner == reinterpret_cast(0xdddddddd) ... code would have crashed. continuing...',0Ah,0 Align 4 SSZ004FEF68_CBigMobComponent__DrawClip__r___: db 'CBigMobComponent::DrawClip: r == NULL',0Ah,0 Align 4 SSZ004FEF90_Bad_Circle: db 'Bad Circle',0 Align 4 SSZ004FEF9C_Eighth_Circle: db 'Eighth Circle',0 Align 4 SSZ004FEFAC_Seventh_Circle: db 'Seventh Circle',0 Align 4 SSZ004FEFBC_Sixth_Circle: db 'Sixth Circle',0 Align 4 SSZ004FEFCC_Fifth_Circle: db 'Fifth Circle',0 Align 4 SSZ004FEFDC_Fourth_Circle: db 'Fourth Circle',0 Align 4 SSZ004FEFEC_Third_Circle: db 'Third Circle',0 Align 4 SSZ004FEFFC_Second_Circle: db 'Second Circle',0 Align 4 SSZ004FF00C_First_Circle: db 'First Circle',0 Align 4 SSZ004FF01C_book_gump: db 'book gump',0 Align 4 SSZ004FF028_course_frame0: db 'course frame0',0 Align 4 SSZ004FF038_framedata_for_CCourseGump: db 'framedata for CCourseGump',0 Align 4 SSZ004FF054_book_framedata: db 'book framedata',0 Align 4 SSZ004FF064_book_frame_pBMP: db 'book frame pBMP',0 L004FF074: db 25h; '%' db 64h; 'd' db 00h; db 00h; L004FF078: db 62h; 'b' db 79h; 'y' db 00h; db 00h; SSZ004FF07C_TITLE: db 'TITLE',0 Align 4 SSZ004FF084_Bad_reagent: db 'Bad reagent',0 SSZ004FF090_Black_pearl: db 'Black pearl',0 SSZ004FF09C_Sulfurous_ash: db 'Sulfurous ash',0 Align 4 SSZ004FF0AC_Spiders__silk: db 'Spiders',27h,' silk',0 Align 4 SSZ004FF0BC_Mandrake_root: db 'Mandrake root',0 Align 4 SSZ004FF0CC_Ginseng: db 'Ginseng',0 SSZ004FF0D4_Garlic: db 'Garlic',0 Align 4 SSZ004FF0DC_Nightshade: db 'Nightshade',0 Align 4 SSZ004FF0E8_Bloodmoss: db 'Bloodmoss',0 Align 4 SSZ004FF0F4_spellbook_frame1: db 'spellbook frame1',0 Align 4 SSZ004FF108_framedata_for_CSpellbookGump: db 'framedata for CSpellbookGump',0 Align 4 SSZ004FF128_spellbook_gump: db 'spellbook gump',0 Align 4 SSZ004FF138_spellbook_framedata: db 'spellbook framedata',0 SSZ004FF14C_spellbook_frame2: db 'spellbook frame2',0 Align 4 SSZ004FF160_spellbook_frame_pBMP: db 'spellbook frame pBMP',0 Align 4 SSZ004FF178__d__d: db '%d %d',0 Align 4 SSZ004FF180_Reagents_: db 'Reagents:',0 Align 4 SSZ004FF18C_INDEX: db 'INDEX',0 Align 4 SSZ004FF194_status_frame0: db 'status frame0',0 Align 4 SSZ004FF1A4_framedata_for_CStatusGump: db 'framedata for CStatusGump',0 Align 4 SSZ004FF1C0_spellicon_gump: db 'spellicon gump',0 Align 4 SSZ004FF1D0_spellicon_framedata: db 'spellicon framedata',0 SSZ004FF1E4_spellicon_frame0_pBMP: db 'spellicon frame0 pBMP',0 Align 4 L004FF1FC: dd L004FF26C dd SSZ004FF264_Minoc dd SSZ004FF25C_Britain dd SSZ004FF250_Moonglow dd SSZ004FF248_Trinsic dd SSZ004FF23C_Magincia dd SSZ004FF234_Jhelom dd SSZ004FF228_Skara_Brae dd SSZ004FF220_Vesper SSZ004FF220_Vesper: db 'Vesper',0 Align 4 SSZ004FF228_Skara_Brae: db 'Skara Brae',0 Align 4 SSZ004FF234_Jhelom: db 'Jhelom',0 Align 4 SSZ004FF23C_Magincia: db 'Magincia',0 Align 4 SSZ004FF248_Trinsic: db 'Trinsic',0 SSZ004FF250_Moonglow: db 'Moonglow',0 Align 4 SSZ004FF25C_Britain: db 'Britain',0 SSZ004FF264_Minoc: db 'Minoc',0 Align 4 L004FF26C: db 59h; 'Y' db 65h; 'e' db 77h; 'w' db 00h; SSZ004FF270_text_frame0: db 'text frame0',0 SSZ004FF27C_map_gump: db 'map gump',0 Align 4 SSZ004FF288_framedata_for_CBritMapGump: db 'framedata for CBritMapGump',0 Align 4 SSZ004FF2A4_CityChoice_framedata: db 'CityChoice framedata',0 Align 4 SSZ004FF2BC_CityChoice_frame0_pBMP: db 'CityChoice frame0 pBMP',0 Align 4 L004FF2D4: db 0Ah; db 0Ah; db 00h; db 00h; SSZ004FF2D8__END: db '.END',0 Align 4 SSZ004FF2E0_citytext: db 'citytext',0 Align 4 SSZ004FF2EC_multi: db 'multi',0 Align 4 SSZ004FF2F4_objlist: db 'objlist',0 SSZ004FF2FC_Quit_________Ultima_Online_: db 'Quit Ultima Online?',0 SSZ004FF318_Too_many_skill_groups_: db 'Too many skill groups.',0 Align 4 SSZ004FF330_New_Group: db 'New Group',0 Align 4 SSZ004FF33C_Unacceptable_name_: db 'Unacceptable name.',0 Align 4 SSZ004FF350_Your_character_name_is_too_short: db 'Your character name is too short.',0 Align 4 SSZ004FF374_You_must_have_three_unique_skill: db 'You must have three unique skills chosen!',0 Align 4 SSZ004FF3A0_No_character_to_login_with_: db 'No character to login with.',0 SSZ004FF3BC_You_already_have_5_characters_: db 'You already have 5 characters.',0 Align 4 SSZ004FF3DC_No_character_to_delete_: db 'No character to delete.',0 SSZ004FF3F4_Deleting_character____: db 'Deleting character... ',0 Align 4 L004FF40C: db 79h; 'y' db 65h; 'e' db 73h; 's' db 00h; L004FF410: db 6Eh; 'n' db 6Fh; 'o' db 00h; db 00h; SSZ004FF414_Couldn_t_connect_to_Ultima_Onlin: db 'Couldn',27h,'t connect to Ultima Online. Please try again in a few moments.',0 Align 4 SSZ004FF45C_Connecting____: db 'Connecting... ',0 Align 4 L004FF46C: db 6Fh; 'o' db 66h; 'f' db 66h; 'f' db 00h; L004FF470: db 6Fh; 'o' db 6Eh; 'n' db 00h; db 00h; SSZ004FF474_RE___s: db 'RE: %s',0 Align 4 SSZ004FF47C_https___my_uo_com_cgi_bin_gms_we: db 'https://my.uo.com/cgi-bin/gms_web.pl',0 Align 4 SSZ004FF4A4_my_uo_com: db 'my.uo.com',0 Align 4 SSZ004FF4B0_ultima_registration_com: db 'ultima-registration.com',0 SSZ004FF4C8_support_uo_com: db 'support.uo.com',0 Align 4 SSZ004FF4D8_necromancy: db 'necromancy',0 Align 4 SSZ004FF4E4_remove_trap: db 'remove trap',0 SSZ004FF4F0_stealth: db 'stealth',0 SSZ004FF4F8_Warrior: db 'Warrior',0 SSZ004FF500_Tinker: db 'Tinker',0 Align 4 SSZ004FF508_Ranger: db 'Ranger',0 Align 4 SSZ004FF510_Healer: db 'Healer',0 Align 4 SSZ004FF518_Bowyer: db 'Bowyer',0 Align 4 SSZ004FF520_Blacksmith: db 'Blacksmith',0 Align 4 SSZ004FF52C_Bard: db 'Bard',0 Align 4 SSZ004FF534_Assassin: db 'Assassin',0 Align 4 SSZ004FF540_Alchemist: db 'Alchemist',0 Align 4 SSZ004FF54C_Topknot: db 'Topknot',0 SSZ004FF554_2_Tails: db '2 Tails',0 SSZ004FF55C_Receding: db 'Receding',0 Align 4 SSZ004FF568_Curly: db 'Curly',0 Align 4 SSZ004FF570_Buns: db 'Buns',0 Align 4 SSZ004FF578_Pageboy: db 'Pageboy',0 SSZ004FF580_Mohawk: db 'Mohawk',0 Align 4 SSZ004FF588_Long: db 'Long',0 Align 4 SSZ004FF590_Short: db 'Short',0 Align 4 SSZ004FF598_NONE: db 'NONE',0 Align 4 SSZ004FF5A0_Vandyke: db 'Vandyke',0 SSZ004FF5A8_Long_beard_moustache: db 'Long beard/moustache',0 Align 4 SSZ004FF5C0_Short_beard_moustache: db 'Short beard/moustache',0 Align 4 SSZ004FF5D8_Moustache: db 'Moustache',0 Align 4 SSZ004FF5E4_Short_beard: db 'Short beard',0 SSZ004FF5F0_Long_beard: db 'Long beard',0 Align 4 SSZ004FF5FC_Goatee: db 'Goatee',0 Align 4 SSZ004FF604_gump_background: db 'gump background',0 SSZ004FF614_Must_choose_one_to_continue_: db 'Must choose one to continue.',0 Align 4 SSZ004FF634_Passwords_did_not_match_: db 'Passwords did not match!',0 Align 4 SSZ004FF650_Password_incorrect_: db 'Password incorrect!',0 SSZ004FF664_framedata_for_CButtonGump: db 'framedata for CButtonGump',0 Align 4 SSZ004FF680_Button_gump: db 'Button gump',0 SSZ004FF68C_ButtonGump_framedata: db 'ButtonGump framedata',0 Align 4 SSZ004FF6A4_ButtonGump_frame1_pBMP: db 'ButtonGump frame1 pBMP',0 Align 4 SSZ004FF6BC_ButtonGump_frame0_pBMP: db 'ButtonGump frame0 pBMP',0 Align 4 SSZ004FF6D4_framedata_for_CThumbGump: db 'framedata for CThumbGump',0 Align 4 SSZ004FF6F0_Thumb_gump: db 'Thumb gump',0 Align 4 L004FF6FC: dd SSZ004FF8A4_NW__top_ dd SSZ004FF894_N__topright_ dd SSZ004FF888_NE__right_ dd SSZ004FF878_E__bottomright_ dd SSZ004FF86C_SE__bottom_ dd SSZ004FF85C_S__bottomleft_ dd SSZ004FF850_SW__left_ dd SSZ004FF844_W__topleft_ L004FF71C: db 00h; db 00h; db 00h; db 00h; L004FF720: dd L004FF840 dd L004FF83C dd L004FF838 dd L004FF834 dd L004FF830 dd L004FF82C dd L004FF828 dd L004FF824 L004FF740: db 00h; db 00h; db 00h; db 00h; L004FF744: dd SSZ004FF814_Configuration L004FF748: dd SSZ004FF808_Paperdoll dd SSZ004FF800_Status dd SSZ004FF7F8_Journal dd SSZ004FF7F0_Skills dd SSZ004FF7E4_Spellbook dd SSZ004FF7DC_Chat dd SSZ004FF7D0_Backpack dd SSZ004FF7C4_Overview dd SSZ004FF7BC_Mail dd SSZ004FF7AC_PartyManifest dd SSZ004FF7A0_PartyChat db 00h; db 00h; db 00h; db 00h; L004FF778: 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; db 00h; db 00h; db 00h; db 00h; SSZ004FF7A0_PartyChat: db 'PartyChat',0 Align 4 SSZ004FF7AC_PartyManifest: db 'PartyManifest',0 Align 4 SSZ004FF7BC_Mail: db 'Mail',0 Align 4 SSZ004FF7C4_Overview: db 'Overview',0 Align 4 SSZ004FF7D0_Backpack: db 'Backpack',0 Align 4 SSZ004FF7DC_Chat: db 'Chat',0 Align 4 SSZ004FF7E4_Spellbook: db 'Spellbook',0 Align 4 SSZ004FF7F0_Skills: db 'Skills',0 Align 4 SSZ004FF7F8_Journal: db 'Journal',0 SSZ004FF800_Status: db 'Status',0 Align 4 SSZ004FF808_Paperdoll: db 'Paperdoll',0 Align 4 SSZ004FF814_Configuration: db 'Configuration',0 Align 4 L004FF824: db 57h; 'W' db 00h; db 00h; db 00h; L004FF828: db 53h; 'S' db 57h; 'W' db 00h; db 00h; L004FF82C: db 53h; 'S' db 00h; db 00h; db 00h; L004FF830: db 53h; 'S' db 45h; 'E' db 00h; db 00h; L004FF834: db 45h; 'E' db 00h; db 00h; db 00h; L004FF838: db 4Eh; 'N' db 45h; 'E' db 00h; db 00h; L004FF83C: db 4Eh; 'N' db 00h; db 00h; db 00h; L004FF840: db 4Eh; 'N' db 57h; 'W' db 00h; db 00h; SSZ004FF844_W__topleft_: db 'W (topleft)',0 SSZ004FF850_SW__left_: db 'SW (left)',0 Align 4 SSZ004FF85C_S__bottomleft_: db 'S (bottomleft)',0 Align 4 SSZ004FF86C_SE__bottom_: db 'SE (bottom)',0 SSZ004FF878_E__bottomright_: db 'E (bottomright)',0 SSZ004FF888_NE__right_: db 'NE (right)',0 Align 4 SSZ004FF894_N__topright_: db 'N (topright)',0 Align 4 SSZ004FF8A4_NW__top_: db 'NW (top)',0 Align 4 SSZ004FF8B0_Click_to_edit_Profanity_List: db 'Click to edit Profanity List',0 Align 4 SSZ004FF8D0__new_: db '(new)',0 Align 4 SSZ004FF8D8_cfg_frame1: db 'cfg frame1',0 Align 4 SSZ004FF8E4_cfg_frame0: db 'cfg frame0',0 Align 4 SSZ004FF8F0_togglectrl_frame0: db 'togglectrl frame0',0 Align 4 SSZ004FF904_framedata_for_CToggleControlGump: db 'framedata for CToggleControlGump',0 Align 4 SSZ004FF928_ToggleControl_gump: db 'ToggleControl gump',0 Align 4 SSZ004FF93C_ToggleControl_framedata: db 'ToggleControl framedata',0 SSZ004FF954_ToggleControl_frame0_pBMP: db 'ToggleControl frame0 pBMP',0 Align 4 SSZ004FF970_framedata_for_CEditListGump: db 'framedata for CEditListGump',0 SSZ004FF98C_edit_list_gump: db 'edit list gump',0 Align 4 SSZ004FF99C_editlist_framedata: db 'editlist framedata',0 Align 4 SSZ004FF9B0_editlist_frame0_pBMP: db 'editlist frame0 pBMP',0 Align 4 SSZ004FF9C8_Right_Hand: db 'Right Hand',0 Align 4 SSZ004FF9D4_Left_Hand: db 'Left Hand',0 Align 4 SSZ004FF9E0_macrocmd_frame0: db 'macrocmd frame0',0 SSZ004FF9F0_macro_cmd_gump: db 'macro cmd gump',0 Align 4 SSZ004FFA00_framedata_for_CMacroCmdGump: db 'framedata for CMacroCmdGump',0 SSZ004FFA1C_macro_cmd_framedata: db 'macro cmd framedata',0 SSZ004FFA30_macro_cmd_frame0_pBMP: db 'macro cmd frame0 pBMP',0 Align 4 SSZ004FFA48__NONE_: db '(NONE)',0 Align 4 SSZ004FFA50_framedata_for_CMacroListGump: db 'framedata for CMacroListGump',0 Align 4 SSZ004FFA70_macro_list_gump: db 'macro list gump',0 SSZ004FFA80_MacroList_framedata: db 'MacroList framedata',0 SSZ004FFA94_MacroList_frame0_pBMP: db 'MacroList frame0 pBMP',0 db 00h; db 00h; db 05h; db 00h; db 00h; db 00h; 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; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 48h; 'H' db FBh; 'ë' db 4Fh; 'O' db 00h; db 40h; '@' db FBh; 'ë' db 4Fh; 'O' db 00h; db 38h; '8' db FBh; 'ë' db 4Fh; 'O' db 00h; db 30h; '0' db FBh; 'ë' db 4Fh; 'O' db 00h; db 28h; '(' db FBh; 'ë' db 4Fh; 'O' db 00h; db 20h; ' ' db FBh; 'ë' db 4Fh; 'O' db 00h; db 1Ch; db FBh; 'ë' db 4Fh; 'O' db 00h; db 18h; db FBh; 'ë' db 4Fh; 'O' db 00h; db 14h; db FBh; 'ë' db 4Fh; 'O' db 00h; db FCh; 'ì' db 49h; 'I' db 70h; 'p' db 00h; db 48h; 'H' db FBh; 'ë' db 4Fh; 'O' db 00h; db 40h; '@' db FBh; 'ë' db 4Fh; 'O' db 00h; db 38h; '8' db FBh; 'ë' db 4Fh; 'O' db 00h; db 30h; '0' db FBh; 'ë' db 4Fh; 'O' db 00h; db 28h; '(' db FBh; 'ë' db 4Fh; 'O' db 00h; db 20h; ' ' db FBh; 'ë' db 4Fh; 'O' db 00h; db 1Ch; db FBh; 'ë' db 4Fh; 'O' db 00h; db 18h; db FBh; 'ë' db 4Fh; 'O' db 00h; db 14h; db FBh; 'ë' db 4Fh; 'O' db 00h; db FCh; 'ì' db 49h; 'I' db 70h; 'p' db 00h; db 33h; '3' db 00h; db 00h; db 00h; L004FFB18: db 32h; '2' db 00h; db 00h; db 00h; L004FFB1C: db 31h; '1' db 00h; db 00h; db 00h; db 36h; '6' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 35h; '5' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 33h; '3' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 32h; '2' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 67h; 'g' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; db 00h; db 00h; SSZ004FFB50_Facial_Hair_Color: db 'Facial Hair Color',0 Align 4 SSZ004FFB64_Hair_Color: db 'Hair Color',0 Align 4 SSZ004FFB70_Skirt_Color: db 'Skirt Color',0 SSZ004FFB7C_Pants_Color: db 'Pants Color',0 SSZ004FFB88_Shirt_Color: db 'Shirt Color',0 SSZ004FFB94_Skin_Tone: db 'Skin Tone',0 Align 4 SSZ004FFBA0_Facial_Hair_Style: db 'Facial Hair Style',0 Align 4 SSZ004FFBB4_Hair_Style: db 'Hair Style',0 Align 4 SSZ004FFBC0_dumb_frame0: db 'dumb frame0',0 SSZ004FFBCC_framedata_for_CDumbGump: db 'framedata for CDumbGump',0 SSZ004FFBE4_Pony_Tail: db 'Pony Tail',0 Align 4 SSZ004FFBF0_CharCreation_gump: db 'CharCreation gump',0 Align 4 SSZ004FFC04_CharCreation_framedata: db 'CharCreation framedata',0 Align 4 SSZ004FFC1C_CharCreation_frame0_pBMP: db 'CharCreation frame0 pBMP',0 Align 4 SSZ004FFC38_Sort_by_: db 'Sort by:',0 Align 4 SSZ004FFC44_framedata_for_CScrollChoiceGump: db 'framedata for CScrollChoiceGump',0 SSZ004FFC64_scrollchoice_gump: db 'scrollchoice gump',0 Align 4 SSZ004FFC78_scrollchoice_framedata: db 'scrollchoice framedata',0 Align 4 SSZ004FFC90_scrollchoice_frame0_pBMP: db 'scrollchoice frame0 pBMP',0 Align 4 SSZ004FFCAC_CPanelChoiceGump: db 'CPanelChoiceGump',0 Align 4 SSZ004FFCC0_InputControl_framedata: db 'InputControl framedata',0 Align 4 SSZ004FFCD8_InputControl_frame0_pBMP: db 'InputControl frame0 pBMP',0 Align 4 SSZ004FFCF4_inpctrl_frame0: db 'inpctrl frame0',0 Align 4 SSZ004FFD04_framedata_for_CInputControlGump: db 'framedata for CInputControlGump',0 SSZ004FFD24_InputControl_gump: db 'InputControl gump',0 Align 4 SSZ004FFD38_Select_a_player_: db 'Select a player.',0 Align 4 SSZ004FFD4C_Not_a_mobile_: db 'Not a mobile.',0 Align 4 SSZ004FFD5C__mobile_: db '(mobile)',0 Align 4 SSZ004FFD68_framedata_for_CListBoxControlGum: db 'framedata for CListBoxControlGump',0 Align 4 SSZ004FFD8C_ListBoxControl_gump: db 'ListBoxControl gump',0 SSZ004FFDA0_ListBoxControl_framedata: db 'ListBoxControl framedata',0 Align 4 SSZ004FFDBC_ListBoxControl_frame0_pBMP: db 'ListBoxControl frame0 pBMP',0 Align 4 SSZ004FFDD8_listboxctrl_frame0: db 'listboxctrl frame0',0 Align 4 SSZ004FFDEC_Save_Password: db 'Save Password',0 Align 4 L004FFDFC: db 2Dh; '-' db 31h; '1' db 00h; db 00h; SSZ004FFE00_Password: db 'Password',0 Align 4 SSZ004FFE0C_Account_Name: db 'Account Name',0 Align 4 SSZ004FFE1C_UO_Version__s_: db 'UO Version %s.',0 Align 4 SSZ004FFE2C_Log_in_to_Ultima_Online: db 'Log in to Ultima Online',0 SSZ004FFE44_AcctLogin_gump: db 'AcctLogin gump',0 Align 4 SSZ004FFE54_framedata_for_CAcctLoginGump: db 'framedata for CAcctLoginGump',0 Align 4 SSZ004FFE74_AcctLogin_framedata: db 'AcctLogin framedata',0 SSZ004FFE88_AcctLogin_frame0_pBMP: db 'AcctLogin frame0 pBMP',0 Align 4 SSZ004FFEA0_Permanently_delete__s_: db 'Permanently delete %s?',0 Align 4 SSZ004FFEB8_DeleteChar_gump: db 'DeleteChar gump',0 SSZ004FFEC8_DeleteChar_framedata: db 'DeleteChar framedata',0 Align 4 SSZ004FFEE0_DeleteChar_frame0_pBMP: db 'DeleteChar frame0 pBMP',0 Align 4 SSZ004FFEF8_Play_as__s_: db 'Play as %s?',0 SSZ004FFF04_framedata_for_CPlayCharGump: db 'framedata for CPlayCharGump',0 SSZ004FFF20_PlayChar_gump: db 'PlayChar gump',0 Align 4 SSZ004FFF30_PlayChar_framedata: db 'PlayChar framedata',0 Align 4 SSZ004FFF44_PlayChar_frame0_pBMP: db 'PlayChar frame0 pBMP',0 Align 4 SSZ004FFF5C_framedata_for_CYesNoGump: db 'framedata for CYesNoGump',0 Align 4 SSZ004FFF78_YesNo_gump: db 'YesNo gump',0 Align 4 SSZ004FFF84_YesNo_framedata: db 'YesNo framedata',0 SSZ004FFF94_YesNo_frame0_pBMP: db 'YesNo frame0 pBMP',0 Align 4 SSZ004FFFA8_MainMenu_gump: db 'MainMenu gump',0 Align 4 SSZ004FFFB8_MainMenu_framedata: db 'MainMenu framedata',0 Align 4 SSZ004FFFCC_MainMenu_frame0_pBMP: db 'MainMenu frame0 pBMP',0 Align 4 L004FFFE4: db 2Ah; '*' db 00h; db 00h; db 00h; SSZ004FFFE8_tutorial_gump: db 'tutorial gump',0 Align 4 L004FFFF8: dd 00007C1Fh L004FFFFC: dd 00007FFFh L00500000: dd 00007FE0h SSZ00500004_ChatDialog_framedata: db 'ChatDialog framedata',0 Align 4 SSZ0050001C_ChatDialog_frame0: db 'ChatDialog frame0',0 Align 4 L00500030: dd 00000100h L00500034: dd FFFFFFFFh SSZ00500038_chat: db 'chat',0 Align 4 SSZ00500040_ChatGump_frame1: db 'ChatGump frame1',0 SSZ00500050_ChatGump_framedata: db 'ChatGump framedata',0 Align 4 SSZ00500064_ChatBorder_frame0: db 'ChatBorder frame0',0 Align 4 SSZ00500078_ChatBorder_framedata: db 'ChatBorder framedata',0 Align 4 SSZ00500090_ChatScrollBar_frame0: db 'ChatScrollBar frame0',0 Align 4 SSZ005000A8_ChatScrollBar_framedata: db 'ChatScrollBar framedata',0 L005000C0: dd 00000006h SSZ005000C4_ChatTextBox_frame0: db 'ChatTextBox frame0',0 Align 4 SSZ005000D8_ChatTextBox_framedata: db 'ChatTextBox framedata',0 Align 4 L005000F0: db 5Fh; '_' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L005000F8: dd 0000001Eh L005000FC: db 01h; db 00h; db 00h; db 00h; L00500100: dd SSZ00500ED0_uo_cfg L00500104: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L00500108: dd 000003E0h db 00h; db 00h; db 00h; db 00h; L00500110: dd SSZ00500EC0_CdRomDataPath L00500114: db 00h; db 00h; db 00h; db 00h; db B4h; '?' db 0Eh; db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db ACh; '¿' db 0Eh; db 50h; 'P' db 00h; db 02h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 0Eh; db 50h; 'P' db 00h; db 03h; db 00h; db 00h; db 00h; db 00h; db FEh; 'î' db 4Fh; 'O' db 00h; db 04h; db 00h; db 00h; db 00h; db 98h; '?' db 0Eh; db 50h; 'P' db 00h; db 05h; db 00h; db 00h; db 00h; db 8Ch; '?' db 0Eh; db 50h; 'P' db 00h; db 06h; db 00h; db 00h; db 00h; db 84h; '"' db 0Eh; db 50h; 'P' db 00h; db 07h; db 00h; db 00h; db 00h; db 78h; 'x' db 0Eh; db 50h; 'P' db 00h; db 08h; db 00h; db 00h; db 00h; db 68h; 'h' db 0Eh; db 50h; 'P' db 00h; db 09h; db 00h; db 00h; db 00h; db 5Ch; '\' db 0Eh; db 50h; 'P' db 00h; db 0Ah; db 00h; db 00h; db 00h; db 4Ch; 'L' db 0Eh; db 50h; 'P' db 00h; db 0Bh; db 00h; db 00h; db 00h; db 40h; '@' db 0Eh; db 50h; 'P' db 00h; db 0Ch; db 00h; db 00h; db 00h; db 30h; '0' db 0Eh; db 50h; 'P' db 00h; db 0Dh; db 00h; db 00h; db 00h; db 20h; ' ' db 0Eh; db 50h; 'P' db 00h; db 0Eh; db 00h; db 00h; db 00h; db 10h; db 0Eh; db 50h; 'P' db 00h; db 0Fh; db 00h; db 00h; db 00h; db 04h; db 0Eh; db 50h; 'P' db 00h; db 10h; db 00h; db 00h; db 00h; db F4h; 'ä' db 0Dh; db 50h; 'P' db 00h; db 11h; db 00h; db 00h; db 00h; db E0h; ' ' db 0Dh; db 50h; 'P' db 00h; db 12h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 0Dh; db 50h; 'P' db 00h; db 13h; db 00h; db 00h; db 00h; db BCh; '?' db 0Dh; db 50h; 'P' db 00h; db 14h; db 00h; db 00h; db 00h; db B4h; '?' db 0Dh; db 50h; 'P' db 00h; db 15h; db 00h; db 00h; db 00h; db A4h; 'ý' db 0Dh; db 50h; 'P' db 00h; db 16h; db 00h; db 00h; db 00h; db 9Ch; '?' db 0Dh; db 50h; 'P' db 00h; db 17h; db 00h; db 00h; db 00h; db 8Ch; '?' db 0Dh; db 50h; 'P' db 00h; db 18h; db 00h; db 00h; db 00h; db 7Ch; '|' db 0Dh; db 50h; 'P' db 00h; db 19h; db 00h; db 00h; db 00h; db 70h; 'p' db 0Dh; db 50h; 'P' db 00h; db 1Ah; db 00h; db 00h; db 00h; db 64h; 'd' db 0Dh; db 50h; 'P' db 00h; db 1Ch; db 00h; db 00h; db 00h; db 50h; 'P' db 0Dh; db 50h; 'P' db 00h; db 1Bh; db 00h; db 00h; db 00h; db 40h; '@' db 0Dh; db 50h; 'P' db 00h; db 1Dh; db 00h; db 00h; db 00h; db 34h; '4' db 0Dh; db 50h; 'P' db 00h; db 1Eh; db 00h; db 00h; db 00h; db 24h; '$' db 0Dh; db 50h; 'P' db 00h; db 1Fh; db 00h; db 00h; db 00h; db 18h; db 0Dh; db 50h; 'P' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; db 04h; db 0Dh; db 50h; 'P' db 00h; db 21h; '!' db 00h; db 00h; db 00h; db FCh; 'ì' db 0Ch; db 50h; 'P' db 00h; db 22h; '"' db 00h; db 00h; db 00h; db ECh; '¬' db 0Ch; db 50h; 'P' db 00h; db 23h; '#' db 00h; db 00h; db 00h; db DCh; 'œ' db 0Ch; db 50h; 'P' db 00h; db 24h; '$' db 00h; db 00h; db 00h; db CCh; 'Œ' db 0Ch; db 50h; 'P' db 00h; db 25h; '%' db 00h; db 00h; db 00h; db C0h; '€' db 0Ch; db 50h; 'P' db 00h; db 26h; '&' db 00h; db 00h; db 00h; db B8h; 'ñ' db 0Ch; db 50h; 'P' db 00h; db 28h; '(' db 00h; db 00h; db 00h; db ACh; '¿' db 0Ch; db 50h; 'P' db 00h; db 27h; ''' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 0Ch; db 50h; 'P' db 00h; db 29h; ')' db 00h; db 00h; db 00h; db 94h; '"' db 0Ch; db 50h; 'P' db 00h; db 2Ah; '*' db 00h; db 00h; db 00h; db 84h; '"' db 0Ch; db 50h; 'P' db 00h; db 2Bh; '+' db 00h; db 00h; db 00h; db 70h; 'p' db 0Ch; db 50h; 'P' db 00h; db 2Ch; ',' db 00h; db 00h; db 00h; db 60h; '`' db 0Ch; db 50h; 'P' db 00h; db 2Dh; '-' db 00h; db 00h; db 00h; db 50h; 'P' db 0Ch; db 50h; 'P' db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 3Ch; '<' db 0Ch; db 50h; 'P' db 00h; db 2Fh; '/' db 00h; db 00h; db 00h; db 2Ch; ',' db 0Ch; db 50h; 'P' db 00h; db 30h; '0' db 00h; db 00h; db 00h; db 20h; ' ' db 0Ch; db 50h; 'P' db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 14h; db 0Ch; db 50h; 'P' db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 08h; db 0Ch; db 50h; 'P' db 00h; db 33h; '3' db 00h; db 00h; db 00h; db 00h; db 0Ch; db 50h; 'P' db 00h; db 34h; '4' db 00h; db 00h; db 00h; db F4h; 'ä' db 0Bh; db 50h; 'P' db 00h; db 35h; '5' db 00h; db 00h; db 00h; db E0h; ' ' db 0Bh; db 50h; 'P' db 00h; db 36h; '6' db 00h; db 00h; db 00h; db D0h; '' db 0Bh; db 50h; 'P' db 00h; db 37h; '7' db 00h; db 00h; db 00h; db C0h; '€' db 0Bh; db 50h; 'P' db 00h; db 38h; '8' db 00h; db 00h; db 00h; db B0h; 'ø' db 0Bh; db 50h; 'P' db 00h; db 39h; '9' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 0Bh; db 50h; 'P' db 00h; db 3Ah; ':' db 00h; db 00h; db 00h; db 8Ch; '?' db 0Bh; db 50h; 'P' db 00h; db 3Bh; ';' db 00h; db 00h; db 00h; db 80h; '?' db 0Bh; db 50h; 'P' db 00h; db 3Ch; '<' db 00h; db 00h; db 00h; db 68h; 'h' db 0Bh; db 50h; 'P' db 00h; db 3Dh; '=' db 00h; db 00h; db 00h; db 58h; 'X' db 0Bh; db 50h; 'P' db 00h; db 3Eh; '>' db 00h; db 00h; db 00h; db 48h; 'H' db 0Bh; db 50h; 'P' db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 3Ch; '<' db 0Bh; db 50h; 'P' db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 2Ch; ',' db 0Bh; db 50h; 'P' db 00h; db 41h; 'A' db 00h; db 00h; db 00h; db 18h; db 0Bh; db 50h; 'P' db 00h; db 42h; 'B' db 00h; db 00h; db 00h; db 04h; db 0Bh; db 50h; 'P' db 00h; db 43h; 'C' db 00h; db 00h; db 00h; db F0h; 'à' db 0Ah; db 50h; 'P' db 00h; db 44h; 'D' db 00h; db 00h; db 00h; db DCh; 'œ' db 0Ah; db 50h; 'P' db 00h; db 45h; 'E' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 0Ah; db 50h; 'P' db 00h; db 46h; 'F' db 00h; db 00h; db 00h; db B4h; '?' db 0Ah; db 50h; 'P' db 00h; db 47h; 'G' db 00h; db 00h; db 00h; db A4h; 'ý' db 0Ah; db 50h; 'P' db 00h; db 48h; 'H' db 00h; db 00h; db 00h; db 94h; '"' db 0Ah; db 50h; 'P' db 00h; db 49h; 'I' db 00h; db 00h; db 00h; db 80h; '?' db 0Ah; db 50h; 'P' db 00h; db 4Ah; 'J' db 00h; db 00h; db 00h; db 70h; 'p' db 0Ah; db 50h; 'P' db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 58h; 'X' db 0Ah; db 50h; 'P' db 00h; db 4Ch; 'L' db 00h; db 00h; db 00h; db 34h; '4' db 0Ah; db 50h; 'P' db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 14h; db 0Ah; db 50h; 'P' db 00h; db 4Eh; 'N' db 00h; db 00h; db 00h; db F8h; 'è' db 09h; db 50h; 'P' db 00h; db 4Fh; 'O' db 00h; db 00h; db 00h; db E0h; ' ' db 09h; db 50h; 'P' db 00h; db 50h; 'P' db 00h; db 00h; db 00h; db C4h; '„' db 09h; db 50h; 'P' db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db A8h; 'ð' db 09h; db 50h; 'P' db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 98h; '?' db 09h; db 50h; 'P' db 00h; db 53h; 'S' db 00h; db 00h; db 00h; db 88h; '?' db 09h; db 50h; 'P' db 00h; db 54h; 'T' db 00h; db 00h; db 00h; db 78h; 'x' db 09h; db 50h; 'P' db 00h; db 55h; 'U' db 00h; db 00h; db 00h; db 68h; 'h' db 09h; db 50h; 'P' db 00h; db 56h; 'V' db 00h; db 00h; db 00h; db 58h; 'X' db 09h; db 50h; 'P' db 00h; db 57h; 'W' db 00h; db 00h; db 00h; db 48h; 'H' db 09h; db 50h; 'P' db 00h; db 58h; 'X' db 00h; db 00h; db 00h; db 30h; '0' db 09h; db 50h; 'P' db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 18h; db 09h; db 50h; 'P' db 00h; db 5Ah; 'Z' db 00h; db 00h; db 00h; db 00h; db 09h; db 50h; 'P' db 00h; db 5Bh; '[' db 00h; db 00h; db 00h; db E8h; '¨' db 08h; db 50h; 'P' db 00h; db 5Ch; '\' db 00h; db 00h; db 00h; db D4h; '”' db 08h; db 50h; 'P' db 00h; db 5Dh; ']' db 00h; db 00h; db 00h; db BCh; '?' db 08h; db 50h; 'P' db 00h; db 5Eh; '^' db 00h; db 00h; db 00h; db A8h; 'ð' db 08h; db 50h; 'P' db 00h; db 5Fh; '_' db 00h; db 00h; db 00h; db 9Ch; '?' db 08h; db 50h; 'P' db 00h; db 60h; '`' db 00h; db 00h; db 00h; db 8Ch; '?' db 08h; db 50h; 'P' db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 80h; '?' db 08h; db 50h; 'P' db 00h; db 61h; 'a' db 00h; db 00h; db 00h; db 6Ch; 'l' db 08h; db 50h; 'P' db 00h; db 63h; 'c' db 00h; db 00h; db 00h; db 58h; 'X' db 08h; db 50h; 'P' db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 44h; 'D' db 08h; db 50h; 'P' db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 30h; '0' db 08h; db 50h; 'P' db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 1Ch; db 08h; db 50h; 'P' db 00h; db 67h; 'g' db 00h; db 00h; db 00h; db 0Ch; db 08h; db 50h; 'P' db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db F8h; 'è' db 07h; db 50h; 'P' db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db E4h; '¤' db 07h; db 50h; 'P' db 00h; db 6Ah; 'j' db 00h; db 00h; db 00h; db D8h; '˜' db 07h; db 50h; 'P' db 00h; db 6Bh; 'k' db 00h; db 00h; db 00h; db CCh; 'Œ' db 07h; db 50h; 'P' db 00h; db 6Ch; 'l' db 00h; db 00h; db 00h; db B8h; 'ñ' db 07h; db 50h; 'P' db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db A4h; 'ý' db 07h; db 50h; 'P' db 00h; db 6Eh; 'n' db 00h; db 00h; db 00h; db 88h; '?' db 07h; db 50h; 'P' db 00h; db 6Fh; 'o' db 00h; db 00h; db 00h; db 68h; 'h' db 07h; db 50h; 'P' db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db 44h; 'D' db 07h; db 50h; 'P' db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 18h; db 07h; db 50h; 'P' db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db F0h; 'à' db 06h; db 50h; 'P' db 00h; db 73h; 's' db 00h; db 00h; db 00h; db D4h; '”' db 06h; db 50h; 'P' db 00h; db 74h; 't' db 00h; db 00h; db 00h; db C0h; '€' db 06h; db 50h; 'P' db 00h; db 76h; 'v' db 00h; db 00h; db 00h; db B4h; '?' db 06h; db 50h; 'P' db 00h; db 75h; 'u' db 00h; db 00h; db 00h; db 98h; '?' db 06h; db 50h; 'P' db 00h; db 77h; 'w' db 00h; db 00h; db 00h; db 7Ch; '|' db 06h; db 50h; 'P' db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 5Ch; '\' db 06h; db 50h; 'P' db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 4Ch; 'L' db 06h; db 50h; 'P' db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 40h; '@' db 06h; db 50h; 'P' db 00h; db 7Bh; '{' db 00h; db 00h; db 00h; db 2Ch; ',' db 06h; db 50h; 'P' db 00h; db 7Ch; '|' db 00h; db 00h; db 00h; db 1Ch; db 06h; db 50h; 'P' db 00h; db 7Dh; '}' db 00h; db 00h; db 00h; db 08h; db 06h; db 50h; 'P' db 00h; db 7Eh; '~' db 00h; db 00h; db 00h; db FCh; 'ì' db 05h; db 50h; 'P' db 00h; db 7Fh; '' db 00h; db 00h; db 00h; db ECh; '¬' db 05h; db 50h; 'P' db 00h; db 80h; '?' db 00h; db 00h; db 00h; db E0h; ' ' db 05h; db 50h; 'P' db 00h; db 81h; '?' db 00h; db 00h; db 00h; db D4h; '”' db 05h; db 50h; 'P' db 00h; db 82h; ''' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 05h; db 50h; 'P' db 00h; db 83h; '?' db 00h; db 00h; db 00h; db B8h; 'ñ' db 05h; db 50h; 'P' db 00h; db 84h; '"' db 00h; db 00h; db 00h; db A8h; 'ð' db 05h; db 50h; 'P' db 00h; db 85h; ':' db 00h; db 00h; db 00h; db A0h; 'ÿ' db 05h; db 50h; 'P' db 00h; db 86h; 'Å' db 00h; db 00h; db 00h; db 90h; '?' db 05h; db 50h; 'P' db 00h; db 87h; 'Ø' db 00h; db 00h; db 00h; db 80h; '?' db 05h; db 50h; 'P' db 00h; db 88h; '?' db 00h; db 00h; db 00h; db 74h; 't' db 05h; db 50h; 'P' db 00h; db 89h; '%' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ah; '?' db 00h; db 00h; db 00h; L00500568: dd 00000001h L0050056C: dd FFFFFFFFh L00500570: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 44h; 'D' db 65h; 'e' db 73h; 's' db 6Fh; 'o' db 6Ch; 'l' db 61h; 'a' db 74h; 't' db 69h; 'i' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 00h; db 54h; 'T' db 72h; 'r' db 65h; 'e' db 65h; 'e' db 43h; 'C' db 61h; 'a' db 6Eh; 'n' db 6Fh; 'o' db 70h; 'p' db 69h; 'i' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 00h; db 00h; SSZ00500590_NumPassTries: db 'NumPassTries',0 db 00h; db 00h; db 00h; db 53h; 'S' db 65h; 'e' db 61h; 'a' db 73h; 's' db 6Fh; 'o' db 6Eh; 'n' db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 74h; 't' db 65h; 'e' db 72h; 'r' db 57h; 'W' db 65h; 'e' db 61h; 'a' db 74h; 't' db 68h; 'h' db 65h; 'e' db 72h; 'r' db 00h; db 00h; db 00h; db 43h; 'C' db 61h; 'a' db 6Eh; 'n' db 63h; 'c' db 65h; 'e' db 6Ch; 'l' db 47h; 'G' db 75h; 'u' db 6Dh; 'm' db 70h; 'p' db 4Fh; 'O' db 70h; 'p' db 65h; 'e' db 6Eh; 'n' db 00h; db 00h; SSZ005005C8_SaveDesktop: db 'SaveDesktop',0 SSZ005005D4_AlwaysRun: db 'AlwaysRun',0 db 00h; db 00h; db 44h; 'D' db 61h; 'a' db 72h; 'r' db 6Bh; 'k' db 4Eh; 'N' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 73h; 's' db 00h; db 00h; db 4Ch; 'L' db 61h; 'a' db 73h; 's' db 74h; 't' db 53h; 'S' db 65h; 'e' db 72h; 'r' db 76h; 'v' db 65h; 'e' db 72h; 'r' db 49h; 'I' db 44h; 'D' db 00h; db 00h; db 00h; db 00h; db 53h; 'S' db 74h; 't' db 61h; 'a' db 74h; 't' db 52h; 'R' db 65h; 'e' db 70h; 'p' db 6Fh; 'o' db 72h; 'r' db 74h; 't' db 00h; db 00h; db 53h; 'S' db 68h; 'h' db 6Fh; 'o' db 77h; 'w' db 49h; 'I' db 6Eh; 'n' db 63h; 'c' db 6Fh; 'o' db 6Dh; 'm' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 4Eh; 'N' db 61h; 'a' db 6Dh; 'm' db 65h; 'e' db 73h; 's' db 00h; db 00h; db 00h; SSZ0050061C_SkillReportDiff: db 'SkillReportDiff',0 db 43h; 'C' db 6Ch; 'l' db 69h; 'i' db 65h; 'e' db 6Eh; 'n' db 74h; 't' db 46h; 'F' db 69h; 'i' db 72h; 'r' db 73h; 's' db 74h; 't' db 4Ch; 'L' db 61h; 'a' db 75h; 'u' db 6Eh; 'n' db 63h; 'c' db 68h; 'h' db 00h; db 00h; db 00h; db 53h; 'S' db 68h; 'h' db 61h; 'a' db 64h; 'd' db 65h; 'e' db 64h; 'd' db 46h; 'F' db 6Fh; 'o' db 6Eh; 'n' db 74h; 't' db 73h; 's' db 00h; db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 65h; 'e' db 64h; 'd' db 4Ch; 'L' db 69h; 'i' db 67h; 'g' db 68h; 'h' db 74h; 't' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 00h; db 47h; 'G' db 4Dh; 'M' db 48h; 'H' db 65h; 'e' db 6Ch; 'l' db 70h; 'p' db 51h; 'Q' db 75h; 'u' db 65h; 'e' db 75h; 'u' db 65h; 'e' db 4Dh; 'M' db 61h; 'a' db 78h; 'x' db 43h; '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 73h; 's' db 50h; 'P' db 65h; 'e' db 72h; 'r' db 4Ch; 'L' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 00h; db 47h; 'G' db 4Dh; 'M' db 48h; 'H' db 65h; 'e' db 6Ch; 'l' db 70h; 'p' db 51h; 'Q' db 75h; 'u' db 65h; 'e' db 75h; 'u' db 65h; 'e' db 4Ch; 'L' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 73h; 's' db 50h; 'P' db 65h; 'e' db 72h; 'r' db 52h; 'R' db 65h; 'e' db 71h; 'q' db 75h; 'u' db 65h; 'e' db 73h; 's' db 74h; 't' db 00h; db 00h; db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 4Dh; 'M' db 61h; 'a' db 6Eh; 'n' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 72h; 'r' db 41h; 'A' db 64h; 'd' db 64h; 'd' db 53h; 'S' db 65h; 'e' db 61h; 'a' db 72h; 'r' db 63h; 'c' db 68h; 'h' db 50h; 'P' db 61h; 'a' db 74h; 't' db 68h; 'h' db 00h; db 00h; db 00h; db 00h; 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; SSZ005006D4_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; db 50h; 'P' db 61h; 'a' db 72h; 'r' db 74h; 't' db 79h; 'y' db 4Dh; 'M' db 65h; 'e' db 73h; 's' db 73h; 's' db 61h; 'a' db 67h; 'g' db 65h; 'e' db 43h; 'C' db 6Fh; 'o' db 6Ch; 'l' db 6Fh; 'o' db 72h; 'r' db 00h; db 00h; db 00h; SSZ005007F8_PopupHelpPersistant: db 'PopupHelpPersistant',0 SSZ0050080C_PopupHelpSticky: db 'PopupHelpSticky',0 SSZ0050081C_PopupHelpTextFont: db 'PopupHelpTextFont',0 Align 4 SSZ00500830_PopupHelpTextColor: db 'PopupHelpTextColor',0 Align 4 SSZ00500844_PopupHelpPreDelay: db 'PopupHelpPreDelay',0 Align 4 SSZ00500858_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; SSZ00500880_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; SSZ00500998_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; SSZ00500A70_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; SSZ00500B3C_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; SSZ00500C3C_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 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; SSZ00500CDC_AcctPassword: db 'AcctPassword',0 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 47h; 'G' db 6Ch; 'l' db 6Fh; 'o' db 62h; 'b' db 61h; 'a' db 6Ch; 'l' db 51h; 'Q' db 75h; 'u' db 65h; 'e' db 75h; 'u' db 65h; 'e' db 00h; SSZ00500D40_RememberAcctPW: db 'RememberAcctPW',0 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 55h; 'U' db 4Fh; 'O' db 4Dh; 'M' db 65h; 'e' db 73h; 's' db 73h; 's' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 65h; 'e' db 72h; 'r' db 50h; 'P' db 69h; 'i' db 6Eh; 'n' db 67h; 'g' db 00h; db 45h; 'E' db 6Eh; 'n' db 61h; 'a' db 62h; 'b' db 6Ch; 'l' db 65h; 'e' db 4Dh; 'M' db 65h; 'e' db 73h; 's' db 73h; 's' db 65h; 'e' db 6Eh; 'n' db 67h; 'g' db 65h; 'e' db 72h; 'r' 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; SSZ00500DE0_GamePlayWindowSize: db 'GamePlayWindowSize',0 Align 4 SSZ00500DF4_FullScreenRes: db 'FullScreenRes',0 Align 4 SSZ00500E04_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; SSZ00500E78_MusicVol: db 'MusicVol',0 Align 4 SSZ00500E84_Music: db 'Music',0 Align 4 SSZ00500E8C_SoundVol: db 'SoundVol',0 Align 4 SSZ00500E98_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; SSZ00500EC0_CdRomDataPath: db 'CdRomDataPath',0 Align 4 SSZ00500ED0_uo_cfg: db 'uo.cfg',0 Align 4 L00500ED8: db 09h; db 0Ah; db 0Dh; db 0Ch; db 00h; db 00h; db 00h; db 00h; L00500EE0: db 20h; ' ' db 09h; db 0Ah; db 0Dh; db 0Ch; db 3Dh; '=' db 00h; db 00h; SSZ00500EE8_File__s__Function_CApp__readConf: db 'File:%s, Function:CApp::readConfig: cannot open file ',27h,27h,'.',0Ah,0 Align 4 SSZ00500F24_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\config.cxx',0 L00500F54: db 72h; 'r' db 00h; db 00h; db 00h; SSZ00500F58_Desktop__s__s__s__s: db 'Desktop/%s/%s/%s/%s',0 SSZ00500F6C_saveConfigDirective__cannot_open: db 'saveConfigDirective: cannot open ',27h,'uo.cfg',27h,'. why? mode is ',27h,'wb',27h,'.',0Ah,0 Align 4 L00500FAC: db 77h; 'w' db 62h; 'b' db 00h; db 00h; SSZ00500FB0__s__s_: db '%s=%s',0Ah,0 Align 4 SSZ00500FB8_saveConfigDirective__cannot_open: db 'saveConfigDirective: cannot open ',27h,'uo.cfg',27h,'.',0Ah,0 L00500FE4: db 61h; 'a' db 74h; 't' db 00h; db 00h; SSZ00500FE8_FILE__s__Function__IsNumericAddr: db 'FILE:%s, Function: IsNumericAddress: val == 0.',0Ah,0 SSZ00501018_fast: db 'fast',0 Align 4 SSZ00501020_slow: db 'slow',0 Align 4 SSZ00501028_startup: db 'startup',0 SSZ00501030__d__d: db '%d,%d',0 Align 4 SSZ00501038__dx_d: db '%dx%d',0 Align 4 L00501040: db 67h; 'g' db 64h; 'd' db 69h; 'i' db 00h; L00501044: db 6Dh; 'm' db 61h; 'a' db 78h; 'x' db 00h; SSZ00501048__d__d__d__d__d: db '%d.%d.%d.%d,%d',0 Align 4 L00501058: db 30h; '0' db 00h; db 00h; db 00h; SSZ0050105C_false: db 'false',0 Align 4 SSZ00501064_true: db 'true',0 Align 4 L0050106C: db 20h; ' ' db 09h; db 0Ah; db 0Dh; db 0Ch; db 00h; db 00h; db 00h; SSZ00501074_getUOCfgDirective__found___s___: db 'getUOCfgDirective: found ',27h,'%s',27h,'.',0Ah,0 L00501094: dd 00000014h SSZ00501098_container_frame1: db 'container frame1',0 Align 4 SSZ005010AC_container_frame: db 'container frame',0 SSZ005010BC_framedata_for_CContainerGump: db 'framedata for CContainerGump',0 Align 4 SSZ005010DC_container_gump: db 'container gump',0 Align 4 SSZ005010EC_congump_framedata: db 'congump framedata',0 Align 4 SSZ00501100_congump_frame1_pBMP: db 'congump frame1 pBMP',0 SSZ00501114_congump_frame0_pBMP: db 'congump frame0 pBMP',0 SSZ00501128_course_backupFrame: db 'course backupFrame',0 Align 4 SSZ0050113C_course_frame1: db 'course frame1',0 Align 4 SSZ0050114C_Course_gump: db 'Course gump',0 SSZ00501158_Course_framedata: db 'Course framedata',0 Align 4 SSZ0050116C_Course_frame1_pBMP: db 'Course frame1 pBMP',0 Align 4 SSZ00501180_Course_frame0_pBMP: db 'Course frame0 pBMP',0 Align 4 SSZ00501194_Course_backupFrame: db 'Course backupFrame',0 Align 4 SSZ005011A8_multimap_rle: db 'multimap.rle',0 Align 4 L005011B8: dd 00007777h SSZ005011BC_song: db 'song',0 Align 4 SSZ005011C4_defaultfont: db 'defaultfont',0 SSZ005011D0_font: db 'font',0 Align 4 SSZ005011D8_defaultcolor: db 'defaultcolor',0 Align 4 SSZ005011E8_color: db 'color',0 Align 4 L005011F0: db 21h; '!' db 00h; db 00h; db 00h; SSZ005011F4_credits_dat: db 'credits.dat',0 L00501200: db 72h; 'r' db 74h; 't' db 00h; db 00h; SSZ00501204_framedata_for_CDragGump: db 'framedata for CDragGump',0 SSZ0050121C_drag_gump: db 'drag gump',0 Align 4 SSZ00501228_generic_drag_gump: db 'generic drag gump',0 Align 4 SSZ0050123C_draggump_frame0: db 'draggump frame0',0 SSZ0050124C_fightgump_min__frame: db 'fightgump min. frame',0 Align 4 SSZ00501264_fightgump_frame: db 'fightgump frame',0 SSZ00501274_framedata_for_CFightingGump: db 'framedata for CFightingGump',0 SSZ00501290_fightingstyle_gump: db 'fightingstyle gump',0 Align 4 SSZ005012A4_fightgump_framedata: db 'fightgump framedata',0 SSZ005012B8_fightgump_frame1_pBMP: db 'fightgump frame1 pBMP',0 Align 4 SSZ005012D0_fightgump_frame0_pBMP: db 'fightgump frame0 pBMP',0 Align 4 SSZ005012E8_FileManager__startup__search_pat: db 'FileManager::startup: search paths are:',0Ah,0 Align 4 SSZ00501314___s_: db ' %s',0Ah,0 Align 4 SSZ0050131C_FileManager__addSearchPath__sear: db 'FileManager::addSearchPath: search paths are:',0Ah,0 Align 4 SSZ0050134C_FileManager__addSearchPath__numS: db 'FileManager::addSearchPath: numSearchPaths >= MAX_SEARCH_PATHS. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 SSZ005013D8_FileManager__addSearchPath__strl: db 'FileManager::addSearchPath: strlen(new_path) >= SearchPathInfo::MAX_PATH_LENGTH. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 SSZ00501474_tutorial: db 'tutorial',0 Align 4 SSZ00501480_FileManager__getCDPath__CDPath_i: db 'FileManager::getCDPath: CDPath is not set. maybe you have not called FileManager::startup?',0Ah,0 SSZ005014DC_FileManager__getCDPath__had_to_s: db 'FileManager::getCDPath: had to startup FileManager. UO startup code needs to be re-designed!',0Ah,0 Align 4 SSZ0050153C_FileManager__getHDPath__HDPath_i: db 'FileManager::getHDPath: HDPath is not set. maybe you have not called FileManager::startup?',0Ah,0 SSZ00501598_FileManager__getHDPath__had_to_s: db 'FileManager::getHDPath: had to startup FileManager. UO startup code needs to be re-designed!',0Ah,0 Align 4 SSZ005015F8_FileManager__setHDPath__HDPath_n: db 'FileManager::setHDPath: HDPath not set',0Ah,0 SSZ00501620_FileManager__setHDPath__set_HDPa: db 'FileManager::setHDPath: set HDPath to ',27h,'%s',27h,0Ah,0 SSZ0050164C_FileManager__setPathSeparator__p: db 'FileManager::setPathSeparator: pathSeparator NOT SET!',0Ah,0 Align 4 L00501684: db 5Ch; '\' db 00h; db 00h; db 00h; SSZ00501688_NOT_SET_: db 'NOT SET!',0 Align 4 SSZ00501694_FileManager__startup__starting__: db 'FileManager::startup: starting...',0Ah,0 Align 4 SSZ005016B8_FileManager__shutdown__stopped__: db 'FileManager::shutdown: stopped.',0Ah,0 Align 4 SSZ005016DC_FileManager__shutdown__stopping_: db 'FileManager::shutdown: stopping...',0Ah,0 SSZ00501700_FileManager__open__failed_to_ope: db 'FileManager::open: failed to open ',27h,'%s',27h,' with given mode ',27h,'%s',27h,' on any of paths in searchPaths, even by ignoring case.',0Ah,0 SSZ00501774_FileManager__open___fuzzy_find__: db 'FileManager::open (',27h,'fuzzy find',27h,'): looking for ',27h,'%s',27h,' on searchPaths, but ignoring case.',0Ah,0 Align 4 SSZ005017CC_FileManager__open__failed_to_ope: db 'FileManager::open: failed to open ',27h,'%s',27h,' with given mode ',27h,'%s',27h,' on any of paths in searchPaths.',0Ah,0 Align 4 SSZ0050182C_FileManager__open__seeking_to_st: db 'FileManager::open: seeking to start of file.',0Ah,0 Align 4 SSZ0050185C_FileManager__open__opened___s__w: db 'FileManager::open: opened ',27h,'%s',27h,' with mode ',27h,'%s',27h,'.',0Ah,0 SSZ0050188C_FileManager__open__trying_to_ope: db 'FileManager::open: trying to open ',27h,'%s',27h,' with mode ',27h,'%s',27h,'.',0Ah,0 SSZ005018C4_FileManager__open__looking_for_f: db 'FileManager::open: looking for file with name ',27h,'as-is',27h,' on all search paths.',0Ah,0 SSZ00501910_FileManager__open__finished_sear: db 'FileManager::open: finished searching list of opened files.',0Ah,0 Align 4 SSZ00501950_FileManager__open__file___s__now: db 'FileManager::open: file ',27h,'%s',27h,' now open %d times.',0Ah,0 Align 4 SSZ00501984_FileManager__open__file___s__was: db 'FileManager::open: file ',27h,'%s',27h,' was opened before, but cannot be opened again. check for illegal access mode.',0Ah,0 SSZ005019F0_FileManager__close__trying_to_cl: db 'FileManager::close: trying to close unopened or unknown file!',0Ah,0 Align 4 SSZ00501A30_FileManager__close__closing_file: db 'FileManager::close: closing file ',27h,'%s',27h,'.',0Ah,0 SSZ00501A58_FileManager__open__file___s__cur: db 'FileManager::open: file ',27h,'%s',27h,' currently open. closing.',0Ah,0 Align 4 SSZ00501A90_FileManager__open__had_to_startu: db 'FileManager::open: had to startup FileManager. UO startup code needs to be re-designed!',0Ah,0 Align 4 SSZ00501AEC_FileManager__open__begin__filena: db 'FileManager::open: begin. filename=',27h,'%s',27h,0Ah,0 Align 4 SSZ00501B18_FileManager__openAbsolute__faile: db 'FileManager::openAbsolute: failed to open ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00501B4C_FileManager__openAbsolute__seeki: db 'FileManager::openAbsolute: seeking to start of file.',0Ah,0 Align 4 SSZ00501B84_FileManager__openAbsolute__opene: db 'FileManager::openAbsolute: opened ',27h,'%s',27h,' with mode ',27h,'%s',27h,'.',0Ah,0 SSZ00501BBC_FileManager__openAbsolute__tryin: db 'FileManager::openAbsolute: trying to open ',27h,'%s',27h,' with mode ',27h,'%s',27h,'.',0Ah,0 SSZ00501BFC_FileManager__openAbsolute__looki: db 'FileManager::openAbsolute: looking for file with name ',27h,'as-is',27h,'.',0Ah,0 SSZ00501C3C_FileManager__openAbsolute__finis: db 'FileManager::openAbsolute: finished searching list of opened files.',0Ah,0 Align 4 SSZ00501C84_FileManager__openAbsolute__file_: db 'FileManager::openAbsolute: file ',27h,'%s',27h,' now open %d times.',0Ah,0 Align 4 SSZ00501CC0_FileManager__openAbsolute__file_: db 'FileManager::openAbsolute: file ',27h,'%s',27h,' was opened before, but cannot be opened again. check for illegal access mode.',0Ah,0 SSZ00501D34_FileManager__openAbsolute__file_: db 'FileManager::openAbsolute: file ',27h,'%s',27h,' currently open. closing.',0Ah,0 Align 4 SSZ00501D74_FileManager__openAbsolute__had_t: db 'FileManager::openAbsolute: had to startup FileManager. UO startup code needs to be re-designed!',0Ah,0 Align 4 SSZ00501DD8_FileManager__openAbsolute__begin: db 'FileManager::openAbsolute: begin. filename=',27h,'%s',27h,0Ah,0 Align 4 SSZ00501E0C_FileManager__seek__trying_to_see: db 'FileManager::seek: trying to seek into unopened or unknown file!',0Ah,0 Align 4 SSZ00501E50_FileManager__read__items_read__d: db 'FileManager::read: items_read(%d) != count(%d)',0Ah,0 SSZ00501E80_FileManager__load__failed_to_loa: db 'FileManager::load: failed to load ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00501EAC_FileManager__load__file___s___lo: db 'FileManager::load: file ',27h,'%s',27h,'. loaded(%d) != len(%d)',0Ah,0 Align 4 SSZ00501EE4_FileManager__load__file___s___al: db 'FileManager::load: file ',27h,'%s',27h,'. allocating %d bytes of memory',0Ah,0 Align 4 SSZ00501F24_FileManager__load__len__d__: db 'FileManager::load: len=%d.',0Ah,0 SSZ00501F40_FileManager__getOpenFileSize__fi: db 'FileManager::getOpenFileSize: file not found.',0Ah,0 Align 4 SSZ00501F70____no__11d__12d__8d__20s__s_: db ' no %11d %12d %8d %20s %s',0Ah,0 Align 4 SSZ00501F90___yes__11d__12d__8d__20s__s_: db ' yes %11d %12d %8d %20s %s',0Ah,0 Align 4 SSZ00501FB0__open_timesOpened_________size_n: db ' open timesOpened size numreads givenName actualName',0Ah,0 Align 4 SSZ00501FFC_FileManager__reportOpenFiles__: db 'FileManager::reportOpenFiles:',0Ah,0 Align 4 SSZ0050201C_FileManager__setCDPath__CDPath_n: db 'FileManager::setCDPath: CDPath not set',0Ah,0 SSZ00502044_FileManager__setCDPath__set_CDPa: db 'FileManager::setCDPath: set CDPath to ',27h,'%s',27h,0Ah,0 SSZ00502070_client_: db 'client\',0 SSZ00502078_FileManager__setCDPath__temp____: db 'FileManager::setCDPath: temp >= MAX_CD_PATH_LENGTH.',0Ah,0 Align 4 SSZ005020B0_InstCDPath: db 'InstCDPath',0 Align 4 SSZ005020BC_SOFTWARE_Origin_Worlds_Online_Ul: db 'SOFTWARE\Origin Worlds Online\Ultima Online\1.0',0 SSZ005020EC_Ultima_Online_does_not_appear_to: db 'Ultima Online does not appear to be installed correctly on your system. Please re-install UO by running the setup.exe program located on your UO CD-ROM.',0Ah,0 Align 4 SSZ00502188_ExePath: db 'ExePath',0 SSZ00502190_Ultima_Online_does_not_appear_to: db 'Ultima Online does not appear to be installed correctly on your system. Please re-install UO by running the setup.exe program located on your UO CD-ROM',0Ah,0 Align 4 SSZ0050222C_FileManager__addOpenFile__numOpe: db 'FileManager::addOpenFile: numOpenFiles >= MAX_OPEN_FILES. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 SSZ005022B0_FileManager__addOpenFile__file__: db 'FileManager::addOpenFile: file ',27h,'%s',27h,' added to list. size is %d.',0Ah,0 SSZ005022F0_FileManager__addFile__strlen_acc: db 'FileManager::addFile: strlen(access_mode) > SearchPathInfo::MAX_ACCESS_MODE_LENGTH. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 SSZ00502390_FileManager__addFile__strlen_act: db 'FileManager::addFile: strlen(actual_filename) > SearchPathInfo::MAX_PATH_LENGTH. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 SSZ0050242C_FileManager__addFile__strlen_giv: db 'FileManager::addFile: strlen(given_filename) > SearchPathInfo::MAX_PATH_LENGTH. UO startup code needs to be re-designed so we can allocate memory here!',0Ah,0 Align 4 L005024C8: 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 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; SSZ005024EC_FontManager__startup__started__: db 'FontManager::startup: started.',0Ah,0 SSZ0050250C_FontManager__startup__starting__: db 'FontManager::startup: starting...',0Ah,0 Align 4 SSZ00502530_FontManager__shutdown__stopped__: db 'FontManager::shutdown: stopped.',0Ah,0 Align 4 SSZ00502554_CFont___CFont___: db 'CFont::~CFont()',0Ah,0 Align 4 SSZ00502568_FontManager__shutdown__stopping_: db 'FontManager::shutdown: stopping...',0Ah,0 SSZ0050258C_CFont__CFont____begin__: db 'CFont::CFont(): begin.',0Ah,0 SSZ005025A4_FontManager__LoadFonts__cannot_o: db 'FontManager::LoadFonts: cannot open ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ005025D0_fonts_mul: db 'fonts.mul',0 Align 4 SSZ005025DC_Missing_Font_: db 'Missing Font!',0 Align 4 SSZ005025EC_Error: db 'Error',0 Align 4 SSZ005025F4_FontManager__DrawstringBuf___OVE: db 'FontManager::DrawstringBuf - OVERFLOW: msg is %d bytes',0Ah,0 SSZ0050262C_FontManager__DrawStringBufEllips: db 'FontManager::DrawStringBufEllips - OVERFLOW: msg is %d bytes',0Ah,0 Align 4 SSZ0050266C_FontManager__CalcInfoWrap___OVER: db 'FontManager::CalcInfoWrap - OVERFLOW: msg is %d bytes',0Ah,0 Align 4 SSZ005026A4_FontManager__GetStringWrapEndXY_: db 'FontManager::GetStringWrapEndXY - msg is %d bytes',0Ah,0 Align 4 SSZ005026D8_FontManager__GetStringWrapEndXY_: db 'FontManager::GetStringWrapEndXY - OVERFLOW: msg is %d bytes',0Ah,0 Align 4 SSZ00502718_generic_frame: db 'generic frame',0 Align 4 SSZ00502728_framedata_for_GenericGump: db 'framedata for GenericGump',0 Align 4 SSZ00502744_xmfhtmlgump: db 'xmfhtmlgump',0 SSZ00502750_htmlgump: db 'htmlgump',0 Align 4 SSZ0050275C__d__d__d__d__d: db '%d %d %d %d %d',0 Align 4 SSZ0050276C_resizepic: db 'resizepic',0 Align 4 SSZ00502778_checkbox: db 'checkbox',0 Align 4 SSZ00502784_button: db 'button',0 Align 4 SSZ0050278C_radio: db 'radio',0 Align 4 SSZ00502794__d__d__d__d__d__d__d: db '%d %d %d %d %d %d %d',0 Align 4 SSZ005027AC_textentry: db 'textentry',0 Align 4 SSZ005027B8__d__d__d__d__d__d: db '%d %d %d %d %d %d',0 Align 4 SSZ005027CC_croppedtext: db 'croppedtext',0 SSZ005027D8__d__d__d__d: db '%d %d %d %d',0 SSZ005027E4_text: db 'text',0 Align 4 SSZ005027EC_tilepic: db 'tilepic',0 SSZ005027F4__d__d__d: db '%d %d %d',0 Align 4 SSZ00502800_gumppic: db 'gumppic',0 SSZ00502808_group: db 'group',0 Align 4 SSZ00502810_noclose: db 'noclose',0 SSZ00502818_nomove: db 'nomove',0 Align 4 SSZ00502820_nodispose: db 'nodispose',0 Align 4 SSZ0050282C_page: db 'page',0 Align 4 SSZ00502834_generic_gump: db 'generic gump',0 Align 4 L00502844: db 2Eh; '.' db 00h; db 2Eh; '.' db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; L0050284C: dd 00000280h L00502850: dd 000001E0h SSZ00502854_Logical_Palette: db 'Logical Palette',0 SSZ00502864_palette_mul: db 'palette.mul',0 SSZ00502870_GraphicManager__startup__begin__: db 'GraphicManager::startup: begin.',0Ah,0 Align 4 SSZ00502894_Tried_to_update_art_less_than_0_: db 'Tried to update art less than 0 or greater then 65535.',0 Align 4 SSZ005028CC_damn_art_bug: db 'damn art bug',0 Align 4 SSZ005028DC_You_are_dead_: db 'You are dead.',0 Align 4 SSZ005028EC_GraphicManager__setGameplayWindo: db 'GraphicManager::setGameplayWindowPixelWidthAndHeight: Currently only supports 640x480 & 800x600.',0Ah,0 Align 4 SSZ00502950_animinfo_mul: db 'animinfo.mul',0 Align 4 L00502960: dd 00000100h L00502964: dd FFFFFFFFh L00502968: dd 00000006h L0050296C: db 20h; ' ' db 00h; db 00h; db 00h; SWC00502970_Welcome_to_Ultima_Online_GM_chat: unicode 'Welcome to Ultima Online GM chat!',0000h SWC005029B4_ULTIMA_ONLINE_GM_CHAT: unicode 'ULTIMA ONLINE GM CHAT',0000h L005029E0: dd FFFFFFFFh L005029E4: dd FFFFFFFFh SSZ005029E8_HTMLGump_frame0: db 'HTMLGump frame0',0 SWC005029F8_SUBJECT__: unicode 'SUBJECT: ',0000h SWC00502A0C_DATE__: unicode 'DATE: ',0000h Align 4 SWC00502A1C_FROM__: unicode 'FROM: ',0000h Align 4 SWC00502A2C_TO__: unicode 'TO: ',0000h Align 4 SWC00502A38_http___207_71_15_69_default_htm: unicode 'http://207.71.15.69/default.htm',0000h SWC00502A78__TITLE_LOADING__TITLE__BODY_Load: unicode 'LOADINGLoading page, please wait...',0000h SSZ00502AF8_leaving: db 'leaving',0 SWC00502B00_Messages: unicode 'Messages',0000h Align 4 SWC00502B14_This_will_permanently_delete_the: unicode 'This will permanently delete the greeting card you gave ',0000h Align 4 SWC00502B88___Are_you_sure_you_want_to_do_th: unicode '. Are you sure you want to do this?',0000h SWC00502BD0_This_will_permanently_delete_all: unicode 'This will permanently delete all of these greeting cards',0000h Align 4 SWC00502C44_Are_you_sure_you_want_to_delete_: unicode 'Are you sure you want to delete this message?',0000h SWC00502CA0_Are_you_sure_you_want_to_delete_: unicode 'Are you sure you want to delete these messages?',0000h L00502D00: db 29h; ')' db 00h; db 00h; db 00h; L00502D04: db 22h; '"' db 00h; db 20h; ' ' db 00h; db 28h; '(' db 00h; db 00h; db 00h; L00502D0C: db 3Eh; '>' db 00h; db 20h; ' ' db 00h; db 22h; '"' db 00h; db 00h; db 00h; L00502D14: db 3Ch; '<' db 00h; db 00h; db 00h; SWC00502D18_Addresses: unicode 'Addresses',0000h L00502D2C: db 20h; ' ' db 00h; db 28h; '(' db 00h; db 00h; db 00h; db 00h; db 00h; SWC00502D34_This_will_permanently_delete_the: unicode 'This will permanently delete the greeting card you received from ',0000h SWC00502DB8__messenger_owo_com__: unicode '@messenger.owo.com> ',0000h Align 4 L00502DE4: db 20h; ' ' db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 00h; db 00h; SWC00502DEC_Include_Original_Message: unicode 'Include Original Message',0000h Align 4 SWC00502E20__Enter_message_body_here___: unicode '[Enter message body here.]',0Ah,0000h SWC00502E58____BQ_: unicode 0Ah,'',0000h Align 4 SWC00502E68__BQ_: unicode '',0000h Align 4 SWC00502E74__Enter_message_body_here____: unicode '[Enter message body here.]',0Ah,0Ah,0000h Align 4 SWC00502EB0__Enter_message_subject_here__: unicode '[Enter message subject here.]',0000h SWC00502EEC_Fwd__: unicode 'Fwd: ',0000h SWC00502EF8_Re__: unicode 'Re: ',0000h Align 4 SSZ00502F04_Nowhere: db 'Nowhere',0 SSZ00502F0C__of_: db ' of ',0 Align 4 SWC00502F14__Click_here_to_select_recipient_: unicode '[Click here to select recipient.]',0000h SWC00502F58_Send_Message: unicode 'Send Message',0000h Align 4 SWC00502F74_Forward_Message: unicode 'Forward Message',0000h SWC00502F94_Reply_To_Message: unicode 'Reply To Message',0000h Align 4 SWC00502FB8_____: unicode 0Dh,0Ah,0Dh,0Ah,0000h Align 4 SWC00502FC4____Subject__: unicode '"',0Dh,0Ah,'Subject: ',0000h Align 4 SWC00502FE0__messenger_owo_com___: unicode '@messenger.owo.com> "',0000h SWC0050300C____From___: unicode ')',0Dh,0Ah,'From: <',0000h Align 4 SWC00503024_To___: unicode 'To: <',0000h SWC00503030_You_have_not_sent_this_message__: unicode 'You have not sent this message. Are you sure you want to discard it?',0000h Align 4 SWC005030BC__Enter_message_body_here__: unicode '[Enter message body here.]',0000h Align 4 SWC005030F4_dummy: unicode 'dummy',0000h SWC00503100_Read_Message: unicode 'Read Message',0000h Align 4 SWC0050311C_Edit_Description: unicode 'Edit Description',0000h Align 4 L00503140: db 01h; L00503141: db 01h; db 00h; db 00h; L00503144: dd SSZ0050314C_desktop_uos L00503148: dd 00000002h SSZ0050314C_desktop_uos: db 'desktop.uos',0 SSZ00503158_CGumpManager__startup____begin__: db 'CGumpManager::startup(): begin.',0Ah,0 Align 4 SSZ0050317C_CGumpManager__shutdown____begin_: db 'CGumpManager::shutdown(): begin.',0Ah,0 Align 4 SSZ005031A0_missile_gump: db 'missile gump',0 Align 4 SSZ005031B0_CGumpManager__GetGumpAt__either_: db 'CGumpManager::GetGumpAt: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. returning NULL.',0Ah,0 Align 4 SSZ00503228_CGump__ScreenToGumpCoords__eithe: db 'CGump::ScreenToGumpCoords: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 Align 4 SSZ005032A8_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\gumps.cxx',0 Align 4 SSZ005032D8_CGumpManager__DrawAllGumps__eith: db 'CGumpManager::DrawAllGumps: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. deleting gump and breaking out of draw loop.',0Ah,0 Align 4 SSZ00503370_CGumpManager__DrawAllGumps__dele: db 'CGumpManager::DrawAllGumps: deleted pGump.',0Ah,0 SSZ0050339C_CGumpManager__DrawAllGumps__eith: db 'CGumpManager::DrawAllGumps: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. deleting gump and breaking out of pre-draw loop.',0Ah,0 Align 4 SSZ00503438_tooltips: db 'tooltips',0 Align 4 SSZ00503444_gt_0000: db 'gt_0000',0 SSZ0050344C_gt_1010: db 'gt_1010',0 SSZ00503454_gt_2000: db 'gt_2000',0 SSZ0050345C_gt_2310: db 'gt_2310',0 SSZ00503464_gt_2400: db 'gt_2400',0 SSZ0050346C_gt_4000: db 'gt_4000',0 SSZ00503474_gt_5000: db 'gt_5000',0 SSZ0050347C_gt_5400: db 'gt_5400',0 SSZ00503484_CGumpManager__Update__either_poi: db 'CGumpManager::Update: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 Align 4 SSZ00503500_CGumpManager__UpdateBarks__eithe: db 'CGumpManager::UpdateBarks: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 Align 4 SSZ00503580_CGump__GumpToScreenCoords__eithe: db 'CGump::GumpToScreenCoords: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 Align 4 SSZ00503600_CGump__GetGumpAt__either_pointer: db 'CGump::GetGumpAt: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. returning FALSE.',0Ah,0 SSZ00503670_Missing_ClientCfg_GUMP_art_: db 'Missing ClientCfg GUMP art!',0 SSZ0050368C_CGumpManager__OpenGump__case__48: db 'CGumpManager::OpenGump, case ',27h,'48',27h,': Prevented client crash by not calling ',27h,'NEW CShopGump(150, 5, pObj);',27h,' when pObj==NULL. Return value will also be NULL.',0Ah,0 Align 4 SSZ00503728_normal_gump: db 'normal gump',0 SSZ00503734_framedata_in_CGump__CGump__: db 'framedata in CGump::CGump()',0 SSZ00503750_framedata: db 'framedata',0 Align 4 SSZ0050375C_frame_pBMP: db 'frame pBMP',0 Align 4 SSZ00503768_CGumpManager__LoadDesktop__case_: db 'CGumpManager::LoadDesktop, case ',27h,'DSK_CLIENTCFG',27h,': Prevented client crash by testing for return value from ',27h,'CGumpManager::OpenGump(NULL,5000,NULL,FALSE);',27h,'. It is NULL!',0Ah,0 Align 4 SSZ00503810_CGumpManager__LoadDesktop__case_: db 'CGumpManager::LoadDesktop, case ',27h,'DSK_TEXT',27h,': Prevented client crash by testing for return value from ',27h,'CGumpManager::OpenGump(NULL,7,NULL,FALSE);',27h,'. It is NULL!',0Ah,0 Align 4 SSZ005038B0_desktop_uo5: db 'desktop.uo5',0 SSZ005038BC_desktop_uo4: db 'desktop.uo4',0 SSZ005038C8_desktop_uo3: db 'desktop.uo3',0 SSZ005038D4_desktop_uo2: db 'desktop.uo2',0 SSZ005038E0_desktop_uo1: db 'desktop.uo1',0 SSZ005038EC_Could_not_create_directory___s__: db 'Could not create directory: %s',0Ah,':',0 Align 4 SSZ00503910_Could_not_open_file_for_writing_: db 'Could not open file for writing: %s',0Ah,':',0 Align 4 L00503938: db 61h; 'a' db 62h; 'b' db 00h; db 00h; SSZ0050393C_Desktop__s__s: db 'Desktop/%s/%s',0 Align 4 SSZ0050394C_Desktop__s: db 'Desktop/%s',0 Align 4 SSZ00503958_Desktop: db 'Desktop',0 SSZ00503960_Desktop__s__s__s: db 'Desktop/%s/%s/%s',0 Align 4 SSZ00503974_radarcol_mul: db 'radarcol.mul',0 Align 4 SSZ00503984_http___207_71_15_69_default_htm: db 'http://207.71.15.69/default.htm',0 SSZ005039A4_dumb_gump: db 'dumb gump',0 Align 4 SSZ005039B0_dumb_framedata: db 'dumb framedata',0 Align 4 SSZ005039C0_dumb_frame0_pBMP: db 'dumb frame0 pBMP',0 Align 4 SSZ005039D4_sign_gump: db 'sign gump',0 Align 4 SSZ005039E0_sign_framedata: db 'sign framedata',0 Align 4 SSZ005039F0_sign_frame0_pBMP: db 'sign frame0 pBMP',0 Align 4 SSZ00503A04_waiting_gump: db 'waiting gump',0 Align 4 SSZ00503A14_waiting_framedata: db 'waiting framedata',0 Align 4 SSZ00503A28_waiting_frame1_pBMP: db 'waiting frame1 pBMP',0 SSZ00503A3C_waiting_frame0_pBMP: db 'waiting frame0 pBMP',0 SSZ00503A50_CSequence__CSequence____begin__: db 'CSequence::CSequence(): begin.',0Ah,0 SSZ00503A70_status_frame1: db 'status frame1',0 Align 4 SSZ00503A80_status_framedata: db 'status framedata',0 Align 4 SSZ00503A94_status_frame1_pBMP: db 'status frame1 pBMP',0 Align 4 SSZ00503AA8_status_frame0_pBMP: db 'status frame0 pBMP',0 Align 4 L00503ABC: db 3Ah; ':' db 5Ch; '\' db 00h; db 00h; SSZ00503AC0_0001: db '0001',0 Align 4 SSZ00503AC8_DriverDesc: db 'DriverDesc',0 Align 4 SSZ00503AD4_0000: db '0000',0 Align 4 SSZ00503ADC_Display: db 'Display',0 SSZ00503AE4_Model: db 'Model',0 Align 4 SSZ00503AEC_Manufacturer: db 'Manufacturer',0 Align 4 SSZ00503AFC__04d: db '%04d',0 Align 4 SSZ00503B04_Modem: db 'Modem',0 Align 4 SSZ00503B0C_System_CurrentControlSet_Service: db 'System\CurrentControlSet\Services\Class\',0 Align 4 SSZ00503B38_timeZoneBias: db 'timeZoneBias',0 Align 4 SSZ00503B48_largestPartitionInMB: db 'largestPartitionInMB',0 Align 4 SSZ00503B60_totalRAMInMB: db 'totalRAMInMB',0 Align 4 SSZ00503B70_szModemDescrip: db 'szModemDescrip',0 Align 4 SSZ00503B80_szModemManufacturer: db 'szModemManufacturer',0 SSZ00503B94_szVideoCardDescrip2: db 'szVideoCardDescrip2',0 SSZ00503BA8_szVideoCardDescrip1: db 'szVideoCardDescrip1',0 SSZ00503BBC_nProcessors: db 'nProcessors',0 SSZ00503BC8_processorClock: db 'processorClock',0 Align 4 SSZ00503BD8_processorType: db 'processorType',0 Align 4 SSZ00503BE8_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; SSZ00503CE8_map0_mul: db 'map0.mul',0 Align 4 SSZ00503CF4_LoadVersionFile____mapping_file_: db 'LoadVersionFile(): mapping file ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00503D1C_verdata_mul: db 'verdata.mul',0 SSZ00503D28_LoadVersionFile____begin__: db 'LoadVersionFile(): begin.',0Ah,0 Align 4 SSZ00503D44_CDHDCache__startup__currently_no: db 'CDHDCache::startup: currently no support for running >2 god clients.',0Ah,0 Align 4 SSZ00503D8C_cache1_uo: db 'cache1.uo',0 Align 4 SSZ00503D98_cache0_uo: db 'cache0.uo',0 Align 4 SSZ00503DA4_CDHDCache__startup____begin__: db 'CDHDCache::startup(): begin.',0Ah,0 Align 4 SSZ00503DC4_CDHDCache__shutdown__shut_down_: db 'CDHDCache::shutdown: shut down',0Ah,0 SSZ00503DE4_CDHDCache__shutdown__removing_ca: db 'CDHDCache::shutdown: removing cache file ',27h,'%s',27h,0Ah,0 Align 4 SSZ00503E14_CDHDCache__shutdown__shutting_do: db 'CDHDCache::shutdown: shutting down...',0Ah,0 Align 4 SSZ00503E3C_CDHDCache__Init____cannot_open_f: db 'CDHDCache::Init(): cannot open file ',27h,'%s',27h,' from either HD or CD. Please insert the Ulitma Online CD and try again. If the problems persist, try a re-installation of the game. EMail ',27h,'support@owo.com',27h,' for further information.',0Ah,0 Align 4 SSZ00503F1C_CDHDCache__Init____trying_to_ope: db 'CDHDCache::Init(): trying to open ',27h,'%s',27h,', with mode ',27h,'rb',27h,0Ah,0 SSZ00503F54_CDHDCache__Init____memory_mappin: db 'CDHDCache::Init(): memory-mapping CD files...',0Ah,0 Align 4 SSZ00503F84_CDHDCache__Init____building_cach: db 'CDHDCache::Init(): building cache lookup table...',0Ah,0 Align 4 SSZ00503FB8_15__: db '15.',0Ah,0 Align 4 SSZ00503FC0_14__: db '14.',0Ah,0 Align 4 SSZ00503FC8_13__: db '13.',0Ah,0 Align 4 SSZ00503FD0_12__numBlockHeaders__d_: db '12. numBlockHeaders=%d',0Ah,0 SSZ00503FE8_11__: db '11.',0Ah,0 Align 4 SSZ00503FF0_10__: db '10.',0Ah,0 Align 4 L00503FF8: db 39h; '9' db 2Eh; '.' db 0Ah; db 00h; L00503FFC: db 38h; '8' db 2Eh; '.' db 0Ah; db 00h; L00504000: db 37h; '7' db 2Eh; '.' db 0Ah; db 00h; L00504004: db 36h; '6' db 2Eh; '.' db 0Ah; db 00h; L00504008: db 35h; '5' db 2Eh; '.' db 0Ah; db 00h; L0050400C: db 34h; '4' db 2Eh; '.' db 0Ah; db 00h; L00504010: db 33h; '3' db 2Eh; '.' db 0Ah; db 00h; L00504014: db 32h; '2' db 2Eh; '.' db 0Ah; db 00h; L00504018: db 31h; '1' db 2Eh; '.' db 0Ah; db 00h; SSZ0050401C_CDHDCache__Init____copying_data_: db 'CDHDCache::Init(): copying data into cache memory...',0Ah,0 Align 4 SSZ00504054_CDHDCache__Init____re_interpreti: db 'CDHDCache::Init(): re-interpreting cache memory...',0Ah,0 SSZ00504088_CDHDCache__Init____opening_cache: db 'CDHDCache::Init(): opening cache...',0Ah,0 Align 4 SSZ005040B0_CDHDCache__Init____creating_cach: db 'CDHDCache::Init(): creating cache...',0Ah,0 Align 4 SSZ005040D8_CDHDCache__Init____making_a_cach: db 'CDHDCache::Init(): making a cache of size %d bytes.',0Ah,0 Align 4 SSZ00504110_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.',0Ah,0 Align 4 SSZ005041EC_CDHDCache__Init____cannot_open_f: db 'CDHDCache::Init(): cannot open file ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00504218_CDHDCache__Init____CApp__hdConfi: db 'CDHDCache::Init(): CApp::hdConfig == MaxHD.',0Ah,0 Align 4 SSZ00504248_CDHDCache__Init____begin__: db 'CDHDCache::Init(): begin.',0Ah,0 Align 4 L00504264: db 72h; 'r' db 2Bh; '+' db 62h; 'b' db 00h; SSZ00504268_CDHDCache__AddVersionedItem__fai: db 'CDHDCache::AddVersionedItem: failed to open file ',27h,'%s',27h,' with mode ',27h,'r+b',27h,'. check file attributes. file should be writable. old error message said ',27h,'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.',27h,0Ah,0 Align 4 SSZ005043F0_CDHDCache__GetCacheItem_2___code: db 'CDHDCache::GetCacheItem(2): code would have crashed. returning 0 instead.',0Ah,0 Align 4 SSZ0050443C_CDHDCache__GetCacheItem_1___code: db 'CDHDCache::GetCacheItem(1): code would have crashed. returning 0 instead.',0Ah,0 Align 4 SSZ00504488_CDHDCache__GetCacheItem___shutdo: db 'CDHDCache::GetCacheItem: ',27h,'shutdownSequenceStarted',27h,'. program would probably crash if we did not set ',27h,'*size = 0',27h,' and ',27h,'return NULL',27h,'!',0 Align 4 SSZ0050450C_CDHDCache__CacheIn__code_would_h: db 'CDHDCache::CacheIn: code would have crashed. returning 0 instead.',0Ah,0 Align 4 SSZ00504550_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 SSZ005045B8_Caching_Error: db 'Caching Error',0 Align 4 SSZ005045C8_CDHDCache__GetCacheSpace__code_w: db 'CDHDCache::GetCacheSpace: code would have crashed. returning 0 instead.',0Ah,0 Align 4 L00504614: db 01h; db 00h; db 00h; db 00h; L00504618: dd 000003E8h L0050461C: dd 00007FFFh L00504620: dd 00000001h L00504624: db 01h; db 00h; db 00h; db 00h; SSZ00504628_english: db 'english',0 L00504630: db 2Ch; ',' db 01h; db 00h; db 00h; L00504634: db AAh; 'ò' db 00h; db 00h; db 00h; L00504638: db 0Ah; db 00h; db 00h; db 00h; L0050463C: db 0Ah; db 00h; db 00h; db 00h; L00504640: dd FFFFFFFFh L00504644: db 55h; 'U' db 54h; 'T' db 00h; db 00h; SSZ00504648__4c__3c__d__d__d__d__d__s: db '%4c %3c %d %d:%d:%d %d %s',0 Align 4 SWC00504664__BODY: unicode '/BODY',0000h SWC00504670_RIGHTMARGIN: unicode 'RIGHTMARGIN',0000h SWC00504688_LEFTMARGIN: unicode 'LEFTMARGIN',0000h Align 4 SWC005046A0_BOTTOMMARGIN: unicode 'BOTTOMMARGIN',0000h Align 4 SWC005046BC_TOPMARGIN: unicode 'TOPMARGIN',0000h SWC005046D0_VLINK: unicode 'VLINK',0000h SWC005046DC_LINK: unicode 'LINK',0000h Align 4 SWC005046E8_BGCOLOR: unicode 'BGCOLOR',0000h SWC005046F8_TEXT: unicode 'TEXT',0000h Align 4 SWC00504704_BODY: unicode 'BODY',0000h Align 4 SWC00504710__TITLE: unicode '/TITLE',0000h Align 4 SWC00504720_TITLE: unicode 'TITLE',0000h SWC0050472C_ULTIMA_ONLINE: unicode 'ULTIMA ONLINE',0000h L00504748: db 2Fh; '/' db 00h; db 00h; db 00h; SWC0050474C_COLOR: unicode 'COLOR',0000h SWC00504758_SIZE: unicode 'SIZE',0000h Align 4 SWC00504764_HREF: unicode 'HREF',0000h Align 4 SWC00504770_NAME: unicode 'NAME',0000h Align 4 L0050477C: db 49h; 'I' db 00h; db 4Eh; 'N' db 00h; db 54h; 'T' db 00h; db 00h; db 00h; L00504784: db 41h; 'A' db 00h; db 00h; db 00h; L00504788: db 50h; 'P' db 00h; db 00h; db 00h; L0050478C: db 55h; 'U' db 00h; db 00h; db 00h; L00504790: db 49h; 'I' db 00h; db 00h; db 00h; L00504794: db 42h; 'B' db 00h; db 00h; db 00h; L00504798: db 48h; 'H' db 00h; db 36h; '6' db 00h; db 00h; db 00h; db 00h; db 00h; L005047A0: db 48h; 'H' db 00h; db 35h; '5' db 00h; db 00h; db 00h; db 00h; db 00h; L005047A8: db 48h; 'H' db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 00h; db 00h; L005047B0: db 48h; 'H' db 00h; db 33h; '3' db 00h; db 00h; db 00h; db 00h; db 00h; L005047B8: db 48h; 'H' db 00h; db 32h; '2' db 00h; db 00h; db 00h; db 00h; db 00h; L005047C0: db 48h; 'H' db 00h; db 31h; '1' db 00h; db 00h; db 00h; db 00h; db 00h; L005047C8: db 45h; 'E' db 00h; db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L005047D0: db 42h; 'B' db 00h; db 52h; 'R' db 00h; db 00h; db 00h; db 00h; db 00h; L005047D8: db 42h; 'B' db 00h; db 51h; 'Q' db 00h; db 00h; db 00h; db 00h; db 00h; SWC005047E0_RIGHT: unicode 'RIGHT',0000h SWC005047EC_ALIGN: unicode 'ALIGN',0000h L005047F8: db 44h; 'D' db 00h; db 49h; 'I' db 00h; db 56h; 'V' db 00h; db 00h; db 00h; L00504800: db 42h; 'B' db 00h; db 49h; 'I' db 00h; db 47h; 'G' db 00h; db 00h; db 00h; SWC00504808_SMALL: unicode 'SMALL',0000h SWC00504814_CENTER: unicode 'CENTER',0000h Align 4 SWC00504824_STRONG: unicode 'STRONG',0000h Align 4 SWC00504834_BASEFONT: unicode 'BASEFONT',0000h Align 4 SWC00504848___BQ: unicode '(0)',0000h SWC00504C2C_From__: unicode 'From: ',0000h Align 4 SWC00504C3C_To__: unicode 'To: ',0000h Align 4 SSZ00504C48_File__s__Function_HueManager__CH: db 'File:%s, Function:HueManager::CHueManager(): cannot open file ',27h,27h,'. in-game colours may no be correct.',0Ah,0 Align 4 SSZ00504CB0_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\hue.cxx',0 Align 4 SSZ00504CE0_hues_mul: db 'hues.mul',0 Align 4 SSZ00504CEC_HueManager__startup__begin_: db 'HueManager::startup: begin.',0 SSZ00504D08_hue_control: db 'hue control',0 SSZ00504D14_hue_framedata: db 'hue framedata',0 Align 4 SSZ00504D24_hue_frame0_pBMP: db 'hue frame0 pBMP',0 SSZ00504D34_hue_gump: db 'hue gump',0 Align 4 SSZ00504D40__s__s_: db '%s %s',0Ah,0 Align 4 SSZ00504D48___c_c_c_c__: db 27h,'%c%c%c%c',27h,'.',0 SSZ00504D54__Tag_at_current_position___: db ' Tag at current position = ',0 L00504D70: db 2Fh; '/' db 00h; db 00h; db 00h; SSZ00504D74___Path_: db ', Path:',0 SSZ00504D7C_File_: db 'File:',0 Align 4 SSZ00504D84_FILE__s__Function_Iff__isForm__n: db 'FILE:%s, Function:Iff::isForm: no current data!',0Ah,0 Align 4 SSZ00504DB8_C__publish004_src_Iff_cxx: db 'C:\publish004\src\Iff.cxx',0 Align 4 SSZ00504DD4_bool_Iff__enterForm__IffTag_tag_: db 'bool Iff::enterForm (IffTag tag)',0 Align 4 SSZ00504DF8_Cannot_enter_FORM___c_c_c_c_: db 'Cannot enter FORM ',27h,'%c%c%c%c',27h,0 Align 4 SSZ00504E18_bool_Iff__enterChunk__IffTag_tag: db 'bool Iff::enterChunk (IffTag tag)',0 Align 4 SSZ00504E3C_Cannot_enter_CHUNK___c_c_c_c_: db 'Cannot enter CHUNK ',27h,'%c%c%c%c',27h,0 Align 4 SSZ00504E5C_depth____0__Cannot_exit_CHUNK: db 'depth <= 0. Cannot exit CHUNK',0 Align 4 SSZ00504E7C_depth____0__Cannot_exit_CHUNK___: db 'depth <= 0. Cannot exit CHUNK ',27h,'%c%c%c%c',27h,0 Align 4 SSZ00504EA8_bool_Iff__exitChunk__IffTag_tag_: db 'bool Iff::exitChunk (IffTag tag)',0 Align 4 SSZ00504ECC_extra_data_in_CHUNK: db 'extra data in CHUNK',0 SSZ00504EE0_bool_Iff__exitForm__IffTag_tag_: db 'bool Iff::exitForm (IffTag tag)',0 SSZ00504F00_depth____0__Cannot_exit_FORM: db 'depth <= 0. Cannot exit FORM',0 Align 4 SSZ00504F20_depth____0__Cannot_exit_FORM___c: db 'depth <= 0. Cannot exit FORM ',27h,'%c%c%c%c',27h,0 SSZ00504F48_unsigned_int_Iff__charsLeft__voi: db 'unsigned int Iff::charsLeft (void)',0 Align 4 SSZ00504F6C_depth____0: db 'depth <= 0',0 Align 4 SSZ00504F78_At_end_of_CHUNK__Not_enough_data: db 'At end of CHUNK. Not enough data ?',0 Align 4 SSZ00504F9C_void_Iff__readString: db 'void Iff::readString',0 Align 4 SSZ00504FB4_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 6Ch; 'l' db 51h; 'Q' db 50h; 'P' db 00h; db 60h; '`' db 51h; 'Q' db 50h; 'P' db 00h; db 58h; 'X' db 51h; 'Q' db 50h; 'P' db 00h; db 50h; 'P' db 51h; 'Q' db 50h; 'P' db 00h; db 48h; 'H' db 51h; 'Q' db 50h; 'P' db 00h; db 40h; '@' db 51h; 'Q' db 50h; 'P' db 00h; db FCh; 'ì' db 49h; 'I' db 70h; 'p' db 00h; db 00h; db 00h; db 00h; db 00h; L00504FF0: dd 0000000Ah L00504FF4: dd L0050513C db 0Bh; db 00h; db 00h; db 00h; db 34h; '4' db 51h; 'Q' db 50h; 'P' db 00h; db 14h; db 00h; db 00h; db 00h; db 2Ch; ',' db 51h; 'Q' db 50h; 'P' db 00h; db C9h; '‰' db 00h; db 00h; db 00h; db 20h; ' ' db 51h; 'Q' db 50h; 'P' db 00h; db C7h; '‡' db 00h; db 00h; db 00h; db 18h; db 51h; 'Q' db 50h; 'P' db 00h; db CAh; 'Š' db 00h; db 00h; db 00h; db 10h; db 51h; 'Q' db 50h; 'P' db 00h; db CBh; '‹' db 00h; db 00h; db 00h; db 08h; db 51h; 'Q' db 50h; 'P' db 00h; db CCh; 'Œ' db 00h; db 00h; db 00h; db 04h; db 51h; 'Q' db 50h; 'P' db 00h; db DCh; 'œ' db 00h; db 00h; db 00h; db 00h; db 51h; 'Q' db 50h; 'P' db 00h; db DDh; '' db 00h; db 00h; db 00h; db FCh; 'ì' db 50h; 'P' db 50h; 'P' db 00h; db DEh; 'ž' db 00h; db 00h; db 00h; db F4h; 'ä' db 50h; 'P' db 50h; 'P' db 00h; db DFh; 'Ÿ' db 00h; db 00h; db 00h; db ECh; '¬' db 50h; 'P' db 50h; 'P' db 00h; db E0h; ' ' db 00h; db 00h; db 00h; db E4h; '¤' db 50h; 'P' db 50h; 'P' db 00h; db E1h; '¡' db 00h; db 00h; db 00h; db F8h; 'è' db E9h; '©' db 4Fh; 'O' db 00h; db E2h; '¢' db 00h; db 00h; db 00h; db DCh; 'œ' db 50h; 'P' db 50h; 'P' db 00h; db E3h; '£' db 00h; db 00h; db 00h; db 1Ch; db FBh; 'ë' db 4Fh; 'O' db 00h; db E4h; '¤' db 00h; db 00h; db 00h; db 18h; db FBh; 'ë' db 4Fh; 'O' db 00h; db E5h; '¥' db 00h; db 00h; db 00h; db 14h; db FBh; 'ë' db 4Fh; 'O' db 00h; db E6h; '¦' db 00h; db 00h; db 00h; db D8h; '˜' db 50h; 'P' db 50h; 'P' db 00h; db E7h; '§' db 00h; db 00h; db 00h; db D4h; '”' db 50h; 'P' db 50h; 'P' db 00h; db E8h; '¨' db 00h; db 00h; db 00h; db D0h; '' db 50h; 'P' db 50h; 'P' db 00h; db E9h; '©' db 00h; db 00h; db 00h; db CCh; 'Œ' db 50h; 'P' db 50h; 'P' db 00h; db EAh; 'ª' db 00h; db 00h; db 00h; db C8h; 'ˆ' db 50h; 'P' db 50h; 'P' db 00h; db EBh; '«' db 00h; db 00h; db 00h; db C4h; '„' db 50h; 'P' db 50h; 'P' db 00h; db ECh; '¬' db 00h; db 00h; db 00h; db C0h; '€' db 50h; 'P' db 50h; 'P' db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db 31h; '1' db 30h; '0' db 00h; db 00h; db 39h; '9' db 00h; db 00h; db 00h; db 38h; '8' db 00h; db 00h; db 00h; db 37h; '7' db 00h; db 00h; db 00h; db 36h; '6' db 00h; db 00h; db 00h; db 35h; '5' db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; db 6Ch; 'l' db 69h; 'i' db 73h; 's' db 74h; 't' db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 65h; 'e' db 63h; 'c' db 6Ch; 'l' db 69h; 'i' db 6Eh; 'n' db 65h; 'e' db 00h; db 61h; 'a' db 63h; 'c' db 63h; 'c' db 65h; 'e' db 70h; 'p' db 74h; 't' db 00h; db 00h; db 71h; 'q' db 75h; 'u' db 69h; 'i' db 74h; 't' db 00h; db 00h; db 00h; db 00h; db 61h; 'a' db 64h; 'd' db 64h; 'd' db 00h; db 72h; 'r' db 65h; 'e' db 6Dh; 'm' 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; L0050513C: db 77h; 'w' db 68h; 'h' db 6Fh; 'o' db 00h; SSZ00505140_Command: db 'Command',0 db 54h; 'T' db 61h; 'a' db 6Ch; 'l' db 6Bh; 'k' db 00h; db 00h; db 00h; db 00h; SSZ00505150_Tell: db 'Tell',0 Align 4 SSZ00505158_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; L0050516C: db 53h; 'S' db 61h; 'a' db 79h; 'y' db 00h; SSZ00505170_CInputWindow__CInputWindow____be: db 'CInputWindow::CInputWindow(): begin.',0Ah,0 Align 4 SSZ00505198__s__d: db '%s %d',0 Align 4 SSZ005051A0_Note_to_self___s: db 'Note to self: %s',0 Align 4 SSZ005051B4_No_one_has_invited_you_to_be_in_: db 'No one has invited you to be in a party.',0 Align 4 SSZ005051E0_Too_late_to_decline__you_are_alr: db 'Too late to decline, you are already in the party. Try /quit.',0 Align 4 SSZ00505220_You_have_already_joined_the_part: db 'You have already joined the party.',0 Align 4 SSZ00505244_You_are_not_in_a_party_: db 'You are not in a party.',0 SSZ0050525C__s__s: db '%s %s',0 Align 4 SSZ00505264_freeze_0_: db 'freeze 0 ',0 Align 4 SSZ00505270_freeze_1_: db 'freeze 1 ',0 Align 4 SSZ0050527C_on_the_Felucca_facet_: db 'on the Felucca facet.',0 Align 4 SSZ00505294_on_the_Trammel_facet_: db 'on the Trammel facet.',0 Align 4 SSZ005052AC_You_are_at___d__d__d_in__s_: db 'You are at: %d %d %d in %s ',0 SSZ005052C8___s__s: db '.%s %s',0 Align 4 SSZ005052D0_Broadcast__: db 'Broadcast: ',0 SSZ005052DC_Command__: db 'Command: ',0 Align 4 SSZ005052E8_Yell__: db 'Yell: ',0 Align 4 SSZ005052F0_Whisper__: db 'Whisper: ',0 Align 4 SSZ005052FC_Emote__: db 'Emote: ',0 SSZ00505304_Party__: db 'Party: ',0 L0050530C: db 5Dh; ']' db 3Ah; ':' db 20h; ' ' db 00h; SSZ00505310_Tell__: db 'Tell [',0 Align 4 L00505318: dd L0050531C L0050531C: dd L00756E65 SSZ00505320_LanguageManager__startup__user_l: db 'LanguageManager::startup: user language set to ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00505358_LanguageManager__findSupportedLa: db 'LanguageManager::findSupportedLanguages.',0Ah,0 Align 4 SSZ00505384_LanguageManager__setUserLanguage: db 'LanguageManager::setUserLanguageCodeString: userLanguageCodeString=',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ005053D0_LanguageManager__setUserLanguage: db 'LanguageManager::setUserLanguageCodeString: ! ul. not setting user language code.',0Ah,0 Align 4 SSZ00505424_LanguageManager__startup__cannot: db 'LanguageManager::startup: cannot allocate memory for NEW LanguageCode ',27h,'defaultLanguageCode',27h,'. free more system resources. shutting down.',0Ah,0 Align 4 SSZ005054B0_English: db 'English',0 SSZ005054B8_United_States: db 'United States',0 Align 4 SWC005054C8_Error__TID___String_too_Long___: unicode 'Error (TID): String too Long : ',0000h SWC00505508_Error__TID___Null_string___: unicode 'Error (TID): Null string : ',0000h SWC00505540_Error__TID___Line_number_less_th: unicode 'Error (TID): Line number less than zero : ',0000h Align 4 SSZ00505598_cliloc_1: db 'cliloc-1',0 Align 4 SSZ005055A4_cliloc_02_2d: db 'cliloc%02.2d',0 Align 4 SWC005055B4_Error__TID___Null_Token___: unicode 'Error (TID): Null Token : ',0000h Align 4 SSZ005055EC__d____d: db '%d : %d',0 SWC005055F4_Error__TID___Token_Out_of_Range_: unicode 'Error (TID): Token Out of Range : ',0000h Align 4 SSZ0050563C_LanguageManager__getLanguageName: db 'LanguageManager::getLanguageName: cannot get language name. would be returning NULL.',0Ah,0 Align 4 SSZ00505694_LanguageManager__getDefaultFileE: db 'LanguageManager::getDefaultFileExtension: shouldn',27h,'t really be here. perhaps ',27h,'defaultLanguageCode',27h,' was not set?',0Ah,0 SSZ00505704_LanguageManager__loadLanguageCod: db 'LanguageManager::loadLanguageCodes: loaded language codes.',0Ah,0 SSZ00505740_Ignoring_Unusually_large_CHUNK_C: db 'Ignoring Unusually large CHUNK CODE.',0 Align 4 SSZ00505768_Very_Strange_Error__Maybe_Premat: db 'Very Strange Error. Maybe Premature EOF?',0 Align 4 SSZ00505794_LanguageManager__loadLanguageCod: db 'LanguageManager::loadLanguageCodes:',0 SSZ005057B8_Ignoring_Unexpected_FORM_or_CHUN: db 'Ignoring Unexpected FORM or CHUNK.',0 Align 4 SSZ005057DC_LanguageManager__loadLanguageCod: db 'LanguageManager::loadLanguageCodes: loaded %d bytes from file ',27h,'langcode.iff',27h,'.',0Ah,0 Align 4 SSZ0050582C_LanguageManager__loadLanguageCod: db 'LanguageManager::loadLanguageCodes: file ',27h,'langcode.iff',27h,'. no bytes read.',0Ah,0 Align 4 SSZ00505878_langcode_iff: db 'langcode.iff',0 Align 4 SSZ00505888_language_langcode_iff: db 'language\langcode.iff',0 Align 4 SSZ005058A0_LanguageManager__setLanguageDefa: db 'LanguageManager::setLanguageDefaults: stop...',0Ah,0 Align 4 SSZ005058D0_LanguageManager__setLanguageDefa: db 'LanguageManager::setLanguageDefaults: Your O.S. is currently running in a language not supported by the Translation Server. Text may not be translated for you.',0Ah,0 Align 4 SSZ00505974_LanguageManager__setLanguageDefa: db 'LanguageManager::setLanguageDefaults: shouldn',27h,'t really be here. perhaps ',27h,'defaultLanguageCode',27h,' was not set?',0Ah,0 SSZ005059E0_intl: db 'intl',0 Align 4 SSZ005059E8_sLanguage: db 'sLanguage',0 Align 4 SSZ005059F4_default: db 'default',0 SSZ005059FC_LanguageManager__setLanguageDefa: db 'LanguageManager::setLanguageDefaults: start...',0Ah,0 SSZ00505A2C_options: db 'options',0 SSZ00505A34_skilname: db 'skilname',0 Align 4 SSZ00505A40_intro: db 'intro',0 Align 4 SSZ00505A48_LanguageManager__preLoad__user_l: db 'LanguageManager::preLoad: user language set to ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00505A80_LanguageManager__preLoad__: db 'LanguageManager::preLoad.',0Ah,0 Align 4 SSZ00505A9C_LanguageManager__loadSection___s: db 'LanguageManager::loadSection: %s',0Ah,0 Align 4 SSZ00505AC0_no_section___s__found_for_langua: db 'no section <%s> found for language <%s> in file <%s>.',0Ah,0 Align 4 SSZ00505AF8___getUserLanguageCodeString_____: db '! getUserLanguageCodeString() & no section <%s> found in file <%s>.',0Ah,0 Align 4 SSZ00505B40_LanguageManager__loadSection__ca: db 'LanguageManager::loadSection: cannot new LanguageSection.',0Ah,0 Align 4 SSZ00505B7C_LanguageManager__loadSection__fo: db 'LanguageManager::loadSection: forcing load of section ',27h,'%s',27h,' from file ',27h,'%s',27h,0Ah,0 Align 4 SSZ00505BC8_stringCount____0_: db 'stringCount <= 0.',0 Align 4 SSZ00505BDC_Illegal_character_size_: db 'Illegal character size.',0 SSZ00505BF4_LanguageSection__load_: db 'LanguageSection::load:',0 Align 4 SSZ00505C0C_Extra_data_in_CHUNK_INFO_: db 'Extra data in CHUNK INFO.',0 Align 4 SSZ00505C28_LanguageSection__load__cannot_lo: db 'LanguageSection::load: cannot load from file ',27h,'%s',27h,'.',0Ah,0 L00505C5C: db 2Eh; '.' db 00h; db 00h; db 00h; SSZ00505C60_language_: db 'language\',0 Align 4 SSZ00505C6C_TOO_MUCH_DATA__Check_string_coun: db 'TOO MUCH DATA! Check string count.',0 Align 4 SSZ00505C90_LanguageSection__loadText_: db 'LanguageSection::loadText:',0 Align 4 SSZ00505CAC_NOT_ENOUGH_DATA__Check_string_co: db 'NOT ENOUGH DATA! Check string count.',0 Align 4 SSZ00505CD4_FILE__s__Function_LanguageSectio: db 'FILE:%s, Function:LanguageSection::getStr: given string number (%d) out of range (0-%d)',0Ah,0 Align 4 SSZ00505D30_FILE__s__Function_LanguageSectio: db 'FILE:%s, Function:LanguageSection::getStr: string number (%d) is NULL !',0Ah,0 Align 4 SSZ00505D7C_C__publish004_src_LanguageSectio: db 'C:\publish004\src\LanguageSection.cxx',0 Align 4 SSZ00505DA4_LanguageSection__getStr_string_n: db 'LanguageSection::getStr:string number (%d) is NULL !',0Ah,0 Align 4 SSZ00505DDC_FILE__s__Function_LanguageSectio: db 'FILE:%s, Function:LanguageSection::getStrForFrame: no frame timing information',0Ah,0 L00505E2C: 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; L00505E3B: db 00h; db 00h; db 00h; db 00h; db 00h; L00505E40: db 53h; 'S' L00505E41: db 00h; db 00h; db 00h; L00505E44: db 53h; 'S' L00505E45: db 00h; L00505E46: db 01h; L00505E47: db 01h; L00505E48: dd 00000001h SSZ00505E4C_currently_no_support_for_transla: db 'currently no support for translationServerIPAddress != 0x7f000001 (127.0.0.1)',0 Align 4 SSZ00505E9C_LanguageTranslationServer__insta: db 'LanguageTranslationServer::install:',0 SSZ00505EC0__d__s: db '-d=%s',0 Align 4 SSZ00505EC8__p__d: db '-p=%d',0 Align 4 SSZ00505ED0_TranServ_exe: db 'TranServ.exe',0 Align 4 SSZ00505EE0_Ultima_Online_Local_Translation_: db 'Ultima Online Local Translation Server',0 Align 4 SSZ00505F08_Systran: db 'Systran',0 SSZ00505F10___ul__not_setting_user_language_: db '! ul. not setting user language code',0 Align 4 SSZ00505F38_LanguageTranslationServer__setUs: db 'LanguageTranslationServer::setUserLanguageCode:',0 SSZ00505F68_LanguageTranslationServer__Packe: db 'LanguageTranslationServer::Packet::update: Packet already translated!',0Ah,0 Align 4 SSZ00505FB0_Warning__Text_Id_has_wrapped__Re: db 'Warning. Text Id has wrapped. Restarting at id=1.',0 Align 4 SSZ00505FE4_LanguageTranslationServer__Packe: db 'LanguageTranslationServer::Packet::generateId:',0 Align 4 SSZ00506014_Character_Selection: db 'Character Selection',0 SSZ00506028_Login_gump: db 'Login gump',0 Align 4 SSZ00506034_Login_framedata: db 'Login framedata',0 SSZ00506044_Login_frame0_pBMP: db 'Login frame0 pBMP',0 Align 4 L00506058: dd SSZ0050605C_macros_txt SSZ0050605C_macros_txt: db 'macros.txt',0 Align 4 SSZ00506068_Cancelled_opening_containers_: db 'Cancelled opening containers.',0 Align 4 SSZ00506088_Done_saving_desktop_: db 'Done saving desktop.',0 Align 4 SSZ005060A0_Always_Run_is_now_off_: db 'Always Run is now off.',0 Align 4 SSZ005060B8_Always_Run_is_now_on_: db 'Always Run is now on.',0 Align 4 SSZ005060D0_You_have_no_last_target_set_: db 'You have no last target set.',0 Align 4 SSZ005060F0_There_are_no_mobiles_on_screen_t: db 'There are no mobiles on screen to select.',0 Align 4 SSZ0050611C_salute: db 'salute',0 Align 4 L00506124: db 62h; 'b' db 6Fh; 'o' db 77h; 'w' db 00h; SSZ00506128_Stopped_following_: db 'Stopped following.',0 Align 4 SSZ0050613C_keynames_txt: db 'keynames.txt',0 Align 4 SSZ0050614C__________: db '########',0Ah,0 Align 4 L00506158: db 25h; '%' db 73h; 's' db 0Ah; db 00h; SSZ0050615C__s__d__d__d_: db '%s %d %d %d',0Ah,0 Align 4 SSZ0050616C_CApp__SaveMacros__cannot_open_fi: db 'CApp::SaveMacros: cannot open file ',27h,'macros.txt',27h,' for writing.',0Ah,0 Align 4 L005061AC: db 77h; 'w' db 74h; 't' db 00h; db 00h; SSZ005061B0_RightHand: db 'RightHand',0 Align 4 SSZ005061BC_LeftHand: db 'LeftHand',0 Align 4 SSZ005061C8_You_must_select_the_right_or_lef: db 'You must select the right or left arm in the macro options.',0 SSZ00506204_You_must_first_disarm_a_weapon_i: db 'You must first disarm a weapon in order to arm one.',0 SSZ00506238_You_must_wait_to_perform_another: db 'You must wait to perform another action.',0 Align 4 SSZ00506264_framedata_for_CMapGump: db 'framedata for CMapGump',0 Align 4 SSZ0050627C_CMapGump__CMapGump____begin__: db 'CMapGump::CMapGump(): begin.',0Ah,0 Align 4 SSZ0050629C_CMapGump___CMapGump___: db 'CMapGump::~CMapGump()',0Ah,0 Align 4 SSZ005062B4_CMapGump__HandleMouseMove__eithe: db 'CMapGump::HandleMouseMove: either pointer ',27h,'onObj',27h,' is not valid, or the data it points to is not valid. object ',27h,'onObj',27h,' is corrupted. code would have crashed. setting ',27h,'onObj = 0',27h,0Ah,0 Align 4 SSZ00506368_CMapGump__HandleMouseMove____onM: db 'CMapGump::HandleMouseMove: ! onMobile->IsMobile()',0Ah,0 Align 4 SSZ0050639C_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'onMobile',27h,' is not valid, or the data it points to is not valid. setting ',27h,'onMobile = 0',27h,'.',0Ah,0 Align 4 SSZ0050641C_CMapGump__HandleMouseMove____tmp: db 'CMapGump::HandleMouseMove: ! tmp->IsMobile()',0Ah,0 Align 4 SSZ0050644C_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'tmp',27h,' is not valid, or the data it points to is not valid. setting ',27h,'tmp = 0',27h,'.',0Ah,0 SSZ005064C0_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\mapgump.cxx',0 Align 4 SSZ005064F4_CMapGump__HandleMouseMoveAway___: db 'CMapGump::HandleMouseMoveAway: ! test_ptr->IsDynamic()',0Ah,0 SSZ0050652C_CMapGump__HandleMouseMoveAway__e: db 'CMapGump::HandleMouseMoveAway: either pointer ',27h,'onObj',27h,' is not valid, or the data it points to is not valid. object ',27h,'onObj',27h,' is corrupted. code would have crashed. setting onObj to 0',0Ah,0 Align 4 SSZ005065E4_CMapGump__HandleMouseMoveAway___: db 'CMapGump::HandleMouseMoveAway: ! test_ptr->IsMobile()',0Ah,0 Align 4 SSZ0050661C_CMapGump__HandleMouseMoveAway__o: db 'CMapGump::HandleMouseMoveAway: onMobile->prevDraw == reinterpret_cast(0xdddddddd). object ',27h,'tmp',27h,' is corrupted. code would have crashed! setting onMobile to 0',0Ah,0 Align 4 SSZ005066C8_CMapGump__HandleMouseMoveAway__o: db 'CMapGump::HandleMouseMoveAway: onMobile->nextDraw == reinterpret_cast(0xdddddddd). object ',27h,'tmp',27h,' is corrupted. code would have crashed! setting onMobile to 0',0Ah,0 Align 4 SSZ00506774_At___d___d___Going_to___d___d___: db 'At: %d, %d. Going to: %d, %d. dx,dy: %d, %d. Dir: %d',0 SSZ005067AC_This_may_flag_you_criminal_: db 'This may flag you criminal!',0 SSZ005067C8_Now_following_: db 'Now following.',0 Align 4 SSZ005067D8_Not_following_: db 'Not following.',0 Align 4 SSZ005067E8_This_will_lower_notoriety__: db 'This will lower notoriety !',0 SSZ00506804_status_gump: db 'status gump',0 SSZ00506810_Pathfinding_: db 'Pathfinding!',0 Align 4 SSZ00506820_Can_t_get_there: db 'Can',27h,'t get there',0 SSZ00506830_GameAreaEdge_frame0: db 'GameAreaEdge frame0',0 SSZ00506844_GameAreaEdge_framedata: db 'GameAreaEdge framedata',0 Align 4 SSZ0050685C_GameAreaEdgeGump: db 'GameAreaEdgeGump',0 Align 4 SSZ00506870_GameAreaEdgeGump__GameAreaEdgeGu: db 'GameAreaEdgeGump::GameAreaEdgeGump(int which): begin.',0Ah,0 Align 4 L005068A8: 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 00h; db 00h; db 00h; db 00h; L005068B8: 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 01h; db 00h; db 00h; db 00h; SSZ005068C8_MapManager__startup__begin__: db 'MapManager::startup: begin.',0Ah,0 Align 4 SSZ005068E8_MemoryManager__started_: db 'MemoryManager::started',0Ah,0 SSZ00506900_MemoryManager__start_: db 'MemoryManager::start',0Ah,0 Align 4 SSZ00506918_MemoryManager__stopped__: db 'MemoryManager::stopped.',0Ah,0 Align 4 SSZ00506934__MemoryManager__OVERLOAD_GLOBAL_: db ' MemoryManager__OVERLOAD_GLOBAL_NEW_AND_DELETE not defined. nothing to report.',0Ah,0 SSZ00506984_MemoryManager__report__: db 'MemoryManager::report:',0Ah,0 SSZ0050699C_MemoryManager__shutdown__stoppin: db 'MemoryManager::shutdown: stopping...',0Ah,0 Align 4 SSZ005069C4_MemoryManager__GetMem__m____0_: db 'MemoryManager::GetMem: m == 0',0Ah,0 Align 4 SSZ005069E4_MemoryManager__GetMem__size____0: db 'MemoryManager::GetMem: size <= 0',0Ah,0 Align 4 SSZ00506A08_MemoryManager__validateRawPointe: db 'MemoryManager::validateRawPointer: validation_code != MemoryManager::VALID_OBJECT_BIT_PATTERN, from file ',27h,'%s',27h,', line ',27h,'%d',27h,0Ah,0 Align 4 SSZ00506A84_MemoryManager__validateRawPointe: db 'MemoryManager::validateRawPointer: p == 0xdddddddd, from file ',27h,'%s',27h,', line ',27h,'%d',27h,0Ah,0 Align 4 SSZ00506AD4_MemoryManager__validateRawPointe: db 'MemoryManager::validateRawPointer: p == 0, from file ',27h,'%s',27h,', line ',27h,'%d',27h,0Ah,0 Align 4 L00506B1C: dd 00000002h SSZ00506B20_MonochromeMonitor__putchar__offs: db 'MonochromeMonitor::putchar: offset >= SCREEN_WIDTH * SCREEN_HEIGHT * 2',0Ah,0 SSZ00506B68_MouseManager__startup__begin__: db 'MouseManager::startup: begin.',0Ah,0 Align 4 SSZ00506B88_MouseManager__SetCapture__either: db 'MouseManager::SetCapture: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00506C0C_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\mouse.cxx',0 Align 4 SSZ00506C3C_MouseManager__OnLButtonDown__eit: db 'MouseManager::OnLButtonDown: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00506CC4_MouseManager__OnLButtonUp__eithe: db 'MouseManager::OnLButtonUp: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00506D48_MouseManager__OnRButtonDown__eit: db 'MouseManager::OnRButtonDown: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00506DD0_MouseManager__OnRButtonUp__eithe: db 'MouseManager::OnRButtonUp: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00506E54_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pGump = 0',27h,' and ',27h,'CGumpManager::mouseonGump = 0',27h,'.',0Ah,0 SSZ00506EF0_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'CGumpManager::mouseonGump',27h,' is not valid, or the data it points to is not valid. setting ',27h,'CGumpManager::mouseonGump = 0',27h,'.',0Ah,0 SSZ00506F90_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'pGump',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pGump = 0',27h,'.',0Ah,0 SSZ00507008_MouseManager__Update__either_poi: db 'MouseManager::Update: either pointer ',27h,'pCapture',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pCapture = 0',27h,'.',0Ah,0 Align 4 SSZ00507088_MouseManager__UpdateHelpHovering: db 'MouseManager::UpdateHelpHovering: pointer ',27h,'hover_object',27h,' is not valid,setting to 0.',0Ah,0 Align 4 SSZ005070E0_MouseManager__UpdateHelpHovering: db 'MouseManager::UpdateHelpHovering: either pointer ',27h,'CGumpManager::helpTextGump',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 Align 4 SSZ0050717C_MouseManager__UpdateHelpHovering: db 'MouseManager::UpdateHelpHovering: either pointer ',27h,'pItem',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pItem = 0',27h,'.',0Ah,0 SSZ00507200_MouseManager__UpdateHelpHovering: db 'MouseManager::UpdateHelpHovering: either pointer ',27h,'GraphicManager::pMapGump',27h,' is not valid, or the data it points to is not valid. program may crash!',0Ah,0 Align 4 L00507298: 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; L005072B4: dd 00000003h L005072B8: dd 00000000h L005072BC: 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; L005072DC: dd 00000001h L005072E0: dd FFFFFFFFh L005072E4: 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; 'ï' L00507308: dd 00000014h SSZ0050730C_Someone_tried_to_call_GetZVal_wi: db 'Someone tried to call GetZVal with theDir not between 0 and 7',0 Align 4 SSZ0050734C_Someone_tried_to_call_GetZVal_wi: db 'Someone tried to call GetZVal with theOffset not between 0 and 2',0 Align 4 SSZ00507390_Bugger: db 'Bugger',0 Align 4 SSZ00507398_ouch_: db 'ouch!',0 Align 4 SSZ005073A0_Pathfinding_to__d___d___d_: db 'Pathfinding to %d, %d, %d.',0 db 00h; db 00h; db 00h; db 00h; db 00h; L005073C0: dd L00501684 L005073C4: dd 00000019h L005073C8: dd FFFFFFFFh L005073CC: dd SSZ00508488_chardata_mul L005073D0: dd 00000280h L005073D4: dd 000001E0h L005073D8: dd FFFFFFFFh L005073DC: dd FFFFFFFFh L005073E0: dd SSZ00508474_Clumsy__Uus_Jux_ db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 84h; '"' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 84h; '"' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 30h; '0' db 84h; '"' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 14h; db 84h; '"' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db FCh; 'ì' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db CCh; 'Œ' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db B8h; 'ñ' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db A4h; 'ý' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 84h; '"' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 2Ch; ',' db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 04h; db 83h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db C4h; '„' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 68h; 'h' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 48h; 'H' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 82h; ''' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db FCh; 'ì' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 90h; '?' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 78h; 'x' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 60h; '`' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 24h; '$' db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 0Ch; db 81h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db D4h; '”' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db C4h; '„' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db ACh; '¿' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 90h; '?' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 74h; 't' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 60h; '`' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 44h; 'D' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 28h; '(' db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 14h; db 80h; '?' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db F4h; 'ä' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db D4h; '”' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db B8h; 'ñ' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 9Ch; '?' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 64h; 'd' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 24h; '$' db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 0Ch; db 7Fh; '' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db ECh; '¬' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db D4h; '”' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db B0h; 'ø' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ch; '?' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 68h; 'h' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 44h; 'D' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db 7Eh; '~' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db FCh; 'ì' db 49h; 'I' db 70h; 'p' db 00h; db 00h; db 00h; db 00h; db 00h; L005075E8: dd L00507E1C dd SSZ00507E14_I_M_Y dd L00507E10 dd L00507E0C dd SSZ00507E04_I_P_Y dd L00507E00 dd L00507DFC dd L00507DF8 dd L00507DF4 dd L00507DF0 dd L00507DEC dd L00507DE8 dd L00507DE4 dd L00507DE0 dd L00507DDC dd L00507DD8 dd L00507DD4 dd L00507DD0 dd L00507DCC dd L00507DC8 dd SSZ00507DC0_O_P_Y dd L00507DBC dd L00507DB8 dd SSZ00507DB0_I_S_Y dd SSZ00507DA8_V_A_N dd SSZ00507DA0_V_U_S dd L00507D9C dd SSZ00507D94_I_F_G dd SSZ00507D8C_I_V_M dd SSZ00507D84_P_O_G dd L00507D80 dd SSZ00507D78_K_O_P dd SSZ00507D70_I_J_H_Y dd L00507D6C dd SSZ00507D64_K_I_E dd SSZ00507D5C_I_J_S dd SSZ00507D54_P_C_W dd SSZ00507D4C_A_E_P dd SSZ00507D44_I_N_G dd L00507D40 dd L00507D3C dd L00507D38 dd SSZ00507D30_V_O_F dd SSZ00507D28_A_L_X dd SSZ00507D20_K_P_Y dd SSZ00507D18_V_D_S dd SSZ00507D10_I_E_G dd L00507D0C dd SSZ00507D04_V_O_G dd SSZ00507CFC_I_S_G dd SSZ00507CF4_K_V_F dd SSZ00507CEC_V_R_P dd L00507CE8 dd SSZ00507CE0_V_A_O dd SSZ00507CD8_K_D_F_Y dd SSZ00507CD0_V_Y_R dd SSZ00507CC8_I_V_P dd SSZ00507CC0_V_C_P dd L00507CBC dd SSZ00507CB4_K_V_X_H dd SSZ00507CAC_K_V_X_C dd SSZ00507CA4_K_V_X_Y dd SSZ00507C9C_K_V_X_F dd SSZ00507C94_KVXAF dd L007049FC L005076EC: dd L00507C90 dd L00507C8C dd L00507C88 dd L00507C84 dd L00507C80 dd L00507C7C dd L00507C78 dd L00507C74 dd L00507C70 dd L00507C6C dd L00507C68 dd L00507C64 dd L00507C78 dd L00507C60 dd L00507C5C dd L00507C6C dd L00507C58 dd L00507C54 dd L00507C50 dd L004FFB18 dd L00507C70 dd L00507C70 dd L00507C60 dd L00507C4C dd L00507C8C dd SSZ00507C44_3457 dd L00507C40 dd L00507C3C dd SSZ00507C34_3456 dd L00507C30 dd L00507C2C dd L00507C28 dd L00507C24 dd SSZ00507C1C_3867 dd L00507C18 dd L00507C14 dd SSZ00507C0C_8527 dd L00507C14 dd L00507C08 dd L00507C04 dd L00507C00 dd L00507C80 dd L00507C30 dd L00507C90 dd L00507C28 dd SSZ00507BF8_3527 dd L00507BF4 dd L00507C60 dd SSZ00507BEC_8517 dd SSZ00507BE4_8567 dd L00507C7C dd L00507C30 dd SSZ00507BDC_8156 dd SSZ00507BD4_8357 dd SSZ00507BCC_1657 dd L00507C04 dd SSZ00507BC4_1457 dd SSZ00507BBC_8152 dd L00507BB8 dd L00507C04 dd SSZ00507BB0_1567 dd L00507C04 dd SSZ00507BB0_1567 dd L00507C04 dd L007049FC L005077F0: dd SSZ00507BA8_Origin dd L00507BA4 dd SSZ00507B94_invulnerable dd SSZ00507B88_squelched dd SSZ00507B80_frozen db 00h; db 00h; db 00h; db 00h; L00507808: dd SSZ00507B78_Adept dd SSZ004FF540_Alchemist dd SSZ00507B6C_Apprentice dd SSZ00507B64_Archer dd SSZ004FF534_Assassin dd SSZ004FF52C_Bard dd SSZ00507B5C_Beggar dd SSZ00507B50_Blackthorn dd SSZ00507B44_Blackthorne dd SSZ004FF518_Bowyer dd SSZ00507B3C_British dd SSZ00507B30_Carpenter dd SSZ00507B28_Chef dd SSZ00507B20_Expert dd SSZ00507B14_Fisherman dd SSZ00507B08_Grandmaster dd SSZ004FF510_Healer dd SSZ00507AFC_Journeyman dd L00507AF8 dd SSZ00507AF0_Mage dd SSZ00507AE8_Master dd SSZ00507AE0_Medium dd SSZ00507AD4_Merchant dd SSZ00507AC8_Neophyte dd SSZ00507AC0_Novice dd SSZ004FF508_Ranger dd SSZ00507AB8_Rogue dd SSZ00507AB0_Scholar dd SSZ00507AA8_Smith dd SSZ00507AA0_Tailor dd SSZ004FF500_Tinker dd SSZ004FF4F8_Warrior db 00h; db 00h; db 00h; db 00h; L0050788C: dd SSZ00507A98_fuck dd SSZ00507A90_shit dd SSZ00507A88_twat dd SSZ00507A80_cunt dd SSZ00507A78_snatch dd SSZ00507A70_pussy dd SSZ00507A68_dick dd SSZ00507A60_asshole dd SSZ00507A58_bitch dd SSZ00507A50_blowjob dd L00507A4C dd SSZ00507A44_goddamn dd SSZ00507A3C_jackoff dd SSZ00507A34_jerkoff dd SSZ00507A2C_jism dd L00507A28 dd SSZ00507A20_kunt dd SSZ00507A18_klit dd SSZ00507A10_nigger dd SSZ00507A08_nigga dd SSZ00507A00_penis db 00h; db 00h; db 00h; db 00h; L005078E4: dd L005079FC dd SSZ005079F4_clit dd SSZ005079E8_clitoris dd SSZ005079E0_cock dd SSZ005079D4_cocksucker dd L005079D0 dd SSZ005079C4_cunnilingus dd SSZ005079BC_chink dd SSZ005079B4_chinc dd SSZ005079AC_dildo dd SSZ005079A4_dyke dd SSZ0050799C_felatio dd SSZ00507994_lesbo dd SSZ0050798C_lezbo dd SSZ00507984_piss dd SSZ0050797C_prick dd SSZ00507974_spic dd L00507970 dd SSZ00507968_kike dd SSZ00507960_kyke dd L0050795C dd SSZ00507950_chigaboo dd SSZ00507948_jigaboo db 00h; db 00h; db 00h; db 00h; L00507944: dd FFFFFFFFh SSZ00507948_jigaboo: db 'jigaboo',0 SSZ00507950_chigaboo: db 'chigaboo',0 Align 4 L0050795C: db 77h; 'w' db 6Fh; 'o' db 70h; 'p' db 00h; SSZ00507960_kyke: db 'kyke',0 Align 4 SSZ00507968_kike: db 'kike',0 Align 4 L00507970: dd L00746974 SSZ00507974_spic: db 'spic',0 Align 4 SSZ0050797C_prick: db 'prick',0 Align 4 SSZ00507984_piss: db 'piss',0 Align 4 SSZ0050798C_lezbo: db 'lezbo',0 Align 4 SSZ00507994_lesbo: db 'lesbo',0 Align 4 SSZ0050799C_felatio: db 'felatio',0 SSZ005079A4_dyke: db 'dyke',0 Align 4 SSZ005079AC_dildo: db 'dildo',0 Align 4 SSZ005079B4_chinc: db 'chinc',0 Align 4 SSZ005079BC_chink: db 'chink',0 Align 4 SSZ005079C4_cunnilingus: db 'cunnilingus',0 L005079D0: db 63h; 'c' db 75h; 'u' db 6Dh; 'm' db 00h; SSZ005079D4_cocksucker: db 'cocksucker',0 Align 4 SSZ005079E0_cock: db 'cock',0 Align 4 SSZ005079E8_clitoris: db 'clitoris',0 Align 4 SSZ005079F4_clit: db 'clit',0 Align 4 L005079FC: db 61h; 'a' db 73h; 's' db 73h; 's' db 00h; SSZ00507A00_penis: db 'penis',0 Align 4 SSZ00507A08_nigga: db 'nigga',0 Align 4 SSZ00507A10_nigger: db 'nigger',0 Align 4 SSZ00507A18_klit: db 'klit',0 Align 4 SSZ00507A20_kunt: db 'kunt',0 Align 4 L00507A28: db 6Ah; 'j' db 69h; 'i' db 7Ah; 'z' db 00h; SSZ00507A2C_jism: db 'jism',0 Align 4 SSZ00507A34_jerkoff: db 'jerkoff',0 SSZ00507A3C_jackoff: db 'jackoff',0 SSZ00507A44_goddamn: db 'goddamn',0 L00507A4C: db 66h; 'f' db 61h; 'a' db 67h; 'g' db 00h; SSZ00507A50_blowjob: db 'blowjob',0 SSZ00507A58_bitch: db 'bitch',0 Align 4 SSZ00507A60_asshole: db 'asshole',0 SSZ00507A68_dick: db 'dick',0 Align 4 SSZ00507A70_pussy: db 'pussy',0 Align 4 SSZ00507A78_snatch: db 'snatch',0 Align 4 SSZ00507A80_cunt: db 'cunt',0 Align 4 SSZ00507A88_twat: db 'twat',0 Align 4 SSZ00507A90_shit: db 'shit',0 Align 4 SSZ00507A98_fuck: db 'fuck',0 Align 4 SSZ00507AA0_Tailor: db 'Tailor',0 Align 4 SSZ00507AA8_Smith: db 'Smith',0 Align 4 SSZ00507AB0_Scholar: db 'Scholar',0 SSZ00507AB8_Rogue: db 'Rogue',0 Align 4 SSZ00507AC0_Novice: db 'Novice',0 Align 4 SSZ00507AC8_Neophyte: db 'Neophyte',0 Align 4 SSZ00507AD4_Merchant: db 'Merchant',0 Align 4 SSZ00507AE0_Medium: db 'Medium',0 Align 4 SSZ00507AE8_Master: db 'Master',0 Align 4 SSZ00507AF0_Mage: db 'Mage',0 Align 4 L00507AF8: db 4Ch; 'L' db 42h; 'B' db 00h; db 00h; SSZ00507AFC_Journeyman: db 'Journeyman',0 Align 4 SSZ00507B08_Grandmaster: db 'Grandmaster',0 SSZ00507B14_Fisherman: db 'Fisherman',0 Align 4 SSZ00507B20_Expert: db 'Expert',0 Align 4 SSZ00507B28_Chef: db 'Chef',0 Align 4 SSZ00507B30_Carpenter: db 'Carpenter',0 Align 4 SSZ00507B3C_British: db 'British',0 SSZ00507B44_Blackthorne: db 'Blackthorne',0 SSZ00507B50_Blackthorn: db 'Blackthorn',0 Align 4 SSZ00507B5C_Beggar: db 'Beggar',0 Align 4 SSZ00507B64_Archer: db 'Archer',0 Align 4 SSZ00507B6C_Apprentice: db 'Apprentice',0 Align 4 SSZ00507B78_Adept: db 'Adept',0 Align 4 SSZ00507B80_frozen: db 'frozen',0 Align 4 SSZ00507B88_squelched: db 'squelched',0 Align 4 SSZ00507B94_invulnerable: db 'invulnerable',0 Align 4 L00507BA4: db 4Fh; 'O' db 53h; 'S' db 49h; 'I' db 00h; SSZ00507BA8_Origin: db 'Origin',0 Align 4 SSZ00507BB0_1567: db '1567',0 Align 4 L00507BB8: db 31h; '1' db 33h; '3' db 34h; '4' db 00h; SSZ00507BBC_8152: db '8152',0 Align 4 SSZ00507BC4_1457: db '1457',0 Align 4 SSZ00507BCC_1657: db '1657',0 Align 4 SSZ00507BD4_8357: db '8357',0 Align 4 SSZ00507BDC_8156: db '8156',0 Align 4 SSZ00507BE4_8567: db '8567',0 Align 4 SSZ00507BEC_8517: db '8517',0 Align 4 L00507BF4: db 38h; '8' db 34h; '4' db 36h; '6' db 00h; SSZ00507BF8_3527: db '3527',0 Align 4 L00507C00: db 33h; '3' db 35h; '5' db 37h; '7' db 00h; L00507C04: db 31h; '1' db 35h; '5' db 36h; '6' db 00h; L00507C08: db 38h; '8' db 32h; '2' db 36h; '6' db 00h; SSZ00507C0C_8527: db '8527',0 Align 4 L00507C14: db 33h; '3' db 35h; '5' db 36h; '6' db 00h; L00507C18: db 31h; '1' db 33h; '3' db 32h; '2' db 00h; SSZ00507C1C_3867: db '3867',0 Align 4 L00507C24: db 38h; '8' db 35h; '5' db 32h; '2' db 00h; L00507C28: db 38h; '8' db 31h; '1' db 35h; '5' db 00h; L00507C2C: db 38h; '8' db 35h; '5' db 36h; '6' db 00h; L00507C30: db 38h; '8' db 35h; '5' db 37h; '7' db 00h; SSZ00507C34_3456: db '3456',0 Align 4 L00507C3C: db 38h; '8' db 36h; '6' db 37h; '7' db 00h; L00507C40: db 33h; '3' db 32h; '2' db 37h; '7' db 00h; SSZ00507C44_3457: db '3457',0 Align 4 L00507C4C: db 31h; '1' db 33h; '3' db 00h; db 00h; L00507C50: db 37h; '7' db 31h; '1' db 33h; '3' db 00h; L00507C54: db 38h; '8' db 37h; '7' db 00h; db 00h; L00507C58: db 33h; '3' db 35h; '5' db 00h; db 00h; L00507C5C: db 33h; '3' db 34h; '4' db 37h; '7' db 00h; L00507C60: db 31h; '1' db 37h; '7' db 00h; db 00h; L00507C64: db 32h; '2' db 36h; '6' db 00h; db 00h; L00507C68: db 33h; '3' db 34h; '4' db 00h; db 00h; L00507C6C: db 35h; '5' db 32h; '2' db 00h; db 00h; L00507C70: db 31h; '1' db 35h; '5' db 00h; db 00h; L00507C74: db 33h; '3' db 32h; '2' db 00h; db 00h; L00507C78: db 33h; '3' db 37h; '7' db 36h; '6' db 00h; L00507C7C: db 36h; '6' db 37h; '7' db 00h; db 00h; L00507C80: db 38h; '8' db 32h; '2' db 00h; db 00h; L00507C84: db 33h; '3' db 34h; '4' db 36h; '6' db 00h; L00507C88: db 34h; '4' db 32h; '2' db 00h; db 00h; L00507C8C: db 33h; '3' db 34h; '4' db 35h; '5' db 00h; L00507C90: db 31h; '1' db 32h; '2' db 00h; db 00h; SSZ00507C94_KVXAF: db 'KVXAF',0 Align 4 SSZ00507C9C_K_V_X_F: db 'K V X F',0 SSZ00507CA4_K_V_X_Y: db 'K V X Y',0 SSZ00507CAC_K_V_X_C: db 'K V X C',0 SSZ00507CB4_K_V_X_H: db 'K V X H',0 L00507CBC: db 41h; 'A' db 20h; ' ' db 43h; 'C' db 00h; SSZ00507CC0_V_C_P: db 'V C P',0 Align 4 SSZ00507CC8_I_V_P: db 'I V P',0 Align 4 SSZ00507CD0_V_Y_R: db 'V Y R',0 Align 4 SSZ00507CD8_K_D_F_Y: db 'K D F Y',0 SSZ00507CE0_V_A_O: db 'V A O',0 Align 4 L00507CE8: db 4Fh; 'O' db 20h; ' ' db 53h; 'S' db 00h; SSZ00507CEC_V_R_P: db 'V R P',0 Align 4 SSZ00507CF4_K_V_F: db 'K V F',0 Align 4 SSZ00507CFC_I_S_G: db 'I S G',0 Align 4 SSZ00507D04_V_O_G: db 'V O G',0 Align 4 L00507D0C: db 57h; 'W' db 20h; ' ' db 51h; 'Q' db 00h; SSZ00507D10_I_E_G: db 'I E G',0 Align 4 SSZ00507D18_V_D_S: db 'V D S',0 Align 4 SSZ00507D20_K_P_Y: db 'K P Y',0 Align 4 SSZ00507D28_A_L_X: db 'A L X',0 Align 4 SSZ00507D30_V_O_F: db 'V O F',0 Align 4 L00507D38: db 43h; 'C' db 20h; ' ' db 50h; 'P' db 00h; L00507D3C: db 41h; 'A' db 20h; ' ' db 4Fh; 'O' db 00h; L00507D40: db 4Bh; 'K' db 20h; ' ' db 58h; 'X' db 00h; SSZ00507D44_I_N_G: db 'I N G',0 Align 4 SSZ00507D4C_A_E_P: db 'A E P',0 Align 4 SSZ00507D54_P_C_W: db 'P C W',0 Align 4 SSZ00507D5C_I_J_S: db 'I J S',0 Align 4 SSZ00507D64_K_I_E: db 'K I E',0 Align 4 L00507D6C: db 41h; 'A' db 20h; ' ' db 47h; 'G' db 00h; SSZ00507D70_I_J_H_Y: db 'I J H Y',0 SSZ00507D78_K_O_P: db 'K O P',0 Align 4 L00507D80: db 4Fh; 'O' db 20h; ' ' db 52h; 'R' db 00h; SSZ00507D84_P_O_G: db 'P O G',0 Align 4 SSZ00507D8C_I_V_M: db 'I V M',0 Align 4 SSZ00507D94_I_F_G: db 'I F G',0 Align 4 L00507D9C: dd L00532044 SSZ00507DA0_V_U_S: db 'V U S',0 Align 4 SSZ00507DA8_V_A_N: db 'V A N',0 Align 4 SSZ00507DB0_I_S_Y: db 'I S Y',0 Align 4 L00507DB8: db 45h; 'E' db 20h; ' ' db 50h; 'P' db 00h; L00507DBC: db 52h; 'R' db 20h; ' ' db 50h; 'P' db 00h; SSZ00507DC0_O_P_Y: db 'O P Y',0 Align 4 L00507DC8: db 49h; 'I' db 20h; ' ' db 4Eh; 'N' db 00h; L00507DCC: db 41h; 'A' db 20h; ' ' db 50h; 'P' db 00h; L00507DD0: db 56h; 'V' db 20h; ' ' db 46h; 'F' db 00h; L00507DD4: db 52h; 'R' db 20h; ' ' db 53h; 'S' db 00h; L00507DD8: db 55h; 'U' db 20h; ' ' db 4Dh; 'M' db 00h; L00507DDC: db 55h; 'U' db 20h; ' ' db 53h; 'S' db 00h; L00507DE0: db 41h; 'A' db 20h; ' ' db 4Ah; 'J' db 00h; L00507DE4: db 49h; 'I' db 20h; ' ' db 4Ah; 'J' db 00h; L00507DE8: db 41h; 'A' db 20h; ' ' db 4Dh; 'M' db 00h; L00507DEC: db 41h; 'A' db 20h; ' ' db 4Eh; 'N' db 00h; L00507DF0: db 55h; 'U' db 20h; ' ' db 57h; 'W' db 00h; L00507DF4: db 45h; 'E' db 20h; ' ' db 55h; 'U' db 00h; L00507DF8: db 44h; 'D' db 20h; ' ' db 4Dh; 'M' db 00h; L00507DFC: db 53h; 'S' db 20h; ' ' db 46h; 'F' db 00h; L00507E00: db 49h; 'I' db 20h; ' ' db 4Ch; 'L' db 00h; SSZ00507E04_I_P_Y: db 'I P Y',0 Align 4 L00507E0C: db 49h; 'I' db 20h; ' ' db 4Dh; 'M' db 00h; L00507E10: db 52h; 'R' db 20h; ' ' db 57h; 'W' db 00h; SSZ00507E14_I_M_Y: db 'I M Y',0 Align 4 L00507E1C: 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; SSZ00508474_Clumsy__Uus_Jux_: db 'Clumsy (Uus Jux)',0 Align 4 SSZ00508488_chardata_mul: db 'chardata.mul',0 Align 4 SSZ00508498_login_cfg: db 'login.cfg',0 Align 4 SSZ005084A4_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 SSZ00508540_ERROR: db 'ERROR',0 Align 4 L00508548: db 25h; '%' db 73h; 's' db 00h; db 00h; SSZ0050854C_UO_Player: db 'UO Player',0 Align 4 SSZ00508558_CApp__shutdown__begin__: db 'CApp::shutdown: begin.',0Ah,0 SSZ00508570_Seer: db 'Seer',0 Align 4 SSZ00508578_Counselor: db 'Counselor',0 Align 4 L00508584: db 47h; 'G' db 4Dh; 'M' db 00h; db 00h; SSZ00508588_Lady: db 'Lady',0 Align 4 SSZ00508590_Lord: db 'Lord',0 Align 4 SSZ00508598_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 SSZ00508684_Out_of_memory: db 'Out of memory',0 Align 4 SSZ00508694_Another_copy_of_UO_is_already_ru: db 'Another copy of UO is already running!',0 Align 4 SSZ005086BC_CApp__LoadPlayerFile__either_poi: db 'CApp::LoadPlayerFile: either pointer ',27h,'pPlayerObject',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 Align 4 SSZ00508740_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\multcli.cxx',0 Align 4 SSZ00508774_ignore_lst: db 'ignore.lst',0 Align 4 SSZ00508780_uobscene_lst: db 'uobscene.lst',0 Align 4 L00508790: db 2Eh; '.' db 2Fh; '/' db 00h; db 00h; SSZ00508794_CApp__get_CDpath__currently_no_c: db 'CApp::get_CDpath: currently no code support for this hardware version of the client.',0Ah,0 Align 4 SSZ005087EC_CApp__LoadCharData__cannot_open_: db 'CApp::LoadCharData: cannot open file ',27h,'%s',27h,'.',0Ah,0 SSZ00508818_CApp__SaveCharData__cannot_open_: db 'CApp::SaveCharData: cannot open file ',27h,'%s',27h,' with mode ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00508854__s__d__d__d: db '%s %d %d %d',0 SSZ00508860_File__s__Function_ChooseServer__: db 'File:%s, Function:ChooseServer: currentLoginServ == 0. does file ',27h,'login.cfg',27h,' exist? does it have a line such as ',27h,'LoginServer=login.owo.com,7775...',27h,'?',0Ah,0 Align 4 SSZ005088F8_File__s__Function_ChooseServer__: db 'File:%s, Function:ChooseServer: begin.',0Ah,0 SSZ00508920_Entering_Britannia___: db 'Entering Britannia...',0 Align 4 SSZ00508938_Creating_character____: db 'Creating character... ',0 Align 4 SSZ00508950_Verifying_Account____: db 'Verifying Account... ',0 Align 4 SSZ00508968__seconds_: db ' seconds]',0 Align 4 SSZ00508974__Spam_detected__speech_queued_fo: db '[Spam detected, speech queued for ',0 Align 4 SSZ00508998_MultiManager__startup__begin__: db 'MultiManager::startup: begin.',0Ah,0 Align 4 L005089B8: dd SSZ0050C064_aaaenvir_d_frst01 dd SSZ0050C050_aaaenvir_d_frst02 dd SSZ0050C03C_aaaenvir_d_frst03 dd SSZ0050C028_aaaenvir_d_jung01 dd SSZ0050C014_aaaenvir_d_jung02 dd SSZ0050C000_aaaenvir_d_jung03 dd SSZ0050BFEC_aaaenvir_d_swmp01 dd SSZ0050BFD8_aaaenvir_d_swmp02 dd SSZ0050BFC4_aaaenvir_n_frst01 dd SSZ0050BFB0_aaaenvir_n_frst02 dd SSZ0050BF9C_aaaenvir_n_gen01 dd SSZ0050BF88_aaaenvir_n_gen02 dd SSZ0050BF74_aaaenvir_n_jung01 dd SSZ0050BF60_aaaenvir_n_jung02 dd SSZ0050BF4C_aaaenvir_n_swmp01 dd SSZ0050BF38_aaaenvir_n_swmp02 dd SSZ0050BF24_aaaenvir_watr01_l dd SSZ0050BF10_aaaenvir_watr02_l dd SSZ0050BEFC_aaaenvir_wave01_l dd SSZ0050BEE8_aaaenvir_wave02_l dd SSZ0050BED4_aaaenvir_wind01_l dd SSZ0050BEC0_aaaenvir_wind02_l dd SSZ0050BEAC_aaaenvir_wind03_l dd SSZ0050BE9C_aaafoley_bird01 dd SSZ0050BE8C_aaafoley_bird02 dd SSZ0050BE7C_aaafoley_bird03 dd SSZ0050BE6C_aaafoley_bird04 dd SSZ0050BE5C_aaafoley_bird05 dd SSZ0050BE4C_aaafoley_bird06 dd SSZ0050BE3C_aaafoley_bird07 dd SSZ0050BE2C_aaafoley_bird08 dd SSZ0050BE1C_aaafoley_bird09 dd SSZ0050BE08_aaafoley_bubl01_l dd SSZ0050BDF4_aaafoley_bubl02_l dd SSZ0050BDE4_aaafoley_drip01 dd SSZ0050BDD4_aaafoley_drip02 dd SSZ0050BDC0_aaafoley_drip03_l dd SSZ0050BDAC_aaafoley_splash01 dd SSZ0050BD98_aaafoley_splash02 dd SSZ0050BD84_aaafoley_splash03 dd SSZ0050BD70_aaafoley_thundr01 dd SSZ0050BD5C_aaafoley_thundr02 dd SSZ0050BD4C_actions_anvil dd SSZ0050BD3C_actions_bellows dd SSZ0050BD28_actions_chstcls3 dd SSZ0050BD14_actions_chstopn2 dd SSZ0050BD00_actions_drawercl dd SSZ0050BCEC_actions_drawerop dd SSZ0050BCDC_actions_drink01 dd SSZ0050BCCC_actions_drink05 dd SSZ0050BCB8_actions_dropgem1 dd SSZ0050BCA4_actions_dropgem2 dd SSZ0050BC90_actions_dropgem3 dd SSZ0050BC7C_actions_dropmny1 dd SSZ0050BC68_actions_dropmny2 dd SSZ0050BC54_actions_dropmny3 dd SSZ0050BC44_actions_drum01 dd SSZ0050BC30_actions_drum01_b dd SSZ0050BC20_actions_eat01 dd SSZ0050BC10_actions_eat03 dd SSZ0050BC00_actions_eat06 dd SSZ0050BBF0_actions_flute01 dd SSZ0050BBDC_actions_glasbrk1 dd SSZ0050BBC8_actions_glasbrk2 dd SSZ0050BBB4_actions_glasbrk3 dd SSZ0050BBA0_actions_glasbrk4 dd SSZ0050BB90_actions_hamer01 dd SSZ0050BB80_actions_harp01 dd SSZ0050BB6C_actions_harp01_b dd SSZ0050BB5C_actions_harp02 dd SSZ0050BB48_actions_harp02_b dd SSZ0050BB34_actions_igntorch dd SSZ0050BB20_actions_leather1 dd SSZ0050BB10_actions_lever01 dd SSZ0050BB00_actions_lever02 dd SSZ0050BAF0_actions_lever05 dd SSZ0050BAE0_actions_lute01 dd SSZ0050BACC_actions_lute01_b dd SSZ0050BABC_actions_pouring dd SSZ0050BAAC_actions_rustle dd SSZ0050BA98_actions_swallow2 dd SSZ0050BA84_actions_switch01 dd SSZ0050BA70_actions_tamborin dd SSZ0050BA5C_actions_tambrn_b dd SSZ0050BA4C_actions_torch01 dd SSZ0050BA38_actions_turnpage dd SSZ0050BA24_actions_unsheth1 dd SSZ0050BA10_actions_usecloth dd SSZ0050B9FC_actions_uselethr dd SSZ0050B9E8_actions_uselthr1 dd SSZ0050B9D4_animals_aligatr1 dd SSZ0050B9C0_animals_aligatr2 dd SSZ0050B9AC_animals_aligatr3 dd SSZ0050B998_animals_aligatr4 dd SSZ0050B984_animals_aligatr5 dd SSZ0050B974_animals_bear1 dd SSZ0050B964_animals_bear2 dd SSZ0050B954_animals_bear3 dd SSZ0050B944_animals_bear4 dd SSZ0050B934_animals_bear5 dd SSZ0050B924_animals_bull1 dd SSZ0050B914_animals_bull2 dd SSZ0050B904_animals_bull3 dd SSZ0050B8F4_animals_bull4 dd SSZ0050B8E4_animals_bull5 dd SSZ0050B8D4_animals_cat1 dd SSZ0050B8C4_animals_cat2 dd SSZ0050B8B4_animals_cat3 dd SSZ0050B8A4_animals_cat4 dd SSZ0050B894_animals_cat5 dd SSZ0050B880_animals_chicken1 dd SSZ0050B86C_animals_chicken2 dd SSZ0050B858_animals_chicken3 dd SSZ0050B844_animals_chicken4 dd SSZ0050B830_animals_chicken5 dd SSZ0050B820_animals_cougar1 dd SSZ0050B810_animals_cougar2 dd SSZ0050B800_animals_cougar3 dd SSZ0050B7F0_animals_cougar4 dd SSZ0050B7E0_animals_cougar5 dd SSZ0050B7D0_animals_cow1 dd SSZ0050B7C0_animals_cow2 dd SSZ0050B7B0_animals_cow3 dd SSZ0050B7A0_animals_cow4 dd SSZ0050B790_animals_cow5 dd SSZ0050B780_animals_crow1 dd SSZ0050B770_animals_crow2 dd SSZ0050B760_animals_crow3 dd SSZ0050B750_animals_crow4 dd SSZ0050B740_animals_crow5 dd SSZ0050B730_animals_deer3 dd SSZ0050B720_animals_deer4 dd SSZ0050B710_animals_deer5 dd SSZ0050B700_animals_dog1 dd SSZ0050B6F0_animals_dog2 dd SSZ0050B6E0_animals_dog3 dd SSZ0050B6D0_animals_dog4 dd SSZ0050B6C0_animals_dog5 dd SSZ0050B6AC_animals_dolphin1 dd SSZ0050B698_animals_dolphin2 dd SSZ0050B684_animals_dolphin3 dd SSZ0050B670_animals_dolphin4 dd SSZ0050B65C_animals_dolphin5 dd SSZ0050B64C_animals_eagle1 dd SSZ0050B63C_animals_eagle2 dd SSZ0050B62C_animals_eagle3 dd SSZ0050B61C_animals_eagle4 dd SSZ0050B60C_animals_eagle5 dd SSZ0050B5F8_animals_frstbrd1 dd SSZ0050B5E4_animals_frstbrd2 dd SSZ0050B5D0_animals_frstbrd3 dd SSZ0050B5BC_animals_frstbrd4 dd SSZ0050B5A8_animals_frstbrd5 dd SSZ0050B598_animals_goat1 dd SSZ0050B588_animals_goat2 dd SSZ0050B578_animals_goat3 dd SSZ0050B568_animals_goat4 dd SSZ0050B558_animals_goat5 dd SSZ0050B544_animals_gorilla1 dd SSZ0050B530_animals_gorilla2 dd SSZ0050B51C_animals_gorilla3 dd SSZ0050B508_animals_gorilla4 dd SSZ0050B4F4_animals_gorilla5 dd SSZ0050B4E0_animals_grizzly1 dd SSZ0050B4CC_animals_grizzly2 dd SSZ0050B4B8_animals_grizzly3 dd SSZ0050B4A4_animals_grizzly4 dd SSZ0050B490_animals_grizzly5 dd SSZ0050B480_animals_horse1 dd SSZ0050B470_animals_horse2 dd SSZ0050B460_animals_horse3 dd SSZ0050B450_animals_horse4 dd SSZ0050B440_animals_horse5 dd SSZ0050B42C_animals_jungbrd1 dd SSZ0050B418_animals_jungbrd2 dd SSZ0050B404_animals_jungbrd3 dd SSZ0050B3F0_animals_jungbrd4 dd SSZ0050B3DC_animals_jungbrd5 dd SSZ0050B3CC_animals_lion1 dd SSZ0050B3BC_animals_lion2 dd SSZ0050B3AC_animals_lion3 dd SSZ0050B39C_animals_lion4 dd SSZ0050B38C_animals_lion5 dd SSZ0050B37C_animals_llama3 dd SSZ0050B36C_animals_llama4 dd SSZ0050B35C_animals_llama5 dd SSZ0050B348_animals_panther1 dd SSZ0050B334_animals_panther2 dd SSZ0050B320_animals_panther3 dd SSZ0050B30C_animals_panther4 dd SSZ0050B2F8_animals_panther5 dd SSZ0050B2E8_animals_parrot1 dd SSZ0050B2D8_animals_parrot2 dd SSZ0050B2C8_animals_parrot3 dd SSZ0050B2B8_animals_parrot4 dd SSZ0050B2A8_animals_parrot5 dd SSZ0050B298_animals_pig1 dd SSZ0050B288_animals_pig2 dd SSZ0050B278_animals_pig3 dd SSZ0050B268_animals_pig4 dd SSZ0050B258_animals_pig5 dd SSZ0050B248_animals_rabbit3 dd SSZ0050B238_animals_rabbit4 dd SSZ0050B228_animals_rabbit5 dd SSZ0050B218_animals_rat1 dd SSZ0050B208_animals_rat2 dd SSZ0050B1F8_animals_rat3 dd SSZ0050B1E8_animals_rat4 dd SSZ0050B1D8_animals_rat5 dd SSZ0050B1C8_animals_raven1 dd SSZ0050B1B8_animals_raven2 dd SSZ0050B1A8_animals_raven3 dd SSZ0050B198_animals_raven4 dd SSZ0050B188_animals_raven5 dd SSZ0050B178_animals_sheep1 dd SSZ0050B168_animals_sheep2 dd SSZ0050B158_animals_sheep3 dd SSZ0050B148_animals_sheep4 dd SSZ0050B138_animals_sheep5 dd SSZ0050B128_animals_snake1 dd SSZ0050B118_animals_snake2 dd SSZ0050B108_animals_snake3 dd SSZ0050B0F8_animals_snake4 dd SSZ0050B0E8_animals_snake5 dd SSZ0050B0D8_animals_walrus1 dd SSZ0050B0C8_animals_walrus2 dd SSZ0050B0B8_animals_walrus3 dd SSZ0050B0A8_animals_walrus4 dd SSZ0050B098_animals_walrus5 dd SSZ0050B088_animals_wolf1 dd SSZ0050B078_animals_wolf2 dd SSZ0050B068_animals_wolf3 dd SSZ0050B058_animals_wolf4 dd SSZ0050B048_animals_wolf5 dd SSZ0050B038_doors_open01a dd SSZ0050B028_doors_open03a dd SSZ0050B018_doors_open04b dd SSZ0050B008_doors_open09 dd SSZ0050AFF8_doors_portclos dd SSZ0050AFE8_doors_portcul4 dd SSZ0050AFD8_doors_portcul5 dd SSZ0050AFC8_doors_shut03a dd SSZ0050AFB8_doors_shut07a dd SSZ0050AFA8_doors_shut14b dd SSZ0050AF98_doors_shut17 dd SSZ0050AF88_dungeon_sfx01 dd SSZ0050AF78_dungeon_sfx02 dd SSZ0050AF68_dungeon_sfx04 dd SSZ0050AF58_dungeon_sfx05 dd SSZ0050AF48_dungeon_sfx06 dd SSZ0050AF38_dungeon_sfx08 dd SSZ0050AF28_dungeon_sfx10 dd SSZ0050AF18_dungeon_sfx11 dd SSZ0050AF08_dungeon_sfx12_l dd SSZ0050AEF8_dungeon_sfx13 dd SSZ0050AEE8_dungeon_sfx14_l dd SSZ0050AED8_dungeon_sfx15 dd SSZ0050AEC8_dungeon_sfx16_l dd SSZ0050AEB8_dungeon_sfx17_l dd SSZ0050AEA8_dungeon_sfx18_l dd SSZ0050AE98_dungeon_sfx20_l dd SSZ0050AE88_dungeon_sfx21_l dd SSZ0050AE78_dungeon_sfx22_l dd SSZ0050AE64_elementl_airelem1 dd SSZ0050AE50_elementl_airelem2 dd SSZ0050AE3C_elementl_airelem3 dd SSZ0050AE28_elementl_airelem4 dd SSZ0050AE14_elementl_airelem5 dd SSZ0050AE00_elementl_erthel1 dd SSZ0050ADEC_elementl_erthel2 dd SSZ0050ADD8_elementl_erthel3 dd SSZ0050ADC4_elementl_erthel4 dd SSZ0050ADB0_elementl_erthel5 dd SSZ0050AD9C_elementl_firelem1 dd SSZ0050AD88_elementl_firelem2 dd SSZ0050AD74_elementl_firelem3 dd SSZ0050AD60_elementl_firelem4 dd SSZ0050AD4C_elementl_firelem5 dd SSZ0050AD38_elementl_watrel1 dd SSZ0050AD24_elementl_watrel2 dd SSZ0050AD10_elementl_watrel3 dd SSZ0050ACFC_elementl_watrel4 dd SSZ0050ACE8_elementl_watrel5 dd SSZ0050ACD8_explode_exp01 dd SSZ0050ACC8_explode_exp04 dd SSZ0050ACB8_explode_exp05 dd SSZ0050ACA8_explode_exp06 dd SSZ0050AC94_footstep_bigfoot1 dd SSZ0050AC80_footstep_bigfoot2 dd SSZ0050AC6C_footstep_feet01a dd SSZ0050AC58_footstep_feet01b dd SSZ0050AC44_footstep_feet03a dd SSZ0050AC30_footstep_feet03b dd SSZ0050AC1C_footstep_feet05a dd SSZ0050AC08_footstep_feet05b dd SSZ0050ABF4_footstep_feet08a dd SSZ0050ABE0_footstep_feet08b dd SSZ0050ABCC_footstep_feet10a dd SSZ0050ABB8_footstep_feet10b dd SSZ0050ABA4_footstep_feet12a dd SSZ0050AB90_footstep_feet12b dd SSZ0050AB7C_footstep_feet13a dd SSZ0050AB68_footstep_feet13b dd SSZ0050AB54_footstep_feet14a dd SSZ0050AB40_footstep_feet14b dd SSZ0050AB2C_footstep_feet15a dd SSZ0050AB18_footstep_feet15b dd SSZ0050AB04_footstep_feet15c dd SSZ0050AAF0_footstep_feet15d dd SSZ0050AAE4_hits_hit01 dd SSZ0050AAD8_hits_hit02 dd SSZ0050AACC_hits_hit03 dd SSZ0050AAC0_hits_hit04 dd SSZ0050AAB4_hits_hit05 dd SSZ0050AAA8_hits_hit06 dd SSZ0050AA9C_hits_hit07 dd SSZ0050AA90_hits_hit08 dd SSZ0050AA84_hits_hit09 dd SSZ0050AA78_hits_hit10 dd SSZ0050AA6C_hits_hit11 dd SSZ0050AA60_hits_hit12 dd SSZ0050AA54_hits_hit13 dd SSZ0050AA48_hits_hit14 dd SSZ0050AA3C_hits_hit15 dd SSZ0050AA30_hits_hit16 dd SSZ0050AA24_hits_hit17 dd SSZ0050AA18_hits_hit18 dd SSZ0050AA0C_hits_hit19 dd SSZ0050AA00_hits_hit20 dd SSZ0050A9F4_hits_hit21 dd SSZ0050A9E8_hits_hit22 dd SSZ0050A9D8_human_foomph01 dd SSZ0050A9C8_human_foomph06 dd SSZ0050A9B8_human_foomph07 dd SSZ0050A9A8_human_foomph08 dd SSZ0050A998_human_foomph09 dd SSZ0050A988_human_f_die_01 dd SSZ0050A978_human_f_die_02 dd SSZ0050A968_human_f_die_03 dd SSZ0050A958_human_f_die_04 dd SSZ0050A948_human_moomph01 dd SSZ0050A938_human_moomph02 dd SSZ0050A928_human_moomph03 dd SSZ0050A918_human_moomph04 dd SSZ0050A908_human_moomph05 dd SSZ0050A8F8_human_moomph13 dd SSZ0050A8E8_human_m_die_01 dd SSZ0050A8D8_human_m_die_02 dd SSZ0050A8C8_human_m_die_03 dd SSZ0050A8B8_human_m_die_04 dd SSZ0050A8A8_magic_fyrbal01 dd SSZ0050A898_magic_fyrbal02 dd SSZ0050A888_magic_fyrbal03 dd SSZ0050A878_monster_corpsr1 dd SSZ0050A868_monster_corpsr3 dd SSZ0050A858_monster_corpsr4 dd SSZ0050A848_monster_corpsr5 dd SSZ0050A838_monster_daemon1 dd SSZ0050A828_monster_daemon2 dd SSZ0050A818_monster_daemon3 dd SSZ0050A808_monster_daemon4 dd SSZ0050A7F8_monster_daemon5 dd SSZ0050A7E8_monster_dragon1 dd SSZ0050A7D8_monster_dragon2 dd SSZ0050A7C8_monster_dragon3 dd SSZ0050A7B8_monster_dragon4 dd SSZ0050A7A8_monster_dragon5 dd SSZ0050A798_monster_ettin1 dd SSZ0050A788_monster_ettin2 dd SSZ0050A778_monster_ettin3 dd SSZ0050A768_monster_ettin4 dd SSZ0050A758_monster_ettin5 dd SSZ0050A748_monster_gargyl1 dd SSZ0050A738_monster_gargyl2 dd SSZ0050A728_monster_gargyl3 dd SSZ0050A718_monster_gargyl4 dd SSZ0050A708_monster_gargyl5 dd SSZ0050A6F8_monster_gazer1 dd SSZ0050A6E8_monster_gazer2 dd SSZ0050A6D8_monster_gazer3 dd SSZ0050A6C8_monster_gazer4 dd SSZ0050A6B8_monster_gazer5 dd SSZ0050A6A8_monster_ghost1 dd SSZ0050A698_monster_ghost2 dd SSZ0050A688_monster_ghost3 dd SSZ0050A678_monster_ghost4 dd SSZ0050A668_monster_ghost5 dd SSZ0050A654_monster_gispidr1 dd SSZ0050A640_monster_gispidr2 dd SSZ0050A62C_monster_gispidr3 dd SSZ0050A618_monster_gispidr4 dd SSZ0050A604_monster_gispidr5 dd SSZ0050A5F4_monster_grat1 dd SSZ0050A5E4_monster_grat2 dd SSZ0050A5D4_monster_grat3 dd SSZ0050A5C4_monster_grat4 dd SSZ0050A5B4_monster_grat5 dd SSZ0050A5A4_monster_gscorp1 dd SSZ0050A594_monster_gscorp2 dd SSZ0050A584_monster_gscorp3 dd SSZ0050A574_monster_gscorp4 dd SSZ0050A564_monster_gscorp5 dd SSZ0050A554_monster_harpy1 dd SSZ0050A544_monster_harpy2 dd SSZ0050A534_monster_harpy3 dd SSZ0050A524_monster_harpy4 dd SSZ0050A514_monster_harpy5 dd SSZ0050A504_monster_headls1 dd SSZ0050A4F4_monster_headls2 dd SSZ0050A4E4_monster_headls3 dd SSZ0050A4D4_monster_headls4 dd SSZ0050A4C4_monster_headls5 dd SSZ0050A4B4_monster_liche1 dd SSZ0050A4A4_monster_liche2 dd SSZ0050A494_monster_liche3 dd SSZ0050A484_monster_liche4 dd SSZ0050A474_monster_liche5 dd SSZ0050A464_monster_lzrdmn1 dd SSZ0050A454_monster_lzrdmn2 dd SSZ0050A444_monster_lzrdmn3 dd SSZ0050A434_monster_lzrdmn4 dd SSZ0050A424_monster_lzrdmn5 dd SSZ0050A414_monster_mngbat1 dd SSZ0050A404_monster_mngbat2 dd SSZ0050A3F4_monster_mngbat3 dd SSZ0050A3E4_monster_mngbat4 dd SSZ0050A3D4_monster_mngbat5 dd SSZ0050A3C4_monster_ogre1 dd SSZ0050A3B4_monster_ogre2 dd SSZ0050A3A4_monster_ogre3 dd SSZ0050A394_monster_ogre4 dd SSZ0050A384_monster_ogre5 dd SSZ0050A374_monster_orc1 dd SSZ0050A364_monster_orc2 dd SSZ0050A354_monster_orc3 dd SSZ0050A344_monster_orc4 dd SSZ0050A334_monster_orc5 dd SSZ0050A324_monster_ratman1 dd SSZ0050A314_monster_ratman2 dd SSZ0050A304_monster_ratman3 dd SSZ0050A2F4_monster_ratman4 dd SSZ0050A2E4_monster_ratman5 dd SSZ0050A2D4_monster_reaper1 dd SSZ0050A2C4_monster_reaper2 dd SSZ0050A2B4_monster_reaper3 dd SSZ0050A2A4_monster_reaper4 dd SSZ0050A294_monster_reaper5 dd SSZ0050A280_monster_seaserp1 dd SSZ0050A26C_monster_seaserp3 dd SSZ0050A258_monster_seaserp4 dd SSZ0050A244_monster_seaserp5 dd SSZ0050A234_monster_skletn1 dd SSZ0050A224_monster_skletn2 dd SSZ0050A214_monster_skletn3 dd SSZ0050A204_monster_skletn4 dd SSZ0050A1F4_monster_skletn5 dd SSZ0050A1E4_monster_slime1 dd SSZ0050A1D4_monster_slime2 dd SSZ0050A1C4_monster_slime3 dd SSZ0050A1B4_monster_slime4 dd SSZ0050A1A4_monster_slime5 dd SSZ0050A194_monster_troll1 dd SSZ0050A184_monster_troll2 dd SSZ0050A174_monster_troll3 dd SSZ0050A164_monster_troll4 dd SSZ0050A154_monster_troll5 dd SSZ0050A144_monster_wisp1 dd SSZ0050A134_monster_wisp2 dd SSZ0050A124_monster_wisp3 dd SSZ0050A114_monster_wisp4 dd SSZ0050A104_monster_wisp5 dd SSZ0050A0F4_monster_zombie1 dd SSZ0050A0E4_monster_zombie2 dd SSZ0050A0D4_monster_zombie3 dd SSZ0050A0C4_monster_zombie4 dd SSZ0050A0B4_monster_zombie5 dd SSZ0050A0A4_spells_elec_l dd SSZ0050A094_spells_fire_l dd SSZ0050A084_spells_hiss_l dd SSZ0050A078_c01_clumsy dd SSZ0050A06C_c01_cure dd SSZ0050A060_c01_curse dd SSZ0050A054_c01_c_food dd SSZ0050A048_c01_c_light dd SSZ0050A038_c01_feblmind dd SSZ0050A02C_c01_m_arrow dd SSZ0050A020_c01_weaken dd SSZ0050A014_c02_agility dd SSZ0050A004_c02_archcure dd SSZ00509FF4_c02_birdseye dd SSZ00509FE8_c02_bless dd SSZ00509FDC_c02_cunning dd SSZ00509FCC_c02_identify dd SSZ00509FC0_c02_protect dd SSZ00509FB0_c02_strength dd SSZ00509FA4_c02_trap dd SSZ00509F98_c02_untrap dd SSZ00509F8C_c03_harm dd SSZ00509F80_c03_heal dd SSZ00509F6C_c03_magic_fyrbal01 dd SSZ00509F60_c03_m_lock dd SSZ00509F50_c03_teleknes dd SSZ00509F40_c03_walstone dd SSZ00509F30_c04_aprotect dd SSZ00509F20_c04_manadran dd SSZ00509F10_c04_manavamp dd SSZ00509F04_c04_mark dd SSZ00509EF4_c04_masscurs dd SSZ00509EE8_c04_recall dd SSZ00509EDC_c04_reveal dd SSZ00509ECC_c04_teleport dd SSZ00509EC0_c04_unlock dd SSZ00509EB0_c05_bladsprt dd SSZ00509EA0_c05_dispfild dd SSZ00509E90_c05_gratheal dd SSZ00509E80_c05_invisibl dd SSZ00509E70_c05_paralyze dd SSZ00509E64_c05_poison dd SSZ00509E54_c05_thundr01 dd SSZ00509E48_c06_explode dd SSZ00509E38_c06_flamstrk dd SSZ00509E28_c06_massdisp dd SSZ00509E18_c06_nrgybolt dd SSZ00509E08_c06_parafild dd SSZ00509DF8_c06_posnfild dd SSZ00509DE8_c07_earthqke dd SSZ00509DD8_c07_gatetrvl dd SSZ00509DCC_c07_morph dd SSZ00509DBC_c07_nergyfld dd SSZ00509DAC_c07_nrgywind dd SSZ00509D9C_c08_dethvrtx dd SSZ00509D8C_c08_mindblst dd SSZ00509D7C_c08_resurect dd SSZ00509D6C_c08_sumncrtr dd SSZ00509D5C_c08_sumndemn dd SSZ00509D4C_c08_sumnelem dd SSZ00509D3C_traps_blade01 dd SSZ00509D2C_traps_blade02 dd SSZ00509D1C_traps_blade03 dd SSZ00509D0C_traps_blade04 dd SSZ00509CFC_traps_blade05 dd SSZ00509CEC_traps_boulder1 dd SSZ00509CDC_traps_boulder2 dd SSZ00509CCC_traps_crumble1 dd SSZ00509CBC_traps_crumble2 dd SSZ00509CAC_traps_crumble3 dd SSZ00509C9C_traps_crumble4 dd SSZ00509C8C_traps_dart01 dd SSZ00509C7C_traps_dart02 dd SSZ00509C6C_traps_flame01 dd SSZ00509C5C_traps_flame03 dd SSZ00509C4C_traps_flame05 dd SSZ00509C3C_traps_mushrm01 dd SSZ00509C2C_traps_mushrm02 dd SSZ00509C1C_traps_mushrm03 dd SSZ00509C0C_traps_spike01 dd SSZ00509BFC_traps_spike02 dd SSZ00509BEC_traps_spike03 dd SSZ00509BDC_traps_spike04 dd SSZ00509BCC_traps_vapor01 dd SSZ00509BBC_traps_vapor02 dd SSZ00509BAC_traps_vapor03 dd SSZ00509B9C_weapons_axe01 dd SSZ00509B8C_weapons_blunt01 dd SSZ00509B78_weapons_crossbow dd SSZ00509B64_weapons_gilotin1 dd SSZ00509B50_weapons_hvyswrd1 dd SSZ00509B3C_weapons_hvyswrd4 dd SSZ00509B2C_weapons_swish01 dd SSZ00509B1C_weapons_swish02 dd SSZ00509B0C_weapons_swish03 dd SSZ00509AFC_weapons_sword1 dd SSZ00509AEC_weapons_sword7 dd SSZ00509ADC_z_end_carpntry dd SSZ00509AD0_z_end_dye dd SSZ00509AC0_z_end_fshsplsh dd SSZ00509AB0_z_end_liquid dd SSZ00509AA0_z_end_lockpick dd SSZ00509A90_z_end_mortar dd SSZ00509A80_z_end_mystery1 dd SSZ00509A70_z_end_mystery2 dd SSZ00509A60_z_end_mystery3 dd SSZ00509A50_z_end_poison dd SSZ00509A40_z_end_powder dd SSZ00509A30_z_end_scissors dd SSZ00509A20_z_end_scribe dd SSZ00509A10_z_end_spirtspk dd SSZ00509A04_z_horseft2 dd SSZ005099F8_z_horseft1 dd SSZ005099DC_monster_spider_warrior_1 dd SSZ005099C0_monster_spider_warrior_2 dd SSZ005099A4_monster_spider_warrior_3 dd SSZ00509988_monster_spider_warrior_4 dd SSZ0050996C_monster_spider_warrior_5 dd SSZ00509954_monster_spider_drone_1 dd SSZ0050993C_monster_spider_drone_2 dd SSZ00509924_monster_spider_drone_3 dd SSZ0050990C_monster_spider_drone_4 dd SSZ005098F4_monster_spider_drone_5 dd SSZ005098DC_monster_spider_queen_1 dd SSZ005098C4_monster_spider_queen_2 dd SSZ005098AC_monster_spider_queen_3 dd SSZ00509894_monster_spider_queen_4 dd SSZ0050987C_monster_spider_queen_5 dd SSZ00509868_monster_cyclops_1 dd SSZ00509854_monster_cyclops_2 dd SSZ00509840_monster_cyclops_3 dd SSZ0050982C_monster_cyclops_4 dd SSZ00509818_monster_cyclops_5 dd SSZ00509800_monster_cyclops_boss_1 dd SSZ005097E8_monster_cyclops_boss_2 dd SSZ005097D0_monster_cyclops_boss_3 dd SSZ005097B8_monster_cyclops_boss_4 dd SSZ005097A0_monster_cyclops_boss_5 dd SSZ0050978C_monster_frog_big_1 dd SSZ00509778_monster_frog_big_2 dd SSZ00509764_monster_frog_big_3 dd SSZ00509750_monster_frog_big_4 dd SSZ0050973C_monster_frog_big_5 dd SSZ00509724_monster_frog_small_1 dd SSZ0050970C_monster_frog_small_2 dd SSZ005096F4_monster_frog_small_3 dd SSZ005096DC_monster_frog_small_4 dd SSZ005096C4_monster_frog_small_5 dd SSZ005096AC_monster_desertbird1_1 dd SSZ00509694_monster_desertbird1_2 dd SSZ0050967C_monster_desertbird1_3 dd SSZ00509664_monster_desertbird1_4 dd SSZ0050964C_monster_desertbird1_5 dd SSZ00509634_monster_desertbird2_1 dd SSZ0050961C_monster_desertbird2_2 dd SSZ00509604_monster_desertbird2_3 dd SSZ005095EC_monster_desertbird2_4 dd SSZ005095D4_monster_desertbird2_5 dd SSZ005095BC_monster_snake_warrior_1 dd SSZ005095A4_monster_snake_warrior_2 dd SSZ0050958C_monster_snake_warrior_3 dd SSZ00509574_monster_snake_warrior_4 dd SSZ0050955C_monster_snake_warrior_5 dd SSZ00509544_monster_snake_mage_1 dd SSZ0050952C_monster_snake_mage_2 dd SSZ00509514_monster_snake_mage_3 dd SSZ005094FC_monster_snake_mage_4 dd SSZ005094E4_monster_snake_mage_5 dd SSZ005094CC_monster_snake_queen_1 dd SSZ005094B4_monster_snake_queen_2 dd SSZ0050949C_monster_snake_queen_3 dd SSZ00509484_monster_snake_queen_4 dd SSZ0050946C_monster_snake_queen_5 dd SSZ00509454_monster_lava_lizard_1 dd SSZ0050943C_monster_lava_lizard_2 dd SSZ00509424_monster_lava_lizard_3 dd SSZ0050940C_monster_lava_lizard_4 dd SSZ005093F4_monster_lava_lizard_5 db 00h; db 00h; db 00h; db 00h; SSZ005093F4_monster_lava_lizard_5: db 'monster_lava_lizard_5',0 Align 4 SSZ0050940C_monster_lava_lizard_4: db 'monster_lava_lizard_4',0 Align 4 SSZ00509424_monster_lava_lizard_3: db 'monster_lava_lizard_3',0 Align 4 SSZ0050943C_monster_lava_lizard_2: db 'monster_lava_lizard_2',0 Align 4 SSZ00509454_monster_lava_lizard_1: db 'monster_lava_lizard_1',0 Align 4 SSZ0050946C_monster_snake_queen_5: db 'monster_snake_queen_5',0 Align 4 SSZ00509484_monster_snake_queen_4: db 'monster_snake_queen_4',0 Align 4 SSZ0050949C_monster_snake_queen_3: db 'monster_snake_queen_3',0 Align 4 SSZ005094B4_monster_snake_queen_2: db 'monster_snake_queen_2',0 Align 4 SSZ005094CC_monster_snake_queen_1: db 'monster_snake_queen_1',0 Align 4 SSZ005094E4_monster_snake_mage_5: db 'monster_snake_mage_5',0 Align 4 SSZ005094FC_monster_snake_mage_4: db 'monster_snake_mage_4',0 Align 4 SSZ00509514_monster_snake_mage_3: db 'monster_snake_mage_3',0 Align 4 SSZ0050952C_monster_snake_mage_2: db 'monster_snake_mage_2',0 Align 4 SSZ00509544_monster_snake_mage_1: db 'monster_snake_mage_1',0 Align 4 SSZ0050955C_monster_snake_warrior_5: db 'monster_snake_warrior_5',0 SSZ00509574_monster_snake_warrior_4: db 'monster_snake_warrior_4',0 SSZ0050958C_monster_snake_warrior_3: db 'monster_snake_warrior_3',0 SSZ005095A4_monster_snake_warrior_2: db 'monster_snake_warrior_2',0 SSZ005095BC_monster_snake_warrior_1: db 'monster_snake_warrior_1',0 SSZ005095D4_monster_desertbird2_5: db 'monster_desertbird2_5',0 Align 4 SSZ005095EC_monster_desertbird2_4: db 'monster_desertbird2_4',0 Align 4 SSZ00509604_monster_desertbird2_3: db 'monster_desertbird2_3',0 Align 4 SSZ0050961C_monster_desertbird2_2: db 'monster_desertbird2_2',0 Align 4 SSZ00509634_monster_desertbird2_1: db 'monster_desertbird2_1',0 Align 4 SSZ0050964C_monster_desertbird1_5: db 'monster_desertbird1_5',0 Align 4 SSZ00509664_monster_desertbird1_4: db 'monster_desertbird1_4',0 Align 4 SSZ0050967C_monster_desertbird1_3: db 'monster_desertbird1_3',0 Align 4 SSZ00509694_monster_desertbird1_2: db 'monster_desertbird1_2',0 Align 4 SSZ005096AC_monster_desertbird1_1: db 'monster_desertbird1_1',0 Align 4 SSZ005096C4_monster_frog_small_5: db 'monster_frog_small_5',0 Align 4 SSZ005096DC_monster_frog_small_4: db 'monster_frog_small_4',0 Align 4 SSZ005096F4_monster_frog_small_3: db 'monster_frog_small_3',0 Align 4 SSZ0050970C_monster_frog_small_2: db 'monster_frog_small_2',0 Align 4 SSZ00509724_monster_frog_small_1: db 'monster_frog_small_1',0 Align 4 SSZ0050973C_monster_frog_big_5: db 'monster_frog_big_5',0 Align 4 SSZ00509750_monster_frog_big_4: db 'monster_frog_big_4',0 Align 4 SSZ00509764_monster_frog_big_3: db 'monster_frog_big_3',0 Align 4 SSZ00509778_monster_frog_big_2: db 'monster_frog_big_2',0 Align 4 SSZ0050978C_monster_frog_big_1: db 'monster_frog_big_1',0 Align 4 SSZ005097A0_monster_cyclops_boss_5: db 'monster_cyclops_boss_5',0 Align 4 SSZ005097B8_monster_cyclops_boss_4: db 'monster_cyclops_boss_4',0 Align 4 SSZ005097D0_monster_cyclops_boss_3: db 'monster_cyclops_boss_3',0 Align 4 SSZ005097E8_monster_cyclops_boss_2: db 'monster_cyclops_boss_2',0 Align 4 SSZ00509800_monster_cyclops_boss_1: db 'monster_cyclops_boss_1',0 Align 4 SSZ00509818_monster_cyclops_5: db 'monster_cyclops_5',0 Align 4 SSZ0050982C_monster_cyclops_4: db 'monster_cyclops_4',0 Align 4 SSZ00509840_monster_cyclops_3: db 'monster_cyclops_3',0 Align 4 SSZ00509854_monster_cyclops_2: db 'monster_cyclops_2',0 Align 4 SSZ00509868_monster_cyclops_1: db 'monster_cyclops_1',0 Align 4 SSZ0050987C_monster_spider_queen_5: db 'monster_spider_queen_5',0 Align 4 SSZ00509894_monster_spider_queen_4: db 'monster_spider_queen_4',0 Align 4 SSZ005098AC_monster_spider_queen_3: db 'monster_spider_queen_3',0 Align 4 SSZ005098C4_monster_spider_queen_2: db 'monster_spider_queen_2',0 Align 4 SSZ005098DC_monster_spider_queen_1: db 'monster_spider_queen_1',0 Align 4 SSZ005098F4_monster_spider_drone_5: db 'monster_spider_drone_5',0 Align 4 SSZ0050990C_monster_spider_drone_4: db 'monster_spider_drone_4',0 Align 4 SSZ00509924_monster_spider_drone_3: db 'monster_spider_drone_3',0 Align 4 SSZ0050993C_monster_spider_drone_2: db 'monster_spider_drone_2',0 Align 4 SSZ00509954_monster_spider_drone_1: db 'monster_spider_drone_1',0 Align 4 SSZ0050996C_monster_spider_warrior_5: db 'monster_spider_warrior_5',0 Align 4 SSZ00509988_monster_spider_warrior_4: db 'monster_spider_warrior_4',0 Align 4 SSZ005099A4_monster_spider_warrior_3: db 'monster_spider_warrior_3',0 Align 4 SSZ005099C0_monster_spider_warrior_2: db 'monster_spider_warrior_2',0 Align 4 SSZ005099DC_monster_spider_warrior_1: db 'monster_spider_warrior_1',0 Align 4 SSZ005099F8_z_horseft1: db 'z_horseft1',0 Align 4 SSZ00509A04_z_horseft2: db 'z_horseft2',0 Align 4 SSZ00509A10_z_end_spirtspk: db 'z_end_spirtspk',0 Align 4 SSZ00509A20_z_end_scribe: db 'z_end_scribe',0 Align 4 SSZ00509A30_z_end_scissors: db 'z_end_scissors',0 Align 4 SSZ00509A40_z_end_powder: db 'z_end_powder',0 Align 4 SSZ00509A50_z_end_poison: db 'z_end_poison',0 Align 4 SSZ00509A60_z_end_mystery3: db 'z_end_mystery3',0 Align 4 SSZ00509A70_z_end_mystery2: db 'z_end_mystery2',0 Align 4 SSZ00509A80_z_end_mystery1: db 'z_end_mystery1',0 Align 4 SSZ00509A90_z_end_mortar: db 'z_end_mortar',0 Align 4 SSZ00509AA0_z_end_lockpick: db 'z_end_lockpick',0 Align 4 SSZ00509AB0_z_end_liquid: db 'z_end_liquid',0 Align 4 SSZ00509AC0_z_end_fshsplsh: db 'z_end_fshsplsh',0 Align 4 SSZ00509AD0_z_end_dye: db 'z_end_dye',0 Align 4 SSZ00509ADC_z_end_carpntry: db 'z_end_carpntry',0 Align 4 SSZ00509AEC_weapons_sword7: db 'weapons_sword7',0 Align 4 SSZ00509AFC_weapons_sword1: db 'weapons_sword1',0 Align 4 SSZ00509B0C_weapons_swish03: db 'weapons_swish03',0 SSZ00509B1C_weapons_swish02: db 'weapons_swish02',0 SSZ00509B2C_weapons_swish01: db 'weapons_swish01',0 SSZ00509B3C_weapons_hvyswrd4: db 'weapons_hvyswrd4',0 Align 4 SSZ00509B50_weapons_hvyswrd1: db 'weapons_hvyswrd1',0 Align 4 SSZ00509B64_weapons_gilotin1: db 'weapons_gilotin1',0 Align 4 SSZ00509B78_weapons_crossbow: db 'weapons_crossbow',0 Align 4 SSZ00509B8C_weapons_blunt01: db 'weapons_blunt01',0 SSZ00509B9C_weapons_axe01: db 'weapons_axe01',0 Align 4 SSZ00509BAC_traps_vapor03: db 'traps_vapor03',0 Align 4 SSZ00509BBC_traps_vapor02: db 'traps_vapor02',0 Align 4 SSZ00509BCC_traps_vapor01: db 'traps_vapor01',0 Align 4 SSZ00509BDC_traps_spike04: db 'traps_spike04',0 Align 4 SSZ00509BEC_traps_spike03: db 'traps_spike03',0 Align 4 SSZ00509BFC_traps_spike02: db 'traps_spike02',0 Align 4 SSZ00509C0C_traps_spike01: db 'traps_spike01',0 Align 4 SSZ00509C1C_traps_mushrm03: db 'traps_mushrm03',0 Align 4 SSZ00509C2C_traps_mushrm02: db 'traps_mushrm02',0 Align 4 SSZ00509C3C_traps_mushrm01: db 'traps_mushrm01',0 Align 4 SSZ00509C4C_traps_flame05: db 'traps_flame05',0 Align 4 SSZ00509C5C_traps_flame03: db 'traps_flame03',0 Align 4 SSZ00509C6C_traps_flame01: db 'traps_flame01',0 Align 4 SSZ00509C7C_traps_dart02: db 'traps_dart02',0 Align 4 SSZ00509C8C_traps_dart01: db 'traps_dart01',0 Align 4 SSZ00509C9C_traps_crumble4: db 'traps_crumble4',0 Align 4 SSZ00509CAC_traps_crumble3: db 'traps_crumble3',0 Align 4 SSZ00509CBC_traps_crumble2: db 'traps_crumble2',0 Align 4 SSZ00509CCC_traps_crumble1: db 'traps_crumble1',0 Align 4 SSZ00509CDC_traps_boulder2: db 'traps_boulder2',0 Align 4 SSZ00509CEC_traps_boulder1: db 'traps_boulder1',0 Align 4 SSZ00509CFC_traps_blade05: db 'traps_blade05',0 Align 4 SSZ00509D0C_traps_blade04: db 'traps_blade04',0 Align 4 SSZ00509D1C_traps_blade03: db 'traps_blade03',0 Align 4 SSZ00509D2C_traps_blade02: db 'traps_blade02',0 Align 4 SSZ00509D3C_traps_blade01: db 'traps_blade01',0 Align 4 SSZ00509D4C_c08_sumnelem: db 'c08_sumnelem',0 Align 4 SSZ00509D5C_c08_sumndemn: db 'c08_sumndemn',0 Align 4 SSZ00509D6C_c08_sumncrtr: db 'c08_sumncrtr',0 Align 4 SSZ00509D7C_c08_resurect: db 'c08_resurect',0 Align 4 SSZ00509D8C_c08_mindblst: db 'c08_mindblst',0 Align 4 SSZ00509D9C_c08_dethvrtx: db 'c08_dethvrtx',0 Align 4 SSZ00509DAC_c07_nrgywind: db 'c07_nrgywind',0 Align 4 SSZ00509DBC_c07_nergyfld: db 'c07_nergyfld',0 Align 4 SSZ00509DCC_c07_morph: db 'c07_morph',0 Align 4 SSZ00509DD8_c07_gatetrvl: db 'c07_gatetrvl',0 Align 4 SSZ00509DE8_c07_earthqke: db 'c07_earthqke',0 Align 4 SSZ00509DF8_c06_posnfild: db 'c06_posnfild',0 Align 4 SSZ00509E08_c06_parafild: db 'c06_parafild',0 Align 4 SSZ00509E18_c06_nrgybolt: db 'c06_nrgybolt',0 Align 4 SSZ00509E28_c06_massdisp: db 'c06_massdisp',0 Align 4 SSZ00509E38_c06_flamstrk: db 'c06_flamstrk',0 Align 4 SSZ00509E48_c06_explode: db 'c06_explode',0 SSZ00509E54_c05_thundr01: db 'c05_thundr01',0 Align 4 SSZ00509E64_c05_poison: db 'c05_poison',0 Align 4 SSZ00509E70_c05_paralyze: db 'c05_paralyze',0 Align 4 SSZ00509E80_c05_invisibl: db 'c05_invisibl',0 Align 4 SSZ00509E90_c05_gratheal: db 'c05_gratheal',0 Align 4 SSZ00509EA0_c05_dispfild: db 'c05_dispfild',0 Align 4 SSZ00509EB0_c05_bladsprt: db 'c05_bladsprt',0 Align 4 SSZ00509EC0_c04_unlock: db 'c04_unlock',0 Align 4 SSZ00509ECC_c04_teleport: db 'c04_teleport',0 Align 4 SSZ00509EDC_c04_reveal: db 'c04_reveal',0 Align 4 SSZ00509EE8_c04_recall: db 'c04_recall',0 Align 4 SSZ00509EF4_c04_masscurs: db 'c04_masscurs',0 Align 4 SSZ00509F04_c04_mark: db 'c04_mark',0 Align 4 SSZ00509F10_c04_manavamp: db 'c04_manavamp',0 Align 4 SSZ00509F20_c04_manadran: db 'c04_manadran',0 Align 4 SSZ00509F30_c04_aprotect: db 'c04_aprotect',0 Align 4 SSZ00509F40_c03_walstone: db 'c03_walstone',0 Align 4 SSZ00509F50_c03_teleknes: db 'c03_teleknes',0 Align 4 SSZ00509F60_c03_m_lock: db 'c03_m_lock',0 Align 4 SSZ00509F6C_c03_magic_fyrbal01: db 'c03_magic_fyrbal01',0 Align 4 SSZ00509F80_c03_heal: db 'c03_heal',0 Align 4 SSZ00509F8C_c03_harm: db 'c03_harm',0 Align 4 SSZ00509F98_c02_untrap: db 'c02_untrap',0 Align 4 SSZ00509FA4_c02_trap: db 'c02_trap',0 Align 4 SSZ00509FB0_c02_strength: db 'c02_strength',0 Align 4 SSZ00509FC0_c02_protect: db 'c02_protect',0 SSZ00509FCC_c02_identify: db 'c02_identify',0 Align 4 SSZ00509FDC_c02_cunning: db 'c02_cunning',0 SSZ00509FE8_c02_bless: db 'c02_bless',0 Align 4 SSZ00509FF4_c02_birdseye: db 'c02_birdseye',0 Align 4 SSZ0050A004_c02_archcure: db 'c02_archcure',0 Align 4 SSZ0050A014_c02_agility: db 'c02_agility',0 SSZ0050A020_c01_weaken: db 'c01_weaken',0 Align 4 SSZ0050A02C_c01_m_arrow: db 'c01_m_arrow',0 SSZ0050A038_c01_feblmind: db 'c01_feblmind',0 Align 4 SSZ0050A048_c01_c_light: db 'c01_c_light',0 SSZ0050A054_c01_c_food: db 'c01_c_food',0 Align 4 SSZ0050A060_c01_curse: db 'c01_curse',0 Align 4 SSZ0050A06C_c01_cure: db 'c01_cure',0 Align 4 SSZ0050A078_c01_clumsy: db 'c01_clumsy',0 Align 4 SSZ0050A084_spells_hiss_l: db 'spells_hiss_l',0 Align 4 SSZ0050A094_spells_fire_l: db 'spells_fire_l',0 Align 4 SSZ0050A0A4_spells_elec_l: db 'spells_elec_l',0 Align 4 SSZ0050A0B4_monster_zombie5: db 'monster_zombie5',0 SSZ0050A0C4_monster_zombie4: db 'monster_zombie4',0 SSZ0050A0D4_monster_zombie3: db 'monster_zombie3',0 SSZ0050A0E4_monster_zombie2: db 'monster_zombie2',0 SSZ0050A0F4_monster_zombie1: db 'monster_zombie1',0 SSZ0050A104_monster_wisp5: db 'monster_wisp5',0 Align 4 SSZ0050A114_monster_wisp4: db 'monster_wisp4',0 Align 4 SSZ0050A124_monster_wisp3: db 'monster_wisp3',0 Align 4 SSZ0050A134_monster_wisp2: db 'monster_wisp2',0 Align 4 SSZ0050A144_monster_wisp1: db 'monster_wisp1',0 Align 4 SSZ0050A154_monster_troll5: db 'monster_troll5',0 Align 4 SSZ0050A164_monster_troll4: db 'monster_troll4',0 Align 4 SSZ0050A174_monster_troll3: db 'monster_troll3',0 Align 4 SSZ0050A184_monster_troll2: db 'monster_troll2',0 Align 4 SSZ0050A194_monster_troll1: db 'monster_troll1',0 Align 4 SSZ0050A1A4_monster_slime5: db 'monster_slime5',0 Align 4 SSZ0050A1B4_monster_slime4: db 'monster_slime4',0 Align 4 SSZ0050A1C4_monster_slime3: db 'monster_slime3',0 Align 4 SSZ0050A1D4_monster_slime2: db 'monster_slime2',0 Align 4 SSZ0050A1E4_monster_slime1: db 'monster_slime1',0 Align 4 SSZ0050A1F4_monster_skletn5: db 'monster_skletn5',0 SSZ0050A204_monster_skletn4: db 'monster_skletn4',0 SSZ0050A214_monster_skletn3: db 'monster_skletn3',0 SSZ0050A224_monster_skletn2: db 'monster_skletn2',0 SSZ0050A234_monster_skletn1: db 'monster_skletn1',0 SSZ0050A244_monster_seaserp5: db 'monster_seaserp5',0 Align 4 SSZ0050A258_monster_seaserp4: db 'monster_seaserp4',0 Align 4 SSZ0050A26C_monster_seaserp3: db 'monster_seaserp3',0 Align 4 SSZ0050A280_monster_seaserp1: db 'monster_seaserp1',0 Align 4 SSZ0050A294_monster_reaper5: db 'monster_reaper5',0 SSZ0050A2A4_monster_reaper4: db 'monster_reaper4',0 SSZ0050A2B4_monster_reaper3: db 'monster_reaper3',0 SSZ0050A2C4_monster_reaper2: db 'monster_reaper2',0 SSZ0050A2D4_monster_reaper1: db 'monster_reaper1',0 SSZ0050A2E4_monster_ratman5: db 'monster_ratman5',0 SSZ0050A2F4_monster_ratman4: db 'monster_ratman4',0 SSZ0050A304_monster_ratman3: db 'monster_ratman3',0 SSZ0050A314_monster_ratman2: db 'monster_ratman2',0 SSZ0050A324_monster_ratman1: db 'monster_ratman1',0 SSZ0050A334_monster_orc5: db 'monster_orc5',0 Align 4 SSZ0050A344_monster_orc4: db 'monster_orc4',0 Align 4 SSZ0050A354_monster_orc3: db 'monster_orc3',0 Align 4 SSZ0050A364_monster_orc2: db 'monster_orc2',0 Align 4 SSZ0050A374_monster_orc1: db 'monster_orc1',0 Align 4 SSZ0050A384_monster_ogre5: db 'monster_ogre5',0 Align 4 SSZ0050A394_monster_ogre4: db 'monster_ogre4',0 Align 4 SSZ0050A3A4_monster_ogre3: db 'monster_ogre3',0 Align 4 SSZ0050A3B4_monster_ogre2: db 'monster_ogre2',0 Align 4 SSZ0050A3C4_monster_ogre1: db 'monster_ogre1',0 Align 4 SSZ0050A3D4_monster_mngbat5: db 'monster_mngbat5',0 SSZ0050A3E4_monster_mngbat4: db 'monster_mngbat4',0 SSZ0050A3F4_monster_mngbat3: db 'monster_mngbat3',0 SSZ0050A404_monster_mngbat2: db 'monster_mngbat2',0 SSZ0050A414_monster_mngbat1: db 'monster_mngbat1',0 SSZ0050A424_monster_lzrdmn5: db 'monster_lzrdmn5',0 SSZ0050A434_monster_lzrdmn4: db 'monster_lzrdmn4',0 SSZ0050A444_monster_lzrdmn3: db 'monster_lzrdmn3',0 SSZ0050A454_monster_lzrdmn2: db 'monster_lzrdmn2',0 SSZ0050A464_monster_lzrdmn1: db 'monster_lzrdmn1',0 SSZ0050A474_monster_liche5: db 'monster_liche5',0 Align 4 SSZ0050A484_monster_liche4: db 'monster_liche4',0 Align 4 SSZ0050A494_monster_liche3: db 'monster_liche3',0 Align 4 SSZ0050A4A4_monster_liche2: db 'monster_liche2',0 Align 4 SSZ0050A4B4_monster_liche1: db 'monster_liche1',0 Align 4 SSZ0050A4C4_monster_headls5: db 'monster_headls5',0 SSZ0050A4D4_monster_headls4: db 'monster_headls4',0 SSZ0050A4E4_monster_headls3: db 'monster_headls3',0 SSZ0050A4F4_monster_headls2: db 'monster_headls2',0 SSZ0050A504_monster_headls1: db 'monster_headls1',0 SSZ0050A514_monster_harpy5: db 'monster_harpy5',0 Align 4 SSZ0050A524_monster_harpy4: db 'monster_harpy4',0 Align 4 SSZ0050A534_monster_harpy3: db 'monster_harpy3',0 Align 4 SSZ0050A544_monster_harpy2: db 'monster_harpy2',0 Align 4 SSZ0050A554_monster_harpy1: db 'monster_harpy1',0 Align 4 SSZ0050A564_monster_gscorp5: db 'monster_gscorp5',0 SSZ0050A574_monster_gscorp4: db 'monster_gscorp4',0 SSZ0050A584_monster_gscorp3: db 'monster_gscorp3',0 SSZ0050A594_monster_gscorp2: db 'monster_gscorp2',0 SSZ0050A5A4_monster_gscorp1: db 'monster_gscorp1',0 SSZ0050A5B4_monster_grat5: db 'monster_grat5',0 Align 4 SSZ0050A5C4_monster_grat4: db 'monster_grat4',0 Align 4 SSZ0050A5D4_monster_grat3: db 'monster_grat3',0 Align 4 SSZ0050A5E4_monster_grat2: db 'monster_grat2',0 Align 4 SSZ0050A5F4_monster_grat1: db 'monster_grat1',0 Align 4 SSZ0050A604_monster_gispidr5: db 'monster_gispidr5',0 Align 4 SSZ0050A618_monster_gispidr4: db 'monster_gispidr4',0 Align 4 SSZ0050A62C_monster_gispidr3: db 'monster_gispidr3',0 Align 4 SSZ0050A640_monster_gispidr2: db 'monster_gispidr2',0 Align 4 SSZ0050A654_monster_gispidr1: db 'monster_gispidr1',0 Align 4 SSZ0050A668_monster_ghost5: db 'monster_ghost5',0 Align 4 SSZ0050A678_monster_ghost4: db 'monster_ghost4',0 Align 4 SSZ0050A688_monster_ghost3: db 'monster_ghost3',0 Align 4 SSZ0050A698_monster_ghost2: db 'monster_ghost2',0 Align 4 SSZ0050A6A8_monster_ghost1: db 'monster_ghost1',0 Align 4 SSZ0050A6B8_monster_gazer5: db 'monster_gazer5',0 Align 4 SSZ0050A6C8_monster_gazer4: db 'monster_gazer4',0 Align 4 SSZ0050A6D8_monster_gazer3: db 'monster_gazer3',0 Align 4 SSZ0050A6E8_monster_gazer2: db 'monster_gazer2',0 Align 4 SSZ0050A6F8_monster_gazer1: db 'monster_gazer1',0 Align 4 SSZ0050A708_monster_gargyl5: db 'monster_gargyl5',0 SSZ0050A718_monster_gargyl4: db 'monster_gargyl4',0 SSZ0050A728_monster_gargyl3: db 'monster_gargyl3',0 SSZ0050A738_monster_gargyl2: db 'monster_gargyl2',0 SSZ0050A748_monster_gargyl1: db 'monster_gargyl1',0 SSZ0050A758_monster_ettin5: db 'monster_ettin5',0 Align 4 SSZ0050A768_monster_ettin4: db 'monster_ettin4',0 Align 4 SSZ0050A778_monster_ettin3: db 'monster_ettin3',0 Align 4 SSZ0050A788_monster_ettin2: db 'monster_ettin2',0 Align 4 SSZ0050A798_monster_ettin1: db 'monster_ettin1',0 Align 4 SSZ0050A7A8_monster_dragon5: db 'monster_dragon5',0 SSZ0050A7B8_monster_dragon4: db 'monster_dragon4',0 SSZ0050A7C8_monster_dragon3: db 'monster_dragon3',0 SSZ0050A7D8_monster_dragon2: db 'monster_dragon2',0 SSZ0050A7E8_monster_dragon1: db 'monster_dragon1',0 SSZ0050A7F8_monster_daemon5: db 'monster_daemon5',0 SSZ0050A808_monster_daemon4: db 'monster_daemon4',0 SSZ0050A818_monster_daemon3: db 'monster_daemon3',0 SSZ0050A828_monster_daemon2: db 'monster_daemon2',0 SSZ0050A838_monster_daemon1: db 'monster_daemon1',0 SSZ0050A848_monster_corpsr5: db 'monster_corpsr5',0 SSZ0050A858_monster_corpsr4: db 'monster_corpsr4',0 SSZ0050A868_monster_corpsr3: db 'monster_corpsr3',0 SSZ0050A878_monster_corpsr1: db 'monster_corpsr1',0 SSZ0050A888_magic_fyrbal03: db 'magic_fyrbal03',0 Align 4 SSZ0050A898_magic_fyrbal02: db 'magic_fyrbal02',0 Align 4 SSZ0050A8A8_magic_fyrbal01: db 'magic_fyrbal01',0 Align 4 SSZ0050A8B8_human_m_die_04: db 'human_m_die_04',0 Align 4 SSZ0050A8C8_human_m_die_03: db 'human_m_die_03',0 Align 4 SSZ0050A8D8_human_m_die_02: db 'human_m_die_02',0 Align 4 SSZ0050A8E8_human_m_die_01: db 'human_m_die_01',0 Align 4 SSZ0050A8F8_human_moomph13: db 'human_moomph13',0 Align 4 SSZ0050A908_human_moomph05: db 'human_moomph05',0 Align 4 SSZ0050A918_human_moomph04: db 'human_moomph04',0 Align 4 SSZ0050A928_human_moomph03: db 'human_moomph03',0 Align 4 SSZ0050A938_human_moomph02: db 'human_moomph02',0 Align 4 SSZ0050A948_human_moomph01: db 'human_moomph01',0 Align 4 SSZ0050A958_human_f_die_04: db 'human_f_die_04',0 Align 4 SSZ0050A968_human_f_die_03: db 'human_f_die_03',0 Align 4 SSZ0050A978_human_f_die_02: db 'human_f_die_02',0 Align 4 SSZ0050A988_human_f_die_01: db 'human_f_die_01',0 Align 4 SSZ0050A998_human_foomph09: db 'human_foomph09',0 Align 4 SSZ0050A9A8_human_foomph08: db 'human_foomph08',0 Align 4 SSZ0050A9B8_human_foomph07: db 'human_foomph07',0 Align 4 SSZ0050A9C8_human_foomph06: db 'human_foomph06',0 Align 4 SSZ0050A9D8_human_foomph01: db 'human_foomph01',0 Align 4 SSZ0050A9E8_hits_hit22: db 'hits_hit22',0 Align 4 SSZ0050A9F4_hits_hit21: db 'hits_hit21',0 Align 4 SSZ0050AA00_hits_hit20: db 'hits_hit20',0 Align 4 SSZ0050AA0C_hits_hit19: db 'hits_hit19',0 Align 4 SSZ0050AA18_hits_hit18: db 'hits_hit18',0 Align 4 SSZ0050AA24_hits_hit17: db 'hits_hit17',0 Align 4 SSZ0050AA30_hits_hit16: db 'hits_hit16',0 Align 4 SSZ0050AA3C_hits_hit15: db 'hits_hit15',0 Align 4 SSZ0050AA48_hits_hit14: db 'hits_hit14',0 Align 4 SSZ0050AA54_hits_hit13: db 'hits_hit13',0 Align 4 SSZ0050AA60_hits_hit12: db 'hits_hit12',0 Align 4 SSZ0050AA6C_hits_hit11: db 'hits_hit11',0 Align 4 SSZ0050AA78_hits_hit10: db 'hits_hit10',0 Align 4 SSZ0050AA84_hits_hit09: db 'hits_hit09',0 Align 4 SSZ0050AA90_hits_hit08: db 'hits_hit08',0 Align 4 SSZ0050AA9C_hits_hit07: db 'hits_hit07',0 Align 4 SSZ0050AAA8_hits_hit06: db 'hits_hit06',0 Align 4 SSZ0050AAB4_hits_hit05: db 'hits_hit05',0 Align 4 SSZ0050AAC0_hits_hit04: db 'hits_hit04',0 Align 4 SSZ0050AACC_hits_hit03: db 'hits_hit03',0 Align 4 SSZ0050AAD8_hits_hit02: db 'hits_hit02',0 Align 4 SSZ0050AAE4_hits_hit01: db 'hits_hit01',0 Align 4 SSZ0050AAF0_footstep_feet15d: db 'footstep_feet15d',0 Align 4 SSZ0050AB04_footstep_feet15c: db 'footstep_feet15c',0 Align 4 SSZ0050AB18_footstep_feet15b: db 'footstep_feet15b',0 Align 4 SSZ0050AB2C_footstep_feet15a: db 'footstep_feet15a',0 Align 4 SSZ0050AB40_footstep_feet14b: db 'footstep_feet14b',0 Align 4 SSZ0050AB54_footstep_feet14a: db 'footstep_feet14a',0 Align 4 SSZ0050AB68_footstep_feet13b: db 'footstep_feet13b',0 Align 4 SSZ0050AB7C_footstep_feet13a: db 'footstep_feet13a',0 Align 4 SSZ0050AB90_footstep_feet12b: db 'footstep_feet12b',0 Align 4 SSZ0050ABA4_footstep_feet12a: db 'footstep_feet12a',0 Align 4 SSZ0050ABB8_footstep_feet10b: db 'footstep_feet10b',0 Align 4 SSZ0050ABCC_footstep_feet10a: db 'footstep_feet10a',0 Align 4 SSZ0050ABE0_footstep_feet08b: db 'footstep_feet08b',0 Align 4 SSZ0050ABF4_footstep_feet08a: db 'footstep_feet08a',0 Align 4 SSZ0050AC08_footstep_feet05b: db 'footstep_feet05b',0 Align 4 SSZ0050AC1C_footstep_feet05a: db 'footstep_feet05a',0 Align 4 SSZ0050AC30_footstep_feet03b: db 'footstep_feet03b',0 Align 4 SSZ0050AC44_footstep_feet03a: db 'footstep_feet03a',0 Align 4 SSZ0050AC58_footstep_feet01b: db 'footstep_feet01b',0 Align 4 SSZ0050AC6C_footstep_feet01a: db 'footstep_feet01a',0 Align 4 SSZ0050AC80_footstep_bigfoot2: db 'footstep_bigfoot2',0 Align 4 SSZ0050AC94_footstep_bigfoot1: db 'footstep_bigfoot1',0 Align 4 SSZ0050ACA8_explode_exp06: db 'explode_exp06',0 Align 4 SSZ0050ACB8_explode_exp05: db 'explode_exp05',0 Align 4 SSZ0050ACC8_explode_exp04: db 'explode_exp04',0 Align 4 SSZ0050ACD8_explode_exp01: db 'explode_exp01',0 Align 4 SSZ0050ACE8_elementl_watrel5: db 'elementl_watrel5',0 Align 4 SSZ0050ACFC_elementl_watrel4: db 'elementl_watrel4',0 Align 4 SSZ0050AD10_elementl_watrel3: db 'elementl_watrel3',0 Align 4 SSZ0050AD24_elementl_watrel2: db 'elementl_watrel2',0 Align 4 SSZ0050AD38_elementl_watrel1: db 'elementl_watrel1',0 Align 4 SSZ0050AD4C_elementl_firelem5: db 'elementl_firelem5',0 Align 4 SSZ0050AD60_elementl_firelem4: db 'elementl_firelem4',0 Align 4 SSZ0050AD74_elementl_firelem3: db 'elementl_firelem3',0 Align 4 SSZ0050AD88_elementl_firelem2: db 'elementl_firelem2',0 Align 4 SSZ0050AD9C_elementl_firelem1: db 'elementl_firelem1',0 Align 4 SSZ0050ADB0_elementl_erthel5: db 'elementl_erthel5',0 Align 4 SSZ0050ADC4_elementl_erthel4: db 'elementl_erthel4',0 Align 4 SSZ0050ADD8_elementl_erthel3: db 'elementl_erthel3',0 Align 4 SSZ0050ADEC_elementl_erthel2: db 'elementl_erthel2',0 Align 4 SSZ0050AE00_elementl_erthel1: db 'elementl_erthel1',0 Align 4 SSZ0050AE14_elementl_airelem5: db 'elementl_airelem5',0 Align 4 SSZ0050AE28_elementl_airelem4: db 'elementl_airelem4',0 Align 4 SSZ0050AE3C_elementl_airelem3: db 'elementl_airelem3',0 Align 4 SSZ0050AE50_elementl_airelem2: db 'elementl_airelem2',0 Align 4 SSZ0050AE64_elementl_airelem1: db 'elementl_airelem1',0 Align 4 SSZ0050AE78_dungeon_sfx22_l: db 'dungeon_sfx22_l',0 SSZ0050AE88_dungeon_sfx21_l: db 'dungeon_sfx21_l',0 SSZ0050AE98_dungeon_sfx20_l: db 'dungeon_sfx20_l',0 SSZ0050AEA8_dungeon_sfx18_l: db 'dungeon_sfx18_l',0 SSZ0050AEB8_dungeon_sfx17_l: db 'dungeon_sfx17_l',0 SSZ0050AEC8_dungeon_sfx16_l: db 'dungeon_sfx16_l',0 SSZ0050AED8_dungeon_sfx15: db 'dungeon_sfx15',0 Align 4 SSZ0050AEE8_dungeon_sfx14_l: db 'dungeon_sfx14_l',0 SSZ0050AEF8_dungeon_sfx13: db 'dungeon_sfx13',0 Align 4 SSZ0050AF08_dungeon_sfx12_l: db 'dungeon_sfx12_l',0 SSZ0050AF18_dungeon_sfx11: db 'dungeon_sfx11',0 Align 4 SSZ0050AF28_dungeon_sfx10: db 'dungeon_sfx10',0 Align 4 SSZ0050AF38_dungeon_sfx08: db 'dungeon_sfx08',0 Align 4 SSZ0050AF48_dungeon_sfx06: db 'dungeon_sfx06',0 Align 4 SSZ0050AF58_dungeon_sfx05: db 'dungeon_sfx05',0 Align 4 SSZ0050AF68_dungeon_sfx04: db 'dungeon_sfx04',0 Align 4 SSZ0050AF78_dungeon_sfx02: db 'dungeon_sfx02',0 Align 4 SSZ0050AF88_dungeon_sfx01: db 'dungeon_sfx01',0 Align 4 SSZ0050AF98_doors_shut17: db 'doors_shut17',0 Align 4 SSZ0050AFA8_doors_shut14b: db 'doors_shut14b',0 Align 4 SSZ0050AFB8_doors_shut07a: db 'doors_shut07a',0 Align 4 SSZ0050AFC8_doors_shut03a: db 'doors_shut03a',0 Align 4 SSZ0050AFD8_doors_portcul5: db 'doors_portcul5',0 Align 4 SSZ0050AFE8_doors_portcul4: db 'doors_portcul4',0 Align 4 SSZ0050AFF8_doors_portclos: db 'doors_portclos',0 Align 4 SSZ0050B008_doors_open09: db 'doors_open09',0 Align 4 SSZ0050B018_doors_open04b: db 'doors_open04b',0 Align 4 SSZ0050B028_doors_open03a: db 'doors_open03a',0 Align 4 SSZ0050B038_doors_open01a: db 'doors_open01a',0 Align 4 SSZ0050B048_animals_wolf5: db 'animals_wolf5',0 Align 4 SSZ0050B058_animals_wolf4: db 'animals_wolf4',0 Align 4 SSZ0050B068_animals_wolf3: db 'animals_wolf3',0 Align 4 SSZ0050B078_animals_wolf2: db 'animals_wolf2',0 Align 4 SSZ0050B088_animals_wolf1: db 'animals_wolf1',0 Align 4 SSZ0050B098_animals_walrus5: db 'animals_walrus5',0 SSZ0050B0A8_animals_walrus4: db 'animals_walrus4',0 SSZ0050B0B8_animals_walrus3: db 'animals_walrus3',0 SSZ0050B0C8_animals_walrus2: db 'animals_walrus2',0 SSZ0050B0D8_animals_walrus1: db 'animals_walrus1',0 SSZ0050B0E8_animals_snake5: db 'animals_snake5',0 Align 4 SSZ0050B0F8_animals_snake4: db 'animals_snake4',0 Align 4 SSZ0050B108_animals_snake3: db 'animals_snake3',0 Align 4 SSZ0050B118_animals_snake2: db 'animals_snake2',0 Align 4 SSZ0050B128_animals_snake1: db 'animals_snake1',0 Align 4 SSZ0050B138_animals_sheep5: db 'animals_sheep5',0 Align 4 SSZ0050B148_animals_sheep4: db 'animals_sheep4',0 Align 4 SSZ0050B158_animals_sheep3: db 'animals_sheep3',0 Align 4 SSZ0050B168_animals_sheep2: db 'animals_sheep2',0 Align 4 SSZ0050B178_animals_sheep1: db 'animals_sheep1',0 Align 4 SSZ0050B188_animals_raven5: db 'animals_raven5',0 Align 4 SSZ0050B198_animals_raven4: db 'animals_raven4',0 Align 4 SSZ0050B1A8_animals_raven3: db 'animals_raven3',0 Align 4 SSZ0050B1B8_animals_raven2: db 'animals_raven2',0 Align 4 SSZ0050B1C8_animals_raven1: db 'animals_raven1',0 Align 4 SSZ0050B1D8_animals_rat5: db 'animals_rat5',0 Align 4 SSZ0050B1E8_animals_rat4: db 'animals_rat4',0 Align 4 SSZ0050B1F8_animals_rat3: db 'animals_rat3',0 Align 4 SSZ0050B208_animals_rat2: db 'animals_rat2',0 Align 4 SSZ0050B218_animals_rat1: db 'animals_rat1',0 Align 4 SSZ0050B228_animals_rabbit5: db 'animals_rabbit5',0 SSZ0050B238_animals_rabbit4: db 'animals_rabbit4',0 SSZ0050B248_animals_rabbit3: db 'animals_rabbit3',0 SSZ0050B258_animals_pig5: db 'animals_pig5',0 Align 4 SSZ0050B268_animals_pig4: db 'animals_pig4',0 Align 4 SSZ0050B278_animals_pig3: db 'animals_pig3',0 Align 4 SSZ0050B288_animals_pig2: db 'animals_pig2',0 Align 4 SSZ0050B298_animals_pig1: db 'animals_pig1',0 Align 4 SSZ0050B2A8_animals_parrot5: db 'animals_parrot5',0 SSZ0050B2B8_animals_parrot4: db 'animals_parrot4',0 SSZ0050B2C8_animals_parrot3: db 'animals_parrot3',0 SSZ0050B2D8_animals_parrot2: db 'animals_parrot2',0 SSZ0050B2E8_animals_parrot1: db 'animals_parrot1',0 SSZ0050B2F8_animals_panther5: db 'animals_panther5',0 Align 4 SSZ0050B30C_animals_panther4: db 'animals_panther4',0 Align 4 SSZ0050B320_animals_panther3: db 'animals_panther3',0 Align 4 SSZ0050B334_animals_panther2: db 'animals_panther2',0 Align 4 SSZ0050B348_animals_panther1: db 'animals_panther1',0 Align 4 SSZ0050B35C_animals_llama5: db 'animals_llama5',0 Align 4 SSZ0050B36C_animals_llama4: db 'animals_llama4',0 Align 4 SSZ0050B37C_animals_llama3: db 'animals_llama3',0 Align 4 SSZ0050B38C_animals_lion5: db 'animals_lion5',0 Align 4 SSZ0050B39C_animals_lion4: db 'animals_lion4',0 Align 4 SSZ0050B3AC_animals_lion3: db 'animals_lion3',0 Align 4 SSZ0050B3BC_animals_lion2: db 'animals_lion2',0 Align 4 SSZ0050B3CC_animals_lion1: db 'animals_lion1',0 Align 4 SSZ0050B3DC_animals_jungbrd5: db 'animals_jungbrd5',0 Align 4 SSZ0050B3F0_animals_jungbrd4: db 'animals_jungbrd4',0 Align 4 SSZ0050B404_animals_jungbrd3: db 'animals_jungbrd3',0 Align 4 SSZ0050B418_animals_jungbrd2: db 'animals_jungbrd2',0 Align 4 SSZ0050B42C_animals_jungbrd1: db 'animals_jungbrd1',0 Align 4 SSZ0050B440_animals_horse5: db 'animals_horse5',0 Align 4 SSZ0050B450_animals_horse4: db 'animals_horse4',0 Align 4 SSZ0050B460_animals_horse3: db 'animals_horse3',0 Align 4 SSZ0050B470_animals_horse2: db 'animals_horse2',0 Align 4 SSZ0050B480_animals_horse1: db 'animals_horse1',0 Align 4 SSZ0050B490_animals_grizzly5: db 'animals_grizzly5',0 Align 4 SSZ0050B4A4_animals_grizzly4: db 'animals_grizzly4',0 Align 4 SSZ0050B4B8_animals_grizzly3: db 'animals_grizzly3',0 Align 4 SSZ0050B4CC_animals_grizzly2: db 'animals_grizzly2',0 Align 4 SSZ0050B4E0_animals_grizzly1: db 'animals_grizzly1',0 Align 4 SSZ0050B4F4_animals_gorilla5: db 'animals_gorilla5',0 Align 4 SSZ0050B508_animals_gorilla4: db 'animals_gorilla4',0 Align 4 SSZ0050B51C_animals_gorilla3: db 'animals_gorilla3',0 Align 4 SSZ0050B530_animals_gorilla2: db 'animals_gorilla2',0 Align 4 SSZ0050B544_animals_gorilla1: db 'animals_gorilla1',0 Align 4 SSZ0050B558_animals_goat5: db 'animals_goat5',0 Align 4 SSZ0050B568_animals_goat4: db 'animals_goat4',0 Align 4 SSZ0050B578_animals_goat3: db 'animals_goat3',0 Align 4 SSZ0050B588_animals_goat2: db 'animals_goat2',0 Align 4 SSZ0050B598_animals_goat1: db 'animals_goat1',0 Align 4 SSZ0050B5A8_animals_frstbrd5: db 'animals_frstbrd5',0 Align 4 SSZ0050B5BC_animals_frstbrd4: db 'animals_frstbrd4',0 Align 4 SSZ0050B5D0_animals_frstbrd3: db 'animals_frstbrd3',0 Align 4 SSZ0050B5E4_animals_frstbrd2: db 'animals_frstbrd2',0 Align 4 SSZ0050B5F8_animals_frstbrd1: db 'animals_frstbrd1',0 Align 4 SSZ0050B60C_animals_eagle5: db 'animals_eagle5',0 Align 4 SSZ0050B61C_animals_eagle4: db 'animals_eagle4',0 Align 4 SSZ0050B62C_animals_eagle3: db 'animals_eagle3',0 Align 4 SSZ0050B63C_animals_eagle2: db 'animals_eagle2',0 Align 4 SSZ0050B64C_animals_eagle1: db 'animals_eagle1',0 Align 4 SSZ0050B65C_animals_dolphin5: db 'animals_dolphin5',0 Align 4 SSZ0050B670_animals_dolphin4: db 'animals_dolphin4',0 Align 4 SSZ0050B684_animals_dolphin3: db 'animals_dolphin3',0 Align 4 SSZ0050B698_animals_dolphin2: db 'animals_dolphin2',0 Align 4 SSZ0050B6AC_animals_dolphin1: db 'animals_dolphin1',0 Align 4 SSZ0050B6C0_animals_dog5: db 'animals_dog5',0 Align 4 SSZ0050B6D0_animals_dog4: db 'animals_dog4',0 Align 4 SSZ0050B6E0_animals_dog3: db 'animals_dog3',0 Align 4 SSZ0050B6F0_animals_dog2: db 'animals_dog2',0 Align 4 SSZ0050B700_animals_dog1: db 'animals_dog1',0 Align 4 SSZ0050B710_animals_deer5: db 'animals_deer5',0 Align 4 SSZ0050B720_animals_deer4: db 'animals_deer4',0 Align 4 SSZ0050B730_animals_deer3: db 'animals_deer3',0 Align 4 SSZ0050B740_animals_crow5: db 'animals_crow5',0 Align 4 SSZ0050B750_animals_crow4: db 'animals_crow4',0 Align 4 SSZ0050B760_animals_crow3: db 'animals_crow3',0 Align 4 SSZ0050B770_animals_crow2: db 'animals_crow2',0 Align 4 SSZ0050B780_animals_crow1: db 'animals_crow1',0 Align 4 SSZ0050B790_animals_cow5: db 'animals_cow5',0 Align 4 SSZ0050B7A0_animals_cow4: db 'animals_cow4',0 Align 4 SSZ0050B7B0_animals_cow3: db 'animals_cow3',0 Align 4 SSZ0050B7C0_animals_cow2: db 'animals_cow2',0 Align 4 SSZ0050B7D0_animals_cow1: db 'animals_cow1',0 Align 4 SSZ0050B7E0_animals_cougar5: db 'animals_cougar5',0 SSZ0050B7F0_animals_cougar4: db 'animals_cougar4',0 SSZ0050B800_animals_cougar3: db 'animals_cougar3',0 SSZ0050B810_animals_cougar2: db 'animals_cougar2',0 SSZ0050B820_animals_cougar1: db 'animals_cougar1',0 SSZ0050B830_animals_chicken5: db 'animals_chicken5',0 Align 4 SSZ0050B844_animals_chicken4: db 'animals_chicken4',0 Align 4 SSZ0050B858_animals_chicken3: db 'animals_chicken3',0 Align 4 SSZ0050B86C_animals_chicken2: db 'animals_chicken2',0 Align 4 SSZ0050B880_animals_chicken1: db 'animals_chicken1',0 Align 4 SSZ0050B894_animals_cat5: db 'animals_cat5',0 Align 4 SSZ0050B8A4_animals_cat4: db 'animals_cat4',0 Align 4 SSZ0050B8B4_animals_cat3: db 'animals_cat3',0 Align 4 SSZ0050B8C4_animals_cat2: db 'animals_cat2',0 Align 4 SSZ0050B8D4_animals_cat1: db 'animals_cat1',0 Align 4 SSZ0050B8E4_animals_bull5: db 'animals_bull5',0 Align 4 SSZ0050B8F4_animals_bull4: db 'animals_bull4',0 Align 4 SSZ0050B904_animals_bull3: db 'animals_bull3',0 Align 4 SSZ0050B914_animals_bull2: db 'animals_bull2',0 Align 4 SSZ0050B924_animals_bull1: db 'animals_bull1',0 Align 4 SSZ0050B934_animals_bear5: db 'animals_bear5',0 Align 4 SSZ0050B944_animals_bear4: db 'animals_bear4',0 Align 4 SSZ0050B954_animals_bear3: db 'animals_bear3',0 Align 4 SSZ0050B964_animals_bear2: db 'animals_bear2',0 Align 4 SSZ0050B974_animals_bear1: db 'animals_bear1',0 Align 4 SSZ0050B984_animals_aligatr5: db 'animals_aligatr5',0 Align 4 SSZ0050B998_animals_aligatr4: db 'animals_aligatr4',0 Align 4 SSZ0050B9AC_animals_aligatr3: db 'animals_aligatr3',0 Align 4 SSZ0050B9C0_animals_aligatr2: db 'animals_aligatr2',0 Align 4 SSZ0050B9D4_animals_aligatr1: db 'animals_aligatr1',0 Align 4 SSZ0050B9E8_actions_uselthr1: db 'actions_uselthr1',0 Align 4 SSZ0050B9FC_actions_uselethr: db 'actions_uselethr',0 Align 4 SSZ0050BA10_actions_usecloth: db 'actions_usecloth',0 Align 4 SSZ0050BA24_actions_unsheth1: db 'actions_unsheth1',0 Align 4 SSZ0050BA38_actions_turnpage: db 'actions_turnpage',0 Align 4 SSZ0050BA4C_actions_torch01: db 'actions_torch01',0 SSZ0050BA5C_actions_tambrn_b: db 'actions_tambrn_b',0 Align 4 SSZ0050BA70_actions_tamborin: db 'actions_tamborin',0 Align 4 SSZ0050BA84_actions_switch01: db 'actions_switch01',0 Align 4 SSZ0050BA98_actions_swallow2: db 'actions_swallow2',0 Align 4 SSZ0050BAAC_actions_rustle: db 'actions_rustle',0 Align 4 SSZ0050BABC_actions_pouring: db 'actions_pouring',0 SSZ0050BACC_actions_lute01_b: db 'actions_lute01_b',0 Align 4 SSZ0050BAE0_actions_lute01: db 'actions_lute01',0 Align 4 SSZ0050BAF0_actions_lever05: db 'actions_lever05',0 SSZ0050BB00_actions_lever02: db 'actions_lever02',0 SSZ0050BB10_actions_lever01: db 'actions_lever01',0 SSZ0050BB20_actions_leather1: db 'actions_leather1',0 Align 4 SSZ0050BB34_actions_igntorch: db 'actions_igntorch',0 Align 4 SSZ0050BB48_actions_harp02_b: db 'actions_harp02_b',0 Align 4 SSZ0050BB5C_actions_harp02: db 'actions_harp02',0 Align 4 SSZ0050BB6C_actions_harp01_b: db 'actions_harp01_b',0 Align 4 SSZ0050BB80_actions_harp01: db 'actions_harp01',0 Align 4 SSZ0050BB90_actions_hamer01: db 'actions_hamer01',0 SSZ0050BBA0_actions_glasbrk4: db 'actions_glasbrk4',0 Align 4 SSZ0050BBB4_actions_glasbrk3: db 'actions_glasbrk3',0 Align 4 SSZ0050BBC8_actions_glasbrk2: db 'actions_glasbrk2',0 Align 4 SSZ0050BBDC_actions_glasbrk1: db 'actions_glasbrk1',0 Align 4 SSZ0050BBF0_actions_flute01: db 'actions_flute01',0 SSZ0050BC00_actions_eat06: db 'actions_eat06',0 Align 4 SSZ0050BC10_actions_eat03: db 'actions_eat03',0 Align 4 SSZ0050BC20_actions_eat01: db 'actions_eat01',0 Align 4 SSZ0050BC30_actions_drum01_b: db 'actions_drum01_b',0 Align 4 SSZ0050BC44_actions_drum01: db 'actions_drum01',0 Align 4 SSZ0050BC54_actions_dropmny3: db 'actions_dropmny3',0 Align 4 SSZ0050BC68_actions_dropmny2: db 'actions_dropmny2',0 Align 4 SSZ0050BC7C_actions_dropmny1: db 'actions_dropmny1',0 Align 4 SSZ0050BC90_actions_dropgem3: db 'actions_dropgem3',0 Align 4 SSZ0050BCA4_actions_dropgem2: db 'actions_dropgem2',0 Align 4 SSZ0050BCB8_actions_dropgem1: db 'actions_dropgem1',0 Align 4 SSZ0050BCCC_actions_drink05: db 'actions_drink05',0 SSZ0050BCDC_actions_drink01: db 'actions_drink01',0 SSZ0050BCEC_actions_drawerop: db 'actions_drawerop',0 Align 4 SSZ0050BD00_actions_drawercl: db 'actions_drawercl',0 Align 4 SSZ0050BD14_actions_chstopn2: db 'actions_chstopn2',0 Align 4 SSZ0050BD28_actions_chstcls3: db 'actions_chstcls3',0 Align 4 SSZ0050BD3C_actions_bellows: db 'actions_bellows',0 SSZ0050BD4C_actions_anvil: db 'actions_anvil',0 Align 4 SSZ0050BD5C_aaafoley_thundr02: db 'aaafoley_thundr02',0 Align 4 SSZ0050BD70_aaafoley_thundr01: db 'aaafoley_thundr01',0 Align 4 SSZ0050BD84_aaafoley_splash03: db 'aaafoley_splash03',0 Align 4 SSZ0050BD98_aaafoley_splash02: db 'aaafoley_splash02',0 Align 4 SSZ0050BDAC_aaafoley_splash01: db 'aaafoley_splash01',0 Align 4 SSZ0050BDC0_aaafoley_drip03_l: db 'aaafoley_drip03_l',0 Align 4 SSZ0050BDD4_aaafoley_drip02: db 'aaafoley_drip02',0 SSZ0050BDE4_aaafoley_drip01: db 'aaafoley_drip01',0 SSZ0050BDF4_aaafoley_bubl02_l: db 'aaafoley_bubl02_l',0 Align 4 SSZ0050BE08_aaafoley_bubl01_l: db 'aaafoley_bubl01_l',0 Align 4 SSZ0050BE1C_aaafoley_bird09: db 'aaafoley_bird09',0 SSZ0050BE2C_aaafoley_bird08: db 'aaafoley_bird08',0 SSZ0050BE3C_aaafoley_bird07: db 'aaafoley_bird07',0 SSZ0050BE4C_aaafoley_bird06: db 'aaafoley_bird06',0 SSZ0050BE5C_aaafoley_bird05: db 'aaafoley_bird05',0 SSZ0050BE6C_aaafoley_bird04: db 'aaafoley_bird04',0 SSZ0050BE7C_aaafoley_bird03: db 'aaafoley_bird03',0 SSZ0050BE8C_aaafoley_bird02: db 'aaafoley_bird02',0 SSZ0050BE9C_aaafoley_bird01: db 'aaafoley_bird01',0 SSZ0050BEAC_aaaenvir_wind03_l: db 'aaaenvir_wind03_l',0 Align 4 SSZ0050BEC0_aaaenvir_wind02_l: db 'aaaenvir_wind02_l',0 Align 4 SSZ0050BED4_aaaenvir_wind01_l: db 'aaaenvir_wind01_l',0 Align 4 SSZ0050BEE8_aaaenvir_wave02_l: db 'aaaenvir_wave02_l',0 Align 4 SSZ0050BEFC_aaaenvir_wave01_l: db 'aaaenvir_wave01_l',0 Align 4 SSZ0050BF10_aaaenvir_watr02_l: db 'aaaenvir_watr02_l',0 Align 4 SSZ0050BF24_aaaenvir_watr01_l: db 'aaaenvir_watr01_l',0 Align 4 SSZ0050BF38_aaaenvir_n_swmp02: db 'aaaenvir_n_swmp02',0 Align 4 SSZ0050BF4C_aaaenvir_n_swmp01: db 'aaaenvir_n_swmp01',0 Align 4 SSZ0050BF60_aaaenvir_n_jung02: db 'aaaenvir_n_jung02',0 Align 4 SSZ0050BF74_aaaenvir_n_jung01: db 'aaaenvir_n_jung01',0 Align 4 SSZ0050BF88_aaaenvir_n_gen02: db 'aaaenvir_n_gen02',0 Align 4 SSZ0050BF9C_aaaenvir_n_gen01: db 'aaaenvir_n_gen01',0 Align 4 SSZ0050BFB0_aaaenvir_n_frst02: db 'aaaenvir_n_frst02',0 Align 4 SSZ0050BFC4_aaaenvir_n_frst01: db 'aaaenvir_n_frst01',0 Align 4 SSZ0050BFD8_aaaenvir_d_swmp02: db 'aaaenvir_d_swmp02',0 Align 4 SSZ0050BFEC_aaaenvir_d_swmp01: db 'aaaenvir_d_swmp01',0 Align 4 SSZ0050C000_aaaenvir_d_jung03: db 'aaaenvir_d_jung03',0 Align 4 SSZ0050C014_aaaenvir_d_jung02: db 'aaaenvir_d_jung02',0 Align 4 SSZ0050C028_aaaenvir_d_jung01: db 'aaaenvir_d_jung01',0 Align 4 SSZ0050C03C_aaaenvir_d_frst03: db 'aaaenvir_d_frst03',0 Align 4 SSZ0050C050_aaaenvir_d_frst02: db 'aaaenvir_d_frst02',0 Align 4 SSZ0050C064_aaaenvir_d_frst01: db 'aaaenvir_d_frst01',0 Align 4 SSZ0050C078_NewStaticObj__either_pointer____: db 'NewStaticObj: either pointer ',27h,'&(p[i])',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 SSZ0050C0EC_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\obj_mem.cxx',0 Align 4 SSZ0050C120_CObj__CObj__either_pointer__this: db 'CObj::CObj: either pointer ',27h,'this',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 Align 4 L0050C190: db 01h; db 00h; db 00h; db 00h; SSZ0050C194_AddMultiComp__either_pointer__pO: db 'AddMultiComp: either pointer ',27h,'pObj',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 Align 4 SSZ0050C208_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\objects.cxx',0 Align 4 L0050C23C: db 61h; 'a' db 20h; ' ' db 00h; db 00h; L0050C240: db 61h; 'a' db 6Eh; 'n' db 20h; ' ' db 00h; SSZ0050C244_the_: db 'the ',0 Align 4 SSZ0050C24C_CContainerObj___CContainerObj__b: db 'CContainerObj::~CContainerObj: bigMobComponents is NULL or 0xdddddddd ',0Ah,0 SSZ0050C294_CContainerObj___CContainerObj__e: db 'CContainerObj::~CContainerObj: either pointer ',27h,'bigMobComponents',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 Align 4 SSZ0050C324_CObjectManager__startup__begin__: db 'CObjectManager::startup: begin.',0Ah,0 Align 4 SSZ0050C348_CObjectManager__GetObjAtScreenLo: db 'CObjectManager::GetObjAtScreenLoc: either pointer ',27h,'pItem',27h,' is not valid, or the data it points to is not valid. setting ',27h,'pItem = 0',27h,'.',0Ah,0 Align 4 SSZ0050C3D0_CObjectManager__SetItemTileData_: db 'CObjectManager::SetItemTileData: cannot open ',27h,'%s',27h,'.',0Ah,0 SSZ0050C404_tiledata_mul: db 'tiledata.mul',0 Align 4 SSZ0050C414_Can_t_get_there__follow_: db 'Can',27h,'t get there (follow)',0 Align 4 SSZ0050C430_CObjectManager__HandleMove__eith: db 'CObjectManager::HandleMove: either pointer ',27h,'pObj',27h,' is not valid, or the data it points to is not valid. the program may crash!',0Ah,0 Align 4 SSZ0050C4B0_CObjectManager__UpdateMovement__: db 'CObjectManager::UpdateMovement: released ',27h,'pObj',27h,'. breaking out of loop.',0Ah,0 SSZ0050C4F8_CObjectManager__UpdateMovement__: db 'CObjectManager::UpdateMovement: either pointer ',27h,'pObj',27h,' is not valid, or the data it points to is not valid. releasing pObj.',0Ah,0 SSZ0050C574_MovesPerTile____0: db 'MovesPerTile()==0',0 Align 4 SSZ0050C588_UpdateMovement_: db 'UpdateMovement:',0 SSZ0050C598_CObjectManager__UpdateMovement__: db 'CObjectManager::UpdateMovement: either pointer ',27h,'pMyObj',27h,' is not valid, or the data it points to is not valid. breaking out of loop.',0Ah,0 SSZ0050C61C_scroll: db 'scroll',0 Align 4 L0050C624: db 25h; '%' db 64h; 'd' db 20h; ' ' db 00h; SSZ0050C628_CObjectManager__GetObject__Preve: db 'CObjectManager::GetObject: Prevented client crash by testing for return value from ',27h,'(CStackGump*)CGumpManager::OpenGump(pObj, 49, NULL, FALSE);',27h,'. It is NULL! Returning from function.',0Ah,0 SSZ0050C6E0________: db '!@#$%&*',0 db 80h; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 80h; '?' db 80h; '?' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 80h; '?' db 00h; db 80h; '?' db 00h; db 00h; db 80h; '?' db 80h; '?' db 00h; db C0h; '€' db C0h; '€' db C0h; '€' db 00h; db 80h; '?' db 80h; '?' db 80h; '?' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db 00h; db 00h; db 00h; db 00h; db FFh; 'ï' db 00h; db FFh; 'ï' db 00h; db FFh; 'ï' db 00h; db 00h; db FFh; 'ï' db FFh; 'ï' db 00h; db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 00h; db 41h; 'A' db 6Ch; 'l' db 6Ch; 'l' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 73h; 's' db 20h; ' ' db 28h; '(' db 2Ah; '*' db 2Eh; '.' db 2Ah; '*' db 29h; ')' db 00h; db 2Ah; '*' db 2Eh; '.' db 2Ah; '*' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 41h; 'A' db 6Ch; 'l' db 6Ch; 'l' db 20h; ' ' db 46h; 'F' db 69h; 'i' db 6Ch; 'l' db 65h; 'e' db 73h; 's' db 20h; ' ' db 28h; '(' db 2Ah; '*' db 2Eh; '.' db 2Ah; '*' db 29h; ')' db 00h; db 2Ah; '*' db 2Eh; '.' db 2Ah; '*' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; SSZ0050C7C4_NoName: db 'NoName',0 db 00h; db FEh; 'î' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db 01h; 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 FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' L0050C7E8: dd 00000842h SSZ0050C7EC_OptionsGump_frame0: db 'OptionsGump frame0',0 Align 4 SSZ0050C800_framedata_for_OptionsGump: db 'framedata for OptionsGump',0 Align 4 SSZ0050C81C_OptionsGump: db 'OptionsGump',0 SSZ0050C828_OptionsGump__HandleButtonPress__: db 'OptionsGump::HandleButtonPress: begin. param=%d',0Ah,0 Align 4 SSZ0050C85C__HUE: db '#HUE',0 Align 4 SSZ0050C864__DUMMY: db '#DUMMY',0 Align 4 SSZ0050C86C__SLIDER: db '#SLIDER',0 SSZ0050C874__UNIFONT: db '#UNIFONT',0 Align 4 SSZ0050C880__RADIO: db '#RADIO',0 Align 4 SSZ0050C888__COLOR: db '#COLOR',0 Align 4 SSZ0050C890__CHECKBOX: db '#CHECKBOX',0 Align 4 SSZ0050C89C__TAB: db '#TAB',0 Align 4 L0050C8A4: db 23h; '#' db 23h; '#' db 00h; db 00h; SSZ0050C8A8__END: db '#END',0 Align 4 SSZ0050C8B0_OptionsGump__Apply__save_config_: db 'OptionsGump::Apply: save config options.',0Ah,0 Align 4 SSZ0050C8DC_OptionsGump__Apply__save_filters: db 'OptionsGump::Apply: save filters.',0Ah,0 Align 4 SSZ0050C900_OptionsGump__Apply__handle_filte: db 'OptionsGump::Apply: handle filters.',0Ah,0 Align 4 SSZ0050C928_OptionsGump__Apply__save_macros_: db 'OptionsGump::Apply: save macros.',0Ah,0 Align 4 SSZ0050C94C_OptionsGump__Apply__handle_macro: db 'OptionsGump::Apply: handle macros.',0Ah,0 SSZ0050C970_OptionsGump__Apply__handle_gener: db 'OptionsGump::Apply: handle generic items.',0Ah,0 Align 4 SSZ0050C99C_OptionsGump__Apply__begin__: db 'OptionsGump::Apply: begin.',0Ah,0 SSZ0050C9B8_CheckboxOptionItem__Apply__begin: db 'CheckboxOptionItem::Apply: begin.',0Ah,0 Align 4 SSZ0050C9DC_ColorOptionItem__Apply__begin__: db 'ColorOptionItem::Apply: begin.',0Ah,0 SSZ0050C9FC_SliderOptionItem__Apply__begin__: db 'SliderOptionItem::Apply: begin.',0Ah,0 Align 4 SSZ0050CA20_UnifontOptionItem__Apply__begin_: db 'UnifontOptionItem::Apply: begin.',0Ah,0 Align 4 SSZ0050CA44_RadioOptionItem__Apply__begin__: db 'RadioOptionItem::Apply: begin.',0Ah,0 Align 8 L0050CA68: dd SSZ00500ED0_uo_cfg db 00h; db 00h; db 00h; db 00h; L0050CA70: dd SSZ00500E98_Sound L0050CA74: dd L0050CC24 L0050CA78: db 01h; db 00h; db 00h; db 00h; db 84h; '"' db 0Eh; db 50h; 'P' db 00h; db 25h; '%' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 14h; db 0Ch; db 50h; 'P' db 00h; db 26h; '&' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 0Bh; db 50h; 'P' db 00h; db 27h; ''' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 8Ch; '?' db 0Bh; db 50h; 'P' db 00h; db 28h; '(' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 80h; '?' db 0Bh; db 50h; 'P' db 00h; db 29h; ')' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 68h; 'h' db 0Bh; db 50h; 'P' db 00h; db 2Ah; '*' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db A8h; 'ð' db 08h; db 50h; 'P' db 00h; db 2Bh; '+' db CCh; 'Œ' db 50h; 'P' db 00h; db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db 0Ch; db 50h; 'P' db 00h; db 95h; db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db D0h; '' db 0Bh; db 50h; 'P' db 00h; db 2Ch; ',' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db B0h; 'ø' db 0Bh; db 50h; 'P' db 00h; db 96h; '-' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 60h; '`' db 0Ch; db 50h; 'P' db 00h; db 2Dh; '-' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db A4h; 'ý' db 0Dh; db 50h; 'P' db 00h; db 97h; '-' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 50h; 'P' db 0Dh; db 50h; 'P' db 00h; db 98h; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 0Ch; db 50h; 'P' db 00h; db 99h; 'T' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 70h; 'p' db 0Ch; db 50h; 'P' db 00h; db 9Ah; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 40h; '@' db 0Dh; db 50h; 'P' db 00h; db 9Bh; '>' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 0Dh; db 50h; 'P' db 00h; db 9Ch; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 01h; db 00h; db 00h; db 20h; ' ' db 0Ch; db 50h; 'P' db 00h; db 9Dh; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 68h; 'h' db 0Eh; db 50h; 'P' db 00h; db 2Eh; '.' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 04h; db 0Eh; db 50h; 'P' db 00h; db 9Eh; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 9Ch; '?' db 08h; db 50h; 'P' db 00h; db 2Fh; '/' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 58h; 'X' db 08h; db 50h; 'P' db 00h; db 30h; '0' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db 0Ch; db 08h; db 50h; 'P' db 00h; db 9Fh; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db F8h; 'è' db 07h; db 50h; 'P' db 00h; db 31h; '1' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db A4h; 'ý' db 07h; db 50h; 'P' db 00h; db B0h; 'ø' db CCh; 'Œ' db 50h; 'P' db 00h; db 00h; db 01h; db 00h; db 00h; db D4h; '”' db 06h; db 50h; 'P' db 00h; db B1h; '+' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db 4Ch; 'L' db 06h; db 50h; 'P' db 00h; db 22h; '"' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db 40h; '@' db 06h; db 50h; 'P' db 00h; db 91h; ''' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 01h; db 00h; db 00h; db 08h; db 06h; db 50h; 'P' db 00h; db 32h; '2' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db FCh; 'ì' db 05h; db 50h; 'P' db 00h; db 33h; '3' db CCh; 'Œ' db 50h; 'P' db 00h; db 01h; db 01h; db 00h; db 00h; db E0h; ' ' db 05h; db 50h; 'P' db 00h; db 92h; ''' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 01h; db 00h; db 00h; db D4h; '”' db 05h; db 50h; 'P' db 00h; db 90h; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 01h; db 00h; db 00h; db 80h; '?' db 05h; db 50h; 'P' db 00h; db 94h; '"' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 01h; db 00h; db 00h; db 74h; 't' db 05h; db 50h; 'P' db 00h; db 23h; '#' db CCh; 'Œ' db 50h; 'P' 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; L0050CC20: db 01h; db 01h; L0050CC22: db 01h; L0050CC23: db 01h; L0050CC24: db 01h; L0050CC25: db 01h; L0050CC26: db 01h; L0050CC27: db 01h; L0050CC28: db 01h; L0050CC29: db 01h; L0050CC2A: db 01h; L0050CC2B: db 01h; L0050CC2C: db 01h; L0050CC2D: db 01h; L0050CC2E: db 01h; L0050CC2F: db 01h; L0050CC30: db 01h; L0050CC31: db 01h; L0050CC32: db 01h; L0050CC33: db 01h; db 00h; db 00h; db 00h; db 00h; L0050CC38: dd SSZ00500B3C_Sound8Bit L0050CC3C: dd L00C8C4A0 L0050CC40: db 00h; L0050CC41: db 00h; L0050CC42: db 00h; db 00h; db 2Ch; ',' db 0Bh; db 50h; 'P' db 00h; db A1h; 'ö' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 0Bh; db 50h; 'P' db 00h; db A2h; '÷' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db ACh; '¿' db 0Ch; db 50h; 'P' db 00h; db B2h; 'I' db CCh; 'Œ' db 50h; 'P' db 00h; db 00h; db 00h; db 01h; db 00h; db 40h; '@' db 0Eh; db 50h; 'P' db 00h; db B3h; 'i' db CCh; 'Œ' db 50h; 'P' db 00h; db 00h; db 00h; db 01h; db 00h; db 30h; '0' db 0Eh; db 50h; 'P' db 00h; db A3h; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db C4h; '„' db D5h; '•' db 50h; 'P' db 00h; db A4h; 'ý' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 8Ch; '?' db 0Dh; db 50h; 'P' db 00h; db B4h; '?' db CCh; 'Œ' db 50h; 'P' db 00h; db 00h; db 00h; db 01h; db 00h; db 7Ch; '|' db 0Dh; db 50h; 'P' db 00h; db B5h; 'ç' db CCh; 'Œ' db 50h; 'P' 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; L0050CCB0: db 01h; L0050CCB1: db 01h; L0050CCB2: db 01h; L0050CCB3: db 01h; L0050CCB4: db 01h; L0050CCB5: db 01h; db 00h; db 00h; L0050CCB8: dd SSZ00500A70_ChatColorInput L0050CCBC: dd L0050CE68 L0050CCC0: db DEh; 'ž' db 7Bh; '{' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 0Ah; db 50h; 'P' db 00h; db 6Ch; 'l' db CEh; 'Ž' db 50h; 'P' db 00h; db E0h; ' ' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 94h; '"' db 0Ah; db 50h; 'P' db 00h; db 70h; 'p' db CEh; 'Ž' db 50h; 'P' db 00h; db E0h; ' ' db 3Dh; '=' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A4h; 'ý' db 0Ah; db 50h; 'P' db 00h; db 74h; 't' db CEh; 'Ž' db 50h; 'P' db 00h; db E0h; ' ' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db B4h; '?' db 0Ah; db 50h; 'P' db 00h; db 78h; 'x' db CEh; 'Ž' db 50h; 'P' db 00h; db 0Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C8h; 'ˆ' db 0Ah; db 50h; 'P' db 00h; db 7Ch; '|' db CEh; 'Ž' db 50h; 'P' db 00h; db 1Fh; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db DCh; 'œ' db 0Ah; db 50h; 'P' db 00h; db 80h; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db 0Fh; db 3Ch; '<' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F0h; 'à' db 0Ah; db 50h; 'P' db 00h; db 84h; '"' db CEh; 'Ž' db 50h; 'P' db 00h; db 1Fh; db 7Ch; '|' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 04h; db 0Bh; db 50h; 'P' db 00h; db 88h; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db EFh; '¯' db 3Dh; '=' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 18h; db 0Bh; db 50h; 'P' db 00h; db 8Ch; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db FFh; 'ï' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 58h; 'X' db 0Ah; db 50h; 'P' db 00h; db 90h; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db E0h; ' ' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db E0h; ' ' db 09h; db 50h; 'P' db 00h; db A8h; 'ð' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db C4h; '„' db 09h; db 50h; 'P' db 00h; db ACh; '¿' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db F8h; 'è' db 09h; db 50h; 'P' db 00h; db B0h; 'ø' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 34h; '4' db 0Ah; db 50h; 'P' db 00h; db 94h; '"' db CEh; 'Ž' db 50h; 'P' db 00h; db 63h; 'c' db 0Ch; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 14h; db 0Ah; db 50h; 'P' db 00h; db 98h; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db 63h; 'c' db 0Ch; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db A8h; 'ð' db 09h; db 50h; 'P' db 00h; db B4h; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 6Ch; 'l' db 08h; db 50h; 'P' db 00h; db A4h; 'ý' db CEh; 'Ž' db 50h; 'P' db 00h; db FFh; 'ï' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 30h; '0' db 09h; db 50h; 'P' db 00h; db 0Ch; db BCh; '?' db 4Fh; 'O' db 00h; db 59h; 'Y' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 18h; db 09h; db 50h; 'P' db 00h; db 10h; db BCh; '?' db 4Fh; 'O' db 00h; db 3Fh; '?' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 09h; db 50h; 'P' db 00h; db 14h; db BCh; '?' db 4Fh; 'O' db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db E8h; '¨' db 08h; db 50h; 'P' db 00h; db 18h; db BCh; '?' db 4Fh; 'O' db 00h; db B2h; 'I' db 03h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db D4h; '”' db 08h; db 50h; 'P' db 00h; db 1Ch; db BCh; '?' db 4Fh; 'O' db 00h; db 90h; '?' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db BCh; '?' db 08h; db 50h; 'P' db 00h; db 20h; ' ' db BCh; '?' db 4Fh; 'O' db 00h; db 22h; '"' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 30h; '0' db 08h; db 50h; 'P' db 00h; db 9Ch; '?' db CEh; 'Ž' db 50h; 'P' db 00h; db FFh; 'ï' db 7Fh; '' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db E4h; '¤' db 07h; db 50h; 'P' db 00h; db A0h; 'ÿ' db CEh; 'Ž' db 50h; 'P' db 00h; db 90h; '?' 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; L0050CE68: dd 00007BDEh L0050CE6C: dd 00007FE0h L0050CE70: dd 00003DE0h L0050CE74: dd 00007FE0h L0050CE78: dd 0000000Fh L0050CE7C: dd 0000001Fh L0050CE80: dd 00003C0Fh L0050CE84: dd 00007C1Fh L0050CE88: dd 00003DEFh L0050CE8C: dd 00007FFFh L0050CE90: dd 000003E0h L0050CE94: dd 00000C63h L0050CE98: dd 00000C63h L0050CE9C: db FFh; 'ï' db 7Fh; '' db 00h; db 00h; L0050CEA0: db 70h; 'p' db 01h; db 00h; db 00h; L0050CEA4: dd 00007FFFh L0050CEA8: dd SSZ0050061C_SkillReportDiff L0050CEAC: dd L0050CF08 L0050CEB0: db 01h; db 00h; db 00h; db 00h; db 8Ch; '?' db 0Eh; db 50h; 'P' db 00h; db 0Ch; db CFh; '' db 50h; 'P' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db 78h; 'x' db 0Eh; db 50h; 'P' db 00h; db 10h; db CFh; '' db 50h; 'P' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db E0h; ' ' db 0Bh; db 50h; 'P' db 00h; db 14h; db CFh; '' db 50h; 'P' db 00h; db 64h; 'd' db 00h; db 00h; db 00h; db 3Ch; '<' db 0Ch; db 50h; 'P' db 00h; db 18h; db CFh; '' db 50h; 'P' db 00h; db 40h; '@' db 00h; db 00h; db 00h; db 8Ch; '?' db 08h; db 50h; 'P' db 00h; db 1Ch; db CFh; '' db 50h; 'P' db 00h; db E8h; '¨' db 03h; db 00h; db 00h; db 44h; 'D' db 08h; db 50h; 'P' db 00h; db 20h; ' ' db CFh; '' db 50h; 'P' 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; L0050CF08: dd 00000001h L0050CF0C: db FFh; 'ï' db 00h; db 00h; db 00h; L0050CF10: dd 000000FFh L0050CF14: dd 00000064h L0050CF18: db 40h; '@' db 00h; db 00h; db 00h; L0050CF1C: dd 000003E8h L0050CF20: db E8h; '¨' db 03h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L0050CF28: dd SSZ00500998_ChatFontNumber L0050CF2C: dd L0050CF64 L0050CF30: db 02h; db 00h; db 00h; db 00h; db 68h; 'h' db 09h; db 50h; 'P' db 00h; db BCh; '?' db C4h; '„' db C8h; 'ˆ' db 00h; db 00h; db 00h; db 00h; db 00h; db 1Ch; db 08h; db 50h; 'P' db 00h; db 68h; 'h' db CFh; '' db 50h; 'P' db 00h; db 01h; db 00h; db 00h; db 00h; db 80h; '?' db 08h; db 50h; 'P' db 00h; db 6Ch; 'l' db CFh; '' db 50h; 'P' 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; L0050CF64: dd 00000002h L0050CF68: db 01h; db 00h; db 00h; db 00h; L0050CF6C: db 01h; db 00h; db 00h; db 00h; L0050CF70: dd SSZ0050CFB0_640x480 L0050CF74: dd SSZ0050D1B0_640x480 L0050CF78: dd SSZ0050D3B0_English db 00h; db 00h; db 00h; db 00h; L0050CF80: dd SSZ00500DF4_FullScreenRes L0050CF84: dd L0050CF70 L0050CF88: dd SSZ0050D5BC_640x480 dd SSZ00500DE0_GamePlayWindowSize dd L0050CF74 dd SSZ0050D5BC_640x480 dd SSZ0050D5B0_Language dd L0050CF78 dd SSZ005054B0_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; SSZ0050CFB0_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; SSZ0050D1B0_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; SSZ0050D3B0_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; SSZ0050D5B0_Language: db 'Language',0 Align 4 SSZ0050D5BC_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; SSZ0050D5CC__PartyMessageColor: db '%PartyMessageColor',0 Align 4 SSZ0050D5E0__EmoteHue: db '%EmoteHue',0 Align 4 SSZ0050D5EC__SpeechHue: db '%SpeechHue',0 Align 4 SSZ0050D5F8_SetSavedRadioConfigOption__canno: db 'SetSavedRadioConfigOption: cannot set ',27h,'GamePlayWindowSize',27h,' to ',27h,'800x600',27h,' unless ',27h,'FullScreenRes',27h,' is at least ',27h,'800x600',27h,'. Setting ',27h,'FullScreenRes=800x600',27h,0Ah,0 Align 4 SSZ0050D690_800x600: db '800x600',0 SSZ0050D698_Servername_or_CApp__name_no_good: db 'Servername or CApp::name no good, returning.',0Ah,0 Align 4 SSZ0050D6C8__s__d_s: db '%s=%d%s',0 SSZ0050D6D0___02x_02x_02x: db '#%02x%02x%02x',0 Align 4 L0050D6E0: db 24h; '$' db 00h; db 00h; db 00h; SSZ0050D6E4__s__s_s: db '%s=%s%s',0 SSZ0050D6EC_________________________________: db ';------------------------------%s',0 Align 4 SSZ0050D710__s_s: db '%s%s',0 Align 4 SSZ0050D718_SaveConfigOptions__strip_any_tra: db 'SaveConfigOptions: strip any trailing empty lines.',0Ah,0 SSZ0050D74C_SaveConfigOptions__saved_charact: db 'SaveConfigOptions: saved character specific info.',0Ah,0 Align 4 SSZ0050D780_SaveConfigOptions__save_characte: db 'SaveConfigOptions: save character specific info.',0Ah,0 Align 4 SSZ0050D7B4_SaveConfigOptionsOldWay_End_____: db 'SaveConfigOptionsOldWay End ---.',0Ah,0 Align 4 SSZ0050D7D8_SaveConfigOptionsOldWay_Start___: db 'SaveConfigOptionsOldWay Start ---.',0Ah,0 SSZ0050D7FC________________________________: db ';------------------------------',0 SSZ0050D81C_SaveConfigOptionsOldWay__strip_a: db 'SaveConfigOptionsOldWay: strip any trailing empty lines.',0Ah,0 Align 4 SSZ0050D858_OptScrollBar_frame0: db 'OptScrollBar frame0',0 SSZ0050D86C_OptScrollBar_framedata: db 'OptScrollBar framedata',0 Align 4 L0050D884: dd SSZ0050D928_You_can_not_pick_that_up_ dd SSZ0050D910_That_is_too_far_away_ dd SSZ0050D8F8_That_is_out_of_sight_ dd SSZ0050D8BC_That_item_does_not_belong_to_you dd SSZ0050D898_You_are_already_holding_an_item_ SSZ0050D898_You_are_already_holding_an_item_: db 'You are already holding an item.',0 Align 4 SSZ0050D8BC_That_item_does_not_belong_to_you: db 'That item does not belong to you. You',27h,'ll have to steal it.',0 SSZ0050D8F8_That_is_out_of_sight_: db 'That is out of sight.',0 Align 4 SSZ0050D910_That_is_too_far_away_: db 'That is too far away.',0 Align 4 SSZ0050D928_You_can_not_pick_that_up_: db 'You can not pick that up.',0 Align 4 SSZ0050D944_PacketManager__startup__begin__: db 'PacketManager::startup: begin.',0Ah,0 SSZ0050D964__System____s: db '[System]: %s',0 Align 4 SSZ0050D974__s___s: db '%s: %s',0 Align 4 SSZ0050D97C_Welcome_to_Ultima_Online_: db 'Welcome to Ultima Online!',0 Align 4 L0050D998: db 29h; ')' db 00h; db 00h; db 00h; L0050D99C: db 20h; ' ' db 28h; '(' db 00h; db 00h; SSZ0050D9A0_Now_grouped_: db 'Now grouped.',0 Align 4 SSZ0050D9B0_Removed_from_group_: db 'Removed from group.',0 SSZ0050D9C4_Illegal_group_: db 'Illegal group.',0 Align 4 SWC0050D9D4_Help_Email: unicode 'Help Email',0000h Align 4 L0050D9EC: db 45h; 'E' db 4Eh; 'N' db 55h; 'U' db 00h; L0050D9F0: db 5Bh; '[' db 00h; db 00h; db 00h; SSZ0050D9F4_Your_intelligence_has_changed_by: db 'Your intelligence has changed by %d. It is now %d.',0 SSZ0050DA28_Your_dexterity_has_changed_by__d: db 'Your dexterity has changed by %d. It is now %d.',0 Align 4 SSZ0050DA5C_Your_strength_has_changed_by__d_: db 'Your strength has changed by %d. It is now %d.',0 L0050DA8C: db 3Fh; '?' db 3Fh; '?' db 3Fh; '?' db 00h; SSZ0050DA90_No_longer_following_: db 'No longer following.',0 Align 4 L0050DAA8: db 59h; 'Y' db 4Fh; 'O' db 55h; 'U' db 00h; SSZ0050DAAC_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 SSZ0050DB24_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 SSZ0050DBA4_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 SSZ0050DC34_Access_Denied_: db 'Access Denied!',0 Align 4 SSZ0050DC44_Character_does_not_exist___Closi: db 'Character does not exist.',0Ah,' Closing...',0 Align 4 SSZ0050DC6C_This_character_does_not_exist_an: db 'This character does not exist anymore. You will have to recreate it.',0 Align 4 SSZ0050DCB4_You_entered_an_incorrect_passwor: db 'You entered an incorrect password. Closing...',0 Align 4 SSZ0050DCE4_Incorrect_password_: db 'Incorrect password.',0 SSZ0050DCF8_This_character_already_exists__P: db 'This character already exists.',0Ah,'Playing...',0 Align 4 SSZ0050DD24_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 SSZ0050DD8C_Request_to_edit_denied_: db 'Request to edit denied.',0 SSZ0050DDA4_not_sequencing_: db 'not sequencing!',0 SSZ0050DDB4_already_sequencing_: db 'already sequencing!',0 SSZ0050DDC8_Unknown_Server: db 'Unknown Server',0 Align 4 SSZ0050DDD8_Sorted_by_time_zone___Best_servi: db 'Sorted by time zone. Best service likely with first selection.',0 SSZ0050DE18_The_Ultima_Online_servers_are_cu: db 'The Ultima Online servers are currently down. Please try again in a few moments.',0 Align 4 SSZ0050DE6C_There_is_some_problem_communicat: db 'There is some problem communicating with Origin. Please restart Ultima Online and try again.',0 Align 4 SSZ0050DECC_Your_account_credentials_are_inv: db 'Your account credentials are invalid. Check your user ID and password and try again.',0 Align 4 SSZ0050DF24_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 SSZ0050DFA0_Someone_is_already_using_this_ac: db 'Someone is already using this account.',0 Align 4 SSZ0050DFC8_Either_the_Account_Name_or_Passw: db 'Either the Account Name or Password you provided were incorrect. If this is a new account your account may not be active yet. Please try again shortly.',0 Align 4 SSZ0050E064_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 SSZ0050E0F4_Connecting___: db 'Connecting...',0 Align 4 SSZ0050E104_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 SSZ0050E178_Couldn_t_carry_out_your_request_: db 'Couldn',27h,'t carry out your request.',0 Align 4 SSZ0050E19C_That_character_is_currently_queu: db 'That character is currently queued for backup and cannot be deleted.',0 Align 4 SSZ0050E1E4_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 SSZ0050E24C_That_character_is_being_played_r: db 'That character is being played right now.',0 Align 4 SSZ0050E278_That_character_does_not_exist_: db 'That character does not exist.',0 Align 4 SSZ0050E298_That_character_password_is_inval: db 'That character password is invalid.',0 L0050E2BC: db 2Fh; '/' db 00h; db 72h; 'r' db 00h; db 00h; db 00h; db 00h; db 00h; L0050E2C4: db 2Fh; '/' db 00h; db 4Bh; 'K' db 00h; db 00h; db 00h; db 00h; db 00h; SSZ0050E2CC_You_have_a_new_message_: db 'You have a new message.',0 L0050E2E4: db 2Fh; '/' db 00h; db 73h; 's' db 00h; db 00h; db 00h; db 00h; db 00h; L0050E2EC: db 2Fh; '/' db 00h; db 62h; 'b' db 00h; db 00h; db 00h; db 00h; db 00h; L0050E2F4: db 2Fh; '/' db 00h; db 70h; 'p' db 00h; db 00h; db 00h; db 00h; db 00h; L0050E2FC: db 2Fh; '/' db 00h; db 6Dh; 'm' db 00h; db 00h; db 00h; db 00h; db 00h; SWC0050E304_A_GM_is_requesting_a_chat_sessio: unicode 'A GM is requesting a chat session.',0000h Align 4 L0050E34C: db 2Fh; '/' db 00h; db 69h; 'i' db 00h; db 00h; db 00h; db 00h; db 00h; SWC0050E354_The_GM_has_ended_this_chat_sessi: unicode 'The GM has ended this chat session.',0000h L0050E39C: db 2Fh; '/' db 00h; db 65h; 'e' db 00h; db 00h; db 00h; db 00h; db 00h; SWC0050E3A4_Cannot_load_the_requested_page_: unicode 'Cannot load the requested page.',0000h L0050E3E4: db 2Fh; '/' db 00h; db 66h; 'f' db 00h; db 00h; db 00h; db 00h; db 00h; L0050E3EC: db 2Fh; '/' db 00h; db 68h; 'h' db 00h; db 00h; db 00h; db 00h; db 00h; SWC0050E3F4_ECHO__: unicode 'ECHO: ',0000h Align 4 L0050E404: db 2Fh; '/' db 00h; db 6Dh; 'm' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E40C: db 2Fh; '/' db 00h; db 65h; 'e' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E414: db 2Fh; '/' db 00h; db 69h; 'i' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E41C: db 2Fh; '/' db 00h; db 73h; 's' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E424: db 2Fh; '/' db 00h; db 79h; 'y' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E42C: db 2Fh; '/' db 00h; db 6Fh; 'o' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; SWC0050E434__x__: unicode '/x',0Dh,0Ah,0000h Align 4 L0050E440: db 2Fh; '/' db 00h; db 6Ah; 'j' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E448: db 2Fh; '/' db 00h; db 72h; 'r' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E450: db 2Fh; '/' db 00h; db 76h; 'v' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E458: db 2Fh; '/' db 00h; db 64h; 'd' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E460: db 2Fh; '/' db 00h; db 71h; 'q' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E468: db 2Fh; '/' db 00h; db 61h; 'a' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E470: db 2Fh; '/' db 00h; db 62h; 'b' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; L0050E478: db 2Fh; '/' db 00h; db 67h; 'g' db 00h; db 20h; ' ' db 00h; db 00h; db 00h; SWC0050E480____dummy___From___: unicode '" (dummy)',0Dh,0Ah,'From: <',0000h Align 4 L0050E4A8: db 01h; db 00h; db 00h; db 00h; SSZ0050E4AC_Party_frame1: db 'Party frame1',0 Align 4 SSZ0050E4BC_Party_frame0: db 'Party frame0',0 Align 4 SSZ0050E4CC_framedata_for_PartyGump: db 'framedata for PartyGump',0 SSZ0050E4E4_PartyGump: db 'PartyGump',0 Align 4 SSZ0050E4F0_party_framedata: db 'party framedata',0 SSZ0050E500_party_frame1_pBMP: db 'party frame1 pBMP',0 Align 4 SSZ0050E514_party_frame0_pBMP: db 'party frame0 pBMP',0 Align 4 SSZ0050E528_Leave_the_party: db 'Leave the party',0 SSZ0050E538_Add_New_Member: db 'Add New Member',0 Align 4 SSZ0050E548_Kick: db 'Kick',0 Align 4 SSZ0050E550_Disband_the_party: db 'Disband the party',0 Align 4 SSZ0050E564_Party_CANNOT_loot_me: db 'Party CANNOT loot me',0 Align 4 SSZ0050E57C_Party_can_loot_me: db 'Party can loot me',0 Align 4 SSZ0050E590_Send_the_party_a_message: db 'Send the party a message',0 Align 4 SSZ0050E5AC_Party_Manifest: db 'Party Manifest',0 Align 4 SSZ0050E5BC___d___s: db '[%d] %s',0 SSZ0050E5C4_There_is_no_one_in_that_party_sl: db 'There is no one in that party slot.',0 SSZ0050E5E8_You_are_not_the_party_leader__Yo: db 'You are not the party leader. You shouldn',27h,'t have this button.',0 Align 4 SWC0050E628_Party_Chat: unicode 'Party Chat',0000h Align 4 SSZ0050E640_Failed_to_calloc_memory_: db 'Failed to calloc memory.',0 Align 4 SSZ0050E65C_Oops_: db 'Oops.',0 Align 4 SSZ0050E664_PathManager__startup__begin__: db 'PathManager::startup: begin.',0Ah,0 Align 4 L0050E684: db E0h; ' ' db 2Eh; '.' db 00h; db 00h; SSZ0050E688_Bogus_return_ping: db 'Bogus return ping',0 Align 4 SSZ0050E69C_Couldn_t_send_for_4_seconds_: db 'Couldn',27h,'t send for 4 seconds.',0 Align 4 SSZ0050E6BC_Bind_Failed: db 'Bind Failed',0 SSZ0050E6C8_Socket_Creation_Failed: db 'Socket Creation Failed',0 db 00h; db 00h; db 00h; db 00h; db 00h; L0050E6E4: db 68h; 'h' L0050E6E5: db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; L0050E6EC: dd 00000005h db 02h; db 00h; db 00h; db 00h; L0050E6F4: dd 00000007h db 03h; db 00h; db 00h; db 00h; L0050E6FC: 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; L0050E70C: dd 00000005h db 06h; db 00h; db 00h; db 00h; L0050E714: dd 00000005h db 07h; db 00h; db 00h; db 00h; L0050E71C: dd 00000007h db 08h; db 00h; db 00h; db 00h; L0050E724: dd 0000000Eh db 09h; db 00h; db 00h; db 00h; L0050E72C: 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; L0050E774: dd 00008000h db 13h; db 00h; db 00h; db 00h; L0050E77C: 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; L0050E7F4: 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; L0050E844: 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; L0050E87C: db 02h; db 00h; db 00h; db 00h; db 34h; '4' db 00h; db 00h; db 00h; L0050E884: 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; L0050E8B4: dd 00008000h db 3Bh; ';' db 00h; db 00h; db 00h; L0050E8BC: 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; L0050E994: 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; L0050E9CC: 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; L0050EA14: 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; L0050EA44: 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; L0050EA5C: 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; L0050EA6C: dd 00008000h db 72h; 'r' db 00h; db 00h; db 00h; L0050EA74: dd 00000005h db 73h; 's' db 00h; db 00h; db 00h; L0050EA7C: 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; L0050EA8C: 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; L0050EACC: 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; L0050EAE4: 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; L0050EAFC: dd 00000027h db 84h; '"' db 00h; db 00h; db 00h; db 45h; 'E' db 00h; db 00h; db 00h; 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; L0050EB6C: 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; L0050EB7C: dd 00000063h db 94h; '"' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db 95h; db 00h; db 00h; db 00h; L0050EB8C: 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; L0050EBA4: 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; L0050EBB4: dd 00008000h db 9Bh; '>' db 00h; db 00h; db 00h; L0050EBBC: 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; L0050EBDC: dd 00008000h db A0h; 'ÿ' db 00h; db 00h; db 00h; L0050EBE4: 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; L0050EC04: 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; L0050EC1C: 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; L0050EC44: 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; L0050EC94: 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; db BAh; 'ó' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db BBh; '>' db 00h; db 00h; db 00h; L0050ECBC: dd 00000009h db BCh; '?' db 00h; db 00h; db 00h; db 03h; db 00h; db 00h; db 00h; db BDh; '?' db 00h; db 00h; db 00h; L0050ECCC: db 00h; db 80h; '?' db 00h; db 00h; db BEh; '?' db 00h; db 00h; db 00h; L0050ECD4: dd 00008000h db BFh; 'õ' db 00h; db 00h; db 00h; L0050ECDC: dd 00008000h db C0h; '€' db 00h; db 00h; db 00h; db 24h; '$' db 00h; db 00h; db 00h; db C1h; '' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db C2h; '‚' db 00h; db 00h; db 00h; L0050ECF4: dd 00008000h db C3h; 'ƒ' db 00h; db 00h; db 00h; db 00h; db 80h; '?' db 00h; db 00h; db C4h; '„' db 00h; db 00h; db 00h; db 06h; db 00h; db 00h; db 00h; db 1Ch; db EDh; '­' db 50h; 'P' db 00h; db 10h; db EDh; '­' db 50h; 'P' 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 03h; db 00h; db 00h; db 00h; L0050ED64: dd 00001194h db 94h; '"' db 11h; db 00h; db 00h; db 94h; '"' db 11h; db 00h; db 00h; SSZ0050ED70_point_frame0: db 'point frame0',0 Align 4 SSZ0050ED80_framedata_for_pointgump: db 'framedata for pointgump',0 SSZ0050ED98_pointer_gump: db 'pointer gump',0 Align 4 SSZ0050EDA8_point_framedata: db 'point framedata',0 L0050EDB8: 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; L0050EDD4: db 14h; db 05h; db 04h; db 03h; db 18h; db 13h; db 0Dh; db 11h; db 08h; db 09h; db 0Eh; db 0Fh; 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; SSZ0050EDF0_paperdoll_frame1: db 'paperdoll frame1',0 Align 4 SSZ0050EE04_paperdoll_frame: db 'paperdoll frame',0 SSZ0050EE14_framedata_for_CPaperdollGump: db 'framedata for CPaperdollGump',0 Align 4 SSZ0050EE34_paperdoll_gump: db 'paperdoll gump',0 Align 4 SSZ0050EE44_paperdoll_framedata: db 'paperdoll framedata',0 SSZ0050EE58_paperdoll_frame1_pBMP: db 'paperdoll frame1 pBMP',0 Align 4 SSZ0050EE70_paperdoll_frame_pBMP: db 'paperdoll frame pBMP',0 Align 4 SSZ0050EE88_nameBMP: db 'nameBMP',0 SSZ0050EE90_ReDraw_Paperdoll_Gump_: db 'ReDraw Paperdoll Gump',0Ah,0 Align 4 SSZ0050EEA8_Drag_the_mailbag_to_another_play: db 'Drag the mailbag to another player to give them your greeting card.',0 SSZ0050EEEC_Mailbag: db 'Mailbag',0 SSZ0050EEF4_Character_Profile: db 'Character Profile',0 Align 4 SSZ0050EF08_I_am_dead_and_cannot_do_that_: db 'I am dead and cannot do that.',0 Align 4 SSZ0050EF28_status_frame2: db 'status frame2',0 Align 4 SSZ0050EF38_status_frame2_pBMP: db 'status frame2 pBMP',0 Align 4 SSZ0050EF4C____SELF___: db '[* SELF *]',0 Align 4 SSZ0050EF58__u__u: db '%u/%u',0 Align 4 L0050EF60: db 25h; '%' db 75h; 'u' db 00h; db 00h; L0050EF64: db 46h; 'F' db 00h; db 00h; db 00h; L0050EF68: db 4Dh; 'M' db 00h; db 00h; db 00h; SSZ0050EF6C_stack_gump: db 'stack gump',0 Align 4 SSZ0050EF78_stack_framedata: db 'stack framedata',0 SSZ0050EF88_stack_frame0_pBMP: db 'stack frame0 pBMP',0 Align 4 SSZ0050EF9C_Click_here: db 'Click here',0 Align 4 SSZ0050EFA8_frame0: db 'frame0',0 Align 4 SSZ0050EFB0_framedata_for_professiongump: db 'framedata for professiongump',0 Align 4 SSZ0050EFD0_professn: db 'professn',0 Align 4 SSZ0050EFDC_Intelligence: db 'Intelligence',0 Align 4 SSZ0050EFEC_Dexterity: db 'Dexterity',0 Align 4 SSZ0050EFF8_Strength: db 'Strength',0 Align 4 SSZ0050F004_Profession_Gump: db 'Profession Gump',0 SSZ0050F014_Couldn_t_find_Profession__s_in_p: db 'Couldn',27h,'t find Profession %s in profession.txt. Please insure that UO is fully installed on your computer.',0 Align 4 SSZ0050F080_profession_button: db 'profession button',0 Align 4 SSZ0050F094_Simple_button: db 'Simple button',0 Align 4 SSZ0050F0A4_slidergump: db 'slidergump',0 Align 4 SSZ0050F0B0_Disarm: db 'Disarm',0 Align 4 SSZ0050F0B8_Stealth: db 'Stealth',0 SSZ0050F0C0_Meditation: db 'Meditation',0 Align 4 SSZ0050F0CC_Mining: db 'Mining',0 Align 4 SSZ0050F0D4_Lumberjacking: db 'Lumberjacking',0 Align 4 SSZ0050F0E4_Wrestling: db 'Wrestling',0 Align 4 SSZ0050F0F0_Fencing: db 'Fencing',0 SSZ0050F0F8_MaceFighting: db 'MaceFighting',0 Align 4 SSZ0050F108_Swordsmanship: db 'Swordsmanship',0 Align 4 SSZ0050F118_Veterinary: db 'Veterinary',0 Align 4 SSZ0050F124_Tracking: db 'Tracking',0 Align 4 SSZ0050F130_Tinkering: db 'Tinkering',0 Align 4 SSZ0050F13C_TasteIdentification: db 'TasteIdentification',0 SSZ0050F150_AnimalTaming: db 'AnimalTaming',0 Align 4 SSZ0050F160_Tailoring: db 'Tailoring',0 Align 4 SSZ0050F16C_Stealing: db 'Stealing',0 Align 4 SSZ0050F178_SpiritSpeak: db 'SpiritSpeak',0 SSZ0050F184_Archery: db 'Archery',0 SSZ0050F18C_Poisoning: db 'Poisoning',0 Align 4 SSZ0050F198_Musicianship: db 'Musicianship',0 Align 4 SSZ0050F1A8_Snooping: db 'Snooping',0 Align 4 SSZ0050F1B4_Tactics: db 'Tactics',0 SSZ0050F1BC_ResistingSpells: db 'ResistingSpells',0 SSZ0050F1CC_Magery: db 'Magery',0 Align 4 SSZ0050F1D4_Lockpicking: db 'Lockpicking',0 SSZ0050F1E0_Inscription: db 'Inscription',0 SSZ0050F1EC_Provocation: db 'Provocation',0 SSZ0050F1F8_Hiding: db 'Hiding',0 Align 4 SSZ0050F200_Herding: db 'Herding',0 SSZ0050F208_ForensicEvaluation: db 'ForensicEvaluation',0 Align 4 SSZ0050F21C_Fishing: db 'Fishing',0 SSZ0050F224_Healing: db 'Healing',0 SSZ0050F22C_EvaluateIntelligence: db 'EvaluateIntelligence',0 Align 4 SSZ0050F244_Enticement: db 'Enticement',0 Align 4 SSZ0050F250_DetectHidden: db 'DetectHidden',0 Align 4 SSZ0050F260_Cooking: db 'Cooking',0 SSZ0050F268_Cartography: db 'Cartography',0 SSZ0050F274_Carpentry: db 'Carpentry',0 Align 4 SSZ0050F280_Camping: db 'Camping',0 SSZ0050F288_Peacemaking: db 'Peacemaking',0 SSZ0050F294_Bowcraft: db 'Bowcraft',0 Align 4 SSZ0050F2A0_Begging: db 'Begging',0 SSZ0050F2A8_Parrying: db 'Parrying',0 Align 4 SSZ0050F2B4_ArmsLore: db 'ArmsLore',0 Align 4 SSZ0050F2C0_ItemID: db 'ItemID',0 Align 4 SSZ0050F2C8_AnimalLore: db 'AnimalLore',0 Align 4 SSZ0050F2D4_Anatomy: db 'Anatomy',0 SSZ0050F2DC_Alchemy: db 'Alchemy',0 L0050F2E4: db 49h; 'I' db 6Eh; 'n' db 74h; 't' db 00h; SSZ0050F2E8________: db ' ,.',0Ah,09h,0Dh,'"',0 L0050F2F0: dd L00786544 L0050F2F4: db 53h; 'S' db 74h; 't' db 72h; 'r' db 00h; SSZ0050F2F8_Stat: db 'Stat',0 Align 4 SSZ0050F300_Skill: db 'Skill',0 Align 4 SSZ0050F308________: db ' ,.',09h,0Ah,0Dh,'"',0 SSZ0050F310_Children: db 'Children',0 Align 4 SSZ0050F31C_Category: db 'Category',0 Align 4 SSZ0050F328_Type: db 'Type',0 Align 4 SSZ0050F330_Gump: db 'Gump',0 Align 4 SSZ0050F338_TopLevel: db 'TopLevel',0 Align 4 SSZ0050F344_Desc: db 'Desc',0 Align 4 L0050F34C: db 22h; '"' db 00h; db 00h; db 00h; SSZ0050F350_TrueName: db 'TrueName',0 Align 4 SSZ0050F35C______: db ' ',09h,0Ah,0Dh,'"',0 Align 4 SSZ0050F364_Name: db 'Name',0 Align 4 SSZ0050F36C_____: db ' ',09h,0Ah,0Dh,0 Align 4 L0050F374: db 45h; 'E' db 6Eh; 'n' db 64h; 'd' db 00h; SSZ0050F378_Begin: db 'Begin',0 Align 4 SSZ0050F380_C__publish004_client_src_shared_: db 'C:\publish004\client\src\shared\base\ProfessionGump.cxx',0 SSZ0050F3B8_prof_txt: db 'prof.txt',0 Align 4 L0050F3C4: dd 00000860h L0050F3C8: dd 00000860h SSZ0050F3CC_profile_frame1: db 'profile frame1',0 Align 4 SSZ0050F3DC_profile_framedata: db 'profile framedata',0 Align 4 SSZ0050F3F0_profile_gump: db 'profile gump',0 Align 4 SSZ0050F400_profile_frame0: db 'profile frame0',0 Align 4 SSZ0050F410_CRadarGump__CRadarGump__cannot_o: db 'CRadarGump::CRadarGump: cannot open file ',27h,27h,'.',0Ah,0 Align 4 SSZ0050F440_radar_rotated_frame: db 'radar rotated frame',0 SSZ0050F454_radar_frame1: db 'radar frame1',0 Align 4 SSZ0050F464_radar_frame0: db 'radar frame0',0 Align 4 SSZ0050F474_framedata_for_CRadarGump: db 'framedata for CRadarGump',0 Align 4 SSZ0050F490_radar_zbuf: db 'radar zbuf',0 Align 4 SSZ0050F49C_radar_gump: db 'radar gump',0 Align 4 SSZ0050F4A8_radar_framedata: db 'radar framedata',0 SSZ0050F4B8_radar_frame1_pBMP: db 'radar frame1 pBMP',0 Align 4 SSZ0050F4CC_radar_frame0_pBMP: db 'radar frame0 pBMP',0 Align 4 SSZ0050F4E0_radar_zBuf: db 'radar zBuf',0 Align 4 SSZ0050F4EC_radar_rotFrame: db 'radar rotFrame',0 Align 4 SSZ0050F4FC_goto: db 'goto',0 Align 4 SSZ0050F504_RegionManager__readRegionsIntoMe: db 'RegionManager::readRegionsIntoMemory: ???.',0Ah,0 SSZ0050F530_RegionManager__readRegionsIntoMe: db 'RegionManager::readRegionsIntoMemory: cannot open file ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ0050F570_regions_mul: db 'regions.mul',0 SSZ0050F57C_Select_which_shard_to_play_on_: db 'Select which shard to play on:',0 Align 4 SSZ0050F59C_shopgump_frame: db 'shopgump frame',0 Align 4 SSZ0050F5AC_framedata_for_CShopGump: db 'framedata for CShopGump',0 SSZ0050F5C4_shop_gump: db 'shop gump',0 Align 4 SSZ0050F5D0__null_: db '(null)',0 Align 4 SSZ0050F5D8__s_at__dgp: db '%s at %dgp',0 Align 4 SSZ0050F5E4_Item_removed_from_shopping_list_: db 'Item removed from shopping list.',0 Align 4 SSZ0050F608__s_dropped_to_quantity___d__: db '%s dropped to quantity (%d).',0 Align 4 SSZ0050F628_framedata_for_CBillGump: db 'framedata for CBillGump',0 SSZ0050F640_bill_gump: db 'bill gump',0 Align 4 SSZ0050F64C_signature: db 'signature',0 Align 4 SSZ0050F658_at__d_g_p_: db 'at %d g.p.',0 Align 4 SSZ0050F664_objpicker_gump: db 'objpicker gump',0 Align 4 SSZ0050F674_objpicker_framedata: db 'objpicker framedata',0 SSZ0050F688_objpicker_frame0_pBMP: db 'objpicker frame0 pBMP',0 Align 4 SSZ0050F6A0_stringpicker_gump: db 'stringpicker gump',0 Align 4 SSZ0050F6B4_stringpicker_framedata: db 'stringpicker framedata',0 Align 4 SSZ0050F6CC_stringpicker_frame0_pBMP: db 'stringpicker frame0 pBMP',0 Align 4 SSZ0050F6E8_framedata_for_CStringQueryGump: db 'framedata for CStringQueryGump',0 Align 4 SSZ0050F708_Stringquery_gump: db 'Stringquery gump',0 Align 4 SSZ0050F71C_StringQuery_framedata: db 'StringQuery framedata',0 Align 4 SSZ0050F734_StringQuery_frame0_pBMP: db 'StringQuery frame0 pBMP',0 Align 8 L0050F750: 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; L0050F760: 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; L0050F770: dd 00000B2Eh L0050F774: dd 00000004h L0050F778: dd 00000006h L0050F77C: dd 00000006h L0050F780: 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; L0050FD10: dd SSZ0050FD20_skillgrp_mul L0050FD14: dd 00000984h db 86h; 'Å' db 09h; db 00h; db 00h; db 2Ch; ',' db 08h; db 00h; db 00h; SSZ0050FD20_skillgrp_mul: db 'skillgrp.mul',0 Align 4 SSZ0050FD30_Miscellaneous: db 'Miscellaneous',0 Align 4 SSZ0050FD40_Ranged_Weapons: db 'Ranged Weapons',0 Align 4 SSZ0050FD50_Melee: db 'Melee',0 Align 4 SSZ0050FD58_Peek: db 'Peek',0 Align 4 SSZ0050FD60_First_Aid: db 'First Aid',0 Align 4 SSZ0050FD6C_Battle_Defense: db 'Battle Defense',0 Align 4 SSZ0050FD7C_Magic_Defense: db 'Magic Defense',0 Align 4 SSZ0050FD8C_SaveSkillGroups__cannot_open_fil: db 'SaveSkillGroups: cannot open file ',27h,'skillgump.mul',27h,' for writing.',0Ah,0 SSZ0050FDCC_Show_Real: db 'Show Real',0 Align 4 SSZ0050FDD8_framedata_for_CSkillGump: db 'framedata for CSkillGump',0 Align 4 SSZ0050FDF4_skill_gump: db 'skill gump',0 Align 4 SSZ0050FE00_skill_framedata: db 'skill framedata',0 SSZ0050FE10_skill_frame1_pBMP: db 'skill frame1 pBMP',0 Align 4 SSZ0050FE24_skill_frame0_pBMP: db 'skill frame0 pBMP',0 Align 4 SSZ0050FE38_Skills_moved_to_Miscellaneous_: db 'Skills moved to Miscellaneous.',0 Align 4 SSZ0050FE58_Cannot_delete_this_group_: db 'Cannot delete this group.',0 Align 4 L0050FE74: dd 2E303030h L0050FE78: db 30h; '0' db 00h; db 00h; db 00h; SSZ0050FE7C__d__d: db '%d.%d',0 Align 4 SSZ0050FE84__s____d__: db '%s - %d%%',0 Align 4 SSZ0050FE90_Cancel: db 'Cancel',0 Align 4 SSZ0050FE98_Delete: db 'Delete',0 Align 4 SSZ0050FEA0_Rename: db 'Rename',0 Align 4 SSZ0050FEA8_Group_Name_: db 'Group Name:',0 SSZ0050FEB4_EditGroup_gump: db 'EditGroup gump',0 Align 4 SSZ0050FEC4_EditGroup_framedata: db 'EditGroup framedata',0 SSZ0050FED8_EditGroup_frame0_pBMP: db 'EditGroup frame0 pBMP',0 Align 4 SSZ0050FEF0_SkillStateButton_framedata: db 'SkillStateButton framedata',0 Align 4 SSZ0050FF0C_SkillStateButton_frame0_pBMP: db 'SkillStateButton frame0 pBMP',0 Align 4 SSZ0050FF2C_SkipDrawHandler__startup__begin_: db 'SkipDrawHandler::startup: begin.',0Ah,0 Align 4 SSZ0050FF50_UNKNOWN_ERROR_: db 'UNKNOWN ERROR.',0 Align 4 SSZ0050FF60_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 SSZ00510080_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 SSZ0051010C_The_remote_host_cannot_be_reache: db 'The remote host cannot be reached from this host at this time.',0 Align 4 SSZ0051014C_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 SSZ005101C0_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 SSZ0051024C_The_socket_is_not_connected_: db 'The socket is not connected.',0 Align 4 SSZ0051026C_The_connection_has_been_broken_d: db 'The connection has been broken due to the remote host resetting.',0 Align 4 SSZ005102B0_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 SSZ00510328_The_socket_is_marked_as_nonblock: db 'The socket is marked as nonblocking and no connections are present to be accepted.',0 Align 4 SSZ0051037C_Attempt_to_connect_timed_out_wit: db 'Attempt to connect timed out without establishing a connection.',0 SSZ005103BC_The_network_cannot_be_reached_fr: db 'The network cannot be reached from this host at this time.',0 Align 4 SSZ005103F8_The_attempt_to_connect_was_force: db 'The attempt to connect was forcefully rejected.',0 SSZ00510428_The_specified_address_is_not_ava: db 'The specified address is not available from the local machine.',0 Align 4 SSZ00510468_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 SSZ00510558_The__blocking__call_was_canceled: db 'The (blocking) call was canceled through WSACancelBlockingCall.',0 SSZ00510598_The_referenced_socket_is_not_of_: db 'The referenced socket is not of a type that supports the listen operation.',0 Align 4 SSZ005105E4_The_socket_is_already_connected_: db 'The socket is already connected.',0 Align 4 SSZ00510608_The_specified_protocol_is_the_wr: db 'The specified protocol is the wrong type for this socket.',0 Align 4 SSZ00510644_The_descriptor_is_not_a_socket_: db 'The descriptor is not a socket.',0 SSZ00510664_No_buffer_space_is_available__Th: db 'No buffer space is available. The socket cannot be created.',0 SSZ005106A0_No_more_socket_descriptors_are_a: db 'No more socket descriptors are available.',0 Align 4 SSZ005106CC_The_socket_is_already_bound_to_a: db 'The socket is already bound to an address.',0 Align 4 SSZ005106F8_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 SSZ00510770_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 SSZ005108C8_The_specified_address_is_already: db 'The specified address is already in use. (See the SO_REUSEADDR socket option under setsockopt.)',0 SSZ00510928_The_specified_address_family_is_: db 'The specified address family is not supported.',0 Align 4 SSZ00510958_The_network_subsystem_or_the_ass: db 'The network subsystem or the associated service provider has failed.',0 Align 4 SSZ005109A0_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; L005109E4: 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; L005111E8: db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' db FFh; 'ï' SSZ005111EC_CSocket__CSocket___begin__: db 'CSocket::CSocket() begin.',0Ah,0 Align 4 SSZ00511208_CClientSock__CClientSock____begi: db 'CClientSock::CClientSock(): begin.',0Ah,0 SSZ0051122C_GroupedPackets__GroupedPackets__: db 'GroupedPackets::GroupedPackets(): begin.',0Ah,0 Align 4 SSZ00511258_socket_creation_failed: db 'socket creation failed',0 Align 4 SSZ00511270_Connection_lost: db 'Connection lost',0 SSZ00511280_Exiting_due_to_closed_connection: db 'Exiting due to closed connection.',0 Align 4 SSZ005112A4_exception_state_on_socket: db 'exception state on socket',0 Align 4 SSZ005112C0__08x__SelectPoll___m_sock____d_: db '%08x::SelectPoll() m_sock = %d',0Ah,0 SSZ005112E0_dunno__select_with_invalid_socke: db 'dunno, select with invalid socket',0 Align 4 SSZ00511304_socket_error_in_send: db 'socket error in send',0 Align 4 SSZ0051131C___CNetInfo__CNetInfo____WSAStart: db 0Dh,0Ah,'CNetInfo::CNetInfo() WSAStartup failed.',0 Align 4 SSZ00511348_SockLib_Error: db 'SockLib Error',0 Align 4 SSZ00511358_CNetInfo__CNetInfo____begin__: db 'CNetInfo::CNetInfo(): begin.',0Ah,0 Align 4 SSZ00511378_CGMSSock__CGMSSock____begin__: db 'CGMSSock::CGMSSock(): begin.',0Ah,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 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; SSZ005113C8__mhz: db '~mhz',0 Align 4 SSZ005113D0__Mhz: db '~Mhz',0 Align 4 SSZ005113D8__MHz: db '~MHz',0 Align 4 SSZ005113E0_HARDWARE_DESCRIPTION_System_Cent: db 'HARDWARE\DESCRIPTION\System\CentralProcessor\0',0 Align 4 L00511410: dd 00000001h L00511414: dd 00000024h L00511418: dd SSZ00511600_NULL L0051141C: dd L0050516C dd SSZ00505158_Emote dd SSZ005115F8_Whisper dd SSZ005115F0_Yell dd SSZ005115E8_Walk dd SSZ005115DC_War_Peace dd SSZ005115D4_Paste dd SSZ005115CC_Open dd SSZ005115C4_Close dd SSZ005115B8_Minimize dd SSZ005115AC_Maximize dd SSZ005115A0_OpenDoor dd SSZ00511594_UseSkill dd SSZ00511588_LastSkill dd SSZ0051157C_CastSpell dd SSZ00511570_LastSpell dd SSZ00511564_LastObject dd L00511560 dd SSZ00511558_Salute dd SSZ0051154C_QuitGame dd SSZ00511540_AllNames dd SSZ00511534_LastTarget dd SSZ00511528_TargetSelf dd SSZ0051151C_Arm_Disarm dd SSZ00511510_WaitForTarg dd SSZ00511504_TargetNext dd SSZ005114F8_AttackLast dd SSZ005114F0_Delay dd SSZ005114E4_CircleTrans L00511490: dd SSZ00505140_Command dd SSZ005114D8_CloseGumps dd SSZ005005D4_AlwaysRun dd SSZ005005C8_SaveDesktop dd SSZ005114C8_KillGumpOpen dd SSZ005114BC_WresDisarm dd SSZ005114B0_WresStun db 00h; db 00h; db 00h; db 00h; SSZ005114B0_WresStun: db 'WresStun',0 Align 4 SSZ005114BC_WresDisarm: db 'WresDisarm',0 Align 4 SSZ005114C8_KillGumpOpen: db 'KillGumpOpen',0 Align 4 SSZ005114D8_CloseGumps: db 'CloseGumps',0 Align 4 SSZ005114E4_CircleTrans: db 'CircleTrans',0 SSZ005114F0_Delay: db 'Delay',0 Align 4 SSZ005114F8_AttackLast: db 'AttackLast',0 Align 4 SSZ00511504_TargetNext: db 'TargetNext',0 Align 4 SSZ00511510_WaitForTarg: db 'WaitForTarg',0 SSZ0051151C_Arm_Disarm: db 'Arm/Disarm',0 Align 4 SSZ00511528_TargetSelf: db 'TargetSelf',0 Align 4 SSZ00511534_LastTarget: db 'LastTarget',0 Align 4 SSZ00511540_AllNames: db 'AllNames',0 Align 4 SSZ0051154C_QuitGame: db 'QuitGame',0 Align 4 SSZ00511558_Salute: db 'Salute',0 Align 4 L00511560: db 42h; 'B' db 6Fh; 'o' db 77h; 'w' db 00h; SSZ00511564_LastObject: db 'LastObject',0 Align 4 SSZ00511570_LastSpell: db 'LastSpell',0 Align 4 SSZ0051157C_CastSpell: db 'CastSpell',0 Align 4 SSZ00511588_LastSkill: db 'LastSkill',0 Align 4 SSZ00511594_UseSkill: db 'UseSkill',0 Align 4 SSZ005115A0_OpenDoor: db 'OpenDoor',0 Align 4 SSZ005115AC_Maximize: db 'Maximize',0 Align 4 SSZ005115B8_Minimize: db 'Minimize',0 Align 4 SSZ005115C4_Close: db 'Close',0 Align 4 SSZ005115CC_Open: db 'Open',0 Align 4 SSZ005115D4_Paste: db 'Paste',0 Align 4 SSZ005115DC_War_Peace: db 'War/Peace',0 Align 4 SSZ005115E8_Walk: db 'Walk',0 Align 4 SSZ005115F0_Yell: db 'Yell',0 Align 4 SSZ005115F8_Whisper: db 'Whisper',0 SSZ00511600_NULL: db 'NULL',0 Align 4 SSZ00511608_target_gump: db 'target gump',0 SSZ00511614_Your_skill_in__s_has_decreased_b: db 'Your skill in %s has decreased by %.1f%%. It is now %.1f%%.',0 Align 4 SSZ00511654_Your_skill_in__s_has_increased_b: db 'Your skill in %s has increased by %.1f%%. It is now %.1f%%.',0 Align 4 SSZ00511694_TextManager__startup__begin__: db 'TextManager::startup: begin.',0Ah,0 Align 4 L005116B4: db 61h; 'a' db 2Bh; '+' db 00h; db 00h; SSZ005116B8_text_frame1: db 'text frame1',0 SSZ005116C4_framedata_for_CTextGump: db 'framedata for CTextGump',0 SSZ005116DC_text_gump: db 'text gump',0 Align 4 SSZ005116E8_text_framedata: db 'text framedata',0 Align 4 SSZ005116F8_text_frame1_pBMP: db 'text frame1 pBMP',0 Align 4 SSZ0051170C_text_frame0_pBMP: db 'text frame0 pBMP',0 Align 4 SSZ00511720_CTextGump___CTextGump___: db 'CTextGump::~CTextGump()',0Ah,0 Align 4 SSZ0051173C_gumpbak_textgump: db 'gumpbak textgump',0 Align 4 SSZ00511750_Don_t_show_again: db 'Don',27h,'t show again',0 Align 4 SSZ00511764_framedata_for_CTipsGump: db 'framedata for CTipsGump',0 SSZ0051177C_tips_gump: db 'tips gump',0 Align 4 SSZ00511788_tips_framedata: db 'tips framedata',0 Align 4 SSZ00511798_tips_frame1_pBMP: db 'tips frame1 pBMP',0 Align 4 SSZ005117AC_tips_frame0_pBMP: db 'tips frame0 pBMP',0 Align 4 SSZ005117C0_gumpbak_tipsgump: db 'gumpbak tipsgump',0 Align 4 SSZ005117D4_resize_gump: db 'resize gump',0 SSZ005117E0_framedata_for_CTradeGump: db 'framedata for CTradeGump',0 Align 4 SSZ005117FC_trade_gump: db 'trade gump',0 Align 4 SSZ00511808_Trade_framedata: db 'Trade framedata',0 SSZ00511818_Trade_frame1_pBMP: db 'Trade frame1 pBMP',0 Align 4 L0051182C: dd 00000001h SSZ00511830_Gump_Tooltip_art_is_wrong_size_: db 'Gump Tooltip art is wrong size!',0 SSZ00511850_ToolTipGump__ToolTipGump_: db 'ToolTipGump::ToolTipGump:',0 Align 4 SSZ0051186C_TooltipGump_framedata: db 'TooltipGump framedata',0 Align 4 SSZ00511884_TooltipGump_frame_0: db 'TooltipGump frame 0',0 SSZ00511898_framedata_for_CUnicodeEditListGu: db 'framedata for CUnicodeEditListGump',0 Align 4 SSZ005118BC_unicode_edit_list_gump: db 'unicode edit list gump',0 Align 4 SSZ005118D4_framedata_for_CUnicodeInputContr: db 'framedata for CUnicodeInputControlGump',0 Align 4 L005118FC: db 5Fh; '_' db 00h; db 00h; db 00h; L00511900: db 41h; 'A' db 00h; db 71h; 'q' db 00h; db 00h; db 00h; db 00h; db 00h; L00511908: db 20h; ' ' db 00h; db 00h; db 00h; L0051190C: db 58h; 'X' db 00h; db 00h; db 00h; L00511910: db 24h; '$' db 00h; db 00h; db 00h; L00511914: db 7Bh; '{' db 00h; db 00h; db 00h; L00511918: db 7Dh; '}' db 00h; db 00h; db 00h; SWC0051191C_Error: unicode 'Error',0000h L00511928: db 22h; '"' db 00h; db 00h; db 00h; L0051192C: dd 00000008h L00511930: db 80h; '?' db 00h; L00511932: dd L008100C7 dd L008200FC dd L008300E9 dd L008400E3 dd L008500E4 dd L008700E0 dd L008800E7 dd L008900EA dd L008A00EB dd L008B00E8 dd L008C00EF dd L008E00EE dd L009000C4 dd L009300EB dd L009400F4 dd L009600F6 dd L009700FB dd L009900F9 dd L009A00D6 db DCh; 'œ' db 00h; db 00h; db 00h; db 00h; db 00h; SSZ00511984_Unreasonable_width_of_space_char: db 'Unreasonable width of space character.',0 Align 4 SSZ005119AC_UnicodeSetSpaceWidth__: db 'UnicodeSetSpaceWidth()',0 Align 4 SSZ005119C4_0123456789abcdefghijklmonpqrstuv: db '0123456789abcdefghijklmonpqrstuvwxyz',0 Align 4 SWC005119EC_GREY: unicode 'GREY',0000h Align 4 SWC005119F8_GRAY: unicode 'GRAY',0000h Align 4 SWC00511A04_TEAL: unicode 'TEAL',0000h Align 4 SWC00511A10_DARKCYAN: unicode 'DARKCYAN',0000h Align 4 SWC00511A24_PURPLE: unicode 'PURPLE',0000h Align 4 SWC00511A34_DARKMAGENTA: unicode 'DARKMAGENTA',0000h SWC00511A4C_OLIVE: unicode 'OLIVE',0000h SWC00511A58_DARKYELLOW: unicode 'DARKYELLOW',0000h Align 4 SWC00511A70_NAVY: unicode 'NAVY',0000h Align 4 SWC00511A7C_DARKBLUE: unicode 'DARKBLUE',0000h Align 4 SWC00511A90_DARKGREEN: unicode 'DARKGREEN',0000h SWC00511AA4_GREEN: unicode 'GREEN',0000h SWC00511AB0_MAROON: unicode 'MAROON',0000h Align 4 SWC00511AC0_DARKRED: unicode 'DARKRED',0000h SWC00511AD0_WHITE: unicode 'WHITE',0000h SWC00511ADC_AQUA: unicode 'AQUA',0000h Align 4 SWC00511AE8_CYAN: unicode 'CYAN',0000h Align 4 SWC00511AF4_FUCHSIA: unicode 'FUCHSIA',0000h SWC00511B04_MAGENTA: unicode 'MAGENTA',0000h SWC00511B14_YELLOW: unicode 'YELLOW',0000h Align 4 SWC00511B24_BLUE: unicode 'BLUE',0000h Align 4 SWC00511B30_LIME: unicode 'LIME',0000h Align 4 L00511B3C: db 52h; 'R' db 00h; db 45h; 'E' db 00h; db 44h; 'D' db 00h; db 00h; db 00h; SWC00511B44_BLACK: unicode 'BLACK',0000h SSZ00511B50_LoadUnicodeFont____cannot_open_f: db 'LoadUnicodeFont(): cannot open file ',27h,'%s',27h,'.',0Ah,0 Align 4 SSZ00511B7C_unifont_d_mul: db 'unifont%d.mul',0 Align 4 SSZ00511B8C_unifont_mul: db 'unifont.mul',0 SSZ00511B98_UnicodeCalcInfo__text____0__code: db 'UnicodeCalcInfo: text == 0. code may have crashed. setting width to 0.',0Ah,0 L00511BE0: dd 0000000Fh db 01h; db 00h; db 00h; db 00h; SSZ00511BE8_UOReport__started__: db 'UOReport: started.',0Ah,0 SSZ00511BFC_UOReport__start___started____sto: db 'UOReport::start: !started && stopped => freak occurance!',0Ah,0 Align 4 SSZ00511C38_Cannot_CreateMutex_: db 'Cannot CreateMutex.',0 SSZ00511C4C_UOReport__startup_: db 'UOReport::startup:',0 Align 4 SSZ00511C60_UOReport__startup: db 'UOReport::startup',0 Align 4 SSZ00511C74_UOReport__starting_up____: db 'UOReport: starting up...',0Ah,0 Align 4 SSZ00511C90_UOReport_d_log: db 'UOReport%d.log',0 Align 4 SSZ00511CA0_UOReport__start__already_started: db 'UOReport::start: already started!',0Ah,0 Align 4 SSZ00511CC4_UOReport__created_file___s__for_: db 'UOReport: created file ',27h,'%s',27h,' for writing.',0Ah,0 Align 4 SSZ00511CF0_UOReport__cannot_open_file___s__: db 'UOReport: cannot open file ',27h,'%s',27h,' for writing.',0Ah,0 Align 4 L00511D20: db 77h; 'w' db 00h; db 00h; db 00h; SSZ00511D24_UOReport__start__already_started: db 'UOReport::start: already started & stopped! look in file ',27h,'%s',27h,' for further information.',0Ah,0 SSZ00511D7C_UOErrata_d_log: db 'UOErrata%d.log',0 Align 4 SSZ00511D8C_UOReport__stopping____: db 'UOReport: stopping...',0Ah,0 Align 4 SSZ00511DA4_UOReport__stop__already_stopped_: db 'UOReport::stop: already stopped!',0Ah,0 Align 4 SSZ00511DC8_UOReport__stop__not_started__: db 'UOReport::stop: not started!',0Ah,0 Align 4 SSZ00511DE8_UOReport__fatal__: db 'UOReport::fatal: ',0 Align 4 SSZ00511DFC_UOReport__error__: db 'UOReport::error: ',0 Align 4 SSZ00511E10_UOReport__warning__: db 'UOReport::warning: ',0 SSZ00511E24_UOReport__message__: db 'UOReport::message: ',0 SSZ00511E38_UOReport__outputText__had_to_cal: db 'UOReport::outputText: had to call ',27h,'start',27h,0Ah,0 Align 4 SSZ00511E64_CVersionManager__startup__begin_: db 'CVersionManager::startup: begin.',0Ah,0 Align 4 L00511E88: dd SSZ00511E8C_1_26_4i SSZ00511E8C_1_26_4i: db '1.26.4i',0 L00511E94: 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; L00511F94: 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; L00512094: 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; L005120A8: 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; SSZ005120BC_WeatherManager__startup__begin__: db 'WeatherManager::startup: begin.',0Ah,0 Align 4 SSZ005120E0_A_fierce_storm_approches_: db 'A fierce storm approches.',0 Align 4 SSZ005120FC_A_storm_is_brewing_: db 'A storm is brewing.',0 SSZ00512110_It_begins_to_snow_: db 'It begins to snow.',0 Align 4 SSZ00512124_It_begins_to_rain_: db 'It begins to rain.',0 Align 4 SSZ00512138_Season___d___Temperature___d: db 'Season: %d Temperature: %d',0 Align 4 SSZ00512158__shell_open_command: db '\shell\open\command',0 SSZ0051216C__html: db '.html',0 Align 4 L00512174: dd 0000000Ah L00512178: dd 00000005h L0051217C: dd 00007BDEh L00512180: dd 0000739Ch L00512184: dd 00003DEFh SSZ00512188_Failed_to_create_primary_surface: db 'Failed to create primary surface.',0 Align 4 SSZ005121AC_Note_: db 'Note!',0 Align 4 SSZ005121B4_CMMF__setName__new_name____NULL_: db 'CMMF::setName: new_name == NULL',0Ah,0 Align 4 SSZ005121D8_CMMF__CMMF__begin__file___s__: db 'CMMF::CMMF: begin. file ',27h,'%s',27h,0Ah,0 Align 4 SSZ005121F8_Failed_to_create_mapping_for_mmf: db 'Failed to create mapping for mmf %s: Error %d.',0 Align 4 SSZ00512228_MMF_Error: db 'MMF Error',0 Align 4 SSZ00512234_Failed_to_open_mmf__s__Error__d_: db 'Failed to open mmf %s: Error %d.',0 Align 4 SSZ00512258_CMMF_Wr__CMMF_Wr_const_char__the: db 'CMMF_Wr::CMMF_Wr(const char *theName, int theSize): begin.',0Ah,0 SSZ00512294_CMMF_Wr__Open___s: db 'CMMF_Wr::Open: %s',0 Align 4 SSZ005122A8_Failed_to_create_mapping_for_mmf: db 'Failed to create mapping for mmf_wr %s: Error %d.',0 Align 4 SSZ005122DC_Failed_to_open_mmf_wr__s__Error_: db 'Failed to open mmf_wr %s: Error %d.',0 L00512300: dd SSZ00512670_oldult01_mid dd SSZ00512664_create1_mid dd SSZ00512654_dragflit_mid dd SSZ00512644_oldult02_mid dd SSZ00512634_oldult03_mid dd SSZ00512624_oldult04_mid dd SSZ00512614_oldult05_mid dd SSZ00512604_oldult06_mid dd SSZ005125F8_stones2_mid dd SSZ005125E8_britain1_mid dd SSZ005125D8_britain2_mid dd SSZ005125CC_bucsden_mid dd SSZ005125C0_jhelom_mid dd SSZ005125B0_lbcastle_mid dd SSZ005125A4_linelle_mid dd SSZ00512594_magincia_mid dd SSZ00512588_minoc_mid dd SSZ0051257C_ocllo_mid dd SSZ0051256C_samlethe_mid dd SSZ0051255C_serpents_mid dd SSZ0051254C_skarabra_mid dd SSZ00512540_trinsic_mid dd SSZ00512534_vesper_mid dd SSZ00512528_wind_mid dd SSZ00512520_yew_mid dd SSZ00512514_cave01_mid dd SSZ00512504_dungeon9_mid dd SSZ005124F4_forest_a_mid dd SSZ005124E4_intown01_mid dd SSZ005124D4_jungle_a_mid dd SSZ005124C4_mountn_a_mid dd SSZ005124B4_plains_a_mid dd SSZ005124A8_sailing_mid dd SSZ0051249C_swamp_a_mid dd SSZ0051248C_tavern01_mid dd SSZ0051247C_tavern02_mid dd SSZ0051246C_tavern03_mid dd SSZ0051245C_tavern04_mid dd SSZ00512450_combat1_mid dd SSZ00512444_combat2_mid dd SSZ00512438_combat3_mid dd SSZ00512428_approach_mid dd SSZ0051241C_death_mid dd SSZ00512410_victory_mid dd SSZ00512400_btcastle_mid dd SSZ005123F4_nujelm_mid dd SSZ005123E4_dungeon2_mid dd SSZ005123D8_cove_mid dd SSZ005123C8_moonglow_mid db 00h; db 00h; db 00h; db 00h; SSZ005123C8_moonglow_mid: db 'moonglow.mid',0 Align 4 SSZ005123D8_cove_mid: db 'cove.mid',0 Align 4 SSZ005123E4_dungeon2_mid: db 'dungeon2.mid',0 Align 4 SSZ005123F4_nujelm_mid: db 'nujelm.mid',0 Align 4 SSZ00512400_btcastle_mid: db 'btcastle.mid',0 Align 4 SSZ00512410_victory_mid: db 'victory.mid',0 SSZ0051241C_death_mid: db 'death.mid',0 Align 4 SSZ00512428_approach_mid: db 'approach.mid',0 Align 4 SSZ00512438_combat3_mid: db 'combat3.mid',0 SSZ00512444_combat2_mid: db 'combat2.mid',0 SSZ00512450_combat1_mid: db 'combat1.mid',0 SSZ0051245C_tavern04_mid: db 'tavern04.mid',0 Align 4 SSZ0051246C_tavern03_mid: db 'tavern03.mid',0 Align 4 SSZ0051247C_tavern02_mid: db 'tavern02.mid',0 Align 4 SSZ0051248C_tavern01_mid: db 'tavern01.mid',0 Align 4 SSZ0051249C_swamp_a_mid: db 'swamp_a.mid',0 SSZ005124A8_sailing_mid: db 'sailing.mid',0 SSZ005124B4_plains_a_mid: db 'plains_a.mid',0 Align 4 SSZ005124C4_mountn_a_mid: db 'mountn_a.mid',0 Align 4 SSZ005124D4_jungle_a_mid: db 'jungle_a.mid',0 Align 4 SSZ005124E4_intown01_mid: db 'intown01.mid',0 Align 4 SSZ005124F4_forest_a_mid: db 'forest_a.mid',0 Align 4 SSZ00512504_dungeon9_mid: db 'dungeon9.mid',0 Align 4 SSZ00512514_cave01_mid: db 'cave01.mid',0 Align 4 SSZ00512520_yew_mid: db 'yew.mid',0 SSZ00512528_wind_mid: db 'wind.mid',0 Align 4 SSZ00512534_vesper_mid: db 'vesper.mid',0 Align 4 SSZ00512540_trinsic_mid: db 'trinsic.mid',0 SSZ0051254C_skarabra_mid: db 'skarabra.mid',0 Align 4 SSZ0051255C_serpents_mid: db 'serpents.mid',0 Align 4 SSZ0051256C_samlethe_mid: db 'samlethe.mid',0 Align 4 SSZ0051257C_ocllo_mid: db 'ocllo.mid',0 Align 4 SSZ00512588_minoc_mid: db 'minoc.mid',0 Align 4 SSZ00512594_magincia_mid: db 'magincia.mid',0 Align 4 SSZ005125A4_linelle_mid: db 'linelle.mid',0 SSZ005125B0_lbcastle_mid: db 'lbcastle.mid',0 Align 4 SSZ005125C0_jhelom_mid: db 'jhelom.mid',0 Align 4 SSZ005125CC_bucsden_mid: db 'bucsden.mid',0 SSZ005125D8_britain2_mid: db 'britain2.mid',0 Align 4 SSZ005125E8_britain1_mid: db 'britain1.mid',0 Align 4 SSZ005125F8_stones2_mid: db 'stones2.mid',0 SSZ00512604_oldult06_mid: db 'oldult06.mid',0 Align 4 SSZ00512614_oldult05_mid: db 'oldult05.mid',0 Align 4 SSZ00512624_oldult04_mid: db 'oldult04.mid',0 Align 4 SSZ00512634_oldult03_mid: db 'oldult03.mid',0 Align 4 SSZ00512644_oldult02_mid: db 'oldult02.mid',0 Align 4 SSZ00512654_dragflit_mid: db 'dragflit.mid',0 Align 4 SSZ00512664_create1_mid: db 'create1.mid',0 SSZ00512670_oldult01_mid: db 'oldult01.mid',0 Align 4 SSZ00512680_MusicManager__CMusicManager____b: db 'MusicManager::CMusicManager(): begin.',0Ah,0 Align 4 SSZ005126A8_MusicManager__PlaySong___shutdow: db 'MusicManager::PlaySong: ',27h,'shutdownSequenceStarted',27h,'. program would probably crash if we did not ',27h,'return FALSE',27h,'!',0 Align 4 SSZ00512718_music__s_s: db 'music\%s%s',0 Align 4 SSZ00512724_512K_: db '512K\',0 Align 4 SSZ0051272C_4MB_: db '4MB\',0 Align 4 SSZ00512734_sequencer: db 'sequencer',0 Align 4 SSZ00512740_SoundManager__CSoundManager____b: db 'SoundManager::CSoundManager(): begin.',0Ah,0 Align 4 SSZ00512768_Failed_to_start_playing_primary_: db 'Failed to start playing primary buffer',0 Align 4 SSZ00512790_Failed_to_create_primary_sound_b: db 'Failed to create primary sound buffer',0 Align 4 SSZ005127B8_Failed_to_set_cooperative_level: db 'Failed to set cooperative level',0 SSZ005127D8_Window_Handle_____d: db 'Window Handle == %d',0 SSZ005127EC_Failed_to_stop_playing_primary_b: db 'Failed to stop playing primary buffer',0 Align 4 SSZ00512814_DirectSound_Error: db 'DirectSound Error',0 Align 4 SSZ00512828__DSERR_OTHERAPPHASPRIO_: db '(DSERR_OTHERAPPHASPRIO)',0 SSZ00512840__DSERR_BUFFERLOST_: db '(DSERR_BUFFERLOST)',0 Align 4 SSZ00512854__DSERR_ALREADYINITIALIZED_: db '(DSERR_ALREADYINITIALIZED)',0 Align 4 SSZ00512870__DSERR_NODRIVER_: db '(DSERR_NODRIVER)',0 Align 4 SSZ00512884__DSERR_PRIOLEVELNEEDED_: db '(DSERR_PRIOLEVELNEEDED)',0 SSZ0051289C__DSERR_BADFORMAT_: db '(DSERR_BADFORMAT)',0 Align 4 SSZ005128B0__DSERR_INVALIDCALL_: db '(DSERR_INVALIDCALL)',0 SSZ005128C4__DSERR_INVALIDPARAM_: db '(DSERR_INVALIDPARAM)',0 Align 4 SSZ005128DC__DSERR_ALLOCATED_: db '(DSERR_ALLOCATED)',0 Align 4 SSZ005128F0__DSERR_CONTROLUNAVAIL_: db '(DSERR_CONTROLUNAVAIL)',0 Align 4 SSZ00512908__DSERR_OUTOFMEMORY_: db '(DSERR_OUTOFMEMORY)',0 SSZ0051291C__DSERR_UNSUPPORTED_: db '(DSERR_UNSUPPORTED)',0 SSZ00512930__DSERR_GENERIC_: db '(DSERR_GENERIC)',0 SSZ00512940__DSERR_NOAGGREGATION_: db '(DSERR_NOAGGREGATION)',0 Align 4 SSZ00512958_Failed_to_create_sound_buffer: db 'Failed to create sound buffer',0 Align 4 SSZ00512978_CStreamBuf__CStreamBuf____begin_: db 'CStreamBuf::CStreamBuf(): begin.',0Ah,0 Align 4 SSZ0051299C_DirectSound_SetFrequency_failed_: db 'DirectSound SetFrequency failed.',0 Align 4 SSZ005129C0_DirectSound_SetVolume_failed_: db 'DirectSound SetVolume failed.',0 Align 4 SSZ005129E0_DirectSound_SetPan_failed_: db 'DirectSound SetPan failed.',0 Align 4 L005129FC: dd FFFFFFFFh L00512A00: dd 00000001h L00512A04: dd FFFFFFFFh L00512A08: dd SSZ00512A68_Ultima_Online L00512A0C: dd L006C0055 dd L00690074 dd L0061006D dd L004F0020 dd L006C006E dd L006E0069 db 65h; 'e' 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; L00512A60: dd 00000280h L00512A64: dd 000001E0h SSZ00512A68_Ultima_Online: db 'Ultima Online',0 Align 4 L00512A78: db 20h; ' ' db 2Dh; '-' db 20h; ' ' db 00h; SSZ00512A7C_CWinApp__startup____begin__: db 'CWinApp::startup(): begin.',0Ah,0 SSZ00512A98_WinMain__just_before_main_progra: db 'WinMain: just before main program loop.',0Ah,0 Align 4 SSZ00512AC4_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 SSZ00512B94_Error__Color_Mode: db 'Error: Color Mode',0 Align 4 SSZ00512BA8_An_instance_of_UO_Patch_is_alrea: db 'An instance of UO Patch is already running.',0 SSZ00512BD4_UoPatchApp: db 'UoPatchApp',0 Align 4 SSZ00512BE0_Another_instance_of_UO_is_alread: db 'Another instance of UO is already running.',0 Align 4 SSZ00512C0C_UoClientApp: db 'UoClientApp',0 SSZ00512C18_reached_winmain__: db 'reached winmain!',0Ah,0 Align 4 SSZ00512C2C_CreateWindow____returned_a_NULL_: db 'CreateWindow?() returned a NULL window handle, Unicode speech disabled, trying CreateWindow()',0 Align 4 SSZ00512C8C_Unicode_Speech_Error: db 'Unicode Speech Error',0 Align 4 SSZ00512CA4_Could_not_create_a_CLSID_MultiMe: db 'Could not create a CLSID_MultiMediaStream object',0Ah,'Check you have run regsvr32 amstream.dll',0Ah,0 Align 4 SSZ00512D00_pAMStream__OpenFile_wPath__0___f: db 'pAMStream->OpenFile(wPath, 0) failed with HRESULT(0x%8.8X)',0Ah,0 Align 4 SSZ00512D40_pAMStream__AddMediaStream_NULL__: db 'pAMStream->AddMediaStream(NULL, &MSPID_PrimaryAudio, AMMSF_ADDDEFAULTRENDERER, NULL) failed with HRESULT(0x%8.8X)',0Ah,0 SSZ00512DB4_pAMStream__AddMediaStream_pDD___: db 'pAMStream->AddMediaStream(pDD, &MSPID_PrimaryVideo, 0, NULL) failed with HRESULT(0x%8.8X)',0Ah,0 SSZ00512E10_pAMStream__Initialize_STREAMTYPE: db 'pAMStream->Initialize(STREAMTYPE_READ, 0, NULL) failed with HRESULT(0x%8.8X)',0Ah,0 Align 4 SSZ00512E60_CoCreateInstance_CLSID_AMMultiMe: db 'CoCreateInstance(CLSID_AMMultiMediaStream, NULL, CLSCTX_INPROC_SERVER, IID_IAMMultiMediaStream, (void **)&pAMStream) failed with HRESULT(0x%8.8X)',0Ah,0 SSZ00512EF4_pMMStream__SetState_STREAMSTATE_: db 'pMMStream->SetState(STREAMSTATE_RUN) failed with HRESULT(0x%8.8X)',0Ah,0 SSZ00512F38_pSample__GetSurface__pSurface___: db 'pSample->GetSurface(&pSurface, &rect) failed with HRESULT(0x%8.8X)',0Ah,0 Align 4 SSZ00512F80_pDDStream__CreateSample_NULL__NU: db 'pDDStream->CreateSample(NULL, NULL, 0, &pSample) failed with HRESULT(0x%8.8X)',0Ah,0 SSZ00512FD0_pPrimaryVidStream__QueryInterfac: db 'pPrimaryVidStream->QueryInterface(IID_IDirectDrawMediaStream, (void **)&pDDStream) failed with HRESULT(0x%8.8X)',0Ah,0 Align 4 SSZ00513044_pMMStream__GetMediaStream_MSPID_: db 'pMMStream->GetMediaStream(MSPID_PrimaryVideo, &pPrimaryVidStream) failed with HRESULT(0x%8.8X)',0Ah,0 Align 4 SSZ005130A8_music_intro_mpg: db 'music\intro.mpg',0 SSZ005130B8_music_intro_wve: db 'music\intro.wve',0 SSZ005130C8_Web_browser_not_found_: db 'Web browser not found!',0 Align 4 L005130E0: 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; 'ï' L00514720: 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; L00514740: dd 00000000h L00514744: dd 00000000h L00514748: dd 00000000h L0051474C: dd 00000000h L00514750: 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 75h; 'u' db 98h; '?' db 00h; db 00h; db 73h; 's' db 98h; '?' db 00h; db 00h; L00514768: dd L004D4FB7 L0051476C: dd L004D4FCE L00514770: dd L004D4FCE db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514780: dd FFFFFFFFh L00514784: dd 00000000h L00514788: dd 00000000h db 00h; db 00h; db 00h; db 00h; L00514790: dd FFFFFFFFh L00514794: dd 00000000h L00514798: dd 00000000h db 00h; db 00h; db 00h; db 00h; L005147A0: dd SUB_L004D555C L005147A4: dd 00000002h db 7Ch; '|' db D4h; '”' db 4Dh; 'M' db 00h; db 00h; db 00h; db 00h; db 00h; L005147B0: dd FFFFFFFFh L005147B4: dd L004D85FA L005147B8: dd L004DDF57 L005147BC: dd L004DDF57 L005147C0: dd L004DDF57 L005147C4: dd L004DDF57 L005147C8: dd L004DDF57 L005147CC: dd L004DDF57 L005147D0: dd L00D1C220 db 00h; db 00h; db 00h; db 00h; db 20h; ' ' db C2h; '‚' db D1h; '‘' db 00h; db 01h; db 01h; db 00h; db 00h; L005147E0: 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; L005147F0: db 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; L00514810: db 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; L00514840: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514A30: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514A50: dd SSZ0050F5D0__null_ L00514A54: dd SWC004F2584__null_ L00514A58: dd 00000000h L00514A5C: dd L00D1BC20 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514A7C: dd L00D1BC50 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514A8C: dd L00D1BC68 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514A9C: dd L00D1BC38 db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 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 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 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; L00514C24: dd L00514C2E db 2Eh; '.' db 4Ch; 'L' db 51h; 'Q' db 00h; db 00h; db 00h; L00514C2E: 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; L00514E30: dd 00000001h L00514E34: db 2Eh; '.' db 00h; db 00h; db 00h; db 01h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514E40: db 01h; db 00h; db 00h; db 00h; L00514E44: 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; L00514FA8: 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; SSZ00514FCC______: db ' ',09h,'-',0Dh,']',0 Align 4 L00514FD4: db 5Dh; ']' db 00h; db 00h; 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; L00514FE4: dd 000003F8h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00514FF0: dd 00007080h L00514FF4: dd 00000001h L00514FF8: dd FFFFF1F0h L00514FFC: 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; L0051503C: 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; L0051507C: dd L00514FFC L00515080: dd L0051503C L00515084: 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; L005150B4: dd 0000016Dh L005150B8: dd FFFFFFFFh 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; L005150EC: dd SSZ004F2434__cmd dd SSZ004F242C__bat dd SSZ004F243C__exe L005150F8: dd SSZ004F2424__com db 00h; db 00h; db 00h; db 00h; L00515100: 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; L00515178: dd 00000003h L0051517C: dd 00000007h db 78h; 'x' db 00h; db 00h; db 00h; L00515184: dd 0000000Ah L00515188: dd 00000002h L0051518C: dd SSZ004F2860_R6002____floating_point_not_load db 08h; db 00h; db 00h; db 00h; db 34h; '4' db 28h; '(' db 4Fh; 'O' db 00h; db 09h; db 00h; db 00h; db 00h; db 08h; db 28h; '(' db 4Fh; 'O' db 00h; db 0Ah; db 00h; db 00h; db 00h; db E4h; '¤' db 27h; ''' db 4Fh; 'O' db 00h; db 10h; db 00h; db 00h; db 00h; db B8h; 'ñ' db 27h; ''' db 4Fh; 'O' db 00h; db 11h; db 00h; db 00h; db 00h; db 88h; '?' db 27h; ''' db 4Fh; 'O' db 00h; db 12h; db 00h; db 00h; db 00h; db 64h; 'd' db 27h; ''' db 4Fh; 'O' db 00h; db 13h; db 00h; db 00h; db 00h; db 38h; '8' db 27h; ''' db 4Fh; 'O' db 00h; db 18h; db 00h; db 00h; db 00h; db 00h; db 27h; ''' db 4Fh; 'O' db 00h; db 19h; db 00h; db 00h; db 00h; db D8h; '˜' db 26h; '&' db 4Fh; 'O' db 00h; db 1Ah; db 00h; db 00h; db 00h; db A0h; 'ÿ' db 26h; '&' db 4Fh; 'O' db 00h; db 1Bh; db 00h; db 00h; db 00h; db 68h; 'h' db 26h; '&' db 4Fh; 'O' db 00h; db 1Ch; db 00h; db 00h; db 00h; db 40h; '@' db 26h; '&' db 4Fh; 'O' db 00h; db 78h; 'x' db 00h; db 00h; db 00h; db 30h; '0' db 26h; '&' db 4Fh; 'O' db 00h; db 79h; 'y' db 00h; db 00h; db 00h; db 20h; ' ' db 26h; '&' db 4Fh; 'O' db 00h; db 7Ah; 'z' db 00h; db 00h; db 00h; db 10h; db 26h; '&' db 4Fh; 'O' db 00h; db FCh; 'ì' db 00h; db 00h; db 00h; db 0Ch; db 26h; '&' db 4Fh; 'O' db 00h; db FFh; 'ï' db 00h; db 00h; db 00h; db FCh; 'ì' db 25h; '%' db 4Fh; 'O' db 00h; L00515218: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00515220: 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; L00515238: 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; L00515250: db 01h; db 02h; db 04h; db 08h; db 00h; db 00h; db 00h; db 00h; L00515258: db A4h; 'ý' db 03h; db 00h; db 00h; L0051525C: db 60h; '`' db 82h; ''' db 79h; 'y' db 82h; ''' db 21h; '!' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00515268: 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; L00515348: db 02h; db 00h; db 00h; db 00h; db 50h; 'P' db 53h; 'S' db 51h; 'Q' db 00h; db 70h; 'p' db 2Ah; '*' db 4Fh; 'O' db 00h; db 6Ch; 'l' db 2Ah; '*' db 4Fh; 'O' db 00h; db 68h; 'h' db 2Ah; '*' db 4Fh; 'O' db 00h; db 64h; 'd' db 2Ah; '*' db 4Fh; 'O' db 00h; db 60h; '`' db 2Ah; '*' db 4Fh; 'O' db 00h; db 5Ch; '\' db 2Ah; '*' db 4Fh; 'O' db 00h; db 58h; 'X' db 2Ah; '*' db 4Fh; 'O' db 00h; db 50h; 'P' db 2Ah; '*' db 4Fh; 'O' db 00h; db 48h; 'H' db 2Ah; '*' db 4Fh; 'O' db 00h; db 40h; '@' db 2Ah; '*' db 4Fh; 'O' db 00h; db 34h; '4' db 2Ah; '*' db 4Fh; 'O' db 00h; db 28h; '(' db 2Ah; '*' db 4Fh; 'O' db 00h; db 20h; ' ' db 2Ah; '*' db 4Fh; 'O' db 00h; db 14h; db 2Ah; '*' db 4Fh; 'O' db 00h; db 10h; db 2Ah; '*' db 4Fh; 'O' db 00h; db 0Ch; db 2Ah; '*' db 4Fh; 'O' db 00h; db 08h; db 2Ah; '*' db 4Fh; 'O' db 00h; db 04h; db 2Ah; '*' db 4Fh; 'O' db 00h; db 00h; db 2Ah; '*' db 4Fh; 'O' db 00h; db FCh; 'ì' db 29h; ')' db 4Fh; 'O' db 00h; db F8h; 'è' db 29h; ')' db 4Fh; 'O' db 00h; db F4h; 'ä' db 29h; ')' db 4Fh; 'O' db 00h; db F0h; 'à' db 29h; ')' db 4Fh; 'O' db 00h; db ECh; '¬' db 29h; ')' db 4Fh; 'O' db 00h; db E8h; '¨' db 29h; ')' db 4Fh; 'O' db 00h; db E4h; '¤' db 29h; ')' db 4Fh; 'O' db 00h; db DCh; 'œ' db 29h; ')' db 4Fh; 'O' db 00h; db D0h; '' db 29h; ')' db 4Fh; 'O' db 00h; db C8h; 'ˆ' db 29h; ')' db 4Fh; 'O' db 00h; db C0h; '€' db 29h; ')' db 4Fh; 'O' db 00h; db 00h; db 2Ah; '*' db 4Fh; 'O' db 00h; db B8h; 'ñ' db 29h; ')' db 4Fh; 'O' db 00h; db B0h; 'ø' db 29h; ')' db 4Fh; 'O' db 00h; db A8h; 'ð' db 29h; ')' db 4Fh; 'O' db 00h; db 9Ch; '?' db 29h; ')' db 4Fh; 'O' db 00h; db 94h; '"' db 29h; ')' db 4Fh; 'O' db 00h; db 88h; '?' db 29h; ')' db 4Fh; 'O' db 00h; db 7Ch; '|' db 29h; ')' db 4Fh; 'O' db 00h; db 78h; 'x' db 29h; ')' db 4Fh; 'O' db 00h; db 74h; 't' db 29h; ')' db 4Fh; 'O' db 00h; db 6Ch; 'l' db 29h; ')' db 4Fh; 'O' db 00h; db 58h; 'X' db 29h; ')' db 4Fh; 'O' db 00h; db 50h; 'P' db 29h; ')' db 4Fh; 'O' db 00h; db 00h; db 00h; db 00h; db 00h; db 2Eh; '.' db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 54h; 'T' db 51h; 'Q' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 84h; '"' db BEh; '?' db D1h; '‘' db 00h; db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 7Fh; '' db 08h; db 54h; 'T' db 51h; 'Q' db 00h; db 00h; db 00h; db 00h; db 00h; L00515440: 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; L005155A0: 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 00h; db 00h; db 00h; db 00h; L00515700: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00515710: dd 00000000h db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L0051571C: db 00h; db 00h; db 00h; db 00h; L00515720: db 00h; db 00h; db 00h; db 00h; L00515724: dd 00000000h L00515728: db 00h; db 00h; db 00h; db 00h; L0051572C: dd 00000000h L00515730: dd 00000000h db 00h; db 00h; db 00h; db 00h; L00515738: db 00h; db 00h; db 00h; db 00h; L0051573C: dd 00000000h L00515740: dd 00000000h L00515744: dd 00000000h L00515748: dd 00000000h L0051574C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; 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: 00D1E000h Virtual Size: 00003C60h ; Pointer To RawData: 00116000h Size Of RawData: 00004000h ; L00D1E000: dd 00000000h L00D1E004: db 00h; db 00h; db 00h; db 00h; L00D1E008: db 00h; db 00h; db 00h; db 00h; L00D1E00C: db 00h; db 00h; db 00h; db 00h; L00D1E010: db 00h; db 00h; db 00h; db 00h; L00D1E014: db 00h; db 00h; db 00h; db 00h; L00D1E018: db 00h; db 00h; db 00h; db 00h; L00D1E01C: db 00h; db 00h; db 00h; db 00h; L00D1E020: db 00h; db 00h; db 00h; db 00h; L00D1E024: db 00h; db 00h; db 00h; db 00h; L00D1E028: db 00h; db 00h; db 00h; db 00h; L00D1E02C: db 00h; db 00h; db 00h; db 00h; L00D1E030: db 00h; db 00h; db 00h; db 00h; L00D1E034: db 00h; db 00h; db 00h; db 00h; L00D1E038: db 00h; db 00h; db 00h; db 00h; L00D1E03C: db 00h; db 00h; db 00h; db 00h; L00D1E040: db 00h; db 00h; db 00h; db 00h; L00D1E044: db 00h; db 00h; db 00h; db 00h; L00D1E048: db 00h; db 00h; db 00h; db 00h; L00D1E04C: db 00h; db 00h; db 00h; db 00h; L00D1E050: db 00h; db 00h; db 00h; db 00h; L00D1E054: db 00h; db 00h; db 00h; db 00h; L00D1E058: db 00h; db 00h; db 00h; db 00h; L00D1E05C: db 00h; db 00h; db 00h; db 00h; L00D1E060: db 00h; db 00h; db 00h; db 00h; L00D1E064: db 00h; db 00h; db 00h; db 00h; L00D1E068: db 00h; db 00h; db 00h; db 00h; L00D1E06C: db 00h; db 00h; db 00h; db 00h; L00D1E070: db 00h; db 00h; db 00h; db 00h; L00D1E074: db 00h; db 00h; db 00h; db 00h; L00D1E078: db 00h; db 00h; db 00h; db 00h; L00D1E07C: db 00h; db 00h; db 00h; db 00h; L00D1E080: db 00h; db 00h; db 00h; db 00h; L00D1E084: db 00h; db 00h; db 00h; db 00h; L00D1E088: db 00h; db 00h; db 00h; db 00h; L00D1E08C: db 00h; db 00h; db 00h; db 00h; L00D1E090: db 00h; db 00h; db 00h; db 00h; L00D1E094: db 00h; db 00h; db 00h; db 00h; L00D1E098: db 00h; db 00h; db 00h; db 00h; L00D1E09C: db 00h; db 00h; db 00h; db 00h; L00D1E0A0: db 00h; db 00h; db 00h; db 00h; L00D1E0A4: db 00h; db 00h; db 00h; db 00h; L00D1E0A8: db 00h; db 00h; db 00h; db 00h; L00D1E0AC: db 00h; db 00h; db 00h; db 00h; L00D1E0B0: db 00h; db 00h; db 00h; db 00h; L00D1E0B4: db 00h; db 00h; db 00h; db 00h; L00D1E0B8: db 00h; db 00h; db 00h; db 00h; L00D1E0BC: db 00h; db 00h; db 00h; db 00h; L00D1E0C0: db 00h; db 00h; db 00h; db 00h; L00D1E0C4: db 00h; db 00h; db 00h; db 00h; L00D1E0C8: db 00h; db 00h; db 00h; db 00h; L00D1E0CC: db 00h; db 00h; db 00h; db 00h; L00D1E0D0: db 00h; db 00h; db 00h; db 00h; L00D1E0D4: db 00h; db 00h; db 00h; db 00h; L00D1E0D8: db 00h; db 00h; db 00h; db 00h; L00D1E0DC: db 00h; db 00h; db 00h; db 00h; L00D1E0E0: db 00h; db 00h; db 00h; db 00h; L00D1E0E4: db 00h; db 00h; db 00h; db 00h; L00D1E0E8: db 00h; db 00h; db 00h; db 00h; L00D1E0EC: db 00h; db 00h; db 00h; db 00h; L00D1E0F0: db 00h; db 00h; db 00h; db 00h; L00D1E0F4: db 00h; db 00h; db 00h; db 00h; L00D1E0F8: db 00h; db 00h; db 00h; db 00h; L00D1E0FC: db 00h; db 00h; db 00h; db 00h; L00D1E100: db 00h; db 00h; db 00h; db 00h; L00D1E104: db 00h; db 00h; db 00h; db 00h; L00D1E108: db 00h; db 00h; db 00h; db 00h; L00D1E10C: db 00h; db 00h; db 00h; db 00h; L00D1E110: db 00h; db 00h; db 00h; db 00h; L00D1E114: db 00h; db 00h; db 00h; db 00h; L00D1E118: db 00h; db 00h; db 00h; db 00h; L00D1E11C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E124: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E148: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E16C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E190: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E1B4: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E1D8: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E1FC: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E220: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E240: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E260: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E280: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E2A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E2C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E2E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E300: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E320: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E340: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E360: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E380: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E3A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E3C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E3E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E400: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E420: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E440: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E460: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E480: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E4A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E4C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E4E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E500: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E520: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E540: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E560: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E580: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E5A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E5C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E5E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E600: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E620: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E640: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E660: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E680: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E6A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E6C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E6E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E700: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E720: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E740: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E760: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E780: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E7A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E7C0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E7E0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E800: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1E820: 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; L00D1E9A0: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1F020: 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; L00D1F408: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1F820: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D1F944: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D20020: 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; L00D20120: db 00h; db 00h; db 00h; db 00h; L00D20124: dd 00000000h L00D20128: dd 00000000h L00D2012C: 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; L00D2032C: 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; L00D2052C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D2072C: 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; L00D20B2C: 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; L00D20F2C: 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; L00D2132C: db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; db 00h; L00D2172C: db 9Ah; '?' db 79h; 'y' db 82h; ''' db 5Ah; 'Z' L00D21730: dd 3F0A8BD4h L00D21734: dd 3FA73D75h L00D21738: dd 3EC3EF15h L00D2173C: dd 59C00000h L00D21740: dd 00000000h L00D21744: 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; L00D21830: 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; L00D21860: 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; L00D21940: 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; L00D21980: 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; L00D219C0: 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; L00D21A00: 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; L00D21A40: 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; L00D21AC0: 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; L00D21B40: 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; L00D21C40: dd L004D1A7D dd L004D1AE8 dd L004D1A5B dd L004D1B19 dd L004D1A8A dd L004D1AD5 dd L004D1A6B dd L004D1B19 ;------------------------------------------------------------------------------ 000003A0h DUP (??) ; ; ;------------------------------------------------------------------------------ ; Imports from KERNEL32.dll ; extrn MultiByteToWideChar extrn GetLastError extrn CreateMutexA extrn CreateProcessA extrn UnmapViewOfFile extrn WideCharToMultiByte extrn CreateFileA extrn FlushViewOfFile extrn OpenFileMappingA extrn GetACP extrn IsDBCSLeadByte extrn GetCurrentProcess extrn GetCurrentThread extrn SetThreadPriority extrn SetFilePointer extrn LoadLibraryA extrn GetProcAddress extrn GetVersionExA extrn ReadFile extrn WriteFile extrn TerminateProcess extrn OpenMutexA extrn CloseHandle extrn GetProfileStringA extrn EnterCriticalSection extrn LeaveCriticalSection extrn DeleteCriticalSection extrn InitializeCriticalSection extrn CreateFileMappingA extrn MapViewOfFile extrn GetTimeZoneInformation extrn TlsGetValue extrn SetLastError extrn TlsAlloc extrn GetCurrentThreadId extrn GetVersion extrn GetCommandLineA extrn GetStartupInfoA extrn GetModuleHandleA extrn ExitThread extrn TlsSetValue extrn ResumeThread extrn GetLocalTime extrn GetSystemTime extrn DeleteFileA extrn CreateDirectoryA extrn FindFirstFileA extrn FileTimeToLocalFileTime extrn FileTimeToSystemTime extrn FindClose extrn HeapAlloc extrn HeapFree extrn RtlUnwind extrn HeapReAlloc extrn HeapSize extrn LCMapStringA extrn LCMapStringW extrn SetHandleCount extrn GetStdHandle extrn GetFileType extrn HeapDestroy extrn HeapCreate extrn VirtualFree extrn VirtualAlloc extrn InterlockedIncrement extrn InterlockedExchange extrn Sleep extrn CreateThread extrn GetStringTypeA extrn GetTickCount extrn IsBadWritePtr extrn GetFullPathNameA extrn GetCurrentDirectoryA extrn UnhandledExceptionFilter extrn GetModuleFileNameA extrn FreeEnvironmentStringsA extrn FreeEnvironmentStringsW extrn GetEnvironmentStrings extrn GetEnvironmentStringsW extrn SetUnhandledExceptionFilter extrn IsBadReadPtr extrn IsBadCodePtr extrn GetCPInfo extrn SetEnvironmentVariableA extrn GetStringTypeW extrn SetStdHandle extrn GetOEMCP extrn FlushFileBuffers extrn GetFileAttributesA extrn GetExitCodeProcess extrn WaitForSingleObject extrn ExitProcess extrn OutputDebugStringA extrn GlobalMemoryStatus extrn InterlockedDecrement extrn GetDiskFreeSpaceA extrn GetDriveTypeA extrn SetEndOfFile extrn CompareStringA extrn GetLogicalDriveStringsA extrn GetSystemInfo extrn CompareStringW ; ; Imports from USER32.dll ; extrn MapVirtualKeyA extrn SetFocus extrn GetKeyState extrn GetAsyncKeyState extrn GetDesktopWindow extrn GetDC extrn ReleaseDC extrn PeekMessageA extrn DefWindowProcA extrn GetKeyNameTextA extrn GetDoubleClickTime extrn GetCursorPos extrn MessageBoxA extrn FindWindowA extrn RegisterClassA extrn UpdateWindow extrn CreateWindowExA extrn LoadCursorA extrn LoadMenuA extrn GetMessageA extrn ScreenToClient extrn GetFocus extrn SetCapture extrn ReleaseCapture extrn GetActiveWindow extrn DefWindowProcW extrn SetMenu extrn AdjustWindowRectEx extrn OpenClipboard extrn GetClipboardData extrn CloseClipboard extrn RegisterClassW extrn CreateWindowExW extrn GetWindowDC extrn DestroyMenu extrn ShowCursor extrn BeginPaint extrn EndPaint extrn GetWindowRect extrn SetWindowPos extrn SetCursor extrn ClientToScreen extrn PostQuitMessage extrn GetWindowLongA extrn SetWindowLongA extrn LoadIconA extrn GetSystemMetrics extrn TranslateMessage extrn TranslateAcceleratorA extrn DispatchMessageA extrn LoadAcceleratorsA extrn SetWindowTextA extrn InvalidateRect extrn GetMenu extrn CheckMenuItem extrn GetWindowPlacement extrn GetClientRect extrn SendMessageA extrn ShowWindow extrn IsZoomed ; ; Imports from GDI32.dll ; extrn DeleteDC extrn CreatePalette extrn GetDeviceCaps extrn DeleteObject extrn SelectObject extrn SelectPalette extrn CreateCompatibleDC extrn BitBlt extrn RealizePalette extrn CreateDIBSection ; ; Imports from ADVAPI32.dll ; extrn RegOpenKeyExA extrn RegSetValueExA extrn RegCreateKeyExA extrn RegCloseKey extrn RegQueryValueExA ; ; Imports from ole32.dll ; extrn CoInitialize extrn CoUninitialize extrn CoCreateInstance ; ; Imports from WSOCK32.dll ; extrn WSOCK32.18 extrn WSOCK32.151 extrn WSOCK32.57 extrn WSOCK32.19 extrn WSOCK32.111 extrn WSOCK32.2 extrn WSOCK32.20 extrn WSOCK32.17 extrn WSOCK32.8 extrn WSOCK32.9 extrn WSOCK32.23 extrn WSOCK32.21 extrn WSOCK32.4 extrn WSOCK32.12 extrn WSOCK32.16 extrn WSOCK32.15 extrn WSOCK32.3 extrn WSOCK32.115 extrn WSOCK32.52 extrn WSOCK32.116 extrn WSOCK32.14 ; ; Imports from COMCTL32.dll ; extrn COMCTL32.17 ; ; Imports from DDRAW.dll ; extrn DirectDrawCreate ; ; Imports from DSOUND.dll ; extrn DSOUND.1 ; ; Imports from WINMM.dll ; extrn mmioRead extrn timeSetEvent extrn timeKillEvent extrn mciSendCommandA extrn midiOutSetVolume extrn midiOutGetDevCapsA extrn midiOutGetVolume extrn mmioClose extrn mmioOpenA extrn mmioSetBuffer extrn mmioSeek ; ;------------------------------------------------------------------------------