REF ec22b4 2164659
02164636 01ff                     add edi, edi
02164638 15a820ec00               adc eax, 0xec20a8
0216463d c70578235d0101000000     mov dword ptr [0x15d2378], 1
02164647 eb9d                     jmp 0x21645e6
02164649 0000                     add byte ptr [eax], al
0216464b 0000                     add byte ptr [eax], al
0216464d 0000                     add byte ptr [eax], al
0216464f 006a01                   add byte ptr [edx + 1], ch
02164652 6a1a                     push 0x1a
02164654 57                       push edi
02164655 6a00                     push 0
02164657 ff15b422ec00             call dword ptr [0xec22b4]
0216465d 85c0                     test eax, eax
0216465f 0f8503000000             jne 0x2164668
02164665 c20800                   ret 8
02164668 53                       push ebx
02164669 56                       push esi
0216466a 8b742410                 mov esi, dword ptr [esp + 0x10]
0216466e 56                       push esi
0216466f ba448b1202               mov edx, 0x2128b44
02164674 89f9                     mov ecx, edi
02164676 e8d5efc2fe               call 0xd93650
0216467b 33db                     xor ebx, ebx
0216467d 66391f                   cmp word ptr [edi], bx
02164680 0f840e000000             je 0x2164694
02164686 8bff                     mov edi, edi
02164688 43                       inc ebx
02164689 66833c5f00               cmp word ptr [edi + ebx*2], 0
0216468e 0f85f4ffffff             jne 0x2164688
02164694 8d46ff                   lea eax, [esi - 1]
02164697 3bd8                     cmp ebx, eax
02164699 0f8d7a000000             jge 0x2164719
0216469f 55                       push ebp
021646a0 33ed                     xor ebp, ebp
021646a2 a1900f0901               mov eax, dword ptr [0x1090f90]
021646a7 0fb7740500               movzx esi, word ptr [ebp + eax]
021646ac 6685f6                   test si, si
021646af 0f845f000000             je 0x2164714
021646b5 83fe61                   cmp esi, 0x61
021646b8 0f8209000000             jb 0x21646c7
021646be 83fe7a                   cmp esi, 0x7a
021646c1 0f8638000000             jbe 0x21646ff
021646c7 83fe41                   cmp esi, 0x41
021646ca 0f8209000000             jb 0x21646d9
021646d0 83fe5a                   cmp esi, 0x5a
021646d3 0f8626000000             jbe 0x21646ff
021646d9 83fe30                   cmp esi, 0x30
021646dc 0f8209000000             jb 0x21646eb
021646e2 83fe39                   cmp esi, 0x39
021646e5 0f8614000000             jbe 0x21646ff
021646eb 8bd6                     mov edx, esi
REF 2128b44 2164670
0216464d 0000                     add byte ptr [eax], al
0216464f 006a01                   add byte ptr [edx + 1], ch
02164652 6a1a                     push 0x1a
02164654 57                       push edi
02164655 6a00                     push 0
02164657 ff15b422ec00             call dword ptr [0xec22b4]
0216465d 85c0                     test eax, eax
0216465f 0f8503000000             jne 0x2164668
02164665 c20800                   ret 8
02164668 53                       push ebx
02164669 56                       push esi
0216466a 8b742410                 mov esi, dword ptr [esp + 0x10]
0216466e 56                       push esi
0216466f ba448b1202               mov edx, 0x2128b44
02164674 89f9                     mov ecx, edi
02164676 e8d5efc2fe               call 0xd93650
0216467b 33db                     xor ebx, ebx
0216467d 66391f                   cmp word ptr [edi], bx
02164680 0f840e000000             je 0x2164694
02164686 8bff                     mov edi, edi
02164688 43                       inc ebx
02164689 66833c5f00               cmp word ptr [edi + ebx*2], 0
0216468e 0f85f4ffffff             jne 0x2164688
02164694 8d46ff                   lea eax, [esi - 1]
02164697 3bd8                     cmp ebx, eax
02164699 0f8d7a000000             jge 0x2164719
0216469f 55                       push ebp
021646a0 33ed                     xor ebp, ebp
021646a2 a1900f0901               mov eax, dword ptr [0x1090f90]
021646a7 0fb7740500               movzx esi, word ptr [ebp + eax]
021646ac 6685f6                   test si, si
021646af 0f845f000000             je 0x2164714
021646b5 83fe61                   cmp esi, 0x61
021646b8 0f8209000000             jb 0x21646c7
021646be 83fe7a                   cmp esi, 0x7a
021646c1 0f8638000000             jbe 0x21646ff
021646c7 83fe41                   cmp esi, 0x41
021646ca 0f8209000000             jb 0x21646d9
021646d0 83fe5a                   cmp esi, 0x5a
021646d3 0f8626000000             jbe 0x21646ff
021646d9 83fe30                   cmp esi, 0x30
021646dc 0f8209000000             jb 0x21646eb
021646e2 83fe39                   cmp esi, 0x39
021646e5 0f8614000000             jbe 0x21646ff
021646eb 8bd6                     mov edx, esi
021646ed b9c88f1202               mov ecx, 0x2128fc8
021646f2 e8b9efc2fe               call 0xd936b0
021646f7 85c0                     test eax, eax
021646f9 0f8405000000             je 0x2164704
021646ff 6689345f                 mov word ptr [edi + ebx*2], si
02164703 43                       inc ebx