Function at 0x1020ad00
Capabilities:
Encode data using xor
Encrypt data using des

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov ebx, dword [esp + 0x70]
lea eax, [ebx + 0x100]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x68]
mov dword [eax + 0x220], ebx
mov eax, dword [edx]
mov esi, eax
ror esi, 8
and esi, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or esi, eax
mov eax, dword [edx + 4]
mov ecx, eax
ror ecx, 8
and ecx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or ecx, eax
mov eax, dword [edx + 8]
mov edi, eax
ror edi, 8
and edi, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or edi, eax
mov eax, dword [edx + 0xc]
mov edx, eax
ror edx, 8
and edx, 0xff00ff00
rol eax, 8
and eax, 0xff00ff
or edx, eax
mov dword [esp + 0x50], edx
lea eax, [ebx - 0x80]
cdq
and edx, 0x3f
add eax, edx
sar eax, 6
mov dword [esp + 0x1c], eax
shl eax, 4
mov ebx, dword [eax + 0x10254acc]
mov ebp, dword [eax + 0x10254ac8]
xor ebx, ecx
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0x10254ad0]
mov eax, dword [eax + 0x10254ad4]
xor eax, dword [esp + 0x50]
xor ecx, edi
mov dword [esp + 0x10], eax
mov eax, ecx
shr eax, 0x10
mov edx, ecx
shr edx, 0x18
mov edx, dword [edx*4 + 0x10254af8]
movzx eax, al
xor edx, dword [eax*4 + 0x10254ef8]
mov eax, ecx
shr eax, 8
movzx eax, al
xor edx, dword [eax*4 + 0x102552f8]
mov eax, dword [esp + 0x10]
movzx ecx, cl
xor edx, dword [ecx*4 + 0x102556f8]
xor ebp, esi
mov dword [esp + 0x18], edx
mov ecx, eax
mov edx, eax
shr ecx, 0x18
mov dword [esp + 0x4c], edi
mov dword [esp + 0x14], ebp
shr edx, 0x10
mov edi, dword [ecx*4 + 0x10254af8]
mov ecx, eax
shr ecx, 8
movzx edx, dl
xor edi, dword [edx*4 + 0x10254ef8]
movzx eax, al
movzx ecx, cl
xor edi, dword [ecx*4 + 0x102552f8]
mov ecx, ebx
xor edi, dword [eax*4 + 0x102556f8]
mov eax, ebx
shr eax, 0x10
movzx eax, al
shr ecx, 0x18
mov ecx, dword [ecx*4 + 0x10254af8]
xor ecx, dword [eax*4 + 0x10254ef8]
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x102552f8]
movzx eax, bl
xor ecx, dword [eax*4 + 0x102556f8]
mov edx, dword [esp + 0x18]
mov ebx, ebp
shr ebx, 0x10
movzx ebx, bl
mov eax, ebp
shr eax, 0x18
mov eax, dword [eax*4 + 0x10254af8]
xor eax, dword [ebx*4 + 0x10254ef8]
mov ebx, ebp
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x102552f8]
movzx ebx, byte [esp + 0x14]
xor eax, dword [ebx*4 + 0x102556f8]
xor ecx, edx
xor edx, edi
xor eax, ecx
xor edx, eax
xor edi, ecx
xor ecx, edx
mov ebp, edx
shl edx, 0x10
shr ebp, 0x10
xor ebp, edx
mov edx, edi
ror edx, 8
and edx, 0xff00ff00
rol edi, 8
and edi, 0xff00ff
or edx, edi
mov ebx, ecx
shr ebx, 8
mov edi, ecx
shl edi, 8
xor ebx, edi
and ebx, 0xff00ff
shl ecx, 8
xor ebx, ecx
xor ebx, ebp
xor ebp, edx
xor edx, ebx
xor eax, ebx
xor ebp, eax
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x70]
xor ebx, ebp
cmp edx, 0x80
mov dword [esp + 0x18], ebp
jle 0x1020afa1
mov ebp, dword [esp + 0x6c]
mov ecx, dword [ebp + 0x10]
mov edi, ecx
ror edi, 8
and edi, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or edi, ecx
mov ecx, dword [ebp + 0x14]
mov ebp, ecx
ror ebp, 8
and ebp, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or ebp, ecx
cmp edx, 0xc0
jle 0x1020af9b
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 0x18]
mov ecx, edx
ror ecx, 8
and ecx, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or ecx, edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx + 0x1c]
mov edx, ecx
ror edx, 8
and edx, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or edx, ecx
mov ecx, dword [esp + 0x5c]
jmp 0x1020afa9
xor edx, edx
xor ecx, ecx
jmp 0x1020afa9
xor edx, edx
xor ecx, ecx
xor ebp, ebp
xor edi, edi
xor ecx, dword [esp + 0x18]
xor edx, dword [esp + 0x10]
xor edi, eax
mov eax, dword [esp + 0x1c]
xor ebp, ebx
mov dword [esp + 0x5c], ecx
cmp eax, 2
jne 0x1020afc6
xor eax, eax
jmp 0x1020afc7
inc eax
mov dword [esp + 0x1c], eax
shl eax, 4
mov ebx, dword [eax + 0x10254ac8]
xor ebx, edi
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + 0x10254acc]
xor ebx, ebp
mov dword [esp + 0x6c], ebx
mov ebx, dword [eax + 0x10254ad0]
mov eax, dword [eax + 0x10254ad4]
xor ebx, ecx
xor eax, edx
mov dword [esp + 0x10], eax
mov ecx, ebx
mov eax, ebx
shr eax, 0x18
shr ecx, 0x10
movzx ecx, cl
mov dword [esp + 0x18], ecx
mov ecx, dword [eax*4 + 0x102552f8]
mov eax, dword [esp + 0x18]
xor ecx, dword [eax*4 + 0x102556f8]
mov eax, ebx
shr eax, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x10254af8]
movzx eax, bl
xor ecx, dword [eax*4 + 0x10254ef8]
mov eax, dword [esp + 0x10]
mov ebx, eax
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [ebx*4 + 0x102552f8]
mov ebx, dword [esp + 0x18]
xor eax, dword [ebx*4 + 0x102556f8]
mov ebx, dword [esp + 0x10]
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x10254af8]
movzx ebx, byte [esp + 0x10]
xor eax, dword [ebx*4 + 0x10254ef8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov ebx, eax
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [ebx*4 + 0x102552f8]
mov ebx, dword [esp + 0x18]
xor eax, dword [ebx*4 + 0x102556f8]
mov ebx, dword [esp + 0x6c]
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x10254af8]
movzx ebx, byte [esp + 0x6c]
xor eax, dword [ebx*4 + 0x10254ef8]
xor eax, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x14]
mov ebx, eax
xor ecx, dword [esp + 0x10]
shr eax, 0x10
movzx eax, al
shr ebx, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [ebx*4 + 0x102552f8]
mov ebx, dword [esp + 0x18]
xor eax, dword [ebx*4 + 0x102556f8]
mov ebx, dword [esp + 0x14]
shr ebx, 8
movzx ebx, bl
xor eax, dword [ebx*4 + 0x10254af8]
movzx ebx, byte [esp + 0x14]
xor eax, dword [ebx*4 + 0x10254ef8]
mov ebx, dword [esp + 0x10]
xor eax, dword [esp + 0x6c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x6c]
xor ecx, dword [esp + 0x14]
xor ebx, eax
xor eax, ecx
mov dword [esp + 0x6c], eax
mov eax, ebx
shr eax, 8
mov dword [esp + 0x10], ebx
shl ebx, 8
xor eax, ebx
mov ebx, dword [esp + 0x10]
and eax, 0xff00ff
shl ebx, 8
xor eax, ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x10], eax
mov eax, ebx
ror eax, 8
and eax, 0xff00ff00
rol ebx, 8
and ebx, 0xff00ff
or eax, ebx
mov ebx, dword [esp + 0x14]
xor eax, ecx
xor ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov eax, ebx
shr eax, 0x10
shl ebx, 0x10
xor eax, ebx
mov ebx, dword [esp + 0x6c]
xor dword [esp + 0x10], ebx
xor eax, ebx
xor ecx, eax
mov dword [esp + 0x14], eax
xor eax, esi
mov dword [esp + 0x14], eax
mov eax, ecx
xor ecx, dword [esp + 0x4c]
xor eax, ebx
xor eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x50]
xor dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x2c], ecx
cmp eax, 2
jne 0x1020b1ce
xor eax, eax
jmp 0x1020b1cf
inc eax
shl eax, 4
xor ecx, dword [eax + 0x10254ad0]
xor ebx, dword [eax + 0x10254ac8]
mov dword [esp + 0x14], ebx
mov ebx, dword [eax + 0x10254acc]
xor dword [esp + 0x6c], ebx
mov eax, dword [eax + 0x10254ad4]
xor dword [esp + 0x10], eax
mov ebx, ecx
mov eax, ecx
shr eax, 0x18
shr ebx, 0x10
movzx ebx, bl
mov dword [esp + 0x1c], ebx
mov ebx, dword [eax*4 + 0x10254af8]
mov eax, dword [esp + 0x1c]
xor ebx, dword [eax*4 + 0x10254ef8]
mov eax, ecx
movzx ecx, cl
shr eax, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x102552f8]
mov eax, dword [esp + 0x10]
xor ebx, dword [ecx*4 + 0x102556f8]
mov ecx, eax
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x1c], eax
mov eax, dword [ecx*4 + 0x10254af8]
mov ecx, dword [esp + 0x1c]
xor eax, dword [ecx*4 + 0x10254ef8]
mov ecx, dword [esp + 0x10]
shr ecx, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x102552f8]
movzx ecx, byte [esp + 0x10]
xor eax, dword [ecx*4 + 0x102556f8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
mov ecx, eax
shr ecx, 0x18
shr eax, 0x10
movzx eax, al
mov dword [esp + 0x1c], eax
mov eax, dword [ecx*4 + 0x10254af8]
mov ecx, dword [esp + 0x1c]
xor eax, dword [ecx*4 + 0x10254ef8]
mov ecx, dword [esp + 0x6c]
shr ecx, 8
movzx ecx, cl
xor eax, dword [ecx*4 + 0x102552f8]
movzx ecx, byte [esp + 0x6c]
xor eax, dword [ecx*4 + 0x102556f8]
mov ecx, dword [esp + 0x14]
xor eax, ebx
xor ebx, dword [esp + 0x10]
xor dword [esp + 0x10], eax
mov dword [esp + 0x18], ebx
mov ebx, ecx
shr ecx, 0x10
movzx ecx, cl
shr ebx, 0x18
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx*4 + 0x10254af8]
mov ebx, dword [esp + 0x6c]
xor ecx, dword [ebx*4 + 0x10254ef8]
mov ebx, dword [esp + 0x14]
shr ebx, 8
movzx ebx, bl
xor ecx, dword [ebx*4 + 0x102552f8]
movzx ebx, byte [esp + 0x14]
xor ecx, dword [ebx*4 + 0x102556f8]
mov ebx, dword [esp + 0x18]
xor ecx, eax
xor ebx, ecx
mov dword [esp + 0x14], ecx
mov ecx, ebx
xor eax, ebx
shr ecx, 0x10
shl ebx, 0x10
xor ecx, ebx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x10]
mov ebx, ecx
ror ebx, 8
and ebx, 0xff00ff00
rol ecx, 8
and ecx, 0xff00ff
or ebx, ecx
mov ecx, eax
shr ecx, 8
mov dword [esp + 0x10], ebx
mov ebx, eax
shl eax, 8
shl ebx, 8
xor ecx, ebx
mov ebx, dword [esp + 0x14]
and ecx, 0xff00ff
xor ecx, eax
mov eax, dword [esp + 0x18]
xor ecx, eax
xor eax, dword [esp + 0x10]
xor ebx, ecx
xor eax, ebx
mov dword [esp + 0x18], eax
mov eax, edi
xor eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x34], eax
mov eax, ebp
xor eax, ebx
xor eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x5c]
xor eax, ebx
mov dword [esp + 0x3c], eax
mov eax, edx
xor eax, dword [esp + 0x10]
mov ebx, edi
xor eax, ecx
mov dword [esp + 0x40], eax
mov ecx, edx
shl ecx, 0xd
mov eax, edi
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x68]
xor ecx, esi
mov dword [eax], ecx
shl ebx, 0xd
mov ecx, ebp
shr ecx, 0x13
xor ecx, ebx
xor ecx, dword [esp + 0x48]
mov ebx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
shl ebx, 0xd
mov ecx, edx
shr ecx, 0x13
xor ecx, ebx
xor ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0xd
shr ebx, 0x13
xor ecx, ebx
mov ebx, dword [esp + 0x24]
xor ecx, edi
add eax, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
shr ecx, 0x13
mov ebx, dword [esp + 0x28]
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x34]
shl ecx, 0xd
shr ebx, 0x13
xor ecx, ebx
xor ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x3c]
shr ecx, 0x13
add eax, 0x10
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x30]
mov ebx, esi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0xd
shr ebx, 0x13
xor ecx, ebx
xor ecx, dword [esp + 0x34]
add eax, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 0x13
mov ebx, esi
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x13
shl ebx, 0xd
xor ecx, ebx
xor ecx, dword [esp + 0x40]
mov ebx, edi
mov dword [eax + 0xc], ecx
shr ebx, 0x1f
lea ecx, [edx + edx]
xor ecx, ebx
add eax, 0x10
xor ecx, esi
mov dword [eax], ecx
mov ecx, ebp
shr ecx, 0x1f
lea ebx, [edi + edi]
xor ecx, ebx
xor ecx, dword [esp + 0x48]
lea ebx, [ebp + ebp]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
shr ecx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
add ebx, ebx
mov ecx, edx
shr ecx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x24]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
add ecx, ecx
shr ebx, 0x1f
xor ecx, ebx
xor ecx, edi
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
mov ebx, dword [esp + 0x28]
xor ecx, ebp
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x2c]
shr ecx, 0x1f
add eax, 0x10
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
mov ebx, dword [esp + 0x34]
xor ecx, edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
add ecx, ecx
shr ebx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 0x1f
add eax, 0x10
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x30]
add eax, 0x10
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x50]
add ecx, ecx
mov ebx, esi
shr ebx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x34]
lea ebx, [esi + esi]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x1f
add ebx, ebx
xor ecx, ebx
xor ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x5c]
mov dword [eax + 0xc], ecx
shr ebx, 3
mov ecx, ebp
shl ecx, 0x1d
xor ecx, ebx
xor ecx, esi
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x5c]
shl ecx, 0x1d
add eax, 0x10
mov ebx, edx
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x48]
mov ebx, edi
mov dword [eax + 4], ecx
shr ebx, 3
mov ecx, edx
shl ecx, 0x1d
xor ecx, ebx
xor ecx, dword [esp + 0x4c]
mov ebx, ebp
mov dword [eax + 8], ecx
shr ebx, 3
mov ecx, edi
shl ecx, 0x1d
xor ecx, ebx
xor ecx, dword [esp + 0x50]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x28]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
mov ebx, dword [esp + 0x30]
xor ecx, edi
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x2c]
add eax, 0x10
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
mov ebx, dword [esp + 0x24]
xor ecx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
xor ecx, edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x38]
shl ecx, 0x1d
mov ebx, dword [esp + 0x3c]
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x40]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x3c]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x40]
shl ecx, 0x1d
add eax, 0x10
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 3
shl ebx, 0x1d
xor ecx, ebx
xor ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x48]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x4c]
shl ecx, 0x1d
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x38]
add eax, 0x10
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0x1d
mov ebx, esi
shr ebx, 3
xor ecx, ebx
xor ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x48]
mov dword [eax + 8], ecx
shr ebx, 3
mov ecx, esi
shl ecx, 0x1d
xor ecx, ebx
xor ecx, dword [esp + 0x40]
mov ebx, ebp
mov dword [eax + 0xc], ecx
shr ebx, 1
mov ecx, edi
shl ecx, 0x1f
xor ecx, ebx
mov ebx, dword [esp + 0x5c]
xor ecx, esi
mov dword [eax + 0x10], ecx
add eax, 0x10
shr ebx, 1
mov ecx, ebp
shl ecx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x48]
mov ebx, edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x5c]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, edx
shl ecx, 0x1f
mov ebx, edi
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x50]
add eax, 0x10
cmp dword [esp + 0x70], 0x80
mov dword [eax - 4], ecx
jle 0x1020b8bf
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
mov ebx, dword [esp + 0x30]
xor ecx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x2c]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x24]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
mov ebx, dword [esp + 0x34]
xor ecx, edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 1
shl ebx, 0x1f
xor ecx, ebx
xor ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x38]
shl ecx, 0x1f
add eax, 0x10
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x3c]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x30]
add eax, 0x10
mov dword [eax - 4], ecx
cmp dword [esp + 0x70], 0xc0
jle 0x1020b968
mov ebx, dword [esp + 0x48]
mov ecx, esi
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x4c]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x3c]
mov ebx, esi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0x1f
shr ebx, 1
xor ecx, ebx
xor ecx, dword [esp + 0x40]
mov ebx, edi
mov dword [eax + 0xc], ecx
mov ecx, ebp
shr ecx, 0xd
shl ebx, 0x13
xor ecx, ebx
xor ecx, esi
add eax, 0x10
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov esi, ecx
shr esi, 0xd
shl ebp, 0x13
xor esi, ebp
xor esi, dword [esp + 0x48]
shl ecx, 0x13
mov dword [eax + 4], esi
mov esi, edx
shr esi, 0xd
shl edx, 0x13
shr edi, 0xd
xor esi, ecx
xor esi, dword [esp + 0x4c]
xor edx, edi
xor edx, dword [esp + 0x50]
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x20]
lea ebp, [esi + 0x110]
shl ebx, 4
add ebx, ebp
mov edi, ebp
mov ecx, 0x44
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebx]
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp], edi
mov edi, dword [ebx + 4]
mov dword [ebp + 4], edi
mov edi, dword [ebx + 8]
mov dword [ebp + 8], edi
mov edi, dword [ebx + 0xc]
mov dword [ebp + 0xc], edi
mov dword [ebx], eax
mov dword [ebx + 4], ecx
mov dword [ebx + 8], edx
mov dword [ebx + 0xc], esi
add ebp, 0x10
sub ebx, 0x10
mov dword [esp + 0x6c], ebp
cmp ebp, ebx
jae 0x1020bbd2
mov eax, dword [ebp + 8]
mov ecx, eax
shr ecx, 8
xor ecx, eax
mov edx, eax
shl edx, 8
xor edx, eax
shl edx, 8
xor edx, eax
shr ecx, 8
xor ecx, eax
mov eax, dword [ebp + 0xc]
shl edx, 8
shr ecx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
shl esi, 8
shr edx, 8
xor edx, esi
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov eax, esi
shr eax, 8
xor eax, esi
mov edi, esi
shl edi, 8
xor edi, esi
shl edi, 8
xor edi, esi
shr eax, 8
xor eax, esi
shl edi, 8
shr eax, 8
xor eax, edi
mov esi, ebp
shr esi, 8
xor esi, ebp
mov edi, ebp
shl edi, 8
xor edi, ebp
xor eax, ecx
shl edi, 8
xor edi, ebp
shr esi, 8
xor esi, ebp
xor ecx, edx
shl edi, 8
shr esi, 8
xor esi, edi
xor esi, eax
xor ecx, esi
xor edx, eax
xor eax, ecx
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
xor edi, ecx
mov ebp, edx
ror ebp, 8
and ebp, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or ebp, edx
mov ecx, eax
shr ecx, 8
mov edx, eax
shl edx, 8
xor ecx, edx
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
xor ecx, edi
xor edi, ebp
xor esi, ecx
xor edi, esi
xor ebp, ecx
mov eax, edi
xor eax, ecx
mov dword [esp + 0x68], eax
mov eax, dword [ebx + 8]
mov ecx, eax
mov edx, eax
shl edx, 8
xor edx, eax
shr ecx, 8
xor ecx, eax
shl edx, 8
xor edx, eax
shr ecx, 8
xor ecx, eax
mov eax, dword [ebx + 0xc]
shl edx, 8
mov dword [esp + 0x70], esi
shr ecx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
mov dword [esp + 0x1c], edi
shl esi, 8
shr edx, 8
xor edx, esi
mov esi, dword [ebx + 4]
mov eax, esi
shr eax, 8
xor eax, esi
mov edi, esi
shl edi, 8
xor edi, esi
shl edi, 8
xor edi, esi
shr eax, 8
xor eax, esi
mov esi, dword [ebx]
shl edi, 8
mov dword [esp + 0x18], ebp
shr eax, 8
xor eax, edi
mov edi, esi
shr edi, 8
xor edi, esi
mov ebp, esi
shl ebp, 8
xor ebp, esi
shr edi, 8
xor edi, esi
shl ebp, 8
xor ebp, esi
xor eax, ecx
shl ebp, 8
shr edi, 8
xor edi, ebp
xor ecx, edx
xor edi, eax
xor ecx, edi
xor edx, eax
xor eax, ecx
mov esi, ecx
shr esi, 0x10
shl ecx, 0x10
mov ebp, edx
xor esi, ecx
ror ebp, 8
and ebp, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or ebp, edx
mov ecx, eax
mov edx, eax
shr ecx, 8
shl edx, 8
xor ecx, edx
mov edx, dword [esp + 0x68]
shl eax, 8
and ecx, 0xff00ff
xor ecx, eax
xor ecx, esi
xor edi, ecx
xor esi, ebp
xor esi, edi
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x6c]
mov eax, esi
xor eax, ecx
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x10]
xor eax, ecx
mov ecx, dword [esp + 0x70]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov dword [ebp], edi
mov dword [ebp + 8], esi
mov dword [ebx], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + 4], edx
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], ecx
add ebp, 0x10
sub ebx, 0x10
mov dword [esp + 0x6c], ebp
cmp ebp, ebx
jb 0x1020b9c4
mov eax, dword [ebp + 8]
mov ecx, eax
shr ecx, 8
xor ecx, eax
mov edx, eax
shl edx, 8
xor edx, eax
shl edx, 8
xor edx, eax
shr ecx, 8
xor ecx, eax
mov eax, dword [ebp + 0xc]
shl edx, 8
shr ecx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
shl esi, 8
xor esi, eax
shr edx, 8
xor edx, eax
shl esi, 8
shr edx, 8
xor edx, esi
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov eax, esi
shr eax, 8
xor eax, esi
mov edi, esi
shl edi, 8
xor edi, esi
shl edi, 8
xor edi, esi
shr eax, 8
xor eax, esi
shl edi, 8
shr eax, 8
xor eax, edi
mov esi, ebp
shr esi, 8
xor esi, ebp
mov edi, ebp
shl edi, 8
xor edi, ebp
xor eax, ecx
shl edi, 8
xor edi, ebp
shr esi, 8
xor esi, ebp
xor ecx, edx
shl edi, 8
shr esi, 8
xor esi, edi
xor esi, eax
xor ecx, esi
xor edx, eax
xor eax, ecx
mov edi, ecx
shl ecx, 0x10
shr edi, 0x10
xor edi, ecx
mov ebp, edx
ror ebp, 8
and ebp, 0xff00ff00
rol edx, 8
and edx, 0xff00ff
or ebp, edx
mov ecx, eax
shr ecx, 8
mov edx, eax
shl edx, 8
xor ecx, edx
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
xor ecx, edi
xor edi, ebp
xor esi, ecx
xor edi, esi
mov eax, edi
xor eax, ecx
mov dword [ebx + 8], edi
pop edi
mov dword [ebx], esi
xor ebp, ecx
pop esi
mov dword [ebx + 0xc], ebp
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x18]
pop ebp
pop ebx
add esp, 0x54
ret