Function at 0x4f5aa0
Capabilities:
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x80
call fcn.0049f020
cmp dword [esp + 0x8c], 0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x88]
je 0x4f6b9f
push ebx
push ebp
push esi
push edi
lea ebx, [ebx]
mov ecx, dword [edx + 4]
mov ebp, dword [edx + 0x10]
mov edi, dword [edx]
mov esi, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x3c], esi
movzx esi, byte [eax]
shl esi, 0x18
add eax, 1
sub dword [esp + 0x9c], 1
mov dword [esp + 0x20], ecx
mov ecx, dword [edx + 8]
mov dword [esp + 0x14], ecx
mov ecx, dword [edx + 0xc]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x44], edx
movzx edx, byte [eax]
shl edx, 0x10
or esi, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov dword [esp + 0x40], ebx
mov dword [esp + 0x28], ebp
add eax, 1
or esi, edx
movzx edx, byte [eax - 2]
or esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x50], esi
mov edx, ebp
rol edx, 0x1a
mov esi, ebp
rol esi, 0x15
xor edx, esi
mov esi, ebp
rol esi, 7
xor edx, esi
add edx, dword [esp + 0x10]
mov esi, ebp
not esi
and esi, ebx
mov ebx, dword [esp + 0x3c]
and ebx, ebp
xor esi, ebx
add esi, edx
mov edx, dword [esp + 0x44]
lea edx, [esi + edx + 0x428a2f98]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20]
mov esi, edx
and edx, edi
xor esi, edi
mov ebx, edi
rol ebx, 0x1e
mov ebp, edi
rol ebp, 0x13
xor ebx, ebp
mov ebp, edi
rol ebp, 0xa
xor ebx, ebp
movzx ebp, byte [eax - 1]
add ebx, dword [esp + 0x10]
mov dword [esp + 0x38], esi
and esi, dword [esp + 0x14]
mov dword [esp + 0x34], edx
xor esi, edx
movzx edx, byte [eax]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add esi, ebx
mov dword [esp + 0x24], ecx
or ebp, edx
add eax, 1
movzx edx, byte [eax]
or ebp, edx
add eax, 1
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
not ebx
and ebx, dword [esp + 0x3c]
mov dword [esp + 0x10], ebp
add edx, dword [esp + 0x10]
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x28]
and ebp, ecx
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x40]
lea edx, [ebx + edx + 0x71374491]
mov ebp, dword [esp + 0x14]
add ebp, edx
mov dword [esp + 0x10], edx
mov ebx, esi
rol ebx, 0x1e
mov edx, esi
rol edx, 0x13
xor ebx, edx
mov edx, esi
rol edx, 0xa
xor ebx, edx
add ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x38]
and edx, esi
xor edx, dword [esp + 0x34]
add eax, 1
mov dword [esp + 0x44], edx
add edx, ebx
movzx ebx, byte [eax]
mov dword [esp + 0x2c], edx
movzx edx, byte [eax - 1]
shl ebx, 0x10
shl edx, 0x18
or edx, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
and ecx, ebp
mov dword [esp + 0x14], ebp
or edx, ebx
movzx ebx, byte [eax - 1]
or edx, ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x58], edx
mov edx, ebp
rol edx, 0x1a
mov ebx, ebp
rol ebx, 0x15
xor edx, ebx
mov ebx, ebp
rol ebx, 7
xor edx, ebx
add edx, dword [esp + 0x10]
mov ebx, ebp
not ebx
and ebx, dword [esp + 0x28]
xor ebx, ecx
mov ecx, dword [esp + 0x3c]
add ebx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ebx + ecx - 0x4a3f0431]
add dword [esp + 0x20], ecx
mov ebx, edx
mov dword [esp + 0x10], ecx
rol ebx, 0x1e
mov ecx, edx
rol ecx, 0x13
xor ebx, ecx
mov ecx, edx
rol ecx, 0xa
xor ebx, ecx
add ebx, dword [esp + 0x10]
mov ecx, edx
xor ecx, edi
and ecx, esi
and edx, edi
xor ecx, edx
movzx edx, byte [eax + 1]
add ecx, ebx
mov dword [esp + 0x30], ecx
movzx ecx, byte [eax]
shl edx, 0x10
shl ecx, 0x18
or ecx, edx
add eax, 1
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
add eax, 1
add eax, 1
add eax, 1
or ecx, edx
movzx edx, byte [eax - 4]
or ecx, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x20]
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
and ebp, ecx
rol ebx, 7
xor edx, ebx
add edx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, dword [esp + 0x28]
not ebx
and ebx, dword [esp + 0x24]
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x30]
lea ecx, [ebx + ecx - 0x164a245b]
mov ebx, dword [esp + 0x2c]
add edi, ecx
mov dword [esp + 0x10], ecx
mov ebp, edx
rol ebp, 0x1e
mov ecx, edx
rol ecx, 0x13
xor ebp, ecx
mov ecx, edx
rol ecx, 0xa
xor ebp, ecx
add ebp, dword [esp + 0x10]
mov ecx, ebx
xor ecx, edx
and ebx, edx
movzx edx, byte [eax - 2]
and ecx, esi
xor ecx, ebx
add ecx, ebp
movzx ebp, byte [eax - 3]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax - 1]
mov dword [esp + 0x1c], edi
or ebp, edx
movzx edx, byte [eax]
or ebp, edx
mov dword [esp + 0x10], ebp
add eax, 1
mov edx, edi
rol edx, 0x1a
mov ebx, edi
rol ebx, 0x15
xor edx, ebx
mov ebx, edi
rol ebx, 7
xor edx, ebx
add edx, dword [esp + 0x10]
mov dword [esp + 0x60], ebp
mov ebp, dword [esp + 0x20]
and ebp, edi
mov ebx, edi
not ebx
and ebx, dword [esp + 0x14]
mov edi, ecx
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x24]
lea edx, [ebx + edx + 0x3956c25b]
add esi, edx
mov ebx, dword [esp + 0x30]
mov ebp, ecx
rol ebp, 0x1e
rol edi, 0x13
xor ebp, edi
mov edi, ecx
rol edi, 0xa
xor ebp, edi
add ebp, edx
movzx edx, byte [eax + 1]
mov edi, ebx
and ebx, ecx
xor edi, ecx
and edi, dword [esp + 0x2c]
shl edx, 0x10
xor edi, ebx
add edi, ebp
movzx ebp, byte [eax]
add eax, 1
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov ebx, esi
mov dword [esp + 0x18], esi
or ebp, edx
movzx edx, byte [eax - 1]
or ebp, edx
mov edx, esi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
and esi, dword [esp + 0x1c]
not ebx
and ebx, dword [esp + 0x20]
add edx, ebp
xor ebx, esi
mov esi, dword [esp + 0x2c]
add ebx, edx
mov edx, dword [esp + 0x14]
lea edx, [ebx + edx + 0x59f111f1]
add esi, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x10], edx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov dword [esp + 0x64], ebp
mov dword [esp + 0x2c], esi
mov edx, edi
rol edx, 0xa
xor ebx, edx
add ebx, dword [esp + 0x10]
add eax, 1
mov edx, ecx
xor edx, edi
and edx, dword [esp + 0x30]
mov ebp, ecx
and ebp, edi
xor edx, ebp
add edx, ebx
movzx ebp, byte [eax - 1]
mov dword [esp + 0x14], edx
movzx edx, byte [eax]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov ebx, esi
add eax, 1
add eax, 1
or ebp, edx
movzx edx, byte [eax - 3]
or ebp, edx
mov dword [esp + 0x10], ebp
mov edx, esi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x18]
and ebp, esi
mov ebx, esi
rol ebx, 7
xor edx, ebx
add edx, dword [esp + 0x10]
mov ebx, esi
not ebx
and ebx, dword [esp + 0x1c]
add eax, 1
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x20]
lea edx, [ebx + edx - 0x6dc07d5c]
add dword [esp + 0x30], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov ebp, edx
rol ebp, 0x1e
mov ebx, edx
rol ebx, 0x13
xor ebp, ebx
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, edi
xor ebx, edx
and ebx, ecx
mov dword [esp + 0x44], ebx
mov ebx, edi
and ebx, edx
mov edx, dword [esp + 0x44]
xor edx, ebx
add edx, ebp
movzx ebp, byte [eax - 3]
mov dword [esp + 0x20], edx
movzx edx, byte [eax - 2]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax - 1]
or ebp, edx
movzx edx, byte [eax]
or ebp, edx
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x30]
and esi, edx
mov ebx, edx
add eax, 1
rol ebx, 0x1a
mov dword [esp + 0x6c], ebp
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov ebp, edx
mov edx, dword [esp + 0x1c]
not ebp
and ebp, dword [esp + 0x18]
add eax, 1
xor ebp, esi
add ebp, ebx
lea edx, [edx + ebp - 0x54e3a12b]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x20]
mov ebx, edx
mov esi, edx
rol ebx, 0x1e
rol esi, 0x13
xor ebx, esi
mov esi, edx
rol esi, 0xa
xor ebx, esi
mov esi, dword [esp + 0x14]
mov ebp, esi
and esi, edx
xor ebp, edx
movzx edx, byte [eax]
add ebx, dword [esp + 0x10]
and ebp, edi
xor ebp, esi
movzx esi, byte [eax - 1]
shl esi, 0x18
shl edx, 0x10
or esi, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add ebp, ebx
mov ebx, dword [esp + 0x30]
add eax, 1
and ebx, ecx
or esi, edx
movzx edx, byte [eax - 1]
or esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x70], esi
mov edx, ecx
rol edx, 0x1a
mov esi, ecx
rol esi, 0x15
xor edx, esi
mov esi, ecx
rol esi, 7
xor edx, esi
add edx, dword [esp + 0x10]
mov esi, ecx
not esi
and esi, dword [esp + 0x2c]
mov dword [esp + 0x28], ecx
xor esi, ebx
add esi, edx
mov edx, dword [esp + 0x18]
lea edx, [esi + edx - 0x27f85568]
mov esi, dword [esp + 0x20]
add edi, edx
mov dword [esp + 0x10], edx
mov edx, esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], edi
xor edx, ebp
and esi, ebp
mov dword [esp + 0x34], esi
mov esi, ebp
rol esi, 0x1e
mov ebx, ebp
rol ebx, 0x13
xor esi, ebx
rol ebp, 0xa
xor esi, ebp
add esi, dword [esp + 0x10]
mov ebp, edx
and ebp, dword [esp + 0x14]
add eax, 1
xor ebp, dword [esp + 0x34]
mov dword [esp + 0x38], edx
movzx edx, byte [eax]
add ebp, esi
movzx esi, byte [eax - 1]
shl esi, 0x18
shl edx, 0x10
or esi, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov ebx, ecx
and ebx, edi
mov dword [esp + 0x18], ebp
or esi, edx
movzx edx, byte [eax - 1]
or esi, edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x74], esi
mov edx, edi
rol edx, 0x1a
mov esi, edi
rol esi, 0x15
xor edx, esi
mov esi, edi
rol esi, 7
xor edx, esi
add edx, dword [esp + 0x10]
mov esi, edi
not esi
and esi, dword [esp + 0x30]
add eax, 1
xor esi, ebx
add esi, edx
mov edx, dword [esp + 0x2c]
lea esi, [esi + edx + 0x12835b01]
mov edx, dword [esp + 0x14]
add edx, esi
mov dword [esp + 0x10], esi
mov ebx, ebp
rol ebx, 0x1e
mov esi, ebp
rol esi, 0x13
xor ebx, esi
mov esi, ebp
rol esi, 0xa
xor ebx, esi
add ebx, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
and esi, ebp
movzx ebp, byte [eax - 1]
xor esi, dword [esp + 0x34]
shl ebp, 0x18
add esi, ebx
movzx ebx, byte [eax]
shl ebx, 0x10
or ebp, ebx
xor ebx, ebx
mov bh, byte [eax + 1]
add eax, 1
add eax, 1
mov dword [esp + 0x14], edx
or ebp, ebx
movzx ebx, byte [eax]
or ebp, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x78], ebp
add eax, 1
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov ebp, edx
not ebp
and ebp, ecx
mov ecx, edi
and ecx, edx
mov edx, dword [esp + 0x30]
xor ebp, ecx
add ebp, ebx
lea ecx, [edx + ebp + 0x243185be]
add dword [esp + 0x20], ecx
mov dword [esp + 0x10], ecx
mov ebx, esi
rol ebx, 0x1e
mov ecx, esi
rol ecx, 0x13
xor ebx, ecx
mov edx, esi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x1c]
add ebx, dword [esp + 0x10]
mov ecx, esi
xor ecx, edx
and ecx, dword [esp + 0x18]
add eax, 1
mov ebp, esi
and ebp, edx
movzx edx, byte [eax]
xor ecx, ebp
movzx ebp, byte [eax - 1]
shl ebp, 0x18
shl edx, 0x10
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add ecx, ebx
add eax, 1
or ebp, edx
movzx edx, byte [eax - 1]
or ebp, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x7c], ebp
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov ebp, edx
not ebp
and ebp, edi
mov edi, dword [esp + 0x14]
and edi, edx
mov edx, dword [esp + 0x28]
xor ebp, edi
mov edi, dword [esp + 0x1c]
add ebp, ebx
lea edx, [edx + ebp + 0x550c7dc3]
add edi, edx
mov ebx, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edi
rol ebx, 0x1e
mov edx, ecx
rol edx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor ebx, edx
add ebx, dword [esp + 0x10]
add eax, 1
mov edx, esi
xor edx, ecx
and edx, dword [esp + 0x18]
mov ebp, esi
and ebp, ecx
xor edx, ebp
add edx, ebx
movzx ebp, byte [eax - 1]
mov dword [esp + 0x28], edx
movzx edx, byte [eax]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov ebx, edi
add eax, 1
add eax, 1
or ebp, edx
movzx edx, byte [eax - 3]
or ebp, edx
mov edx, edi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x80], ebp
mov ebp, dword [esp + 0x20]
and ebp, edi
mov ebx, edi
rol ebx, 7
xor edx, ebx
add edx, dword [esp + 0x10]
mov ebx, edi
not ebx
and ebx, dword [esp + 0x14]
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x24]
lea edx, [ebx + edx + 0x72be5d74]
add dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x28]
mov ebp, edx
rol ebp, 0x1e
mov ebx, edx
rol ebx, 0x13
xor ebp, ebx
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
add ebp, dword [esp + 0x10]
mov ebx, ecx
xor ebx, edx
and ebx, esi
mov dword [esp + 0x44], ebx
mov ebx, ecx
and ebx, edx
mov edx, dword [esp + 0x44]
xor edx, ebx
add edx, ebp
movzx ebp, byte [eax - 2]
mov dword [esp + 0x24], edx
movzx edx, byte [eax - 1]
shl edx, 0x10
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax]
or ebp, edx
add eax, 1
movzx edx, byte [eax]
or ebp, edx
mov edx, dword [esp + 0x18]
mov ebx, edx
mov dword [esp + 0x10], ebp
add eax, 1
rol ebx, 0x1a
mov dword [esp + 0x84], ebp
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
add ebx, dword [esp + 0x10]
mov ebp, edx
and edx, edi
not ebp
and ebp, dword [esp + 0x20]
add eax, 1
xor ebp, edx
mov edx, dword [esp + 0x14]
add ebp, ebx
lea edx, [edx + ebp - 0x7f214e02]
add esi, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x24]
mov ebx, edx
mov edi, edx
rol ebx, 0x1e
rol edi, 0x13
xor ebx, edi
mov edi, edx
rol edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x28]
mov ebp, edi
and edi, edx
xor ebp, edx
movzx edx, byte [eax]
add ebx, dword [esp + 0x10]
and ebp, ecx
xor ebp, edi
movzx edi, byte [eax - 1]
shl edx, 0x10
shl edi, 0x18
or edi, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add ebp, ebx
mov ebx, dword [esp + 0x18]
add eax, 1
and ebx, esi
or edi, edx
movzx edx, byte [eax - 1]
or edi, edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x88], edi
mov edx, esi
rol edx, 0x1a
mov edi, esi
rol edi, 0x15
xor edx, edi
mov edi, esi
rol edi, 7
xor edx, edi
add edx, dword [esp + 0x10]
mov edi, esi
not edi
and edi, dword [esp + 0x1c]
mov dword [esp + 0x14], ebp
xor edi, ebx
add edi, edx
mov edx, dword [esp + 0x20]
lea edx, [edi + edx - 0x6423f959]
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, ebp
rol edx, 0x1e
mov ebx, dword [esp + 0x24]
and ebx, ebp
mov edi, ebp
rol edi, 0x13
xor edx, edi
mov edi, ebp
rol edi, 0xa
xor edx, edi
add edx, dword [esp + 0x10]
mov edi, dword [esp + 0x24]
xor edi, ebp
and edi, dword [esp + 0x28]
movzx ebp, byte [eax]
xor edi, ebx
add edi, edx
movzx edx, byte [eax + 1]
shl edx, 0x10
add eax, 1
shl ebp, 0x18
or ebp, edx
xor edx, edx
mov dh, byte [eax + 1]
add eax, 1
add eax, 1
add eax, 1
mov ebx, ecx
mov dword [esp + 0x30], 0x5c35c4
or ebp, edx
movzx edx, byte [eax - 1]
or ebp, edx
mov edx, ecx
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov dword [esp + 0x10], ebp
add edx, dword [esp + 0x10]
mov dword [esp + 0x8c], ebp
mov ebx, ecx
not ebx
and ebx, dword [esp + 0x18]
mov ebp, esi
and ebp, ecx
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x1c]
lea edx, [ebx + edx - 0x3e640e8c]
add dword [esp + 0x28], edx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x10], edx
mov ebx, edi
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x14]
add ebx, dword [esp + 0x10]
xor edx, edi
and edx, dword [esp + 0x24]
and ebp, edi
xor edx, ebp
add edx, ebx
mov dword [esp + 0x1c], edx
mov edx, 0x11
mov dword [esp + 0x2c], edx
mov ebx, edx
and ebx, 0xf
lea ebx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x40], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x10], ebx
lea ebx, [edx - 3]
and ebx, 0xf
add edx, 0xffffffff
and edx, 0xf
lea ebx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x48], ebx
mov ebx, dword [ebx]
lea edx, [esp + edx*4 + 0x50]
mov ebp, ebx
mov dword [esp + 0x3c], edx
mov edx, ebx
shr ebx, 0xa
rol ebp, 0xf
rol edx, 0xd
xor ebp, edx
xor ebp, ebx
mov edx, dword [esp + 0x10]
mov ebx, edx
rol ebx, 0x19
rol edx, 0xe
xor ebx, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebx, edx
mov edx, dword [esp + 0x2c]
add ebp, ebx
add edx, 0xfffffff8
and edx, 0xf
add ebp, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x3c]
add dword [edx], ebp
mov edx, dword [esp + 0x28]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov dword [esp + 0x44], ebx
mov ebx, edx
not ebx
and ebx, esi
mov ebp, ecx
and ebp, edx
mov edx, dword [esp + 0x44]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, dword [ebx - 4]
mov ebx, dword [esp + 0x3c]
add edx, dword [ebx]
mov ebx, edi
add edx, dword [esp + 0x18]
add dword [esp + 0x24], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
xor ebx, edx
mov dword [esp + 0x38], ebx
mov ebx, edi
and ebx, edx
mov dword [esp + 0x34], ebx
mov ebx, edx
mov ebp, edx
rol ebx, 0x1e
rol ebp, 0x13
xor ebx, ebp
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x38]
and edx, dword [esp + 0x14]
add ebx, dword [esp + 0x10]
xor edx, dword [esp + 0x34]
add edx, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
lea edx, [ebx + 1]
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x44], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
lea edx, [ebx - 2]
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x4c], edx
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x2c]
add ebx, ebp
add edx, 0xfffffff9
and edx, 0xf
add ebx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x40]
add dword [edx], ebx
mov edx, dword [esp + 0x24]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x28]
and ebp, edx
mov dword [esp + 0x20], ebx
mov ebx, edx
mov edx, dword [esp + 0x20]
not ebx
and ebx, ecx
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, dword [ebx]
mov ebx, dword [esp + 0x40]
add edx, dword [ebx]
mov ebx, dword [esp + 0x18]
add edx, esi
add dword [esp + 0x14], edx
mov ebp, ebx
rol ebp, 0x1e
mov esi, ebx
rol esi, 0x13
xor ebp, esi
mov esi, ebx
rol esi, 0xa
xor ebp, esi
mov esi, dword [esp + 0x38]
add ebp, edx
mov edx, dword [esp + 0x2c]
and esi, ebx
xor esi, dword [esp + 0x34]
add edx, 2
add esi, ebp
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x38], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x2c]
add ebx, ebp
add edx, 0xfffffffa
and edx, 0xf
add ebx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x44]
add dword [edx], ebx
mov edx, dword [esp + 0x14]
mov ebx, edx
rol ebx, 0x1a
mov ebp, edx
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x24]
and ebp, edx
mov dword [esp + 0x34], ebx
mov ebx, edx
mov edx, dword [esp + 0x34]
not ebx
and ebx, dword [esp + 0x28]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, dword [ebx + 4]
mov ebx, dword [esp + 0x44]
add edx, dword [ebx]
mov ebx, esi
add edx, ecx
add edi, edx
mov dword [esp + 0x10], edx
mov edx, esi
rol edx, 0x1e
mov ecx, esi
rol ecx, 0x13
xor edx, ecx
mov ecx, esi
rol ecx, 0xa
xor edx, ecx
add edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
xor ebx, ecx
and ebx, dword [esp + 0x18]
mov ebp, esi
and ebp, ecx
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x2c]
add edx, 3
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x34], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ecx, ebx
mov ebx, edx
rol ebx, 0xf
mov ebp, edx
rol ebp, 0xd
mov dword [esp + 0x20], edi
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x2c]
add edx, 0xfffffffb
add ebx, ebp
and edx, 0xf
add ebx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x38]
add dword [edx], ebx
mov edx, dword [edx]
mov dword [esp + 0x40], edx
mov ebp, dword [esp + 0x14]
mov edx, edi
rol edx, 0x1a
mov ebx, edi
rol ebx, 0x15
xor edx, ebx
and ebp, edi
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, edi
not ebx
and ebx, dword [esp + 0x24]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, dword [ebx + 8]
mov ebx, ecx
add edx, dword [esp + 0x40]
mov ebp, esi
add edx, dword [esp + 0x28]
and ebp, ecx
add dword [esp + 0x1c], edx
mov dword [esp + 0x10], edx
mov edx, ecx
rol edx, 0x1e
rol ebx, 0x13
xor edx, ebx
mov ebx, ecx
rol ebx, 0xa
xor edx, ebx
add edx, dword [esp + 0x10]
mov ebx, esi
xor ebx, ecx
and ebx, dword [esp + 0x18]
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x2c]
add edx, 4
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x40], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x44]
mov edx, dword [edx]
mov dword [esp + 0x28], ebx
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
shr edx, 0xa
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
add ebx, ebp
mov edx, dword [esp + 0x2c]
add edx, 0xfffffffc
and edx, 0xf
add ebx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x34]
add dword [edx], ebx
mov edx, dword [edx]
mov ebx, dword [esp + 0x1c]
and edi, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
mov edx, ebx
rol edx, 0x1a
mov ebp, ebx
rol ebp, 0x15
xor edx, ebp
mov ebp, ebx
not ebx
and ebx, dword [esp + 0x14]
rol ebp, 7
xor edx, ebp
xor ebx, edi
add edx, ebx
mov edi, dword [esp + 0x30]
add edx, dword [edi + 0xc]
mov edi, dword [esp + 0x28]
add edx, dword [esp + 0x44]
mov ebx, edi
add edx, dword [esp + 0x24]
mov ebp, ecx
add dword [esp + 0x18], edx
mov dword [esp + 0x10], edx
mov edx, edi
rol edx, 0x1e
rol ebx, 0x13
xor edx, ebx
mov ebx, edi
rol ebx, 0xa
xor edx, ebx
add edx, dword [esp + 0x10]
and ebp, edi
mov ebx, ecx
xor ebx, edi
and ebx, esi
xor ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x2c]
add edx, 5
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x44], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x38]
mov edx, dword [edx]
mov ebp, edx
mov dword [esp + 0x24], ebx
mov ebx, edx
rol ebx, 0xf
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x48]
add ebx, ebp
add ebx, dword [edx]
mov edx, dword [esp + 0x40]
add dword [edx], ebx
mov edx, dword [edx]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov edx, ebx
rol edx, 0x1a
mov ebp, ebx
rol ebp, 0x15
xor edx, ebp
mov ebp, ebx
rol ebp, 7
xor edx, ebp
mov ebp, ebx
and ebx, dword [esp + 0x1c]
not ebp
and ebp, dword [esp + 0x20]
xor ebp, ebx
add edx, ebp
mov ebx, dword [esp + 0x30]
add edx, dword [ebx + 0x10]
mov ebx, dword [esp + 0x24]
add edx, dword [esp + 0x48]
mov ebp, ebx
add edx, dword [esp + 0x14]
add esi, edx
mov dword [esp + 0x10], edx
mov edx, ebx
rol edx, 0x1e
rol ebp, 0x13
xor edx, ebp
mov ebp, ebx
rol ebp, 0xa
xor edx, ebp
add edx, dword [esp + 0x10]
mov ebp, edi
and edi, ebx
xor ebp, ebx
and ebp, ecx
xor ebp, edi
add ebp, edx
mov edx, dword [esp + 0x2c]
add edx, 6
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x48], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
mov edi, edx
rol edi, 0xf
mov dword [esp + 0x14], ebp
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor edi, ebp
xor edi, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x4c]
add edi, ebp
add edi, dword [edx]
mov edx, dword [esp + 0x44]
add dword [edx], edi
mov edx, dword [edx]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x4c], edx
mov edx, esi
rol edx, 0x1a
mov edi, esi
rol edi, 0x15
xor edx, edi
mov edi, esi
rol edi, 7
xor edx, edi
mov edi, esi
not edi
and edi, dword [esp + 0x1c]
and ebp, esi
xor edi, ebp
add edx, edi
mov edi, dword [esp + 0x30]
add edx, dword [edi + 0x14]
add edx, dword [esp + 0x4c]
add edx, dword [esp + 0x20]
add ecx, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov edi, edx
mov ebp, edx
rol edi, 0x1e
rol ebp, 0x13
xor edi, ebp
mov ebp, edx
rol ebp, 0xa
xor edi, ebp
add edi, dword [esp + 0x10]
mov ebp, ebx
and ebx, edx
xor ebp, edx
and ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
add edx, 7
and edx, 0xf
mov edx, dword [esp + edx*4 + 0x50]
xor ebp, ebx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ebx, edx
add edi, ebp
rol ebx, 0xf
mov ebp, edx
shr edx, 0xa
rol ebp, 0xd
xor ebx, ebp
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x3c]
add ebx, ebp
add ebx, dword [edx]
mov edx, dword [esp + 0x48]
add dword [edx], ebx
mov edx, dword [edx]
mov dword [esp + 0x4c], edx
mov edx, ecx
rol edx, 0x1a
mov ebx, ecx
rol ebx, 0x15
xor edx, ebx
mov ebx, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
not ebx
and ebx, dword [esp + 0x18]
mov ebp, esi
and ebp, ecx
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, dword [ebx + 0x18]
mov ebx, edi
add edx, dword [esp + 0x4c]
add edx, dword [esp + 0x1c]
add dword [esp + 0x28], edx
mov dword [esp + 0x10], edx
rol ebx, 0x1e
mov edx, edi
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x14]
add ebx, dword [esp + 0x10]
add dword [esp + 0x30], 0x20
mov ebp, edx
xor ebp, edi
and ebp, dword [esp + 0x24]
and edx, edi
xor ebp, edx
mov edx, dword [esp + 0x2c]
add edx, 8
add ebx, ebp
lea ebp, [edx - 1]
cmp ebp, 0x40
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], edx
jl 0x4f64c0
mov edx, dword [esp + 0x94]
mov ebp, dword [edx]
add ebp, ebx
mov ebx, dword [edx + 4]
add ebx, edi
mov edi, dword [edx + 8]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x14]
add edi, ebx
mov ebx, dword [esp + 0x24]
mov dword [edx + 8], edi
mov edi, dword [edx + 0xc]
add edi, ebx
mov ebx, dword [esp + 0x28]
mov dword [edx + 0xc], edi
mov edi, dword [edx + 0x10]
add edi, ebx
mov dword [edx + 0x10], edi
mov edi, dword [edx + 0x14]
add edi, ecx
mov ecx, dword [edx + 0x18]
add ecx, esi
mov esi, dword [esp + 0x18]
mov dword [edx + 0x18], ecx
mov ecx, dword [edx + 0x1c]
add ecx, esi
cmp dword [esp + 0x9c], 0
mov dword [edx], ebp
mov dword [edx + 0x14], edi
mov dword [edx + 0x1c], ecx
jne 0x4f5ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x80
ret