Function at 0x4e5c04
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.00478458
xor ecx, ecx
mov eax, 0x5dfd50
mov dword [esp + 4], ecx
cmp dword [esp + 4], 0
je 0x4e5c93
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 0x4e5c95
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 0x4e5d7a
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 0x4e5d7d
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 0x4e5e5d
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 0x4e5e60
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 0x4e5f46
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 0x4e5f49
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 0x4e602f
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 0x4e6032
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 0x4e6112
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 0x4e6115
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 0x4e61fb
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 0x4e61fe
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 0x4e62e2
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 0x4e62e5
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 0x4e63c9
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 0x4e63cc
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 0x4e64b2
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 0x4e64b5
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 0x4e659a
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 0x4e659d
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 0x4e6683
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 0x4e6686
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 0x4e676c
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 0x4e676f
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 0x4e684f
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 0x4e6852
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 0x4e6938
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 0x4e693b
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 0x4e6a1b
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 0x4e6a1e
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 0x4e5c35
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