rendered paste body0057A4E0 55 PUSH EBP ; Generates the encryption key
0057A4E1 8BEC MOV EBP,ESP ; BTW:
0057A4E3 83EC 20 SUB ESP,20 ; KILL
0057A4E6 53 PUSH EBX ; ME
0057A4E7 56 PUSH ESI ; NOW
0057A4E8 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
0057A4EB 57 PUSH EDI
0057A4EC 83FE 14 CMP ESI,14
0057A4EF 894D F4 MOV DWORD PTR SS:[EBP-C],ECX
0057A4F2 76 19 JBE SHORT Gw.0057A50D
0057A4F4 68 D0000000 PUSH 0D0
0057A4F9 BA 680C9D00 MOV EDX,Gw.009D0C68 ; ASCII "MsgUtil.cpp"
0057A4FE B9 740C9D00 MOV ECX,Gw.009D0C74 ; ASCII "init"
0057A503 E8 F881E8FF CALL Gw.00402700
0057A508 BE 14000000 MOV ESI,14
0057A50D BA 14000000 MOV EDX,14
0057A512 8D4D E0 LEA ECX,DWORD PTR SS:[EBP-20]
0057A515 E8 76DC0000 CALL Gw.00588190
0057A51A 33C9 XOR ECX,ECX
0057A51C 85F6 TEST ESI,ESI
0057A51E 76 1C JBE SHORT Gw.0057A53C
0057A520 8B7D 0C MOV EDI,DWORD PTR SS:[EBP+C]
0057A523 8D45 E0 LEA EAX,DWORD PTR SS:[EBP-20]
0057A526 2BF8 SUB EDI,EAX
0057A528 > 8A5C0D E0 MOV BL,BYTE PTR SS:[EBP+ECX-20] ; Generate Key table 1?
0057A52C 8D440D E0 LEA EAX,DWORD PTR SS:[EBP+ECX-20]
0057A530 8A1407 MOV DL,BYTE PTR DS:[EDI+EAX]
0057A533 32DA XOR BL,DL
0057A535 41 INC ECX
0057A536 3BCE CMP ECX,ESI
0057A538 8818 MOV BYTE PTR DS:[EAX],BL
0057A53A ^72 EC JB SHORT <Gw.Generate key table 1?>
0057A53C 8B4D E0 MOV ECX,DWORD PTR SS:[EBP-20]
0057A53F B8 01234567 MOV EAX,67452301
0057A544 C1C0 05 ROL EAX,5
0057A547 8B7D E4 MOV EDI,DWORD PTR SS:[EBP-1C]
0057A54A 8D9408 873810B7 LEA EDX,DWORD PTR DS:[EAX+ECX+B7103887]
0057A551 B8 89ABCDEF MOV EAX,EFCDAB89
0057A556 C1C0 1E ROL EAX,1E
0057A559 8BCA MOV ECX,EDX
0057A55B 8BF0 MOV ESI,EAX
0057A55D C1C1 05 ROL ECX,5
0057A560 81E6 01234567 AND ESI,67452301
0057A566 03F9 ADD EDI,ECX
0057A568 81F6 FEDCBA98 XOR ESI,98BADCFE
0057A56E B9 01234567 MOV ECX,67452301
0057A573 C1C1 1E ROL ECX,1E
0057A576 8DB43E 0FCEB46A LEA ESI,DWORD PTR DS:[ESI+EDI+6AB4CE0F]
0057A57D 8BD8 MOV EBX,EAX
0057A57F 8BFE MOV EDI,ESI
0057A581 33D9 XOR EBX,ECX
0057A583 C1C7 05 ROL EDI,5
0057A586 037D E8 ADD EDI,DWORD PTR SS:[EBP-18]
0057A589 23DA AND EBX,EDX
0057A58B 33D8 XOR EBX,EAX
0057A58D C1C2 1E ROL EDX,1E
0057A590 8DBC3B 97563DF3 LEA EDI,DWORD PTR DS:[EBX+EDI+F33D5697]
0057A597 8B5D EC MOV EBX,DWORD PTR SS:[EBP-14]
0057A59A 8955 08 MOV DWORD PTR SS:[EBP+8],EDX
0057A59D 33D1 XOR EDX,ECX
0057A59F 897D 0C MOV DWORD PTR SS:[EBP+C],EDI
0057A5A2 23D6 AND EDX,ESI
0057A5A4 C1C7 05 ROL EDI,5
0057A5A7 33D1 XOR EDX,ECX
0057A5A9 03DF ADD EBX,EDI
0057A5AB 8B7D 08 MOV EDI,DWORD PTR SS:[EBP+8]
0057A5AE 03D3 ADD EDX,EBX
0057A5B0 C1C6 1E ROL ESI,1E
0057A5B3 8BDF MOV EBX,EDI
0057A5B5 8D8410 9979825A LEA EAX,DWORD PTR DS:[EAX+EDX+5A827999]
0057A5BC 8B55 0C MOV EDX,DWORD PTR SS:[EBP+C]
0057A5BF 33DE XOR EBX,ESI
0057A5C1 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
0057A5C4 8975 F8 MOV DWORD PTR SS:[EBP-8],ESI
0057A5C7 8B75 F0 MOV ESI,DWORD PTR SS:[EBP-10]
0057A5CA 23DA AND EBX,EDX
0057A5CC C1C0 05 ROL EAX,5
0057A5CF 33DF XOR EBX,EDI
0057A5D1 03F0 ADD ESI,EAX
0057A5D3 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0057A5D6 03DE ADD EBX,ESI
0057A5D8 8B75 E0 MOV ESI,DWORD PTR SS:[EBP-20]
0057A5DB 8D8C19 9979825A LEA ECX,DWORD PTR DS:[ECX+EBX+5A827999]
0057A5E2 03F1 ADD ESI,ECX
0057A5E4 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C]
0057A5E7 8975 E0 MOV DWORD PTR SS:[EBP-20],ESI
0057A5EA 8B75 E8 MOV ESI,DWORD PTR SS:[EBP-18]
0057A5ED 03C8 ADD ECX,EAX
0057A5EF 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
0057A5F2 C1C2 1E ROL EDX,1E
0057A5F5 894D E4 MOV DWORD PTR SS:[EBP-1C],ECX
0057A5F8 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8]
0057A5FB 03F2 ADD ESI,EDX
0057A5FD 8B55 EC MOV EDX,DWORD PTR SS:[EBP-14]
0057A600 03C7 ADD EAX,EDI
0057A602 03D1 ADD EDX,ECX
0057A604 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
0057A607 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
0057A60A 8955 EC MOV DWORD PTR SS:[EBP-14],EDX
0057A60D 33D2 XOR EDX,EDX
0057A60F 8975 E8 MOV DWORD PTR SS:[EBP-18],ESI
0057A612 8910 MOV DWORD PTR DS:[EAX],EDX
0057A614 8950 04 MOV DWORD PTR DS:[EAX+4],EDX
0057A617 33C9 XOR ECX,ECX
0057A619 8D78 08 LEA EDI,DWORD PTR DS:[EAX+8]
0057A61C 880C0F MOV BYTE PTR DS:[EDI+ECX],CL
0057A61F 41 INC ECX
0057A620 81F9 00010000 CMP ECX,100
0057A626 ^72 F4 JB SHORT Gw.0057A61C
0057A628 BB F8FFFFFF MOV EBX,-8
0057A62D 33F6 XOR ESI,ESI
0057A62F 2BD8 SUB EBX,EAX
0057A631 8BCF MOV ECX,EDI
0057A633 895D 08 MOV DWORD PTR SS:[EBP+8],EBX
0057A636 8A19 MOV BL,BYTE PTR DS:[ECX]
0057A638 8A4415 E0 MOV AL,BYTE PTR SS:[EBP+EDX-20]
0057A63C 03F3 ADD ESI,EBX
0057A63E 03C6 ADD EAX,ESI
0057A640 25 FF000000 AND EAX,0FF
0057A645 8BF0 MOV ESI,EAX
0057A647 8AC3 MOV AL,BL
0057A649 8A1C37 MOV BL,BYTE PTR DS:[EDI+ESI]
0057A64C 8819 MOV BYTE PTR DS:[ECX],BL
0057A64E 880437 MOV BYTE PTR DS:[EDI+ESI],AL
0057A651 8D42 01 LEA EAX,DWORD PTR DS:[EDX+1]
0057A654 33D2 XOR EDX,EDX
0057A656 BB 14000000 MOV EBX,14
0057A65B F7F3 DIV EBX
0057A65D 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0057A660 41 INC ECX
0057A661 03C1 ADD EAX,ECX
0057A663 3D 00010000 CMP EAX,100
0057A668 ^72 CC JB SHORT Gw.0057A636
0057A66A 5F POP EDI
0057A66B 5E POP ESI
0057A66C 5B POP EBX
0057A66D 8BE5 MOV ESP,EBP
0057A66F 5D POP EBP
0057A670 C2 0800 RETN 8