0052064c push ebp
0052064d mov ebp, esp
0052064f push ecx
00520650 push ebx
00520651 push esi
00520652 push edi
00520653 mov edi, dword ptr [ebp + 0xc]
00520656 mov esi, dword ptr [ebp + 8]
00520659 xor eax, eax
0052065b push edi
0052065c mov dword ptr [0x59fbf8], eax
00520661 call 0x4014ec
00520666 mov ebx, eax
00520668 mov al, byte ptr [esi + 3]
0052066b add ebx, 0xfffff830
00520671 and al, 1
00520673 and bl, 0x7f
00520676 add ebx, ebx
00520678 or bl, al
0052067a mov byte ptr [esi + 3], bl
0052067d push edi
0052067e call 0x4014ec
00520683 mov ebx, eax
00520685 mov ax, word ptr [esi + 2]
00520689 dec ebx
0052068a and bx, 0xf
0052068e and ax, 0xfe1f
00520692 shl ebx, 5
00520695 or bx, ax
00520698 mov word ptr [esi + 2], bx
0052069c push edi
0052069d call 0x4014ec
005206a2 mov ebx, eax
005206a4 mov al, byte ptr [esi + 2]
005206a7 and al, 0xe0
005206a9 and bl, 0x1f
005206ac or bl, al
005206ae mov byte ptr [esi + 2], bl
005206b1 push edi
005206b2 call 0x4014ec
005206b7 mov ebx, eax
005206b9 push edi
005206ba shl ebx, 2
005206bd lea ebx, [ebx + ebx*2]
005206c0 lea ebx, [ebx + ebx*4]
005206c3 call 0x4014ec
005206c8 add ebx, eax
005206ca and bx, 0x7ff
005206cf shl ebx, 5
005206d2 mov ax, word ptr [esi]
005206d5 and ax, 0x1f
005206d9 or bx, ax
005206dc mov word ptr [esi], bx
005206df push edi
005206e0 call 0x4014ec
005206e5 mov ebx, eax
005206e7 mov al, byte ptr [esi]
005206e9 and al, 0xe0
005206eb and bl, 0x1f
005206ee or bl, al
005206f0 mov byte ptr [esi], bl
005206f2 mov edx, dword ptr [0x59fbfc]
005206f8 shr edx, 0x11
005206fb test dl, 1
005206fe je 0x5207c8
00520704 xor ecx, ecx
00520706 lea ebx, [esi + 8]
00520709 mov dword ptr [ebp - 4], ecx
0052070c mov esi, ebx
0052070e push edi
0052070f call 0x4014ec
00520714 and eax, 0x3fff
00520719 mov edx, dword ptr [esi]
0052071b shl eax, 0xc
0052071e and edx, 0xfc000fff
00520724 or eax, edx
00520726 mov dword ptr [esi], eax
00520728 lea esi, [ebx + 4]
0052072b push edi
0052072c call 0x4014ec
00520731 and ax, 0x3fff
00520735 shl eax, 2
00520738 mov dx, word ptr [esi + 2]
0052073c and dx, 3
00520741 or ax, dx
00520744 mov word ptr [esi + 2], ax
00520748 mov esi, ebx
0052074a push edi
0052074b call 0x4014ec
00520750 and al, 0xf
00520752 mov dl, byte ptr [esi + 3]
00520755 shl eax, 2
00520758 and dl, 0xc3
0052075b or al, dl
0052075d mov byte ptr [esi + 3], al
00520760 lea esi, [ebx - 4]
00520763 push edi
00520764 call 0x4014ec
00520769 and ax, 0x3fff
0052076d shl eax, 2
00520770 mov dx, word ptr [esi + 2]
00520774 and dx, 3
00520779 or ax, dx
0052077c mov word ptr [esi + 2], ax
00520780 mov esi, ebx
00520782 push edi
00520783 call 0x4014ec
00520788 and al, 3
0052078a mov dl, byte ptr [esi + 3]
0052078d shl eax, 6
00520790 and dl, 0x3f
00520793 or al, dl
00520795 mov byte ptr [esi + 3], al
00520798 lea esi, [ebx - 4]
0052079b push edi
0052079c call 0x4014ec
005207a1 and ax, 0x3fff
005207a5 shl eax, 2
005207a8 mov dx, word ptr [esi]
005207ab and dx, 3
005207b0 or ax, dx
005207b3 mov word ptr [esi], ax
005207b6 inc dword ptr [ebp - 4]
005207b9 add ebx, 0xc
005207bc mov eax, dword ptr [ebp - 4]
005207bf cmp eax, 0xc
005207c2 jl 0x52070c
005207c8 pop edi
005207c9 pop esi
005207ca pop ebx
005207cb pop ecx
005207cc pop ebp
005207cd ret 8
