Function at 0x101482b0
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x5c
mov ecx, dword [esp + 0x68]
push ebx
push ebp
push esi
lea eax, [ecx + 0x100]
push edi
cdq
and edx, 0x1f
add eax, edx
mov edx, dword [esp + 0x74]
sar eax, 5
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x70]
mov dword [eax + 0x220], ecx
mov eax, dword [edx]
mov edi, eax
mov esi, eax
and edi, 0xff0000
shr esi, 0x10
or edi, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
mov eax, dword [edx + 4]
shr edi, 8
shl esi, 8
or edi, esi
mov ebp, eax
mov esi, eax
and ebp, 0xff0000
shr esi, 0x10
or ebp, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
mov eax, dword [edx + 8]
shr ebp, 8
shl esi, 8
or ebp, esi
mov ebx, eax
mov esi, eax
and ebx, 0xff0000
shr esi, 0x10
or ebx, esi
mov esi, eax
shl esi, 0x10
and eax, 0xff00
or esi, eax
mov eax, dword [edx + 0xc]
shr ebx, 8
shl esi, 8
or ebx, esi
mov esi, eax
mov edx, eax
and esi, 0xff0000
shr edx, 0x10
or esi, edx
mov edx, eax
shl edx, 0x10
and eax, 0xff00
or edx, eax
lea eax, [ecx - 0x80]
shr esi, 8
shl edx, 8
or esi, edx
cdq
and edx, 0x3f
mov dword [esp + 0x68], esi
add eax, edx
sar eax, 6
mov edx, eax
mov dword [esp + 0x20], eax
shl edx, 4
mov eax, dword [edx + 0x1017fc54]
mov ecx, dword [edx + 0x1017fc5c]
xor eax, edi
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x1017fc58]
xor eax, ebp
mov edx, dword [edx + 0x1017fc60]
xor ecx, ebx
xor edx, esi
mov esi, ecx
mov dword [esp + 0x10], edx
mov edx, ecx
shr esi, 0x10
shr edx, 0x18
and esi, 0xff
mov edx, dword [edx*4 + 0x1017fc84]
xor edx, dword [esi*4 + 0x10180084]
mov esi, ecx
shr esi, 8
and esi, 0xff
and ecx, 0xff
xor edx, dword [esi*4 + 0x10180484]
mov esi, dword [ecx*4 + 0x10180884]
mov ecx, dword [esp + 0x10]
xor edx, esi
mov esi, ecx
shr esi, 0x18
mov dword [esp + 0x1c], esi
mov esi, ecx
mov ecx, dword [esp + 0x1c]
shr esi, 0x10
mov ecx, dword [ecx*4 + 0x1017fc84]
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180084]
mov esi, dword [esp + 0x10]
shr esi, 8
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180484]
mov esi, dword [esp + 0x10]
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180884]
mov esi, eax
shr esi, 0x10
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 0x18
and esi, 0xff
mov ecx, dword [ecx*4 + 0x1017fc84]
xor ecx, dword [esi*4 + 0x10180084]
mov esi, eax
shr esi, 8
and esi, 0xff
and eax, 0xff
xor ecx, dword [esi*4 + 0x10180484]
mov esi, dword [eax*4 + 0x10180884]
mov eax, dword [esp + 0x18]
xor ecx, esi
mov esi, dword [esp + 0x10]
xor ecx, edx
xor edx, esi
mov esi, eax
shr esi, 0x18
mov dword [esp + 0x1c], esi
mov esi, eax
mov eax, dword [esp + 0x1c]
shr esi, 0x10
mov eax, dword [eax*4 + 0x1017fc84]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180084]
mov esi, dword [esp + 0x18]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x10180484]
mov esi, dword [esp + 0x18]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180884]
mov esi, dword [esp + 0x10]
xor esi, ecx
xor eax, ecx
mov dword [esp + 0x10], esi
xor edx, eax
mov esi, edx
xor ecx, edx
shr esi, 0x10
shl edx, 0x10
xor esi, edx
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
mov edx, esi
and edx, 0xff0000
shr esi, 0x10
or edx, esi
shr edx, 8
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x10]
mov esi, edx
and edx, 0xff00
shl esi, 0x10
or esi, edx
mov edx, dword [esp + 0x18]
shl esi, 8
or edx, esi
mov esi, ecx
shr esi, 8
and ch, 0
and esi, 0xff00ff
shl ecx, 8
xor esi, ecx
mov ecx, dword [esp + 0x1c]
xor esi, ecx
xor ecx, edx
xor eax, esi
xor edx, esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x78]
xor ecx, eax
xor esi, ecx
cmp edx, 0x80
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], esi
jle 0x1014867a
mov ecx, dword [esp + 0x74]
mov ecx, dword [ecx + 0x10]
mov edx, ecx
mov esi, ecx
and edx, 0xff0000
shr esi, 0x10
or edx, esi
mov esi, ecx
shl esi, 0x10
and ecx, 0xff00
or esi, ecx
mov ecx, dword [esp + 0x74]
shr edx, 8
shl esi, 8
or edx, esi
mov esi, dword [ecx + 0x14]
mov ecx, esi
mov dword [esp + 0x18], esi
and ecx, 0xff0000
shr esi, 0x10
or ecx, esi
shr ecx, 8
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x18]
mov esi, ecx
and ecx, 0xff00
shl esi, 0x10
or esi, ecx
mov ecx, dword [esp + 0x28]
shl esi, 8
or ecx, esi
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x78]
cmp ecx, 0xc0
jle 0x10148666
mov ecx, dword [esp + 0x74]
mov esi, dword [ecx + 0x18]
mov ecx, esi
mov dword [esp + 0x28], esi
and ecx, 0xff0000
shr esi, 0x10
or ecx, esi
shr ecx, 8
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x28]
mov esi, ecx
and ecx, 0xff00
shl esi, 0x10
or esi, ecx
mov ecx, dword [esp + 0x18]
shl esi, 8
or ecx, esi
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x74]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
mov dword [esp + 0x74], esi
and ecx, 0xff0000
shr esi, 0x10
or ecx, esi
shr ecx, 8
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov esi, ecx
and ecx, 0xff00
shl esi, 0x10
or esi, ecx
mov ecx, dword [esp + 0x28]
shl esi, 8
or ecx, esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x1c]
jmp 0x10148694
mov esi, dword [esp + 0x14]
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
jmp 0x10148694
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
xor edx, edx
xor edx, eax
mov eax, dword [esp + 0x30]
xor eax, esi
mov esi, dword [esp + 0x34]
xor esi, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x20]
xor ecx, eax
cmp esi, 2
mov dword [esp + 0x38], ecx
jne 0x101486c5
xor esi, esi
jmp 0x101486c6
inc esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x30]
shl esi, 4
mov eax, dword [esi + 0x1017fc54]
xor eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x1017fc58]
xor eax, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x1017fc5c]
mov esi, dword [esi + 0x1017fc60]
xor eax, ecx
mov ecx, dword [esp + 0x38]
xor esi, ecx
mov ecx, eax
mov dword [esp + 0x10], esi
mov esi, eax
shr esi, 0x10
shr ecx, 0x18
and esi, 0xff
mov ecx, dword [ecx*4 + 0x10180484]
xor ecx, dword [esi*4 + 0x10180884]
mov esi, eax
shr esi, 8
and esi, 0xff
and eax, 0xff
xor ecx, dword [esi*4 + 0x1017fc84]
mov esi, dword [eax*4 + 0x10180084]
mov eax, dword [esp + 0x10]
xor ecx, esi
mov esi, eax
shr esi, 0x18
mov dword [esp + 0x74], esi
mov esi, eax
mov eax, dword [esp + 0x74]
shr esi, 0x10
mov eax, dword [eax*4 + 0x10180484]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180884]
mov esi, dword [esp + 0x10]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x1017fc84]
mov esi, dword [esp + 0x10]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180084]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov esi, eax
shr esi, 0x18
mov dword [esp + 0x74], esi
mov esi, eax
mov eax, dword [esp + 0x74]
shr esi, 0x10
mov eax, dword [eax*4 + 0x10180484]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180884]
mov esi, dword [esp + 0x14]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x1017fc84]
mov esi, dword [esp + 0x14]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180084]
mov esi, dword [esp + 0x10]
xor eax, ecx
xor ecx, esi
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov esi, eax
shr esi, 0x18
mov dword [esp + 0x74], esi
mov esi, eax
mov eax, dword [esp + 0x74]
shr esi, 0x10
mov eax, dword [eax*4 + 0x10180484]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180884]
mov esi, dword [esp + 0x18]
shr esi, 8
and esi, 0xff
xor eax, dword [esi*4 + 0x1017fc84]
mov esi, dword [esp + 0x18]
and esi, 0xff
xor eax, dword [esi*4 + 0x10180084]
mov esi, dword [esp + 0x14]
xor eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
xor ecx, dword [esp + 0x18]
xor eax, esi
xor esi, ecx
mov dword [esp + 0x14], esi
mov esi, eax
shr esi, 8
and ah, 0
and esi, 0xff00ff
shl eax, 8
xor esi, eax
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x14]
mov eax, esi
and eax, 0xff0000
shr esi, 0x10
or eax, esi
shr eax, 8
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x14]
mov esi, eax
and esi, 0xff00
shl eax, 0x10
or esi, eax
mov eax, dword [esp + 0x74]
shl esi, 8
or eax, esi
mov esi, dword [esp + 0x10]
xor eax, ecx
xor ecx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov eax, esi
shr eax, 0x10
shl esi, 0x10
xor eax, esi
mov esi, dword [esp + 0x14]
xor eax, esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
xor eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
xor ecx, eax
xor eax, edi
mov dword [esp + 0x18], eax
mov eax, ecx
xor eax, esi
mov esi, dword [esp + 0x10]
xor eax, ebp
xor ecx, ebx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x68]
xor esi, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x20]
cmp eax, 2
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], ecx
jne 0x1014891f
xor eax, eax
jmp 0x10148920
inc eax
shl eax, 4
xor esi, dword [eax + 0x1017fc54]
mov dword [esp + 0x18], esi
mov esi, dword [eax + 0x1017fc58]
xor dword [esp + 0x14], esi
mov esi, dword [eax + 0x1017fc5c]
mov eax, dword [eax + 0x1017fc60]
xor ecx, esi
mov esi, dword [esp + 0x10]
xor esi, eax
mov eax, ecx
mov dword [esp + 0x10], esi
mov esi, ecx
shr esi, 0x18
shr eax, 0x10
mov esi, dword [esi*4 + 0x1017fc84]
and eax, 0xff
xor esi, dword [eax*4 + 0x10180084]
mov eax, ecx
shr eax, 8
and eax, 0xff
and ecx, 0xff
xor esi, dword [eax*4 + 0x10180484]
mov eax, dword [ecx*4 + 0x10180884]
xor esi, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
shr ecx, 0x18
mov dword [esp + 0x74], ecx
mov ecx, eax
mov eax, dword [esp + 0x74]
shr ecx, 0x10
mov eax, dword [eax*4 + 0x1017fc84]
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180084]
mov ecx, dword [esp + 0x10]
shr ecx, 8
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180484]
mov ecx, dword [esp + 0x10]
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180884]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x14]
mov ecx, eax
shr ecx, 0x18
mov dword [esp + 0x74], ecx
mov ecx, eax
mov eax, dword [esp + 0x74]
shr ecx, 0x10
mov eax, dword [eax*4 + 0x1017fc84]
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180084]
mov ecx, dword [esp + 0x14]
shr ecx, 8
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180484]
mov ecx, dword [esp + 0x14]
and ecx, 0xff
xor eax, dword [ecx*4 + 0x10180884]
mov ecx, dword [esp + 0x10]
xor eax, esi
xor esi, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], esi
mov esi, ecx
shr esi, 0x18
mov dword [esp + 0x74], esi
mov esi, ecx
mov ecx, dword [esp + 0x74]
shr esi, 0x10
mov ecx, dword [ecx*4 + 0x1017fc84]
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180084]
mov esi, dword [esp + 0x18]
shr esi, 8
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180484]
mov esi, dword [esp + 0x18]
and esi, 0xff
xor ecx, dword [esi*4 + 0x10180884]
mov esi, dword [esp + 0x10]
xor ecx, eax
xor esi, eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
xor esi, ecx
mov ecx, esi
xor eax, esi
shr ecx, 0x10
shl esi, 0x10
xor ecx, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x1c], ecx
mov ecx, esi
and ecx, 0xff0000
shr esi, 0x10
or ecx, esi
shr ecx, 8
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x10]
mov esi, ecx
and ecx, 0xff00
shl esi, 0x10
or esi, ecx
mov ecx, dword [esp + 0x74]
shl esi, 8
or ecx, esi
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov ecx, eax
shr ecx, 8
and ah, 0
and ecx, 0xff00ff
shl eax, 8
xor ecx, eax
mov eax, dword [esp + 0x10]
xor ecx, esi
xor esi, eax
mov eax, dword [esp + 0x18]
xor eax, ecx
xor esi, eax
mov dword [esp + 0x1c], esi
mov esi, edx
xor esi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x1c]
xor eax, esi
xor eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x34]
xor eax, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x38]
xor eax, esi
mov esi, edx
xor eax, ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x58], eax
mov eax, edx
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov eax, dword [esp + 0x70]
xor ecx, edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x34]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
xor ecx, ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x34]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x68]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x48]
shl ecx, 0xd
shr esi, 0x13
xor ecx, esi
mov esi, dword [esp + 0x3c]
add eax, 0x10
xor ecx, edx
shl esi, 0xd
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
shr ecx, 0x13
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x44]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x58]
shl ecx, 0xd
shr esi, 0x13
xor ecx, esi
mov esi, dword [esp + 0x3c]
add eax, 0x10
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x40]
xor ecx, esi
mov esi, dword [esp + 0x50]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x54]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x44]
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x48]
xor ecx, esi
mov esi, edi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0xd
shr esi, 0x13
xor ecx, esi
mov esi, dword [esp + 0x4c]
add eax, 0x10
xor ecx, esi
mov dword [eax], ecx
mov ecx, ebp
mov esi, edi
add eax, 0x10
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x50]
xor ecx, esi
mov esi, ebp
mov dword [eax - 0xc], ecx
mov ecx, ebx
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x54]
xor ecx, esi
mov esi, ebx
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x68]
shr ecx, 0x13
shl esi, 0xd
xor ecx, esi
mov esi, dword [esp + 0x58]
xor ecx, esi
mov esi, edx
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x38]
add ecx, ecx
add eax, 0x10
shr esi, 0x1f
xor ecx, esi
lea esi, [edx + edx]
xor ecx, edi
mov dword [eax - 0x10], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, ebp
add esi, esi
mov dword [eax - 0xc], ecx
mov ecx, dword [esp + 0x34]
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, ebx
add esi, esi
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x68]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x48]
add ecx, ecx
shr esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x3c]
xor ecx, edx
add esi, esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x44]
shr ecx, 0x1f
add esi, esi
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 0x1f
add esi, esi
add eax, 0x10
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x58]
add ecx, ecx
add eax, 0x10
shr esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x3c]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax - 0x10], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 0x1f
add esi, esi
add eax, 0x10
xor ecx, esi
mov esi, dword [esp + 0x40]
xor ecx, esi
mov esi, dword [esp + 0x50]
mov dword [eax - 0x1c], ecx
mov ecx, dword [esp + 0x54]
shr ecx, 0x1f
add esi, esi
xor ecx, esi
mov esi, dword [esp + 0x44]
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax - 0x18], ecx
mov ecx, dword [esp + 0x58]
shr ecx, 0x1f
add esi, esi
xor ecx, esi
mov esi, dword [esp + 0x48]
xor ecx, esi
mov esi, edi
mov dword [eax - 0x14], ecx
mov ecx, dword [esp + 0x68]
add ecx, ecx
shr esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x4c]
xor ecx, esi
lea esi, [edi + edi]
mov dword [eax - 0x10], ecx
mov ecx, ebp
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x50]
xor ecx, esi
lea esi, [ebp + ebp]
mov dword [eax - 0xc], ecx
mov ecx, ebx
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x54]
xor ecx, esi
lea esi, [ebx + ebx]
mov dword [eax - 8], ecx
mov ecx, dword [esp + 0x68]
shr ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x58]
xor ecx, esi
mov esi, dword [esp + 0x34]
mov dword [eax - 4], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, edi
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 3
shl esi, 0x1d
xor ecx, esi
xor ecx, ebp
mov esi, edx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, ebx
mov dword [eax + 8], ecx
mov ecx, edx
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x68]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x40]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x44]
add eax, 0x10
xor ecx, edx
shl esi, 0x1d
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 3
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, esi
mov esi, dword [esp + 0x40]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x3c]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x3c]
add eax, 0x10
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x58]
shr ecx, 3
shl esi, 0x1d
xor ecx, esi
mov esi, dword [esp + 0x40]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x58]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x44]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 3
shl esi, 0x1d
xor ecx, esi
mov esi, dword [esp + 0x48]
xor ecx, esi
mov dword [eax + 0xc], ecx
mov ecx, ebp
mov esi, ebx
add eax, 0x10
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x4c]
xor ecx, esi
mov esi, ebx
mov dword [eax], ecx
mov ecx, dword [esp + 0x68]
shr ecx, 3
shl esi, 0x1d
xor ecx, esi
mov esi, dword [esp + 0x50]
xor ecx, esi
mov esi, edi
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x54]
xor ecx, esi
mov esi, ebp
mov dword [eax + 8], ecx
mov ecx, edi
shl ecx, 0x1d
shr esi, 3
xor ecx, esi
mov esi, dword [esp + 0x58]
xor ecx, esi
mov esi, dword [esp + 0x30]
mov dword [eax + 0xc], ecx
mov ecx, edx
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x34]
add eax, 0x10
xor ecx, edi
shr esi, 1
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
shl ecx, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, ebp
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x38]
shr ecx, 1
shl esi, 0x1f
xor ecx, esi
mov esi, edx
xor ecx, ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x38]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x68]
xor ecx, esi
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x78]
add eax, 0x10
cmp ecx, 0x80
jle 0x101490c0
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x40]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x44]
xor ecx, edx
mov dword [eax], ecx
mov ecx, dword [esp + 0x40]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x30]
xor ecx, esi
mov esi, dword [esp + 0x44]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x48]
shr ecx, 1
shl esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x34]
xor ecx, esi
mov esi, dword [esp + 0x3c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x48]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x38]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x50]
shr ecx, 1
shl esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x3c]
add eax, 0x10
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax], ecx
mov ecx, dword [esp + 0x50]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x40]
xor ecx, esi
mov esi, dword [esp + 0x54]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x58]
shr ecx, 1
shl esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x44]
xor ecx, esi
mov esi, dword [esp + 0x4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x48]
xor ecx, esi
mov dword [eax + 0xc], ecx
add eax, 0x10
cmp dword [esp + 0x78], 0xc0
jle 0x10149171
mov ecx, edi
mov esi, ebp
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x4c]
xor ecx, esi
mov esi, ebx
mov dword [eax], ecx
mov ecx, ebp
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x50]
xor ecx, esi
mov esi, ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x68]
shr ecx, 1
shl esi, 0x1f
xor ecx, esi
mov esi, dword [esp + 0x54]
xor ecx, esi
mov esi, edi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x68]
shl ecx, 0x1f
shr esi, 1
xor ecx, esi
mov esi, dword [esp + 0x58]
xor ecx, esi
mov esi, edx
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x30]
shr ecx, 0xd
shl esi, 0x13
xor ecx, esi
mov esi, dword [esp + 0x34]
add eax, 0x10
xor ecx, edi
mov edi, esi
mov dword [eax], ecx
mov ecx, dword [esp + 0x30]
shr edi, 0xd
shl ecx, 0x13
xor edi, ecx
mov ecx, dword [esp + 0x38]
xor edi, ebp
mov dword [eax + 4], edi
mov edi, ecx
shr edi, 0xd
shl esi, 0x13
shl ecx, 0x13
shr edx, 0xd
xor edi, esi
xor ecx, edx
mov edx, dword [esp + 0x68]
xor edi, ebx
xor ecx, edx
mov dword [eax + 8], edi
mov dword [eax + 0xc], ecx
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x24]
shl ebx, 4
lea ebp, [esi + 0x110]
mov ecx, 0x44
mov edi, ebp
add ebx, ebp
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]
sub ebx, 0x10
mov dword [ebp + 4], edi
mov edi, dword [ebx + 0x18]
mov dword [ebp + 8], edi
mov edi, dword [ebx + 0x1c]
mov dword [ebp + 0xc], edi
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], edx
mov dword [ebx + 0x1c], esi
add ebp, 0x10
cmp ebp, ebx
mov dword [esp + 0x74], ebp
jae 0x101493e9
mov eax, dword [ebp + 8]
mov ecx, eax
mov edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
mov eax, dword [ebp + 0xc]
shr ecx, 8
shl edx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, esi
mov esi, dword [ebp + 4]
mov eax, esi
mov edi, esi
shr eax, 8
shl edi, 8
mov ebp, dword [ebp]
xor eax, esi
xor edi, esi
shr eax, 8
shl edi, 8
xor eax, esi
xor edi, esi
shr eax, 8
shl edi, 8
xor eax, edi
mov esi, ebp
mov edi, ebp
xor eax, ecx
shr esi, 8
shl edi, 8
xor esi, ebp
xor edi, ebp
shr esi, 8
shl edi, 8
xor esi, ebp
xor edi, ebp
shr esi, 8
shl edi, 8
xor esi, edi
xor ecx, edx
xor esi, eax
xor edx, eax
xor ecx, esi
mov ebp, edx
mov edi, ecx
xor eax, ecx
shr edi, 0x10
shl ecx, 0x10
xor edi, ecx
mov ecx, edx
and ecx, 0xff0000
shr ebp, 0x10
or ecx, ebp
mov ebp, edx
shl ebp, 0x10
and edx, 0xff00
or ebp, edx
mov edx, eax
shr ecx, 8
shl ebp, 8
shr edx, 8
or ecx, ebp
and edx, 0xff00ff
and ah, 0
shl eax, 8
xor edx, eax
xor edx, edi
xor edi, ecx
xor esi, edx
xor ecx, edx
xor edi, esi
mov dword [esp + 0x20], ecx
mov eax, edi
mov dword [esp + 0x78], esi
xor eax, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 8]
mov ecx, eax
mov edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
mov eax, dword [ebx + 0xc]
shr ecx, 8
shl edx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, esi
mov esi, dword [ebx + 4]
mov eax, esi
mov edi, esi
shr eax, 8
shl edi, 8
xor eax, esi
xor edi, esi
shr eax, 8
shl edi, 8
xor eax, esi
xor edi, esi
mov esi, dword [ebx]
shr eax, 8
shl edi, 8
xor eax, edi
mov edi, esi
mov ebp, esi
xor eax, ecx
shr edi, 8
shl ebp, 8
xor edi, esi
xor ebp, esi
shr edi, 8
shl ebp, 8
xor edi, esi
xor ebp, esi
shr edi, 8
shl ebp, 8
xor edi, ebp
xor ecx, edx
xor edi, eax
xor edx, eax
xor ecx, edi
mov esi, ecx
xor eax, ecx
shr esi, 0x10
shl ecx, 0x10
xor esi, ecx
mov ecx, edx
mov ebp, edx
and ecx, 0xff0000
shr ebp, 0x10
or ecx, ebp
mov ebp, edx
shl ebp, 0x10
and edx, 0xff00
sub ebx, 0x10
or ebp, edx
mov edx, eax
shr edx, 8
and ah, 0
and edx, 0xff00ff
shl eax, 8
shr ecx, 8
shl ebp, 8
xor edx, eax
or ecx, ebp
mov ebp, dword [esp + 0x74]
xor edx, esi
xor esi, ecx
xor edi, edx
xor esi, edi
xor ecx, edx
mov eax, esi
mov dword [ebp + 0xc], ecx
mov ecx, dword [esp + 0x78]
xor eax, edx
mov edx, dword [esp + 0x70]
mov dword [ebp], edi
mov dword [ebp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [ebp + 8], esi
mov dword [ebx + 0x10], ecx
mov ecx, dword [esp + 0x20]
mov dword [ebx + 0x14], edx
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
add ebp, 0x10
cmp ebp, ebx
mov dword [esp + 0x74], ebp
jb 0x101491ce
mov eax, dword [ebp + 8]
mov ecx, eax
mov edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
shr ecx, 8
shl edx, 8
xor ecx, eax
xor edx, eax
mov eax, dword [ebp + 0xc]
shr ecx, 8
shl edx, 8
xor ecx, edx
mov edx, eax
mov esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, eax
xor esi, eax
shr edx, 8
shl esi, 8
xor edx, esi
mov esi, dword [ebp + 4]
mov eax, esi
mov edi, esi
shr eax, 8
shl edi, 8
mov ebp, dword [ebp]
xor eax, esi
xor edi, esi
shr eax, 8
shl edi, 8
xor eax, esi
xor edi, esi
shr eax, 8
shl edi, 8
xor eax, edi
mov esi, ebp
mov edi, ebp
xor eax, ecx
shr esi, 8
shl edi, 8
xor esi, ebp
xor edi, ebp
shr esi, 8
shl edi, 8
xor esi, ebp
xor edi, ebp
shr esi, 8
shl edi, 8
xor esi, edi
xor ecx, edx
xor esi, eax
xor edx, eax
xor ecx, esi
mov ebp, edx
mov edi, ecx
xor eax, ecx
shr edi, 0x10
shl ecx, 0x10
xor edi, ecx
mov ecx, edx
and ecx, 0xff0000
shr ebp, 0x10
or ecx, ebp
mov ebp, edx
shl ebp, 0x10
and edx, 0xff00
or ebp, edx
mov edx, eax
shr ecx, 8
shl ebp, 8
shr edx, 8
or ecx, ebp
and edx, 0xff00ff
and ah, 0
shl eax, 8
xor edx, eax
xor edx, edi
xor edi, ecx
xor esi, edx
xor edi, esi
mov dword [ebx], esi
mov eax, edi
mov dword [ebx + 8], edi
xor eax, edx
xor ecx, edx
pop edi
pop esi
mov dword [ebx + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0xc], ecx
pop ebp
pop ebx
add esp, 0x5c
ret