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

Disassembly:
mov eax, dword [esp + 4]
sub esp, 0x28
push ebx
push ebp
push esi
push edi
lea esi, [eax + 8]
mov ecx, 8
lea edi, [esp + 0x18]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
xor ecx, ecx
test ecx, ecx
mov edi, dword [esp + 0x28]
je 0x4336d0
mov edi, dword [eax + 0x2c]
mov esi, dword [eax + 0x60]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
mov dword [esp + 0x3c], edi
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x28]
add ebx, edi
add ebx, dword [eax + 0x4c]
mov edi, dword [esp + 0x28]
add esi, ebx
mov dword [eax + 0x28], esi
mov esi, dword [esp + 0x18]
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
xor ebx, ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
xor edi, ebp
and edi, dword [esp + 0x28]
xor edi, dword [esp + 0x30]
mov ebp, dword [ecx*4 + 0x46fc28]
add ebx, edi
mov edi, dword [eax + 0x28]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebx, edi
mov edi, dword [esp + 0x34]
add edi, ebx
add ebp, edi
mov dword [esp + 0x34], edi
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
or ebx, ebp
add ebx, dword [esp + 0x34]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x34], ebx
je 0x4337d5
mov edi, dword [eax + 0x30]
mov esi, dword [eax + 0x64]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x2c]
add ebx, edi
add ebx, dword [eax + 0x50]
add esi, ebx
mov dword [eax + 0x2c], esi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x24]
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 + 0x24]
xor ebx, ebp
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
xor edi, dword [esp + 0x28]
and edi, dword [esp + 0x24]
xor edi, dword [esp + 0x2c]
mov ebp, dword [ecx*4 + 0x46fc2c]
add ebx, edi
mov edi, dword [eax + 0x2c]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x30]
add edi, ebx
mov ebx, dword [esp + 0x20]
add ebx, edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], ebx
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, esi
xor ebp, edi
and esi, edi
and ebp, edx
or ebp, esi
add ebp, dword [esp + 0x30]
test ecx, ecx
lea esi, [ebx + ebp]
mov dword [esp + 0x30], esi
je 0x4338df
mov edi, dword [eax + 0x34]
mov esi, dword [eax + 0x28]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x30]
add ebx, edi
add ebx, dword [eax + 0x54]
add esi, ebx
mov dword [eax + 0x30], esi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, edi
mov ebp, edi
shr ebp, 0xb
shl ebx, 0x15
or ebx, ebp
mov ebp, edi
shr edi, 6
shl ebp, 0x1a
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
shl edi, 7
shr ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
xor edi, dword [esp + 0x28]
and edi, dword [esp + 0x20]
xor edi, dword [esp + 0x28]
mov ebp, dword [ecx*4 + 0x46fc30]
add ebx, edi
mov edi, dword [eax + 0x30]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x2c]
add edi, ebx
mov dword [esp + 0x2c], edi
add edx, edi
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 + 0x18]
and edi, esi
or ebp, edi
add ebp, dword [esp + 0x2c]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x2c], ebp
je 0x4339de
mov edi, dword [eax + 0x2c]
mov esi, dword [eax + 0x38]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x10], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x10]
shr esi, 3
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x34]
add ebx, edi
add ebx, dword [eax + 0x58]
add esi, ebx
mov dword [eax + 0x34], esi
mov esi, dword [esp + 0x30]
mov ebx, edx
shl ebx, 0x15
mov edi, edx
shr edi, 0xb
or ebx, edi
mov edi, edx
shl edi, 0x1a
mov ebp, edx
shr ebp, 6
or edi, ebp
xor ebx, edi
mov edi, edx
shr edi, 0x19
mov ebp, edx
shl ebp, 7
or edi, ebp
mov ebp, dword [esp + 0x20]
xor ebx, edi
mov edi, dword [esp + 0x24]
xor ebp, edi
and ebp, edx
xor ebp, edi
mov edi, dword [eax + 0x34]
add ebx, ebp
add ebx, dword [ecx*4 + 0x46fc34]
add ebx, edi
mov edi, dword [esp + 0x28]
add edi, ebx
mov ebx, dword [esp + 0x18]
add ebx, edi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, edi
xor ebp, esi
and ebp, dword [esp + 0x34]
and edi, esi
mov esi, dword [esp + 0x28]
or ebp, edi
add ebp, esi
test ecx, ecx
lea esi, [ebx + ebp]
mov dword [esp + 0x28], esi
je 0x433ae4
mov edi, dword [eax + 0x30]
mov esi, dword [eax + 0x3c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x10], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x10]
shr esi, 3
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 + 0x28]
mov edi, dword [esp + 0x18]
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 + 0x18]
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, dword [esp + 0x18]
xor edi, edx
and edi, ebp
xor edi, dword [esp + 0x20]
mov ebp, dword [ecx*4 + 0x46fc38]
add ebx, edi
mov edi, dword [eax + 0x38]
add ebx, ebp
mov ebp, dword [esp + 0x34]
add ebx, edi
mov edi, dword [esp + 0x24]
add edi, ebx
add ebp, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], 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 + 0x30]
xor edi, ebx
mov ebx, dword [esp + 0x2c]
xor ebx, esi
and ebx, ebp
mov ebp, dword [esp + 0x2c]
and ebp, esi
or ebx, ebp
add ebx, dword [esp + 0x24]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x24], ebx
je 0x433bef
mov edi, dword [eax + 0x40]
mov esi, dword [eax + 0x34]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x3c]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x3c]
add ebx, edi
add ebx, dword [eax + 0x60]
add esi, ebx
mov dword [eax + 0x3c], esi
mov esi, dword [esp + 0x28]
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
xor ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, edx
xor edi, ebp
and edi, dword [esp + 0x34]
mov ebp, dword [ecx*4 + 0x46fc3c]
xor edi, edx
add ebx, edi
mov edi, dword [eax + 0x3c]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x20]
add edi, ebx
mov ebx, dword [esp + 0x30]
add ebx, edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x24]
mov ebp, edi
shr ebp, 0xd
mov dword [esp + 0x30], ebx
mov ebx, edi
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
mov ebp, edi
xor ebp, esi
and ebp, dword [esp + 0x2c]
and edi, esi
or ebp, edi
add ebp, dword [esp + 0x20]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x20], ebp
je 0x433cf8
mov edi, dword [eax + 0x44]
mov esi, dword [eax + 0x38]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x10], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x10]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x40]
add ebx, edi
add ebx, dword [eax + 0x64]
add esi, ebx
mov dword [eax + 0x40], esi
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x30]
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 + 0x30]
xor ebx, ebp
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
xor edi, dword [esp + 0x34]
and edi, dword [esp + 0x30]
xor edi, dword [esp + 0x18]
mov ebp, dword [ecx*4 + 0x46fc40]
add ebx, edi
mov edi, dword [eax + 0x40]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x2c]
add edx, ebx
add edi, edx
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x20]
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
xor ebp, dword [esp + 0x24]
and ebp, esi
and edi, dword [esp + 0x24]
or ebp, edi
add ebp, edx
test ecx, ecx
lea edx, [ebx + ebp]
je 0x433df4
mov edi, dword [eax + 0x48]
mov esi, dword [eax + 0x3c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x10], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x10]
xor edi, ebp
shr esi, 0xa
xor edi, esi
mov esi, dword [eax + 0x44]
add ebx, edi
add ebx, dword [eax + 0x28]
add esi, ebx
mov dword [eax + 0x44], esi
mov esi, dword [esp + 0x2c]
mov ebx, esi
mov edi, esi
mov ebp, esi
shl ebx, 0x15
shr edi, 0xb
or ebx, edi
mov edi, esi
shr ebp, 6
shl edi, 0x1a
or edi, ebp
xor ebx, edi
mov edi, esi
mov ebp, esi
shl ebp, 7
shr edi, 0x19
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x34]
mov ebp, edi
xor ebp, dword [esp + 0x30]
and ebp, esi
mov esi, dword [eax + 0x44]
xor ebp, edi
mov edi, dword [ecx*4 + 0x46fc44]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x28]
add ebx, esi
mov esi, dword [esp + 0x18]
add esi, ebx
add edi, esi
mov dword [esp + 0x18], esi
mov ebx, edx
shl ebx, 0x13
mov esi, edx
shr esi, 0xd
or ebx, esi
mov esi, edx
shr esi, 0x16
mov ebp, edx
shl ebp, 0xa
or esi, ebp
xor ebx, esi
mov esi, edx
shl esi, 0x1e
mov ebp, edx
shr ebp, 2
or esi, ebp
xor ebx, esi
mov esi, dword [esp + 0x20]
mov ebp, esi
xor ebp, edx
and ebp, dword [esp + 0x24]
and esi, edx
or ebp, esi
add ebp, dword [esp + 0x18]
test ecx, ecx
lea esi, [ebx + ebp]
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], esi
je 0x433efe
mov edi, dword [eax + 0x40]
mov esi, dword [eax + 0x4c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
mov dword [esp + 0x10], edi
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x3c]
xor edi, ebp
shr esi, 3
xor edi, esi
mov esi, dword [eax + 0x48]
add ebx, edi
add ebx, dword [eax + 0x2c]
mov edi, dword [esp + 0x28]
add esi, ebx
mov dword [eax + 0x48], esi
mov esi, dword [esp + 0x18]
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
xor ebx, ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
xor edi, ebp
and edi, dword [esp + 0x28]
xor edi, dword [esp + 0x30]
mov ebp, dword [ecx*4 + 0x46fc48]
add ebx, edi
mov edi, dword [eax + 0x48]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebx, edi
mov edi, dword [esp + 0x34]
add edi, ebx
add ebp, edi
mov dword [esp + 0x34], edi
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
or ebx, ebp
add ebx, dword [esp + 0x34]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x34], ebx
je 0x434003
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 + 0x10], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x3c]
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 + 0x18]
mov edi, dword [esp + 0x24]
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 + 0x24]
xor ebx, ebp
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
xor edi, dword [esp + 0x28]
and edi, dword [esp + 0x24]
xor edi, dword [esp + 0x2c]
mov ebp, dword [ecx*4 + 0x46fc4c]
add ebx, edi
mov edi, dword [eax + 0x4c]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x30]
add edi, ebx
mov ebx, dword [esp + 0x20]
add ebx, edi
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x34]
mov dword [esp + 0x20], ebx
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x34]
xor ebx, ebp
mov ebp, esi
xor ebp, edi
and esi, edi
and ebp, edx
or ebp, esi
add ebp, dword [esp + 0x30]
test ecx, ecx
lea esi, [ebx + ebp]
mov dword [esp + 0x30], esi
je 0x43410d
mov edi, dword [eax + 0x54]
mov esi, dword [eax + 0x48]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x3c]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x50]
add ebx, edi
add ebx, dword [eax + 0x34]
add esi, ebx
mov dword [eax + 0x50], esi
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov ebx, edi
mov ebp, edi
shr ebp, 0xb
shl ebx, 0x15
or ebx, ebp
mov ebp, edi
shr edi, 6
shl ebp, 0x1a
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
shl edi, 7
shr ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
xor edi, dword [esp + 0x28]
and edi, dword [esp + 0x20]
xor edi, dword [esp + 0x28]
mov ebp, dword [ecx*4 + 0x46fc50]
add ebx, edi
mov edi, dword [eax + 0x50]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x2c]
add edi, ebx
mov dword [esp + 0x2c], edi
add edx, edi
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 + 0x18]
and edi, esi
or ebp, edi
add ebp, dword [esp + 0x2c]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x2c], ebp
je 0x43420c
mov edi, dword [eax + 0x58]
mov esi, dword [eax + 0x4c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], edi
shr edi, 7
shl ebp, 0x19
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x3c]
shr esi, 0xa
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x54]
add ebx, edi
add ebx, dword [eax + 0x38]
add esi, ebx
mov dword [eax + 0x54], esi
mov esi, dword [esp + 0x30]
mov ebx, edx
shl ebx, 0x15
mov edi, edx
shr edi, 0xb
or ebx, edi
mov edi, edx
shl edi, 0x1a
mov ebp, edx
shr ebp, 6
or edi, ebp
xor ebx, edi
mov edi, edx
shr edi, 0x19
mov ebp, edx
shl ebp, 7
or edi, ebp
mov ebp, dword [esp + 0x20]
xor ebx, edi
mov edi, dword [esp + 0x24]
xor ebp, edi
and ebp, edx
xor ebp, edi
mov edi, dword [eax + 0x54]
add ebx, ebp
add ebx, dword [ecx*4 + 0x46fc54]
add ebx, edi
mov edi, dword [esp + 0x28]
add edi, ebx
mov ebx, dword [esp + 0x18]
add ebx, edi
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, edi
xor ebp, esi
and ebp, dword [esp + 0x34]
and edi, esi
mov esi, dword [esp + 0x28]
or ebp, edi
add ebp, esi
test ecx, ecx
lea esi, [ebx + ebp]
mov dword [esp + 0x28], esi
je 0x434312
mov edi, dword [eax + 0x50]
mov esi, dword [eax + 0x5c]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x3c], esi
shr esi, 7
shl ebp, 0x19
or ebp, esi
mov esi, dword [esp + 0x3c]
shr esi, 3
xor edi, ebp
xor edi, esi
mov esi, dword [eax + 0x58]
add ebx, edi
add ebx, dword [eax + 0x3c]
add esi, ebx
mov dword [eax + 0x58], esi
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
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 + 0x18]
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, dword [esp + 0x18]
xor edi, edx
and edi, ebp
xor edi, dword [esp + 0x20]
mov ebp, dword [ecx*4 + 0x46fc58]
add ebx, edi
mov edi, dword [eax + 0x58]
add ebx, ebp
mov ebp, dword [esp + 0x34]
add ebx, edi
mov edi, dword [esp + 0x24]
add edi, ebx
add ebp, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x34], 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 + 0x30]
xor edi, ebx
mov ebx, dword [esp + 0x2c]
xor ebx, esi
and ebx, ebp
mov ebp, dword [esp + 0x2c]
and ebp, esi
or ebx, ebp
add ebx, dword [esp + 0x24]
add ebx, edi
test ecx, ecx
mov dword [esp + 0x24], ebx
je 0x43441d
mov edi, dword [eax + 0x54]
mov esi, dword [eax + 0x60]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x10], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x10]
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 + 0x5c]
add ebx, edi
add ebx, dword [eax + 0x40]
add esi, ebx
mov dword [eax + 0x5c], esi
mov esi, dword [esp + 0x28]
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
xor ebx, ebp
mov ebp, dword [esp + 0x18]
mov edi, edx
xor edi, ebp
and edi, dword [esp + 0x34]
mov ebp, dword [ecx*4 + 0x46fc5c]
xor edi, edx
add ebx, edi
mov edi, dword [eax + 0x5c]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x20]
add edi, ebx
mov ebx, dword [esp + 0x30]
add ebx, edi
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x24]
mov ebp, edi
shr ebp, 0xd
mov dword [esp + 0x30], ebx
mov ebx, edi
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
mov ebp, edi
xor ebp, esi
and ebp, dword [esp + 0x2c]
and edi, esi
or ebp, edi
add ebp, dword [esp + 0x20]
add ebp, ebx
test ecx, ecx
mov dword [esp + 0x20], ebp
je 0x434526
mov edi, dword [eax + 0x64]
mov esi, dword [eax + 0x58]
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 + 0x10], esi
shl esi, 0xd
shr ebp, 0x13
or ebp, esi
mov esi, dword [esp + 0x10]
shr esi, 0xa
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 + 0x28]
mov edi, dword [esp + 0x30]
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 + 0x30]
xor ebx, ebp
mov ebp, edi
shr ebp, 0x19
shl edi, 7
or ebp, edi
mov edi, dword [esp + 0x18]
xor ebx, ebp
xor edi, dword [esp + 0x34]
and edi, dword [esp + 0x30]
xor edi, dword [esp + 0x18]
mov ebp, dword [ecx*4 + 0x46fc60]
add ebx, edi
mov edi, dword [eax + 0x60]
add ebx, ebp
add ebx, edi
mov edi, dword [esp + 0x2c]
add edx, ebx
add edi, edx
mov dword [esp + 0x2c], edi
mov edi, dword [esp + 0x20]
mov ebx, edi
mov ebp, edi
shr ebp, 0xd
shl ebx, 0x13
or ebx, ebp
mov ebp, edi
shr ebp, 0x16
shl edi, 0xa
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
shl ebp, 0x1e
shr edi, 2
or ebp, edi
mov edi, dword [esp + 0x20]
xor ebx, ebp
mov ebp, edi
xor ebp, dword [esp + 0x24]
and ebp, esi
and edi, dword [esp + 0x24]
or ebp, edi
add ebp, edx
test ecx, ecx
lea edx, [ebx + ebp]
je 0x434622
mov edi, dword [eax + 0x5c]
mov esi, dword [eax + 0x28]
mov ebx, edi
mov ebp, edi
shl ebp, 0xf
shr ebx, 0x11
or ebx, ebp
mov ebp, edi
mov dword [esp + 0x3c], edi
shl edi, 0xd
shr ebp, 0x13
or ebp, edi
mov edi, dword [esp + 0x3c]
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 + 0x64]
add ebx, edi
add ebx, dword [eax + 0x48]
add esi, ebx
mov dword [eax + 0x64], esi
mov edi, dword [esp + 0x2c]
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
xor ebx, esi
mov esi, dword [esp + 0x34]
mov ebp, esi
xor ebp, dword [esp + 0x30]
add ecx, 0x10
and ebp, edi
xor ebp, esi
mov esi, dword [eax + 0x64]
add ebx, ebp
mov ebp, dword [ecx*4 + 0x46fc24]
add ebx, ebp
mov ebp, dword [esp + 0x28]
add ebx, esi
mov esi, dword [esp + 0x18]
add esi, ebx
add ebp, esi
mov dword [esp + 0x18], esi
mov dword [esp + 0x28], ebp
mov esi, edx
shl esi, 0x13
mov ebx, edx
shr ebx, 0xd
or esi, ebx
mov ebx, edx
shr ebx, 0x16
mov ebp, edx
shl ebp, 0xa
or ebx, ebp
xor esi, ebx
mov ebx, edx
shl ebx, 0x1e
mov ebp, edx
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor esi, ebx
mov ebx, dword [esp + 0x20]
xor ebx, edx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
or ebx, ebp
add ebx, dword [esp + 0x18]
add esi, ebx
cmp ecx, 0x40
mov dword [esp + 0x18], esi
jb 0x433663
mov ebx, dword [eax + 8]
mov ecx, dword [esp + 0x20]
mov ebp, dword [eax + 0x18]
add ebx, esi
mov esi, dword [eax + 0xc]
add esi, edx
mov edx, dword [eax + 0x10]
add edx, ecx
mov ecx, dword [eax + 0x14]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x24]
add ecx, edx
mov edx, dword [esp + 0x30]
mov dword [eax + 8], ebx
mov ebx, dword [eax + 0x1c]
mov dword [eax + 0xc], esi
mov esi, dword [eax + 0x20]
add ebx, edi
add esi, edx
mov edx, dword [eax + 0x24]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x28]
add ebp, ecx
mov ecx, dword [esp + 0x34]
pop edi
mov dword [eax + 0x20], esi
pop esi
mov dword [eax + 0x18], ebp
add edx, ecx
pop ebp
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x24], edx
pop ebx
add esp, 0x28
ret