Function at 0x51ba60
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x6ce488]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x74], eax
test edx, edx
je 0x51c99b
mov ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov ecx, dword [eax + 8]
push ebx
mov ebx, dword [eax + 0x10]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x70], ecx
mov ecx, dword [eax + 0x14]
push esi
push edi
mov edi, dword [eax + 4]
mov dword [ebp - 0x4c], ecx
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp + 0xc]
dec edx
mov dword [ebp + 0x10], edx
mov edx, ebx
rol edx, 0x1a
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov eax, ebx
rol eax, 0x15
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x44], esi
not ecx
mov eax, ebx
and ecx, dword [ebp - 0x48]
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x4c]
and eax, ebx
add edx, esi
xor ecx, eax
mov ebx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x60]
add ecx, edx
mov edx, dword [ebp - 0x58]
mov esi, edi
xor esi, eax
and edi, eax
add edx, 0x428a2f98
mov dword [ebp - 0x54], esi
and esi, dword [ebp - 0x5c]
add edx, ecx
mov ecx, eax
xor esi, edi
rol eax, 0x13
add ebx, edx
rol ecx, 0x1e
xor ecx, eax
mov dword [ebp - 0x70], ebx
mov eax, dword [ebp - 0x60]
rol eax, 0xa
xor ecx, eax
add ecx, edx
mov edx, ebx
add esi, ecx
rol edx, 0x1a
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], esi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov eax, ebx
mov dword [ebp + 0xc], ecx
rol eax, 0x15
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x40], esi
mov eax, ebx
not ecx
rol eax, 7
xor edx, eax
and ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x50]
and eax, ebx
add edx, esi
xor ecx, eax
mov esi, dword [ebp - 0x58]
add ecx, edx
mov ebx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x48]
mov eax, esi
rol eax, 0x13
add edx, 0x71374491
add edx, ecx
mov ecx, esi
rol ecx, 0x1e
add ebx, edx
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x54]
and eax, esi
add ecx, edx
xor eax, edi
mov edx, ebx
add eax, ecx
mov edi, dword [ebp - 0x70]
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
rol edx, 0x1a
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov eax, ebx
rol eax, 0x15
mov ecx, ebx
xor edx, eax
mov dword [ebp - 0x3c], esi
not ecx
mov eax, ebx
and ecx, dword [ebp - 0x50]
rol eax, 7
xor edx, eax
mov eax, edi
and eax, ebx
add edx, esi
mov esi, dword [ebp - 0x54]
xor ecx, eax
mov eax, dword [ebp - 0x6c]
add ecx, edx
mov edx, dword [ebp - 0x4c]
add edx, 0xb5c0fbcf
add edx, ecx
mov ecx, esi
add eax, edx
rol ecx, 0x1e
mov dword [ebp - 0x5c], eax
mov eax, esi
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x60]
mov esi, eax
add ecx, edx
xor esi, dword [ebp - 0x54]
and esi, dword [ebp - 0x58]
and eax, dword [ebp - 0x54]
xor esi, eax
add esi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], esi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x5c]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x38], esi
mov eax, ecx
not ecx
rol eax, 7
and ecx, edi
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x5c]
add edx, esi
xor ecx, eax
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x60]
add ecx, edx
mov edx, dword [ebp - 0x50]
add edx, 0xe9b5dba5
add edx, ecx
mov ecx, esi
add eax, edx
rol ecx, 0x1e
mov dword [ebp - 0x50], eax
mov eax, esi
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x54]
mov esi, eax
add ecx, edx
and eax, dword [ebp - 0x4c]
xor esi, dword [ebp - 0x4c]
and esi, dword [ebp - 0x58]
xor esi, eax
add esi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x48], esi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
add ecx, 4
or esi, eax
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x50]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x34], esi
mov eax, ecx
not ecx
rol eax, 7
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x5c]
and eax, dword [ebp - 0x50]
xor ecx, eax
add edx, esi
mov esi, dword [ebp - 0x48]
add ecx, edx
mov eax, esi
lea edx, [edi + 0x3956c25b]
add edx, ecx
rol eax, 0x13
mov ecx, esi
mov edi, dword [ebp - 0x58]
rol ecx, 0x1e
add edi, edx
xor ecx, eax
mov dword [ebp - 0x58], edi
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x4c]
mov esi, eax
add ecx, edx
and eax, dword [ebp - 0x48]
mov edx, edi
xor esi, dword [ebp - 0x48]
and esi, dword [ebp - 0x54]
xor esi, eax
rol edx, 0x1a
add esi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x60], esi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov eax, edi
rol eax, 0x15
mov ecx, edi
xor edx, eax
mov dword [ebp - 0x30], esi
not ecx
mov eax, edi
and ecx, dword [ebp - 0x5c]
rol eax, 7
xor edx, eax
mov eax, edi
mov edi, dword [ebp - 0x50]
add edx, esi
mov esi, dword [ebp - 0x60]
and eax, edi
xor ecx, eax
mov eax, esi
add ecx, edx
rol eax, 0x13
lea edx, [ebx + 0x59f111f1]
add edx, ecx
mov ecx, esi
add dword [ebp - 0x54], edx
rol ecx, 0x1e
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x48]
mov ebx, eax
add ecx, edx
xor ebx, esi
and eax, esi
and ebx, dword [ebp - 0x4c]
xor ebx, eax
add ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x50], ebx
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl esi, 0x18
shl eax, 0x10
or esi, eax
mov ebx, dword [ebp - 0x58]
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x54]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x2c], esi
mov eax, ecx
not ecx
rol eax, 7
and ecx, edi
xor edx, eax
mov eax, ebx
and eax, dword [ebp - 0x54]
add edx, esi
xor ecx, eax
mov esi, dword [ebp - 0x50]
add ecx, edx
mov eax, esi
mov edx, dword [ebp - 0x5c]
rol eax, 0x13
add edx, 0x923f82a4
add edx, ecx
mov ecx, esi
rol ecx, 0x1e
xor ecx, eax
add dword [ebp - 0x4c], edx
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x60]
mov esi, eax
add ecx, edx
and eax, dword [ebp - 0x50]
xor esi, dword [ebp - 0x50]
and esi, dword [ebp - 0x48]
xor esi, eax
add esi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x6c], esi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
add ecx, 4
or esi, eax
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x4c]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x28], esi
mov eax, ecx
not ecx
rol eax, 7
and ecx, ebx
xor edx, eax
mov eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x4c]
add edx, esi
xor ecx, eax
add ecx, edx
lea edx, [edi - 0x54e3a12b]
add edx, ecx
add dword [ebp - 0x48], edx
mov esi, dword [ebp - 0x6c]
mov ecx, esi
rol ecx, 0x1e
mov eax, esi
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x50]
mov edi, eax
add ecx, edx
and eax, esi
xor edi, esi
and edi, dword [ebp - 0x60]
xor edi, eax
add edi, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x58], edi
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x48]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x24], esi
mov eax, ecx
not ecx
and ecx, dword [ebp - 0x54]
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x4c]
and eax, dword [ebp - 0x48]
add edx, esi
mov esi, dword [ebp - 0x58]
xor ecx, eax
add ecx, edx
lea edx, [ebx - 0x27f85568]
mov ebx, dword [ebp - 0x6c]
add edx, ecx
mov eax, ebx
add dword [ebp - 0x60], edx
xor eax, edi
mov ecx, esi
mov dword [ebp - 0x64], eax
mov edi, ebx
mov eax, esi
rol ecx, 0x1e
rol eax, 0x13
and edi, esi
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x50]
add ecx, edx
xor eax, edi
add eax, ecx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
add ecx, 4
or esi, eax
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp - 0x60]
mov edx, ecx
mov eax, ecx
rol edx, 0x1a
rol eax, 0x15
xor edx, eax
mov dword [ebp - 0x20], esi
mov eax, ecx
not ecx
and ecx, dword [ebp - 0x4c]
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x48]
and eax, dword [ebp - 0x60]
add edx, esi
xor ecx, eax
mov esi, dword [ebp - 0x68]
add ecx, edx
mov eax, esi
mov edx, dword [ebp - 0x54]
rol eax, 0x13
add edx, 0x12835b01
add edx, ecx
mov ecx, esi
rol ecx, 0x1e
xor ecx, eax
add dword [ebp - 0x50], edx
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, esi
add ecx, edx
xor eax, edi
mov edi, dword [ebp - 0x50]
add eax, ecx
mov edx, edi
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x64], eax
rol edx, 0x1a
movzx esi, byte [ecx]
movzx eax, byte [ecx + 1]
shl eax, 0x10
shl esi, 0x18
or esi, eax
movzx eax, byte [ecx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [ecx + 3]
or esi, eax
add ecx, 4
mov eax, edi
mov dword [ebp + 0xc], ecx
rol eax, 0x15
mov ecx, edi
xor edx, eax
mov dword [ebp - 0x1c], esi
mov eax, edi
not ecx
and ecx, dword [ebp - 0x48]
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x60]
add edx, esi
and eax, edi
mov esi, dword [ebp - 0x4c]
xor ecx, eax
add ecx, edx
add esi, 0x243185be
add esi, ecx
mov ecx, dword [ebp - 0x64]
mov edx, ecx
mov eax, ecx
rol edx, 0x1e
add ebx, esi
rol eax, 0x13
xor edx, eax
mov eax, ecx
rol eax, 0xa
xor edx, eax
mov eax, ecx
and ecx, dword [ebp - 0x58]
add edx, esi
xor eax, dword [ebp - 0x58]
mov esi, ebx
and eax, dword [ebp - 0x68]
xor eax, ecx
rol esi, 0x1a
add eax, edx
mov edx, dword [ebp + 0xc]
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx + 3]
or edi, ecx
add edx, 4
mov dword [ebp + 0xc], edx
mov ecx, ebx
rol ecx, 0x15
mov edx, ebx
xor esi, ecx
mov dword [ebp - 0x18], edi
not edx
mov ecx, ebx
and edx, dword [ebp - 0x60]
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x50]
and ecx, ebx
add esi, edi
xor edx, ecx
mov ecx, eax
add edx, esi
rol ecx, 0x13
mov esi, dword [ebp - 0x48]
add esi, 0x550c7dc3
add esi, edx
mov edx, eax
rol edx, 0x1e
xor edx, ecx
add dword [ebp - 0x58], esi
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x64]
mov edi, ecx
add edx, esi
xor edi, eax
and ecx, eax
and edi, dword [ebp - 0x68]
xor edi, ecx
add edi, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x54], edi
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx + 3]
add edx, 4
or edi, ecx
mov dword [ebp + 0xc], edx
mov edx, dword [ebp - 0x58]
mov esi, edx
mov ecx, edx
rol esi, 0x1a
rol ecx, 0x15
mov dword [ebp - 0x14], edi
xor esi, ecx
mov ecx, edx
not edx
and edx, dword [ebp - 0x50]
rol ecx, 7
xor esi, ecx
mov ecx, ebx
and ecx, dword [ebp - 0x58]
add esi, edi
xor edx, ecx
mov edi, dword [ebp - 0x54]
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x60]
rol ecx, 0x13
add esi, 0x72be5d74
add esi, edx
mov edx, edi
rol edx, 0x1e
xor edx, ecx
add dword [ebp - 0x68], esi
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, eax
xor ecx, edi
add edx, esi
and ecx, dword [ebp - 0x64]
mov dword [ebp - 0x48], ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x48]
xor edi, ecx
add edi, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x48], edi
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx + 3]
or edi, ecx
add edx, 4
mov dword [ebp + 0xc], edx
mov edx, dword [ebp - 0x68]
mov esi, edx
mov ecx, edx
rol esi, 0x1a
rol ecx, 0x15
xor esi, ecx
mov dword [ebp - 0x10], edi
mov ecx, edx
not edx
rol ecx, 7
and edx, ebx
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x58]
add esi, edi
mov edi, dword [ebp - 0x48]
xor edx, ecx
add edx, esi
mov ecx, edi
mov esi, dword [ebp - 0x50]
add esi, 0x80deb1fe
rol ecx, 0x13
add esi, edx
mov edx, edi
add dword [ebp - 0x64], esi
rol edx, 0x1e
xor edx, ecx
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x5c], ecx
xor dword [ebp - 0x5c], edi
and dword [ebp - 0x5c], eax
and ecx, edi
add edx, esi
mov edi, dword [ebp - 0x5c]
xor edi, ecx
add edi, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x5c], edi
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx + 3]
or edi, ecx
add edx, 4
mov dword [ebp + 0xc], edx
mov edx, dword [ebp - 0x64]
mov esi, edx
mov ecx, edx
rol esi, 0x1a
rol ecx, 0x15
xor esi, ecx
mov dword [ebp - 0xc], edi
mov ecx, edx
not edx
and edx, dword [ebp - 0x58]
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x64]
add esi, edi
mov edi, dword [ebp - 0x5c]
xor edx, ecx
add edx, esi
mov ecx, edi
rol ecx, 0x13
lea esi, [ebx - 0x6423f959]
add esi, edx
mov edx, edi
rol edx, 0x1e
add eax, esi
xor edx, ecx
mov dword [ebp - 0x70], esi
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x48]
mov ebx, ecx
add edx, esi
and ecx, edi
xor ebx, edi
mov dword [ebp - 0x4c], ebx
mov esi, eax
mov ebx, dword [ebp - 0x54]
and dword [ebp - 0x4c], ebx
mov edi, dword [ebp - 0x4c]
xor edi, ecx
rol esi, 0x1a
add edi, edx
mov edx, dword [ebp + 0xc]
mov dword [ebp - 0x4c], edi
movzx edi, byte [edx]
movzx ecx, byte [edx + 1]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx + 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx + 3]
or edi, ecx
add edx, 4
mov ecx, eax
mov dword [ebp + 0xc], edx
rol ecx, 0x15
xor esi, ecx
mov dword [ebp - 8], edi
mov ecx, eax
rol ecx, 7
mov edx, eax
xor esi, ecx
not edx
and edx, dword [ebp - 0x68]
add esi, edi
mov ecx, dword [ebp - 0x64]
and ecx, eax
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x58]
add esi, 0xc19bf174
mov dword [ebp - 0x58], 0x65bcf4
add esi, edx
add ebx, esi
mov dword [ebp - 0x54], ebx
mov ebx, dword [ebp - 0x4c]
mov edx, ebx
rol edx, 0x1e
mov ecx, ebx
rol ecx, 0x13
xor edx, ecx
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
mov edi, ecx
add edx, esi
xor edi, ebx
and ecx, ebx
and edi, dword [ebp - 0x48]
mov ebx, 0x19
xor edi, ecx
mov dword [ebp - 0x60], ebx
add edi, edx
mov dword [ebp - 0x50], edi
lea ecx, [ebx - 8]
and ecx, 0xf
lea edx, [ebp - 0x44]
mov edi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebx + 5]
and ecx, 0xf
lea ecx, [edx + ecx*4]
mov edx, dword [ecx]
mov esi, edx
mov dword [ebp - 0x80], ecx
lea ecx, [ebx + 7]
and ecx, 0xf
rol esi, 0xf
lea ebx, [ebp - 0x44]
lea ebx, [ebx + ecx*4]
mov ecx, edx
rol ecx, 0xd
xor esi, ecx
shr edx, 0xa
xor esi, edx
mov dword [ebp - 0x70], ebx
mov edx, edi
mov ecx, edi
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
shr edi, 3
mov ecx, dword [ebp - 0x60]
xor edx, edi
mov edi, dword [ebp - 0x54]
and ecx, 0xf
add esi, edx
mov edx, edi
not edx
and edx, dword [ebp - 0x64]
add esi, dword [ebp + ecx*4 - 0x44]
mov ecx, edi
add dword [ebx], esi
mov esi, edi
rol ecx, 0x15
rol esi, 0x1a
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x4c]
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
add esi, dword [ecx - 4]
mov ecx, dword [ebp - 0x50]
and edi, ecx
add esi, dword [ebx]
mov edx, ecx
mov ebx, dword [ebp - 0x4c]
xor ebx, dword [ebp - 0x50]
add esi, dword [ebp - 0x68]
add dword [ebp - 0x48], esi
rol ecx, 0x13
rol edx, 0x1e
xor edx, ecx
mov dword [ebp - 0x78], edi
mov ecx, dword [ebp - 0x50]
rol ecx, 0xa
xor edx, ecx
mov ecx, ebx
and ecx, dword [ebp - 0x5c]
add edx, esi
xor ecx, edi
lea esi, [ebp - 0x44]
add ecx, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x68], ecx
lea ecx, [edx - 7]
and ecx, 0xf
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x7c], ecx
mov esi, dword [ecx]
lea ecx, [edx + 6]
and ecx, 0xf
lea edx, [ebp - 0x44]
lea ecx, [edx + ecx*4]
mov edx, dword [ecx]
mov edi, edx
mov dword [ebp - 0x84], ecx
mov ecx, edx
rol ecx, 0xd
shr edx, 0xa
rol edi, 0xf
xor edi, ecx
mov ecx, esi
xor edi, edx
rol ecx, 0xe
mov edx, esi
shr esi, 3
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0x60]
xor edx, esi
inc ecx
and ecx, 0xf
add edi, edx
add edi, dword [ebp + ecx*4 - 0x44]
mov ecx, dword [ebp - 0x6c]
add dword [ecx], edi
mov edi, dword [ebp - 0x48]
mov edx, edi
rol edx, 0x1a
mov ecx, edi
rol ecx, 0x15
mov esi, edi
xor edx, ecx
not esi
mov ecx, edi
and esi, eax
rol ecx, 7
xor edx, ecx
mov ecx, dword [ebp - 0x54]
and ecx, edi
mov edi, dword [ebp - 0x68]
xor esi, ecx
and ebx, edi
mov ecx, dword [ebp - 0x6c]
xor ebx, dword [ebp - 0x78]
add edx, dword [ecx]
mov ecx, dword [ebp - 0x58]
add esi, edx
mov edx, edi
rol edx, 0x1e
add esi, dword [ecx]
mov ecx, edi
add esi, dword [ebp - 0x64]
rol ecx, 0x13
xor edx, ecx
add dword [ebp - 0x5c], esi
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
add edx, esi
add ebx, edx
lea edx, [ebp - 0x44]
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x60]
lea ecx, [ebx - 6]
and ecx, 0xf
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x78], ecx
mov edx, dword [edx]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
shr edx, 0xa
xor edi, ecx
xor edi, edx
mov edx, esi
rol edx, 0x19
mov ecx, esi
rol ecx, 0xe
xor edx, ecx
shr esi, 3
xor edx, esi
lea ecx, [ebx + 2]
mov ebx, dword [ebp - 0x7c]
add edi, edx
and ecx, 0xf
add edi, dword [ebp + ecx*4 - 0x44]
add dword [ebx], edi
mov edi, dword [ebp - 0x5c]
mov esi, edi
mov ecx, edi
rol esi, 0x1a
rol ecx, 0x15
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x54]
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x48]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
add esi, dword [ecx + 4]
add esi, dword [ebx]
mov ecx, dword [ebp - 0x64]
add esi, eax
mov ebx, dword [ebp - 0x60]
mov edx, ecx
mov eax, ecx
add dword [ebp - 0x4c], esi
rol edx, 0x1e
rol eax, 0x13
xor edx, eax
mov eax, ecx
rol eax, 0xa
xor edx, eax
mov eax, ecx
and ecx, dword [ebp - 0x50]
add edx, esi
xor eax, dword [ebp - 0x50]
and eax, dword [ebp - 0x68]
xor eax, ecx
lea ecx, [ebx - 5]
and ecx, 0xf
add eax, edx
lea edx, [ebp - 0x44]
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x6c], ecx
lea ecx, [ebx + 8]
mov dword [ebp - 0x88], ecx
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
mov edx, esi
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
shr esi, 3
lea ecx, [ebx + 3]
xor edx, esi
mov ebx, dword [ebp - 0x78]
and ecx, 0xf
add edi, edx
add edi, dword [ebp + ecx*4 - 0x44]
add dword [ebx], edi
mov edi, dword [ebp - 0x4c]
mov esi, edi
mov ecx, edi
rol ecx, 0x15
mov edx, edi
rol esi, 0x1a
not edx
and edx, dword [ebp - 0x48]
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x5c]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
mov edx, eax
rol edx, 0x1e
add esi, dword [ecx + 8]
mov ecx, eax
add esi, dword [ebx]
add esi, dword [ebp - 0x54]
rol ecx, 0x13
xor edx, ecx
add dword [ebp - 0x50], esi
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x64]
mov ebx, ecx
add edx, esi
and ecx, eax
xor ebx, eax
and ebx, dword [ebp - 0x68]
xor ebx, ecx
add ebx, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x54], ebx
lea ebx, [ebp - 0x44]
lea ecx, [edx - 4]
and ecx, 0xf
mov esi, dword [ebx + ecx*4]
lea ebx, [ebx + ecx*4]
lea ecx, [edx - 7]
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov edi, edx
mov ecx, edx
rol edi, 0xf
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov ecx, esi
rol ecx, 0xe
mov edx, esi
rol edx, 0x19
xor edx, ecx
shr esi, 3
mov ecx, dword [ebp - 0x60]
xor edx, esi
add ecx, 4
add edi, edx
and ecx, 0xf
add edi, dword [ebp + ecx*4 - 0x44]
mov ecx, dword [ebp - 0x6c]
add dword [ecx], edi
mov edi, dword [ebp - 0x50]
mov esi, edi
rol esi, 0x1a
mov ecx, edi
rol ecx, 0x15
mov edx, edi
xor esi, ecx
not edx
and edx, dword [ebp - 0x5c]
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x4c]
and ecx, edi
xor edx, ecx
mov edi, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
add esi, edx
mov edx, edi
rol edx, 0x1e
add esi, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x6c]
add esi, dword [ecx]
mov ecx, edi
add esi, dword [ebp - 0x48]
rol ecx, 0x13
xor edx, ecx
add dword [ebp - 0x68], esi
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, eax
xor ecx, edi
add edx, esi
and ecx, dword [ebp - 0x64]
lea esi, [ebp - 0x44]
mov dword [ebp - 0x48], ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x48]
xor edi, ecx
add edi, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x48], edi
lea ecx, [edx - 3]
and ecx, 0xf
mov edi, dword [esi + ecx*4]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x7c], ecx
lea ecx, [edx - 6]
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov esi, edx
mov ecx, edx
rol esi, 0xf
rol ecx, 0xd
xor esi, ecx
shr edx, 0xa
xor esi, edx
mov ecx, edi
rol ecx, 0xe
mov edx, edi
rol edx, 0x19
xor edx, ecx
shr edi, 3
mov ecx, dword [ebp - 0x80]
xor edx, edi
mov edi, dword [ebp - 0x68]
add esi, edx
mov edx, edi
not edx
add esi, dword [ecx]
mov ecx, edi
add dword [ebx], esi
mov esi, edi
and edx, dword [ebp - 0x4c]
rol ecx, 0x15
rol esi, 0x1a
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, edi
and ecx, dword [ebp - 0x50]
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
add esi, dword [ecx + 0x10]
add esi, dword [ebx]
add esi, dword [ebp - 0x5c]
mov ebx, dword [ebp - 0x48]
mov edx, ebx
add dword [ebp - 0x64], esi
mov ecx, ebx
rol edx, 0x1e
rol ecx, 0x13
xor edx, ecx
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x54]
add edx, esi
mov edi, ecx
and ecx, ebx
xor edi, ebx
and edi, eax
lea ebx, [ebp - 0x44]
xor edi, ecx
add edi, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x5c], edi
lea ecx, [edx - 2]
and ecx, 0xf
lea ebx, [ebx + ecx*4]
mov edi, dword [ebx]
lea ecx, [edx - 5]
and ecx, 0xf
mov dword [ebp - 0x80], ebx
mov ebx, dword [ebp - 0x64]
mov edx, dword [ebp + ecx*4 - 0x44]
mov esi, edx
mov ecx, edx
rol esi, 0xf
rol ecx, 0xd
xor esi, ecx
shr edx, 0xa
xor esi, edx
mov ecx, edi
rol ecx, 0xe
mov edx, edi
rol edx, 0x19
xor edx, ecx
shr edi, 3
mov ecx, dword [ebp - 0x84]
xor edx, edi
mov edi, dword [ebp - 0x7c]
add esi, edx
mov edx, ebx
not edx
add esi, dword [ecx]
mov ecx, ebx
add dword [edi], esi
mov esi, ebx
and edx, dword [ebp - 0x50]
rol ecx, 0x15
rol esi, 0x1a
xor esi, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, ebx
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
add esi, dword [ecx + 0x14]
add esi, dword [edi]
mov edi, dword [ebp - 0x5c]
mov edx, edi
add esi, dword [ebp - 0x4c]
mov ecx, edi
rol ecx, 0x13
add eax, esi
rol edx, 0x1e
xor edx, ecx
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x48]
mov ebx, ecx
and ecx, edi
xor ebx, edi
and ebx, dword [ebp - 0x54]
mov edi, ebx
mov dword [ebp - 0x4c], ebx
xor edi, ecx
add edx, esi
mov ebx, dword [ebp - 0x80]
add edi, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x4c], edi
lea ecx, [edx - 1]
and ecx, 0xf
mov edi, dword [ebp + ecx*4 - 0x44]
lea ecx, [edx - 4]
and ecx, 0xf
mov edx, dword [ebp + ecx*4 - 0x44]
mov esi, edx
mov ecx, edx
rol esi, 0xf
rol ecx, 0xd
xor esi, ecx
shr edx, 0xa
xor esi, edx
mov ecx, edi
rol ecx, 0xe
mov edx, edi
rol edx, 0x19
xor edx, ecx
shr edi, 3
mov ecx, dword [ebp - 0x70]
xor edx, edi
add esi, edx
mov edx, eax
not edx
and edx, dword [ebp - 0x68]
add esi, dword [ecx]
mov ecx, eax
add dword [ebx], esi
mov esi, eax
rol ecx, 0x15
rol esi, 0x1a
xor esi, ecx
mov ecx, eax
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x64]
and ecx, eax
xor edx, ecx
mov ecx, dword [ebp - 0x58]
add esi, edx
add dword [ebp - 0x58], 0x20
add esi, dword [ecx + 0x18]
add esi, dword [ebx]
mov ebx, dword [ebp - 0x4c]
mov edx, ebx
add esi, dword [ebp - 0x50]
mov ecx, ebx
add dword [ebp - 0x54], esi
rol ecx, 0x13
rol edx, 0x1e
xor edx, ecx
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
mov edi, ecx
add edx, esi
xor edi, ebx
and ecx, ebx
mov ebx, dword [ebp - 0x88]
and edi, dword [ebp - 0x48]
xor edi, ecx
mov dword [ebp - 0x60], ebx
add edi, edx
lea ecx, [ebx - 9]
mov dword [ebp - 0x50], edi
cmp ecx, 0x40
jl 0x51c374
mov ebx, dword [ebp - 0x74]
mov edx, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx]
mov esi, dword [ebx + 8]
mov ebx, dword [ebx + 0x10]
mov dword [ebp - 0x84], ebx
mov ebx, dword [ebp - 0x50]
add ebx, ecx
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x60], ebx
mov dword [ecx], ebx
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x84]
add ecx, edx
mov edx, dword [ebp - 0x74]
add ebx, dword [ebp - 0x54]
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x50], ebx
add eax, dword [edx + 0x14]
mov dword [edx + 4], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [edx + 0x14], eax
add ecx, esi
mov dword [ebp - 0x4c], eax
mov eax, dword [edx + 0x18]
add eax, dword [ebp - 0x64]
mov dword [edx + 8], ecx
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x48]
mov dword [edx + 0x18], eax
add ecx, edi
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x48], eax
mov eax, dword [edx + 0x1c]
add eax, dword [ebp - 0x68]
mov dword [edx + 0xc], ecx
mov dword [edx + 0x10], ebx
mov dword [edx + 0x1c], eax
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x58], eax
test edx, edx
jne 0x51bab6
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005c358e
mov esp, ebp
pop ebp
ret