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

Disassembly:
push ebp
mov eax, ecx
push edi
push esi
push ebx
sub esp, 0x148
mov esi, dword [eax + 0x4c]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x38], esi
mov esi, dword [eax + 0x50]
mov dword [esp + 0x14], esi
mov esi, dword [eax + 0x54]
mov dword [esp + 0x28], esi
mov esi, dword [eax + 0x58]
mov dword [esp + 0x3c], esi
mov esi, dword [eax + 0x5c]
mov dword [esp + 0x1c], esi
mov esi, dword [eax + 0x60]
mov dword [esp + 0x20], esi
mov esi, dword [eax + 0x64]
mov eax, dword [eax + 0x68]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x40], eax
xor eax, eax
lea esi, [esi]
mov edx, dword [ecx + eax*4]
bswap edx
mov dword [esp + eax*4 + 0x48], edx
add eax, 1
cmp eax, 0x10
jne 0x401958
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, esi
mov eax, esi
mov ebx, esi
ror edx, 6
ror eax, 0xb
not ebx
and ebx, dword [esp + 0x2c]
xor eax, edx
mov edx, esi
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0x48]
lea edx, [edi + edx + 0x428a2f98]
mov edi, dword [esp + 0x38]
add edx, eax
mov eax, dword [esp + 0x20]
and ecx, edi
and eax, esi
xor eax, ebx
mov ebx, dword [esp + 0x3c]
add eax, edx
mov edx, edi
lea ebp, [ebx + eax]
mov ebx, edi
ror edx, 0xd
ror ebx, 2
mov dword [esp + 0xc], ebp
xor edx, ebx
mov ebx, edi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp + 0x14]
or ebx, edi
and ebx, dword [esp + 0x28]
or ebx, ecx
mov ecx, dword [esp + 0x2c]
add ebx, edx
mov edx, ebp
add ebx, eax
mov eax, ebp
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebp
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0x4c]
lea edx, [ecx + edx + 0x71374491]
mov ecx, ebp
mov ebp, esi
add edx, eax
mov eax, dword [esp + 0xc]
not ecx
and ecx, dword [esp + 0x20]
and eax, esi
mov esi, edi
xor eax, ecx
mov ecx, dword [esp + 0x28]
add eax, edx
lea edx, [ecx + eax]
mov ecx, ebx
mov dword [esp], edx
mov edx, ebx
ror ecx, 2
ror edx, 0xd
and esi, ebx
xor edx, ecx
mov ecx, ebx
rol ecx, 0xa
xor edx, ecx
mov ecx, edi
or ecx, ebx
and ecx, dword [esp + 0x14]
or ecx, esi
add ecx, edx
mov edx, dword [esp]
add ecx, eax
mov eax, edx
ror eax, 6
mov esi, eax
mov eax, edx
ror eax, 0xb
xor eax, esi
mov esi, edx
mov edx, dword [esp + 0x50]
rol esi, 7
xor eax, esi
mov esi, dword [esp + 0x20]
lea esi, [esi + edx - 0x4a3f0431]
mov edx, dword [esp]
add esi, eax
mov eax, dword [esp + 0xc]
and eax, dword [esp]
not edx
and edx, ebp
mov ebp, edi
xor eax, edx
mov edx, ecx
add eax, esi
mov esi, dword [esp + 0x14]
ror edx, 2
add esi, eax
mov dword [esp + 4], esi
mov esi, ecx
ror esi, 0xd
xor esi, edx
mov edx, ecx
rol edx, 0xa
xor esi, edx
mov edx, ebx
or edx, ecx
and edx, edi
mov edi, ebx
and edi, ecx
or edx, edi
mov edi, dword [esp + 4]
add edx, esi
add edx, eax
mov esi, edi
mov eax, edi
ror eax, 6
ror esi, 0xb
xor esi, eax
mov eax, edi
mov edi, dword [esp + 0x1c]
rol eax, 7
xor esi, eax
mov eax, dword [esp + 0x54]
lea eax, [edi + eax - 0x164a245b]
mov edi, dword [esp]
add eax, esi
mov esi, dword [esp + 4]
not esi
and esi, dword [esp + 0xc]
and edi, dword [esp + 4]
xor esi, edi
add esi, eax
lea eax, [ebp + esi]
mov ebp, edx
ror ebp, 2
mov dword [esp + 8], eax
mov edi, ebp
mov ebp, edx
ror ebp, 0xd
mov eax, ebp
mov ebp, edx
xor eax, edi
rol ebp, 0xa
xor eax, ebp
mov ebp, ecx
or ebp, edx
mov edi, ebp
mov ebp, ecx
and ebp, edx
and edi, ebx
or edi, ebp
lea ebp, [eax + edi]
mov edi, dword [esp + 8]
add ebp, esi
mov eax, edi
mov esi, edi
ror esi, 6
ror eax, 0xb
xor eax, esi
mov esi, edi
mov edi, dword [esp + 0xc]
rol esi, 7
xor esi, eax
mov eax, dword [esp + 0x58]
lea eax, [edi + eax + 0x3956c25b]
mov edi, dword [esp + 4]
and edi, dword [esp + 8]
add eax, esi
mov esi, dword [esp + 8]
not esi
and esi, dword [esp]
xor esi, edi
mov edi, edx
add esi, eax
lea eax, [ebx + esi]
mov ebx, ebp
mov dword [esp + 0xc], eax
mov eax, ebp
ror ebx, 2
ror eax, 0xd
xor eax, ebx
mov ebx, ebp
and edi, ebp
rol ebx, 0xa
xor eax, ebx
mov ebx, edx
or ebx, ebp
and ebx, ecx
or ebx, edi
add ebx, eax
mov eax, dword [esp + 0xc]
add ebx, esi
mov edi, eax
mov esi, eax
rol eax, 7
ror esi, 6
ror edi, 0xb
xor edi, esi
mov esi, eax
mov eax, dword [esp + 0x5c]
xor esi, edi
mov edi, dword [esp]
lea edi, [edi + eax + 0x59f111f1]
mov eax, dword [esp + 0xc]
add edi, esi
mov esi, dword [esp + 8]
and esi, dword [esp + 0xc]
not eax
and eax, dword [esp + 4]
xor esi, eax
mov eax, ebx
add esi, edi
ror eax, 2
lea edi, [ecx + esi]
mov ecx, ebx
ror ecx, 0xd
mov dword [esp], edi
mov edi, ebp
xor ecx, eax
mov eax, ebx
and edi, ebx
rol eax, 0xa
xor ecx, eax
mov eax, ebp
or eax, ebx
and eax, edx
or eax, edi
mov edi, dword [esp]
add eax, ecx
add eax, esi
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
mov edi, dword [esp + 4]
rol ecx, 7
xor ecx, esi
mov esi, dword [esp + 0x60]
lea esi, [edi + esi - 0x6dc07d5c]
mov edi, dword [esp]
add esi, ecx
mov ecx, dword [esp + 0xc]
and ecx, dword [esp]
not edi
and edi, dword [esp + 8]
xor ecx, edi
mov edi, eax
add ecx, esi
ror edi, 2
mov esi, ebx
add edx, ecx
and esi, eax
mov dword [esp + 4], edx
mov edx, eax
ror edx, 0xd
xor edx, edi
mov edi, eax
rol edi, 0xa
xor edx, edi
mov edi, ebx
or edi, eax
and edi, ebp
or edi, esi
add edi, edx
mov edx, dword [esp + 4]
add edi, ecx
mov esi, edx
ror esi, 6
mov ecx, esi
mov esi, edx
ror edx, 0xb
rol esi, 7
xor edx, ecx
mov ecx, esi
mov esi, dword [esp + 8]
xor ecx, edx
mov edx, dword [esp + 0x64]
lea edx, [esi + edx - 0x54e3a12b]
mov esi, dword [esp + 4]
add edx, ecx
mov ecx, dword [esp]
not esi
and esi, dword [esp + 0xc]
and ecx, dword [esp + 4]
xor ecx, esi
mov esi, edi
add ecx, edx
ror esi, 2
lea edx, [ebp + ecx]
mov ebp, eax
mov dword [esp + 8], edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
and ebp, edi
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, edi
and esi, ebx
or esi, ebp
mov ebp, dword [esp + 8]
add esi, edx
add esi, ecx
mov edx, ebp
mov ecx, ebp
ror ecx, 0xb
ror edx, 6
xor edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0xc]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0x68]
lea edx, [ebp + edx - 0x27f85568]
mov ebp, dword [esp + 4]
and ebp, dword [esp + 8]
add edx, ecx
mov ecx, dword [esp + 8]
not ecx
and ecx, dword [esp]
xor ecx, ebp
mov ebp, edi
add ecx, edx
mov edx, esi
and ebp, esi
add ebx, ecx
ror edx, 2
mov dword [esp + 0xc], ebx
mov ebx, esi
ror ebx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, edi
or ebx, esi
and ebx, eax
or ebx, ebp
add ebx, edx
mov edx, dword [esp + 0x6c]
add ebx, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], edx
mov ebp, ecx
mov edx, ecx
ror edx, 0xb
ror ebp, 6
xor ebp, edx
mov edx, ecx
mov ecx, dword [esp]
rol edx, 7
xor ebp, edx
mov edx, dword [esp + 0x34]
lea edx, [edx + ecx + 0x12835b01]
mov ecx, dword [esp + 0xc]
add ebp, edx
mov edx, dword [esp + 8]
and edx, dword [esp + 0xc]
not ecx
and ecx, dword [esp + 4]
xor edx, ecx
add edx, ebp
mov ebp, esi
lea ecx, [eax + edx]
mov eax, ebx
and ebp, ebx
mov dword [esp], ecx
mov ecx, ebx
ror eax, 2
ror ecx, 0xd
xor eax, ecx
mov ecx, ebx
rol ecx, 0xa
xor eax, ecx
mov ecx, esi
or ecx, ebx
and ecx, edi
or ecx, ebp
add ecx, eax
add ecx, edx
mov edx, dword [esp]
mov eax, edx
mov ebp, edx
ror eax, 0xb
ror ebp, 6
xor ebp, eax
mov eax, edx
mov edx, dword [esp + 0x70]
rol eax, 7
xor eax, ebp
mov ebp, dword [esp + 4]
lea ebp, [ebp + edx + 0x243185be]
mov edx, dword [esp]
add ebp, eax
mov eax, dword [esp + 0xc]
and eax, dword [esp]
not edx
and edx, dword [esp + 8]
xor eax, edx
add eax, ebp
lea ebp, [edi + eax]
mov edi, ecx
ror edi, 0xd
mov dword [esp + 4], ebp
mov ebp, ebx
mov edx, edi
mov edi, ecx
ror edi, 2
xor edi, edx
mov edx, ecx
and ebp, ecx
rol edx, 0xa
xor edi, edx
mov edx, ebx
or edx, ecx
and edx, esi
or edx, ebp
add edx, edi
add edx, eax
mov eax, dword [esp + 4]
mov edi, eax
mov ebp, eax
ror edi, 0xb
ror ebp, 6
xor ebp, edi
mov edi, eax
mov eax, dword [esp + 0x74]
rol edi, 7
xor edi, ebp
mov ebp, dword [esp + 8]
lea ebp, [ebp + eax + 0x550c7dc3]
mov eax, dword [esp + 4]
add ebp, edi
not eax
and eax, dword [esp + 0xc]
mov edi, dword [esp]
and edi, dword [esp + 4]
xor edi, eax
mov eax, edx
add edi, ebp
ror eax, 0xd
mov ebp, ecx
add esi, edi
and ebp, edx
mov dword [esp + 8], esi
mov esi, edx
ror esi, 2
xor esi, eax
mov eax, edx
rol eax, 0xa
xor esi, eax
mov eax, ecx
or eax, edx
and eax, ebx
or eax, ebp
mov ebp, dword [esp + 8]
add eax, esi
add eax, edi
mov esi, ebp
mov edi, ebp
ror esi, 0xb
ror edi, 6
xor edi, esi
mov esi, ebp
mov ebp, dword [esp + 0xc]
rol esi, 7
xor esi, edi
mov edi, dword [esp + 0x78]
lea edi, [ebp + edi + 0x72be5d74]
mov ebp, dword [esp + 4]
and ebp, dword [esp + 8]
add edi, esi
mov esi, dword [esp + 8]
not esi
and esi, dword [esp]
xor esi, ebp
mov ebp, edx
add esi, edi
mov edi, eax
and ebp, eax
add ebx, esi
ror edi, 0xd
mov dword [esp + 0xc], ebx
mov ebx, eax
ror ebx, 2
xor ebx, edi
mov edi, eax
rol edi, 0xa
xor ebx, edi
mov edi, edx
or edi, eax
and edi, ecx
or edi, ebp
add edi, ebx
lea ebp, [edi + esi]
mov edi, dword [esp + 0xc]
mov ebx, edi
mov esi, edi
ror ebx, 0xb
ror esi, 6
xor esi, ebx
mov ebx, edi
mov edi, dword [esp]
rol ebx, 7
xor ebx, esi
mov esi, dword [esp + 0x7c]
lea esi, [edi + esi - 0x7f214e02]
mov edi, dword [esp + 8]
and edi, dword [esp + 0xc]
add esi, ebx
mov ebx, dword [esp + 0xc]
not ebx
and ebx, dword [esp + 4]
xor ebx, edi
mov edi, eax
add ebx, esi
mov esi, ebp
add ecx, ebx
ror esi, 0xd
mov dword [esp + 0x10], ecx
mov ecx, ebp
ror ecx, 2
and edi, ebp
xor ecx, esi
mov esi, ebp
rol esi, 0xa
xor ecx, esi
mov esi, eax
or esi, ebp
and esi, edx
or esi, edi
add esi, ecx
mov ecx, dword [esp + 0x80]
lea edi, [esi + ebx]
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x10]
mov ebx, edi
mov esi, edi
ror ebx, 0xb
ror esi, 6
xor esi, ebx
mov ebx, edi
rol ebx, 7
xor esi, ebx
mov ebx, dword [esp + 4]
lea ebx, [ecx + ebx - 0x6423f959]
add esi, ebx
mov ebx, edi
mov edi, dword [esp + 0xc]
and edi, dword [esp + 0x10]
not ebx
and ebx, dword [esp + 8]
xor ebx, edi
mov edi, dword [esp + 0x18]
add ebx, esi
add edx, ebx
mov esi, edi
mov dword [esp + 0x24], edx
mov edx, edi
ror esi, 0xd
ror edx, 2
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x24]
add esi, edx
lea edx, [esi + ebx]
mov ebx, edi
mov dword [esp], edx
mov edx, edi
ror ebx, 6
ror edx, 0xb
xor ebx, edx
mov edx, edi
rol edx, 7
xor edx, ebx
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 8]
lea ebx, [esi + ebx - 0x3e640e8c]
mov esi, dword [esp + 0x10]
add ebx, edx
mov edx, edi
and esi, edi
not edx
and edx, dword [esp + 0xc]
mov edi, dword [esp]
xor edx, esi
mov esi, dword [esp]
add edx, ebx
add eax, edx
mov ebx, esi
mov dword [esp + 4], eax
mov eax, esi
ror ebx, 0xd
ror eax, 2
xor eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x18]
rol ebx, 0xa
or edi, esi
xor eax, ebx
and esi, dword [esp]
mov ebx, edi
and ebx, ebp
or ebx, esi
add ebx, eax
lea eax, [ebx + edx]
mov ebx, dword [esp + 0x34]
lea edx, [esp + 0x48]
mov dword [esp + 0x30], eax
jmp 0x40201e
mov ebx, dword [edx + 0x24]
mov ecx, dword [edx + 0x38]
mov eax, ecx
mov edi, ecx
mov esi, dword [edx + 4]
shr ecx, 0xa
rol edi, 0xf
rol eax, 0xd
add edx, 4
xor eax, edi
mov edi, esi
xor eax, ecx
add eax, dword [edx - 4]
ror edi, 7
mov ecx, eax
mov eax, esi
shr esi, 3
rol eax, 0xe
xor eax, edi
xor eax, esi
add eax, ecx
add eax, ebx
mov dword [edx + 0x3c], eax
lea eax, [esp + 0x68]
cmp eax, edx
jne 0x402018
mov esi, dword [esp + 4]
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp]
mov edx, esi
mov eax, esi
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
rol edx, 7
xor edx, eax
mov eax, dword [esp + 0x88]
lea eax, [edi + eax - 0x1b64963f]
mov edi, esi
add eax, edx
mov edx, dword [esp + 0x24]
not edi
and edi, dword [esp + 0x10]
and edx, esi
mov esi, dword [esp + 0x24]
xor edx, edi
mov edi, ebx
add edx, eax
mov eax, ebx
ror edi, 2
ror eax, 0xd
add ebp, edx
xor eax, edi
mov edi, ebx
rol edi, 0xa
xor eax, edi
mov edi, ecx
and ecx, ebx
or edi, ebx
and edi, dword [esp + 0x18]
or edi, ecx
add edi, eax
mov eax, dword [esp + 0x8c]
add edi, edx
mov edx, ebp
mov ecx, eax
mov eax, ebp
ror edx, 0xb
mov dword [esp + 8], edi
ror eax, 6
mov dword [esp + 0x34], ecx
xor edx, eax
mov eax, ebp
rol eax, 7
xor eax, edx
mov edx, dword [esp + 0x10]
lea edx, [ecx + edx - 0x1041b87a]
mov ecx, dword [esp + 8]
add edx, eax
mov eax, ebp
not eax
and esi, eax
mov eax, dword [esp + 4]
and eax, ebp
xor eax, esi
add eax, edx
mov edx, dword [esp + 0x18]
lea esi, [edx + eax]
mov edx, edi
ror edx, 2
mov dword [esp + 0xc], esi
and ecx, ebx
mov esi, edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, ebx
or esi, edi
and esi, dword [esp]
mov edi, ebx
mov ebx, dword [esp + 0xc]
or esi, ecx
mov ecx, dword [esp + 0x24]
add esi, edx
mov edx, ebx
add esi, eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0x90]
lea edx, [ecx + edx + 0xfc19dc6]
mov ecx, dword [esp + 8]
add edx, eax
mov eax, ebx
not ebx
and ebx, dword [esp + 4]
and eax, ebp
and ecx, esi
xor eax, ebx
mov ebx, esi
add eax, edx
mov edx, dword [esp]
ror ebx, 2
add edx, eax
mov dword [esp + 0x10], edx
mov edx, esi
ror edx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp + 8]
or ebx, esi
and ebx, edi
mov edi, dword [esp + 0x10]
or ebx, ecx
mov ecx, dword [esp + 4]
add ebx, edx
mov edx, edi
add ebx, eax
mov eax, edi
ror edx, 0xb
ror eax, 6
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [esp + 0x94]
lea ecx, [ecx + eax + 0x240ca1cc]
add ecx, edx
mov edx, edi
not edx
mov eax, edx
mov edx, dword [esp + 0xc]
and eax, ebp
and edx, edi
mov edi, esi
xor edx, eax
mov eax, ebx
and edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x30]
ror eax, 2
add ecx, edx
mov dword [esp + 0x18], ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
or eax, ebx
and eax, dword [esp + 8]
or eax, edi
mov edi, dword [esp + 0x18]
add eax, ecx
add eax, edx
mov ecx, edi
mov edx, edi
ror edx, 6
ror ecx, 0xb
xor ecx, edx
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp + 0x98]
lea ecx, [ebp + ecx + 0x2de92c6f]
mov ebp, dword [esp + 0x10]
add ecx, edx
mov edx, edi
and ebp, edi
not edx
and edx, dword [esp + 0xc]
mov edi, dword [esp + 8]
xor edx, ebp
mov ebp, ebx
add edx, ecx
mov ecx, eax
and ebp, eax
add edi, edx
ror ecx, 0xd
mov dword [esp], edi
mov edi, eax
ror edi, 2
xor ecx, edi
mov edi, eax
rol edi, 0xa
xor ecx, edi
mov edi, ebx
or edi, eax
and edi, esi
or edi, ebp
add edi, ecx
lea ebp, [edi + edx]
mov edi, dword [esp]
mov ecx, edi
mov edx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 0xc]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0x9c]
lea edx, [edi + edx + 0x4a7484aa]
mov edi, dword [esp + 0x18]
and edi, dword [esp]
add edx, ecx
mov ecx, dword [esp]
not ecx
and ecx, dword [esp + 0x10]
xor ecx, edi
mov edi, eax
add ecx, edx
mov edx, ebp
and edi, ebp
add esi, ecx
ror edx, 2
mov dword [esp + 4], esi
mov esi, edx
mov edx, ebp
ror edx, 0xd
xor edx, esi
mov esi, ebp
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, ebp
and esi, ebx
or esi, edi
add esi, edx
mov edx, dword [esp + 0xa0]
lea edi, [esi + ecx]
mov dword [esp + 8], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [esp + 0x10]
lea ecx, [edx + ecx + 0x5cb0a9dc]
add esi, ecx
mov ecx, edi
mov edi, dword [esp]
and edi, dword [esp + 4]
not ecx
and ecx, dword [esp + 0x18]
xor ecx, edi
mov edi, dword [esp + 8]
add ecx, esi
add ebx, ecx
mov esi, edi
mov dword [esp + 0x24], ebx
mov ebx, edi
ror esi, 2
ror ebx, 0xd
xor ebx, esi
mov esi, edi
rol esi, 0xa
xor ebx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x24]
add esi, ebx
add ecx, esi
mov ebx, edi
mov esi, dword [esp + 0x18]
mov dword [esp + 0xc], ecx
mov ecx, edi
ror ebx, 0xb
ror ecx, 6
xor ebx, ecx
mov ecx, edi
rol ecx, 7
xor ecx, ebx
mov ebx, dword [esp + 0xa4]
lea ebx, [esi + ebx + 0x76f988da]
mov esi, dword [esp + 4]
add ebx, ecx
mov ecx, edi
and esi, edi
not ecx
and ecx, dword [esp]
mov edi, dword [esp + 0xc]
xor ecx, esi
add ecx, ebx
lea ebx, [eax + ecx]
mov eax, edi
mov dword [esp + 0x10], ebx
mov ebx, edi
ror eax, 0xd
mov esi, dword [esp + 8]
ror ebx, 2
mov dword [esp + 0x30], ebp
xor eax, ebx
mov ebx, edi
rol ebx, 0xa
xor eax, ebx
mov ebx, esi
and esi, edi
or ebx, edi
and ebx, ebp
mov ebp, dword [esp + 0x34]
or ebx, esi
lea esi, [esp + 0x88]
add ebx, eax
lea eax, [ebx + ecx]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x68]
mov ecx, eax
jmp 0x4023e6
mov ebp, dword [ecx + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov ebx, edx
mov edi, dword [ecx + 4]
shr edx, 0xa
rol ebx, 0xf
rol eax, 0xd
add ecx, 4
xor eax, ebx
mov ebx, edi
xor eax, edx
mov edx, edi
rol ebx, 0xe
add eax, dword [ecx - 4]
ror edx, 7
shr edi, 3
xor edx, ebx
xor edx, edi
add eax, edx
add ebp, eax
mov dword [ecx + 0x3c], ebp
cmp esi, ecx
jne 0x4023e0
mov esi, dword [esp + 0x10]
mov edi, dword [esp]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, esi
mov eax, esi
mov ebp, dword [esp + 0x30]
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
rol edx, 7
xor edx, eax
mov eax, dword [esp + 0xa8]
lea eax, [edi + eax - 0x67c1aeae]
mov edi, esi
add eax, edx
mov edx, dword [esp + 0x24]
not edi
and edi, dword [esp + 4]
and edx, esi
mov esi, dword [esp + 0x24]
xor edx, edi
mov edi, ebx
add edx, eax
mov eax, ebx
ror edi, 2
ror eax, 0xd
add ebp, edx
xor eax, edi
mov edi, ebx
rol edi, 0xa
xor eax, edi
mov edi, ecx
and ecx, ebx
or edi, ebx
and edi, dword [esp + 8]
or edi, ecx
add edi, eax
mov eax, dword [esp + 0xac]
add edi, edx
mov edx, ebp
mov ecx, eax
mov eax, ebp
ror edx, 0xb
mov dword [esp], edi
ror eax, 6
mov dword [esp + 0x30], ecx
xor edx, eax
mov eax, ebp
rol eax, 7
xor eax, edx
mov edx, dword [esp + 4]
lea edx, [ecx + edx - 0x57ce3993]
mov ecx, dword [esp]
add edx, eax
mov eax, ebp
not eax
and esi, eax
mov eax, dword [esp + 0x10]
and eax, ebp
xor eax, esi
add eax, edx
mov edx, dword [esp + 8]
lea esi, [edx + eax]
mov edx, edi
ror edx, 2
mov dword [esp + 4], esi
and ecx, ebx
mov esi, edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, ebx
or esi, edi
and esi, dword [esp + 0xc]
mov edi, ebx
mov ebx, dword [esp + 4]
or esi, ecx
mov ecx, dword [esp + 0x24]
add esi, edx
mov edx, ebx
add esi, eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0xb0]
lea edx, [ecx + edx - 0x4ffcd838]
mov ecx, dword [esp]
add edx, eax
mov eax, ebx
not ebx
and ebx, dword [esp + 0x10]
and eax, ebp
and ecx, esi
xor eax, ebx
mov ebx, esi
add eax, edx
mov edx, dword [esp + 0xc]
ror ebx, 2
add edx, eax
mov dword [esp + 8], edx
mov edx, esi
ror edx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp]
or ebx, esi
and ebx, edi
mov edi, dword [esp + 8]
or ebx, ecx
mov ecx, dword [esp + 0x10]
add ebx, edx
mov edx, edi
add ebx, eax
mov eax, edi
ror edx, 0xb
ror eax, 6
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [esp + 0xb4]
lea ecx, [ecx + eax - 0x40a68039]
add ecx, edx
mov edx, edi
not edx
mov eax, edx
mov edx, dword [esp + 4]
and eax, ebp
and edx, edi
mov edi, esi
xor edx, eax
mov eax, ebx
and edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x18]
ror eax, 2
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
or eax, ebx
and eax, dword [esp]
or eax, edi
mov edi, dword [esp + 0xc]
add eax, ecx
add eax, edx
mov ecx, edi
mov edx, edi
ror edx, 6
ror ecx, 0xb
xor ecx, edx
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp + 0xb8]
lea ecx, [ebp + ecx - 0x391ff40d]
mov ebp, dword [esp + 8]
add ecx, edx
mov edx, edi
and ebp, edi
not edx
and edx, dword [esp + 4]
mov edi, dword [esp]
xor edx, ebp
mov ebp, ebx
add edx, ecx
mov ecx, eax
and ebp, eax
add edi, edx
ror ecx, 0xd
mov dword [esp], edi
mov edi, eax
ror edi, 2
xor ecx, edi
mov edi, eax
rol edi, 0xa
xor ecx, edi
mov edi, ebx
or edi, eax
and edi, esi
or edi, ebp
add edi, ecx
lea ebp, [edi + edx]
mov edi, dword [esp]
mov ecx, edi
mov edx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 4]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0xbc]
lea edx, [edi + edx - 0x2a586eb9]
mov edi, dword [esp + 0xc]
and edi, dword [esp]
add edx, ecx
mov ecx, dword [esp]
not ecx
and ecx, dword [esp + 8]
xor ecx, edi
mov edi, eax
add ecx, edx
mov edx, ebp
and edi, ebp
add esi, ecx
ror edx, 2
mov dword [esp + 4], esi
mov esi, edx
mov edx, ebp
ror edx, 0xd
xor edx, esi
mov esi, ebp
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, ebp
and esi, ebx
or esi, edi
add esi, edx
mov edx, dword [esp + 0xc0]
lea edi, [esi + ecx]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [esp + 8]
lea ecx, [edx + ecx + 0x6ca6351]
add esi, ecx
mov ecx, edi
mov edi, dword [esp]
and edi, dword [esp + 4]
not ecx
and ecx, dword [esp + 0xc]
xor ecx, edi
mov edi, dword [esp + 0x10]
add ecx, esi
add ebx, ecx
mov esi, edi
mov dword [esp + 0x18], ebx
mov ebx, edi
ror esi, 2
ror ebx, 0xd
xor ebx, esi
mov esi, edi
rol esi, 0xa
xor ebx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x18]
add esi, ebx
add ecx, esi
mov ebx, edi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, edi
ror ebx, 0xb
ror ecx, 6
xor ebx, ecx
mov ecx, edi
rol ecx, 7
xor ecx, ebx
mov ebx, dword [esp + 0xc4]
lea ebx, [esi + ebx + 0x14292967]
mov esi, dword [esp + 4]
add ebx, ecx
mov ecx, edi
and esi, edi
not ecx
and ecx, dword [esp]
mov edi, dword [esp + 8]
xor ecx, esi
add ecx, ebx
lea ebx, [eax + ecx]
mov eax, edi
mov dword [esp + 0xc], ebx
mov ebx, edi
ror eax, 0xd
mov esi, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x34], ebp
xor eax, ebx
mov ebx, edi
rol ebx, 0xa
xor eax, ebx
mov ebx, esi
and esi, edi
or ebx, edi
and ebx, ebp
mov ebp, dword [esp + 0x30]
or ebx, esi
lea esi, [esp + 0xa8]
add ebx, eax
lea eax, [ebx + ecx]
lea ecx, [esp + 0x88]
mov dword [esp + 0x24], eax
jmp 0x4027a6
mov ebp, dword [ecx + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov ebx, edx
mov edi, dword [ecx + 4]
shr edx, 0xa
rol ebx, 0xf
rol eax, 0xd
add ecx, 4
xor eax, ebx
mov ebx, edi
xor eax, edx
mov edx, edi
rol ebx, 0xe
add eax, dword [ecx - 4]
ror edx, 7
shr edi, 3
xor edx, ebx
xor edx, edi
add eax, edx
add ebp, eax
mov dword [ecx + 0x3c], ebp
cmp esi, ecx
jne 0x4027a0
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 8]
mov edx, esi
mov eax, esi
mov ebp, dword [esp + 0x34]
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
rol edx, 7
xor edx, eax
mov eax, dword [esp + 0xc8]
lea eax, [edi + eax + 0x27b70a85]
mov edi, esi
add eax, edx
mov edx, dword [esp + 0x18]
not edi
and edi, dword [esp + 4]
and edx, esi
mov esi, dword [esp + 0x18]
xor edx, edi
mov edi, ebx
add edx, eax
mov eax, ebx
ror edi, 2
ror eax, 0xd
add ebp, edx
xor eax, edi
mov edi, ebx
rol edi, 0xa
xor eax, edi
mov edi, ecx
and ecx, ebx
or edi, ebx
and edi, dword [esp + 0x10]
or edi, ecx
add edi, eax
mov eax, dword [esp + 0xcc]
add edi, edx
mov edx, ebp
mov ecx, eax
mov eax, ebp
ror edx, 0xb
mov dword [esp], edi
ror eax, 6
mov dword [esp + 0x30], ecx
xor edx, eax
mov eax, ebp
rol eax, 7
xor eax, edx
mov edx, dword [esp + 4]
lea edx, [ecx + edx + 0x2e1b2138]
mov ecx, dword [esp]
add edx, eax
mov eax, ebp
not eax
and esi, eax
mov eax, dword [esp + 0xc]
and eax, ebp
xor eax, esi
add eax, edx
mov edx, dword [esp + 0x10]
lea esi, [edx + eax]
mov edx, edi
ror edx, 2
mov dword [esp + 4], esi
and ecx, ebx
mov esi, edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, ebx
or esi, edi
and esi, dword [esp + 8]
mov edi, ebx
mov ebx, dword [esp + 4]
or esi, ecx
mov ecx, dword [esp + 0x18]
add esi, edx
mov edx, ebx
add esi, eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0xd0]
lea edx, [ecx + edx + 0x4d2c6dfc]
mov ecx, dword [esp]
add edx, eax
mov eax, ebx
not ebx
and ebx, dword [esp + 0xc]
and eax, ebp
and ecx, esi
xor eax, ebx
mov ebx, esi
add eax, edx
mov edx, dword [esp + 8]
ror ebx, 2
add edx, eax
mov dword [esp + 8], edx
mov edx, esi
ror edx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp]
or ebx, esi
and ebx, edi
mov edi, dword [esp + 8]
or ebx, ecx
mov ecx, dword [esp + 0xc]
add ebx, edx
mov edx, edi
add ebx, eax
mov eax, edi
ror edx, 0xb
ror eax, 6
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [esp + 0xd4]
lea ecx, [ecx + eax + 0x53380d13]
add ecx, edx
mov edx, edi
not edx
mov eax, edx
mov edx, dword [esp + 4]
and eax, ebp
and edx, edi
mov edi, esi
xor edx, eax
mov eax, ebx
and edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x24]
ror eax, 2
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
or eax, ebx
and eax, dword [esp]
or eax, edi
mov edi, dword [esp + 0xc]
add eax, ecx
add eax, edx
mov ecx, edi
mov edx, edi
ror edx, 6
ror ecx, 0xb
xor ecx, edx
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp + 0xd8]
lea ecx, [ebp + ecx + 0x650a7354]
mov ebp, dword [esp + 8]
add ecx, edx
mov edx, edi
and ebp, edi
not edx
and edx, dword [esp + 4]
mov edi, dword [esp]
xor edx, ebp
mov ebp, ebx
add edx, ecx
mov ecx, eax
and ebp, eax
add edi, edx
ror ecx, 0xd
mov dword [esp], edi
mov edi, eax
ror edi, 2
xor ecx, edi
mov edi, eax
rol edi, 0xa
xor ecx, edi
mov edi, ebx
or edi, eax
and edi, esi
or edi, ebp
add edi, ecx
lea ebp, [edi + edx]
mov edi, dword [esp]
mov ecx, edi
mov edx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 4]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0xdc]
lea edx, [edi + edx + 0x766a0abb]
mov edi, dword [esp + 0xc]
and edi, dword [esp]
add edx, ecx
mov ecx, dword [esp]
not ecx
and ecx, dword [esp + 8]
xor ecx, edi
mov edi, eax
add ecx, edx
mov edx, ebp
and edi, ebp
add esi, ecx
ror edx, 2
mov dword [esp + 4], esi
mov esi, edx
mov edx, ebp
ror edx, 0xd
xor edx, esi
mov esi, ebp
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, ebp
and esi, ebx
or esi, edi
add esi, edx
mov edx, dword [esp + 0xe0]
lea edi, [esi + ecx]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [esp + 8]
lea ecx, [edx + ecx - 0x7e3d36d2]
add esi, ecx
mov ecx, edi
mov edi, dword [esp]
and edi, dword [esp + 4]
not ecx
and ecx, dword [esp + 0xc]
xor ecx, edi
mov edi, dword [esp + 0x10]
add ecx, esi
add ebx, ecx
mov esi, edi
mov dword [esp + 0x18], ebx
mov ebx, edi
ror esi, 2
ror ebx, 0xd
xor ebx, esi
mov esi, edi
rol esi, 0xa
xor ebx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x18]
add esi, ebx
add ecx, esi
mov ebx, edi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, edi
ror ebx, 0xb
ror ecx, 6
xor ebx, ecx
mov ecx, edi
rol ecx, 7
xor ecx, ebx
mov ebx, dword [esp + 0xe4]
lea ebx, [esi + ebx - 0x6d8dd37b]
mov esi, dword [esp + 4]
add ebx, ecx
mov ecx, edi
and esi, edi
not ecx
and ecx, dword [esp]
mov edi, dword [esp + 8]
xor ecx, esi
add ecx, ebx
lea ebx, [eax + ecx]
mov eax, edi
mov dword [esp + 0xc], ebx
mov ebx, edi
ror eax, 0xd
mov esi, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x34], ebp
xor eax, ebx
mov ebx, edi
rol ebx, 0xa
xor eax, ebx
mov ebx, esi
and esi, edi
or ebx, edi
and ebx, ebp
mov ebp, dword [esp + 0x30]
or ebx, esi
lea esi, [esp + 0xc8]
add ebx, eax
lea eax, [ebx + ecx]
lea ecx, [esp + 0xa8]
mov dword [esp + 0x24], eax
jmp 0x402b66
mov ebp, dword [ecx + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov ebx, edx
mov edi, dword [ecx + 4]
shr edx, 0xa
rol ebx, 0xf
rol eax, 0xd
add ecx, 4
xor eax, ebx
mov ebx, edi
xor eax, edx
mov edx, edi
rol ebx, 0xe
add eax, dword [ecx - 4]
ror edx, 7
shr edi, 3
xor edx, ebx
xor edx, edi
add eax, edx
add ebp, eax
mov dword [ecx + 0x3c], ebp
cmp esi, ecx
jne 0x402b60
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 8]
mov edx, esi
mov eax, esi
mov ebp, dword [esp + 0x34]
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
rol edx, 7
xor edx, eax
mov eax, dword [esp + 0xe8]
lea eax, [edi + eax - 0x5d40175f]
mov edi, esi
add eax, edx
mov edx, dword [esp + 0x18]
not edi
and edi, dword [esp + 4]
and edx, esi
mov esi, dword [esp + 0x18]
xor edx, edi
mov edi, ebx
add edx, eax
mov eax, ebx
ror edi, 2
ror eax, 0xd
add ebp, edx
xor eax, edi
mov edi, ebx
rol edi, 0xa
xor eax, edi
mov edi, ecx
and ecx, ebx
or edi, ebx
and edi, dword [esp + 0x10]
or edi, ecx
add edi, eax
mov eax, dword [esp + 0xec]
add edi, edx
mov edx, ebp
mov ecx, eax
mov eax, ebp
ror edx, 0xb
mov dword [esp], edi
ror eax, 6
mov dword [esp + 0x30], ecx
xor edx, eax
mov eax, ebp
rol eax, 7
xor eax, edx
mov edx, dword [esp + 4]
lea edx, [ecx + edx - 0x57e599b5]
mov ecx, dword [esp]
add edx, eax
mov eax, ebp
not eax
and esi, eax
mov eax, dword [esp + 0xc]
and eax, ebp
xor eax, esi
add eax, edx
mov edx, dword [esp + 0x10]
lea esi, [edx + eax]
mov edx, edi
ror edx, 2
mov dword [esp + 4], esi
and ecx, ebx
mov esi, edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, ebx
or esi, edi
and esi, dword [esp + 8]
mov edi, ebx
mov ebx, dword [esp + 4]
or esi, ecx
mov ecx, dword [esp + 0x18]
add esi, edx
mov edx, ebx
add esi, eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0xf0]
lea edx, [ecx + edx - 0x3db47490]
mov ecx, dword [esp]
add edx, eax
mov eax, ebx
not ebx
and ebx, dword [esp + 0xc]
and eax, ebp
and ecx, esi
xor eax, ebx
mov ebx, esi
add eax, edx
mov edx, dword [esp + 8]
ror ebx, 2
add edx, eax
mov dword [esp + 8], edx
mov edx, esi
ror edx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp]
or ebx, esi
and ebx, edi
mov edi, dword [esp + 8]
or ebx, ecx
mov ecx, dword [esp + 0xc]
add ebx, edx
mov edx, edi
add ebx, eax
mov eax, edi
ror edx, 0xb
ror eax, 6
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [esp + 0xf4]
lea ecx, [ecx + eax - 0x3893ae5d]
add ecx, edx
mov edx, edi
not edx
mov eax, edx
mov edx, dword [esp + 4]
and eax, ebp
and edx, edi
mov edi, esi
xor edx, eax
mov eax, ebx
and edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x24]
ror eax, 2
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
or eax, ebx
and eax, dword [esp]
or eax, edi
mov edi, dword [esp + 0xc]
add eax, ecx
add eax, edx
mov ecx, edi
mov edx, edi
ror edx, 6
ror ecx, 0xb
xor ecx, edx
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp + 0xf8]
lea ecx, [ebp + ecx - 0x2e6d17e7]
mov ebp, dword [esp + 8]
add ecx, edx
mov edx, edi
and ebp, edi
not edx
and edx, dword [esp + 4]
mov edi, dword [esp]
xor edx, ebp
mov ebp, ebx
add edx, ecx
mov ecx, eax
and ebp, eax
add edi, edx
ror ecx, 0xd
mov dword [esp], edi
mov edi, eax
ror edi, 2
xor ecx, edi
mov edi, eax
rol edi, 0xa
xor ecx, edi
mov edi, ebx
or edi, eax
and edi, esi
or edi, ebp
add edi, ecx
lea ebp, [edi + edx]
mov edi, dword [esp]
mov ecx, edi
mov edx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 4]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0xfc]
lea edx, [edi + edx - 0x2966f9dc]
mov edi, dword [esp + 0xc]
and edi, dword [esp]
add edx, ecx
mov ecx, dword [esp]
not ecx
and ecx, dword [esp + 8]
xor ecx, edi
mov edi, eax
add ecx, edx
mov edx, ebp
and edi, ebp
add esi, ecx
ror edx, 2
mov dword [esp + 4], esi
mov esi, edx
mov edx, ebp
ror edx, 0xd
xor edx, esi
mov esi, ebp
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, ebp
and esi, ebx
or esi, edi
add esi, edx
mov edx, dword [esp + 0x100]
lea edi, [esi + ecx]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [esp + 8]
lea ecx, [edx + ecx - 0xbf1ca7b]
add esi, ecx
mov ecx, edi
mov edi, dword [esp]
and edi, dword [esp + 4]
not ecx
and ecx, dword [esp + 0xc]
xor ecx, edi
mov edi, dword [esp + 0x10]
add ecx, esi
add ebx, ecx
mov esi, edi
mov dword [esp + 0x18], ebx
mov ebx, edi
ror esi, 2
ror ebx, 0xd
xor ebx, esi
mov esi, edi
rol esi, 0xa
xor ebx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x18]
add esi, ebx
add ecx, esi
mov ebx, edi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, edi
ror ebx, 0xb
ror ecx, 6
xor ebx, ecx
mov ecx, edi
rol ecx, 7
xor ecx, ebx
mov ebx, dword [esp + 0x104]
lea ebx, [esi + ebx + 0x106aa070]
mov esi, dword [esp + 4]
add ebx, ecx
mov ecx, edi
and esi, edi
not ecx
and ecx, dword [esp]
mov edi, dword [esp + 8]
xor ecx, esi
add ecx, ebx
lea ebx, [eax + ecx]
mov eax, edi
mov dword [esp + 0xc], ebx
mov ebx, edi
ror eax, 0xd
mov esi, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x34], ebp
xor eax, ebx
mov ebx, edi
rol ebx, 0xa
xor eax, ebx
mov ebx, esi
and esi, edi
or ebx, edi
and ebx, ebp
mov ebp, dword [esp + 0x30]
or ebx, esi
lea esi, [esp + 0xe8]
add ebx, eax
lea eax, [ebx + ecx]
lea ecx, [esp + 0xc8]
mov dword [esp + 0x24], eax
jmp 0x402f26
mov ebp, dword [ecx + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov ebx, edx
mov edi, dword [ecx + 4]
shr edx, 0xa
rol ebx, 0xf
rol eax, 0xd
add ecx, 4
xor eax, ebx
mov ebx, edi
xor eax, edx
mov edx, edi
rol ebx, 0xe
add eax, dword [ecx - 4]
ror edx, 7
shr edi, 3
xor edx, ebx
xor edx, edi
add eax, edx
add ebp, eax
mov dword [ecx + 0x3c], ebp
cmp esi, ecx
jne 0x402f20
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 8]
mov edx, esi
mov eax, esi
mov ebp, dword [esp + 0x34]
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, esi
rol edx, 7
xor edx, eax
mov eax, dword [esp + 0x108]
lea eax, [edi + eax + 0x19a4c116]
mov edi, esi
add eax, edx
mov edx, dword [esp + 0x18]
not edi
and edi, dword [esp + 4]
and edx, esi
mov esi, dword [esp + 0x18]
xor edx, edi
mov edi, ebx
add edx, eax
mov eax, ebx
ror edi, 2
ror eax, 0xd
add ebp, edx
xor eax, edi
mov edi, ebx
rol edi, 0xa
xor eax, edi
mov edi, ecx
and ecx, ebx
or edi, ebx
and edi, dword [esp + 0x10]
or edi, ecx
add edi, eax
mov eax, dword [esp + 0x10c]
add edi, edx
mov edx, ebp
mov ecx, eax
mov eax, ebp
ror edx, 0xb
mov dword [esp], edi
ror eax, 6
mov dword [esp + 0x30], ecx
xor edx, eax
mov eax, ebp
rol eax, 7
xor eax, edx
mov edx, dword [esp + 4]
lea edx, [ecx + edx + 0x1e376c08]
mov ecx, dword [esp]
add edx, eax
mov eax, ebp
not eax
and esi, eax
mov eax, dword [esp + 0xc]
and eax, ebp
xor eax, esi
add eax, edx
mov edx, dword [esp + 0x10]
lea esi, [edx + eax]
mov edx, edi
ror edx, 2
mov dword [esp + 4], esi
and ecx, ebx
mov esi, edx
mov edx, edi
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, ebx
or esi, edi
and esi, dword [esp + 8]
mov edi, ebx
mov ebx, dword [esp + 4]
or esi, ecx
mov ecx, dword [esp + 0x18]
add esi, edx
mov edx, ebx
add esi, eax
mov eax, ebx
ror edx, 6
ror eax, 0xb
xor eax, edx
mov edx, ebx
rol edx, 7
xor eax, edx
mov edx, dword [esp + 0x110]
lea edx, [ecx + edx + 0x2748774c]
mov ecx, dword [esp]
add edx, eax
mov eax, ebx
not ebx
and ebx, dword [esp + 0xc]
and eax, ebp
and ecx, esi
xor eax, ebx
mov ebx, esi
add eax, edx
mov edx, dword [esp + 8]
ror ebx, 2
add edx, eax
mov dword [esp + 8], edx
mov edx, esi
ror edx, 0xd
xor edx, ebx
mov ebx, esi
rol ebx, 0xa
xor edx, ebx
mov ebx, dword [esp]
or ebx, esi
and ebx, edi
mov edi, dword [esp + 8]
or ebx, ecx
mov ecx, dword [esp + 0xc]
add ebx, edx
mov edx, edi
add ebx, eax
mov eax, edi
ror edx, 0xb
ror eax, 6
xor edx, eax
mov eax, edi
rol eax, 7
xor edx, eax
mov eax, dword [esp + 0x114]
lea ecx, [ecx + eax + 0x34b0bcb5]
add ecx, edx
mov edx, edi
not edx
mov eax, edx
mov edx, dword [esp + 4]
and eax, ebp
and edx, edi
mov edi, esi
xor edx, eax
mov eax, ebx
and edi, ebx
add edx, ecx
mov ecx, dword [esp + 0x24]
ror eax, 2
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, ebx
ror ecx, 0xd
xor ecx, eax
mov eax, ebx
rol eax, 0xa
xor ecx, eax
mov eax, esi
or eax, ebx
and eax, dword [esp]
or eax, edi
mov edi, dword [esp + 0xc]
add eax, ecx
add eax, edx
mov ecx, edi
mov edx, edi
ror edx, 6
ror ecx, 0xb
xor ecx, edx
mov edx, edi
rol edx, 7
xor edx, ecx
mov ecx, dword [esp + 0x118]
lea ecx, [ebp + ecx + 0x391c0cb3]
mov ebp, dword [esp + 8]
add ecx, edx
mov edx, edi
and ebp, edi
not edx
and edx, dword [esp + 4]
mov edi, dword [esp]
xor edx, ebp
mov ebp, ebx
add edx, ecx
mov ecx, eax
and ebp, eax
add edi, edx
ror ecx, 0xd
mov dword [esp], edi
mov edi, eax
ror edi, 2
xor ecx, edi
mov edi, eax
rol edi, 0xa
xor ecx, edi
mov edi, ebx
or edi, eax
and edi, esi
or edi, ebp
add edi, ecx
lea ebp, [edi + edx]
mov edi, dword [esp]
mov ecx, edi
mov edx, edi
ror ecx, 6
ror edx, 0xb
xor edx, ecx
mov ecx, edi
mov edi, dword [esp + 4]
rol ecx, 7
xor ecx, edx
mov edx, dword [esp + 0x11c]
lea edx, [edi + edx + 0x4ed8aa4a]
mov edi, dword [esp + 0xc]
and edi, dword [esp]
add edx, ecx
mov ecx, dword [esp]
not ecx
and ecx, dword [esp + 8]
xor ecx, edi
mov edi, eax
add ecx, edx
mov edx, ebp
and edi, ebp
add esi, ecx
ror edx, 2
mov dword [esp + 4], esi
mov esi, edx
mov edx, ebp
ror edx, 0xd
xor edx, esi
mov esi, ebp
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, ebp
and esi, ebx
or esi, edi
add esi, edx
mov edx, dword [esp + 0x120]
lea edi, [esi + ecx]
mov dword [esp + 0x10], edi
mov edi, dword [esp + 4]
mov ecx, edi
mov esi, edi
ror ecx, 6
ror esi, 0xb
xor esi, ecx
mov ecx, edi
rol ecx, 7
xor esi, ecx
mov ecx, dword [esp + 8]
lea ecx, [edx + ecx + 0x5b9cca4f]
add esi, ecx
mov ecx, edi
mov edi, dword [esp]
and edi, dword [esp + 4]
not ecx
and ecx, dword [esp + 0xc]
xor ecx, edi
mov edi, dword [esp + 0x10]
add ecx, esi
add ebx, ecx
mov esi, edi
mov dword [esp + 0x18], ebx
mov ebx, edi
ror esi, 2
ror ebx, 0xd
xor ebx, esi
mov esi, edi
rol esi, 0xa
xor ebx, esi
mov esi, edi
and edi, ebp
or esi, ebp
and esi, eax
or esi, edi
mov edi, dword [esp + 0x18]
add esi, ebx
add ecx, esi
mov ebx, edi
mov esi, dword [esp + 0xc]
mov dword [esp + 8], ecx
mov ecx, edi
ror ebx, 0xb
ror ecx, 6
xor ebx, ecx
mov ecx, edi
rol ecx, 7
xor ecx, ebx
mov ebx, dword [esp + 0x124]
lea ebx, [esi + ebx + 0x682e6ff3]
mov esi, dword [esp + 4]
add ebx, ecx
mov ecx, edi
and esi, edi
not ecx
and ecx, dword [esp]
mov edi, dword [esp + 8]
xor ecx, esi
add ecx, ebx
lea ebx, [eax + ecx]
mov eax, edi
mov dword [esp + 0xc], ebx
mov ebx, edi
ror eax, 0xd
mov esi, dword [esp + 0x10]
ror ebx, 2
mov dword [esp + 0x34], ebp
xor eax, ebx
mov ebx, edi
rol ebx, 0xa
xor eax, ebx
mov ebx, esi
and esi, edi
or ebx, edi
and ebx, ebp
mov ebp, dword [esp + 0x30]
or ebx, esi
lea esi, [esp + 0x108]
add ebx, eax
lea eax, [ebx + ecx]
lea ecx, [esp + 0xe8]
mov dword [esp + 0x24], eax
jmp 0x4032e6
mov ebp, dword [ecx + 0x24]
mov edx, dword [ecx + 0x38]
mov eax, edx
mov ebx, edx
mov edi, dword [ecx + 4]
shr edx, 0xa
rol ebx, 0xf
rol eax, 0xd
add ecx, 4
xor eax, ebx
mov ebx, edi
xor eax, edx
mov edx, edi
rol ebx, 0xe
add eax, dword [ecx - 4]
ror edx, 7
shr edi, 3
xor edx, ebx
xor edx, edi
add eax, edx
add ebp, eax
mov dword [ecx + 0x3c], ebp
cmp esi, ecx
jne 0x4032e0
mov esi, dword [esp + 0xc]
mov edi, dword [esp]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0x34]
mov ecx, esi
mov eax, esi
mov edx, esi
ror ecx, 6
ror eax, 0xb
not edx
and edx, dword [esp + 4]
xor eax, ecx
mov ecx, esi
rol ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x128]
lea eax, [edi + eax + 0x748f82ee]
mov edi, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x18]
and ecx, esi
xor ecx, edx
mov edx, edi
add ecx, eax
mov eax, edi
ror edx, 2
ror eax, 0xd
add ebp, ecx
xor eax, edx
mov edx, edi
mov dword [esp + 0x24], ebp
rol edx, 0xa
xor eax, edx
mov edx, ebx
and ebx, edi
or edx, edi
and edx, dword [esp + 0x10]
or edx, ebx
mov ebx, ebp
add edx, eax
mov eax, ebp
ror ebx, 0xb
ror eax, 6
add edx, ecx
mov ecx, dword [esp + 0x12c]
xor ebx, eax
mov eax, ebp
rol eax, 7
xor eax, ebx
mov ebx, dword [esp + 4]
lea ebx, [ebx + ecx + 0x78a5636f]
mov ecx, ebp
mov ebp, esi
add ebx, eax
mov eax, dword [esp + 0x24]
not ecx
and ecx, dword [esp + 0x18]
and eax, esi
mov esi, edi
xor eax, ecx
mov ecx, dword [esp + 0x10]
add eax, ebx
lea ebx, [ecx + eax]
mov ecx, edx
mov dword [esp], ebx
mov ebx, edx
ror ecx, 2
and esi, edx
ror ebx, 0xd
xor ebx, ecx
mov ecx, edx
rol ecx, 0xa
xor ebx, ecx
mov ecx, edi
or ecx, edx
and ecx, dword [esp + 8]
or ecx, esi
add ecx, ebx
add ecx, eax
mov eax, dword [esp]
mov esi, eax
mov ebx, eax
ror esi, 6
ror ebx, 0xb
xor ebx, esi
mov esi, eax
mov eax, dword [esp + 0x130]
rol esi, 7
xor ebx, esi
mov esi, dword [esp + 0x18]
lea esi, [esi + eax - 0x7b3787ec]
mov eax, dword [esp]
add esi, ebx
mov ebx, dword [esp + 0x24]
and ebx, dword [esp]
not eax
and eax, ebp
mov ebp, edi
xor ebx, eax
mov eax, ecx
add ebx, esi
mov esi, dword [esp + 8]
ror eax, 2
add esi, ebx
mov dword [esp + 4], esi
mov esi, ecx
ror esi, 0xd
xor esi, eax
mov eax, ecx
rol eax, 0xa
xor esi, eax
mov eax, edx
or eax, ecx
and eax, edi
mov edi, edx
and edi, ecx
or eax, edi
mov edi, dword [esp + 4]
add eax, esi
add eax, ebx
mov esi, edi
mov ebx, edi
ror esi, 6
ror ebx, 0xb
xor ebx, esi
mov esi, edi
mov edi, dword [esp + 0xc]
rol esi, 7
xor ebx, esi
mov esi, dword [esp + 0x134]
lea esi, [edi + esi - 0x7338fdf8]
mov edi, dword [esp]
and edi, dword [esp + 4]
add esi, ebx
mov ebx, dword [esp + 4]
not ebx
and ebx, dword [esp + 0x24]
xor ebx, edi
add ebx, esi
lea esi, [ebp + ebx]
mov ebp, eax
ror ebp, 2
mov dword [esp + 0xc], esi
mov edi, ebp
mov ebp, eax
ror ebp, 0xd
mov esi, ebp
mov ebp, eax
xor esi, edi
rol ebp, 0xa
xor esi, ebp
mov ebp, ecx
or ebp, eax
mov edi, ebp
mov ebp, ecx
and ebp, eax
and edi, edx
or edi, ebp
mov ebp, dword [esp + 0xc]
add edi, esi
add edi, ebx
mov esi, ebp
mov ebx, ebp
ror ebx, 6
ror esi, 0xb
mov dword [esp + 8], edi
mov edi, dword [esp + 0x24]
xor esi, ebx
mov ebx, ebp
rol ebx, 7
xor ebx, esi
mov esi, dword [esp + 0x138]
lea esi, [edi + esi - 0x6f410006]
mov edi, dword [esp + 4]
add esi, ebx
mov ebx, ebp
and edi, ebp
not ebx
and ebx, dword [esp]
xor ebx, edi
mov edi, dword [esp + 8]
add ebx, esi
add edx, ebx
mov esi, edi
mov ebp, edx
mov edx, edi
ror esi, 2
ror edx, 0xd
xor edx, esi
mov esi, edi
rol esi, 0xa
xor edx, esi
mov esi, eax
or esi, edi
mov edi, dword [esp + 8]
and esi, ecx
and edi, eax
or esi, edi
add esi, edx
mov edx, ebp
lea edi, [esi + ebx]
mov esi, ebp
rol edx, 7
ror esi, 6
mov ebx, esi
mov esi, ebp
ror esi, 0xb
xor esi, ebx
mov ebx, edx
mov edx, dword [esp + 0x13c]
xor ebx, esi
mov esi, dword [esp]
mov dword [esp], ebp
lea esi, [esi + edx - 0x5baf9315]
mov edx, ebp
add esi, ebx
mov ebx, dword [esp + 0xc]
not edx
and edx, dword [esp + 4]
and ebx, ebp
xor ebx, edx
mov edx, edi
add ebx, esi
ror edx, 2
mov esi, dword [esp + 8]
add ecx, ebx
mov ebp, ecx
mov ecx, edi
and esi, edi
ror ecx, 0xd
xor ecx, edx
mov edx, edi
rol edx, 0xa
xor ecx, edx
mov edx, dword [esp + 8]
or edx, edi
and edx, eax
or edx, esi
mov esi, ebp
add edx, ecx
mov ecx, dword [esp + 0x140]
add edx, ebx
mov ebx, ebp
ror esi, 6
ror ebx, 0xb
xor ebx, esi
mov esi, ebp
rol esi, 7
xor esi, ebx
mov ebx, dword [esp + 4]
mov dword [esp + 4], ebp
lea ebx, [ebx + ecx - 0x41065c09]
mov ecx, ebp
add ebx, esi
mov esi, dword [esp]
not ecx
and ecx, dword [esp + 0xc]
and esi, ebp
mov ebp, edi
xor esi, ecx
add esi, ebx
mov ebx, edx
ror ebx, 2
add eax, esi
mov ecx, ebx
mov ebx, edx
ror ebx, 0xd
xor ebx, ecx
mov ecx, edx
rol ecx, 0xa
xor ebx, ecx
mov ecx, edi
and edi, edx
or ecx, edx
and ecx, dword [esp + 8]
or ecx, edi
mov edi, dword [esp + 0xc]
mov dword [esp + 0xc], ebp
add ecx, ebx
mov ebx, eax
ror ebx, 6
add ecx, esi
mov esi, ebx
mov ebx, eax
ror ebx, 0xb
xor ebx, esi
mov esi, eax
rol esi, 7
xor esi, ebx
mov ebx, dword [esp + 0x144]
lea ebx, [edi + ebx - 0x398e870e]
mov edi, dword [esp + 4]
add ebx, esi
mov esi, eax
and edi, eax
not esi
and esi, dword [esp]
xor esi, edi
add esi, ebx
mov ebx, ecx
ror ebx, 2
mov edi, ebx
mov ebx, ecx
ror ebx, 0xd
xor ebx, edi
mov edi, ecx
rol edi, 0xa
xor ebx, edi
mov edi, edx
or edi, ecx
and edi, ebp
mov ebp, edx
add edx, dword [esp + 0x28]
and ebp, ecx
add ecx, dword [esp + 0x14]
or edi, ebp
add ebx, edi
mov edi, dword [esp + 0x44]
add ebx, dword [esp + 0x38]
add ebx, esi
mov dword [edi + 0x4c], ebx
mov ebx, edi
mov dword [edi + 0x50], ecx
mov dword [edi + 0x54], edx
mov edx, dword [esp + 0x3c]
add edx, dword [esp + 0xc]
add eax, dword [esp + 0x20]
mov dword [edi + 0x58], edx
mov edx, dword [esp + 0x1c]
add edx, dword [esp + 8]
mov dword [ebx + 0x60], eax
mov edi, edx
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
add edi, esi
add eax, dword [esp + 4]
add edx, dword [esp]
mov dword [ebx + 0x5c], edi
mov dword [ebx + 0x64], eax
mov dword [ebx + 0x68], edx
add esp, 0x148
pop ebx
pop esi
pop edi
pop ebp
ret 4