Function at 0x4aec4f
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x90
mov eax, dword [0x530100]
xor eax, esp
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x94]
push ebx
push ebp
push esi
push edi
push 0x20
push eax
mov dword [esp + 0x80], eax
lea eax, [esp + 0x84]
push eax
call fcn.004b64b0
mov esi, dword [esp + 0xb4]
mov edx, 0xff00
mov ebx, dword [esp + 0x98]
add esp, 0xc
mov edi, dword [esp + 0x98]
add edi, 0x428a2f98
mov ecx, dword [esi]
mov ebp, ecx
mov eax, ecx
shl ebp, 0x10
and eax, edx
shr ecx, 8
or ebp, eax
and ecx, edx
movzx eax, byte [esi + 3]
mov edx, dword [esp + 0x94]
shl ebp, 8
or ebp, ecx
mov ecx, dword [esp + 0x90]
or ebp, eax
xor ecx, edx
and ecx, ebx
mov dword [esp + 0x6c], ebp
xor ecx, edx
mov eax, ebx
ror eax, 0xe
xor eax, ebx
ror eax, 5
xor eax, ebx
ror eax, 6
add eax, ebp
add ecx, eax
add edi, ecx
mov ecx, dword [esi + 4]
mov ebp, ecx
mov eax, ecx
and eax, 0xff00
shl ebp, 0x10
or ebp, eax
shr ecx, 8
movzx eax, byte [esi + 7]
and ecx, 0xff00
shl ebp, 8
or ebp, ecx
or ebp, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x60], ebp
xor eax, ebx
mov ebp, dword [esp + 0x88]
lea ebx, [edx + 0x71374491]
add ebp, edi
mov ecx, ebp
mov dword [esp + 0x34], ebp
ror ecx, 0xe
and eax, ebp
xor eax, dword [esp + 0x90]
xor ecx, ebp
ror ecx, 5
xor ecx, ebp
ror ecx, 6
add ecx, dword [esp + 0x60]
add eax, ecx
add ebx, eax
mov eax, dword [esp + 0x7c]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
ror edx, 2
mov ebp, dword [esp + 0x80]
mov ecx, ebp
mov esi, dword [esp + 0x84]
xor ecx, esi
and ecx, eax
mov eax, ebp
and eax, esi
add ecx, edi
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [edx + 8]
mov edi, ecx
mov eax, ecx
shl edi, 0x10
and eax, 0xff00
shr ecx, 8
or edi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0xb]
shl edi, 8
or edi, ecx
mov ecx, ebp
or edi, eax
xor ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x34]
xor eax, dword [esp + 0x8c]
mov dword [esp + 0x64], edi
lea edi, [ebx + esi]
and eax, edi
mov dword [esp + 0x5c], edi
xor eax, dword [esp + 0x8c]
mov esi, edi
ror esi, 0xe
add eax, 0xb5c0fbcf
add eax, dword [esp + 0x64]
xor esi, edi
ror esi, 5
xor esi, edi
ror esi, 6
add esi, dword [esp + 0x90]
add esi, eax
mov eax, dword [esp + 0x10]
and ecx, eax
mov edx, eax
ror edx, 9
add ecx, ebx
mov ebx, dword [esp + 0x7c]
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, ebp
and eax, ebx
ror edx, 2
add ecx, edx
add ebp, esi
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 0xc]
mov eax, ecx
shl eax, 0x10
mov dword [esp + 0x3c], eax
mov eax, ecx
and eax, 0xff00
shr ecx, 8
or dword [esp + 0x3c], eax
and ecx, 0xff00
mov eax, dword [esp + 0x3c]
shl eax, 8
or eax, ecx
mov ecx, ebp
ror ecx, 0xe
xor ecx, ebp
mov dword [esp + 0x3c], eax
movzx eax, byte [edx + 0xf]
or dword [esp + 0x3c], eax
ror ecx, 5
xor ecx, ebp
ror ecx, 6
add ecx, dword [esp + 0x3c]
mov eax, edi
xor eax, dword [esp + 0x34]
and eax, ebp
xor eax, dword [esp + 0x34]
add eax, dword [esp + 0x8c]
lea edi, [ecx - 0x164a245b]
mov ecx, dword [esp + 0x10]
add edi, eax
mov eax, dword [esp + 0x14]
xor ecx, ebx
and ecx, eax
mov edx, eax
add ecx, esi
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x10]
and eax, ebx
ror edx, 2
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [edx + 0x10]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x13]
lea edx, [edi + ebx]
mov ebx, dword [esp + 0x5c]
shl esi, 8
or esi, ecx
mov dword [esp + 0x28], edx
or esi, eax
mov ecx, edx
ror ecx, 0xe
mov eax, ebx
xor ecx, edx
mov dword [esp + 0x70], esi
ror ecx, 5
xor eax, ebp
xor ecx, edx
and eax, edx
ror ecx, 6
xor eax, ebx
add ecx, 0x3956c25b
add ecx, dword [esp + 0x34]
add eax, ecx
mov ecx, dword [esp + 0x10]
xor ecx, dword [esp + 0x14]
add esi, eax
mov eax, dword [esp + 0x18]
mov edx, eax
ror edx, 9
and ecx, eax
xor edx, eax
add ecx, edi
mov edi, dword [esp + 0x10]
ror edx, 0xb
xor edx, eax
mov eax, edi
and eax, dword [esp + 0x14]
ror edx, 2
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [edx + 0x14]
mov eax, ecx
shl eax, 0x10
mov dword [esp + 0x40], eax
mov eax, ecx
and eax, 0xff00
or dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
shr ecx, 8
and ecx, 0xff00
shl eax, 8
or eax, ecx
mov dword [esp + 0x40], eax
movzx eax, byte [edx + 0x17]
lea edx, [edi + esi]
or dword [esp + 0x40], eax
mov ecx, edx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
xor eax, ebp
and eax, edx
ror ecx, 0xe
xor ecx, edx
mov dword [esp + 0x1c], edx
ror ecx, 5
xor eax, ebp
xor ecx, edx
add edi, 0x59f111f1
ror ecx, 6
add ecx, ebx
mov ebx, dword [esp + 0x14]
add eax, ecx
add edi, eax
mov eax, dword [esp + 0x34]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
ror edx, 2
xor ecx, ebx
and eax, ebx
and ecx, dword [esp + 0x34]
add ecx, esi
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 0x18]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x1b]
lea edx, [edi + ebx]
mov ebx, dword [esp + 0x28]
shl esi, 8
or esi, ecx
mov dword [esp + 0x30], edx
or esi, eax
mov ecx, edx
mov eax, dword [esp + 0x1c]
ror ecx, 0xe
xor eax, ebx
xor ecx, edx
mov dword [esp + 0x5c], esi
and eax, edx
ror ecx, 5
xor ecx, edx
xor eax, ebx
ror ecx, 6
add eax, esi
add eax, 0x923f82a4
lea esi, [ecx + ebp]
add esi, eax
mov eax, dword [esp + 0x14]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x34]
ror edx, 2
mov ecx, eax
mov ebp, dword [esp + 0x18]
xor ecx, ebp
and ecx, dword [esp + 0x14]
and eax, ebp
add ecx, edi
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [edx + 0x1c]
mov edi, ecx
mov eax, ecx
shl edi, 0x10
shr ecx, 8
and eax, 0xff00
or edi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x1f]
shl edi, 8
or edi, ecx
or edi, eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x68], edi
lea edi, [esi + ebp]
mov ebp, dword [esp + 0x1c]
mov ecx, edi
ror ecx, 0xe
xor eax, ebp
xor ecx, edi
mov dword [esp + 0x28], edi
ror ecx, 5
and eax, edi
xor ecx, edi
xor eax, ebp
ror ecx, 6
add eax, 0xab1c5ed5
add eax, dword [esp + 0x68]
lea edi, [ebx + ecx]
mov ebx, dword [esp + 0x34]
add edi, eax
mov eax, dword [esp + 0x10]
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
ror edx, 2
xor ecx, ebx
and eax, ebx
and ecx, dword [esp + 0x10]
add ebx, edi
add ecx, esi
mov dword [esp + 0x1c], ebx
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x18], eax
mov ecx, dword [edx + 0x20]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
shr ecx, 8
and eax, 0xff00
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x23]
shl esi, 8
or esi, ecx
mov ecx, ebx
ror ecx, 0xe
or esi, eax
mov eax, dword [esp + 0x28]
xor ecx, ebx
xor eax, dword [esp + 0x30]
ror ecx, 5
xor ecx, ebx
mov dword [esp + 0x34], esi
ror ecx, 6
and eax, ebx
xor eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
add eax, esi
lea esi, [ecx + ebp]
add eax, 0xd807aa98
mov ebp, dword [esp + 0x14]
add esi, eax
mov eax, dword [esp + 0x10]
mov edx, ebx
ror edx, 9
mov ecx, eax
xor ecx, ebp
xor edx, ebx
ror edx, 0xb
and eax, ebp
xor edx, ebx
add ebp, esi
and ebx, ecx
ror edx, 2
add ebx, edi
mov dword [esp + 0x14], ebp
add ebx, edx
mov edx, dword [esp + 0xa8]
add ebx, eax
mov ecx, dword [edx + 0x24]
mov edi, ecx
mov eax, ecx
shl edi, 0x10
shr ecx, 8
and eax, 0xff00
or edi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x27]
mov edx, ebx
shl edi, 8
or edi, ecx
ror edx, 9
or edi, eax
mov ecx, ebp
mov eax, dword [esp + 0x1c]
xor edx, ebx
xor eax, dword [esp + 0x28]
ror ecx, 0xe
and eax, ebp
xor eax, dword [esp + 0x28]
xor ecx, ebp
ror ecx, 5
xor ecx, ebp
ror edx, 0xb
mov ebp, dword [esp + 0x10]
xor edx, ebx
ror ecx, 6
add ecx, edi
ror edx, 2
add eax, ecx
mov dword [esp + 0x4c], edi
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
xor ecx, ebp
and ebp, dword [esp + 0x18]
and ecx, ebx
add ecx, esi
add edi, 0x12835b01
add ecx, edx
add edi, eax
mov edx, dword [esp + 0xa8]
add ebp, ecx
mov ecx, dword [edx + 0x28]
mov esi, ecx
shl esi, 0x10
mov eax, ecx
and eax, 0xff00
shr ecx, 8
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x2b]
shl esi, 8
or esi, ecx
or esi, eax
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add esi, edi
xor eax, dword [esp + 0x1c]
mov ecx, esi
ror ecx, 0xe
and eax, esi
xor eax, dword [esp + 0x1c]
xor ecx, esi
ror ecx, 5
mov edx, ebp
xor ecx, esi
ror edx, 9
ror ecx, 6
xor edx, ebp
add ecx, dword [esp + 0x50]
add eax, ecx
ror edx, 0xb
xor edx, ebp
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x28]
mov ecx, ebx
xor ecx, dword [esp + 0x18]
add esi, 0x243185be
and ecx, ebp
ror edx, 2
add ecx, edi
add esi, eax
mov edi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0xa8]
mov eax, ebx
and eax, edi
add edx, eax
mov dword [esp + 0x28], edx
mov ecx, dword [ecx + 0x2c]
mov eax, ecx
shl eax, 0x10
mov dword [esp + 0x38], eax
mov eax, ecx
and eax, 0xff00
shr ecx, 8
or dword [esp + 0x38], eax
and ecx, 0xff00
mov eax, dword [esp + 0x38]
shl eax, 8
or eax, ecx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa8]
movzx eax, byte [eax + 0x2f]
or dword [esp + 0x38], eax
lea eax, [esi + edi]
mov edi, dword [esp + 0x1c]
mov ecx, eax
ror ecx, 0xe
add edi, 0x550c7dc3
xor ecx, eax
mov dword [esp + 0x10], eax
ror ecx, 5
xor ecx, eax
mov eax, dword [esp + 0x30]
xor eax, dword [esp + 0x14]
and eax, dword [esp + 0x10]
xor eax, dword [esp + 0x14]
ror ecx, 6
add ecx, dword [esp + 0x38]
add eax, ecx
mov ecx, edx
add edi, eax
ror ecx, 9
xor ecx, edx
ror ecx, 0xb
xor ecx, edx
lea eax, [edi + ebx]
ror ecx, 2
mov dword [esp + 0x1c], eax
mov eax, ebp
xor eax, ebx
and eax, edx
mov edx, ebp
add eax, esi
and edx, ebx
add eax, ecx
mov ebx, edx
mov edx, dword [esp + 0xa8]
add ebx, eax
mov ecx, dword [edx + 0x30]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
shr ecx, 8
and eax, 0xff00
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x33]
mov edx, dword [esp + 0x14]
shl esi, 8
add edx, 0x72be5d74
or esi, ecx
or esi, eax
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x30]
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x1c]
and eax, esi
xor eax, dword [esp + 0x30]
mov ecx, esi
ror ecx, 0xe
xor ecx, esi
ror ecx, 5
xor ecx, esi
mov esi, dword [esp + 0x28]
ror ecx, 6
add ecx, dword [esp + 0x54]
add eax, ecx
mov ecx, ebx
add edx, eax
ror ecx, 9
xor ecx, ebx
ror ecx, 0xb
xor ecx, ebx
lea eax, [edx + ebp]
ror ecx, 2
mov dword [esp + 0x44], eax
mov eax, esi
xor eax, ebp
and eax, ebx
add eax, edi
mov edi, esi
add eax, ecx
and edi, ebp
add edi, eax
mov eax, esi
xor eax, ebx
mov ecx, edi
ror ecx, 9
and eax, edi
xor ecx, edi
add eax, edx
ror ecx, 0xb
mov edx, esi
xor ecx, edi
and edx, ebx
ror ecx, 2
add eax, ecx
add edx, eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx + 0x34]
mov ebp, ecx
mov eax, ecx
shl ebp, 0x10
and eax, 0xff00
shr ecx, 8
or ebp, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x37]
mov edx, dword [esp + 0x44]
shl ebp, 8
or ebp, ecx
mov ecx, edx
or ebp, eax
mov dword [esp + 0x58], ebp
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
ror ecx, 0xe
xor eax, ebp
xor ecx, edx
and eax, edx
ror ecx, 5
xor eax, ebp
xor ecx, edx
add eax, 0x80deb1fe
add eax, dword [esp + 0x58]
ror ecx, 6
add ecx, dword [esp + 0x30]
add eax, ecx
lea ecx, [esi + eax]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
mov edx, esi
ror edx, 9
mov ecx, edi
xor edx, esi
xor ecx, ebx
and ecx, esi
ror edx, 0xb
add ecx, eax
xor edx, esi
ror edx, 2
mov eax, edi
add ecx, edx
and eax, ebx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x10], eax
mov ecx, dword [edx + 0x38]
mov esi, ecx
mov eax, ecx
shl esi, 0x10
shr ecx, 8
and eax, 0xff00
or esi, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x3b]
mov edx, dword [esp + 0x2c]
shl esi, 8
or esi, ecx
mov ecx, edx
or esi, eax
ror ecx, 0xe
xor ecx, edx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x1c]
mov eax, esi
xor eax, dword [esp + 0x44]
and eax, edx
ror ecx, 5
xor ecx, edx
xor eax, esi
ror ecx, 6
add eax, 0x9bdc06a7
add eax, dword [esp + 0x28]
add ecx, ebp
mov ebp, dword [esp + 0x10]
add eax, ecx
mov edx, ebp
ror edx, 9
xor edx, ebp
lea ecx, [eax + ebx]
ror edx, 0xb
mov dword [esp + 0x20], ecx
xor edx, ebp
mov ecx, edi
ror edx, 2
xor ecx, dword [esp + 0x18]
and ecx, ebp
add ecx, eax
mov eax, edi
and eax, dword [esp + 0x18]
add ecx, edx
mov edx, dword [esp + 0xa8]
add eax, ecx
mov dword [esp + 0x1c], eax
mov ecx, dword [edx + 0x3c]
mov ebx, ecx
mov eax, ecx
shl ebx, 0x10
and eax, 0xff00
shr ecx, 8
or ebx, eax
and ecx, 0xff00
movzx eax, byte [edx + 0x3f]
shl ebx, 8
or ebx, ecx
or ebx, eax
mov eax, dword [esp + 0x20]
mov edx, eax
mov dword [esp + 0x30], ebx
ror edx, 0xe
xor edx, eax
ror edx, 5
xor edx, eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esp + 0x44]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x44]
add eax, 0xc19bf174
ror edx, 6
add eax, ebx
add edx, esi
mov esi, dword [esp + 0x1c]
add edx, eax
mov ecx, esi
ror ecx, 9
xor ecx, esi
lea eax, [edx + edi]
ror ecx, 0xb
mov dword [esp + 0x14], eax
xor ecx, esi
mov eax, ebp
ror ecx, 2
xor eax, dword [esp + 0x18]
and ebp, dword [esp + 0x18]
and eax, esi
mov esi, dword [esp + 0x6c]
add eax, edx
add eax, ecx
push 0x40
add ebp, eax
pop ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x28]
mov edx, eax
mov edi, dword [esp + 0x60]
mov ecx, edi
ror edx, 2
xor edx, eax
ror ecx, 0xb
xor ecx, edi
shr eax, 0xa
ror edx, 0x11
xor edx, eax
ror ecx, 7
add edx, dword [esp + 0x4c]
mov eax, edi
shr eax, 3
xor ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x2c]
add ecx, edx
mov edx, dword [esp + 0x14]
add esi, ecx
and eax, edx
mov dword [esp + 0x6c], esi
xor eax, dword [esp + 0x2c]
mov esi, edx
ror esi, 0xe
xor esi, edx
ror esi, 5
xor esi, edx
ror esi, 6
add esi, eax
mov eax, dword [esp + 0x30]
add esi, dword [ebx + 0x522210]
mov edx, eax
add esi, dword [esp + 0x44]
add esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x18]
ror edx, 2
add ebx, esi
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x64]
add edx, dword [esp + 0x50]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x20]
xor eax, dword [esp + 0x14]
add ecx, edx
add edi, ecx
and eax, ebx
xor eax, dword [esp + 0x20]
mov edx, ebp
mov dword [esp + 0x60], edi
mov edi, ebx
ror edi, 0xe
xor edi, ebx
ror edx, 9
ror edi, 5
xor edx, ebp
xor edi, ebx
ror edx, 0xb
ror edi, 6
xor edx, ebp
add edi, eax
ror edx, 2
mov eax, dword [esp + 0x24]
add edi, dword [eax + 0x522214]
mov eax, dword [esp + 0x1c]
mov ecx, eax
xor ecx, dword [esp + 0x10]
add edi, dword [esp + 0x2c]
and ecx, ebp
add edi, dword [esp + 0x60]
add ecx, esi
mov esi, dword [esp + 0x10]
add ecx, edx
lea ebp, [esi + edi]
and eax, esi
mov esi, ebp
add eax, ecx
ror esi, 0xe
mov dword [esp + 0x18], eax
xor esi, ebp
mov eax, dword [esp + 0x6c]
mov edx, eax
ror edx, 2
xor edx, eax
ror esi, 5
ror edx, 0x11
xor esi, ebp
shr eax, 0xa
xor edx, eax
ror esi, 6
mov eax, dword [esp + 0x3c]
mov ecx, eax
add edx, dword [esp + 0x38]
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x14]
add ecx, edx
xor eax, ebx
mov edx, dword [esp + 0x64]
and eax, ebp
xor eax, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x1c]
add esi, eax
mov eax, dword [esp + 0x24]
xor ecx, dword [esp + 0x48]
mov dword [esp + 0x64], edx
add esi, dword [eax + 0x522218]
mov eax, dword [esp + 0x18]
and ecx, eax
add esi, dword [esp + 0x20]
add ecx, edi
mov edi, dword [esp + 0x1c]
add esi, edx
mov edx, eax
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, edi
and eax, dword [esp + 0x48]
ror edx, 2
add ecx, edx
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x70]
add edx, dword [esp + 0x54]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
add ecx, edx
mov edx, dword [esp + 0x3c]
add edx, ecx
lea ecx, [edi + esi]
mov edi, ecx
mov dword [esp + 0x3c], edx
ror edi, 0xe
xor edi, ecx
mov dword [esp + 0x1c], ecx
ror edi, 5
xor edi, ecx
mov eax, ebp
xor eax, ebx
ror edi, 6
and eax, ecx
mov ecx, dword [esp + 0x48]
xor ecx, dword [esp + 0x18]
xor eax, ebx
add edi, eax
mov eax, dword [esp + 0x24]
add edi, dword [eax + 0x52221c]
mov eax, dword [esp + 0x10]
add edi, edx
and ecx, eax
add edi, dword [esp + 0x14]
mov edx, eax
add ecx, esi
mov esi, dword [esp + 0x48]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, esi
and eax, dword [esp + 0x18]
ror edx, 2
add ecx, edx
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x40]
add edx, dword [esp + 0x58]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x1c]
add ecx, edx
xor eax, ebp
mov edx, dword [esp + 0x70]
add edx, ecx
lea ecx, [edi + esi]
mov esi, ecx
mov dword [esp + 0x70], edx
ror esi, 0xe
and eax, ecx
xor esi, ecx
mov dword [esp + 0x2c], ecx
ror esi, 5
xor eax, ebp
xor esi, ecx
ror esi, 6
add esi, eax
mov eax, dword [esp + 0x24]
add esi, dword [eax + 0x522220]
mov eax, dword [esp + 0x14]
add esi, edx
mov edx, eax
add esi, ebx
mov ebx, dword [esp + 0x18]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x10]
mov ecx, eax
ror edx, 2
xor ecx, ebx
and eax, ebx
and ecx, dword [esp + 0x14]
add ecx, edi
add ecx, edx
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x3c]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x5c]
add edx, dword [esp + 0x28]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, edx
mov edx, dword [esp + 0x40]
add edx, ecx
lea ecx, [esi + ebx]
mov ebx, dword [esp + 0x1c]
mov edi, ecx
ror edi, 0xe
xor eax, ebx
xor edi, ecx
mov dword [esp + 0x40], edx
and eax, ecx
ror edi, 5
xor edi, ecx
mov dword [esp + 0x20], ecx
xor eax, ebx
ror edi, 6
add edi, eax
mov eax, dword [esp + 0x24]
add edi, dword [eax + 0x522224]
mov eax, dword [esp + 0x18]
add edi, edx
mov edx, eax
add edi, ebp
mov ebp, dword [esp + 0x10]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
ror edx, 2
xor ecx, ebp
and eax, ebp
and ecx, dword [esp + 0x18]
add ecx, esi
add ecx, edx
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x68]
add edx, dword [esp + 0x30]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
add ecx, edx
mov edx, dword [esp + 0x5c]
add edx, ecx
lea ecx, [edi + ebp]
mov esi, ecx
mov dword [esp + 0x5c], edx
ror esi, 0xe
xor esi, ecx
mov dword [esp + 0x44], ecx
ror esi, 5
xor esi, ecx
ror esi, 6
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x20]
xor eax, ebp
and eax, ecx
xor eax, ebp
add esi, eax
mov eax, dword [esp + 0x24]
add esi, dword [eax + 0x522228]
mov eax, dword [esp + 0x1c]
add esi, edx
mov edx, eax
add esi, ebx
mov ebx, dword [esp + 0x14]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x18]
mov ecx, eax
ror edx, 2
xor ecx, ebx
and eax, ebx
and ecx, dword [esp + 0x1c]
add ecx, edi
add ecx, edx
add eax, ecx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x34]
add edx, dword [esp + 0x6c]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x44]
add ecx, edx
mov edx, dword [esp + 0x68]
add edx, ecx
lea ecx, [esi + ebx]
mov ebx, dword [esp + 0x20]
mov edi, ecx
ror edi, 0xe
xor eax, ebx
xor edi, ecx
mov dword [esp + 0x68], edx
and eax, ecx
ror edi, 5
xor edi, ecx
mov dword [esp + 0x2c], ecx
xor eax, ebx
ror edi, 6
add edi, eax
mov eax, dword [esp + 0x24]
add edi, dword [eax + 0x52222c]
mov eax, dword [esp + 0x14]
add edi, edx
mov edx, eax
add edi, ebp
mov ebp, dword [esp + 0x18]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
ror edx, 2
xor ecx, ebp
and eax, ebp
and ecx, dword [esp + 0x14]
add ecx, esi
add ecx, edx
add eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x5c]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x4c]
add edx, dword [esp + 0x60]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x2c]
add ecx, edx
mov edx, dword [esp + 0x34]
add edx, ecx
lea ecx, [edi + ebp]
mov ebp, dword [esp + 0x44]
mov esi, ecx
ror esi, 0xe
xor eax, ebp
xor esi, ecx
mov dword [esp + 0x34], edx
and eax, ecx
ror esi, 5
xor esi, ecx
mov dword [esp + 0x20], ecx
xor eax, ebp
ror esi, 6
add esi, eax
mov eax, dword [esp + 0x24]
add esi, dword [eax + 0x522230]
mov eax, dword [esp + 0x10]
add esi, edx
mov edx, eax
add esi, ebx
mov ebx, dword [esp + 0x1c]
ror edx, 9
xor edx, eax
ror edx, 0xb
xor edx, eax
mov eax, dword [esp + 0x14]
mov ecx, eax
ror edx, 2
xor ecx, ebx
and eax, ebx
and ecx, dword [esp + 0x10]
add ecx, edi
add ecx, edx
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x50]
add edx, dword [esp + 0x64]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x20]
add ecx, edx
lea edx, [esi + ebx]
add dword [esp + 0x4c], ecx
mov edi, edx
ror edi, 0xe
xor edi, edx
mov dword [esp + 0x1c], edx
ror edi, 5
xor edi, edx
ror edi, 6
xor eax, dword [esp + 0x2c]
and eax, edx
mov ebx, dword [esp + 0x18]
xor eax, dword [esp + 0x2c]
mov edx, ebx
add edi, eax
ror edx, 9
mov eax, dword [esp + 0x24]
xor edx, ebx
ror edx, 0xb
xor edx, ebx
ror edx, 2
add edi, dword [eax + 0x522234]
add edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x10]
add edi, ebp
mov ebp, dword [esp + 0x14]
mov ecx, eax
xor ecx, ebp
and eax, ebp
and ebx, ecx
add ebx, esi
add ebx, edx
add ebx, eax
mov eax, dword [esp + 0x38]
mov edx, eax
ror edx, 0xb
xor edx, eax
shr eax, 3
ror edx, 7
xor edx, eax
mov eax, dword [esp + 0x34]
add edx, dword [esp + 0x3c]
mov ecx, eax
ror ecx, 2
xor ecx, eax
shr eax, 0xa
ror ecx, 0x11
xor ecx, eax
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x20]
add ecx, edx
add dword [esp + 0x50], ecx
lea edx, [edi + ebp]
mov ecx, dword [esp + 0x18]
mov esi, edx
mov ebp, dword [esp + 0x10]
and eax, edx
xor eax, dword [esp + 0x20]
xor ecx, ebp
ror esi, 0xe
and ecx, ebx
xor esi, edx
and ebp, dword [esp + 0x18]
mov dword [esp + 0x14], edx
add ecx, edi
ror esi, 5
xor esi, edx
mov edx, ebx
ror edx, 9
xor edx, ebx
ror esi, 6
add esi, eax
ror edx, 0xb
mov eax, dword [esp + 0x24]
xor edx, ebx
ror edx, 2
add ecx, edx
add ebp, ecx
add esi, dword [eax + 0x522238]
mov eax, dword [esp + 0x4c]
mov edx, eax
add esi, dword [esp + 0x50]
add esi, dword [esp + 0x2c]
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x54]
mov ecx, eax
ror ecx, 0xb
add edx, dword [esp + 0x70]
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x14]
xor eax, dword [esp + 0x1c]
add ecx, edx
mov edx, dword [esp + 0x10]
add dword [esp + 0x38], ecx
add edx, esi
and eax, edx
mov dword [esp + 0x10], edx
xor eax, dword [esp + 0x1c]
mov edi, edx
ror edi, 0xe
mov ecx, ebp
xor edi, edx
ror ecx, 9
ror edi, 5
xor ecx, ebp
xor edi, edx
ror ecx, 0xb
ror edi, 6
xor ecx, ebp
add edi, eax
ror ecx, 2
mov eax, dword [esp + 0x24]
add edi, dword [eax + 0x52223c]
mov eax, ebx
xor eax, dword [esp + 0x18]
and eax, ebp
add edi, dword [esp + 0x38]
add eax, esi
add edi, dword [esp + 0x20]
add eax, ecx
mov esi, ebx
and esi, dword [esp + 0x18]
add esi, eax
mov eax, dword [esp + 0x50]
mov edx, eax
mov dword [esp + 0x74], esi
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x58]
add edx, dword [esp + 0x40]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, dword [esp + 0x18]
add ecx, edx
add eax, edi
add dword [esp + 0x54], ecx
mov edx, eax
ror edx, 0xe
mov ecx, esi
xor edx, eax
mov dword [esp + 0x20], eax
ror edx, 5
xor edx, eax
ror ecx, 9
mov eax, dword [esp + 0x10]
xor eax, dword [esp + 0x14]
and eax, dword [esp + 0x20]
xor eax, dword [esp + 0x14]
ror edx, 6
add edx, eax
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x522240]
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x1c]
xor ecx, esi
lea eax, [ebx + edx]
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], eax
ror ecx, 0xb
mov eax, ebp
xor eax, ebx
xor ecx, esi
and eax, esi
ror ecx, 2
add eax, edi
mov edi, ebp
add eax, ecx
and edi, ebx
add edi, eax
mov ebx, dword [esp + 0x10]
mov ecx, edi
mov eax, ebp
ror ecx, 9
xor eax, esi
xor ecx, edi
and eax, edi
add eax, edx
ror ecx, 0xb
xor ecx, edi
mov edx, ebp
and edx, esi
ror ecx, 2
add eax, ecx
add edx, eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x88], edx
mov edx, eax
ror edx, 2
xor edx, eax
shr eax, 0xa
ror edx, 0x11
xor edx, eax
mov eax, dword [esp + 0x28]
add edx, dword [esp + 0x5c]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, ebx
xor eax, dword [esp + 0x20]
add ecx, edx
add dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x44]
mov edx, ecx
ror edx, 0xe
and eax, ecx
xor edx, ecx
xor eax, ebx
ror edx, 5
xor edx, ecx
ror edx, 6
add edx, eax
mov eax, dword [esp + 0x24]
add edx, dword [eax + 0x522244]
add edx, dword [esp + 0x58]
add edx, dword [esp + 0x14]
lea eax, [edx + ebp]
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x2c], eax
mov ecx, ebp
mov dword [esp + 0x94], eax
mov eax, esi
ror ecx, 9
xor eax, edi
xor ecx, ebp
and eax, ebp
ror ecx, 0xb
add eax, edx
xor ecx, ebp
mov edx, esi
ror ecx, 2
and edx, edi
add eax, ecx
add edx, eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x84], edx
mov edx, eax
ror edx, 2
xor edx, eax
mov ebp, dword [esp + 0x20]
ror edx, 0x11
shr eax, 0xa
xor edx, eax
mov eax, dword [esp + 0x30]
add edx, dword [esp + 0x68]
mov ecx, eax
ror ecx, 0xb
xor ecx, eax
shr eax, 3
ror ecx, 7
xor ecx, eax
mov eax, ebp
xor eax, dword [esp + 0x44]
add ecx, edx
mov edx, dword [esp + 0x28]
add edx, ecx
mov ecx, dword [esp + 0x2c]
and eax, ecx
mov dword [esp + 0x28], edx
mov esi, ecx
xor eax, ebp
ror esi, 0xe
xor esi, ecx
ror esi, 5
xor esi, ecx
ror esi, 6
add esi, eax
mov eax, dword [esp + 0x24]
add esi, dword [eax + 0x522248]
mov eax, dword [esp + 0x74]
add esi, ebx
mov ebx, dword [esp + 0x10]
add esi, edx
add eax, esi
mov edx, ebx
ror edx, 9
xor edx, ebx
mov dword [esp + 0x20], eax
ror edx, 0xb
mov dword [esp + 0x90], eax
xor edx, ebx
mov eax, dword [esp + 0x48]
mov ecx, eax
xor ecx, edi
ror edx, 2
and ecx, ebx
and eax, edi
mov ebx, dword [esp + 0x20]
add ecx, esi
mov esi, dword [esp + 0x6c]
add ecx, edx
add eax, ecx
mov edx, esi
ror edx, 0xb
xor edx, esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x80], eax
mov eax, esi
ror edx, 7
shr eax, 3
xor edx, eax
mov eax, dword [esp + 0x58]
add edx, dword [esp + 0x34]
mov ecx, eax
ror ecx, 2
xor ecx, eax
shr eax, 0xa
ror ecx, 0x11
xor ecx, eax
add ecx, edx
mov edx, ebx
add dword [esp + 0x30], ecx
ror edx, 0xe
xor edx, ebx
ror edx, 5
mov eax, dword [esp + 0x44]
xor edx, ebx
xor eax, dword [esp + 0x2c]
and eax, ebx
ror edx, 6
xor eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x24]
add edx, eax
add edx, dword [ebx + 0x52224c]
add ebx, 0x40
add edx, ebp
mov dword [esp + 0x24], ebx
add edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x48]
lea eax, [edi + edx]
mov dword [esp + 0x14], eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
mov ecx, eax
ror ecx, 9
xor ecx, eax
ror ecx, 0xb
xor ecx, eax
mov eax, ebp
xor eax, dword [esp + 0x10]
and eax, dword [esp + 0x1c]
and ebp, dword [esp + 0x10]
add eax, edx
ror ecx, 2
add eax, ecx
add ebp, eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x7c], ebp
cmp ebx, 0x100
jb 0x4af5b4
mov eax, dword [esp + 0x78]
movups xmm0, xmmword [esp + 0x7c]
mov ecx, dword [esp + 0x9c]
pop edi
movups xmm1, xmmword [eax]
pop esi
pop ebp
paddd xmm1, xmm0
movups xmm0, xmmword [esp + 0x80]
pop ebx
movups xmmword [eax], xmm1
xor ecx, esp
movups xmm1, xmmword [eax + 0x10]
paddd xmm1, xmm0
movups xmmword [eax + 0x10], xmm1
call fcn.004b5b6f
add esp, 0x90
ret