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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x2c
push ebx
push ebp
push esi
push edi
lea esi, [eax + 8]
mov ecx, 8
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x1c]
xor ecx, ecx
test ecx, ecx
mov esi, dword [esp + 0x2c]
je 0x424478
mov edi, dword [eax + 0x60]
mov esi, dword [eax + 0x2c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x18], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
shr edi, 0xa
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x12
shl ebp, 0xe
or edi, ebp
mov ebp, esi
mov dword [esp + 0x40], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x40]
shr esi, 3
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x28]
add ebx, edi
add ebx, dword [eax + 0x4c]
add esi, ebx
mov dword [eax + 0x28], esi
mov esi, dword [esp + 0x2c]
mov ebx, esi
shl ebx, 0x15
mov edi, esi
shr edi, 0xb
or ebx, edi
mov edi, esi
shl edi, 0x1a
mov ebp, esi
shr ebp, 6
or edi, ebp
xor ebx, edi
mov edi, esi
shr edi, 0x19
mov ebp, esi
shl ebp, 7
or edi, ebp
mov ebp, dword [esp + 0x34]
xor ebx, edi
mov edi, esi
not edi
and edi, ebp
mov ebp, dword [esp + 0x30]
and ebp, esi
mov esi, dword [eax + 0x28]
xor edi, ebp
add ebx, edi
add ebx, dword [ecx*4 + 0x4729e0]
mov edi, dword [esp + 0x38]
add ebx, esi
mov esi, dword [esp + 0x28]
add edi, ebx
add esi, edi
mov dword [esp + 0x38], edi
mov ebx, edx
shl ebx, 0x13
mov edi, edx
shr edi, 0xd
or ebx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, edx
shl edi, 0x1e
mov ebp, edx
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x20]
mov ebp, edi
xor ebp, edx
and ebp, dword [esp + 0x24]
and edi, edx
xor ebp, edi
add ebp, dword [esp + 0x38]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x28], esi
mov dword [esp + 0x38], ebp
je 0x42457b
mov edi, dword [eax + 0x64]
mov esi, dword [eax + 0x30]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x40], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x40]
xor ebx, ebp
shr edi, 0xa
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x12
shl ebp, 0xe
or edi, ebp
mov ebp, esi
mov dword [esp + 0x14], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x14]
shr esi, 3
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x2c]
add ebx, edi
add ebx, dword [eax + 0x50]
add esi, ebx
mov dword [eax + 0x2c], esi
mov esi, dword [esp + 0x28]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x30]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
and esi, dword [esp + 0x2c]
mov ebp, dword [eax + 0x2c]
xor ebx, esi
mov esi, dword [ecx*4 + 0x4729e4]
add edi, ebx
add edi, esi
mov esi, dword [esp + 0x34]
add edi, ebp
mov ebp, dword [esp + 0x24]
add esi, edi
add ebp, esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x24], ebp
mov edi, esi
shl edi, 0x13
mov ebx, esi
shr ebx, 0xd
or edi, ebx
mov ebx, esi
shr ebx, 0x16
mov ebp, esi
shl ebp, 0xa
or ebx, ebp
xor edi, ebx
mov ebx, esi
shl ebx, 0x1e
mov ebp, esi
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
xor edi, ebx
mov ebx, edx
xor ebx, esi
and ebx, ebp
mov ebp, edx
and ebp, esi
xor ebx, ebp
add ebx, dword [esp + 0x34]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x34], ebx
je 0x42467c
mov esi, dword [eax + 0x34]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x40], edi
mov edi, esi
mov ebx, esi
shl ebx, 0xe
shr edi, 0x12
or edi, ebx
mov ebx, esi
mov ebp, esi
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
xor edi, ebx
shr esi, 3
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x11
shl ebp, 0xf
or ebx, ebp
mov ebp, esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 0xa
xor ebx, esi
mov esi, dword [eax + 0x30]
add edi, ebx
add edi, dword [eax + 0x54]
add esi, edi
mov dword [eax + 0x30], esi
mov esi, dword [esp + 0x24]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x2c]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
and esi, dword [esp + 0x28]
xor ebx, esi
mov esi, dword [eax + 0x30]
add edi, ebx
add edi, dword [ecx*4 + 0x4729e8]
mov ebx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x30]
add esi, edi
add ebx, esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
shl edi, 0x1e
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x38]
mov ebp, edi
xor ebp, esi
and ebp, edx
and edi, esi
xor ebp, edi
add ebp, dword [esp + 0x30]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x30], ebp
je 0x42477d
mov esi, dword [eax + 0x38]
mov edi, dword [eax + 0x2c]
mov dword [esp + 0x40], edi
mov edi, esi
mov ebx, esi
shl ebx, 0xe
shr edi, 0x12
or edi, ebx
mov ebx, esi
mov ebp, esi
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
xor edi, ebx
shr esi, 3
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x11
shl ebp, 0xf
or ebx, ebp
mov ebp, esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 0xa
xor ebx, esi
mov esi, dword [eax + 0x34]
add edi, ebx
add edi, dword [eax + 0x58]
add esi, edi
mov dword [eax + 0x34], esi
mov esi, dword [esp + 0x20]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x28]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x24]
and ebp, esi
mov esi, dword [eax + 0x34]
xor ebx, ebp
add edi, ebx
add edi, dword [ecx*4 + 0x4729ec]
add edi, esi
mov esi, dword [esp + 0x2c]
add esi, edi
mov dword [esp + 0x2c], esi
add edx, esi
mov esi, dword [esp + 0x30]
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
shl edi, 0x1e
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x34]
mov ebp, edi
xor ebp, esi
and ebp, dword [esp + 0x38]
and edi, esi
xor ebp, edi
add ebp, dword [esp + 0x2c]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x2c], ebp
je 0x424880
mov edi, dword [eax + 0x3c]
mov esi, dword [eax + 0x30]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x40], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x40]
xor ebx, ebp
shr edi, 3
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x11
shl ebp, 0xf
or edi, ebp
mov ebp, esi
mov dword [esp + 0x14], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x14]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x38]
add ebx, edi
add ebx, dword [eax + 0x5c]
add esi, ebx
mov dword [eax + 0x38], esi
mov esi, dword [esp + 0x30]
mov edi, edx
shl edi, 0x15
mov ebx, edx
shr ebx, 0xb
or edi, ebx
mov ebx, edx
shl ebx, 0x1a
mov ebp, edx
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, edx
shr ebx, 0x19
mov ebp, edx
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
xor ebx, ebp
mov ebp, dword [ecx*4 + 0x4729f0]
add edi, ebx
mov ebx, dword [eax + 0x38]
add edi, ebp
add edi, ebx
mov ebx, dword [esp + 0x28]
add ebx, edi
mov edi, dword [esp + 0x38]
mov ebp, esi
add edi, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
and esi, ebx
xor ebp, ebx
mov dword [esp + 0x10], esi
mov esi, ebx
shr esi, 0xd
mov dword [esp + 0x40], ebp
mov ebp, ebx
shl ebp, 0x13
or ebp, esi
mov esi, ebx
shr esi, 0x16
shl ebx, 0xa
or esi, ebx
xor ebp, esi
mov esi, dword [esp + 0x2c]
mov ebx, esi
shr esi, 2
shl ebx, 0x1e
or ebx, esi
mov esi, dword [esp + 0x40]
xor ebp, ebx
and esi, dword [esp + 0x34]
xor esi, dword [esp + 0x10]
add esi, dword [esp + 0x28]
add esi, ebp
test ecx, ecx
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], esi
je 0x424993
mov edi, dword [eax + 0x34]
mov esi, dword [eax + 0x40]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
mov dword [esp + 0x18], edi
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
shr edi, 0xa
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x12
shl ebp, 0xe
or edi, ebp
mov ebp, esi
mov dword [esp + 0x14], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x14]
xor edi, ebp
shr esi, 3
xor edi, esi
mov esi, dword [eax + 0x3c]
add ebx, edi
add ebx, dword [eax + 0x60]
mov edi, dword [esp + 0x38]
add esi, ebx
mov dword [eax + 0x3c], esi
mov ebx, edi
shl ebx, 0x15
mov esi, edi
shr esi, 0xb
or ebx, esi
mov esi, edi
shl esi, 0x1a
mov ebp, edi
shr ebp, 6
or esi, ebp
xor ebx, esi
mov esi, edi
shr esi, 0x19
mov ebp, edi
shl ebp, 7
or esi, ebp
mov ebp, dword [esp + 0x20]
xor ebx, esi
mov esi, edi
not esi
and esi, ebp
mov ebp, edx
and ebp, edi
xor esi, ebp
mov ebp, dword [ecx*4 + 0x4729f4]
add ebx, esi
mov esi, dword [eax + 0x3c]
add ebx, ebp
add ebx, esi
mov esi, dword [esp + 0x24]
add esi, ebx
mov ebx, dword [esp + 0x34]
add ebx, esi
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x28]
mov ebp, esi
shr ebp, 0xd
mov dword [esp + 0x34], ebx
mov ebx, esi
shl ebx, 0x13
or ebx, ebp
mov ebp, esi
shl esi, 0xa
shr ebp, 0x16
or ebp, esi
mov esi, dword [esp + 0x28]
xor ebx, ebp
mov ebp, esi
shr esi, 2
shl ebp, 0x1e
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
and esi, dword [esp + 0x28]
xor esi, dword [esp + 0x10]
add esi, dword [esp + 0x24]
add esi, ebx
test ecx, ecx
mov dword [esp + 0x24], esi
je 0x424a96
mov edi, dword [eax + 0x38]
mov esi, dword [eax + 0x44]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
mov dword [esp + 0x18], edi
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
shr edi, 0xa
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x12
shl ebp, 0xe
or edi, ebp
mov ebp, esi
mov dword [esp + 0x40], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x40]
xor edi, ebp
shr esi, 3
xor edi, esi
mov esi, dword [eax + 0x40]
add ebx, edi
add ebx, dword [eax + 0x64]
mov edi, dword [esp + 0x38]
add esi, ebx
mov dword [eax + 0x40], esi
mov esi, dword [esp + 0x34]
mov ebx, esi
shl ebx, 0x15
mov ebp, esi
shr ebp, 0xb
or ebx, ebp
mov ebp, esi
shl ebp, 0x1a
shr esi, 6
or ebp, esi
mov esi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, esi
shr ebp, 0x19
shl esi, 7
or ebp, esi
mov esi, dword [esp + 0x34]
xor ebx, ebp
and edi, esi
mov ebp, esi
mov esi, dword [eax + 0x40]
not ebp
and ebp, edx
xor ebp, edi
mov edi, dword [ecx*4 + 0x4729f8]
add ebx, ebp
add ebx, edi
add ebx, esi
mov esi, dword [esp + 0x20]
add esi, ebx
mov ebx, dword [esp + 0x30]
add ebx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
shl edi, 0x1e
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x28]
mov ebp, edi
xor ebp, dword [esp + 0x2c]
and ebp, esi
and edi, dword [esp + 0x2c]
xor ebp, edi
add ebp, dword [esp + 0x20]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x20], ebp
je 0x424b9b
mov esi, dword [eax + 0x48]
mov edi, dword [eax + 0x3c]
mov dword [esp + 0x40], edi
mov edi, esi
mov ebx, esi
shl ebx, 0xe
shr edi, 0x12
or edi, ebx
mov ebx, esi
mov ebp, esi
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
xor edi, ebx
shr esi, 3
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x11
shl ebp, 0xf
or ebx, ebp
mov ebp, esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 0xa
xor ebx, esi
mov esi, dword [eax + 0x44]
add edi, ebx
add edi, dword [eax + 0x28]
add esi, edi
mov dword [eax + 0x44], esi
mov esi, dword [esp + 0x30]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x38]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x34]
and ebp, esi
mov esi, dword [eax + 0x44]
xor ebx, ebp
add edi, ebx
add edi, dword [ecx*4 + 0x4729fc]
mov ebx, dword [esp + 0x2c]
add edi, esi
mov esi, dword [esp + 0x20]
add edx, edi
add ebx, edx
mov dword [esp + 0x2c], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
mov ebp, esi
shr ebp, 2
shl edi, 0x1e
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x28]
mov ebp, esi
xor ebp, edi
and ebp, dword [esp + 0x24]
and esi, edi
xor ebp, esi
add ebp, edx
test ecx, ecx
lea edx, [ebx + ebp]
je 0x424c93
mov esi, dword [eax + 0x4c]
mov dword [esp + 0x40], esi
mov esi, dword [eax + 0x40]
mov edi, esi
mov ebx, esi
shl ebx, 0xf
shr edi, 0x11
or edi, ebx
mov ebx, esi
mov ebp, esi
shr ebx, 0x13
shl ebp, 0xd
or ebx, ebp
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x12
shl ebp, 0xe
or ebx, ebp
mov ebp, esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 3
xor ebx, esi
mov esi, dword [eax + 0x48]
add edi, ebx
add edi, dword [eax + 0x2c]
add esi, edi
mov dword [eax + 0x48], esi
mov esi, dword [esp + 0x2c]
mov ebx, esi
shl ebx, 0x15
mov edi, esi
shr edi, 0xb
or ebx, edi
mov edi, esi
shl edi, 0x1a
mov ebp, esi
shr ebp, 6
or edi, ebp
xor ebx, edi
mov edi, esi
shr edi, 0x19
mov ebp, esi
shl ebp, 7
or edi, ebp
mov ebp, dword [esp + 0x34]
xor ebx, edi
mov edi, esi
not edi
and edi, ebp
mov ebp, dword [esp + 0x30]
and ebp, esi
xor edi, ebp
mov ebp, dword [ecx*4 + 0x472a00]
add ebx, edi
mov edi, dword [eax + 0x48]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x28]
add ebx, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x28], ebx
mov ebx, edx
shl ebx, 0x13
mov edi, edx
shr edi, 0xd
or ebx, edi
mov edi, edx
shr edi, 0x16
mov ebp, edx
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, edx
shl edi, 0x1e
mov ebp, edx
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x20]
mov ebp, edi
xor ebp, edx
and ebp, dword [esp + 0x24]
and edi, edx
xor ebp, edi
add ebp, dword [esp + 0x38]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x38], ebp
je 0x424d9c
mov edi, dword [eax + 0x50]
mov esi, dword [eax + 0x44]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x14], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x14]
xor ebx, ebp
shr edi, 3
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x11
shl ebp, 0xf
or edi, ebp
mov ebp, esi
mov dword [esp + 0x40], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x40]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x4c]
add ebx, edi
add ebx, dword [eax + 0x30]
add esi, ebx
mov dword [eax + 0x4c], esi
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x28]
mov ebx, edi
shl ebx, 0x15
mov ebp, edi
shr ebp, 0xb
or ebx, ebp
mov ebp, edi
shl ebp, 0x1a
shr edi, 6
or ebp, edi
xor ebx, ebp
mov edi, dword [esp + 0x28]
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x28]
xor ebx, ebp
mov ebp, edi
not ebp
and ebp, dword [esp + 0x30]
and edi, esi
mov esi, dword [ecx*4 + 0x472a04]
xor ebp, edi
add ebx, ebp
mov ebp, dword [eax + 0x4c]
add ebx, esi
mov esi, dword [esp + 0x34]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add esi, ebx
add ebp, esi
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x38]
mov dword [esp + 0x24], ebp
mov edi, esi
shl edi, 0x13
mov ebx, esi
shr ebx, 0xd
or edi, ebx
mov ebx, esi
shr ebx, 0x16
mov ebp, esi
shl ebp, 0xa
or ebx, ebp
xor edi, ebx
mov ebx, esi
shl ebx, 0x1e
mov ebp, esi
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x20]
xor edi, ebx
mov ebx, edx
xor ebx, esi
and ebx, ebp
mov ebp, edx
and ebp, esi
xor ebx, ebp
add ebx, dword [esp + 0x34]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x34], ebx
je 0x424ea1
mov esi, dword [eax + 0x54]
mov dword [esp + 0x14], esi
mov esi, dword [eax + 0x48]
mov edi, esi
mov ebx, esi
shl ebx, 0xf
shr edi, 0x11
or edi, ebx
mov ebx, esi
mov ebp, esi
shr ebx, 0x13
shl ebp, 0xd
or ebx, ebp
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, dword [esp + 0x14]
mov ebx, esi
mov ebp, esi
shr ebx, 0x12
shl ebp, 0xe
or ebx, ebp
mov ebp, esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x14]
xor ebx, ebp
shr esi, 3
xor ebx, esi
mov esi, dword [eax + 0x50]
add edi, ebx
add edi, dword [eax + 0x34]
add esi, edi
mov dword [eax + 0x50], esi
mov esi, dword [esp + 0x24]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x2c]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
and esi, dword [esp + 0x28]
xor ebx, esi
mov esi, dword [eax + 0x50]
add edi, ebx
add edi, dword [ecx*4 + 0x472a08]
mov ebx, dword [esp + 0x20]
add edi, esi
mov esi, dword [esp + 0x30]
add esi, edi
add ebx, esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
shl edi, 0x1e
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x38]
mov ebp, edi
xor ebp, esi
and ebp, edx
and edi, esi
xor ebp, edi
add ebp, dword [esp + 0x30]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x30], ebp
je 0x424fa2
mov esi, dword [eax + 0x58]
mov edi, dword [eax + 0x4c]
mov dword [esp + 0x40], edi
mov edi, esi
mov ebx, esi
shl ebx, 0xe
shr edi, 0x12
or edi, ebx
mov ebx, esi
mov ebp, esi
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
xor edi, ebx
shr esi, 3
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x11
shl ebp, 0xf
or ebx, ebp
mov ebp, esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 0xa
xor ebx, esi
mov esi, dword [eax + 0x54]
add edi, ebx
add edi, dword [eax + 0x38]
add esi, edi
mov dword [eax + 0x54], esi
mov esi, dword [esp + 0x20]
mov edi, esi
mov ebx, esi
shr ebx, 0xb
mov ebp, esi
shr ebp, 6
shl edi, 0x15
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
or ebx, ebp
xor edi, ebx
mov ebx, esi
mov ebp, esi
shl ebp, 7
shr ebx, 0x19
or ebx, ebp
mov ebp, dword [esp + 0x28]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x24]
and ebp, esi
mov esi, dword [ecx*4 + 0x472a0c]
xor ebx, ebp
mov ebp, dword [eax + 0x54]
add edi, ebx
add edi, esi
mov esi, dword [esp + 0x2c]
add edi, ebp
add esi, edi
mov edi, dword [esp + 0x30]
mov dword [esp + 0x2c], esi
add edx, esi
mov ebx, edi
shl ebx, 0x13
mov esi, edi
shr esi, 0xd
or ebx, esi
mov esi, edi
shr esi, 0x16
mov ebp, edi
shl ebp, 0xa
or esi, ebp
xor ebx, esi
mov esi, edi
shl esi, 0x1e
mov ebp, edi
shr ebp, 2
or esi, ebp
xor ebx, esi
mov esi, dword [esp + 0x34]
mov ebp, esi
xor ebp, edi
and ebp, dword [esp + 0x38]
and esi, edi
xor ebp, esi
add ebp, dword [esp + 0x2c]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x2c], ebp
je 0x4250a7
mov edi, dword [eax + 0x5c]
mov esi, dword [eax + 0x50]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
mov dword [esp + 0x40], edi
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x40]
xor ebx, ebp
shr edi, 3
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x11
shl ebp, 0xf
or edi, ebp
mov ebp, esi
mov dword [esp + 0x14], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x14]
xor edi, ebp
shr esi, 0xa
xor edi, esi
mov esi, dword [eax + 0x58]
add ebx, edi
add ebx, dword [eax + 0x3c]
mov edi, dword [esp + 0x30]
add esi, ebx
mov dword [eax + 0x58], esi
mov esi, edx
shl esi, 0x15
mov ebx, edx
shr ebx, 0xb
or esi, ebx
mov ebx, edx
shl ebx, 0x1a
mov ebp, edx
shr ebp, 6
or ebx, ebp
xor esi, ebx
mov ebx, edx
shr ebx, 0x19
mov ebp, edx
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor esi, ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
xor ebx, ebp
mov ebp, dword [ecx*4 + 0x472a10]
add esi, ebx
mov ebx, dword [eax + 0x58]
add esi, ebp
add esi, ebx
mov ebx, dword [esp + 0x28]
add ebx, esi
mov esi, dword [esp + 0x38]
mov ebp, edi
add esi, ebx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x2c]
and edi, ebx
xor ebp, ebx
mov dword [esp + 0x10], edi
mov edi, ebx
shr edi, 0xd
mov dword [esp + 0x40], ebp
mov ebp, ebx
shl ebp, 0x13
or ebp, edi
mov edi, ebx
shr edi, 0x16
shl ebx, 0xa
or edi, ebx
xor ebp, edi
mov edi, dword [esp + 0x2c]
mov ebx, edi
shr edi, 2
shl ebx, 0x1e
or ebx, edi
mov edi, dword [esp + 0x40]
xor ebp, ebx
and edi, dword [esp + 0x34]
xor edi, dword [esp + 0x10]
add edi, dword [esp + 0x28]
add edi, ebp
test ecx, ecx
mov dword [esp + 0x38], esi
mov dword [esp + 0x28], edi
je 0x4251ba
mov edi, dword [eax + 0x60]
mov esi, dword [eax + 0x54]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x18], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
shr edi, 3
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x11
shl ebp, 0xf
or edi, ebp
mov ebp, esi
mov dword [esp + 0x14], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x14]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x5c]
add ebx, edi
add ebx, dword [eax + 0x40]
add esi, ebx
mov dword [eax + 0x5c], esi
mov esi, dword [esp + 0x38]
mov ebx, esi
shl ebx, 0x15
mov edi, esi
shr edi, 0xb
or ebx, edi
mov edi, esi
shl edi, 0x1a
mov ebp, esi
shr ebp, 6
or edi, ebp
xor ebx, edi
mov edi, esi
shr edi, 0x19
mov ebp, esi
shl ebp, 7
or edi, ebp
mov ebp, dword [esp + 0x20]
xor ebx, edi
mov edi, esi
not edi
and edi, ebp
mov ebp, edx
and ebp, esi
xor edi, ebp
mov ebp, dword [ecx*4 + 0x472a14]
add ebx, edi
mov edi, dword [eax + 0x5c]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x24]
add edi, ebx
mov ebx, dword [esp + 0x34]
add ebx, edi
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x28]
mov ebp, edi
shr ebp, 0xd
mov dword [esp + 0x34], ebx
mov ebx, edi
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shl edi, 0xa
shr ebp, 0x16
or ebp, edi
mov edi, dword [esp + 0x28]
xor ebx, ebp
mov ebp, edi
shr edi, 2
shl ebp, 0x1e
or ebp, edi
mov edi, dword [esp + 0x40]
xor ebx, ebp
and edi, dword [esp + 0x28]
xor edi, dword [esp + 0x10]
add edi, dword [esp + 0x24]
add edi, ebx
test ecx, ecx
mov dword [esp + 0x24], edi
je 0x4252bd
mov edi, dword [eax + 0x58]
mov esi, dword [eax + 0x64]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x18], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
shr edi, 0xa
xor ebx, edi
mov edi, esi
mov ebp, esi
shr edi, 0x12
shl ebp, 0xe
or edi, ebp
mov ebp, esi
mov dword [esp + 0x40], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x40]
shr esi, 3
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x60]
add ebx, edi
add ebx, dword [eax + 0x44]
add esi, ebx
mov dword [eax + 0x60], esi
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebx, edi
mov ebp, edi
shr ebp, 0xb
shl ebx, 0x15
or ebx, ebp
mov ebp, edi
shl ebp, 0x1a
shr edi, 6
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
and esi, edi
mov ebp, edi
mov edi, dword [ecx*4 + 0x472a18]
not ebp
and ebp, edx
xor ebp, esi
mov esi, dword [eax + 0x60]
add ebx, ebp
add ebx, edi
add ebx, esi
mov esi, dword [esp + 0x20]
add esi, ebx
mov ebx, dword [esp + 0x30]
add ebx, esi
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x30], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
shl edi, 0x1e
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x28]
mov ebp, edi
xor ebp, dword [esp + 0x2c]
and ebp, esi
and edi, dword [esp + 0x2c]
xor ebp, edi
add ebp, dword [esp + 0x20]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x20], ebp
je 0x4253c2
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x28]
mov dword [esp + 0x40], edi
mov edi, esi
mov ebx, esi
shl ebx, 0xf
shr edi, 0x11
or edi, ebx
mov ebx, esi
mov ebp, esi
shr ebx, 0x13
shl ebp, 0xd
or ebx, ebp
xor edi, ebx
shr esi, 0xa
xor edi, esi
mov esi, dword [esp + 0x40]
mov ebx, esi
mov ebp, esi
shr ebx, 0x12
shl ebp, 0xe
or ebx, ebp
mov ebp, esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x40]
xor ebx, ebp
shr esi, 3
xor ebx, esi
mov esi, dword [eax + 0x64]
add edi, ebx
add edi, dword [eax + 0x48]
add esi, edi
mov dword [eax + 0x64], esi
mov esi, dword [esp + 0x30]
mov edi, esi
shl edi, 0x15
mov ebx, esi
shr ebx, 0xb
or edi, ebx
mov ebx, esi
shl ebx, 0x1a
mov ebp, esi
shr ebp, 6
or ebx, ebp
xor edi, ebx
mov ebx, esi
shr ebx, 0x19
mov ebp, esi
shl ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x38]
xor edi, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x34]
and ebp, esi
mov esi, dword [eax + 0x64]
xor ebx, ebp
add edi, ebx
add edi, dword [ecx*4 + 0x472a1c]
mov ebx, dword [esp + 0x2c]
add edi, esi
mov esi, dword [esp + 0x20]
add edx, edi
add ebx, edx
mov dword [esp + 0x2c], ebx
mov ebx, esi
shl ebx, 0x13
mov edi, esi
shr edi, 0xd
or ebx, edi
mov edi, esi
shr edi, 0x16
mov ebp, esi
shl ebp, 0xa
or edi, ebp
xor ebx, edi
mov edi, esi
mov ebp, esi
shr ebp, 2
shl edi, 0x1e
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x28]
mov ebp, esi
xor ebp, edi
and ebp, dword [esp + 0x24]
and esi, edi
xor ebp, esi
add ebp, edx
add ecx, 0x10
cmp ecx, 0x40
lea edx, [ebx + ebp]
jb 0x42440f
mov esi, dword [eax + 8]
mov ecx, dword [esp + 0x20]
mov ebp, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
add esi, edx
mov edx, dword [eax + 0xc]
add edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x24]
add ebp, edx
mov edx, dword [esp + 0x30]
add ebx, edi
mov edi, dword [eax + 0x18]
mov dword [eax + 8], esi
mov esi, dword [eax + 0x1c]
add esi, edx
mov edx, dword [eax + 0x20]
add edi, ecx
mov ecx, dword [esp + 0x34]
add edx, ecx
mov ecx, dword [eax + 0x24]
mov dword [eax + 0x18], edi
pop edi
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], edx
mov edx, dword [esp + 0x34]
pop esi
mov dword [eax + 0x10], ebp
add ecx, edx
pop ebp
mov dword [eax + 0x14], ebx
mov dword [eax + 0x24], ecx
pop ebx
add esp, 0x2c
ret