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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
mov eax, dword [0x592830]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 0xa8], ecx
test esi, esi
je 0x467803
mov eax, dword [ecx]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x84], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x90], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x9c], eax
mov eax, dword [ecx + 0x18]
push ebx
mov ebx, dword [ecx + 0x14]
push edi
mov edi, dword [ecx + 0x10]
mov dword [ebp - 0x94], eax
mov eax, dword [ecx + 0x1c]
mov dword [ebp - 0x7c], edi
mov dword [ebp - 0x88], ebx
mov dword [ebp - 0xa0], eax
movzx eax, byte [edx + 1]
dec esi
shl eax, 0x10
mov dword [ebp + 8], esi
movzx esi, byte [edx]
shl esi, 0x18
or esi, eax
movzx eax, byte [edx + 2]
shl eax, 8
or esi, eax
movzx eax, byte [edx + 3]
or esi, eax
add edx, 4
mov dword [ebp - 0x4c], edx
mov edx, edi
rol edx, 0x1a
mov eax, edi
mov ecx, edi
rol eax, 0x15
xor edx, eax
not ecx
and ecx, dword [ebp - 0x94]
mov eax, edi
and ebx, edi
mov edi, dword [ebp - 0x84]
rol eax, 7
xor edx, eax
add edx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x74]
xor ecx, ebx
add ecx, edx
and edi, eax
lea edx, [esi + 0x428a2f98]
add edx, ecx
mov ecx, eax
mov dword [ebp - 0x44], esi
mov esi, dword [ebp - 0x84]
xor esi, eax
mov ebx, dword [ebp - 0x9c]
mov dword [ebp - 0x54], esi
rol eax, 0x13
and esi, dword [ebp - 0x90]
add ebx, edx
rol ecx, 0x1e
xor ecx, eax
mov eax, dword [ebp - 0x74]
rol eax, 0xa
xor ecx, eax
add ecx, edx
xor esi, edi
add esi, ecx
mov ecx, dword [ebp - 0x4c]
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 edx, ebx
rol edx, 0x1a
mov eax, ebx
mov dword [ebp - 0x4c], ecx
rol eax, 0x15
xor edx, eax
mov eax, ebx
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x7c]
mov ecx, ebx
not ecx
and ecx, dword [ebp - 0x88]
and eax, ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x40], esi
xor ecx, eax
add edx, dword [ebp - 0x94]
mov ebx, dword [ebp - 0x90]
add ecx, edx
lea edx, [esi + 0x71374491]
mov esi, dword [ebp - 0x58]
add edx, ecx
mov ecx, esi
rol ecx, 0x1e
mov eax, esi
add ebx, edx
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x54]
and eax, esi
xor eax, edi
add ecx, edx
add eax, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x54], 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]
or esi, eax
add ecx, 4
mov dword [ebp - 0x4c], ecx
mov edx, ebx
rol edx, 0x1a
mov eax, ebx
mov ecx, ebx
rol eax, 0x15
xor edx, eax
not ecx
and ecx, dword [ebp - 0x7c]
mov eax, ebx
mov dword [ebp - 0x3c], esi
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x78]
add edx, dword [ebp - 0x88]
and eax, ebx
xor ecx, eax
mov eax, dword [ebp - 0x84]
add ecx, edx
lea edx, [esi - 0x4a3f0431]
mov esi, dword [ebp - 0x54]
add edx, ecx
add eax, edx
mov dword [ebp - 0x48], eax
mov ecx, esi
mov eax, esi
rol eax, 0x13
rol ecx, 0x1e
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x74]
mov esi, eax
xor esi, dword [ebp - 0x54]
and eax, dword [ebp - 0x54]
and esi, dword [ebp - 0x58]
add ecx, edx
xor esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], 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 - 0x4c], ecx
mov ecx, dword [ebp - 0x48]
mov edx, ecx
mov eax, ecx
rol eax, 0x15
mov dword [ebp - 0x38], esi
mov edi, dword [ebp - 0x74]
rol edx, 0x1a
xor edx, eax
mov eax, ecx
rol eax, 7
xor edx, eax
add edx, dword [ebp - 0x7c]
not ecx
and ecx, dword [ebp - 0x78]
mov eax, ebx
and eax, dword [ebp - 0x48]
xor ecx, eax
add ecx, edx
lea edx, [esi - 0x164a245b]
mov esi, dword [ebp - 0x5c]
add edx, ecx
mov ecx, esi
rol ecx, 0x1e
mov eax, esi
add edi, edx
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x54]
mov esi, eax
xor esi, dword [ebp - 0x5c]
and eax, dword [ebp - 0x5c]
and esi, dword [ebp - 0x58]
add ecx, edx
xor esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x70], 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 edx, edi
rol edx, 0x1a
mov eax, edi
mov dword [ebp - 0x4c], ecx
rol eax, 0x15
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x48]
mov ecx, edi
not ecx
and ecx, ebx
add edx, esi
and eax, edi
xor ecx, eax
add ecx, edx
mov edx, dword [ebp - 0x78]
add edx, 0x3956c25b
mov dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x70]
add edx, ecx
add dword [ebp - 0x58], edx
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 - 0x5c]
xor eax, esi
and eax, dword [ebp - 0x54]
add ecx, edx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x5c]
and eax, esi
mov esi, dword [ebp - 0x60]
xor esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x4c]
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 - 0x4c], ecx
mov ecx, dword [ebp - 0x58]
mov edx, ecx
mov eax, ecx
rol eax, 0x15
mov dword [ebp - 0x30], esi
rol edx, 0x1a
xor edx, eax
mov eax, ecx
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x58]
not ecx
and ecx, dword [ebp - 0x48]
and eax, edi
xor ecx, eax
add edx, esi
add ecx, edx
lea edx, [ebx + 0x59f111f1]
mov ebx, dword [ebp - 0x60]
add edx, ecx
mov ecx, ebx
mov eax, ebx
add dword [ebp - 0x54], edx
rol eax, 0x13
rol ecx, 0x1e
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x70]
mov esi, eax
xor esi, ebx
and esi, dword [ebp - 0x5c]
and eax, ebx
xor esi, eax
add ecx, edx
add esi, ecx
mov ecx, dword [ebp - 0x4c]
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]
or esi, eax
add ecx, 4
mov dword [ebp - 0x4c], ecx
mov ecx, dword [ebp - 0x54]
mov edx, ecx
rol edx, 0x1a
mov eax, ecx
mov dword [ebp - 0x2c], esi
rol eax, 0x15
xor edx, eax
mov eax, ecx
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x58]
and eax, dword [ebp - 0x54]
add edx, esi
mov esi, dword [ebp - 0x6c]
not ecx
and ecx, edi
xor ecx, eax
add ecx, edx
mov edx, dword [ebp - 0x48]
add edx, 0x923f82a4
add edx, ecx
mov ecx, esi
mov eax, esi
rol eax, 0x13
add dword [ebp - 0x5c], edx
rol ecx, 0x1e
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
add ecx, edx
mov eax, ebx
and eax, esi
xor ebx, esi
and ebx, dword [ebp - 0x70]
mov esi, ebx
xor esi, eax
add esi, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ebx
movzx eax, byte [ecx + 1]
shl eax, 0x10
mov dword [ebp - 0x48], esi
movzx esi, byte [ecx]
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 - 0x4c], ecx
mov ecx, dword [ebp - 0x5c]
mov edx, ecx
mov eax, ecx
rol eax, 0x15
mov dword [ebp - 0x28], esi
rol edx, 0x1a
xor edx, eax
mov eax, ecx
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x54]
and eax, dword [ebp - 0x5c]
not ecx
and ecx, dword [ebp - 0x58]
add edx, esi
mov esi, dword [ebp - 0x48]
xor ecx, eax
add ecx, edx
lea edx, [edi - 0x54e3a12b]
mov edi, dword [ebp - 0x70]
add edx, ecx
add edi, edx
mov ecx, esi
rol ecx, 0x1e
mov eax, esi
mov dword [ebp - 0x70], edi
rol eax, 0x13
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x6c]
mov ebx, eax
and eax, esi
add ecx, edx
xor ebx, esi
and ebx, dword [ebp - 0x60]
mov edx, edi
mov esi, ebx
xor esi, eax
rol edx, 0x1a
add esi, ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ebx
movzx eax, byte [ecx + 1]
shl eax, 0x10
mov dword [ebp - 0x50], esi
movzx esi, byte [ecx]
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 - 0x4c], ecx
mov eax, edi
rol eax, 0x15
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x5c]
and eax, edi
mov ecx, edi
not ecx
and ecx, dword [ebp - 0x54]
add edx, esi
xor ecx, eax
add ecx, edx
mov edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x24], esi
mov esi, dword [ebp - 0x50]
add edx, 0xd807aa98
add edx, ecx
mov ecx, dword [ebp - 0x48]
xor ecx, esi
mov dword [ebp - 0x64], ecx
mov ecx, esi
mov eax, esi
rol eax, 0x13
mov ebx, dword [ebp - 0x60]
and edi, esi
rol ecx, 0x1e
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x6c]
add ecx, edx
xor eax, edi
add eax, ecx
mov ecx, dword [ebp - 0x4c]
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
add ebx, edx
or esi, eax
movzx eax, byte [ecx + 3]
mov dword [ebp - 0x60], ebx
or esi, eax
add ecx, 4
mov dword [ebp - 0x4c], ecx
mov edx, ebx
rol edx, 0x1a
mov eax, ebx
mov ecx, ebx
rol eax, 0x15
xor edx, eax
not ecx
and ecx, dword [ebp - 0x5c]
mov eax, ebx
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x20], esi
rol eax, 7
xor edx, eax
add edx, esi
mov esi, dword [ebp - 0x68]
mov eax, ebx
and eax, dword [ebp - 0x60]
xor ecx, eax
add ecx, edx
mov edx, dword [ebp - 0x54]
add edx, 0x12835b01
add edx, ecx
mov ecx, esi
mov eax, esi
add dword [ebp - 0x6c], edx
rol eax, 0x13
rol ecx, 0x1e
xor ecx, eax
mov eax, esi
rol eax, 0xa
xor ecx, eax
mov eax, dword [ebp - 0x64]
and eax, esi
add ecx, edx
xor eax, edi
add eax, ecx
mov ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x6c]
movzx esi, byte [ecx]
mov dword [ebp - 0x64], eax
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 edx, edi
rol edx, 0x1a
mov eax, edi
mov dword [ebp - 0x4c], ecx
rol eax, 0x15
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [ebp - 0x60]
add edx, esi
mov ecx, edi
not ecx
and ecx, ebx
and eax, edi
xor ecx, eax
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x5c]
add ecx, edx
add esi, 0x243185be
add esi, ecx
mov ecx, dword [ebp - 0x64]
add dword [ebp - 0x48], esi
mov edx, ecx
mov eax, ecx
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]
xor eax, dword [ebp - 0x50]
add edx, esi
and eax, dword [ebp - 0x68]
xor eax, ecx
add eax, edx
mov edx, dword [ebp - 0x4c]
add edx, 4
movzx edi, byte [edx - 4]
movzx ecx, byte [edx - 3]
shl ecx, 0x10
shl edi, 0x18
or edi, ecx
movzx ecx, byte [edx - 2]
shl ecx, 8
or edi, ecx
movzx ecx, byte [edx - 1]
or edi, ecx
mov dword [ebp - 0x4c], edx
mov edx, dword [ebp - 0x48]
mov esi, edx
mov ecx, edx
rol ecx, 0x15
mov dword [ebp - 0x18], edi
rol esi, 0x1a
xor esi, ecx
mov ecx, edx
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x6c]
and ecx, dword [ebp - 0x48]
add esi, edi
not edx
and edx, dword [ebp - 0x60]
xor edx, ecx
add edx, esi
lea esi, [ebx + 0x550c7dc3]
add esi, edx
mov edx, eax
mov ecx, eax
mov ebx, dword [ebp - 0x50]
rol ecx, 0x13
add ebx, esi
mov dword [ebp - 0x50], ebx
rol edx, 0x1e
xor edx, ecx
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x64]
mov edi, ecx
xor edi, eax
and edi, dword [ebp - 0x68]
and ecx, eax
xor edi, ecx
add edx, esi
add edi, edx
mov edx, dword [ebp - 0x4c]
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]
or edi, ecx
mov esi, ebx
mov ecx, ebx
add edx, 4
rol esi, 0x1a
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x14], edi
rol ecx, 0x15
xor esi, ecx
mov ecx, ebx
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x48]
and ecx, dword [ebp - 0x50]
add esi, edi
mov edi, dword [ebp - 0x54]
mov edx, ebx
mov ebx, dword [ebp - 0x6c]
not edx
and edx, ebx
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x60]
add esi, 0x72be5d74
add esi, edx
mov edx, edi
rol edx, 0x1e
mov ecx, edi
add dword [ebp - 0x68], esi
rol ecx, 0x13
xor edx, ecx
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
add edx, esi
mov ecx, eax
xor ecx, edi
and ecx, dword [ebp - 0x64]
mov dword [ebp - 0x58], ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x58]
xor edi, ecx
add edi, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x58], 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 - 0x4c], edx
mov edx, dword [ebp - 0x68]
mov esi, edx
mov ecx, edx
rol ecx, 0x15
mov dword [ebp - 0x10], edi
rol esi, 0x1a
xor esi, ecx
mov ecx, edx
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x50]
not edx
and edx, dword [ebp - 0x48]
add esi, edi
xor edx, ecx
add edx, esi
lea esi, [ebx - 0x7f214e02]
mov ebx, dword [ebp - 0x58]
add esi, edx
add dword [ebp - 0x64], esi
mov edx, ebx
mov ecx, ebx
rol ecx, 0x13
rol edx, 0x1e
xor edx, ecx
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x54]
mov edi, ecx
xor edi, ebx
and ecx, ebx
add edx, esi
and edi, eax
xor edi, ecx
add edi, edx
mov edx, dword [ebp - 0x4c]
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 - 0x4c], edx
mov edx, dword [ebp - 0x64]
mov esi, edx
mov ecx, edx
rol ecx, 0x15
mov dword [ebp - 0xc], edi
rol esi, 0x1a
xor esi, ecx
mov ecx, edx
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, dword [ebp - 0x64]
add esi, edi
mov edi, dword [ebp - 0x5c]
not edx
and edx, dword [ebp - 0x50]
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x48]
mov ecx, edi
add esi, 0x9bdc06a7
add esi, edx
rol ecx, 0x13
mov edx, edi
add eax, esi
rol edx, 0x1e
xor edx, ecx
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, ebx
and ecx, edi
xor ebx, edi
and ebx, dword [ebp - 0x54]
add edx, esi
mov edi, ebx
xor edi, ecx
add edi, edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ebx
movzx ecx, byte [edx + 1]
mov dword [ebp - 0x48], edi
movzx edi, byte [edx]
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
mov esi, eax
mov ecx, eax
rol ecx, 0x15
add edx, 4
mov dword [ebp - 0x4c], edx
rol esi, 0x1a
xor esi, ecx
mov ecx, eax
rol ecx, 7
mov dword [ebp - 8], edi
xor esi, ecx
mov ecx, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x48]
and ecx, eax
add esi, edi
mov edx, eax
not edx
and edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], 0x557a24
xor edx, ecx
add edx, esi
mov esi, dword [ebp - 0x50]
add esi, 0xc19bf174
add esi, edx
add dword [ebp - 0x54], esi
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
xor edi, ebx
and edi, dword [ebp - 0x58]
and ecx, ebx
add edx, esi
xor edi, ecx
add edi, edx
mov edx, 0x11
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x60], edx
mov edi, edi
mov ecx, edx
and ecx, 0xf
lea ebx, [ebp - 0x44]
lea esi, [ebp - 0x44]
mov edi, dword [ebx + ecx*4]
lea ecx, [ebx + ecx*4]
mov dword [ebp - 0x70], ecx
lea ecx, [edx - 3]
and ecx, 0xf
mov edx, ebx
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x60]
lea ebx, [ecx - 7]
dec ecx
and ecx, 0xf
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x78], ecx
mov esi, edx
rol esi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor esi, ecx
xor esi, edx
mov edx, edi
mov ecx, edi
shr edi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
xor edx, edi
mov edi, dword [ebp - 0x54]
add esi, edx
lea ecx, [ebx - 1]
mov ebx, dword [ebp - 0x78]
and ecx, 0xf
mov edx, edi
add esi, dword [ebp + ecx*4 - 0x44]
mov ecx, edi
rol ecx, 0x15
add dword [ebx], esi
mov esi, edi
rol esi, 0x1a
xor esi, ecx
not edx
and edx, dword [ebp - 0x64]
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x48]
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
add esi, edx
add esi, dword [ecx - 4]
mov ecx, dword [ebp - 0x50]
add esi, dword [ebx]
mov ebx, dword [ebp - 0x48]
xor ebx, dword [ebp - 0x50]
add esi, dword [ebp - 0x68]
mov edx, ecx
rol edx, 0x1e
add dword [ebp - 0x58], esi
and edi, ecx
rol ecx, 0x13
xor edx, ecx
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
add ecx, edx
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x8c], edi
lea ecx, [edx + 1]
and ecx, 0xf
lea esi, [ebp - 0x44]
lea ecx, [esi + ecx*4]
mov dword [ebp - 0x80], ecx
mov esi, dword [ecx]
lea ecx, [edx - 2]
and ecx, 0xf
lea edx, [ebp - 0x44]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ecx]
mov edi, edx
rol edi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0x60]
xor edx, esi
add ecx, 0xfffffff9
and ecx, 0xf
add edi, edx
add edi, dword [ebp + ecx*4 - 0x44]
mov ecx, dword [ebp - 0x70]
add dword [ecx], edi
mov edi, dword [ebp - 0x58]
mov esi, edi
mov ecx, edi
mov edx, edi
rol ecx, 0x15
not edx
and edx, eax
rol esi, 0x1a
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x54]
and ecx, edi
mov edi, dword [ebp - 0x68]
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
add esi, edx
add esi, dword [ecx]
mov ecx, dword [ebp - 0x70]
mov edx, edi
rol edx, 0x1e
add esi, dword [ecx]
mov ecx, edi
rol ecx, 0x13
add esi, dword [ebp - 0x64]
xor edx, ecx
add dword [ebp - 0x5c], esi
mov ecx, edi
and ebx, edi
xor ebx, dword [ebp - 0x8c]
rol ecx, 0xa
xor edx, ecx
add edx, esi
add ebx, edx
mov dword [ebp - 0x64], ebx
mov ebx, dword [ebp - 0x60]
lea edx, [ebp - 0x44]
lea ecx, [ebx + 2]
and ecx, 0xf
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x8c], ecx
mov edx, dword [edx]
mov edi, edx
rol edi, 0xf
mov ecx, edx
rol ecx, 0xd
xor edi, ecx
shr edx, 0xa
xor edi, edx
mov edx, esi
rol edx, 0x19
mov ecx, esi
shr esi, 3
rol ecx, 0xe
xor edx, ecx
xor edx, esi
add edi, edx
lea ecx, [ebx - 6]
mov ebx, dword [ebp - 0x80]
and ecx, 0xf
add edi, dword [ebp + ecx*4 - 0x44]
add dword [ebx], edi
mov edi, dword [ebp - 0x5c]
mov esi, edi
rol esi, 0x1a
mov ecx, edi
mov edx, edi
rol ecx, 0x15
xor esi, ecx
not edx
and edx, dword [ebp - 0x54]
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x58]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
add esi, edx
add esi, dword [ecx + 4]
mov ecx, dword [ebp - 0x64]
add esi, dword [ebx]
mov ebx, dword [ebp - 0x60]
add esi, eax
mov edx, ecx
mov eax, ecx
add dword [ebp - 0x48], 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]
xor eax, dword [ebp - 0x50]
add edx, esi
and eax, dword [ebp - 0x68]
xor eax, ecx
add eax, edx
lea ecx, [ebx + 3]
and ecx, 0xf
lea edx, [ebp - 0x44]
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov dword [ebp - 0x98], ecx
mov ecx, dword [ebp - 0x70]
mov edx, dword [ecx]
mov edi, edx
rol edi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
lea ecx, [ebx - 5]
mov ebx, dword [ebp - 0x8c]
xor edx, esi
and ecx, 0xf
add edi, edx
add edi, dword [ebp + ecx*4 - 0x44]
add dword [ebx], edi
mov edi, dword [ebp - 0x48]
mov esi, edi
rol esi, 0x1a
mov ecx, edi
mov edx, edi
rol ecx, 0x15
xor esi, ecx
not edx
and edx, dword [ebp - 0x58]
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x5c]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
add esi, edx
add esi, dword [ecx + 8]
mov edx, eax
add esi, dword [ebx]
mov ecx, eax
rol ecx, 0x13
add esi, dword [ebp - 0x54]
add dword [ebp - 0x50], esi
rol edx, 0x1e
xor edx, ecx
mov ecx, eax
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x64]
mov ebx, ecx
and ecx, eax
add edx, esi
xor ebx, eax
and ebx, dword [ebp - 0x68]
xor ebx, ecx
mov ecx, dword [ebp - 0x60]
add ebx, edx
mov edx, dword [ebp - 0x80]
add ecx, 4
mov edx, dword [edx]
and ecx, 0xf
mov edi, edx
rol edi, 0xf
mov dword [ebp - 0x54], ebx
lea ebx, [ebp - 0x44]
mov esi, dword [ebx + ecx*4]
lea ebx, [ebx + ecx*4]
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
mov dword [ebp - 0x70], ebx
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0x60]
xor edx, esi
add ecx, 0xfffffffc
and ecx, 0xf
add edi, edx
add edi, dword [ebp + ecx*4 - 0x44]
mov ecx, dword [ebp - 0x98]
add dword [ecx], edi
mov edi, dword [ebp - 0x50]
mov esi, edi
mov ecx, edi
mov edx, edi
rol ecx, 0x15
not edx
rol esi, 0x1a
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
and edx, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
and ecx, edi
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x54]
add esi, edx
add esi, dword [ecx + 0xc]
mov ecx, dword [ebp - 0x98]
mov edx, edi
rol edx, 0x1e
add esi, dword [ecx]
mov ecx, edi
rol ecx, 0x13
xor edx, ecx
add esi, dword [ebp - 0x58]
mov ecx, edi
add dword [ebp - 0x68], esi
rol ecx, 0xa
xor edx, ecx
add edx, esi
mov ecx, eax
xor ecx, edi
and ecx, dword [ebp - 0x64]
mov dword [ebp - 0x58], ecx
mov ecx, eax
and ecx, edi
mov edi, dword [ebp - 0x58]
xor edi, ecx
mov ecx, dword [ebp - 0x60]
add edi, edx
add ecx, 5
and ecx, 0xf
lea edx, [ebp - 0x44]
mov dword [ebp - 0x58], edi
mov esi, dword [edx + ecx*4]
lea ecx, [edx + ecx*4]
mov edx, dword [ebp - 0x8c]
mov dword [ebp - 0x80], ecx
mov edx, dword [edx]
mov edi, edx
rol edi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0xa4]
xor edx, esi
add edi, edx
add edi, dword [ecx]
add dword [ebx], edi
mov edi, dword [ebp - 0x68]
mov esi, edi
mov ecx, edi
mov edx, edi
rol esi, 0x1a
not edx
and edx, dword [ebp - 0x48]
rol ecx, 0x15
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 - 0x6c]
add esi, edx
add esi, dword [ecx + 0x10]
add esi, dword [ebx]
mov ebx, dword [ebp - 0x58]
add esi, dword [ebp - 0x5c]
mov edx, ebx
add dword [ebp - 0x64], esi
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 - 0x54]
mov edi, ecx
and ecx, ebx
xor edi, ebx
add edx, esi
and edi, eax
xor edi, ecx
mov ecx, dword [ebp - 0x60]
add ecx, 6
and ecx, 0xf
add edi, edx
mov dword [ebp - 0x5c], edi
lea ebx, [ebp - 0x44]
lea ebx, [ebx + ecx*4]
mov ecx, dword [ebp - 0x98]
mov esi, dword [ebx]
mov edx, dword [ecx]
mov edi, edx
rol edi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0xac]
xor edx, esi
add edi, edx
add edi, dword [ecx]
mov ecx, dword [ebp - 0x80]
add dword [ecx], edi
mov edi, dword [ebp - 0x64]
mov esi, edi
mov ecx, edi
rol ecx, 0x15
mov edx, edi
not edx
rol esi, 0x1a
and edx, dword [ebp - 0x50]
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [ebp - 0x68]
and ecx, edi
mov edi, dword [ebp - 0x5c]
xor edx, ecx
mov ecx, dword [ebp - 0x6c]
add esi, edx
add esi, dword [ecx + 0x14]
mov ecx, dword [ebp - 0x80]
mov edx, edi
rol edx, 0x1e
add esi, dword [ecx]
mov ecx, edi
rol ecx, 0x13
add esi, dword [ebp - 0x48]
xor edx, ecx
mov ecx, edi
add eax, esi
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0x48], ecx
xor ecx, edi
and ecx, dword [ebp - 0x54]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x58]
and ecx, edi
mov edi, dword [ebp - 0x48]
xor edi, ecx
mov ecx, dword [ebp - 0x60]
add edx, esi
add edi, edx
mov edx, dword [ebp - 0x70]
add ecx, 7
mov edx, dword [edx]
and ecx, 0xf
mov dword [ebp - 0x48], edi
mov esi, dword [ebp + ecx*4 - 0x44]
mov edi, edx
rol edi, 0xf
mov ecx, edx
shr edx, 0xa
rol ecx, 0xd
xor edi, ecx
xor edi, edx
mov edx, esi
mov ecx, esi
shr esi, 3
rol ecx, 0xe
rol edx, 0x19
xor edx, ecx
mov ecx, dword [ebp - 0x78]
xor edx, esi
add edi, edx
add edi, dword [ecx]
mov esi, eax
rol esi, 0x1a
add dword [ebx], edi
mov edi, dword [ebp - 0x48]
mov ecx, eax
mov edx, eax
not edx
and edx, dword [ebp - 0x68]
rol ecx, 0x15
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 - 0x6c]
add esi, edx
add esi, dword [ecx + 0x18]
add dword [ebp - 0x6c], 0x20
add esi, dword [ebx]
mov ebx, dword [ebp - 0x54]
add esi, dword [ebp - 0x50]
mov edx, edi
mov ecx, edi
add ebx, esi
rol ecx, 0x13
mov dword [ebp - 0x54], ebx
rol edx, 0x1e
xor edx, ecx
mov ecx, edi
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x50], ecx
xor dword [ebp - 0x50], edi
and ecx, dword [ebp - 0x48]
mov edi, dword [ebp - 0x58]
and dword [ebp - 0x50], edi
xor dword [ebp - 0x50], ecx
add edx, esi
mov esi, dword [ebp - 0x50]
add esi, edx
mov edx, dword [ebp - 0x60]
add edx, 8
mov dword [ebp - 0x50], esi
lea ecx, [edx - 1]
mov dword [ebp - 0x60], edx
cmp ecx, 0x40
jl 0x4671b0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x74]
add edx, esi
mov dword [ebp - 0x74], edx
mov dword [ecx], edx
mov edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x48]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x84], edx
mov dword [ecx + 4], edx
mov edx, dword [ebp - 0x90]
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x90], edx
mov dword [ecx + 8], edx
mov edx, dword [ebp - 0x9c]
add edx, edi
mov edi, dword [ebp - 0x7c]
add edi, ebx
mov ebx, dword [ebp - 0x88]
add ebx, eax
mov eax, dword [ebp - 0x94]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x9c], edx
mov dword [ebp - 0x94], eax
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x68]
mov dword [ecx + 0xc], edx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x7c], edi
mov dword [ecx + 0x10], edi
mov dword [ebp - 0x88], ebx
mov dword [ecx + 0x14], ebx
mov dword [ebp - 0xa0], eax
mov dword [ecx + 0x1c], eax
test esi, esi
jne 0x4668d8
pop edi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop esi
call fcn.004ebb9e
mov esp, ebp
pop ebp
ret