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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xb0
test ecx, ecx
lea edi, [ecx - 1]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edi
je 0x46e563
mov edi, dword [eax]
mov dword [esp + 0x48], edi
mov edi, dword [eax + 4]
mov dword [esp + 0x4c], edi
mov edi, dword [eax + 8]
mov dword [esp + 0x54], edi
mov edi, dword [eax + 0xc]
mov dword [esp + 0x60], edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x50], edi
mov edi, dword [eax + 0x14]
mov dword [esp + 0x58], edi
mov edi, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x64], eax
lea eax, [edx + 0x40]
mov dword [esp + 0x3c], eax
nop
lea esi, [esi]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x3c]
mov edx, ebp
mov ebx, ebp
not edx
and esi, ebp
and edx, dword [esp + 0x5c]
mov ecx, ebp
mov eax, dword [edi - 0x40]
bswap eax
xor edx, esi
mov esi, dword [esp + 0x64]
mov dword [esp + 0x24], eax
rol ebx, 0x1a
mov dword [esp + 0x70], eax
mov eax, ebp
lea edx, [esi + edx + 0x428a2f98]
mov esi, dword [esp + 0x48]
add edx, dword [esp + 0x24]
rol eax, 0x15
xor eax, ebx
rol ecx, 7
xor eax, ecx
mov ebx, esi
add eax, edx
mov edx, esi
rol ebx, 0x1e
rol edx, 0x13
xor edx, ebx
mov ecx, esi
mov ebx, dword [esp + 0x4c]
rol ecx, 0xa
xor edx, ecx
mov ecx, dword [esp + 0x54]
xor ecx, ebx
and ecx, esi
mov esi, dword [esp + 0x54]
and esi, ebx
xor ecx, esi
add ecx, edx
mov edx, dword [esp + 0x60]
lea ebx, [eax + edx]
add eax, ecx
mov ecx, dword [edi - 0x3c]
mov edx, ebx
mov esi, eax
bswap ecx
mov dword [esp], edx
mov edi, ecx
mov eax, edx
mov dword [esp + 0x74], ecx
mov ecx, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x2c], edi
rol ebx, 0x1a
rol eax, 0x15
lea edi, [edx + edi + 0x71374491]
mov edx, dword [esp]
xor eax, ebx
rol ecx, 7
xor eax, ecx
mov ebx, ebp
add edi, eax
mov ecx, edx
and ebx, edx
not ecx
mov edx, esi
and ecx, dword [esp + 0x58]
mov eax, edx
mov dword [esp + 0x10], edx
xor ecx, ebx
mov ebx, edx
add edi, ecx
mov ecx, dword [esp + 0x48]
rol esi, 0x1e
rol eax, 0x13
xor eax, esi
and ecx, edx
mov ebp, ecx
mov ecx, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], ebp
rol ebx, 0xa
xor eax, ebx
mov ebx, dword [esp + 0x54]
and ecx, edx
xor ecx, ebp
mov ebp, dword [esp + 0x48]
and ebp, edx
xor ecx, ebp
add ecx, eax
lea esi, [ecx + edi]
lea eax, [edi + ebx]
mov edi, dword [esp + 0x3c]
mov edx, eax
mov ebp, eax
not edx
mov ecx, eax
rol ebp, 0x1a
mov ebx, dword [edi - 0x38]
mov edi, dword [esp + 0x58]
bswap ebx
mov dword [esp + 0x78], ebx
rol ecx, 0x15
lea edi, [edi + ebx - 0x4a3f0431]
mov ebx, dword [esp + 0x50]
xor ecx, ebp
mov dword [esp + 4], esi
mov esi, eax
rol esi, 7
xor ecx, esi
and ebx, edx
mov edx, dword [esp]
add edi, ecx
and edx, eax
xor ebx, edx
mov edx, dword [esp + 4]
add edi, ebx
mov ebx, dword [esp + 0x10]
mov ebp, edx
mov ecx, edx
and ebx, edx
mov esi, edx
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x48]
rol ebp, 0x1e
rol ecx, 0x13
xor ecx, ebp
mov ebp, dword [esp + 0x50]
rol esi, 0xa
xor ecx, esi
mov esi, dword [esp + 0x4c]
and ebx, edx
xor ebx, dword [esp + 0xc]
xor ebx, dword [esp + 8]
add esi, edi
add ecx, ebx
mov edx, esi
lea esi, [ecx + edi]
mov edi, dword [esp + 0x3c]
mov ecx, edx
mov dword [esp + 8], esi
mov esi, edx
mov dword [esp + 0x14], edx
mov ebx, dword [edi - 0x34]
mov edi, edx
bswap ebx
rol edi, 0x1a
rol ecx, 0x15
mov dword [esp + 0x7c], ebx
xor ecx, edi
lea ebp, [ebp + ebx - 0x164a245b]
mov ebx, dword [esp]
rol esi, 7
xor ecx, esi
add ebp, ecx
mov ecx, edx
not ecx
and ebx, ecx
mov ecx, edx
mov edx, dword [esp + 8]
and ecx, eax
xor ebx, ecx
add ebp, ebx
mov ebx, dword [esp + 4]
mov edi, edx
mov ecx, edx
rol edi, 0x1e
rol ecx, 0x13
and ebx, edx
xor ecx, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x10]
mov esi, edx
rol esi, 0xa
xor ecx, esi
mov esi, dword [esp + 0x48]
and ebx, edx
xor ebx, dword [esp + 0x1c]
xor ebx, dword [esp + 0xc]
add esi, ebp
mov edx, esi
mov dword [esp + 0xc], edx
add ecx, ebx
mov ebx, dword [edi - 0x30]
mov edi, edx
lea esi, [ecx + ebp]
mov ecx, edx
rol edi, 0x1a
rol ecx, 0x15
xor ecx, edi
mov ebp, esi
mov esi, edx
mov edx, dword [esp]
mov edi, ebp
rol esi, 7
xor ecx, esi
mov esi, dword [esp + 0xc]
bswap ebx
lea ecx, [ebx + ecx + 0x3956c25b]
add edx, ecx
mov ecx, esi
and esi, dword [esp + 0x14]
not ecx
and ecx, eax
mov dword [esp + 0x80], ebx
mov ebx, ebp
xor ecx, esi
mov esi, ebp
add edx, ecx
mov ecx, ebp
rol edi, 0x1e
mov dword [esp + 0x18], ebx
and ebp, dword [esp + 8]
and ebx, dword [esp + 4]
rol ecx, 0x13
xor ecx, edi
xor ebx, ebp
xor ebx, dword [esp + 0x1c]
rol esi, 0xa
xor ecx, esi
add ecx, ebx
mov ebx, dword [esp + 0x10]
lea edi, [edx + ebx]
mov esi, edi
mov edi, dword [esp + 0x3c]
lea ebx, [ecx + edx]
mov dword [esp], ebx
mov ecx, dword [edi - 0x2c]
mov edi, esi
mov edx, edi
mov ebx, edi
rol esi, 0x1a
rol edx, 0x15
xor edx, esi
rol ebx, 7
xor edx, ebx
bswap ecx
mov dword [esp + 0x84], ecx
lea edx, [ecx + edx + 0x59f111f1]
mov ecx, dword [esp + 0xc]
add eax, edx
mov edx, edi
not edx
and edx, dword [esp + 0x14]
and ecx, edi
mov dword [esp + 0x1c], edi
xor edx, ecx
mov ecx, dword [esp]
add eax, edx
mov esi, ecx
mov edx, ecx
mov ebx, ecx
and ecx, dword [esp + 0x18]
rol esi, 0x1e
rol edx, 0x13
mov edi, ecx
mov ecx, dword [esp]
xor edx, esi
and ecx, dword [esp + 8]
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp + 4]
xor ecx, edi
xor ecx, ebp
add edx, ecx
lea ebp, [eax + ebx]
mov esi, ebp
lea ebp, [edx + eax]
mov eax, dword [esp + 0x3c]
mov ebx, esi
rol ebx, 0x1a
mov ecx, esi
mov dword [esp + 0x10], esi
mov edx, dword [eax - 0x28]
mov eax, esi
bswap edx
rol eax, 0x15
xor eax, ebx
mov ebx, ebp
rol ecx, 7
xor eax, ecx
mov ecx, ebp
lea esi, [edx + eax - 0x6dc07d5c]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x10]
add esi, dword [esp + 0x14]
rol ebx, 0x1e
rol ecx, 0xa
mov eax, edx
not eax
and edx, dword [esp + 0x1c]
and eax, dword [esp + 0xc]
xor eax, edx
mov edx, dword [esp]
add esi, eax
mov eax, ebp
rol eax, 0x13
xor eax, ebx
mov ebx, dword [esp + 8]
and edx, ebp
xor eax, ecx
mov dword [esp + 4], edx
mov edx, dword [esp + 0x18]
add ebx, esi
and edx, ebp
xor edx, dword [esp + 4]
xor edx, edi
add eax, edx
lea edi, [eax + esi]
mov eax, dword [esp + 0x3c]
mov esi, edi
mov edi, ebx
rol ebx, 0x1a
mov ecx, edi
mov edx, dword [eax - 0x24]
mov eax, edi
rol eax, 0x15
xor eax, ebx
rol ecx, 7
xor eax, ecx
mov ecx, edi
bswap edx
lea ebx, [edx + eax - 0x54e3a12b]
mov eax, dword [esp + 0x1c]
not edi
add ebx, dword [esp + 0xc]
mov dword [esp + 0x8c], edx
mov edx, esi
mov dword [esp + 0xc], ecx
and eax, edi
mov edi, dword [esp + 0x10]
rol esi, 0x1e
mov dword [esp + 0x14], edx
and edi, ecx
mov ecx, edx
xor eax, edi
mov edi, edx
add ebx, eax
mov eax, edx
rol eax, 0x13
rol ecx, 0xa
and edi, ebp
xor eax, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 8], edi
mov edi, dword [esp]
xor eax, ecx
and edi, edx
mov edx, dword [esp + 8]
xor edx, edi
xor edx, dword [esp + 4]
lea edi, [ebx + esi]
mov ecx, edi
add eax, edx
add ebx, eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x3c]
mov ebx, edi
rol ebx, 0x1a
rol ecx, 7
mov edx, dword [eax - 0x20]
mov eax, edi
rol eax, 0x15
xor eax, ebx
mov ebx, edi
xor eax, ecx
mov ecx, dword [esp + 0xc]
not ebx
bswap edx
lea esi, [edx + eax - 0x27f85568]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 4]
add esi, dword [esp + 0x1c]
and ecx, edi
and eax, ebx
xor eax, ecx
mov ebx, edx
add esi, eax
mov ecx, edx
mov eax, edx
and edx, dword [esp + 0x14]
rol ebx, 0x1e
rol eax, 0x13
mov dword [esp + 0x18], edx
mov edx, dword [esp + 4]
xor eax, ebx
rol ecx, 0xa
xor eax, ecx
and edx, ebp
xor edx, dword [esp + 0x18]
xor edx, dword [esp + 8]
add eax, edx
mov edx, dword [esp]
lea ebx, [esi + edx]
mov ecx, ebx
lea ebx, [eax + esi]
mov eax, dword [esp + 0x3c]
mov esi, dword [eax - 0x1c]
bswap esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x94], esi
mov esi, ecx
mov eax, esi
mov edx, esi
rol ecx, 0x1a
rol eax, 0x15
rol edx, 7
xor eax, ecx
mov ecx, dword [esp + 0x28]
xor eax, edx
mov edx, esi
not esi
lea ecx, [ecx + eax + 0x12835b01]
mov eax, dword [esp + 0xc]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x10], edx
and eax, esi
mov esi, edx
mov edx, ebx
and esi, edi
mov dword [esp + 8], edx
xor eax, esi
mov esi, ebx
and edx, dword [esp + 4]
add ecx, eax
rol esi, 0x1e
mov eax, ebx
mov dword [esp], edx
mov edx, dword [esp + 8]
and edx, dword [esp + 0x14]
xor edx, dword [esp]
xor edx, dword [esp + 0x18]
rol eax, 0x13
xor eax, esi
rol ebx, 0xa
xor eax, ebx
add eax, edx
lea ebx, [ecx + ebp]
lea ebp, [eax + ecx]
mov eax, dword [esp + 0x3c]
mov esi, ebx
rol ebx, 0x1a
mov ecx, esi
rol ecx, 7
mov edx, dword [eax - 0x18]
mov eax, esi
rol eax, 0x15
xor eax, ebx
mov ebx, esi
xor eax, ecx
mov ecx, dword [esp + 0x10]
not ebx
bswap edx
mov dword [esp + 0x98], edx
lea eax, [edx + eax + 0x243185be]
mov edx, ebx
and edx, edi
mov ebx, ebp
and ecx, esi
xor edx, ecx
mov ecx, dword [esp + 8]
add eax, dword [esp + 0xc]
mov dword [esp + 0xc], esi
mov esi, ebp
rol ebx, 0xa
and ecx, ebp
add eax, edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 4]
mov edx, ebp
rol esi, 0x1e
rol edx, 0x13
and ecx, ebp
xor edx, esi
mov esi, dword [esp + 0x14]
xor ecx, dword [esp + 0x18]
xor edx, ebx
xor ecx, dword [esp]
add esi, eax
add edx, ecx
mov ecx, esi
lea ebx, [edx + eax]
mov eax, dword [esp + 0x3c]
mov esi, ebx
mov ebx, ecx
rol ebx, 0x1a
mov dword [esp], ecx
mov edx, dword [eax - 0x14]
mov eax, ecx
rol eax, 0x15
xor eax, ebx
rol ecx, 7
xor eax, ecx
mov ecx, esi
bswap edx
lea eax, [edx + eax + 0x550c7dc3]
mov dword [esp + 0x9c], edx
mov edx, dword [esp]
add edi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
rol esi, 0x1e
mov ebx, edx
and edx, dword [esp + 0xc]
not ebx
and eax, ebx
mov ebx, ecx
rol ebx, 0xa
xor eax, edx
mov edx, ecx
add edi, eax
mov eax, ecx
and ecx, dword [esp + 8]
and edx, ebp
rol eax, 0x13
xor eax, esi
xor ecx, edx
xor eax, ebx
mov ebx, dword [esp + 4]
xor ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
add eax, ecx
lea esi, [edi + ebx]
add edi, eax
mov eax, dword [esp + 0x3c]
mov edx, esi
mov ebx, edx
rol esi, 0x1a
rol ebx, 7
mov ecx, dword [eax - 0x10]
mov eax, edx
bswap ecx
rol eax, 0x15
xor eax, esi
xor eax, ebx
mov ebx, edx
lea esi, [ecx + eax + 0x72be5d74]
mov eax, dword [esp + 0xc]
not ebx
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x14]
add esi, dword [esp + 0x10]
mov dword [esp + 4], edx
and eax, ebx
mov ebx, dword [esp]
and ecx, edi
mov dword [esp + 0x10], ecx
mov ecx, edi
and ecx, ebp
and ebx, edx
mov edx, edi
xor eax, ebx
mov ebx, edi
xor ecx, dword [esp + 0x10]
add esi, eax
xor ecx, dword [esp + 0x1c]
mov eax, edi
rol edx, 0x1e
rol eax, 0x13
xor eax, edx
rol ebx, 0xa
xor eax, ebx
add eax, ecx
mov ecx, dword [esp + 8]
lea ebx, [esi + ecx]
mov ecx, ebx
lea ebx, [eax + esi]
mov eax, dword [esp + 0x3c]
mov esi, ebx
mov ebx, ecx
rol ebx, 0x1a
mov dword [esp + 0x18], ecx
mov edx, dword [eax - 0xc]
mov eax, ecx
rol eax, 0x15
xor eax, ebx
rol ecx, 7
xor eax, ecx
bswap edx
lea ebx, [edx + eax - 0x7f214e02]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xa4], edx
add ebx, dword [esp + 0xc]
mov edx, eax
not edx
and eax, dword [esp + 4]
and edx, dword [esp]
xor edx, eax
add ebx, edx
mov edx, esi
mov dword [esp + 8], edx
mov eax, edx
mov ecx, edx
and edx, edi
mov dword [esp + 0xc], edx
mov edx, dword [esp + 8]
rol esi, 0x1e
rol ecx, 0xa
rol eax, 0x13
and edx, dword [esp + 0x14]
xor edx, dword [esp + 0xc]
xor eax, esi
xor edx, dword [esp + 0x10]
xor eax, ecx
lea esi, [ebx + ebp]
mov ecx, esi
add eax, edx
lea esi, [eax + ebx]
mov eax, dword [esp + 0x3c]
mov ebx, ecx
mov edx, ebx
mov ebp, dword [eax - 8]
mov eax, ebx
bswap ebp
rol ecx, 0x1a
rol eax, 0x15
xor eax, ecx
mov ecx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 4]
not ebx
lea eax, [ebp + eax - 0x6423f959]
add eax, dword [esp]
mov dword [esp + 0x1c], ecx
and edx, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa8], ebp
and ebx, ecx
mov ecx, esi
xor edx, ebx
mov ebx, ecx
add eax, edx
mov edx, ecx
mov dword [esp + 0x10], ecx
and ecx, dword [esp + 8]
rol esi, 0x1e
rol edx, 0x13
mov dword [esp], ecx
mov ecx, dword [esp + 0x10]
xor edx, esi
rol ebx, 0xa
xor edx, ebx
and ecx, edi
xor ecx, dword [esp]
xor ecx, dword [esp + 0xc]
add edx, ecx
mov ecx, dword [esp + 0x14]
add edx, eax
mov dword [esp + 0xc], edx
lea esi, [eax + ecx]
mov eax, dword [esp + 0x3c]
mov ebx, esi
mov ecx, esi
rol ebx, 0x1a
rol ecx, 7
mov edx, dword [eax - 4]
mov eax, esi
rol eax, 0x15
xor eax, ebx
xor eax, ecx
bswap edx
lea ebx, [edx + eax - 0x3e640e8c]
mov eax, esi
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0x1c]
not eax
add ebx, dword [esp + 4]
and eax, dword [esp + 0x18]
mov dword [esp + 0x20], esi
and edx, esi
mov esi, dword [esp + 8]
xor eax, edx
mov edx, dword [esp + 0xc]
xor esi, dword [esp + 0x10]
add ebx, eax
and esi, dword [esp + 0xc]
xor esi, dword [esp]
mov ecx, edx
mov eax, edx
rol ecx, 0x1e
rol eax, 0x13
xor eax, ecx
rol edx, 0xa
xor eax, edx
add eax, esi
lea esi, [ebx + edi]
add ebx, eax
mov dword [esp + 0x14], esi
mov eax, 0x11
mov dword [esp + 4], ebx
mov edi, dword [esp + 0x28]
mov ebx, ebp
mov dword [esp], 0x10
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x40], 0x1d
mov dword [esp + 0x44], 0x1e
mov dword [esp + 0x2c], edi
jmp 0x46de09
lea eax, [esi + 1]
mov edi, dword [esp + edi*4 + 0x70]
mov edx, eax
lea ebx, [esi + 0xe]
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x70]
mov edx, ebx
and edx, 0xf
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + edx*4 + 0x70]
lea edx, [esi + 9]
and edx, 0xf
mov dword [esp + 0x24], edi
mov edi, dword [esp + edx*4 + 0x70]
mov dword [esp + 0x2c], edi
mov edi, dword [esp]
and eax, 0xf
mov ecx, ebp
mov dword [esp + 0x30], eax
mov esi, ebx
mov eax, ebp
rol ecx, 0x19
rol esi, 0xf
rol eax, 0xe
and edi, 0xf
xor eax, ecx
shr ebp, 3
mov edx, ebx
shr ebx, 0xa
xor eax, ebp
mov ebp, dword [esp]
rol edx, 0xd
xor edx, esi
xor edx, ebx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x2c]
add eax, edx
add eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
add edi, eax
mov eax, dword [esp + 0x28]
mov ecx, edx
mov ebx, edx
rol ecx, 0x15
mov dword [esp + eax*4 + 0x70], edi
mov eax, edx
not ebx
rol eax, 0x1a
xor ecx, eax
mov eax, dword [esp + 0x20]
mov esi, edx
and ebx, dword [esp + 0x1c]
rol esi, 7
xor ecx, esi
mov esi, dword [esp + 4]
add ecx, dword [ebp*4 + 0x4e1ae0]
and eax, edx
mov edx, dword [esp + 0x10]
xor ebx, eax
xor edx, dword [esp + 0xc]
add ecx, ebx
mov eax, esi
add edi, ecx
mov ebx, esi
mov ecx, esi
and edx, esi
mov esi, dword [esp + 0x10]
and esi, dword [esp + 0xc]
add edi, dword [esp + 0x18]
rol ebx, 0x1e
rol ecx, 0xa
rol eax, 0x13
xor edx, esi
xor eax, ebx
mov ebx, dword [esp + 8]
xor eax, ecx
add eax, edx
lea ecx, [eax + edi]
mov dword [esp + 0x18], ecx
lea ecx, [ebp + 2]
add ebx, edi
mov dword [esp + 0x24], ecx
and dword [esp + 0x24], 0xf
mov ecx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov ebx, ebp
lea edi, [ebx + 0xf]
add ebx, 0xa
mov dword [esp + 0x2c], edi
and ebx, 0xf
mov ebp, dword [esp + ecx*4 + 0x70]
and dword [esp + 0x2c], 0xf
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + ebx*4 + 0x70]
mov esi, ebp
mov edx, ebp
shr ebp, 3
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + edi*4 + 0x70]
rol esi, 0x19
rol edx, 0xe
add ebx, dword [esp + ebp*4 + 0x70]
xor edx, esi
xor edx, dword [esp + 0x34]
mov ecx, edi
mov eax, edi
rol ecx, 0xf
rol eax, 0xd
shr edi, 0xa
xor eax, ecx
xor eax, edi
add edx, ebx
add edx, eax
mov dword [esp + ebp*4 + 0x70], edx
mov ebp, dword [esp + 8]
mov ebx, dword [esp]
mov eax, ebp
mov ecx, ebp
rol eax, 0x1a
rol ecx, 0x15
xor ecx, eax
mov eax, dword [esp + 0x1c]
mov esi, ebp
rol esi, 7
xor ecx, esi
mov esi, dword [esp + 0x20]
add ecx, dword [ebx*4 + 0x4e1ae4]
add eax, ecx
mov ecx, ebp
and ebp, dword [esp + 0x14]
not ecx
and esi, ecx
add eax, edx
mov edx, dword [esp + 4]
xor esi, ebp
add eax, esi
mov esi, dword [esp + 0x18]
and edx, esi
mov ebp, esi
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0xc]
mov ecx, esi
mov edi, esi
rol ebp, 0x1e
rol ecx, 0x13
and esi, edx
xor ecx, ebp
and edx, dword [esp + 4]
xor esi, dword [esp + 0x34]
rol edi, 0xa
xor ecx, edi
xor esi, edx
add ecx, esi
mov esi, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
add esi, eax
lea eax, [ebx + 3]
mov dword [esp + 0x30], eax
and dword [esp + 0x30], 0xf
mov edi, dword [esp + 0x30]
mov dword [esp + 0x1c], esi
mov edx, dword [esp + edi*4 + 0x70]
mov edi, dword [esp + 0x28]
mov ecx, edx
mov eax, edx
mov ebp, dword [esp + edi*4 + 0x70]
lea edi, [ebx + 0xb]
mov ebx, dword [esp + 0x24]
and edi, 0xf
shr edx, 3
mov dword [esp + 0x38], edx
mov esi, ebp
mov edx, ebp
mov ebx, dword [esp + ebx*4 + 0x70]
shr ebp, 0xa
add ebx, dword [esp + edi*4 + 0x70]
rol esi, 0xf
rol edx, 0xd
xor edx, esi
rol ecx, 0x19
rol eax, 0xe
xor edx, ebp
xor eax, ecx
mov ebp, dword [esp + 0x1c]
xor eax, dword [esp + 0x38]
add edx, ebx
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp]
add edx, eax
mov eax, ebp
rol eax, 0x1a
mov dword [esp + ecx*4 + 0x70], edx
mov ecx, ebp
mov esi, ebp
rol ecx, 0x15
xor ecx, eax
mov eax, dword [esp + 0x20]
rol esi, 7
xor ecx, esi
mov esi, ebp
add ecx, dword [ebx*4 + 0x4e1ae8]
not esi
and esi, dword [esp + 0x14]
add eax, ecx
mov ecx, dword [esp + 8]
add eax, edx
and ecx, ebp
xor esi, ecx
add eax, esi
mov esi, dword [esp + 0x10]
mov ebp, esi
mov ecx, esi
mov edi, esi
and esi, dword [esp + 0x18]
rol ebp, 0x1e
rol ecx, 0x13
mov edx, esi
mov esi, dword [esp + 0x10]
xor ecx, ebp
and esi, dword [esp + 4]
mov dword [esp + 0x38], edx
rol edi, 0xa
xor esi, edx
mov edx, dword [esp + 0xc]
xor ecx, edi
xor esi, dword [esp + 0x34]
add ecx, esi
add edx, eax
add eax, ecx
mov dword [esp + 0x20], eax
lea ecx, [ebx + 4]
lea eax, [ebx + 0x11]
add ebx, 0xc
mov dword [esp + 0x24], ecx
and eax, 0xf
and ebx, 0xf
and dword [esp + 0x24], 0xf
mov edi, dword [esp + eax*4 + 0x70]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + ebx*4 + 0x70]
mov dword [esp + 0xc], edx
mov eax, edi
mov ebp, dword [esp + ecx*4 + 0x70]
mov ecx, edi
shr edi, 0xa
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x30]
rol ecx, 0xf
mov esi, ebp
mov edx, ebp
rol esi, 0x19
add ebx, dword [esp + edi*4 + 0x70]
rol edx, 0xe
shr ebp, 3
xor edx, esi
xor edx, ebp
mov ebp, dword [esp + 0xc]
rol eax, 0xd
add edx, ebx
mov ebx, dword [esp]
xor eax, ecx
xor eax, dword [esp + 0x34]
mov ecx, ebp
mov esi, ebp
rol ecx, 0x15
add edx, eax
mov eax, ebp
rol eax, 0x1a
xor ecx, eax
mov eax, dword [esp + 0x14]
rol esi, 7
xor ecx, esi
mov esi, ebp
add ecx, dword [ebx*4 + 0x4e1aec]
not esi
mov dword [esp + edi*4 + 0x70], edx
and esi, dword [esp + 8]
add eax, ecx
add eax, edx
mov edx, dword [esp + 0x1c]
and edx, ebp
xor esi, edx
mov edx, dword [esp + 0x10]
add eax, esi
mov esi, dword [esp + 0x20]
and edx, esi
mov ebp, esi
mov ecx, esi
mov edi, esi
and esi, dword [esp + 0x18]
rol ebp, 0x1e
rol ecx, 0x13
xor esi, edx
xor ecx, ebp
xor esi, dword [esp + 0x38]
rol edi, 0xa
xor ecx, edi
add ecx, esi
mov esi, dword [esp + 4]
add ecx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
add esi, eax
lea eax, [ebx + 5]
mov dword [esp + 0x30], eax
and dword [esp + 0x30], 0xf
mov eax, dword [esp + 0x30]
mov dword [esp + 4], esi
mov ebp, dword [esp + eax*4 + 0x70]
lea eax, [ebx + 0x12]
and eax, 0xf
mov edi, dword [esp + eax*4 + 0x70]
mov esi, ebp
mov edx, ebp
rol esi, 0x19
rol edx, 0xe
shr ebp, 3
mov eax, edi
rol eax, 0xf
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x40]
xor edx, esi
mov eax, edi
xor edx, ebp
mov ebp, dword [esp + 4]
rol eax, 0xd
xor eax, dword [esp + 0x38]
and ecx, 0xf
mov ebx, dword [esp + ecx*4 + 0x70]
shr edi, 0xa
mov esi, ebp
mov ecx, dword [esp + 0x24]
xor eax, edi
rol esi, 7
add ebx, dword [esp + ecx*4 + 0x70]
add edx, ebx
mov ebx, dword [esp]
add edx, eax
mov eax, ebp
mov dword [esp + ecx*4 + 0x70], edx
mov ecx, ebp
rol eax, 0x1a
rol ecx, 0x15
xor ecx, eax
mov eax, dword [esp + 8]
xor ecx, esi
mov esi, ebp
add ecx, dword [ebx*4 + 0x4e1af0]
not esi
and esi, dword [esp + 0x1c]
add eax, ecx
add eax, edx
mov edx, dword [esp + 0xc]
and edx, ebp
xor esi, edx
mov edx, dword [esp + 0x20]
add eax, esi
mov esi, dword [esp + 0x14]
and edx, esi
mov ebp, esi
mov ecx, esi
mov edi, esi
and esi, dword [esp + 0x10]
rol ebp, 0x1e
rol ecx, 0x13
xor esi, edx
xor ecx, ebp
mov ebp, dword [esp + 0x18]
xor esi, dword [esp + 0x34]
rol edi, 0xa
xor ecx, edi
add ecx, esi
add ebp, eax
add eax, ecx
lea ecx, [ebx + 6]
mov dword [esp + 0x24], ecx
and dword [esp + 0x24], 0xf
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x18], ebp
mov dword [esp + 8], eax
lea eax, [ebx + 0x13]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x38], edx
and eax, 0xf
mov ebp, dword [esp + ecx*4 + 0x70]
mov edi, dword [esp + eax*4 + 0x70]
and ebx, 0xf
mov ebx, dword [esp + ebx*4 + 0x70]
mov esi, ebp
mov edx, ebp
shr ebp, 3
mov ecx, edi
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x30]
mov eax, edi
rol esi, 0x19
rol edx, 0xe
xor edx, esi
add ebx, dword [esp + ebp*4 + 0x70]
xor edx, dword [esp + 0x34]
rol ecx, 0xf
rol eax, 0xd
shr edi, 0xa
xor eax, ecx
xor eax, edi
add edx, ebx
mov edi, dword [esp + 0x18]
add edx, eax
mov dword [esp + ebp*4 + 0x70], edx
mov ebp, dword [esp]
mov eax, edi
mov ecx, edi
rol eax, 0x1a
rol ecx, 0x15
xor ecx, eax
mov esi, edi
rol esi, 7
xor ecx, esi
mov esi, dword [esp + 0xc]
mov ebx, edi
add ecx, dword [ebp*4 + 0x4e1af4]
not ebx
and edi, dword [esp + 4]
lea eax, [ecx + edx]
mov ecx, dword [esp + 8]
and esi, ebx
add eax, dword [esp + 0x1c]
xor esi, edi
add eax, esi
mov edx, ecx
mov esi, ecx
mov ebx, ecx
and ecx, dword [esp + 0x14]
rol esi, 0x1e
rol ebx, 0xa
mov edi, ecx
mov ecx, dword [esp + 8]
rol edx, 0x13
and ecx, dword [esp + 0x20]
xor edx, esi
mov dword [esp + 0x34], edi
mov esi, dword [esp + 0x10]
xor edx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x38]
lea ebx, [eax + esi]
mov dword [esp + 0x1c], ebx
add edx, ecx
add eax, edx
mov dword [esp + 0x10], eax
lea eax, [ebp + 7]
mov dword [esp + 0x30], eax
and dword [esp + 0x30], 0xf
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + ebx*4 + 0x70]
mov esi, eax
mov edx, eax
shr eax, 3
mov dword [esp + 0x38], eax
lea eax, [ebp + 0x14]
mov ebp, dword [esp + 0x2c]
and eax, 0xf
mov edi, dword [esp + eax*4 + 0x70]
rol esi, 0x19
mov ebx, dword [esp + ebp*4 + 0x70]
mov ebp, dword [esp + 0x24]
rol edx, 0xe
xor edx, esi
mov ecx, edi
xor edx, dword [esp + 0x38]
mov eax, edi
add ebx, dword [esp + ebp*4 + 0x70]
rol ecx, 0xf
rol eax, 0xd
shr edi, 0xa
xor eax, ecx
xor eax, edi
mov edi, dword [esp + 0x1c]
add edx, ebx
mov ebx, dword [esp]
add edx, eax
mov dword [esp + ebp*4 + 0x70], edx
mov eax, edi
mov ecx, edi
rol eax, 0x1a
rol ecx, 0x15
xor ecx, eax
mov esi, edi
rol esi, 7
xor ecx, esi
mov esi, dword [esp + 4]
add ecx, dword [ebx*4 + 0x4e1af8]
lea eax, [ecx + edx]
mov edx, edi
mov ecx, dword [esp + 0x10]
not edx
and esi, edx
mov edx, dword [esp + 0x18]
add eax, dword [esp + 0xc]
mov ebx, ecx
and edx, edi
mov edi, dword [esp + 8]
xor esi, edx
mov edx, ecx
add eax, esi
mov esi, ecx
rol esi, 0x1e
rol edx, 0x13
xor edx, esi
mov esi, dword [esp + 0x20]
and edi, ecx
and ecx, dword [esp + 0x14]
add dword [esp], 8
rol ebx, 0xa
add esi, eax
xor ecx, edi
xor ecx, dword [esp + 0x34]
xor edx, ebx
mov dword [esp + 0x20], esi
mov esi, dword [esp]
mov dword [esp + 0x24], edi
add edx, ecx
add eax, edx
mov dword [esp + 0xc], eax
mov eax, esi
and eax, 0xf
mov edx, dword [esp + eax*4 + 0x70]
mov edi, eax
mov ebp, edx
mov ebx, edx
shr ebp, 3
mov eax, edx
mov dword [esp + 0x2c], ebp
lea ebp, [esi + 0xd]
rol ebx, 0x19
rol eax, 0xe
xor eax, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x40], ebp
and ebp, 0xf
mov esi, dword [esp + ebp*4 + 0x70]
xor eax, dword [esp + 0x2c]
add eax, dword [esp + ebx*4 + 0x70]
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
mov ecx, esi
mov edx, esi
rol ecx, 0xf
shr esi, 0xa
rol edx, 0xd
xor edx, ecx
mov ecx, ebp
add eax, dword [esp + ebx*4 + 0x70]
xor edx, esi
mov esi, dword [esp]
rol ecx, 0x15
add eax, edx
mov edx, ebp
rol edx, 0x1a
xor ecx, edx
mov edx, ebp
mov dword [esp + ebx*4 + 0x70], eax
mov ebx, ebp
not ebp
rol ebx, 7
xor ecx, ebx
mov ebx, dword [esp + 8]
add ecx, dword [esi*4 + 0x4e1adc]
mov esi, dword [esp + 0x18]
xor ebx, dword [esp + 0x10]
add eax, ecx
add eax, dword [esp + 4]
and esi, ebp
mov ebp, dword [esp + 0x1c]
and ebp, edx
mov edx, dword [esp + 0xc]
xor esi, ebp
add eax, esi
mov ebp, edx
mov ecx, edx
rol ebp, 0x1e
rol ecx, 0x13
xor ecx, ebp
mov esi, edx
rol esi, 0xa
xor ecx, esi
mov esi, dword [esp + 0x14]
and ebx, edx
xor ebx, dword [esp + 0x24]
add ecx, ebx
lea ebx, [eax + esi]
mov esi, dword [esp]
add eax, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 4], eax
cmp esi, 0x40
jne 0x46ddd7
mov eax, dword [esp + 4]
add dword [esp + 0x48], eax
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x6c]
mov dword [eax], edi
mov edi, dword [esp + 0xc]
add dword [esp + 0x4c], edi
mov edi, dword [esp + 0x4c]
mov dword [eax + 4], edi
mov edi, dword [esp + 0x10]
add dword [esp + 0x54], edi
mov edi, dword [esp + 0x54]
mov dword [eax + 8], edi
mov edi, dword [esp + 8]
add dword [esp + 0x60], edi
mov edi, dword [esp + 0x60]
mov dword [eax + 0xc], edi
mov edi, dword [esp + 0x14]
add dword [esp + 0x50], edi
mov edi, dword [esp + 0x50]
mov dword [eax + 0x10], edi
mov edi, dword [esp + 0x20]
add dword [esp + 0x58], edi
mov edi, dword [esp + 0x58]
mov dword [eax + 0x14], edi
mov edi, dword [esp + 0x1c]
add dword [esp + 0x5c], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + 0x18], edi
mov edi, dword [esp + 0x18]
add dword [esp + 0x64], edi
mov edi, dword [esp + 0x64]
sub dword [esp + 0x68], 1
add dword [esp + 0x3c], 0x40
cmp dword [esp + 0x68], 0xffffffff
mov dword [eax + 0x1c], edi
jne 0x46d5d0
add esp, 0xb0
pop ebx
pop esi
pop edi
pop ebp
ret