Function at 0x40f034
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x30
mov eax, dword [esp + 0x38]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x28955b88
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 7
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 4
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x173848aa
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xc
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 8
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x242070db
mov dword [esp + 0x20], eax
ror dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x3e423112
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xa
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x10
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0xa83f051
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 7
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x14
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
add eax, 0x4787c62a
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xc
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x18
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x57cfb9ed
mov dword [esp + 0x20], eax
ror dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x1c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x2b96aff
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xa
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x20
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x698098d8
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 7
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x24
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x74bb0851
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xc
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x28
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0xa44f
mov dword [esp + 0x20], eax
ror dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x2c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x76a32842
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xa
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x30
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x6b901122
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 7
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x34
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x2678e6d
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xc
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x38
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x5986bc72
mov dword [esp + 0x20], eax
ror dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x3c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
add eax, 0x49b40821
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xa
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 4
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x9e1da9e
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 5
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x18
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x3fbf4cc0
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 9
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x2c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x265e5a51
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xe
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x16493856
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xc
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x14
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x29d0efa3
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 5
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x28
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
add eax, 0x2441453
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 9
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x3c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x275e197f
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xe
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x10
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x182c0438
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xc
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x24
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x21e1cde6
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 5
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x38
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x3cc8f82a
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 9
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0xb2af279
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xe
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x20
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
add eax, 0x455a14ed
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xc
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
and eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x34
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x561c16fb
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 5
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 8
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x3105c08
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 9
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
and eax, dword [esp + 0x24]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x1c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x676f02d9
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xe
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
and eax, dword [esp + 0x28]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x30
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x72d5b376
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xc
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x14
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x5c6be
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 4
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x20
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x788e097f
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xb
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x2c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x6d9d6122
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0x10
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x38
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x21ac7f4
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 9
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 4
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x5b4115bc
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 4
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x10
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
add eax, 0x4bdecfa9
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xb
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x1c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x944b4a0
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0x10
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x28
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x41404390
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 9
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x34
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x289b7ec6
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 4
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x155ed806
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xb
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x2b10cf7b
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0x10
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x18
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
add eax, 0x4881d05
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 9
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x24
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x262b2fc7
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 4
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x30
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x1924661b
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xb
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x3c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x1fa27cf8
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0x10
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 8
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x3b53a99b
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 9
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
not eax
or eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0xbd6ddbc
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 6
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
not eax
or eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x1c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
add eax, 0x432aff97
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xa
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
not eax
or eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x38
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x546bdc59
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
not eax
or eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x14
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x36c5fc7
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xb
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
not eax
or eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x30
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x655b59c3
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 6
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
not eax
or eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xc
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x70f3336e
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xa
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
not eax
or eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x28
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x100b83
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
not eax
or eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 4
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x7a7ba22f
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xb
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
not eax
or eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x20
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
add eax, 0x6fa87e4f
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 6
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
not eax
or eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x3c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x1d31920
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xa
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
not eax
or eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x18
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
sub eax, 0x5cfebcec
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
not eax
or eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x34
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
add eax, 0x4e0811a1
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xb
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
not eax
or eax, dword [esp + 0x24]
xor eax, dword [esp + 0x20]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x10
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x28]
add eax, edx
sub eax, 0x8ac817e
mov dword [esp + 0x28], eax
rol dword [esp + 0x28], 6
mov eax, dword [esp + 0x24]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x20]
not eax
or eax, dword [esp + 0x28]
xor eax, dword [esp + 0x24]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x2c
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x1c]
add eax, edx
sub eax, 0x42c50dcb
mov dword [esp + 0x1c], eax
rol dword [esp + 0x1c], 0xa
mov eax, dword [esp + 0x28]
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
not eax
or eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x28]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 8
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, edx
add eax, 0x2ad7d2bb
mov dword [esp + 0x20], eax
rol dword [esp + 0x20], 0xf
mov eax, dword [esp + 0x1c]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
not eax
or eax, dword [esp + 0x20]
xor eax, dword [esp + 0x1c]
mov edx, eax
mov eax, dword [esp + 0x2c]
add eax, 0x24
mov eax, dword [eax]
add edx, eax
mov eax, dword [esp + 0x24]
add eax, edx
sub eax, 0x14792c6f
mov dword [esp + 0x24], eax
ror dword [esp + 0x24], 0xb
mov eax, dword [esp + 0x20]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
add dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
add dword [esp + 0x1c], eax
add dword [esp + 0x2c], 0x40
sub dword [esp + 0x3c], 0x40
cmp dword [esp + 0x3c], 0
jne 0x40f06b
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x20]
mov dword [eax + 0x10], edx
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov dword [eax + 0x14], edx
mov eax, dword [esp + 0x2c]
add esp, 0x30
ret