Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text:10011EA0 sub_10011EA0 proc near ; CODE XREF: Create256Key+104p
- .text:10011EA0 ; Create256Key+113p ...
- .text:10011EA0
- .text:10011EA0 arg_0 = dword ptr 4
- .text:10011EA0 arg_4 = dword ptr 8
- .text:10011EA0
- .text:10011EA0 push ebx
- .text:10011EA1 mov ebx, [esp+4+arg_0]
- .text:10011EA5 push esi
- .text:10011EA6 mov esi, [esp+8+arg_4]
- .text:10011EAA and esi, 3FFFFFFFh
- .text:10011EB0 and ebx, 3FFFFFFFh
- .text:10011EB6 sub esi, ebx
- .text:10011EB8 inc esi
- .text:10011EB9 cmp esi, 1
- .text:10011EBC jg short loc_10011EC3
- .text:10011EBE pop esi
- .text:10011EBF mov eax, ebx
- .text:10011EC1 pop ebx
- .text:10011EC2 retn
- .text:10011EC3 ; ---------------------------------------------------------------------------
- .text:10011EC3
- .text:10011EC3 loc_10011EC3: ; CODE XREF: sub_10011EA0+1Cj
- .text:10011EC3 mov eax, 2
- .text:10011EC8 cmp esi, eax
- .text:10011ECA jle short loc_10011ED6
- .text:10011ECC lea esp, [esp+0]
- .text:10011ED0
- .text:10011ED0 loc_10011ED0: ; CODE XREF: sub_10011EA0+34j
- .text:10011ED0 add eax, eax
- .text:10011ED2 cmp eax, esi
- .text:10011ED4 jl short loc_10011ED0
- .text:10011ED6
- .text:10011ED6 loc_10011ED6: ; CODE XREF: sub_10011EA0+2Aj
- .text:10011ED6 push edi
- .text:10011ED7 lea edi, [eax-1]
- .text:10011EDA lea ebx, [ebx+0]
- .text:10011EE0
- .text:10011EE0 loc_10011EE0: ; CODE XREF: sub_10011EA0+49j
- .text:10011EE0 call sub_10011E50
- .text:10011EE5 and eax, edi
- .text:10011EE7 cmp eax, esi
- .text:10011EE9 jge short loc_10011EE0
- .text:10011EEB pop edi
- .text:10011EEC pop esi
- .text:10011EED add eax, ebx
- .text:10011EEF pop ebx
- .text:10011EF0 retn
- .text:10011EF0 sub_10011EA0 endp
- .text:10011EF0
- .text:10011EF0 ; ---------------------------------------------------------------------------
- .text:10011EF1 db 0Fh dup(0CCh)
- .text:10011F00
- .text:10011F00 ; =============== S U B R O U T I N E =======================================
- .text:10011F00
- .text:10011F00
- .text:10011F00 sub_10011F00 proc near ; CODE XREF: Create256Key+F8p
- .text:10011F00 ; Create256Key+47Ap
- .text:10011F00
- .text:10011F00 arg_0 = dword ptr 4
- .text:10011F00
- .text:10011F00 mov eax, [esp+arg_0]
- .text:10011F04 and eax, 3FFFFFFFh
- .text:10011F09 mov dword_100653C8, eax
- .text:10011F0E mov dword_100653C0, 0
- .text:10011F18 mov dword_100653C4, 1Fh
- .text:10011F22 mov dword_100653CC, 1
- .text:10011F2C mov eax, offset dword_100653C8
- .text:10011F31
- .text:10011F31 loc_10011F31: ; CODE XREF: sub_10011F00+47j
- .text:10011F31 mov ecx, [eax]
- .text:10011F33 add ecx, [eax+4]
- .text:10011F36 add eax, 4
- .text:10011F39 and ecx, 3FFFFFFFh
- .text:10011F3F cmp eax, offset unk_1006549C
- .text:10011F44 mov [eax+4], ecx
- .text:10011F47 jl short loc_10011F31
- .text:10011F49 retn
- .text:10011F49 sub_10011F00 endp
- .text:10011F49
- .text:10011F49 ; ---------------------------------------------------------------------------
- .text:10011F4A db 6 dup(0CCh)
- .text:10011F50
- .text:10011F50 ; =============== S U B R O U T I N E =======================================
- .text:10011F50
- .text:10011F50
- .text:10011F50 Create256Key proc near ; This is the routine here
- .text:10011F50
- .text:10011F50 var_14B = byte ptr -14Bh
- .text:10011F50 var_14A = byte ptr -14Ah
- .text:10011F50 var_149 = byte ptr -149h
- .text:10011F50 var_148 = dword ptr -148h
- .text:10011F50 var_144 = byte ptr -144h
- .text:10011F50 var_143 = byte ptr -143h
- .text:10011F50 var_142 = byte ptr -142h
- .text:10011F50 var_141 = byte ptr -141h
- .text:10011F50 var_13D = byte ptr -13Dh
- .text:10011F50 var_13C = dword ptr -13Ch
- .text:10011F50 var_138 = byte ptr -138h
- .text:10011F50 var_135 = byte ptr -135h
- .text:10011F50 var_134 = byte ptr -134h
- .text:10011F50 var_133 = byte ptr -133h
- .text:10011F50 var_132 = byte ptr -132h
- .text:10011F50 var_131 = byte ptr -131h
- .text:10011F50 var_12E = byte ptr -12Eh
- .text:10011F50 var_12D = byte ptr -12Dh
- .text:10011F50 var_12C = dword ptr -12Ch
- .text:10011F50 var_125 = byte ptr -125h
- .text:10011F50 var_124 = dword ptr -124h
- .text:10011F50 var_120 = dword ptr -120h
- .text:10011F50 var_11C = dword ptr -11Ch
- .text:10011F50 var_118 = dword ptr -118h
- .text:10011F50 var_104 = byte ptr -104h
- .text:10011F50 var_103 = byte ptr -103h
- .text:10011F50 var_102 = byte ptr -102h
- .text:10011F50 var_101 = byte ptr -101h
- .text:10011F50 var_100 = byte ptr -100h
- .text:10011F50 var_FF = byte ptr -0FFh
- .text:10011F50 var_FE = byte ptr -0FEh
- .text:10011F50 var_FD = byte ptr -0FDh
- .text:10011F50 var_FC = byte ptr -0FCh
- .text:10011F50 var_FB = byte ptr -0FBh
- .text:10011F50 var_FA = byte ptr -0FAh
- .text:10011F50 var_F9 = byte ptr -0F9h
- .text:10011F50 var_F8 = byte ptr -0F8h
- .text:10011F50 var_F7 = byte ptr -0F7h
- .text:10011F50 var_F6 = byte ptr -0F6h
- .text:10011F50 var_F5 = byte ptr -0F5h
- .text:10011F50 var_F4 = byte ptr -0F4h
- .text:10011F50 var_F3 = byte ptr -0F3h
- .text:10011F50 var_F2 = byte ptr -0F2h
- .text:10011F50 var_F1 = byte ptr -0F1h
- .text:10011F50 var_F0 = byte ptr -0F0h
- .text:10011F50 var_EF = byte ptr -0EFh
- .text:10011F50 var_EE = byte ptr -0EEh
- .text:10011F50 var_ED = byte ptr -0EDh
- .text:10011F50 var_EC = byte ptr -0ECh
- .text:10011F50 var_EB = byte ptr -0EBh
- .text:10011F50 var_EA = byte ptr -0EAh
- .text:10011F50 var_E9 = byte ptr -0E9h
- .text:10011F50 var_E8 = byte ptr -0E8h
- .text:10011F50 var_E7 = byte ptr -0E7h
- .text:10011F50 var_E6 = byte ptr -0E6h
- .text:10011F50 var_E5 = byte ptr -0E5h
- .text:10011F50 var_E4 = byte ptr -0E4h
- .text:10011F50 var_E3 = byte ptr -0E3h
- .text:10011F50 var_E2 = byte ptr -0E2h
- .text:10011F50 var_E1 = byte ptr -0E1h
- .text:10011F50 var_E0 = byte ptr -0E0h
- .text:10011F50 var_DF = byte ptr -0DFh
- .text:10011F50 var_DE = byte ptr -0DEh
- .text:10011F50 var_DD = byte ptr -0DDh
- .text:10011F50 var_DC = byte ptr -0DCh
- .text:10011F50 var_DB = byte ptr -0DBh
- .text:10011F50 var_DA = byte ptr -0DAh
- .text:10011F50 var_D9 = byte ptr -0D9h
- .text:10011F50 var_D8 = byte ptr -0D8h
- .text:10011F50 var_D7 = byte ptr -0D7h
- .text:10011F50 var_D6 = byte ptr -0D6h
- .text:10011F50 var_D5 = byte ptr -0D5h
- .text:10011F50 var_D4 = byte ptr -0D4h
- .text:10011F50 var_D3 = byte ptr -0D3h
- .text:10011F50 var_D2 = byte ptr -0D2h
- .text:10011F50 var_D1 = byte ptr -0D1h
- .text:10011F50 var_D0 = byte ptr -0D0h
- .text:10011F50 var_CF = byte ptr -0CFh
- .text:10011F50 var_CE = byte ptr -0CEh
- .text:10011F50 var_CD = byte ptr -0CDh
- .text:10011F50 var_CC = byte ptr -0CCh
- .text:10011F50 var_CB = byte ptr -0CBh
- .text:10011F50 var_CA = byte ptr -0CAh
- .text:10011F50 var_C9 = byte ptr -0C9h
- .text:10011F50 var_C8 = byte ptr -0C8h
- .text:10011F50 var_C7 = byte ptr -0C7h
- .text:10011F50 var_C6 = byte ptr -0C6h
- .text:10011F50 var_C5 = byte ptr -0C5h
- .text:10011F50 var_C4 = byte ptr -0C4h
- .text:10011F50 var_C3 = byte ptr -0C3h
- .text:10011F50 var_C2 = byte ptr -0C2h
- .text:10011F50 var_C1 = byte ptr -0C1h
- .text:10011F50 var_C0 = byte ptr -0C0h
- .text:10011F50 var_BF = byte ptr -0BFh
- .text:10011F50 var_BE = byte ptr -0BEh
- .text:10011F50 var_BD = byte ptr -0BDh
- .text:10011F50 var_BA = byte ptr -0BAh
- .text:10011F50 var_B7 = byte ptr -0B7h
- .text:10011F50 var_B6 = byte ptr -0B6h
- .text:10011F50 var_B5 = byte ptr -0B5h
- .text:10011F50 var_B4 = byte ptr -0B4h
- .text:10011F50 var_B3 = byte ptr -0B3h
- .text:10011F50 var_B2 = byte ptr -0B2h
- .text:10011F50 var_B1 = byte ptr -0B1h
- .text:10011F50 var_74 = dword ptr -74h
- .text:10011F50 var_70 = dword ptr -70h
- .text:10011F50 var_6C = dword ptr -6Ch
- .text:10011F50 var_68 = dword ptr -68h
- .text:10011F50 var_64 = byte ptr -64h
- .text:10011F50 var_44 = byte ptr -44h
- .text:10011F50 var_24 = byte ptr -24h
- .text:10011F50 var_4 = dword ptr -4
- .text:10011F50 arg_0 = dword ptr 4
- .text:10011F50 arg_4 = dword ptr 8
- .text:10011F50 arg_8 = dword ptr 0Ch
- .text:10011F50 arg_C = dword ptr 10h
- .text:10011F50 arg_10 = dword ptr 14h
- .text:10011F50 arg_14 = dword ptr 18h
- .text:10011F50
- .text:10011F50 sub esp, 14Ch
- .text:10011F56 mov eax, dword_10064684
- .text:10011F5B xor eax, esp
- .text:10011F5D mov [esp+14Ch+var_4], eax
- .text:10011F64 push ebx
- .text:10011F65 push ebp
- .text:10011F66 push esi
- .text:10011F67 push edi
- .text:10011F68 mov edx, [esp+15Ch+arg_C]
- .text:10011F6F mov eax, [esp+15Ch+arg_0] ; PARAM1
- .text:10011F76 mov ecx, [esp+15Ch+arg_4] ; PARAM2
- .text:10011F7D mov [esp+15Ch+var_11C], edx
- .text:10011F81 mov edx, [esp+15Ch+arg_10]
- .text:10011F88 mov [esp+15Ch+var_124], edx
- .text:10011F8C mov edx, [esp+15Ch+arg_14]
- .text:10011F93 mov [esp+15Ch+var_120], edx
- .text:10011F97 mov ebx, [esp+15Ch+arg_8] ; PARAM3
- .text:10011F9E mov edx, ebx
- .text:10011FA0 shr edx, 18h
- .text:10011FA3 mov [esp+15Ch+var_134], dl
- .text:10011FA7 mov edx, ebx
- .text:10011FA9 shr edx, 10h
- .text:10011FAC mov [esp+15Ch+var_133], dl
- .text:10011FB0 mov edx, ebx
- .text:10011FB2 shr edx, 8
- .text:10011FB5 mov [esp+15Ch+var_132], dl
- .text:10011FB9 mov [esp+15Ch+var_131], bl
- .text:10011FBD mov ebx, [eax]
- .text:10011FBF mov eax, [eax+4]
- .text:10011FC2 mov [esp+15Ch+var_68], eax
- .text:10011FC9 mov eax, [ecx]
- .text:10011FCB mov ecx, [ecx+4]
- .text:10011FCE mov [esp+15Ch+var_70], ecx
- .text:10011FD5 mov edx, ebx
- .text:10011FD7 shr edx, 8
- .text:10011FDA movzx ecx, dl
- .text:10011FDD shl ecx, 8
- .text:10011FE0 mov [esp+15Ch+var_74], eax
- .text:10011FE7 mov edx, ebx
- .text:10011FE9 shr edx, 18h
- .text:10011FEC or ecx, edx
- .text:10011FEE shr eax, 10h
- .text:10011FF1 movzx eax, al
- .text:10011FF4 shl ecx, 8
- .text:10011FF7 or ecx, eax
- .text:10011FF9 mov edx, ebx
- .text:10011FFB shr edx, 10h
- .text:10011FFE movzx eax, dl
- .text:10012001 shl ecx, 8
- .text:10012004 or ecx, eax
- .text:10012006 push ecx
- .text:10012007 mov [esp+160h+var_F3], 33h
- .text:1001200C mov [esp+160h+var_F2], 76h
- .text:10012011 mov [esp+160h+var_F0], 21h
- .text:10012016 mov [esp+160h+var_EE], 2
- .text:1001201B mov [esp+160h+var_ED], 71h
- .text:10012020 mov [esp+160h+var_E1], 0B9h
- .text:10012025 mov [esp+160h+var_DE], 1
- .text:1001202D mov [esp+160h+var_144], 43h
- .text:10012032 mov [esp+160h+var_143], 27h
- .text:10012037 mov [esp+160h+var_142], 56h
- .text:1001203C mov [esp+160h+var_141], 98h
- .text:10012041 mov [esp+160h+var_6C], ebx
- .text:10012048 call sub_10011F00
- .text:1001204D push 0C8h
- .text:10012052 push 64h
- .text:10012054 call sub_10011EA0
- .text:10012059 push 258h
- .text:1001205E push 190h
- .text:10012063 call sub_10011EA0
- .text:10012068 add esp, 14h
- .text:1001206B test eax, eax
- .text:1001206D jle loc_100121A3
- .text:10012073 mov esi, eax
- .text:10012075
- .text:10012075 loc_10012075: ; CODE XREF: Create256Key+24Dj
- .text:10012075 push 4
- .text:10012077 push 0
- .text:10012079 call sub_10011EA0
- .text:1001207E add esp, 8
- .text:10012081 cmp eax, 3 ; switch 4 cases
- .text:10012084 ja loc_1001214C ; jumptable 1001208A default case
- .text:1001208A jmp ds:off_10012FF4[eax*4] ; switch jump
- .text:10012091 ; ---------------------------------------------------------------------------
- .text:10012091
- .text:10012091 loc_10012091: ; CODE XREF: Create256Key+13Aj
- .text:10012091 ; DATA XREF: .text:off_10012FF4o
- .text:10012091 push 0EBh ; jumptable 1001208A case 0
- .text:10012096 push 0B3h
- .text:1001209B call sub_10011EA0
- .text:100120A0 add esp, 8
- .text:100120A3 push eax
- .text:100120A4 push 4Fh
- .text:100120A6 push 15h
- .text:100120A8 call sub_10011EA0
- .text:100120AD add esp, 8
- .text:100120B0 push eax
- .text:100120B1 call sub_10011EA0
- .text:100120B6 add esp, 8
- .text:100120B9 add [esp+15Ch+var_144], al
- .text:100120BD jmp loc_1001219A
- .text:100120C2 ; ---------------------------------------------------------------------------
- .text:100120C2
- .text:100120C2 loc_100120C2: ; CODE XREF: Create256Key+13Aj
- .text:100120C2 ; DATA XREF: .text:off_10012FF4o
- .text:100120C2 push 0E7h ; jumptable 1001208A case 1
- .text:100120C7 push 0B1h
- .text:100120CC call sub_10011EA0
- .text:100120D1 add esp, 8
- .text:100120D4 push eax
- .text:100120D5 push 4Dh
- .text:100120D7 push 17h
- .text:100120D9 call sub_10011EA0
- .text:100120DE add esp, 8
- .text:100120E1 push eax
- .text:100120E2 call sub_10011EA0
- .text:100120E7 add esp, 8
- .text:100120EA add [esp+15Ch+var_143], al
- .text:100120EE jmp loc_1001219A
- .text:100120F3 ; ---------------------------------------------------------------------------
- .text:100120F3
- .text:100120F3 loc_100120F3: ; CODE XREF: Create256Key+13Aj
- .text:100120F3 ; DATA XREF: .text:off_10012FF4o
- .text:100120F3 push 0F7h ; jumptable 1001208A case 2
- .text:100120F8 push 0B9h
- .text:100120FD call sub_10011EA0
- .text:10012102 add esp, 8
- .text:10012105 push eax
- .text:10012106 push 53h
- .text:10012108 push 1Bh
- .text:1001210A call sub_10011EA0
- .text:1001210F add esp, 8
- .text:10012112 push eax
- .text:10012113 call sub_10011EA0
- .text:10012118 add esp, 8
- .text:1001211B add [esp+15Ch+var_142], al
- .text:1001211F jmp short loc_1001219A
- .text:10012121 ; ---------------------------------------------------------------------------
- .text:10012121
- .text:10012121 loc_10012121: ; CODE XREF: Create256Key+13Aj
- .text:10012121 ; DATA XREF: .text:off_10012FF4o
- .text:10012121 push 0CDh ; jumptable 1001208A case 3
- .text:10012126 push 79h
- .text:10012128 call sub_10011EA0
- .text:1001212D add esp, 8
- .text:10012130 push eax
- .text:10012131 push 65h
- .text:10012133 push 1Dh
- .text:10012135 call sub_10011EA0
- .text:1001213A add esp, 8
- .text:1001213D push eax
- .text:1001213E call sub_10011EA0
- .text:10012143 add esp, 8
- .text:10012146 add [esp+15Ch+var_141], al
- .text:1001214A jmp short loc_1001219A
- .text:1001214C ; ---------------------------------------------------------------------------
- .text:1001214C
- .text:1001214C loc_1001214C: ; CODE XREF: Create256Key+134j
- .text:1001214C push 0FBh ; jumptable 1001208A default case
- .text:10012151 push 9Bh
- .text:10012156 call sub_10011EA0
- .text:1001215B add esp, 8
- .text:1001215E push eax
- .text:1001215F push 4Ch
- .text:10012161 push 0Bh
- .text:10012163 call sub_10011EA0
- .text:10012168 add esp, 8
- .text:1001216B push eax
- .text:1001216C call sub_10011EA0
- .text:10012171 push 3
- .text:10012173 push 0
- .text:10012175 mov [esp+16Ch+var_14A], al
- .text:10012179 call sub_10011EA0
- .text:1001217E mov cl, [esp+eax+16Ch+var_144]
- .text:10012182 add [esp+16Ch+var_14A], cl
- .text:10012186 push 3
- .text:10012188 push 0
- .text:1001218A call sub_10011EA0
- .text:1001218F mov dl, [esp+174h+var_14A]
- .text:10012193 add esp, 18h
- .text:10012196 mov [esp+eax+15Ch+var_144], dl
- .text:1001219A
- .text:1001219A loc_1001219A: ; CODE XREF: Create256Key+16Dj
- .text:1001219A ; Create256Key+19Ej ...
- .text:1001219A sub esi, 1
- .text:1001219D jnz loc_10012075
- .text:100121A3
- .text:100121A3 loc_100121A3: ; CODE XREF: Create256Key+11Dj
- .text:100121A3 xor eax, eax
- .text:100121A5 xor ecx, ecx
- .text:100121A7 lea edx, [esp+15Ch+var_13D]
- .text:100121AB mov [esp+15Ch+var_13C], ecx
- .text:100121AF mov [esp+15Ch+var_148], ecx
- .text:100121B3 mov [esp+15Ch+var_12C], edx
- .text:100121B7 lea ebp, [esp+15Ch+var_70+3]
- .text:100121BE lea edi, [esp+15Ch+var_68+3]
- .text:100121C5 lea esi, [esp+15Ch+var_131]
- .text:100121C9 lea esp, [esp+0]
- .text:100121D0
- .text:100121D0 loc_100121D0: ; CODE XREF: Create256Key+2F6j
- .text:100121D0 cmp [esp+15Ch+var_148], 7
- .text:100121D5 ja short loc_1001223C
- .text:100121D7 cmp eax, 4
- .text:100121DA lea ecx, [esp+ecx+15Ch+var_D2]
- .text:100121E1 jge short loc_10012200
- .text:100121E3 movzx edx, byte ptr [esp+eax+15Ch+var_74]
- .text:100121EB mov [ecx-1], dl
- .text:100121EE movzx edx, byte ptr [esi]
- .text:100121F1 mov [ecx], dl
- .text:100121F3 movzx edx, [esp+eax+15Ch+var_144]
- .text:100121F8 mov [ecx+1], dl
- .text:100121FB movzx edx, byte ptr [edi]
- .text:100121FE jmp short loc_10012220
- .text:10012200 ; ---------------------------------------------------------------------------
- .text:10012200
- .text:10012200 loc_10012200: ; CODE XREF: Create256Key+291j
- .text:10012200 movzx edx, byte ptr [ebp+0]
- .text:10012204 mov [ecx-1], dl
- .text:10012207 mov edx, [esp+15Ch+var_12C]
- .text:1001220B movzx edx, byte ptr [edx]
- .text:1001220E mov [ecx], dl
- .text:10012210 movzx edx, byte ptr [esp+eax+15Ch+var_6C]
- .text:10012218 mov [ecx+1], dl
- .text:1001221B movzx edx, [esp+eax+15Ch+var_138]
- .text:10012220
- .text:10012220 loc_10012220: ; CODE XREF: Create256Key+2AEj
- .text:10012220 mov [ecx-2], dl
- .text:10012223 mov ecx, 1
- .text:10012228 add [esp+15Ch+var_148], ecx
- .text:1001222C add eax, ecx
- .text:1001222E sub esi, ecx
- .text:10012230 sub edi, ecx
- .text:10012232 sub ebp, ecx
- .text:10012234 sub [esp+15Ch+var_12C], ecx
- .text:10012238 mov ecx, [esp+15Ch+var_13C]
- .text:1001223C
- .text:1001223C loc_1001223C: ; CODE XREF: Create256Key+285j
- .text:1001223C add ecx, 4
- .text:1001223F cmp ecx, 20h
- .text:10012242 mov [esp+15Ch+var_13C], ecx
- .text:10012246 jl short loc_100121D0
- .text:10012248 movzx ecx, byte ptr [esp+15Ch+var_74+2]
- .text:10012250 movzx edx, byte ptr [esp+15Ch+arg_8]
- .text:10012258 movzx eax, bh
- .text:1001225B shl eax, 8
- .text:1001225E or eax, ecx
- .text:10012260 push 18h
- .text:10012262 shl eax, 8
- .text:10012265 or eax, edx
- .text:10012267 push 20h
- .text:10012269 push eax
- .text:1001226A lea eax, [esp+168h+var_D4]
- .text:10012271 push eax
- .text:10012272 call sub_10011C50
- .text:10012277 add esp, 0Ch
- .text:1001227A push eax
- .text:1001227B lea ecx, [esp+164h+var_D0]
- .text:10012282 push ecx
- .text:10012283 call sub_10011C50
- .text:10012288 mov esi, eax
- .text:1001228A shr eax, 5
- .text:1001228D add al, 69h
- .text:1001228F mov dl, [esp+168h+var_D0]
- .text:10012296 mov [esp+168h+var_EF], al
- .text:1001229A mov al, [esp+168h+var_D4]
- .text:100122A1 xor al, 14h
- .text:100122A3 add al, dl
- .text:100122A5 mov [esp+168h+var_DC], al
- .text:100122AC mov al, [esp+168h+var_D3]
- .text:100122B3 mov bl, [esp+168h+var_CE]
- .text:100122BA xor al, 65h
- .text:100122BC add al, [esp+168h+var_CF]
- .text:100122C3 mov cl, [esp+168h+var_CD]
- .text:100122CA mov [esp+168h+var_DB], al
- .text:100122D1 mov al, [esp+168h+var_D2]
- .text:100122D8 xor al, 82h
- .text:100122DA add al, bl
- .text:100122DC mov [esp+168h+var_DA], al
- .text:100122E3 mov al, [esp+168h+var_D1]
- .text:100122EA xor al, 21h
- .text:100122EC add al, cl
- .text:100122EE mov [esp+168h+var_D9], al
- .text:100122F5 mov al, dl
- .text:100122F7 xor al, 5Fh
- .text:100122F9 add al, [esp+168h+var_CC]
- .text:10012300 push 12h
- .text:10012302 mov [esp+16Ch+var_D8], al
- .text:10012309 mov al, [esp+16Ch+var_CF]
- .text:10012310 xor al, 8Bh
- .text:10012312 add al, [esp+16Ch+var_CB]
- .text:10012319 lea edx, [esp+16Ch+var_D2]
- .text:10012320 mov [esp+16Ch+var_D7], al
- .text:10012327 mov al, bl
- .text:10012329 xor al, 89h
- .text:1001232B add al, [esp+16Ch+var_CA]
- .text:10012332 push esi
- .text:10012333 mov [esp+170h+var_D6], al
- .text:1001233A mov al, cl
- .text:1001233C xor al, 25h
- .text:1001233E add al, [esp+170h+var_C9]
- .text:10012345 push edx
- .text:10012346 mov [esp+174h+var_D5], al
- .text:1001234D mov eax, esi
- .text:1001234F shr eax, 11h
- .text:10012352 and al, 7Fh
- .text:10012354 sub al, 57h
- .text:10012356 mov [esp+174h+var_F1], al
- .text:1001235D mov [esp+174h+var_B5], cl
- .text:10012364 call sub_10011C50
- .text:10012369 movzx edx, [esp+174h+var_D2]
- .text:10012371 mov esi, eax
- .text:10012373 mov al, [esp+174h+var_BA]
- .text:1001237A shr al, 3
- .text:1001237D shl dl, 5
- .text:10012380 xor al, dl
- .text:10012382 add al, byte ptr [esp+174h+arg_8]
- .text:10012389 movzx edx, byte ptr [esp+174h+var_74+1]
- .text:10012391 mov ecx, esi
- .text:10012393 shr ecx, 5
- .text:10012396 add al, cl
- .text:10012398 add al, 42h
- .text:1001239A mov [esp+174h+var_F4], al
- .text:100123A1 movzx edi, byte ptr [esp+174h+var_6C+2]
- .text:100123A9 movzx eax, al
- .text:100123AC shl edx, 8
- .text:100123AF or edx, edi
- .text:100123B1 movzx edi, [esp+174h+var_141]
- .text:100123B6 add edx, eax
- .text:100123B8 movzx eax, [esp+174h+var_133]
- .text:100123BD shl eax, 8
- .text:100123C0 or eax, edi
- .text:100123C2 add eax, ecx
- .text:100123C4 shl eax, 10h
- .text:100123C7 or edx, eax
- .text:100123C9 push edx
- .text:100123CA call sub_10011F00
- .text:100123CF mov cl, [esp+178h+var_D2]
- .text:100123D6 mov al, cl
- .text:100123D8 add al, [esp+178h+var_CD]
- .text:100123DF mov dl, [esp+178h+var_CD]
- .text:100123E6 add al, 28h
- .text:100123E8 mov [esp+178h+var_EC], al
- .text:100123EF mov al, [esp+178h+var_D4]
- .text:100123F6 add al, 1Ah
- .text:100123F8 add al, al
- .text:100123FA add al, [esp+178h+var_D0]
- .text:10012401 mov [esp+178h+var_B6], cl
- .text:10012408 mov [esp+178h+var_FC], al
- .text:1001240C mov al, [esp+178h+var_CF]
- .text:10012413 add al, [esp+178h+var_D3]
- .text:1001241A add al, cl
- .text:1001241C sub al, 0Ch
- .text:1001241E mov [esp+178h+var_FB], al
- .text:10012422 mov al, bl
- .text:10012424 add al, [esp+178h+var_D0]
- .text:1001242B mov [esp+178h+var_14B], al
- .text:1001242F add al, cl
- .text:10012431 sub al, 2Dh
- .text:10012433 mov [esp+178h+var_FA], al
- .text:10012437 mov al, [esp+178h+var_D1]
- .text:1001243E mov cl, [esp+178h+var_CA]
- .text:10012445 add cl, [esp+178h+var_CF]
- .text:1001244C add al, bl
- .text:1001244E add al, dl
- .text:10012450 add cl, [esp+178h+var_CB]
- .text:10012457 add al, 43h
- .text:10012459 mov [esp+178h+var_F9], al
- .text:1001245D mov al, [esp+178h+var_CC]
- .text:10012464 add al, al
- .text:10012466 add al, [esp+178h+var_D0]
- .text:1001246D sub cl, 79h
- .text:10012470 add al, 21h
- .text:10012472 mov [esp+178h+var_F8], al
- .text:10012479 mov al, [esp+178h+var_CA]
- .text:10012480 add al, [esp+178h+var_C8]
- .text:10012487 mov [esp+178h+var_F7], cl
- .text:1001248E movzx ecx, [esp+178h+var_CB]
- .text:10012496 add al, bl
- .text:10012498 add al, 24h
- .text:1001249A mov [esp+178h+var_F6], al
- .text:100124A1 mov al, [esp+178h+var_C9]
- .text:100124A8 add al, [esp+178h+var_C6]
- .text:100124AF add cl, dl
- .text:100124B1 add al, dl
- .text:100124B3 movzx edx, [esp+178h+var_C3]
- .text:100124BB inc edx
- .text:100124BC push edx
- .text:100124BD sub al, 68h
- .text:100124BF push 0
- .text:100124C1 mov [esp+180h+var_F5], al
- .text:100124C8 mov [esp+180h+var_B5], cl
- .text:100124CF call sub_10011EA0
- .text:100124D4 add esp, 24h
- .text:100124D7 cmp eax, 7
- .text:100124DA jle short loc_100124EC
- .text:100124DC mov al, [esp+15Ch+var_D0]
- .text:100124E3 add al, [esp+15Ch+var_CD]
- .text:100124EA jmp short loc_100124F0
- .text:100124EC ; ---------------------------------------------------------------------------
- .text:100124EC
- .text:100124EC loc_100124EC: ; CODE XREF: Create256Key+58Aj
- .text:100124EC mov al, [esp+15Ch+var_14B]
- .text:100124F0
- .text:100124F0 loc_100124F0: ; CODE XREF: Create256Key+59Aj
- .text:100124F0 mov cl, [esp+15Ch+var_CB]
- .text:100124F7 mov [esp+15Ch+var_D2], al
- .text:100124FE add al, 34h
- .text:10012500 movzx ebp, [esp+15Ch+var_CD]
- .text:10012508 mov [esp+15Ch+var_101], al
- .text:1001250C mov eax, esi
- .text:1001250E shr eax, 12h
- .text:10012511 and al, 3Fh
- .text:10012513 add al, [esp+15Ch+var_141]
- .text:10012517 movzx edi, [esp+15Ch+var_BF]
- .text:1001251F mov [esp+15Ch+var_E3], al
- .text:10012523 mov eax, esi
- .text:10012525 shr eax, 3
- .text:10012528 sub al, 61h
- .text:1001252A mov [esp+15Ch+var_E0], al
- .text:1001252E mov al, [esp+15Ch+var_D3]
- .text:10012535 add al, cl
- .text:10012537 movzx ecx, cl
- .text:1001253A lea edx, [ecx+ebp+0EB4Ah]
- .text:10012541 push 8
- .text:10012543 push edx
- .text:10012544 movzx ecx, bl
- .text:10012547 movzx edx, al
- .text:1001254A mov [esp+164h+var_D0], al
- .text:10012551 lea eax, [ecx+edx+5D52h]
- .text:10012558 push eax
- .text:10012559 call sub_10011EA0
- .text:1001255E movzx ecx, [esp+168h+var_C2]
- .text:10012566 add esp, 8
- .text:10012569 push eax
- .text:1001256A movzx eax, [esp+164h+var_D1]
- .text:10012572 lea edx, [ecx+edi+7BCh]
- .text:10012579 push edx
- .text:1001257A add eax, ebp
- .text:1001257C push eax
- .text:1001257D call sub_10011EA0
- .text:10012582 add esp, 8
- .text:10012585 push eax
- .text:10012586 call sub_10011EA0
- .text:1001258B add esp, 8
- .text:1001258E add eax, esi
- .text:10012590 push eax
- .text:10012591 lea ecx, [esp+164h+var_F4]
- .text:10012595 push ecx
- .text:10012596 call sub_10011C50
- .text:1001259B movzx edx, [esp+168h+var_C6]
- .text:100125A3 xor esi, eax
- .text:100125A5 movzx eax, [esp+168h+var_E3]
- .text:100125AD add eax, esi
- .text:100125AF shr eax, 5
- .text:100125B2 add al, [esp+168h+var_132]
- .text:100125B6 inc edx
- .text:100125B7 push edx
- .text:100125B8 push 0
- .text:100125BA mov [esp+170h+var_F2], al
- .text:100125BE call sub_10011EA0
- .text:100125C3 add esp, 14h
- .text:100125C6 cmp eax, 9
- .text:100125C9 jg short loc_100125D9
- .text:100125CB mov al, [esp+15Ch+var_CD]
- .text:100125D2 add [esp+15Ch+var_C8], al
- .text:100125D9
- .text:100125D9 loc_100125D9: ; CODE XREF: Create256Key+679j
- .text:100125D9 push 0Fh
- .text:100125DB push 1
- .text:100125DD call sub_10011EA0
- .text:100125E2 mov ecx, eax
- .text:100125E4 mov al, [esp+164h+var_C5]
- .text:100125EB mov edx, esi
- .text:100125ED shr edx, cl
- .text:100125EF mov cl, [esp+164h+var_CB]
- .text:100125F6 add cl, cl
- .text:100125F8 add cl, cl
- .text:100125FA shr al, 4
- .text:100125FD xor al, cl
- .text:100125FF add al, 39h
- .text:10012601 mov [esp+164h+var_E4], al
- .text:10012608 mov al, [esp+164h+var_C6]
- .text:1001260F mov cl, al
- .text:10012611 add cl, [esp+164h+var_C3]
- .text:10012618 xor al, [esp+164h+var_BF]
- .text:1001261F mov [esp+164h+var_CB], cl
- .text:10012626 mov [esp+164h+var_C6], al
- .text:1001262D mov al, [esp+164h+var_C8]
- .text:10012634 add al, cl
- .text:10012636 mov cl, [esp+164h+var_D4]
- .text:1001263D add cl, cl
- .text:1001263F xor cl, [esp+164h+var_D0]
- .text:10012646 add dl, [esp+164h+var_143]
- .text:1001264A add cl, 22h
- .text:1001264D mov [esp+164h+var_104], cl
- .text:10012651 mov cl, [esp+164h+var_D3]
- .text:10012658 add cl, [esp+164h+var_D2]
- .text:1001265F push 7
- .text:10012661 xor cl, [esp+168h+var_CF]
- .text:10012668 push 3
- .text:1001266A add cl, 45h
- .text:1001266D mov [esp+16Ch+var_103], cl
- .text:10012671 mov cl, [esp+16Ch+var_D0]
- .text:10012678 add cl, [esp+16Ch+var_D2]
- .text:1001267F mov [esp+16Ch+var_DD], dl
- .text:10012686 xor cl, bl
- .text:10012688 add cl, 76h
- .text:1001268B mov [esp+16Ch+var_102], cl
- .text:1001268F mov cl, [esp+16Ch+var_D1]
- .text:10012696 add cl, bl
- .text:10012698 xor cl, al
- .text:1001269A movzx ecx, cl
- .text:1001269D add [esp+16Ch+var_101], cl
- .text:100126A1 mov cl, [esp+16Ch+var_CC]
- .text:100126A8 add cl, [esp+16Ch+var_D0]
- .text:100126AF mov [esp+16Ch+var_CD], al
- .text:100126B6 xor cl, [esp+16Ch+var_CC]
- .text:100126BD add cl, 77h
- .text:100126C0 mov [esp+16Ch+var_100], cl
- .text:100126C4 mov cl, [esp+16Ch+var_CA]
- .text:100126CB add cl, [esp+16Ch+var_CF]
- .text:100126D2 xor cl, [esp+16Ch+var_CB]
- .text:100126D9 dec cl
- .text:100126DB mov [esp+16Ch+var_FF], cl
- .text:100126DF mov cl, [esp+16Ch+var_C8]
- .text:100126E6 add cl, bl
- .text:100126E8 xor cl, [esp+16Ch+var_CA]
- .text:100126EF add cl, 21h
- .text:100126F2 mov [esp+16Ch+var_FE], cl
- .text:100126F6 mov cl, [esp+16Ch+var_C6]
- .text:100126FD add cl, al
- .text:100126FF xor cl, [esp+16Ch+var_C9]
- .text:10012706 add cl, 72h
- .text:10012709 mov [esp+16Ch+var_FD], cl
- .text:1001270D call sub_10011EA0
- .text:10012712 movzx edx, [esp+16Ch+var_D2]
- .text:1001271A mov ecx, eax
- .text:1001271C shl edx, cl
- .text:1001271E push 12h
- .text:10012720 push esi
- .text:10012721 mov [esp+174h+var_13C], edx
- .text:10012725 lea edx, [esp+174h+var_CE]
- .text:1001272C push edx
- .text:1001272D call sub_10011C50
- .text:10012732 mov ecx, [esp+178h+var_13C]
- .text:10012736 add ecx, eax
- .text:10012738 mov [esp+178h+var_148], ecx
- .text:1001273C push 9
- .text:1001273E push 2
- .text:10012740 call sub_10011EA0
- .text:10012745 movzx edx, word ptr [esp+180h+var_148]
- .text:1001274A mov ecx, eax
- .text:1001274C shr edx, cl
- .text:1001274E push 3
- .text:10012750 push 1
- .text:10012752 add dl, 45h
- .text:10012755 mov [esp+188h+var_E2], dl
- .text:1001275C call sub_10011EA0
- .text:10012761 mov edx, [esp+188h+var_148]
- .text:10012765 mov ecx, eax
- .text:10012767 movzx eax, [esp+188h+var_DD]
- .text:1001276F add al, [esp+188h+var_E3]
- .text:10012776 shr edx, cl
- .text:10012778 add edi, 2
- .text:1001277B push edi
- .text:1001277C push 0
- .text:1001277E add dl, [esp+190h+var_EF]
- .text:10012785 add dl, 33h
- .text:10012788 xor dl, al
- .text:1001278A mov [esp+190h+var_ED], dl
- .text:10012791 call sub_10011EA0
- .text:10012796 add esp, 34h
- .text:10012799 cmp eax, 0Bh
- .text:1001279C push 8
- .text:1001279E jle short loc_100127BB
- .text:100127A0 mov ecx, [esp+160h+var_148]
- .text:100127A4 push ecx
- .text:100127A5 lea edx, [esp+164h+var_CC]
- .text:100127AC push edx
- .text:100127AD call sub_10011C50
- .text:100127B2 add esp, 0Ch
- .text:100127B5 xor [esp+15Ch+var_148], eax
- .text:100127B9 jmp short loc_100127D4
- .text:100127BB ; ---------------------------------------------------------------------------
- .text:100127BB
- .text:100127BB loc_100127BB: ; CODE XREF: Create256Key+84Ej
- .text:100127BB mov eax, [esp+160h+var_148]
- .text:100127BF push eax
- .text:100127C0 lea ecx, [esp+164h+var_C4]
- .text:100127C7 push ecx
- .text:100127C8 call sub_10011C50
- .text:100127CD add esp, 0Ch
- .text:100127D0 add [esp+15Ch+var_148], eax
- .text:100127D4
- .text:100127D4 loc_100127D4: ; CODE XREF: Create256Key+869j
- .text:100127D4 mov al, [esp+15Ch+var_CC]
- .text:100127DB add al, [esp+15Ch+var_B7]
- .text:100127E2 push 3
- .text:100127E4 push 1
- .text:100127E6 mov [esp+164h+var_C4], al
- .text:100127ED call sub_10011EA0
- .text:100127F2 mov ecx, eax
- .text:100127F4 mov al, [esp+164h+var_CC]
- .text:100127FB xor al, [esp+164h+var_EC]
- .text:100127FF movzx edx, byte ptr [esp+164h+var_148]
- .text:10012804 add al, [esp+164h+var_C4]
- .text:1001280B shr edx, cl
- .text:1001280D mov [esp+164h+var_EC], al
- .text:10012811 mov al, [esp+164h+var_CB]
- .text:10012818 not al
- .text:1001281A add al, [esp+164h+var_C3]
- .text:10012821 add dl, [esp+164h+var_F1]
- .text:10012825 mov [esp+164h+var_EB], al
- .text:10012829 mov al, [esp+164h+var_CA]
- .text:10012830 xor al, 12h
- .text:10012832 add al, [esp+164h+var_C2]
- .text:10012839 mov [esp+164h+var_DF], dl
- .text:10012840 mov [esp+164h+var_EA], al
- .text:10012844 mov al, [esp+164h+var_C9]
- .text:1001284B xor al, 34h
- .text:1001284D add al, [esp+164h+var_C1]
- .text:10012854 mov dl, bl
- .text:10012856 mov [esp+164h+var_E9], al
- .text:1001285A mov al, [esp+164h+var_C8]
- .text:10012861 xor al, 3Ah
- .text:10012863 add al, [esp+164h+var_C0]
- .text:1001286A add dl, [esp+164h+var_D0]
- .text:10012871 mov [esp+164h+var_E8], al
- .text:10012875 mov al, [esp+164h+var_C7]
- .text:1001287C xor al, 8Bh
- .text:1001287E add al, [esp+164h+var_BF]
- .text:10012885 add dl, 1Bh
- .text:10012888 mov [esp+164h+var_E7], al
- .text:1001288C mov al, [esp+164h+var_C6]
- .text:10012893 xor al, 82h
- .text:10012895 add al, [esp+164h+var_BE]
- .text:1001289C add [esp+164h+var_100], dl
- .text:100128A0 mov [esp+164h+var_E6], al
- .text:100128A4 mov al, [esp+164h+var_C5]
- .text:100128AB xor al, 23h
- .text:100128AD add al, [esp+164h+var_BD]
- .text:100128B4 push 0FFh
- .text:100128B9 mov [esp+168h+var_E5], al
- .text:100128C0 mov al, [esp+168h+var_D4]
- .text:100128C7 add al, [esp+168h+var_CF]
- .text:100128CE push 0
- .text:100128D0 add al, bl
- .text:100128D2 mov [esp+16Ch+var_BF], al
- .text:100128D9 mov eax, [esp+16Ch+var_148]
- .text:100128DD shr eax, 3
- .text:100128E0 mov [esp+16Ch+var_13C], eax
- .text:100128E4 call sub_10011EA0
- .text:100128E9 mov esi, [esp+16Ch+var_148]
- .text:100128ED mov ebx, eax
- .text:100128EF mov al, [esp+16Ch+var_C4]
- .text:100128F6 add al, [esp+16Ch+var_BF]
- .text:100128FD add bl, byte ptr [esp+16Ch+var_13C]
- .text:10012901 add [esp+16Ch+var_E8], al
- .text:10012908 add bl, [esp+16Ch+var_142]
- .text:1001290C mov eax, esi
- .text:1001290E add bl, [esp+16Ch+var_133]
- .text:10012912 shr eax, 2
- .text:10012915 push eax
- .text:10012916 add bl, 2
- .text:10012919 push 0
- .text:1001291B mov [esp+174h+var_EE], bl
- .text:10012922 call sub_100015B0
- .text:10012927 add esp, 18h
- .text:1001292A xor edi, edi
- .text:1001292C lea esp, [esp+0]
- .text:10012930
- .text:10012930 loc_10012930: ; CODE XREF: Create256Key+A08j
- .text:10012930 movzx cx, [esp+edi+15Ch+var_F4]
- .text:10012936 movzx dx, [esp+edi+15Ch+var_F0]
- .text:1001293C shl cx, 8
- .text:10012940 or cx, dx
- .text:10012943 movzx eax, cx
- .text:10012946 push eax
- .text:10012947 push 0
- .text:10012949 call sub_100015E0
- .text:1001294E inc edi
- .text:1001294F add esp, 8
- .text:10012952 cmp edi, 4
- .text:10012955 movzx eax, ax
- .text:10012958 jl short loc_10012930
- .text:1001295A mov cl, al
- .text:1001295C not cl
- .text:1001295E mov [esp+15Ch+var_F0], cl
- .text:10012962 mov ecx, [esp+15Ch+var_13C]
- .text:10012966 not eax
- .text:10012968 push ecx
- .text:10012969 sar eax, 8
- .text:1001296C push 0
- .text:1001296E mov [esp+164h+var_F3], al
- .text:10012972 call sub_100015B0
- .text:10012977 add esp, 8
- .text:1001297A xor edi, edi
- .text:1001297C lea esp, [esp+0]
- .text:10012980
- .text:10012980 loc_10012980: ; CODE XREF: Create256Key+A58j
- .text:10012980 movzx dx, [esp+edi+15Ch+var_E4]
- .text:10012986 movzx ax, [esp+edi+15Ch+var_E0]
- .text:1001298C shl dx, 8
- .text:10012990 or dx, ax
- .text:10012993 movzx ecx, dx
- .text:10012996 push ecx
- .text:10012997 push 0
- .text:10012999 call sub_100015E0
- .text:1001299E inc edi
- .text:1001299F add esp, 8
- .text:100129A2 cmp edi, 4
- .text:100129A5 movzx eax, ax
- .text:100129A8 jl short loc_10012980
- .text:100129AA movzx edx, [esp+15Ch+var_E4]
- .text:100129AF mov cl, al
- .text:100129B1 not eax
- .text:100129B3 sar eax, 8
- .text:100129B6 mov [esp+15Ch+var_DE], al
- .text:100129BA movzx eax, [esp+15Ch+var_F4]
- .text:100129BF add dl, 63h
- .text:100129C2 add [esp+15Ch+var_104], dl
- .text:100129C6 movzx edx, [esp+15Ch+var_E3]
- .text:100129CB sub al, 45h
- .text:100129CD add [esp+15Ch+var_FC], al
- .text:100129D1 movzx eax, [esp+15Ch+var_F3]
- .text:100129D6 not cl
- .text:100129D8 mov [esp+15Ch+var_E1], cl
- .text:100129DC add dl, 63h
- .text:100129DF add [esp+15Ch+var_103], dl
- .text:100129E3 movzx edx, [esp+15Ch+var_E2]
- .text:100129E8 sub al, 45h
- .text:100129EA add [esp+15Ch+var_FB], al
- .text:100129EE movzx eax, [esp+15Ch+var_F2]
- .text:100129F3 add cl, 63h
- .text:100129F6 add [esp+15Ch+var_101], cl
- .text:100129FA movzx ecx, [esp+15Ch+var_F1]
- .text:100129FF add dl, 63h
- .text:10012A02 add [esp+15Ch+var_102], dl
- .text:10012A06 movzx edx, [esp+15Ch+var_E0]
- .text:10012A0B sub al, 45h
- .text:10012A0D add [esp+15Ch+var_FA], al
- .text:10012A11 movzx eax, [esp+15Ch+var_F0]
- .text:10012A16 sub cl, 45h
- .text:10012A19 add [esp+15Ch+var_F9], cl
- .text:10012A1D movzx ecx, [esp+15Ch+var_DF]
- .text:10012A22 add dl, 63h
- .text:10012A25 add [esp+15Ch+var_100], dl
- .text:10012A29 movzx edx, [esp+15Ch+var_EF]
- .text:10012A2E sub al, 45h
- .text:10012A30 add [esp+15Ch+var_F8], al
- .text:10012A34 movzx eax, [esp+15Ch+var_DE]
- .text:10012A39 add cl, 63h
- .text:10012A3C add [esp+15Ch+var_FF], cl
- .text:10012A40 mov cl, bl
- .text:10012A42 sub cl, 45h
- .text:10012A45 add [esp+15Ch+var_F6], cl
- .text:10012A49 sub dl, 45h
- .text:10012A4C add [esp+15Ch+var_F7], dl
- .text:10012A50 movzx edx, [esp+15Ch+var_DD]
- .text:10012A55 add al, 63h
- .text:10012A57 add [esp+15Ch+var_FE], al
- .text:10012A5B movzx eax, [esp+15Ch+var_ED]
- .text:10012A60 lea ecx, [esi+48h]
- .text:10012A63 shr ecx, 2
- .text:10012A66 push ecx
- .text:10012A67 add dl, 63h
- .text:10012A6A add [esp+160h+var_FD], dl
- .text:10012A6E sub al, 45h
- .text:10012A70 add [esp+160h+var_F5], al
- .text:10012A74 push 0
- .text:10012A76 call sub_100015B0
- .text:10012A7B add esp, 8
- .text:10012A7E xor edi, edi
- .text:10012A80
- .text:10012A80 loc_10012A80: ; CODE XREF: Create256Key+B58j
- .text:10012A80 movzx dx, [esp+edi+15Ch+var_104]
- .text:10012A86 movzx ax, [esp+edi+15Ch+var_100]
- .text:10012A8C shl dx, 8
- .text:10012A90 or dx, ax
- .text:10012A93 movzx ecx, dx
- .text:10012A96 push ecx
- .text:10012A97 push 0
- .text:10012A99 call sub_100015E0
- .text:10012A9E inc edi
- .text:10012A9F add esp, 8
- .text:10012AA2 cmp edi, 4
- .text:10012AA5 movzx eax, ax
- .text:10012AA8 jl short loc_10012A80
- .text:10012AAA mov cl, al
- .text:10012AAC lea edx, [esi-48h]
- .text:10012AAF shr edx, 3
- .text:10012AB2 not eax
- .text:10012AB4 push edx
- .text:10012AB5 not cl
- .text:10012AB7 sar eax, 8
- .text:10012ABA push 0
- .text:10012ABC mov [esp+164h+var_100], cl
- .text:10012AC0 mov [esp+164h+var_103], al
- .text:10012AC4 call sub_100015B0
- .text:10012AC9 add esp, 8
- .text:10012ACC xor edi, edi
- .text:10012ACE mov edi, edi
- .text:10012AD0
- .text:10012AD0 loc_10012AD0: ; CODE XREF: Create256Key+BA8j
- .text:10012AD0 movzx ax, [esp+edi+15Ch+var_FC]
- .text:10012AD6 movzx cx, [esp+edi+15Ch+var_F8]
- .text:10012ADC shl ax, 8
- .text:10012AE0 or ax, cx
- .text:10012AE3 movzx edx, ax
- .text:10012AE6 push edx
- .text:10012AE7 push 0
- .text:10012AE9 call sub_100015E0
- .text:10012AEE inc edi
- .text:10012AEF add esp, 8
- .text:10012AF2 cmp edi, 4
- .text:10012AF5 movzx ecx, ax
- .text:10012AF8 jl short loc_10012AD0
- .text:10012AFA mov al, cl
- .text:10012AFC not ecx
- .text:10012AFE sar ecx, 8
- .text:10012B01 not al
- .text:10012B03 mov [esp+15Ch+var_F6], cl
- .text:10012B07 mov cl, [esp+15Ch+var_104]
- .text:10012B0B add cl, [esp+15Ch+var_E4]
- .text:10012B0F mov [esp+15Ch+var_F9], al
- .text:10012B13 add al, [esp+15Ch+var_F1]
- .text:10012B17 add cl, 45h
- .text:10012B1A sub al, 63h
- .text:10012B1C add [esp+15Ch+var_D9], al
- .text:10012B23 mov al, [esp+15Ch+var_100]
- .text:10012B27 add al, [esp+15Ch+var_E0]
- .text:10012B2B movzx ecx, cl
- .text:10012B2E add [esp+15Ch+var_EC], cl
- .text:10012B32 mov cl, [esp+15Ch+var_FC]
- .text:10012B36 add cl, [esp+15Ch+var_F4]
- .text:10012B3A add al, 45h
- .text:10012B3C add [esp+15Ch+var_E8], al
- .text:10012B40 mov al, [esp+15Ch+var_F8]
- .text:10012B44 add al, [esp+15Ch+var_F0]
- .text:10012B48 sub cl, 63h
- .text:10012B4B movzx edx, cl
- .text:10012B4E mov cl, [esp+15Ch+var_103]
- .text:10012B52 add cl, [esp+15Ch+var_E3]
- .text:10012B56 add [esp+15Ch+var_DC], dl
- .text:10012B5D sub al, 63h
- .text:10012B5F add [esp+15Ch+var_D8], al
- .text:10012B66 mov al, [esp+15Ch+var_FF]
- .text:10012B6A add al, [esp+15Ch+var_DF]
- .text:10012B6E add cl, 45h
- .text:10012B71 movzx ecx, cl
- .text:10012B74 add [esp+15Ch+var_EB], cl
- .text:10012B78 mov cl, [esp+15Ch+var_FB]
- .text:10012B7C add cl, [esp+15Ch+var_F3]
- .text:10012B80 add al, 45h
- .text:10012B82 add [esp+15Ch+var_E7], al
- .text:10012B86 mov al, [esp+15Ch+var_F7]
- .text:10012B8A add al, [esp+15Ch+var_EF]
- .text:10012B8E sub cl, 63h
- .text:10012B91 sub al, 63h
- .text:10012B93 add [esp+15Ch+var_D7], al
- .text:10012B9A mov al, [esp+15Ch+var_FE]
- .text:10012B9E add al, [esp+15Ch+var_DE]
- .text:10012BA2 movzx edx, cl
- .text:10012BA5 mov cl, [esp+15Ch+var_102]
- .text:10012BA9 add cl, [esp+15Ch+var_E2]
- .text:10012BAD add [esp+15Ch+var_DB], dl
- .text:10012BB4 add al, 45h
- .text:10012BB6 add [esp+15Ch+var_E6], al
- .text:10012BBA mov al, [esp+15Ch+var_F6]
- .text:10012BBE add cl, 45h
- .text:10012BC1 movzx ecx, cl
- .text:10012BC4 add [esp+15Ch+var_EA], cl
- .text:10012BC8 mov cl, [esp+15Ch+var_FA]
- .text:10012BCC add cl, [esp+15Ch+var_F2]
- .text:10012BD0 add al, bl
- .text:10012BD2 sub al, 63h
- .text:10012BD4 add [esp+15Ch+var_D6], al
- .text:10012BDB mov al, [esp+15Ch+var_FD]
- .text:10012BDF add al, [esp+15Ch+var_DD]
- .text:10012BE3 sub cl, 63h
- .text:10012BE6 movzx edx, cl
- .text:10012BE9 mov cl, [esp+15Ch+var_101]
- .text:10012BED add cl, [esp+15Ch+var_E1]
- .text:10012BF1 add [esp+15Ch+var_DA], dl
- .text:10012BF8 add al, 45h
- .text:10012BFA add [esp+15Ch+var_E5], al
- .text:10012BFE mov al, [esp+15Ch+var_F5]
- .text:10012C02 add al, [esp+15Ch+var_ED]
- .text:10012C06 add cl, 45h
- .text:10012C09 lea edx, [esi+2Fh]
- .text:10012C0C shr edx, 2
- .text:10012C0F movzx ecx, cl
- .text:10012C12 add [esp+15Ch+var_E9], cl
- .text:10012C16 push edx
- .text:10012C17 sub al, 63h
- .text:10012C19 add [esp+160h+var_D5], al
- .text:10012C20 push 0
- .text:10012C22 call sub_100015B0
- .text:10012C27 add esp, 8
- .text:10012C2A xor edi, edi
- .text:10012C2C lea esp, [esp+0]
- .text:10012C30
- .text:10012C30 loc_10012C30: ; CODE XREF: Create256Key+D08j
- .text:10012C30 movzx ax, [esp+edi+15Ch+var_EC]
- .text:10012C36 movzx cx, [esp+edi+15Ch+var_E8]
- .text:10012C3C shl ax, 8
- .text:10012C40 or ax, cx
- .text:10012C43 movzx edx, ax
- .text:10012C46 push edx
- .text:10012C47 push 0
- .text:10012C49 call sub_100015E0
- .text:10012C4E inc edi
- .text:10012C4F add esp, 8
- .text:10012C52 cmp edi, 4
- .text:10012C55 movzx eax, ax
- .text:10012C58 jl short loc_10012C30
- .text:10012C5A mov cl, al
- .text:10012C5C add esi, 0FFFFFFB6h
- .text:10012C5F not eax
- .text:10012C61 shr esi, 3
- .text:10012C64 not cl
- .text:10012C66 sar eax, 8
- .text:10012C69 push esi
- .text:10012C6A push 0
- .text:10012C6C mov [esp+164h+var_E8], cl
- .text:10012C70 mov [esp+164h+var_EB], al
- .text:10012C74 call sub_100015B0
- .text:10012C79 add esp, 8
- .text:10012C7C xor esi, esi
- .text:10012C7E mov edi, edi
- .text:10012C80
- .text:10012C80 loc_10012C80: ; CODE XREF: Create256Key+D5Ej
- .text:10012C80 movzx dx, [esp+esi+15Ch+var_DC]
- .text:10012C89 movzx ax, [esp+esi+15Ch+var_D8]
- .text:10012C92 shl dx, 8
- .text:10012C96 or dx, ax
- .text:10012C99 movzx ecx, dx
- .text:10012C9C push ecx
- .text:10012C9D push 0
- .text:10012C9F call sub_100015E0
- .text:10012CA4 inc esi
- .text:10012CA5 add esp, 8
- .text:10012CA8 cmp esi, 4
- .text:10012CAB movzx eax, ax
- .text:10012CAE jl short loc_10012C80
- .text:10012CB0 mov dl, al
- .text:10012CB2 not eax
- .text:10012CB4 sar eax, 8
- .text:10012CB7 xor ecx, ecx
- .text:10012CB9 not dl
- .text:10012CBB mov [esp+15Ch+var_D9], dl
- .text:10012CC2 mov [esp+15Ch+var_D6], al
- .text:10012CC9 xor esi, esi
- .text:10012CCB lea edi, [ecx+20h]
- .text:10012CCE mov edi, edi
- .text:10012CD0
- .text:10012CD0 loc_10012CD0: ; CODE XREF: Create256Key+DEBj
- .text:10012CD0 mov eax, ecx
- .text:10012CD2 and eax, 80000007h
- .text:10012CD7 jns short loc_10012CDE
- .text:10012CD9 dec eax
- .text:10012CDA or eax, 0FFFFFFF8h
- .text:10012CDD inc eax
- .text:10012CDE
- .text:10012CDE loc_10012CDE: ; CODE XREF: Create256Key+D87j
- .text:10012CDE movzx edx, byte ptr [esp+eax+15Ch+var_74]
- .text:10012CE6 mov eax, edi
- .text:10012CE8 and eax, 80000007h
- .text:10012CED mov [esp+esi+15Ch+var_B4], dl
- .text:10012CF4 jns short loc_10012CFB
- .text:10012CF6 dec eax
- .text:10012CF7 or eax, 0FFFFFFF8h
- .text:10012CFA inc eax
- .text:10012CFB
- .text:10012CFB loc_10012CFB: ; CODE XREF: Create256Key+DA4j
- .text:10012CFB movzx edx, byte ptr [esp+eax+15Ch+var_6C]
- .text:10012D03 mov eax, ecx
- .text:10012D05 and eax, 80000003h
- .text:10012D0A mov [esp+esi+15Ch+var_B3], dl
- .text:10012D11 jns short loc_10012D18
- .text:10012D13 dec eax
- .text:10012D14 or eax, 0FFFFFFFCh
- .text:10012D17 inc eax
- .text:10012D18
- .text:10012D18 loc_10012D18: ; CODE XREF: Create256Key+DC1j
- .text:10012D18 movzx edx, [esp+eax+15Ch+var_134]
- .text:10012D1D mov [esp+esi+15Ch+var_B2], dl
- .text:10012D24 lea edx, [esp+15Ch+var_141]
- .text:10012D28 sub edx, eax
- .text:10012D2A mov al, [edx]
- .text:10012D2C mov [esp+esi+15Ch+var_B1], al
- .text:10012D33 add esi, 4
- .text:10012D36 inc ecx
- .text:10012D37 dec edi
- .text:10012D38 cmp esi, 20h
- .text:10012D3B jl short loc_10012CD0
- .text:10012D3D lea ecx, [esp+15Ch+var_118]
- .text:10012D41 push ecx
- .text:10012D42 lea edx, [esp+160h+var_D4]
- .text:10012D49 push edx
- .text:10012D4A call sub_10011CB0
- .text:10012D4F add esp, 8
- .text:10012D52 xor esi, esi
- .text:10012D54
- .text:10012D54 loc_10012D54: ; CODE XREF: Create256Key+E35j
- .text:10012D54 push 7Fh
- .text:10012D56 push 0
- .text:10012D58 call sub_10011EA0
- .text:10012D5D mov bl, al
- .text:10012D5F add bl, [esp+esi+164h+var_D4]
- .text:10012D66 push 0FFh
- .text:10012D6B push 80h
- .text:10012D70 call sub_10011EA0
- .text:10012D75 sub bl, al
- .text:10012D77 mov [esp+esi+16Ch+var_D4], bl
- .text:10012D7E inc esi
- .text:10012D7F add esp, 10h
- .text:10012D82 cmp esi, 20h
- .text:10012D85 jl short loc_10012D54
- .text:10012D87 mov ecx, 8
- .text:10012D8C lea esi, [esp+15Ch+var_D4]
- .text:10012D93 lea edi, [esp+15Ch+var_64]
- .text:10012D9A rep movsd
- .text:10012D9C mov ecx, 8
- .text:10012DA1 lea esi, [esp+15Ch+var_D0]
- .text:10012DA8 lea edi, [esp+15Ch+var_44]
- .text:10012DAF rep movsd
- .text:10012DB1 mov ecx, 8
- .text:10012DB6 lea esi, [esp+15Ch+var_CC]
- .text:10012DBD lea edi, [esp+15Ch+var_24]
- .text:10012DC4 rep movsd
- .text:10012DC6 xor edi, edi
- .text:10012DC8 jmp short loc_10012DD0
- .text:10012DC8 ; ---------------------------------------------------------------------------
- .text:10012DCA db 8Dh, 9Bh, 4 dup(0)
- .text:10012DD0 ; ---------------------------------------------------------------------------
- .text:10012DD0
- .text:10012DD0 loc_10012DD0: ; CODE XREF: Create256Key+E78j
- .text:10012DD0 ; Create256Key+FBBj
- .text:10012DD0 movzx eax, [esp+edi*2+15Ch+var_D4]
- .text:10012DD8 mov cl, [esp+edi+15Ch+var_D4]
- .text:10012DDF mov [esp+15Ch+var_12D], al
- .text:10012DE3 mov eax, edi
- .text:10012DE5 cdq
- .text:10012DE6 sub eax, edx
- .text:10012DE8 sar eax, 1
- .text:10012DEA mov al, [esp+eax+15Ch+var_D4]
- .text:10012DF1 sub al, cl
- .text:10012DF3 mov [esp+15Ch+var_12E], al
- .text:10012DF7 mov bl, [esp+edi+15Ch+var_64]
- .text:10012DFE mov eax, 2AAAAAABh ; Divisor of 12
- .text:10012E03 imul edi
- .text:10012E05 sar edx, 2
- .text:10012E08 mov eax, edx
- .text:10012E0A shr eax, 1Fh
- .text:10012E0D add eax, edx
- .text:10012E0F mov [esp+15Ch+var_135], cl
- .text:10012E13 movzx ecx, [esp+edi+15Ch+var_B4]
- .text:10012E1B lea edx, [eax+eax*2]
- .text:10012E1E movzx eax, [esp+edi+15Ch+var_44]
- .text:10012E26 add edx, edx
- .text:10012E28 mov [esp+15Ch+var_125], cl
- .text:10012E2C movzx ecx, [esp+edi+15Ch+var_24]
- .text:10012E34 add edx, edx
- .text:10012E36 add edx, edx
- .text:10012E38 mov ebp, edi
- .text:10012E3A xor esi, esi
- .text:10012E3C sub ebp, edx
- .text:10012E3E mov [esp+15Ch+var_149], al
- .text:10012E42 mov [esp+15Ch+var_14A], cl
- .text:10012E46 jmp short loc_10012E50
- .text:10012E46 ; ---------------------------------------------------------------------------
- .text:10012E48 db 8Dh, 0A4h, 24h, 4 dup(0), 90h
- .text:10012E50 ; ---------------------------------------------------------------------------
- .text:10012E50
- .text:10012E50 loc_10012E50: ; CODE XREF: Create256Key+EF6j
- .text:10012E50 ; Create256Key+F98j
- .text:10012E50 add bl, byte ptr [esp+esi+15Ch+var_74]
- .text:10012E57 mov edx, esi
- .text:10012E59 sub bl, byte ptr [esp+esi+15Ch+var_6C]
- .text:10012E60 and edx, 3
- .text:10012E63 mov al, [esp+edx+15Ch+var_134]
- .text:10012E67 mov [esp+15Ch+var_14B], al
- .text:10012E6B add bl, al
- .text:10012E6D mov eax, 0CCCCCCCDh
- .text:10012E72 mul esi
- .text:10012E74 shr edx, 2
- .text:10012E77 lea eax, [edx+edx*4]
- .text:10012E7A movzx edx, [esp+15Ch+var_135]
- .text:10012E7F add dl, byte ptr [esp+esi+15Ch+var_6C]
- .text:10012E86 mov ecx, esi
- .text:10012E88 add [esp+15Ch+var_149], dl
- .text:10012E8C movzx edx, [esp+15Ch+var_12D]
- .text:10012E91 sub dl, byte ptr [esp+esi+15Ch+var_74]
- .text:10012E98 sub ecx, eax
- .text:10012E9A mov eax, [esp+ecx*4+15Ch+var_118]
- .text:10012E9E mov ecx, ebp
- .text:10012EA0 shr eax, cl
- .text:10012EA2 mov cl, [esp+15Ch+var_149]
- .text:10012EA6 add cl, dl
- .text:10012EA8 add cl, [esp+15Ch+var_14B]
- .text:10012EAC movzx edx, [esp+15Ch+var_135]
- .text:10012EB1 sub dl, [esp+15Ch+var_125]
- .text:10012EB5 sub cl, al
- .text:10012EB7 sub dl, byte ptr [esp+esi+15Ch+var_6C]
- .text:10012EBE mov [esp+15Ch+var_149], cl
- .text:10012EC2 movzx ecx, [esp+15Ch+var_12E]
- .text:10012EC7 add cl, byte ptr [esp+esi+15Ch+var_74]
- .text:10012ECE inc esi
- .text:10012ECF add [esp+15Ch+var_14A], cl
- .text:10012ED3 mov cl, [esp+15Ch+var_14A]
- .text:10012ED7 add cl, dl
- .text:10012ED9 add cl, [esp+15Ch+var_14B]
- .text:10012EDD sub bl, al
- .text:10012EDF sub cl, al
- .text:10012EE1 cmp esi, 8
- .text:10012EE4 mov [esp+15Ch+var_14A], cl
- .text:10012EE8 jl loc_10012E50
- .text:10012EEE mov al, [esp+15Ch+var_149]
- .text:10012EF2 mov [esp+edi+15Ch+var_64], bl
- .text:10012EF9 mov [esp+edi+15Ch+var_44], al
- .text:10012F00 mov [esp+edi+15Ch+var_24], cl
- .text:10012F07 inc edi
- .text:10012F08 cmp edi, 20h
- .text:10012F0B jl loc_10012DD0
- .text:10012F11 mov eax, [esp+15Ch+var_124]
- .text:10012F15 mov ebp, [esp+15Ch+var_120]
- .text:10012F19 lea ebx, [esp+15Ch+var_DC]
- .text:10012F20 sub ebx, eax
- .text:10012F22 mov [esp+15Ch+var_124], ebx
- .text:10012F26 lea ebx, [esp+15Ch+var_F4]
- .text:10012F2A sub ebx, eax
- .text:10012F2C mov [esp+15Ch+var_120], ebx
- .text:10012F30 lea esi, [esp+15Ch+var_104]
- .text:10012F34 lea edi, [esp+15Ch+var_FC]
- .text:10012F38 lea edx, [esp+15Ch+var_EC]
- .text:10012F3C lea ecx, [ebp+10h]
- .text:10012F3F lea ebx, [esp+15Ch+var_E4]
- .text:10012F43 sub esi, eax
- .text:10012F45 sub edi, eax
- .text:10012F47 sub ebp, eax
- .text:10012F49 sub edx, eax
- .text:10012F4B sub ebx, eax
- .text:10012F4D mov [esp+15Ch+var_12C], ebx
- .text:10012F51 mov [esp+15Ch+var_13C], 8
- .text:10012F59 lea esp, [esp+0]
- .text:10012F60
- .text:10012F60 loc_10012F60: ; CODE XREF: Create256Key+104Bj
- .text:10012F60 movzx ebx, byte ptr [esi+eax]
- .text:10012F64 mov [eax], bl
- .text:10012F66 movzx ebx, byte ptr [edi+eax]
- .text:10012F6A mov [eax+ebp], bl
- .text:10012F6D movzx ebx, byte ptr [edx+eax]
- .text:10012F71 mov [eax+8], bl
- .text:10012F74 mov ebx, [esp+15Ch+var_124]
- .text:10012F78 movzx ebx, byte ptr [ebx+eax]
- .text:10012F7C mov [ecx-8], bl
- .text:10012F7F mov ebx, [esp+15Ch+var_120]
- .text:10012F83 movzx ebx, byte ptr [ebx+eax]
- .text:10012F87 mov [eax+10h], bl
- .text:10012F8A mov ebx, [esp+15Ch+var_12C]
- .text:10012F8E movzx ebx, byte ptr [ebx+eax]
- .text:10012F92 mov [ecx], bl
- .text:10012F94 inc eax
- .text:10012F95 inc ecx
- .text:10012F96 sub [esp+15Ch+var_13C], 1
- .text:10012F9B jnz short loc_10012F60
- .text:10012F9D mov eax, [esp+15Ch+var_11C]
- .text:10012FA1 lea ecx, [esp+15Ch+var_64]
- .text:10012FA8 lea esi, [esp+15Ch+var_44]
- .text:10012FAF lea edi, [esp+15Ch+var_24]
- .text:10012FB6 sub ecx, eax
- .text:10012FB8 sub esi, eax
- .text:10012FBA sub edi, eax
- .text:10012FBC mov ebp, 20h
- .text:10012FC1
- .text:10012FC1 loc_10012FC1: ; CODE XREF: Create256Key+1089j
- .text:10012FC1 movzx edx, byte ptr [ecx+eax]
- .text:10012FC5 mov [eax], dl
- .text:10012FC7 movzx edx, byte ptr [esi+eax] ; Key is here
- .text:10012FCB mov [eax+20h], dl
- .text:10012FCE movzx edx, byte ptr [edi+eax]
- .text:10012FD2 mov [eax+40h], dl
- .text:10012FD5 inc eax
- .text:10012FD6 sub ebp, 1
- .text:10012FD9 jnz short loc_10012FC1
- .text:10012FDB mov ecx, [esp+15Ch+var_4]
- .text:10012FE2 pop edi
- .text:10012FE3 pop esi
- .text:10012FE4 pop ebp
- .text:10012FE5 pop ebx
- .text:10012FE6 xor ecx, esp
- .text:10012FE8 call Compare2DWORDS
- .text:10012FED add esp, 14Ch
- .text:10012FF3 retn
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement