Function at 0x655598
Capabilities:
Encrypt data using hc-128

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffd8
mov ecx, 0x20
mov dword [esp], eax
lea esi, [esp + 8]
mov ebx, dword [esp]
mov edx, dword [esp]
add ebx, 0x28
add edx, 8
mov eax, esi
call fcn.005c83bc
xor ecx, ecx
mov eax, 0x684b30
mov dword [esp + 4], ecx
cmp dword [esp + 4], 0
je 0x655627
mov edx, dword [ebx + 0x38]
mov ecx, dword [ebx + 0x38]
shl ecx, 0xf
mov edi, dword [ebx + 0x38]
shr edx, 0x11
mov ebp, dword [ebx + 4]
or edx, ecx
mov ecx, dword [ebx + 0x38]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 4]
xor edx, ecx
mov ecx, dword [ebx + 0x38]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 4]
shr ecx, 7
add edx, dword [ebx + 0x24]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 4]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 4]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx], edx
mov edx, dword [ebx]
jmp 0x655629
mov edx, dword [ebx]
add edx, dword [eax]
mov ecx, dword [esi + 0x10]
shr ecx, 6
mov edi, dword [esi + 0x10]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x10]
shr edi, 0xb
mov ebp, dword [esi + 0x10]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x10]
shr edi, 0x19
mov ebp, dword [esi + 0x10]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x14]
xor ecx, dword [esi + 0x18]
and ecx, dword [esi + 0x10]
xor ecx, dword [esi + 0x18]
add edx, ecx
add dword [esi + 0x1c], edx
mov edx, dword [esi + 0x1c]
add dword [esi + 0xc], edx
mov edx, dword [esi]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 4]
xor edx, dword [esi + 4]
and edx, dword [esi + 8]
or edi, edx
add ecx, edi
add dword [esi + 0x1c], ecx
cmp dword [esp + 4], 0
je 0x65570e
mov edx, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x3c]
shl ecx, 0xf
mov edi, dword [ebx + 0x3c]
shr edx, 0x11
mov ebp, dword [ebx + 8]
or edx, ecx
mov ecx, dword [ebx + 0x3c]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 8]
xor edx, ecx
mov ecx, dword [ebx + 0x3c]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 8]
shr ecx, 7
add edx, dword [ebx + 0x28]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 8]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 8]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 4], edx
mov edx, dword [ebx + 4]
jmp 0x655711
mov edx, dword [ebx + 4]
add edx, dword [eax + 4]
mov ecx, dword [esi + 0xc]
shr ecx, 6
mov edi, dword [esi + 0xc]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0xc]
shr edi, 0xb
mov ebp, dword [esi + 0xc]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0xc]
shr edi, 0x19
mov ebp, dword [esi + 0xc]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x10]
xor ecx, dword [esi + 0x14]
and ecx, dword [esi + 0xc]
xor ecx, dword [esi + 0x14]
add edx, ecx
add dword [esi + 0x18], edx
mov edx, dword [esi + 0x18]
add dword [esi + 8], edx
mov edx, dword [esi + 0x1c]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi]
xor edx, dword [esi]
and edx, dword [esi + 4]
or edi, edx
add ecx, edi
add dword [esi + 0x18], ecx
cmp dword [esp + 4], 0
je 0x6557f1
mov edx, dword [ebx]
mov ecx, dword [ebx]
shl ecx, 0xf
mov edi, dword [ebx]
shr edx, 0x11
mov ebp, dword [ebx + 0xc]
or edx, ecx
mov ecx, dword [ebx]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0xc]
xor edx, ecx
mov ecx, dword [ebx]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0xc]
shr ecx, 7
add edx, dword [ebx + 0x2c]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0xc]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0xc]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 8], edx
mov edx, dword [ebx + 8]
jmp 0x6557f4
mov edx, dword [ebx + 8]
add edx, dword [eax + 8]
mov ecx, dword [esi + 8]
shr ecx, 6
mov edi, dword [esi + 8]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 8]
shr edi, 0xb
mov ebp, dword [esi + 8]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 8]
shr edi, 0x19
mov ebp, dword [esi + 8]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0xc]
xor ecx, dword [esi + 0x10]
and ecx, dword [esi + 8]
xor ecx, dword [esi + 0x10]
add edx, ecx
add dword [esi + 0x14], edx
mov edx, dword [esi + 0x14]
add dword [esi + 4], edx
mov edx, dword [esi + 0x18]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x1c]
xor edx, dword [esi + 0x1c]
and edx, dword [esi]
or edi, edx
add ecx, edi
add dword [esi + 0x14], ecx
cmp dword [esp + 4], 0
je 0x6558da
mov edx, dword [ebx + 4]
mov ecx, dword [ebx + 4]
shl ecx, 0xf
mov edi, dword [ebx + 4]
shr edx, 0x11
mov ebp, dword [ebx + 0x10]
or edx, ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x10]
xor edx, ecx
mov ecx, dword [ebx + 4]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x10]
shr ecx, 7
add edx, dword [ebx + 0x30]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x10]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x10]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0xc], edx
mov edx, dword [ebx + 0xc]
jmp 0x6558dd
mov edx, dword [ebx + 0xc]
add edx, dword [eax + 0xc]
mov ecx, dword [esi + 4]
shr ecx, 6
mov edi, dword [esi + 4]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 4]
shr edi, 0xb
mov ebp, dword [esi + 4]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 4]
shr edi, 0x19
mov ebp, dword [esi + 4]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 8]
xor ecx, dword [esi + 0xc]
and ecx, dword [esi + 4]
xor ecx, dword [esi + 0xc]
add edx, ecx
add dword [esi + 0x10], edx
mov edx, dword [esi + 0x10]
add dword [esi], edx
mov edx, dword [esi + 0x14]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x18]
xor edx, dword [esi + 0x18]
and edx, dword [esi + 0x1c]
or edi, edx
add ecx, edi
add dword [esi + 0x10], ecx
cmp dword [esp + 4], 0
je 0x6559c3
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 8]
shl ecx, 0xf
mov edi, dword [ebx + 8]
shr edx, 0x11
mov ebp, dword [ebx + 0x14]
or edx, ecx
mov ecx, dword [ebx + 8]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x14]
xor edx, ecx
mov ecx, dword [ebx + 8]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x14]
shr ecx, 7
add edx, dword [ebx + 0x34]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x14]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x14]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x10], edx
mov edx, dword [ebx + 0x10]
jmp 0x6559c6
mov edx, dword [ebx + 0x10]
add edx, dword [eax + 0x10]
mov ecx, dword [esi]
shr ecx, 6
mov edi, dword [esi]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi]
shr edi, 0xb
mov ebp, dword [esi]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi]
shr edi, 0x19
mov ebp, dword [esi]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 4]
xor ecx, dword [esi + 8]
and ecx, dword [esi]
xor ecx, dword [esi + 8]
add edx, ecx
add dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
add dword [esi + 0x1c], edx
mov edx, dword [esi + 0x10]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x14]
xor edx, dword [esi + 0x14]
and edx, dword [esi + 0x18]
or edi, edx
add ecx, edi
add dword [esi + 0xc], ecx
cmp dword [esp + 4], 0
je 0x655aa6
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 0xc]
shl ecx, 0xf
mov edi, dword [ebx + 0xc]
shr edx, 0x11
mov ebp, dword [ebx + 0x18]
or edx, ecx
mov ecx, dword [ebx + 0xc]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x18]
xor edx, ecx
mov ecx, dword [ebx + 0xc]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x18]
shr ecx, 7
add edx, dword [ebx + 0x38]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x18]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x18]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x14], edx
mov edx, dword [ebx + 0x14]
jmp 0x655aa9
mov edx, dword [ebx + 0x14]
add edx, dword [eax + 0x14]
mov ecx, dword [esi + 0x1c]
shr ecx, 6
mov edi, dword [esi + 0x1c]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x1c]
shr edi, 0xb
mov ebp, dword [esi + 0x1c]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x1c]
shr edi, 0x19
mov ebp, dword [esi + 0x1c]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi]
xor ecx, dword [esi + 4]
and ecx, dword [esi + 0x1c]
xor ecx, dword [esi + 4]
add edx, ecx
add dword [esi + 8], edx
mov edx, dword [esi + 8]
add dword [esi + 0x18], edx
mov edx, dword [esi + 0xc]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x10]
xor edx, dword [esi + 0x10]
and edx, dword [esi + 0x14]
or edi, edx
add ecx, edi
add dword [esi + 8], ecx
cmp dword [esp + 4], 0
je 0x655b8f
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebx + 0x10]
shl ecx, 0xf
mov edi, dword [ebx + 0x10]
shr edx, 0x11
mov ebp, dword [ebx + 0x1c]
or edx, ecx
mov ecx, dword [ebx + 0x10]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x1c]
xor edx, ecx
mov ecx, dword [ebx + 0x10]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x1c]
shr ecx, 7
add edx, dword [ebx + 0x3c]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x1c]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x1c]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x18], edx
mov edx, dword [ebx + 0x18]
jmp 0x655b92
mov edx, dword [ebx + 0x18]
add edx, dword [eax + 0x18]
mov ecx, dword [esi + 0x18]
shr ecx, 6
mov edi, dword [esi + 0x18]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x18]
shr edi, 0xb
mov ebp, dword [esi + 0x18]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x18]
shr edi, 0x19
mov ebp, dword [esi + 0x18]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x1c]
xor ecx, dword [esi]
and ecx, dword [esi + 0x18]
xor ecx, dword [esi]
add edx, ecx
add dword [esi + 4], edx
mov edx, dword [esi + 4]
add dword [esi + 0x14], edx
mov edx, dword [esi + 8]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0xc]
xor edx, dword [esi + 0xc]
and edx, dword [esi + 0x10]
or edi, edx
add ecx, edi
add dword [esi + 4], ecx
cmp dword [esp + 4], 0
je 0x655c76
mov edx, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x14]
shl ecx, 0xf
mov edi, dword [ebx + 0x14]
shr edx, 0x11
mov ebp, dword [ebx + 0x20]
or edx, ecx
mov ecx, dword [ebx + 0x14]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x20]
xor edx, ecx
mov ecx, dword [ebx + 0x14]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x20]
shr ecx, 7
add edx, dword [ebx]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x20]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x20]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x1c], edx
mov edx, dword [ebx + 0x1c]
jmp 0x655c79
mov edx, dword [ebx + 0x1c]
add edx, dword [eax + 0x1c]
mov ecx, dword [esi + 0x14]
shr ecx, 6
mov edi, dword [esi + 0x14]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x14]
shr edi, 0xb
mov ebp, dword [esi + 0x14]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x14]
shr edi, 0x19
mov ebp, dword [esi + 0x14]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x18]
xor ecx, dword [esi + 0x1c]
and ecx, dword [esi + 0x14]
xor ecx, dword [esi + 0x1c]
add edx, ecx
add dword [esi], edx
mov edx, dword [esi]
add dword [esi + 0x10], edx
mov edx, dword [esi + 4]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 8]
xor edx, dword [esi + 8]
and edx, dword [esi + 0xc]
or edi, edx
add ecx, edi
add dword [esi], ecx
cmp dword [esp + 4], 0
je 0x655d5d
mov edx, dword [ebx + 0x18]
mov ecx, dword [ebx + 0x18]
shl ecx, 0xf
mov edi, dword [ebx + 0x18]
shr edx, 0x11
mov ebp, dword [ebx + 0x24]
or edx, ecx
mov ecx, dword [ebx + 0x18]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x24]
xor edx, ecx
mov ecx, dword [ebx + 0x18]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x24]
shr ecx, 7
add edx, dword [ebx + 4]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x24]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x24]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x20], edx
mov edx, dword [ebx + 0x20]
jmp 0x655d60
mov edx, dword [ebx + 0x20]
add edx, dword [eax + 0x20]
mov ecx, dword [esi + 0x10]
shr ecx, 6
mov edi, dword [esi + 0x10]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x10]
shr edi, 0xb
mov ebp, dword [esi + 0x10]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x10]
shr edi, 0x19
mov ebp, dword [esi + 0x10]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x14]
xor ecx, dword [esi + 0x18]
and ecx, dword [esi + 0x10]
xor ecx, dword [esi + 0x18]
add edx, ecx
add dword [esi + 0x1c], edx
mov edx, dword [esi + 0x1c]
add dword [esi + 0xc], edx
mov edx, dword [esi]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 4]
xor edx, dword [esi + 4]
and edx, dword [esi + 8]
or edi, edx
add ecx, edi
add dword [esi + 0x1c], ecx
cmp dword [esp + 4], 0
je 0x655e46
mov edx, dword [ebx + 0x1c]
mov ecx, dword [ebx + 0x1c]
shl ecx, 0xf
mov edi, dword [ebx + 0x1c]
shr edx, 0x11
mov ebp, dword [ebx + 0x28]
or edx, ecx
mov ecx, dword [ebx + 0x1c]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x28]
xor edx, ecx
mov ecx, dword [ebx + 0x1c]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x28]
shr ecx, 7
add edx, dword [ebx + 8]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x28]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x28]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x24], edx
mov edx, dword [ebx + 0x24]
jmp 0x655e49
mov edx, dword [ebx + 0x24]
add edx, dword [eax + 0x24]
mov ecx, dword [esi + 0xc]
shr ecx, 6
mov edi, dword [esi + 0xc]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0xc]
shr edi, 0xb
mov ebp, dword [esi + 0xc]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0xc]
shr edi, 0x19
mov ebp, dword [esi + 0xc]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x10]
xor ecx, dword [esi + 0x14]
and ecx, dword [esi + 0xc]
xor ecx, dword [esi + 0x14]
add edx, ecx
add dword [esi + 0x18], edx
mov edx, dword [esi + 0x18]
add dword [esi + 8], edx
mov edx, dword [esi + 0x1c]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi]
xor edx, dword [esi]
and edx, dword [esi + 4]
or edi, edx
add ecx, edi
add dword [esi + 0x18], ecx
cmp dword [esp + 4], 0
je 0x655f2e
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x20]
shl ecx, 0xf
mov edi, dword [ebx + 0x20]
shr edx, 0x11
mov ebp, dword [ebx + 0x2c]
or edx, ecx
mov ecx, dword [ebx + 0x20]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x2c]
xor edx, ecx
mov ecx, dword [ebx + 0x20]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x2c]
shr ecx, 7
add edx, dword [ebx + 0xc]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x2c]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x2c]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x28], edx
mov edx, dword [ebx + 0x28]
jmp 0x655f31
mov edx, dword [ebx + 0x28]
add edx, dword [eax + 0x28]
mov ecx, dword [esi + 8]
shr ecx, 6
mov edi, dword [esi + 8]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 8]
shr edi, 0xb
mov ebp, dword [esi + 8]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 8]
shr edi, 0x19
mov ebp, dword [esi + 8]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0xc]
xor ecx, dword [esi + 0x10]
and ecx, dword [esi + 8]
xor ecx, dword [esi + 0x10]
add edx, ecx
add dword [esi + 0x14], edx
mov edx, dword [esi + 0x14]
add dword [esi + 4], edx
mov edx, dword [esi + 0x18]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x1c]
xor edx, dword [esi + 0x1c]
and edx, dword [esi]
or edi, edx
add ecx, edi
add dword [esi + 0x14], ecx
cmp dword [esp + 4], 0
je 0x656017
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x24]
shl ecx, 0xf
mov edi, dword [ebx + 0x24]
shr edx, 0x11
mov ebp, dword [ebx + 0x30]
or edx, ecx
mov ecx, dword [ebx + 0x24]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x30]
xor edx, ecx
mov ecx, dword [ebx + 0x24]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x30]
shr ecx, 7
add edx, dword [ebx + 0x10]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x30]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x30]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x2c], edx
mov edx, dword [ebx + 0x2c]
jmp 0x65601a
mov edx, dword [ebx + 0x2c]
add edx, dword [eax + 0x2c]
mov ecx, dword [esi + 4]
shr ecx, 6
mov edi, dword [esi + 4]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 4]
shr edi, 0xb
mov ebp, dword [esi + 4]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 4]
shr edi, 0x19
mov ebp, dword [esi + 4]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 8]
xor ecx, dword [esi + 0xc]
and ecx, dword [esi + 4]
xor ecx, dword [esi + 0xc]
add edx, ecx
add dword [esi + 0x10], edx
mov edx, dword [esi + 0x10]
add dword [esi], edx
mov edx, dword [esi + 0x14]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x18]
xor edx, dword [esi + 0x18]
and edx, dword [esi + 0x1c]
or edi, edx
add ecx, edi
add dword [esi + 0x10], ecx
cmp dword [esp + 4], 0
je 0x656100
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x28]
shl ecx, 0xf
mov edi, dword [ebx + 0x28]
shr edx, 0x11
mov ebp, dword [ebx + 0x34]
or edx, ecx
mov ecx, dword [ebx + 0x28]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x34]
xor edx, ecx
mov ecx, dword [ebx + 0x28]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x34]
shr ecx, 7
add edx, dword [ebx + 0x14]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x34]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x34]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x30], edx
mov edx, dword [ebx + 0x30]
jmp 0x656103
mov edx, dword [ebx + 0x30]
add edx, dword [eax + 0x30]
mov ecx, dword [esi]
shr ecx, 6
mov edi, dword [esi]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi]
shr edi, 0xb
mov ebp, dword [esi]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi]
shr edi, 0x19
mov ebp, dword [esi]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 4]
xor ecx, dword [esi + 8]
and ecx, dword [esi]
xor ecx, dword [esi + 8]
add edx, ecx
add dword [esi + 0xc], edx
mov edx, dword [esi + 0xc]
add dword [esi + 0x1c], edx
mov edx, dword [esi + 0x10]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x14]
xor edx, dword [esi + 0x14]
and edx, dword [esi + 0x18]
or edi, edx
add ecx, edi
add dword [esi + 0xc], ecx
cmp dword [esp + 4], 0
je 0x6561e3
mov edx, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x2c]
shl ecx, 0xf
mov edi, dword [ebx + 0x2c]
shr edx, 0x11
mov ebp, dword [ebx + 0x38]
or edx, ecx
mov ecx, dword [ebx + 0x2c]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x38]
xor edx, ecx
mov ecx, dword [ebx + 0x2c]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x38]
shr ecx, 7
add edx, dword [ebx + 0x18]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x38]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x38]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x34], edx
mov edx, dword [ebx + 0x34]
jmp 0x6561e6
mov edx, dword [ebx + 0x34]
add edx, dword [eax + 0x34]
mov ecx, dword [esi + 0x1c]
shr ecx, 6
mov edi, dword [esi + 0x1c]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x1c]
shr edi, 0xb
mov ebp, dword [esi + 0x1c]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x1c]
shr edi, 0x19
mov ebp, dword [esi + 0x1c]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi]
xor ecx, dword [esi + 4]
and ecx, dword [esi + 0x1c]
xor ecx, dword [esi + 4]
add edx, ecx
add dword [esi + 8], edx
mov edx, dword [esi + 8]
add dword [esi + 0x18], edx
mov edx, dword [esi + 0xc]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0x10]
xor edx, dword [esi + 0x10]
and edx, dword [esi + 0x14]
or edi, edx
add ecx, edi
add dword [esi + 8], ecx
cmp dword [esp + 4], 0
je 0x6562cc
mov edx, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x30]
shl ecx, 0xf
mov edi, dword [ebx + 0x30]
shr edx, 0x11
mov ebp, dword [ebx + 0x3c]
or edx, ecx
mov ecx, dword [ebx + 0x30]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx + 0x3c]
xor edx, ecx
mov ecx, dword [ebx + 0x30]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx + 0x3c]
shr ecx, 7
add edx, dword [ebx + 0x1c]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx + 0x3c]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx + 0x3c]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x38], edx
mov edx, dword [ebx + 0x38]
jmp 0x6562cf
mov edx, dword [ebx + 0x38]
add edx, dword [eax + 0x38]
mov ecx, dword [esi + 0x18]
shr ecx, 6
mov edi, dword [esi + 0x18]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x18]
shr edi, 0xb
mov ebp, dword [esi + 0x18]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x18]
shr edi, 0x19
mov ebp, dword [esi + 0x18]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x1c]
xor ecx, dword [esi]
and ecx, dword [esi + 0x18]
xor ecx, dword [esi]
add edx, ecx
add dword [esi + 4], edx
mov edx, dword [esi + 4]
add dword [esi + 0x14], edx
mov edx, dword [esi + 8]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 0xc]
xor edx, dword [esi + 0xc]
and edx, dword [esi + 0x10]
or edi, edx
add ecx, edi
add dword [esi + 4], ecx
cmp dword [esp + 4], 0
je 0x6563af
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebx + 0x34]
shl ecx, 0xf
mov edi, dword [ebx + 0x34]
shr edx, 0x11
mov ebp, dword [ebx]
or edx, ecx
mov ecx, dword [ebx + 0x34]
shr ecx, 0x13
shl edi, 0xd
or ecx, edi
mov edi, dword [ebx]
xor edx, ecx
mov ecx, dword [ebx + 0x34]
shr ecx, 0xa
xor edx, ecx
mov ecx, dword [ebx]
shr ecx, 7
add edx, dword [ebx + 0x20]
shl edi, 0x19
or ecx, edi
mov edi, dword [ebx]
shl ebp, 0xe
shr edi, 0x12
or edi, ebp
xor ecx, edi
mov edi, dword [ebx]
shr edi, 3
xor ecx, edi
add edx, ecx
add dword [ebx + 0x3c], edx
mov edx, dword [ebx + 0x3c]
jmp 0x6563b2
mov edx, dword [ebx + 0x3c]
add edx, dword [eax + 0x3c]
mov ecx, dword [esi + 0x14]
shr ecx, 6
mov edi, dword [esi + 0x14]
shl edi, 0x1a
or ecx, edi
mov edi, dword [esi + 0x14]
shr edi, 0xb
mov ebp, dword [esi + 0x14]
shl ebp, 0x15
or edi, ebp
xor ecx, edi
mov edi, dword [esi + 0x14]
shr edi, 0x19
mov ebp, dword [esi + 0x14]
shl ebp, 7
or edi, ebp
xor ecx, edi
add edx, ecx
mov ecx, dword [esi + 0x18]
xor ecx, dword [esi + 0x1c]
and ecx, dword [esi + 0x14]
xor ecx, dword [esi + 0x1c]
add edx, ecx
add dword [esi], edx
mov edx, dword [esi]
add dword [esi + 0x10], edx
mov edx, dword [esi + 4]
mov ecx, edx
shr ecx, 2
mov edi, edx
shl edi, 0x1e
or ecx, edi
mov edi, edx
shr edi, 0xd
mov ebp, edx
shl ebp, 0x13
or edi, ebp
xor ecx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ecx, edi
mov edi, edx
and edi, dword [esi + 8]
xor edx, dword [esi + 8]
and edx, dword [esi + 0xc]
or edi, edx
add ecx, edi
add dword [esi], ecx
add dword [esp + 4], 0x10
add eax, 0x40
cmp dword [esp + 4], 0x40
jb 0x6555c9
mov eax, dword [esp]
mov edx, dword [esi]
add dword [eax + 8], edx
mov ecx, dword [esp]
mov ebx, dword [esi + 4]
add dword [ecx + 0xc], ebx
mov eax, dword [esp]
mov edx, dword [esi + 8]
add dword [eax + 0x10], edx
mov ecx, dword [esp]
mov ebx, dword [esi + 0xc]
add dword [ecx + 0x14], ebx
mov eax, dword [esp]
mov edx, dword [esi + 0x10]
add dword [eax + 0x18], edx
mov ecx, dword [esp]
mov ebx, dword [esi + 0x14]
add dword [ecx + 0x1c], ebx
mov eax, dword [esp]
mov edx, dword [esi + 0x18]
add dword [eax + 0x20], edx
mov ecx, dword [esp]
mov ebx, dword [esi + 0x1c]
add dword [ecx + 0x24], ebx
add esp, 0x28
pop ebp
pop edi
pop esi
pop ebx
ret