Function at 0x4de440
Capabilities:
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xd0
mov dword [esp + 0x2c], edx
mov edx, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [esp + 0xac], ecx
movaps xmmword [esp + 0x90], xmm0
movaps xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x70], xmm0
movaps xmmword [esp + 0x60], xmm0
test edx, edx
je 0x4df375
mov eax, dword [esp + 0xac]
mov esi, dword [eax + 4]
mov edi, dword [eax + 8]
mov ecx, dword [eax]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x38], esi
mov esi, dword [eax + 0xc]
mov dword [esp + 0x34], edi
mov edi, dword [eax + 0x18]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], esi
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x48], edi
nop dword [eax + eax]
mov dword [esp + 0xb0], edx
mov edx, esi
mov ebx, eax
mov eax, dword [esp + 0x2c]
mov ecx, esi
mov edi, esi
mov dword [esp + 0x50], esi
rol esi, 7
rol edx, 0x15
rol ecx, 0x1a
mov dword [esp + 0x5c], ebx
xor esi, edx
mov edx, edi
xor esi, ecx
mov ecx, dword [esp + 0x40]
not edx
and edx, dword [esp + 0x48]
mov eax, dword [eax]
add esi, ebx
mov ebx, dword [esp + 0x34]
and ecx, edi
or edx, ecx
bswap eax
mov dword [esp + 0x34], ebx
add esi, edx
mov dword [esp + 0x60], eax
lea ecx, [esi + eax]
lea eax, [eax + esi + 0x428a2f98]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
mov esi, ecx
mov edi, ecx
mov edx, ecx
rol esi, 0x13
rol edi, 0xa
rol edx, 0x1e
xor edi, esi
mov esi, dword [esp + 0x38]
xor edi, edx
mov edx, ebx
and ebx, ecx
mov eax, esi
and edx, esi
and eax, ecx
xor edx, eax
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x4c]
xor edx, ebx
add edx, edi
add edx, dword [esp + 0x10]
mov ecx, edx
mov edx, dword [esp + 0x14]
mov ebx, ecx
mov esi, ecx
mov dword [esp + 0x10], ecx
rol ebx, 0xa
and esi, dword [esp + 0x3c]
lea edi, [eax + edx + 0x428a2f98]
mov eax, edi
mov edx, edi
mov dword [esp + 8], edi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 0x50]
and edi, dword [esp + 0x40]
or edi, eax
mov eax, dword [esp + 0x2c]
add edi, dword [esp + 0x48]
mov eax, dword [eax + 4]
bswap eax
add edi, eax
mov dword [esp + 0x64], eax
lea eax, [edi + edx]
lea edx, [edx + edi + 0x71374491]
mov edi, ecx
rol edi, 0x13
xor ebx, edi
mov edi, ecx
rol edi, 0x1e
xor ebx, edi
mov edi, ecx
mov ecx, dword [esp + 0xc]
and edi, dword [esp + 0x38]
xor ecx, esi
xor ecx, edi
add ecx, ebx
add ecx, edx
mov edi, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0xc], edi
lea edx, [ecx + eax + 0x71374491]
mov eax, edx
mov ecx, edx
mov dword [esp + 0x20], edx
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, edx
rol eax, 0x1a
xor ecx, eax
mov eax, edx
not edx
and eax, dword [esp + 8]
and edx, dword [esp + 0x50]
or edx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
bswap eax
mov dword [esp + 0x68], eax
add eax, dword [esp + 0x40]
add eax, edx
lea edx, [eax + ecx]
lea ebx, [ecx + eax - 0x4a3f0431]
mov ecx, edi
mov eax, edi
rol ecx, 0x13
rol eax, 0xa
mov dword [esp + 0x1c], edx
mov edx, edi
xor eax, ecx
mov ecx, edi
and edi, dword [esp + 0x10]
rol ecx, 0x1e
xor eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x2c]
and ecx, dword [esp + 0x3c]
xor esi, edi
mov dword [esp + 0x14], edi
xor esi, ecx
mov ecx, dword [esp + 0x1c]
add esi, eax
mov eax, dword [esp + 0x38]
add esi, ebx
mov dword [esp + 0x18], esi
lea ebx, [eax + ecx - 0x4a3f0431]
mov eax, ebx
mov ecx, ebx
mov dword [esp + 0x1c], ebx
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, ebx
rol eax, 0x1a
xor ecx, eax
mov eax, ebx
not ebx
and eax, dword [esp + 0x20]
and ebx, dword [esp + 8]
or ebx, eax
mov eax, dword [edx + 0xc]
bswap eax
mov dword [esp + 0x6c], eax
add eax, dword [esp + 0x50]
add eax, ebx
lea edi, [eax + ecx]
lea ebx, [ecx + eax - 0x164a245b]
mov eax, esi
mov ecx, esi
mov dword [esp + 0x28], edi
mov edi, esi
rol eax, 0x13
rol edi, 0xa
xor edi, eax
mov eax, esi
and esi, dword [esp + 0xc]
rol eax, 0x1e
xor edi, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
and eax, dword [esp + 0x10]
xor ecx, esi
xor ecx, eax
mov eax, dword [esp + 0x3c]
add ecx, edi
mov edi, dword [esp + 0x28]
add ecx, ebx
mov dword [esp + 0x14], ecx
lea ebx, [eax + edi - 0x164a245b]
mov eax, ebx
mov edi, ebx
mov dword [esp + 0x28], ebx
rol eax, 0x15
rol edi, 7
xor edi, eax
mov eax, ebx
rol eax, 0x1a
xor edi, eax
mov eax, ebx
not ebx
and eax, dword [esp + 0x1c]
and ebx, dword [esp + 0x20]
or ebx, eax
mov eax, dword [edx + 0x10]
mov edx, ecx
rol edx, 0xa
bswap eax
mov dword [esp + 0x70], eax
add eax, dword [esp + 8]
add eax, ebx
mov ebx, ecx
lea eax, [edi + eax + 0x3956c25b]
mov edi, ecx
and ebx, dword [esp + 0x18]
rol edi, 0x13
xor edx, edi
mov edi, ecx
rol edi, 0x1e
xor edx, edi
mov edi, ecx
mov ecx, dword [esp + 0x10]
xor esi, ebx
and edi, dword [esp + 0xc]
add ecx, eax
xor esi, edi
mov edi, ecx
mov dword [esp + 0x10], ecx
add esi, edx
mov edx, ecx
not edi
add esi, eax
mov eax, ecx
rol edx, 7
and edi, dword [esp + 0x1c]
rol eax, 0x15
mov dword [esp + 0x24], esi
xor edx, eax
mov eax, ecx
rol eax, 0x1a
xor edx, eax
mov eax, ecx
and eax, dword [esp + 0x28]
or edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x14]
bswap eax
mov dword [esp + 0x74], eax
add eax, dword [esp + 0x20]
add eax, edi
mov edi, esi
lea ecx, [edx + eax + 0x59f111f1]
mov edx, esi
mov eax, esi
rol edi, 0xa
and eax, dword [esp + 0x14]
rol edx, 0x13
xor edi, edx
mov edx, esi
and esi, dword [esp + 0x18]
rol edx, 0x1e
xor edi, edx
xor ebx, eax
mov dword [esp + 8], eax
xor ebx, esi
add ebx, edi
mov edi, dword [esp + 0xc]
add ebx, ecx
mov esi, ebx
mov dword [esp + 0x30], ebx
and esi, dword [esp + 0x24]
add edi, ecx
mov ecx, dword [esp + 8]
mov eax, edi
mov edx, edi
mov dword [esp + 0xc], edi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor ecx, esi
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 0x10]
and edi, dword [esp + 0x28]
or edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x18]
bswap eax
mov dword [esp + 0x78], eax
add eax, dword [esp + 0x1c]
add eax, edi
mov edi, ebx
lea eax, [edx + eax - 0x6dc07d5c]
mov edx, ebx
rol edi, 0xa
rol edx, 0x13
xor edi, edx
mov edx, ebx
rol edx, 0x1e
xor edi, edx
mov edx, ebx
and edx, dword [esp + 0x14]
xor ecx, edx
add ecx, edi
mov edi, dword [esp + 0x18]
add ecx, eax
mov ebx, ecx
mov dword [esp + 8], ecx
and ebx, dword [esp + 0x30]
add edi, eax
mov eax, edi
mov edx, edi
mov dword [esp + 0x18], edi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, edi
xor esi, ebx
rol eax, 0x1a
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 0xc]
and edi, dword [esp + 0x10]
or edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
bswap eax
mov dword [esp + 0x7c], eax
add eax, dword [esp + 0x28]
add eax, edi
mov edi, ecx
lea eax, [edx + eax - 0x54e3a12b]
mov edx, ecx
rol edi, 0xa
rol edx, 0x13
xor edi, edx
mov edx, ecx
rol edx, 0x1e
xor edi, edx
mov edx, ecx
and edx, dword [esp + 0x24]
xor esi, edx
add esi, edi
mov edi, dword [esp + 0x14]
add esi, eax
mov dword [esp + 0x20], esi
add edi, eax
mov eax, edi
mov edx, edi
mov dword [esp + 0x14], edi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 0x18]
and edi, dword [esp + 0xc]
or edi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
bswap eax
mov dword [esp + 0x80], eax
add eax, dword [esp + 0x10]
add eax, edi
mov edi, esi
lea eax, [edx + eax - 0x27f85568]
mov edx, esi
rol esi, 0xa
mov ecx, edi
rol edx, 0x13
and ecx, dword [esp + 8]
xor esi, edx
mov edx, edi
rol edx, 0x1e
xor esi, edx
mov edx, edi
mov edi, dword [esp + 0x24]
and edx, dword [esp + 0x30]
xor ebx, ecx
add edi, eax
xor ebx, edx
mov edx, edi
mov dword [esp + 0x24], edi
add ebx, esi
rol edx, 7
mov esi, edi
add ebx, eax
mov eax, edi
not esi
rol eax, 0x15
and esi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor edx, eax
mov eax, edi
mov edi, ebx
and eax, dword [esp + 0x14]
and edi, dword [esp + 0x20]
or esi, eax
mov eax, dword [esp + 0x2c]
xor ecx, edi
mov eax, dword [eax + 0x24]
bswap eax
mov dword [esp + 0x84], eax
add eax, dword [esp + 0xc]
add eax, esi
mov esi, ebx
lea eax, [edx + eax + 0x12835b01]
mov edx, ebx
rol esi, 0xa
rol edx, 0x13
xor esi, edx
mov edx, ebx
and ebx, dword [esp + 8]
rol edx, 0x1e
xor esi, edx
xor ecx, ebx
add ecx, esi
mov esi, dword [esp + 0x30]
add ecx, eax
mov ebx, ecx
mov dword [esp + 0xc], ecx
and ebx, dword [esp + 0x1c]
add esi, eax
mov eax, esi
mov edx, esi
mov dword [esp + 0x30], esi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, esi
xor edi, ebx
rol eax, 0x1a
xor edx, eax
mov eax, esi
not esi
and eax, dword [esp + 0x24]
and esi, dword [esp + 0x14]
or esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x28]
bswap eax
mov dword [esp + 0x88], eax
add eax, dword [esp + 0x18]
add eax, esi
mov esi, ecx
lea eax, [edx + eax + 0x243185be]
mov edx, ecx
rol esi, 0xa
rol edx, 0x13
xor esi, edx
mov edx, ecx
and ecx, dword [esp + 0x20]
rol edx, 0x1e
xor esi, edx
xor edi, ecx
add edi, esi
mov esi, dword [esp + 8]
add edi, eax
mov dword [esp + 0x18], edi
add esi, eax
mov eax, esi
mov edx, esi
mov dword [esp + 8], esi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, esi
rol eax, 0x1a
xor edx, eax
mov eax, esi
not esi
and eax, dword [esp + 0x30]
and esi, dword [esp + 0x24]
or esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x2c]
bswap eax
mov dword [esp + 0x8c], eax
add eax, dword [esp + 0x14]
add eax, esi
mov esi, edi
lea ecx, [edx + eax + 0x550c7dc3]
mov edx, edi
mov eax, edi
rol esi, 0xa
and eax, dword [esp + 0xc]
rol edx, 0x13
xor esi, edx
mov edx, edi
and edi, dword [esp + 0x1c]
rol edx, 0x1e
xor esi, edx
xor ebx, eax
mov dword [esp + 0x28], eax
xor ebx, edi
add ebx, esi
mov esi, dword [esp + 0x20]
add ebx, ecx
mov edi, ebx
mov dword [esp + 0x10], ebx
and edi, dword [esp + 0x18]
add esi, ecx
mov ecx, ebx
mov eax, esi
mov edx, esi
mov dword [esp + 0x20], esi
rol ecx, 0x13
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, esi
rol eax, 0x1a
xor edx, eax
mov eax, esi
not esi
and eax, dword [esp + 8]
and esi, dword [esp + 0x30]
or esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x30]
bswap eax
mov dword [esp + 0x90], eax
add eax, dword [esp + 0x24]
add eax, esi
mov esi, ebx
rol esi, 0xa
lea eax, [edx + eax + 0x72be5d74]
mov edx, dword [esp + 0x28]
xor esi, ecx
mov ecx, ebx
rol ecx, 0x1e
xor esi, ecx
mov ecx, ebx
and ecx, dword [esp + 0xc]
xor edx, edi
xor edx, ecx
add edx, esi
mov esi, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x28], edx
add esi, eax
mov eax, esi
mov ecx, esi
mov dword [esp + 0x1c], esi
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, esi
rol eax, 0x1a
xor ecx, eax
mov eax, esi
not esi
and eax, dword [esp + 0x20]
and esi, dword [esp + 8]
or esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x34]
bswap eax
mov dword [esp + 0x94], eax
add eax, dword [esp + 0x30]
add eax, esi
mov esi, edx
lea ebx, [ecx + eax - 0x7f214e02]
mov ecx, edx
rol esi, 0xa
mov eax, edx
rol ecx, 0x13
and eax, dword [esp + 0x10]
xor esi, ecx
mov ecx, edx
rol ecx, 0x1e
xor esi, ecx
mov ecx, edx
and ecx, dword [esp + 0x18]
xor edi, eax
mov dword [esp + 0x24], eax
xor edi, ecx
add edi, esi
mov esi, dword [esp + 0xc]
add edi, ebx
add esi, ebx
mov ebx, edi
mov eax, esi
mov ecx, esi
mov dword [esp + 0xc], esi
and ebx, dword [esp + 0x10]
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, esi
rol eax, 0x1a
xor ecx, eax
mov eax, esi
not esi
and eax, dword [esp + 0x1c]
and esi, dword [esp + 0x20]
or esi, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x38]
bswap eax
mov dword [esp + 0x98], eax
add eax, dword [esp + 8]
mov dword [esp + 8], edi
add eax, esi
mov esi, edi
lea eax, [ecx + eax - 0x6423f959]
mov ecx, edi
rol esi, 0xa
rol ecx, 0x13
xor esi, ecx
mov ecx, edi
rol ecx, 0x1e
xor esi, ecx
mov ecx, edi
xor edi, dword [esp + 0x28]
and ecx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], ecx
xor edx, ecx
xor edx, ebx
mov ebx, dword [esp + 0x18]
add edx, esi
add edx, eax
and edi, edx
mov dword [esp + 0x24], edx
add ebx, eax
xor edi, dword [esp + 0x14]
mov eax, ebx
mov esi, ebx
mov dword [esp + 0x18], ebx
rol eax, 0x15
rol esi, 7
xor esi, eax
mov eax, ebx
rol eax, 0x1a
xor esi, eax
mov eax, ebx
not ebx
and eax, dword [esp + 0xc]
and ebx, dword [esp + 0x1c]
or ebx, eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x3c]
bswap eax
mov dword [esp + 0x9c], eax
add eax, dword [esp + 0x20]
add eax, ebx
mov ebx, edx
lea ecx, [esi + eax - 0x3e640e8c]
mov eax, edx
mov esi, edx
rol ebx, 0xa
rol eax, 0x13
rol esi, 0x1e
add dword [esp + 0x10], ecx
xor ebx, eax
xor ebx, esi
add edi, ebx
add edi, ecx
mov ecx, 0x12
mov edx, edi
nop word cs:[eax + eax]
nop dword [eax + eax]
mov dword [esp + 0x20], edx
lea edx, [ecx - 1]
and edx, 9
mov eax, dword [esp + edx*4 + 0x60]
mov dword [esp + 0x58], edx
mov edx, ecx
mov ecx, eax
mov ebx, eax
mov dword [esp + 0x44], eax
rol ecx, 0x19
shr ebx, 3
xor ebx, ecx
mov ecx, eax
mov eax, edx
rol ecx, 0xe
lea esi, [eax - 2]
mov dword [esp + 0x14], eax
xor ebx, ecx
lea ecx, [edx + 0xc]
mov dword [esp + 0xc8], esi
and esi, 8
and ecx, 0xe
mov dword [esp + 0x30], esi
mov edx, dword [esp + ecx*4 + 0x60]
mov dword [esp + 0xc0], ecx
mov ecx, edx
mov edi, edx
shr edx, 0xa
rol ecx, 0xf
rol edi, 0xd
xor edx, ecx
mov ecx, dword [esp + esi*4 + 0x60]
xor edx, edi
lea edi, [eax + 7]
and edi, 9
add ecx, dword [esp + edi*4 + 0x60]
add ecx, ebx
mov ebx, dword [esp + 0x10]
add ecx, edx
mov dword [esp + esi*4 + 0x60], ecx
mov esi, dword [esp + 0x20]
mov edx, ebx
mov edi, ebx
mov dword [esp + 0x10], ebx
rol edx, 0x15
rol edi, 7
xor edi, edx
mov edx, ebx
rol edx, 0x1a
xor edi, edx
mov edx, dword [esp + 0x18]
add edi, dword [esp + 0x1c]
and edx, ebx
not ebx
and ebx, dword [esp + 0xc]
or ebx, edx
mov edx, esi
add ebx, edi
rol edx, 0xa
add ebx, dword [eax*4 + 0x536e38]
mov eax, dword [esp + 0x24]
add ebx, ecx
mov ecx, esi
rol ecx, 0x13
add dword [esp + 0x28], ebx
xor edx, ecx
mov ecx, esi
rol ecx, 0x1e
xor edx, ecx
mov ecx, eax
and ecx, esi
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 8]
mov edi, ecx
mov dword [esp + 8], ecx
and ecx, eax
xor ecx, dword [esp + 0x54]
and edi, esi
mov esi, dword [esp + 0x14]
xor ecx, edi
add ecx, edx
mov edx, esi
and edx, 0xa
add ecx, ebx
mov dword [esp + 0xb8], edx
mov edx, dword [esp + edx*4 + 0x60]
mov dword [esp + 0x1c], ecx
mov edi, edx
mov ebx, edx
shr edx, 3
rol edi, 0x19
rol ebx, 0xe
xor edx, edi
lea edi, [esi + 0xd]
and edi, 0xf
xor edx, ebx
mov dword [esp + 0xbc], edi
mov edi, dword [esp + edi*4 + 0x60]
mov ebx, edi
mov eax, edi
shr edi, 0xa
rol ebx, 0xf
rol eax, 0xd
xor edi, ebx
mov ebx, dword [esp + 0x44]
xor edi, eax
lea eax, [esi + 8]
mov dword [esp + 0xc4], eax
and eax, 0xa
add ebx, dword [esp + eax*4 + 0x60]
add ebx, edx
add ebx, edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0xc]
mov eax, edi
mov edx, edi
rol eax, 0x15
rol edx, 7
add ebx, dword [esi*4 + 0x536e3c]
mov esi, dword [esp + 0x44]
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 0x10]
and edi, dword [esp + 0x18]
or edi, eax
mov eax, dword [esp + 0x58]
add ebx, edi
mov edi, ecx
add ebx, edx
mov edx, ecx
and edi, dword [esp + 0x24]
rol edx, 0xa
add ebx, esi
mov dword [esp + eax*4 + 0x60], esi
mov eax, ecx
mov esi, dword [esp + 0x14]
add dword [esp + 8], ebx
rol eax, 0x13
xor edx, eax
mov eax, ecx
and ecx, dword [esp + 0x20]
rol eax, 0x1e
xor edx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xb4], ecx
xor eax, ecx
mov ecx, dword [esp + 0x30]
xor eax, edi
add eax, edx
add ebx, eax
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + ecx*4 + 0x6c]
mov dword [esp + 0xc], ebx
mov edx, ecx
mov edi, ecx
shr ecx, 3
rol edx, 0x19
rol edi, 0xe
xor ecx, edx
lea edx, [esi + 0xe]
and edx, 8
xor ecx, edi
mov dword [esp + 0x44], edx
mov edx, dword [esp + edx*4 + 0x60]
mov edi, edx
mov ebx, edx
shr edx, 0xa
rol edi, 0xf
rol ebx, 0xd
xor edx, edi
lea edi, [esi + 9]
xor edx, ebx
mov ebx, dword [esp + eax*4 + 0x60]
and edi, 0xb
add ebx, dword [esp + edi*4 + 0x60]
mov edi, dword [esp + 8]
add ebx, ecx
mov ecx, edi
add ebx, edx
mov edx, edi
rol ecx, 0x15
rol edx, 7
mov dword [esp + eax*4 + 0x60], ebx
mov eax, dword [esp + 0xb4]
xor edx, ecx
mov ecx, edi
rol ecx, 0x1a
xor edx, ecx
mov ecx, edi
not edi
and ecx, dword [esp + 0x28]
and edi, dword [esp + 0x10]
or edi, ecx
mov ecx, dword [esp + 0x18]
add ecx, dword [esi*4 + 0x536e40]
add ecx, ebx
add ecx, edi
mov edi, dword [esp + 0xc]
add ecx, edx
mov ebx, ecx
add dword [esp + 0x24], ebx
mov ecx, edi
mov edx, edi
rol ecx, 0x13
rol edx, 0xa
xor edx, ecx
mov ecx, edi
rol ecx, 0x1e
xor edx, ecx
mov ecx, edi
and edi, dword [esp + 0x20]
and ecx, dword [esp + 0x1c]
xor eax, ecx
xor eax, edi
add eax, edx
add ebx, eax
lea eax, [esi + 2]
and eax, 0xc
mov dword [esp + 0x18], ebx
mov edx, dword [esp + eax*4 + 0x60]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x58]
mov edi, edx
mov ebx, edx
shr edx, 3
rol edi, 0x19
rol ebx, 0xe
xor edx, edi
mov edi, dword [esp + eax*4 + 0x60]
xor edx, ebx
mov ebx, edi
mov eax, edi
shr edi, 0xa
rol ebx, 0xf
rol eax, 0xd
xor edi, ebx
lea ebx, [esi + 1]
and ebx, 0xb
xor edi, eax
lea eax, [esi + 0xa]
mov esi, dword [esp + ebx*4 + 0x60]
and eax, 0xc
add esi, dword [esp + eax*4 + 0x60]
add esi, edx
add esi, edi
mov edi, dword [esp + 0x24]
mov dword [esp + ebx*4 + 0x60], esi
mov ebx, dword [esp + 0x14]
mov eax, edi
mov edx, edi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, edi
rol eax, 0x1a
xor edx, eax
mov eax, edi
not edi
and eax, dword [esp + 8]
and edi, dword [esp + 0x28]
or edi, eax
mov eax, dword [esp + 0x10]
add eax, dword [ebx*4 + 0x536e44]
add eax, esi
mov esi, dword [esp + 0x18]
add eax, edi
add eax, edx
mov edi, eax
mov eax, esi
mov edx, esi
mov ebx, esi
add dword [esp + 0x20], edi
rol eax, 0x13
rol edx, 0xa
and ebx, dword [esp + 0xc]
xor edx, eax
mov eax, esi
rol eax, 0x1e
xor edx, eax
mov eax, esi
and eax, dword [esp + 0x1c]
xor ecx, ebx
xor ecx, eax
mov eax, dword [esp + 0x30]
add ecx, edx
add edi, ecx
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x14]
mov eax, dword [esp + eax*4 + 0x74]
mov ecx, eax
mov edx, eax
shr eax, 3
rol ecx, 0x19
rol edx, 0xe
xor eax, ecx
lea ecx, [edi + 0x10]
and ecx, 0xa
xor eax, edx
mov ecx, dword [esp + ecx*4 + 0x60]
mov edx, ecx
mov esi, ecx
shr ecx, 0xa
rol edx, 0xf
rol esi, 0xd
xor ecx, edx
lea edx, [edi + 0xb]
mov edi, dword [esp + 0x54]
xor ecx, esi
and edx, 0xd
mov esi, dword [esp + edi*4 + 0x60]
add esi, dword [esp + edx*4 + 0x60]
mov edx, dword [esp + 0x20]
add esi, eax
mov eax, edx
mov dword [esp + 0x20], edx
add esi, ecx
mov ecx, edx
rol eax, 0x15
rol ecx, 7
mov dword [esp + edi*4 + 0x60], esi
mov edi, dword [esp + 0x14]
xor ecx, eax
mov eax, edx
rol eax, 0x1a
xor ecx, eax
mov eax, edx
not edx
and eax, dword [esp + 0x24]
and edx, dword [esp + 8]
or edx, eax
mov eax, dword [esp + 0x28]
add eax, dword [edi*4 + 0x536e48]
add eax, esi
mov esi, dword [esp + 0x10]
add eax, edx
add eax, ecx
add dword [esp + 0x1c], eax
mov ecx, esi
mov edx, esi
rol ecx, 0x13
rol edx, 0xa
xor edx, ecx
mov ecx, esi
rol ecx, 0x1e
xor edx, ecx
mov ecx, esi
and esi, dword [esp + 0xc]
and ecx, dword [esp + 0x18]
xor ebx, ecx
xor ebx, esi
add ebx, edx
add ebx, eax
lea eax, [edi + 4]
and eax, 0xe
mov dword [esp + 0x28], ebx
mov ebx, edi
mov edx, dword [esp + eax*4 + 0x60]
mov dword [esp + 0x58], eax
mov eax, ebx
mov esi, edx
mov edi, edx
shr edx, 3
rol esi, 0x19
rol edi, 0xe
xor edx, esi
lea esi, [ebx + 0x11]
and esi, 0xb
xor edx, edi
mov esi, dword [esp + esi*4 + 0x60]
mov edi, esi
mov ebx, esi
shr esi, 0xa
rol edi, 0xf
rol ebx, 0xd
xor esi, edi
lea edi, [eax + 3]
mov eax, dword [esp + 0xc0]
and edi, 0xd
xor esi, ebx
mov ebx, dword [esp + edi*4 + 0x60]
add ebx, dword [esp + eax*4 + 0x60]
mov eax, dword [esp + 0x14]
add ebx, edx
add ebx, esi
mov dword [esp + edi*4 + 0x60], ebx
mov edi, dword [esp + 0x1c]
mov edx, edi
mov esi, edi
mov dword [esp + 0x1c], edi
rol edx, 0x15
rol esi, 7
xor esi, edx
mov edx, edi
rol edx, 0x1a
xor esi, edx
mov edx, edi
not edi
and edx, dword [esp + 0x20]
and edi, dword [esp + 0x24]
or edi, edx
mov edx, dword [esp + 8]
add edx, dword [eax*4 + 0x536e4c]
mov eax, dword [esp + 0x28]
add edx, ebx
mov ebx, eax
add edx, edi
mov edi, eax
and ebx, dword [esp + 0x10]
add edx, esi
mov esi, eax
rol edi, 0xa
rol esi, 0x13
add dword [esp + 0xc], edx
xor edi, esi
mov esi, eax
rol esi, 0x1e
xor ecx, ebx
xor edi, esi
mov esi, eax
mov eax, dword [esp + 0x14]
and esi, dword [esp + 0x18]
xor ecx, esi
add ecx, edi
add ecx, edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x30]
mov ecx, dword [esp + ecx*4 + 0x7c]
mov edx, ecx
mov esi, ecx
shr ecx, 3
rol edx, 0x19
rol esi, 0xe
xor ecx, edx
lea edx, [eax + 0x12]
mov eax, dword [esp + 0xbc]
and edx, 0xc
xor ecx, esi
mov edx, dword [esp + edx*4 + 0x60]
mov esi, edx
mov edi, edx
shr edx, 0xa
rol esi, 0xf
rol edi, 0xd
xor edx, esi
xor edx, edi
mov edi, dword [esp + 0x58]
mov esi, dword [esp + edi*4 + 0x60]
add esi, dword [esp + eax*4 + 0x60]
add esi, ecx
add esi, edx
mov edx, dword [esp + 0xc]
mov dword [esp + edi*4 + 0x60], esi
mov edi, dword [esp + 0x14]
mov eax, edx
mov ecx, edx
rol eax, 0x15
rol ecx, 7
xor ecx, eax
mov eax, edx
rol eax, 0x1a
xor ecx, eax
mov eax, edx
not edx
and eax, dword [esp + 0x1c]
and edx, dword [esp + 0x20]
or edx, eax
mov eax, dword [esp + 0x24]
add eax, dword [edi*4 + 0x536e50]
add eax, esi
mov esi, dword [esp + 8]
add eax, edx
add eax, ecx
add dword [esp + 0x18], eax
mov ecx, esi
mov edx, esi
rol ecx, 0x13
rol edx, 0xa
xor edx, ecx
mov ecx, esi
rol ecx, 0x1e
xor edx, ecx
mov ecx, esi
and esi, dword [esp + 0x10]
and ecx, dword [esp + 0x28]
xor ebx, ecx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x14]
xor ebx, esi
add ebx, edx
add ebx, eax
lea eax, [ecx + 6]
mov dword [esp + 0x24], ebx
and eax, 8
mov eax, dword [esp + eax*4 + 0x60]
mov edx, eax
mov esi, eax
shr eax, 3
rol edx, 0x19
rol esi, 0xe
xor eax, edx
lea edx, [ecx + 0x13]
and edx, 0xd
xor eax, esi
mov edx, dword [esp + edx*4 + 0x60]
mov esi, edx
mov edi, edx
shr edx, 0xa
rol esi, 0xf
rol edi, 0xd
xor edx, esi
lea esi, [ecx + 5]
mov ecx, dword [esp + 0x44]
and esi, 0xf
xor edx, edi
mov edi, dword [esp + esi*4 + 0x60]
add edi, dword [esp + ecx*4 + 0x60]
mov ecx, dword [esp + 0x14]
add edi, eax
add edi, edx
mov dword [esp + esi*4 + 0x60], edi
mov esi, dword [esp + 0x18]
mov eax, esi
mov edx, esi
rol eax, 0x15
rol edx, 7
xor edx, eax
mov eax, esi
rol eax, 0x1a
xor edx, eax
mov eax, esi
not esi
and eax, dword [esp + 0xc]
and esi, dword [esp + 0x1c]
or esi, eax
mov eax, dword [esp + 0x20]
add eax, dword [ecx*4 + 0x536e54]
mov ecx, dword [esp + 0xc4]
add eax, edi
add eax, esi
mov esi, ebx
add eax, edx
mov edx, ebx
rol esi, 0xa
rol edx, 0x13
add dword [esp + 0x10], eax
xor esi, edx
mov edx, ebx
rol edx, 0x1e
xor esi, edx
mov edx, dword [esp + 8]
xor edx, dword [esp + 0x28]
and edx, ebx
xor edx, dword [esp + 0x30]
add edx, esi
add edx, eax
cmp dword [esp + 0xc8], 0x38
jb 0x4dec60
mov eax, dword [esp + 0x38]
add dword [esp + 0x3c], edx
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb0]
add dword [esp + 0x2c], 0x40
mov ebx, dword [esp + 0x3c]
add eax, dword [esp + 0x24]
add edi, dword [esp + 0x18]
add esi, dword [esp + 0x10]
add ecx, dword [esp + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x40], edi
mov dword [esp + 0x48], ecx
add eax, dword [esp + 8]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x4c]
add eax, dword [esp + 0x28]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x5c]
add eax, dword [esp + 0x1c]
dec edx
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xac]
mov dword [eax], ebx
mov ebx, dword [esp + 0x38]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x4c]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
mov edi, dword [esp + 0x5c]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edi
mov eax, edi
jne 0x4de4c0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret