Function at 0x51ec20
Capabilities:
Encode data using xor
Encrypt data using chaskey
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x6c
call fcn.00569440
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x520290
mov eax, dword [esp + 0x70]
push ebx
push ebp
push esi
mov edx, dword [eax + 4]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 0xc]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 0x10]
push edi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], edx
nop word [eax + eax]
mov edi, dword [esp + 0x84]
dec ecx
mov dword [esp + 0x88], ecx
xor ebp, esi
xor ebp, dword [esp + 0x54]
add ebp, dword [eax]
movzx ecx, byte [edi + 1]
movzx ebx, byte [edi]
shl ecx, 8
or ebx, ecx
movzx edx, byte [edi + 4]
movzx ecx, byte [edi + 2]
shl ecx, 0x10
or ebx, ecx
mov esi, dword [esp + 0x5c]
movzx ecx, byte [edi + 3]
shl ecx, 0x18
or ebx, ecx
rol esi, 0xa
movzx ecx, byte [edi + 5]
add ebp, ebx
shl ecx, 8
or edx, ecx
mov dword [esp + 0x4c], ebx
movzx ecx, byte [edi + 6]
movzx ebx, byte [edi + 8]
shl ecx, 0x10
or edx, ecx
rol ebp, 0xb
movzx ecx, byte [edi + 7]
shl ecx, 0x18
or edx, ecx
add ebp, dword [esp + 0x58]
movzx ecx, byte [edi + 9]
shl ecx, 8
or ebx, ecx
mov dword [esp + 0x48], edx
movzx ecx, byte [edi + 0xa]
shl ecx, 0x10
or ebx, ecx
mov dword [esp + 0x68], esi
movzx ecx, byte [edi + 0xb]
add edi, 0xc
shl ecx, 0x18
or ebx, ecx
mov dword [esp + 0x84], edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x54]
xor ebx, esi
mov edi, dword [esp + 0x54]
xor ebx, ebp
rol edi, 0xa
add ebx, dword [esp + 0x58]
add ebx, edx
mov dword [esp + 0x6c], edi
movzx edx, byte [ecx]
inc ecx
mov dword [esp + 0x84], ecx
rol ebx, 0xe
add ebx, dword [esp + 0x50]
movzx ecx, byte [ecx]
shl ecx, 8
or edx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or edx, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x38], edx
mov edx, ebx
xor edx, edi
xor edx, ebp
add edx, dword [esp + 0x50]
add edx, dword [esp + 0x2c]
rol edx, 0xf
add edx, esi
rol ebp, 0xa
movzx esi, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
mov dword [esp + 0x64], ebp
movzx ecx, byte [ecx]
shl ecx, 8
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or esi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x1c], esi
mov esi, ebx
xor esi, edx
rol ebx, 0xa
xor esi, ebp
mov dword [esp + 0x60], ebx
add esi, dword [esp + 0x38]
add esi, dword [esp + 0x68]
rol esi, 0xc
add esi, edi
movzx edi, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or edi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or edi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x20], edi
mov edi, ebx
xor edi, edx
rol edx, 0xa
xor edi, esi
add edi, dword [esp + 0x1c]
add edi, dword [esp + 0x6c]
rol edi, 5
add edi, ebp
movzx ebp, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or ebp, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or ebp, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or ebp, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x28], ebp
mov ebp, edx
xor ebp, esi
rol esi, 0xa
xor ebp, edi
add ebp, dword [esp + 0x20]
add ebp, dword [esp + 0x64]
rol ebp, 8
add ebp, ebx
movzx ebx, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or ebx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or ebx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x84], ecx
mov ebx, esi
xor ebx, edi
rol edi, 0xa
xor ebx, ebp
movzx ecx, byte [ecx]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x84]
inc ecx
add ebx, dword [esp + 0x28]
mov dword [esp + 0x84], ecx
add ebx, dword [esp + 0x60]
rol ebx, 7
movzx ecx, byte [ecx]
add ebx, edx
shl ecx, 8
or dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
inc dword [esp + 0x84]
movzx ecx, byte [ecx]
shl ecx, 0x18
or dword [esp + 0x10], ecx
mov ecx, ebx
xor ecx, edi
xor ecx, ebp
rol ebp, 0xa
add ecx, dword [esp + 0x24]
add ecx, edx
mov dword [esp + 0x64], ebp
rol ecx, 9
add ecx, esi
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x84]
movzx edx, byte [ecx]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or edx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
inc dword [esp + 0x84]
movzx ecx, byte [ecx]
shl ecx, 0x18
or edx, ecx
mov ecx, ebx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x34]
xor ecx, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, dword [esp + 0x10]
add ecx, esi
mov dword [esp + 0x60], ebx
rol ecx, 0xb
xor ebx, edx
add ecx, edi
rol edx, 0xa
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x84]
xor ebx, dword [esp + 0x18]
add ebx, dword [esp + 0x3c]
add ebx, edi
mov dword [esp + 0x34], edx
movzx esi, byte [ecx]
inc ecx
mov dword [esp + 0x84], ecx
rol ebx, 0xd
add ebx, ebp
movzx ecx, byte [ecx]
shl ecx, 8
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
inc dword [esp + 0x84]
mov edi, dword [esp + 0x84]
movzx ecx, byte [ecx]
shl ecx, 0x18
or esi, ecx
movzx ecx, byte [edi + 1]
movzx ebp, byte [edi]
shl ecx, 8
or ebp, ecx
mov dword [esp + 0x44], esi
movzx ecx, byte [edi + 2]
shl ecx, 0x10
or ebp, ecx
movzx ecx, byte [edi + 3]
shl ecx, 0x18
add edi, 4
or ebp, ecx
mov dword [esp + 0x84], edi
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x40], ebp
inc ecx
movzx edi, byte [edi]
mov ebp, edx
mov edx, dword [esp + 0x18]
xor ebp, edx
xor ebp, ebx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
add ebp, esi
add ebp, dword [esp + 0x64]
rol ebp, 0xe
add ebp, dword [esp + 0x60]
rol edx, 0xa
mov dword [esp + 0x18], edx
shl ecx, 8
or edi, ecx
xor edx, ebx
mov ecx, dword [esp + 0x84]
xor edx, ebp
inc ecx
add edx, dword [esp + 0x40]
mov dword [esp + 0x84], ecx
add edx, dword [esp + 0x60]
rol edx, 0xf
movzx ecx, byte [ecx]
shl ecx, 0x10
or edi, ecx
add edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x84]
inc ecx
rol ebx, 0xa
mov dword [esp + 0x84], ecx
mov dword [esp + 0x64], ebx
movzx ecx, byte [ecx]
shl ecx, 0x18
or edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], edi
movzx esi, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or esi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or esi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x30], esi
mov esi, edx
xor esi, ebx
xor esi, ebp
rol ebp, 0xa
add esi, edi
mov dword [esp + 0x60], ebp
movzx edi, byte [ecx + 1]
add ecx, 2
mov dword [esp + 0x84], ecx
add esi, dword [esp + 0x34]
rol esi, 6
movzx ecx, byte [ecx]
shl ecx, 8
or edi, ecx
add esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or edi, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x18
or edi, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x34], edi
mov edi, edx
xor edi, esi
xor edi, ebp
add edi, dword [esp + 0x30]
add edi, dword [esp + 0x18]
rol edi, 7
add edi, ebx
movzx ebx, byte [ecx + 1]
rol edx, 0xa
add ecx, 2
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 8
or ebx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
movzx ecx, byte [ecx]
shl ecx, 0x10
or ebx, ecx
mov ecx, dword [esp + 0x84]
inc ecx
mov dword [esp + 0x84], ecx
inc dword [esp + 0x84]
movzx ecx, byte [ecx]
shl ecx, 0x18
or ebx, ecx
mov dword [esp + 0x18], ebx
mov ebx, edx
xor ebx, esi
rol esi, 0xa
xor ebx, edi
add ebx, dword [esp + 0x34]
add ebx, dword [esp + 0x64]
rol ebx, 9
add ebx, ebp
mov ebp, esi
xor ebp, edi
rol edi, 0xa
xor ebp, ebx
mov ecx, edi
add ebp, dword [esp + 0x18]
xor ecx, ebx
add ebp, dword [esp + 0x60]
rol ebp, 8
add ebp, edx
rol ebx, 0xa
and ecx, ebp
xor ecx, edi
add ecx, 0x5a827999
add ecx, dword [esp + 0x24]
add edx, ecx
mov ecx, ebx
xor ecx, ebp
rol edx, 7
add edx, esi
rol ebp, 0xa
and ecx, edx
xor ecx, ebx
add ecx, 0x5a827999
add ecx, dword [esp + 0x1c]
add esi, ecx
mov ecx, edx
xor ecx, ebp
rol esi, 6
add esi, edi
rol edx, 0xa
and ecx, esi
xor ecx, ebp
add ecx, 0x5a827999
add ecx, dword [esp + 0x30]
add edi, ecx
mov ecx, edx
xor ecx, esi
rol edi, 8
add edi, ebx
rol esi, 0xa
and ecx, edi
xor ecx, edx
add ecx, 0x5a827999
add ecx, dword [esp + 0x48]
add ebx, ecx
mov ecx, esi
rol ebx, 0xd
xor ecx, edi
add ebx, ebp
and ecx, ebx
xor ecx, esi
add ecx, 0x5a827999
add ecx, dword [esp + 0x44]
add ebp, ecx
rol edi, 0xa
rol ebp, 0xb
mov ecx, edi
xor ecx, ebx
add ebp, edx
and ecx, ebp
rol ebx, 0xa
xor ecx, edi
add ecx, 0x5a827999
add ecx, dword [esp + 0x28]
add edx, ecx
mov ecx, ebx
xor ecx, ebp
rol edx, 9
add edx, esi
rol ebp, 0xa
and ecx, edx
xor ecx, ebx
add ecx, 0x5a827999
add ecx, dword [esp + 0x18]
add esi, ecx
mov ecx, edx
xor ecx, ebp
rol esi, 7
add esi, edi
rol edx, 0xa
and ecx, esi
xor ecx, ebp
add ecx, 0x5a827999
add ecx, dword [esp + 0x38]
add edi, ecx
mov ecx, edx
xor ecx, esi
rol edi, 0xf
add edi, ebx
rol esi, 0xa
and ecx, edi
xor ecx, edx
add ecx, 0x5a827999
add ecx, dword [esp + 0x14]
add ebx, ecx
mov ecx, esi
xor ecx, edi
rol ebx, 7
add ebx, ebp
rol edi, 0xa
and ecx, ebx
xor ecx, esi
add ecx, 0x5a827999
add ecx, dword [esp + 0x4c]
add ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebp, 0xc
add ebp, edx
rol ebx, 0xa
and ecx, ebp
xor ecx, edi
add ecx, 0x5a827999
add ecx, dword [esp + 0x3c]
add edx, ecx
mov ecx, ebx
xor ecx, ebp
rol edx, 0xf
add edx, esi
rol ebp, 0xa
and ecx, edx
xor ecx, ebx
add ecx, 0x5a827999
add ecx, dword [esp + 0x20]
add esi, ecx
mov ecx, edx
xor ecx, ebp
rol esi, 9
add esi, edi
and ecx, esi
xor ecx, ebp
add ecx, 0x5a827999
add ecx, dword [esp + 0x2c]
add edi, ecx
rol edx, 0xa
rol edi, 0xb
mov ecx, edx
xor ecx, esi
add edi, ebx
and ecx, edi
rol esi, 0xa
xor ecx, edx
add ecx, 0x5a827999
add ecx, dword [esp + 0x34]
add ebx, ecx
mov ecx, esi
xor ecx, edi
rol ebx, 7
add ebx, ebp
rol edi, 0xa
and ecx, ebx
xor ecx, esi
add ecx, 0x5a827999
add ecx, dword [esp + 0x40]
add ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebp, 0xd
add ebp, edx
rol ebx, 0xa
and ecx, ebp
xor ecx, edi
add ecx, 0x5a827999
add ecx, dword [esp + 0x10]
add edx, ecx
mov ecx, ebp
not ecx
rol edx, 0xc
add edx, esi
rol ebp, 0xa
or ecx, edx
xor ecx, ebx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x38]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 0xb
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x44]
add edi, ecx
mov ecx, esi
not ecx
rol edi, 0xd
add edi, ebx
rol esi, 0xa
or ecx, edi
xor ecx, edx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x34]
add ebx, ecx
mov ecx, edi
not ecx
rol ebx, 6
add ebx, ebp
rol edi, 0xa
or ecx, ebx
xor ecx, esi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, ebx
rol ebp, 7
not ecx
add ebp, edx
or ecx, ebp
xor ecx, edi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x3c]
add edx, ecx
rol edx, 0xe
add edx, esi
rol ebx, 0xa
mov ecx, ebp
rol ebp, 0xa
not ecx
or ecx, edx
xor ecx, ebx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x18]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 9
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x10]
add edi, ecx
mov ecx, esi
not ecx
rol edi, 0xd
add edi, ebx
rol esi, 0xa
or ecx, edi
xor ecx, edx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x48]
add ebx, ecx
mov ecx, edi
not ecx
rol ebx, 0xf
add ebx, ebp
rol edi, 0xa
or ecx, ebx
xor ecx, esi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x2c]
add ebp, ecx
mov ecx, ebx
not ecx
rol ebp, 0xe
add ebp, edx
rol ebx, 0xa
or ecx, ebp
xor ecx, edi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x24]
add edx, ecx
mov ecx, ebp
not ecx
rol edx, 8
add edx, esi
rol ebp, 0xa
or ecx, edx
xor ecx, ebx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x4c]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 0xd
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x28]
add edi, ecx
mov ecx, esi
rol edi, 6
not ecx
add edi, ebx
or ecx, edi
xor ecx, edx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x30]
add ebx, ecx
rol ebx, 5
add ebx, ebp
rol esi, 0xa
mov ecx, edi
not ecx
rol edi, 0xa
or ecx, ebx
xor ecx, esi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x40]
add ebp, ecx
mov ecx, ebx
not ecx
rol ebp, 0xc
add ebp, edx
rol ebx, 0xa
or ecx, ebp
xor ecx, edi
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x20]
add edx, ecx
mov ecx, ebp
not ecx
rol edx, 7
add edx, esi
rol ebp, 0xa
or ecx, edx
xor ecx, ebx
add ecx, 0x6ed9eba1
add ecx, dword [esp + 0x14]
add esi, ecx
mov ecx, edx
rol esi, 5
add esi, edi
xor ecx, esi
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x48]
add edi, ecx
mov ecx, esi
rol edi, 0xb
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
rol esi, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x3c]
add ebx, ecx
mov ecx, edi
rol ebx, 0xc
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
rol edi, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x40]
add ebp, ecx
mov ecx, ebx
rol ebp, 0xe
add ebp, edx
xor ecx, ebp
and ecx, edi
xor ecx, ebx
rol ebx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x44]
add edx, ecx
rol edx, 0xf
add edx, esi
mov ecx, edx
xor ecx, ebp
and ecx, ebx
xor ecx, ebp
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x4c]
add esi, ecx
rol esi, 0xe
add esi, edi
rol ebp, 0xa
mov ecx, edx
xor ecx, esi
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x10]
add edi, ecx
mov ecx, esi
rol edi, 0xf
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
rol esi, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x14]
add ebx, ecx
mov ecx, edi
rol ebx, 9
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
rol edi, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x1c]
add ebp, ecx
mov ecx, ebx
rol ebp, 8
add ebp, edx
xor ecx, ebp
and ecx, edi
xor ecx, ebx
rol ebx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x30]
add edx, ecx
rol edx, 9
add edx, esi
mov ecx, edx
xor ecx, ebp
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x38]
add esi, ecx
mov ecx, edx
rol esi, 0xe
add esi, edi
xor ecx, esi
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x24]
add edi, ecx
mov ecx, esi
rol edi, 5
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
rol esi, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x18]
add ebx, ecx
mov ecx, edi
rol ebx, 6
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x34]
add ebp, ecx
mov ecx, ebx
rol ebp, 8
add ebp, edx
rol edi, 0xa
xor ecx, ebp
and ecx, edi
xor ecx, ebx
rol ebx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x20]
add edx, ecx
rol edx, 6
add edx, esi
mov ecx, edx
xor ecx, ebp
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x28]
add esi, ecx
mov ecx, edx
rol esi, 5
add esi, edi
xor ecx, esi
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x8f1bbcdc
add ecx, dword [esp + 0x2c]
add edi, ecx
mov ecx, edx
not ecx
rol edi, 0xc
or ecx, esi
add edi, ebx
xor ecx, edi
rol esi, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x1c]
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 9
or ecx, edi
add ebx, ebp
xor ecx, ebx
rol edi, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x4c]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 0xf
or ecx, ebx
add ebp, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x20]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 5
or ecx, ebp
add edx, esi
xor ecx, edx
rol ebp, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x3c]
add esi, ecx
mov ecx, ebp
not ecx
rol esi, 0xb
or ecx, edx
add esi, edi
xor ecx, esi
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x24]
add edi, ecx
rol edi, 6
add edi, ebx
rol edx, 0xa
mov ecx, edx
not ecx
or ecx, esi
rol esi, 0xa
xor ecx, edi
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x14]
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 8
or ecx, edi
add ebx, ebp
xor ecx, ebx
rol edi, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x2c]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 0xd
or ecx, ebx
add ebp, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x44]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 0xc
or ecx, ebp
add edx, esi
xor ecx, edx
rol ebp, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x34]
add esi, ecx
mov ecx, ebp
not ecx
rol esi, 5
or ecx, edx
add esi, edi
xor ecx, esi
rol edx, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x48]
add edi, ecx
mov ecx, edx
not ecx
rol edi, 0xc
or ecx, esi
add edi, ebx
xor ecx, edi
rol esi, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x38]
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 0xd
or ecx, edi
add ebx, ebp
xor ecx, ebx
rol edi, 0xa
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x10]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 0xe
add ebp, edx
or ecx, ebx
xor ecx, ebp
mov dword [esp + 0x64], ebp
add ecx, 0xa953fd4e
add ecx, dword [esp + 0x40]
add edx, ecx
rol edx, 0xb
add edx, esi
rol ebx, 0xa
mov dword [esp + 0x60], edx
mov ecx, ebx
not ecx
or ecx, ebp
lea ebp, [esi - 0x56ac02b2]
xor ecx, edx
mov esi, dword [esp + 0x64]
add ecx, dword [esp + 0x28]
add ebp, ecx
rol esi, 0xa
mov ecx, esi
rol ebp, 8
not ecx
mov dword [esp + 0x64], esi
or ecx, edx
add ebp, edi
xor ecx, ebp
lea edx, [edi - 0x56ac02b2]
add ecx, dword [esp + 0x18]
add edx, ecx
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
rol ecx, 0xa
mov dword [esp + 0x60], ecx
not ecx
or ecx, ebp
rol edx, 5
add edx, ebx
rol ebp, 0xa
xor ecx, edx
mov dword [esp + 0x70], edx
add ecx, dword [esp + 0x30]
add ebx, 0xa953fd4e
add ecx, ebx
mov edx, dword [esp + 0x20]
rol ecx, 6
add edx, 0x50a28be6
add ecx, esi
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x78], ecx
mov ecx, edi
not ecx
mov esi, dword [esp + 0x34]
or ecx, dword [esp + 0x5c]
add esi, 0x50a28be6
xor ecx, dword [esp + 0x54]
add ecx, dword [eax]
add edx, ecx
mov dword [esp + 0x74], ebp
mov ebp, dword [esp + 0x6c]
mov ecx, ebx
not ecx
rol edx, 8
or ecx, dword [esp + 0x54]
add edx, dword [esp + 0x58]
xor ecx, edx
add ecx, dword [esp + 0x58]
add esi, ecx
mov ecx, ebp
not ecx
rol esi, 9
or ecx, edx
add esi, edi
xor ecx, esi
rol edx, 0xa
add ecx, edi
mov edi, dword [esp + 0x24]
add edi, 0x50a28be6
add edi, ecx
mov ecx, edx
not ecx
rol edi, 9
add edi, ebx
or ecx, esi
xor ecx, edi
add ebx, 0x50a28be6
add ecx, dword [esp + 0x4c]
add ebx, ecx
rol ebx, 0xb
add ebx, ebp
rol esi, 0xa
mov ecx, esi
not ecx
or ecx, edi
add ebp, 0x50a28be6
xor ecx, ebx
rol edi, 0xa
add ecx, dword [esp + 0x3c]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 0xd
or ecx, ebx
add ebp, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x2c]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 0xf
or ecx, ebp
add edx, esi
xor ecx, edx
rol ebp, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x40]
add esi, ecx
mov ecx, ebp
not ecx
rol esi, 0xf
or ecx, edx
add esi, edi
xor ecx, esi
rol edx, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x1c]
add edi, ecx
mov ecx, edx
not ecx
rol edi, 5
or ecx, esi
add edi, ebx
xor ecx, edi
rol esi, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x30]
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 7
or ecx, edi
add ebx, ebp
xor ecx, ebx
rol edi, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x28]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 7
or ecx, ebx
add ebp, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x18]
add edx, ecx
mov ecx, ebx
not ecx
rol edx, 8
or ecx, ebp
add edx, esi
xor ecx, edx
rol ebp, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x10]
add esi, ecx
mov ecx, ebp
rol esi, 0xb
not ecx
add esi, edi
or ecx, edx
xor ecx, esi
rol edx, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x48]
add edi, ecx
mov ecx, edx
not ecx
rol edi, 0xe
or ecx, esi
add edi, ebx
xor ecx, edi
rol esi, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x44]
add ebx, ecx
mov ecx, esi
not ecx
rol ebx, 0xe
or ecx, edi
add ebx, ebp
xor ecx, ebx
rol edi, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x38]
add ebp, ecx
mov ecx, edi
not ecx
rol ebp, 0xc
or ecx, ebx
add ebp, edx
xor ecx, ebp
rol ebx, 0xa
add ecx, 0x50a28be6
add ecx, dword [esp + 0x14]
add edx, ecx
mov ecx, ebp
rol edx, 6
add edx, esi
xor ecx, edx
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x28]
add esi, ecx
rol esi, 9
add esi, edi
mov ecx, esi
xor ecx, edx
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x40]
add edi, ecx
mov ecx, esi
rol edi, 0xd
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
rol esi, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x38]
add ebx, ecx
mov ecx, edi
rol ebx, 0xf
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
rol edi, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x24]
add ebp, ecx
mov ecx, ebx
rol ebp, 7
add ebp, edx
xor ecx, ebp
and ecx, edi
xor ecx, ebx
add ecx, 0x5c4dd124
rol ebx, 0xa
add ecx, dword [esp + 0x4c]
add edx, ecx
mov ecx, ebp
rol edx, 0xc
add edx, esi
xor ecx, edx
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x30]
add esi, ecx
rol esi, 8
add esi, edi
mov ecx, esi
xor ecx, edx
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x20]
add edi, ecx
mov ecx, esi
rol edi, 9
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
rol esi, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x44]
add ebx, ecx
mov ecx, edi
rol ebx, 0xb
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
rol edi, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x34]
add ebp, ecx
mov ecx, ebx
rol ebp, 7
add ebp, edx
xor ecx, ebp
and ecx, edi
xor ecx, ebx
rol ebx, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x18]
add edx, ecx
mov ecx, ebp
rol edx, 7
add edx, esi
xor ecx, edx
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x10]
add esi, ecx
rol esi, 0xc
add esi, edi
mov ecx, esi
xor ecx, edx
and ecx, ebp
xor ecx, edx
rol edx, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x14]
add edi, ecx
mov ecx, esi
rol edi, 7
add edi, ebx
xor ecx, edi
and ecx, edx
xor ecx, esi
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x1c]
add ebx, ecx
rol esi, 0xa
rol ebx, 6
mov ecx, edi
add ebx, ebp
xor ecx, ebx
and ecx, esi
xor ecx, edi
rol edi, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x3c]
add ebp, ecx
mov ecx, ebx
rol ebp, 0xf
add ebp, edx
xor ecx, ebp
and ecx, edi
xor ecx, ebx
rol ebx, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x48]
add edx, ecx
mov ecx, ebp
rol edx, 0xd
add edx, esi
xor ecx, edx
and ecx, ebx
xor ecx, ebp
rol ebp, 0xa
add ecx, 0x5c4dd124
add ecx, dword [esp + 0x2c]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 0xb
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x18]
add edi, ecx
mov ecx, esi
not ecx
rol edi, 9
add edi, ebx
rol esi, 0xa
or ecx, edi
xor ecx, edx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x20]
add ebx, ecx
mov ecx, edi
not ecx
rol ebx, 7
add ebx, ebp
rol edi, 0xa
or ecx, ebx
xor ecx, esi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x48]
add ebp, ecx
mov ecx, ebx
not ecx
rol ebp, 0xf
add ebp, edx
rol ebx, 0xa
or ecx, ebp
xor ecx, edi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x38]
add edx, ecx
mov ecx, ebp
rol edx, 0xb
not ecx
add edx, esi
or ecx, edx
xor ecx, ebx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x24]
add esi, ecx
rol ebp, 0xa
rol esi, 8
mov ecx, edx
not ecx
rol edx, 0xa
add esi, edi
or ecx, esi
xor ecx, ebp
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x34]
add edi, ecx
mov ecx, esi
not ecx
rol edi, 6
add edi, ebx
rol esi, 0xa
or ecx, edi
xor ecx, edx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x28]
add ebx, ecx
mov ecx, edi
not ecx
rol ebx, 6
add ebx, ebp
rol edi, 0xa
or ecx, ebx
xor ecx, esi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x3c]
add ebp, ecx
mov ecx, ebx
not ecx
rol ebp, 0xe
add ebp, edx
rol ebx, 0xa
or ecx, ebp
xor ecx, edi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x40]
add edx, ecx
mov ecx, ebp
not ecx
rol edx, 0xc
add edx, esi
rol ebp, 0xa
or ecx, edx
xor ecx, ebx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x10]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 0xd
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x14]
add edi, ecx
mov ecx, esi
not ecx
rol edi, 5
add edi, ebx
rol esi, 0xa
or ecx, edi
xor ecx, edx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x2c]
add ebx, ecx
mov ecx, edi
rol ebx, 0xe
not ecx
add ebx, ebp
or ecx, ebx
xor ecx, esi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x44]
add ebp, ecx
rol ebp, 0xd
mov ecx, ebx
not ecx
rol edi, 0xa
add ebp, edx
rol ebx, 0xa
or ecx, ebp
xor ecx, edi
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x4c]
add edx, ecx
mov ecx, ebp
not ecx
rol edx, 0xd
add edx, esi
rol ebp, 0xa
or ecx, edx
xor ecx, ebx
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x1c]
add esi, ecx
mov ecx, edx
not ecx
rol esi, 7
add esi, edi
rol edx, 0xa
or ecx, esi
xor ecx, ebp
add ecx, 0x6d703ef3
add ecx, dword [esp + 0x30]
add edi, ecx
mov ecx, esi
xor ecx, edx
rol edi, 5
add edi, ebx
rol esi, 0xa
and ecx, edi
xor ecx, edx
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x10]
add ebx, ecx
mov ecx, esi
xor ecx, edi
rol ebx, 0xf
add ebx, ebp
rol edi, 0xa
and ecx, ebx
xor ecx, esi
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x28]
add ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebp, 5
add ebp, edx
rol ebx, 0xa
and ecx, ebp
xor ecx, edi
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x1c]
add edx, ecx
mov ecx, ebx
xor ecx, ebp
rol edx, 8
add edx, esi
rol ebp, 0xa
and ecx, edx
xor ecx, ebx
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x48]
add esi, ecx
mov ecx, ebp
xor ecx, edx
rol esi, 0xb
add esi, edi
and ecx, esi
xor ecx, ebp
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x38]
add edi, ecx
rol edi, 0xe
add edi, ebx
rol edx, 0xa
mov ecx, esi
rol esi, 0xa
xor ecx, edx
and ecx, edi
xor ecx, edx
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x40]
add ebx, ecx
mov ecx, esi
xor ecx, edi
rol ebx, 0xe
add ebx, ebp
rol edi, 0xa
and ecx, ebx
xor ecx, esi
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x18]
add ebp, ecx
mov ecx, edi
xor ecx, ebx
rol ebp, 6
add ebp, edx
rol ebx, 0xa
and ecx, ebp
xor ecx, edi
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x4c]
add edx, ecx
mov ecx, ebx
xor ecx, ebp
rol edx, 0xe
add edx, esi
rol ebp, 0xa
and ecx, edx
xor ecx, ebx
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x20]
add esi, ecx
mov ecx, ebp
xor ecx, edx
rol esi, 6
add esi, edi
rol edx, 0xa
and ecx, esi
xor ecx, ebp
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x14]
add edi, ecx
mov ecx, esi
xor ecx, edx
rol edi, 9
add edi, ebx
rol esi, 0xa
and ecx, edi
xor ecx, edx
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x2c]
add ebx, ecx
mov ecx, esi
xor ecx, edi
rol ebx, 0xc
add ebx, ebp
rol edi, 0xa
and ecx, ebx
mov dword [esp + 0x6c], ebx
xor ecx, esi
mov dword [esp + 0x68], edi
add ecx, dword [esp + 0x30]
lea ebx, [ebp + 0x7a6d76e9]
mov ebp, dword [esp + 0x6c]
add ebx, ecx
rol ebx, 9
mov ecx, edi
xor ecx, ebp
add ebx, edx
and ecx, ebx
xor ecx, edi
lea edi, [edx + 0x7a6d76e9]
add ecx, dword [esp + 0x3c]
add edi, ecx
mov edx, dword [esp + 0x68]
rol ebp, 0xa
rol edi, 0xc
mov ecx, ebp
xor ecx, ebx
add edi, esi
and ecx, edi
rol ebx, 0xa
xor ecx, ebp
add ecx, 0x7a6d76e9
add ecx, dword [esp + 0x24]
add esi, ecx
mov ecx, ebx
xor ecx, edi
rol esi, 5
add esi, edx
rol edi, 0xa
and ecx, esi
add edx, 0x7a6d76e9
xor ecx, ebx
add ecx, dword [esp + 0x44]
add edx, ecx
mov ecx, esi
xor ecx, edi
rol edx, 0xf
add edx, ebp
rol esi, 0xa
and ecx, edx
add ebp, 0x7a6d76e9
xor ecx, edi
add ecx, dword [esp + 0x34]
add ecx, ebp
mov ebp, esi
xor ebp, edx
rol ecx, 8
add ecx, ebx
rol edx, 0xa
xor ebp, ecx
add ebp, dword [esp + 0x14]
add ebp, ebx
mov ebx, edx
xor ebx, ecx
rol ebp, 8
add ebp, edi
rol ecx, 0xa
xor ebx, ebp
add ebx, dword [esp + 0x18]
add ebx, edi
mov edi, ecx
xor edi, ebp
rol ebx, 5
add ebx, esi
rol ebp, 0xa
xor edi, ebx
add edi, dword [esp + 0x44]
add edi, esi
rol edi, 0xc
add edi, edx
mov esi, edi
xor esi, ebp
xor esi, ebx
rol ebx, 0xa
add esi, dword [esp + 0x1c]
add esi, edx
mov edx, edi
rol esi, 9
add esi, ecx
rol edi, 0xa
xor edx, esi
xor edx, ebx
add edx, dword [esp + 0x48]
add edx, ecx
mov ecx, edi
rol edx, 0xc
xor ecx, esi
add edx, ebp
xor ecx, edx
add ecx, dword [esp + 0x20]
add ecx, ebp
rol ecx, 5
rol esi, 0xa
add ecx, ebx
mov ebp, esi
xor ebp, edx
rol edx, 0xa
xor ebp, ecx
add ebp, dword [esp + 0x10]
add ebp, ebx
mov ebx, edx
xor ebx, ecx
rol ebp, 0xe
add ebp, edi
rol ecx, 0xa
xor ebx, ebp
add ebx, dword [esp + 0x24]
add ebx, edi
rol ebx, 6
add ebx, esi
mov edi, ebx
xor edi, ecx
xor edi, ebp
rol ebp, 0xa
add edi, dword [esp + 0x28]
add edi, esi
mov esi, ebx
rol edi, 8
add edi, edx
rol ebx, 0xa
xor esi, edi
xor esi, ebp
add esi, dword [esp + 0x2c]
add esi, edx
mov edx, ebx
xor edx, edi
rol esi, 0xd
add esi, ecx
rol edi, 0xa
xor edx, esi
mov dword [esp + 0x6c], edi
add edx, dword [esp + 0x30]
add edx, ecx
mov ecx, edi
xor ecx, esi
rol edx, 6
add edx, ebp
rol esi, 0xa
xor ecx, edx
mov dword [esp + 0x68], esi
add ecx, dword [esp + 0x34]
xor esi, edx
add ecx, ebp
rol edx, 0xa
rol ecx, 5
add ecx, ebx
xor esi, ecx
mov dword [esp + 0x48], ecx
add esi, dword [esp + 0x4c]
mov ebp, ecx
add esi, ebx
mov dword [esp + 0x4c], edx
rol esi, 0xf
add esi, edi
rol ebp, 0xa
mov edi, esi
xor edi, edx
mov edx, esi
xor edi, ecx
rol esi, 0xa
add edi, dword [esp + 0x38]
mov ecx, esi
add edi, dword [esp + 0x6c]
rol edi, 0xd
add edi, dword [esp + 0x68]
xor edx, edi
xor ecx, edi
xor edx, ebp
add edx, dword [esp + 0x3c]
add edx, dword [esp + 0x68]
rol edx, 0xb
add edx, dword [esp + 0x4c]
xor ecx, edx
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x5c]
add ecx, dword [esp + 0x40]
add ebx, esi
add ecx, dword [esp + 0x4c]
rol edi, 0xa
add edi, dword [esp + 0x54]
add edi, dword [esp + 0x70]
mov dword [esp + 0x54], ebx
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 0x60]
add ebx, ebp
rol ecx, 0xb
add ecx, ebp
mov dword [esp + 0x5c], ebx
mov ebp, ebx
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x58]
add ebx, dword [esp + 0x64]
add ebx, ecx
mov ecx, dword [esp + 0x78]
add ecx, dword [eax]
mov esi, ebx
add ecx, edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 0xc], ebx
mov dword [eax], edi
test ecx, ecx
jne 0x51ec60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret