Function at 0x488f50
Capabilities:
Encode data using xor
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x587882
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x5e108c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x160], 0
mov dword [eax + 0x14], 0xf
mov dword [eax + 0x10], 0
mov dword [ebp - 0x168], eax
mov byte [eax], 0
mov dword [ebp - 4], 0
xorps xmm0, xmm0
cmp dword [edx + 0x14], 0x10
mov ecx, dword [edx + 0x10]
mov dword [ebp - 0x160], 1
movq qword [ebp - 0x1f], xmm0
mov dword [ebp - 0x17], 0
mov word [ebp - 0x13], 0
mov byte [ebp - 0x11], 0
mov dword [ebp - 0xf0], 0x67452301
mov dword [ebp - 0xec], 0xefcdab89
mov dword [ebp - 0xe8], 0x98badcfe
mov dword [ebp - 0xe4], 0x10325476
mov dword [ebp - 0x128], ecx
jb 0x489010
mov edx, dword [edx]
mov eax, ecx
and eax, 0x1fffffff
mov dword [ebp - 0xf8], eax
mov eax, ecx
shr eax, 0x1d
mov dword [ebp - 0xf4], eax
cmp ecx, 0x40
jb 0x489b2e
and ecx, 0xffffffc0
mov edi, 0xefcdab89
mov dword [ebp - 0x15c], ecx
mov ebx, 0x98badcfe
mov ecx, 0x67452301
mov dword [ebp - 0x140], edi
mov esi, 0x10325476
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x124], esi
nop word [eax + eax]
movzx eax, byte [edx + 2]
mov dword [ebp - 0x150], ecx
movzx ecx, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x158], ebx
movzx eax, byte [edx + 1]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x14c], esi
movzx eax, byte [edx]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x154], edi
mov eax, esi
mov dword [ebp - 0x138], ecx
xor eax, ebx
movzx ebx, byte [edx + 7]
and eax, edi
shl ebx, 8
xor eax, esi
mov esi, dword [ebp - 0x124]
add eax, ecx
add esi, 0xe8c7b756
mov ecx, dword [ebp - 0x120]
add ecx, 0xd76aa478
add ecx, eax
movzx eax, byte [edx + 6]
or ebx, eax
rol ecx, 7
movzx eax, byte [edx + 5]
add ecx, edi
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 4]
shl ebx, 8
or ebx, eax
mov eax, dword [ebp - 0x12c]
xor eax, edi
mov dword [ebp - 0x13c], ebx
and eax, ecx
xor eax, dword [ebp - 0x12c]
add eax, ebx
movzx ebx, byte [edx + 0xb]
add esi, eax
shl ebx, 8
movzx eax, byte [edx + 0xa]
or ebx, eax
rol esi, 0xc
movzx eax, byte [edx + 9]
add esi, ecx
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 8]
shl ebx, 8
or ebx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x130], ebx
and eax, esi
xor eax, edi
mov edi, dword [ebp - 0x12c]
add eax, ebx
add edi, 0x242070db
movzx ebx, byte [edx + 0xf]
add edi, eax
movzx eax, byte [edx + 0xe]
shl ebx, 8
or ebx, eax
ror edi, 0xf
movzx eax, byte [edx + 0xd]
add edi, esi
shl ebx, 8
or ebx, eax
movzx eax, byte [edx + 0xc]
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, ecx
mov dword [ebp - 0x124], ebx
and eax, edi
xor eax, ecx
add eax, ebx
mov ebx, dword [ebp - 0x140]
add ebx, 0xc1bdceee
add ebx, eax
movzx eax, byte [edx + 0x13]
shl eax, 8
mov dword [ebp - 0x114], eax
movzx eax, byte [edx + 0x12]
or dword [ebp - 0x114], eax
shl dword [ebp - 0x114], 8
movzx eax, byte [edx + 0x11]
or dword [ebp - 0x114], eax
movzx eax, byte [edx + 0x10]
shl dword [ebp - 0x114], 8
or dword [ebp - 0x114], eax
mov eax, esi
xor eax, edi
ror ebx, 0xa
add ebx, edi
and eax, ebx
xor eax, esi
add eax, 0xf57c0faf
add eax, dword [ebp - 0x114]
add ecx, eax
movzx eax, byte [edx + 0x17]
shl eax, 8
mov dword [ebp - 0x100], eax
movzx eax, byte [edx + 0x16]
or dword [ebp - 0x100], eax
shl dword [ebp - 0x100], 8
movzx eax, byte [edx + 0x15]
or dword [ebp - 0x100], eax
movzx eax, byte [edx + 0x14]
shl dword [ebp - 0x100], 8
or dword [ebp - 0x100], eax
mov eax, edi
xor eax, ebx
rol ecx, 7
add ecx, ebx
and eax, ecx
xor eax, edi
add eax, 0x4787c62a
add eax, dword [ebp - 0x100]
add esi, eax
movzx eax, byte [edx + 0x1b]
shl eax, 8
mov dword [ebp - 0x110], eax
movzx eax, byte [edx + 0x1a]
or dword [ebp - 0x110], eax
shl dword [ebp - 0x110], 8
movzx eax, byte [edx + 0x19]
or dword [ebp - 0x110], eax
movzx eax, byte [edx + 0x18]
shl dword [ebp - 0x110], 8
or dword [ebp - 0x110], eax
mov eax, ebx
xor eax, ecx
rol esi, 0xc
add esi, ecx
and eax, esi
xor eax, ebx
add eax, 0xa8304613
add eax, dword [ebp - 0x110]
add edi, eax
movzx eax, byte [edx + 0x1f]
shl eax, 8
mov dword [ebp - 0xfc], eax
movzx eax, byte [edx + 0x1e]
or dword [ebp - 0xfc], eax
shl dword [ebp - 0xfc], 8
movzx eax, byte [edx + 0x1d]
or dword [ebp - 0xfc], eax
movzx eax, byte [edx + 0x1c]
shl dword [ebp - 0xfc], 8
or dword [ebp - 0xfc], eax
mov eax, esi
ror edi, 0xf
xor eax, ecx
add edi, esi
and eax, edi
xor eax, ecx
add eax, 0xfd469501
add eax, dword [ebp - 0xfc]
add ebx, eax
movzx eax, byte [edx + 0x23]
shl eax, 8
mov dword [ebp - 0x10c], eax
movzx eax, byte [edx + 0x22]
or dword [ebp - 0x10c], eax
shl dword [ebp - 0x10c], 8
movzx eax, byte [edx + 0x21]
or dword [ebp - 0x10c], eax
movzx eax, byte [edx + 0x20]
shl dword [ebp - 0x10c], 8
or dword [ebp - 0x10c], eax
mov eax, esi
xor eax, edi
ror ebx, 0xa
add ebx, edi
and eax, ebx
xor eax, esi
add eax, 0x698098d8
add eax, dword [ebp - 0x10c]
add ecx, eax
movzx eax, byte [edx + 0x27]
shl eax, 8
mov dword [ebp - 0x11c], eax
movzx eax, byte [edx + 0x26]
or dword [ebp - 0x11c], eax
shl dword [ebp - 0x11c], 8
movzx eax, byte [edx + 0x25]
or dword [ebp - 0x11c], eax
movzx eax, byte [edx + 0x24]
shl dword [ebp - 0x11c], 8
or dword [ebp - 0x11c], eax
mov eax, edi
xor eax, ebx
rol ecx, 7
add ecx, ebx
and eax, ecx
xor eax, edi
add eax, 0x8b44f7af
add eax, dword [ebp - 0x11c]
add esi, eax
movzx eax, byte [edx + 0x2b]
shl eax, 8
mov dword [ebp - 0x108], eax
movzx eax, byte [edx + 0x2a]
or dword [ebp - 0x108], eax
shl dword [ebp - 0x108], 8
movzx eax, byte [edx + 0x29]
or dword [ebp - 0x108], eax
movzx eax, byte [edx + 0x28]
shl dword [ebp - 0x108], 8
or dword [ebp - 0x108], eax
mov eax, ebx
xor eax, ecx
rol esi, 0xc
add esi, ecx
and eax, esi
mov dword [ebp - 0x140], esi
xor eax, ebx
add eax, 0xffff5bb1
add eax, dword [ebp - 0x108]
add edi, eax
movzx eax, byte [edx + 0x2f]
shl eax, 8
mov dword [ebp - 0x118], eax
movzx eax, byte [edx + 0x2e]
or dword [ebp - 0x118], eax
shl dword [ebp - 0x118], 8
movzx eax, byte [edx + 0x2d]
or dword [ebp - 0x118], eax
movzx eax, byte [edx + 0x2c]
shl dword [ebp - 0x118], 8
or dword [ebp - 0x118], eax
mov eax, esi
ror edi, 0xf
add edi, esi
xor eax, ecx
mov dword [ebp - 0x134], edi
and eax, edi
xor eax, ecx
add eax, 0x895cd7be
add eax, dword [ebp - 0x118]
add ebx, eax
movzx eax, byte [edx + 0x33]
shl eax, 8
mov dword [ebp - 0x104], eax
movzx eax, byte [edx + 0x32]
or dword [ebp - 0x104], eax
shl dword [ebp - 0x104], 8
movzx eax, byte [edx + 0x31]
or dword [ebp - 0x104], eax
movzx eax, byte [edx + 0x30]
shl dword [ebp - 0x104], 8
or dword [ebp - 0x104], eax
mov eax, esi
xor eax, edi
ror ebx, 0xa
add ebx, edi
and eax, ebx
mov dword [ebp - 0x144], ebx
xor eax, esi
lea esi, [ecx + 0x6b901122]
add eax, dword [ebp - 0x104]
movzx ecx, byte [edx + 0x37]
add esi, eax
movzx eax, byte [edx + 0x36]
shl ecx, 8
or ecx, eax
rol esi, 7
movzx eax, byte [edx + 0x35]
add esi, ebx
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x34]
shl ecx, 8
or ecx, eax
mov eax, edi
xor eax, ebx
mov dword [ebp - 0x12c], ecx
and eax, esi
xor eax, edi
mov edi, dword [ebp - 0x140]
add eax, ecx
add edi, 0xfd987193
movzx ecx, byte [edx + 0x3b]
add edi, eax
movzx eax, byte [edx + 0x3a]
shl ecx, 8
or ecx, eax
rol edi, 0xc
movzx eax, byte [edx + 0x39]
add edi, esi
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x38]
shl ecx, 8
or ecx, eax
mov eax, ebx
xor eax, esi
mov dword [ebp - 0x120], ecx
and eax, edi
xor eax, ebx
mov ebx, dword [ebp - 0x134]
add eax, ecx
add ebx, 0xa679438e
movzx ecx, byte [edx + 0x3f]
add ebx, eax
movzx eax, byte [edx + 0x3e]
shl ecx, 8
or ecx, eax
ror ebx, 0xf
movzx eax, byte [edx + 0x3d]
add ebx, edi
shl ecx, 8
or ecx, eax
movzx eax, byte [edx + 0x3c]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x134], ecx
mov eax, edi
xor eax, esi
and eax, ebx
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x144]
add ecx, 0x49b40821
add ecx, eax
mov eax, ebx
ror ecx, 0xa
add ecx, ebx
xor eax, ecx
and eax, edi
xor eax, ebx
add eax, 0xf61e2562
add eax, dword [ebp - 0x13c]
add esi, eax
mov eax, ecx
rol esi, 5
add esi, ecx
xor eax, esi
and eax, ebx
xor eax, ecx
add eax, 0xc040b340
add eax, dword [ebp - 0x110]
add edi, eax
rol edi, 9
add edi, esi
mov eax, edi
xor eax, esi
and eax, ecx
xor eax, esi
add eax, 0x265e5a51
add eax, dword [ebp - 0x118]
add ebx, eax
mov eax, edi
rol ebx, 0xe
add ebx, edi
xor eax, ebx
and eax, esi
xor eax, edi
add eax, 0xe9b6c7aa
add eax, dword [ebp - 0x138]
add ecx, eax
mov eax, ebx
ror ecx, 0xc
add ecx, ebx
xor eax, ecx
and eax, edi
xor eax, ebx
add eax, 0xd62f105d
add eax, dword [ebp - 0x100]
add esi, eax
mov eax, ecx
rol esi, 5
add esi, ecx
xor eax, esi
and eax, ebx
xor eax, ecx
add eax, 0x2441453
add eax, dword [ebp - 0x108]
add edi, eax
rol edi, 9
add edi, esi
mov eax, edi
xor eax, esi
and eax, ecx
xor eax, esi
add eax, 0xd8a1e681
add eax, dword [ebp - 0x134]
add ebx, eax
mov eax, edi
rol ebx, 0xe
add ebx, edi
xor eax, ebx
and eax, esi
xor eax, edi
add eax, 0xe7d3fbc8
add eax, dword [ebp - 0x114]
add ecx, eax
ror ecx, 0xc
add ecx, ebx
mov eax, ebx
xor eax, ecx
and eax, edi
xor eax, ebx
add eax, 0x21e1cde6
add eax, dword [ebp - 0x11c]
add esi, eax
mov eax, ecx
rol esi, 5
add esi, ecx
xor eax, esi
and eax, ebx
xor eax, ecx
add eax, 0xc33707d6
add eax, dword [ebp - 0x120]
add edi, eax
rol edi, 9
add edi, esi
mov eax, edi
mov dword [ebp - 0x144], edi
xor eax, esi
and eax, ecx
xor eax, esi
add eax, 0xf4d50d87
add eax, dword [ebp - 0x124]
add ebx, eax
mov eax, edi
rol ebx, 0xe
add ebx, edi
xor eax, ebx
and eax, esi
xor eax, edi
add eax, 0x455a14ed
add eax, dword [ebp - 0x10c]
add ecx, eax
mov eax, ebx
ror ecx, 0xc
add ecx, ebx
xor eax, ecx
mov dword [ebp - 0x140], ecx
and eax, edi
lea edi, [esi - 0x561c16fb]
xor eax, ebx
mov esi, dword [ebp - 0x144]
add eax, dword [ebp - 0x12c]
add esi, 0xfcefa3f8
add edi, eax
mov eax, ecx
rol edi, 5
add edi, ecx
xor eax, edi
and eax, ebx
xor eax, ecx
add eax, dword [ebp - 0x130]
add esi, eax
rol esi, 9
add esi, edi
mov eax, esi
mov dword [ebp - 0x144], esi
xor eax, edi
and eax, ecx
mov ecx, esi
xor eax, edi
add eax, 0x676f02d9
add eax, dword [ebp - 0xfc]
add ebx, eax
rol ebx, 0xe
add ebx, esi
xor ecx, ebx
mov dword [ebp - 0x148], ebx
mov eax, ecx
and eax, edi
xor eax, esi
mov esi, dword [ebp - 0x140]
add eax, dword [ebp - 0x104]
add esi, 0x8d2a4c8a
add esi, eax
ror esi, 0xc
add esi, ebx
xor ecx, esi
add ecx, 0xfffa3942
mov eax, ebx
add ecx, dword [ebp - 0x100]
xor eax, esi
mov ebx, dword [ebp - 0x144]
add edi, ecx
mov ecx, dword [ebp - 0x148]
add ebx, 0x8771f681
rol edi, 4
add ecx, 0x6d9d6122
add edi, esi
xor eax, edi
add eax, dword [ebp - 0x10c]
add ebx, eax
rol ebx, 0xb
add ebx, edi
mov eax, ebx
xor eax, esi
add esi, 0xfde5380c
xor eax, edi
add eax, dword [ebp - 0x118]
add eax, ecx
mov ecx, ebx
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x148], eax
mov eax, ecx
xor eax, edi
add edi, 0xa4beea44
add eax, dword [ebp - 0x120]
add eax, esi
mov esi, dword [ebp - 0x148]
ror eax, 9
add eax, esi
xor ecx, eax
mov dword [ebp - 0x148], eax
add ecx, dword [ebp - 0x13c]
add ecx, edi
mov edi, dword [ebp - 0x148]
rol ecx, 4
add ecx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x144], ecx
xor eax, ecx
add esi, 0xf6bb4b60
add eax, 0x4bdecfa9
add eax, dword [ebp - 0x114]
add ebx, eax
rol ebx, 0xb
add ebx, ecx
mov eax, ebx
xor eax, edi
add edi, 0xbebfbc70
xor eax, ecx
mov ecx, ebx
add eax, dword [ebp - 0xfc]
add eax, esi
mov esi, dword [ebp - 0x144]
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x148], eax
mov eax, ecx
xor eax, esi
add esi, 0x289b7ec6
add eax, dword [ebp - 0x108]
add eax, edi
mov edi, dword [ebp - 0x148]
ror eax, 9
add eax, edi
xor ecx, eax
mov dword [ebp - 0x148], eax
add ecx, dword [ebp - 0x12c]
add ecx, esi
mov esi, dword [ebp - 0x148]
rol ecx, 4
add ecx, eax
mov eax, edi
mov dword [ebp - 0x144], ecx
xor eax, esi
add edi, 0xd4ef3085
xor eax, ecx
add eax, 0xeaa127fa
add eax, dword [ebp - 0x138]
add ebx, eax
rol ebx, 0xb
add ebx, ecx
mov eax, ebx
xor eax, esi
add esi, 0x4881d05
xor eax, ecx
mov ecx, ebx
add eax, dword [ebp - 0x124]
add eax, edi
mov edi, dword [ebp - 0x144]
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x140], eax
mov eax, ecx
xor eax, edi
add edi, 0xd9d4d039
add eax, dword [ebp - 0x110]
add esi, eax
mov eax, dword [ebp - 0x140]
ror esi, 9
add esi, eax
xor eax, esi
xor ecx, esi
add ecx, dword [ebp - 0x11c]
add edi, ecx
mov ecx, dword [ebp - 0x140]
rol edi, 4
add ecx, 0x1fa27cf8
add edi, esi
xor eax, edi
add eax, 0xe6db99e5
add eax, dword [ebp - 0x104]
add ebx, eax
rol ebx, 0xb
add ebx, edi
mov eax, ebx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x134]
add ecx, eax
mov eax, ebx
rol ecx, 0x10
add ecx, ebx
xor eax, ecx
xor eax, edi
add eax, 0xc4ac5665
add eax, dword [ebp - 0x130]
add esi, eax
mov eax, ebx
not eax
ror esi, 9
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0xf4292244
add eax, dword [ebp - 0x138]
add edi, eax
mov eax, ecx
not eax
rol edi, 6
add edi, esi
or eax, edi
xor eax, esi
add eax, 0x432aff97
add eax, dword [ebp - 0xfc]
add ebx, eax
mov eax, esi
rol ebx, 0xa
not eax
add ebx, edi
or eax, ebx
xor eax, edi
add eax, 0xab9423a7
add eax, dword [ebp - 0x120]
add ecx, eax
mov eax, edi
not eax
rol ecx, 0xf
add ecx, ebx
or eax, ecx
xor eax, ebx
add eax, 0xfc93a039
add eax, dword [ebp - 0x100]
add esi, eax
mov eax, ebx
not eax
ror esi, 0xb
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0x655b59c3
add eax, dword [ebp - 0x104]
add edi, eax
mov eax, ecx
not eax
rol edi, 6
add edi, esi
or eax, edi
xor eax, esi
add eax, 0x8f0ccc92
add eax, dword [ebp - 0x124]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xa
add ebx, edi
or eax, ebx
xor eax, edi
add eax, 0xffeff47d
add eax, dword [ebp - 0x108]
add ecx, eax
mov eax, edi
not eax
rol ecx, 0xf
add ecx, ebx
or eax, ecx
xor eax, ebx
add eax, 0x85845dd1
add eax, dword [ebp - 0x13c]
add esi, eax
mov eax, ebx
not eax
ror esi, 0xb
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0x6fa87e4f
add eax, dword [ebp - 0x10c]
add edi, eax
mov eax, ecx
not eax
rol edi, 6
add edi, esi
or eax, edi
xor eax, esi
add eax, 0xfe2ce6e0
add eax, dword [ebp - 0x134]
add ebx, eax
mov eax, esi
not eax
rol ebx, 0xa
add ebx, edi
or eax, ebx
xor eax, edi
add eax, 0xa3014314
add eax, dword [ebp - 0x110]
add ecx, eax
mov eax, edi
rol ecx, 0xf
not eax
add ecx, ebx
or eax, ecx
xor eax, ebx
add eax, 0x4e0811a1
add eax, dword [ebp - 0x12c]
add esi, eax
add edx, 0x40
mov eax, ebx
ror esi, 0xb
not eax
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0xf7537e82
add eax, dword [ebp - 0x114]
add edi, eax
mov eax, ecx
rol edi, 6
not eax
add edi, esi
or eax, edi
mov dword [ebp - 0x120], edi
xor eax, esi
lea edi, [ebx - 0x42c50dcb]
add eax, dword [ebp - 0x118]
lea ebx, [ecx + 0x2ad7d2bb]
mov ecx, dword [ebp - 0x120]
add edi, eax
rol edi, 0xa
mov eax, esi
add edi, dword [ebp - 0x120]
not eax
or eax, edi
mov dword [ebp - 0x124], edi
xor eax, dword [ebp - 0x120]
add eax, dword [ebp - 0x130]
add ebx, eax
mov eax, ecx
add ecx, dword [ebp - 0x150]
not eax
rol ebx, 0xf
add ebx, edi
mov dword [ebp - 0x120], ecx
or eax, ebx
xor eax, edi
lea edi, [esi - 0x14792c6f]
add eax, dword [ebp - 0x11c]
mov esi, dword [ebp - 0x124]
add edi, eax
add esi, dword [ebp - 0x14c]
ror edi, 0xb
add edi, ebx
mov dword [ebp - 0x124], esi
add edi, dword [ebp - 0x154]
add ebx, dword [ebp - 0x158]
sub dword [ebp - 0x15c], 0x40
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x12c], ebx
jne 0x489070
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0x128]
mov dword [ebp - 0xec], edi
and ecx, 0x3f
mov dword [ebp - 0xe8], ebx
mov dword [ebp - 0xe4], esi
push ecx
push edx
lea eax, [ebp - 0xe0]
push eax
call fcn.00505ef0
mov ecx, dword [ebp - 0xf8]
mov eax, 0x40
and ecx, 0x3f
add esp, 0xc
mov byte [ebp + ecx - 0xe0], 0x80
inc ecx
sub eax, ecx
cmp eax, 8
jae 0x48a525
push eax
lea eax, [ebp - 0xe0]
add eax, ecx
push 0
push eax
call fcn.005065b0
movzx ecx, byte [ebp - 0xdd]
add esp, 0xc
movzx eax, byte [ebp - 0xde]
mov ebx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xec]
shl ecx, 8
or ecx, eax
movzx edx, byte [ebp - 0xd9]
movzx eax, byte [ebp - 0xdf]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [ebp - 0xe0]
shl ecx, 8
or ecx, eax
mov eax, ebx
xor eax, esi
mov dword [ebp - 0x130], ecx
and eax, edi
xor eax, ebx
add eax, ecx
mov ecx, dword [ebp - 0xf0]
add ecx, 0xd76aa478
add ecx, eax
movzx eax, byte [ebp - 0xda]
or edx, eax
rol ecx, 7
movzx eax, byte [ebp - 0xdb]
add ecx, edi
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xdc]
shl edx, 8
or edx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x11c], edx
and eax, ecx
xor eax, esi
add esi, 0x242070db
add eax, edx
lea edx, [ebx - 0x173848aa]
movzx ebx, byte [ebp - 0xd5]
add edx, eax
movzx eax, byte [ebp - 0xd6]
shl ebx, 8
or ebx, eax
rol edx, 0xc
movzx eax, byte [ebp - 0xd7]
add edx, ecx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xd8]
shl ebx, 8
or ebx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x100], ebx
and eax, edx
xor eax, edi
add eax, ebx
movzx ebx, byte [ebp - 0xd1]
add esi, eax
shl ebx, 8
movzx eax, byte [ebp - 0xd2]
or ebx, eax
ror esi, 0xf
movzx eax, byte [ebp - 0xd3]
add esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xd4]
shl ebx, 8
or ebx, eax
mov dword [ebp - 0x120], ebx
mov eax, edx
xor eax, ecx
add edi, 0xc1bdceee
and eax, esi
xor eax, ecx
add eax, ebx
movzx ebx, byte [ebp - 0xcd]
add edi, eax
shl ebx, 8
movzx eax, byte [ebp - 0xce]
or ebx, eax
ror edi, 0xa
movzx eax, byte [ebp - 0xcf]
add edi, esi
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xd0]
shl ebx, 8
or ebx, eax
mov eax, edx
xor eax, esi
mov dword [ebp - 0x108], ebx
and eax, edi
add ebx, 0xf57c0faf
xor eax, edx
add eax, ebx
movzx ebx, byte [ebp - 0xc9]
add ecx, eax
shl ebx, 8
movzx eax, byte [ebp - 0xca]
or ebx, eax
rol ecx, 7
movzx eax, byte [ebp - 0xcb]
add ecx, edi
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xcc]
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x13c], ebx
and eax, ecx
add ebx, 0x4787c62a
xor eax, esi
add eax, ebx
movzx ebx, byte [ebp - 0xc5]
add edx, eax
shl ebx, 8
movzx eax, byte [ebp - 0xc6]
or ebx, eax
rol edx, 0xc
movzx eax, byte [ebp - 0xc7]
add edx, ecx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xc8]
shl ebx, 8
or ebx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x110], ebx
and eax, edx
xor eax, edi
add eax, ebx
lea ebx, [esi - 0x57cfb9ed]
movzx esi, byte [ebp - 0xc1]
add ebx, eax
movzx eax, byte [ebp - 0xc2]
shl esi, 8
or esi, eax
ror ebx, 0xf
movzx eax, byte [ebp - 0xc3]
add ebx, edx
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0xc4]
shl esi, 8
or esi, eax
mov dword [ebp - 0x12c], esi
mov eax, edx
add esi, 0xfd469501
xor eax, ecx
and eax, ebx
xor eax, ecx
add eax, esi
movzx esi, byte [ebp - 0xbd]
add edi, eax
shl esi, 8
movzx eax, byte [ebp - 0xbe]
or esi, eax
ror edi, 0xa
movzx eax, byte [ebp - 0xbf]
add edi, ebx
shl esi, 8
or esi, eax
mov dword [ebp - 0x128], edi
movzx eax, byte [ebp - 0xc0]
shl esi, 8
or esi, eax
mov eax, edx
xor eax, ebx
mov dword [ebp - 0x118], esi
and eax, edi
add esi, 0x698098d8
xor eax, edx
add eax, esi
movzx esi, byte [ebp - 0xb9]
add ecx, eax
shl esi, 8
movzx eax, byte [ebp - 0xba]
or esi, eax
rol ecx, 7
movzx eax, byte [ebp - 0xbb]
add ecx, edi
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0xbc]
shl esi, 8
or esi, eax
mov eax, ebx
xor eax, edi
mov dword [ebp - 0xfc], esi
and eax, ecx
xor eax, ebx
add eax, esi
lea esi, [edx - 0x74bb0851]
movzx edx, byte [ebp - 0xb5]
add esi, eax
movzx eax, byte [ebp - 0xb6]
shl edx, 8
or edx, eax
rol esi, 0xc
movzx eax, byte [ebp - 0xb7]
add esi, ecx
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xb8]
shl edx, 8
or edx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x124], edx
and eax, esi
xor eax, edi
lea edi, [ebx - 0xa44f]
add eax, edx
movzx edx, byte [ebp - 0xb1]
add edi, eax
shl edx, 8
movzx eax, byte [ebp - 0xb2]
or edx, eax
ror edi, 0xf
movzx eax, byte [ebp - 0xb3]
add edi, esi
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xb4]
shl edx, 8
or edx, eax
mov dword [ebp - 0x104], edx
mov ebx, dword [ebp - 0x128]
mov eax, esi
xor eax, ecx
add ebx, 0x895cd7be
and eax, edi
xor eax, ecx
add eax, edx
movzx edx, byte [ebp - 0xad]
add ebx, eax
shl edx, 8
movzx eax, byte [ebp - 0xae]
or edx, eax
ror ebx, 0xa
movzx eax, byte [ebp - 0xaf]
add ebx, edi
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xb0]
shl edx, 8
or edx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x138], edx
and eax, ebx
add edx, 0x6b901122
xor eax, esi
add eax, ecx
movzx ecx, byte [ebp - 0xa9]
add edx, eax
shl ecx, 8
movzx eax, byte [ebp - 0xaa]
or ecx, eax
rol edx, 7
movzx eax, byte [ebp - 0xab]
add edx, ebx
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xac]
shl ecx, 8
or ecx, eax
mov eax, edi
xor eax, ebx
mov dword [ebp - 0x10c], ecx
and eax, edx
xor eax, edi
add eax, esi
lea esi, [ecx - 0x2678e6d]
movzx ecx, byte [ebp - 0xa5]
add esi, eax
movzx eax, byte [ebp - 0xa6]
shl ecx, 8
or ecx, eax
rol esi, 0xc
movzx eax, byte [ebp - 0xa7]
add esi, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xa8]
shl ecx, 8
or ecx, eax
mov eax, ebx
xor eax, edx
mov dword [ebp - 0x134], ecx
and eax, esi
xor eax, ebx
add eax, edi
lea edi, [ecx - 0x5986bc72]
movzx ecx, byte [ebp - 0xa1]
add edi, eax
movzx eax, byte [ebp - 0xa2]
shl ecx, 8
or ecx, eax
ror edi, 0xf
movzx eax, byte [ebp - 0xa3]
add edi, esi
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xa4]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x114], ecx
mov eax, esi
add ecx, 0x49b40821
xor eax, edx
and eax, edi
xor eax, edx
add eax, ebx
add ecx, eax
mov eax, edi
ror ecx, 0xa
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, 0xf61e2562
add eax, dword [ebp - 0x11c]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, ecx
xor eax, edx
and eax, edi
xor eax, ecx
add eax, 0xc040b340
add eax, dword [ebp - 0x110]
add esi, eax
rol esi, 9
add esi, edx
mov eax, esi
xor eax, edx
and eax, ecx
xor eax, edx
add eax, 0x265e5a51
add eax, dword [ebp - 0x104]
add edi, eax
mov eax, esi
rol edi, 0xe
add edi, esi
xor eax, edi
and eax, edx
xor eax, esi
add eax, 0xe9b6c7aa
add eax, dword [ebp - 0x130]
add ecx, eax
mov eax, edi
ror ecx, 0xc
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, 0xd62f105d
add eax, dword [ebp - 0x13c]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, ecx
xor eax, edx
and eax, edi
xor eax, ecx
add eax, 0x2441453
add eax, dword [ebp - 0x124]
add esi, eax
rol esi, 9
add esi, edx
mov eax, esi
xor eax, edx
and eax, ecx
xor eax, edx
add eax, 0xd8a1e681
add eax, dword [ebp - 0x114]
add edi, eax
mov eax, esi
rol edi, 0xe
add edi, esi
xor eax, edi
and eax, edx
xor eax, esi
add eax, 0xe7d3fbc8
add eax, dword [ebp - 0x108]
add ecx, eax
ror ecx, 0xc
add ecx, edi
mov eax, edi
lea ebx, [esi - 0x3cc8f82a]
xor eax, ecx
and eax, esi
xor eax, edi
add eax, 0x21e1cde6
add eax, dword [ebp - 0xfc]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, ecx
xor eax, edx
and eax, edi
xor eax, ecx
add eax, dword [ebp - 0x134]
lea esi, [edx - 0x561c16fb]
add ebx, eax
rol ebx, 9
add ebx, edx
mov eax, ebx
xor eax, edx
and eax, ecx
xor eax, edx
add eax, 0xf4d50d87
add eax, dword [ebp - 0x120]
add edi, eax
mov eax, ebx
rol edi, 0xe
add edi, ebx
xor eax, edi
mov dword [ebp - 0x128], edi
and eax, edx
xor eax, ebx
add eax, 0x455a14ed
add eax, dword [ebp - 0x118]
add ecx, eax
mov eax, edi
ror ecx, 0xc
add ecx, edi
xor eax, ecx
mov dword [ebp - 0x14c], ecx
and eax, ebx
mov edx, dword [ebp - 0x14c]
xor eax, edi
add edx, 0x8d2a4c8a
add eax, dword [ebp - 0x10c]
add esi, eax
mov eax, ecx
rol esi, 5
add esi, ecx
xor eax, esi
and eax, edi
lea edi, [ebx - 0x3105c08]
mov ebx, dword [ebp - 0x128]
xor eax, ecx
add eax, dword [ebp - 0x100]
add ebx, 0x676f02d9
add edi, eax
rol edi, 9
add edi, esi
mov eax, edi
xor eax, esi
and eax, ecx
mov ecx, edi
xor eax, esi
add eax, dword [ebp - 0x12c]
add ebx, eax
rol ebx, 0xe
add ebx, edi
xor ecx, ebx
mov eax, ecx
and eax, esi
xor eax, edi
add eax, dword [ebp - 0x138]
add edx, eax
ror edx, 0xc
add edx, ebx
xor ecx, edx
add ecx, 0xfffa3942
add ecx, dword [ebp - 0x13c]
add esi, ecx
mov eax, ebx
rol esi, 4
xor eax, edx
add esi, edx
xor eax, esi
add eax, 0x8771f681
add eax, dword [ebp - 0x118]
add edi, eax
rol edi, 0xb
add edi, esi
mov eax, edi
mov ecx, edi
xor eax, edx
xor eax, esi
add eax, 0x6d9d6122
add eax, dword [ebp - 0x104]
add ebx, eax
rol ebx, 0x10
add ebx, edi
xor ecx, ebx
mov eax, ecx
xor eax, esi
add eax, 0xfde5380c
add eax, dword [ebp - 0x134]
add edx, eax
mov eax, ebx
ror edx, 9
add edx, ebx
xor eax, edx
xor ecx, edx
add ecx, 0xa4beea44
add ecx, dword [ebp - 0x11c]
add esi, ecx
rol esi, 4
add esi, edx
xor eax, esi
add eax, 0x4bdecfa9
add eax, dword [ebp - 0x108]
add edi, eax
rol edi, 0xb
add edi, esi
mov eax, edi
mov ecx, edi
xor eax, edx
xor eax, esi
add eax, 0xf6bb4b60
add eax, dword [ebp - 0x12c]
add ebx, eax
rol ebx, 0x10
add ebx, edi
xor ecx, ebx
mov eax, ecx
xor eax, esi
add eax, 0xbebfbc70
add eax, dword [ebp - 0x124]
add edx, eax
mov eax, ebx
ror edx, 9
add edx, ebx
xor ecx, edx
xor eax, edx
add ecx, 0x289b7ec6
add ecx, dword [ebp - 0x10c]
add esi, ecx
rol esi, 4
add esi, edx
xor eax, esi
add eax, 0xeaa127fa
add eax, dword [ebp - 0x130]
add edi, eax
rol edi, 0xb
add edi, esi
mov eax, edi
mov ecx, edi
xor eax, edx
xor eax, esi
add eax, 0xd4ef3085
add eax, dword [ebp - 0x120]
add ebx, eax
rol ebx, 0x10
add ebx, edi
xor ecx, ebx
mov eax, ecx
xor eax, esi
add esi, 0xd9d4d039
add eax, 0x4881d05
add eax, dword [ebp - 0x110]
add edx, eax
mov eax, ebx
ror edx, 9
add edx, ebx
xor eax, edx
xor ecx, edx
add ecx, dword [ebp - 0xfc]
add ecx, esi
lea esi, [edi - 0x1924661b]
rol ecx, 4
add ecx, edx
xor eax, ecx
add eax, dword [ebp - 0x138]
add esi, eax
rol esi, 0xb
add esi, ecx
mov edi, esi
mov eax, esi
xor edi, edx
xor edi, ecx
add edi, 0x1fa27cf8
add edi, dword [ebp - 0x114]
add edi, ebx
rol edi, 0x10
add edi, esi
xor eax, edi
xor eax, ecx
add eax, 0xc4ac5665
add eax, dword [ebp - 0x100]
add edx, eax
mov eax, esi
not eax
ror edx, 9
add edx, edi
or eax, edx
xor eax, edi
add eax, 0xf4292244
add eax, dword [ebp - 0x130]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, 0x432aff97
add eax, dword [ebp - 0x12c]
add esi, eax
mov eax, edx
not eax
rol esi, 0xa
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0xab9423a7
add eax, dword [ebp - 0x134]
add edi, eax
mov eax, ecx
not eax
rol edi, 0xf
add edi, esi
or eax, edi
xor eax, esi
add eax, 0xfc93a039
add eax, dword [ebp - 0x13c]
add edx, eax
mov eax, esi
ror edx, 0xb
not eax
add edx, edi
or eax, edx
xor eax, edi
add eax, 0x655b59c3
add eax, dword [ebp - 0x138]
add ecx, eax
mov eax, edi
rol ecx, 6
not eax
add ecx, edx
or eax, ecx
xor eax, edx
add eax, 0x8f0ccc92
add eax, dword [ebp - 0x120]
add esi, eax
mov eax, edx
not eax
rol esi, 0xa
add esi, ecx
or eax, esi
xor eax, ecx
add eax, 0xffeff47d
add eax, dword [ebp - 0x124]
lea ebx, [esi - 0x1d31920]
add edi, eax
mov eax, ecx
not eax
rol edi, 0xf
add edi, esi
or eax, edi
xor eax, esi
add eax, 0x85845dd1
add eax, dword [ebp - 0x11c]
add edx, eax
mov eax, esi
not eax
ror edx, 0xb
add edx, edi
or eax, edx
xor eax, edi
add eax, 0x6fa87e4f
add eax, dword [ebp - 0x118]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, dword [ebp - 0x114]
add ebx, eax
lea esi, [ecx - 0x8ac817e]
mov eax, edx
rol ebx, 0xa
not eax
add ebx, ecx
or eax, ebx
xor eax, ecx
add eax, 0xa3014314
add eax, dword [ebp - 0x110]
add edi, eax
mov eax, ecx
not eax
rol edi, 0xf
add edi, ebx
or eax, edi
xor eax, ebx
add eax, 0x4e0811a1
add eax, dword [ebp - 0x10c]
add edx, eax
mov eax, ebx
ror edx, 0xb
not eax
add edx, edi
or eax, edx
mov dword [ebp - 0x128], edx
xor eax, edi
add eax, dword [ebp - 0x108]
add esi, eax
mov eax, edi
rol esi, 6
not eax
add esi, edx
or eax, esi
xor edx, eax
add edx, 0xbd3af235
add edx, dword [ebp - 0x104]
mov ecx, dword [ebp - 0x128]
add edx, ebx
not ecx
rol edx, 0xa
add edx, esi
add dword [ebp - 0xf0], esi
or ecx, edx
add dword [ebp - 0xe4], edx
xor ecx, esi
mov eax, esi
add ecx, 0x2ad7d2bb
not eax
add ecx, dword [ebp - 0x100]
add ecx, edi
rol ecx, 0xf
add ecx, edx
add dword [ebp - 0xe8], ecx
or eax, ecx
xor eax, edx
add eax, 0xeb86d391
add eax, dword [ebp - 0xfc]
add eax, dword [ebp - 0x128]
ror eax, 0xb
add eax, ecx
add dword [ebp - 0xec], eax
xor ecx, ecx
mov eax, 0x40
add eax, 0xfffffff8
push eax
lea eax, [ebp - 0xe0]
add eax, ecx
push 0
push eax
call fcn.005065b0
mov eax, dword [ebp - 0xf8]
add esp, 0xc
shl eax, 3
mov ecx, eax
mov dword [ebp - 0xf8], eax
mov ebx, eax
shr ecx, 8
shr eax, 0x18
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0xf4]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x150], eax
mov eax, ecx
shr eax, 0x10
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xec]
mov dword [ebp - 0x154], eax
movzx eax, byte [ebp - 0xde]
shr ecx, 0x18
mov dword [ebp - 0x158], ecx
movzx ecx, byte [ebp - 0xdd]
shl ecx, 8
or ecx, eax
movzx edx, byte [ebp - 0xd9]
movzx eax, byte [ebp - 0xdf]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [ebp - 0xe0]
shl ecx, 8
or ecx, eax
shr ebx, 0x10
mov eax, dword [ebp - 0xe4]
xor eax, esi
mov dword [ebp - 0x130], ecx
and eax, edi
xor eax, dword [ebp - 0xe4]
add eax, ecx
mov ecx, dword [ebp - 0xf0]
add ecx, 0xd76aa478
add ecx, eax
movzx eax, byte [ebp - 0xda]
or edx, eax
rol ecx, 7
movzx eax, byte [ebp - 0xdb]
add ecx, edi
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xdc]
shl edx, 8
or edx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x134], edx
and eax, ecx
xor eax, esi
movzx esi, byte [ebp - 0xd5]
add eax, edx
shl esi, 8
mov edx, dword [ebp - 0xe4]
add edx, 0xe8c7b756
add edx, eax
movzx eax, byte [ebp - 0xd6]
or esi, eax
rol edx, 0xc
movzx eax, byte [ebp - 0xd7]
add edx, ecx
shl esi, 8
or esi, eax
movzx eax, byte [ebp - 0xd8]
shl esi, 8
or esi, eax
mov eax, edi
mov dword [ebp - 0x13c], esi
xor eax, ecx
and eax, edx
xor eax, edi
movzx edi, byte [ebp - 0xd1]
add eax, esi
shl edi, 8
mov esi, dword [ebp - 0xe8]
add esi, 0x242070db
add esi, eax
movzx eax, byte [ebp - 0xd2]
or edi, eax
ror esi, 0xf
movzx eax, byte [ebp - 0xd3]
add esi, edx
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0xd4]
shl edi, 8
or edi, eax
mov eax, edx
xor eax, ecx
mov dword [ebp - 0x12c], edi
and eax, esi
xor eax, ecx
add eax, edi
mov edi, dword [ebp - 0xec]
add edi, 0xc1bdceee
add edi, eax
movzx eax, byte [ebp - 0xcd]
shl eax, 8
mov dword [ebp - 0xfc], eax
movzx eax, byte [ebp - 0xce]
or dword [ebp - 0xfc], eax
shl dword [ebp - 0xfc], 8
movzx eax, byte [ebp - 0xcf]
or dword [ebp - 0xfc], eax
movzx eax, byte [ebp - 0xd0]
shl dword [ebp - 0xfc], 8
or dword [ebp - 0xfc], eax
mov eax, edx
xor eax, esi
ror edi, 0xa
add edi, esi
and eax, edi
xor eax, edx
add eax, 0xf57c0faf
add eax, dword [ebp - 0xfc]
add ecx, eax
movzx eax, byte [ebp - 0xc9]
shl eax, 8
mov dword [ebp - 0x118], eax
movzx eax, byte [ebp - 0xca]
or dword [ebp - 0x118], eax
shl dword [ebp - 0x118], 8
movzx eax, byte [ebp - 0xcb]
or dword [ebp - 0x118], eax
movzx eax, byte [ebp - 0xcc]
shl dword [ebp - 0x118], 8
or dword [ebp - 0x118], eax
mov eax, esi
xor eax, edi
rol ecx, 7
add ecx, edi
and eax, ecx
xor eax, esi
add eax, 0x4787c62a
add eax, dword [ebp - 0x118]
add edx, eax
movzx eax, byte [ebp - 0xc5]
shl eax, 8
mov dword [ebp - 0x104], eax
movzx eax, byte [ebp - 0xc6]
or dword [ebp - 0x104], eax
shl dword [ebp - 0x104], 8
movzx eax, byte [ebp - 0xc7]
or dword [ebp - 0x104], eax
rol edx, 0xc
add edx, ecx
shl dword [ebp - 0x104], 8
movzx eax, byte [ebp - 0xc8]
or dword [ebp - 0x104], eax
mov eax, edi
xor eax, ecx
and eax, edx
xor eax, edi
add eax, 0xa8304613
add eax, dword [ebp - 0x104]
add esi, eax
movzx eax, byte [ebp - 0xc1]
shl eax, 8
mov dword [ebp - 0x11c], eax
movzx eax, byte [ebp - 0xc2]
or dword [ebp - 0x11c], eax
shl dword [ebp - 0x11c], 8
movzx eax, byte [ebp - 0xc3]
or dword [ebp - 0x11c], eax
movzx eax, byte [ebp - 0xc4]
shl dword [ebp - 0x11c], 8
or dword [ebp - 0x11c], eax
mov eax, edx
xor eax, ecx
ror esi, 0xf
add esi, edx
and eax, esi
xor eax, ecx
add eax, 0xfd469501
add eax, dword [ebp - 0x11c]
add edi, eax
movzx eax, byte [ebp - 0xbd]
shl eax, 8
mov dword [ebp - 0x10c], eax
movzx eax, byte [ebp - 0xbe]
or dword [ebp - 0x10c], eax
shl dword [ebp - 0x10c], 8
movzx eax, byte [ebp - 0xbf]
or dword [ebp - 0x10c], eax
movzx eax, byte [ebp - 0xc0]
shl dword [ebp - 0x10c], 8
or dword [ebp - 0x10c], eax
mov eax, edx
xor eax, esi
ror edi, 0xa
add edi, esi
and eax, edi
xor eax, edx
add eax, 0x698098d8
add eax, dword [ebp - 0x10c]
add ecx, eax
movzx eax, byte [ebp - 0xb9]
shl eax, 8
mov dword [ebp - 0x120], eax
movzx eax, byte [ebp - 0xba]
or dword [ebp - 0x120], eax
shl dword [ebp - 0x120], 8
movzx eax, byte [ebp - 0xbb]
or dword [ebp - 0x120], eax
movzx eax, byte [ebp - 0xbc]
shl dword [ebp - 0x120], 8
or dword [ebp - 0x120], eax
mov eax, esi
xor eax, edi
rol ecx, 7
add ecx, edi
and eax, ecx
xor eax, esi
add eax, 0x8b44f7af
add eax, dword [ebp - 0x120]
add edx, eax
movzx eax, byte [ebp - 0xb5]
shl eax, 8
mov dword [ebp - 0x110], eax
movzx eax, byte [ebp - 0xb6]
or dword [ebp - 0x110], eax
movzx eax, byte [ebp - 0xb7]
shl dword [ebp - 0x110], 8
or dword [ebp - 0x110], eax
movzx eax, byte [ebp - 0xb8]
rol edx, 0xc
add edx, ecx
shl dword [ebp - 0x110], 8
or dword [ebp - 0x110], eax
mov eax, edi
xor eax, ecx
and eax, edx
xor eax, edi
add eax, 0xffff5bb1
add eax, dword [ebp - 0x110]
add esi, eax
movzx eax, byte [ebp - 0xb1]
shl eax, 8
mov dword [ebp - 0x124], eax
movzx eax, byte [ebp - 0xb2]
or dword [ebp - 0x124], eax
shl dword [ebp - 0x124], 8
movzx eax, byte [ebp - 0xb3]
or dword [ebp - 0x124], eax
movzx eax, byte [ebp - 0xb4]
shl dword [ebp - 0x124], 8
or dword [ebp - 0x124], eax
mov eax, edx
xor eax, ecx
ror esi, 0xf
add esi, edx
and eax, esi
xor eax, ecx
add eax, 0x895cd7be
add eax, dword [ebp - 0x124]
add edi, eax
movzx eax, byte [ebp - 0xad]
shl eax, 8
mov dword [ebp - 0x114], eax
movzx eax, byte [ebp - 0xae]
or dword [ebp - 0x114], eax
shl dword [ebp - 0x114], 8
movzx eax, byte [ebp - 0xaf]
or dword [ebp - 0x114], eax
movzx eax, byte [ebp - 0xb0]
shl dword [ebp - 0x114], 8
or dword [ebp - 0x114], eax
mov eax, edx
xor eax, esi
ror edi, 0xa
add edi, esi
and eax, edi
xor eax, edx
add eax, ecx
mov ecx, dword [ebp - 0x114]
add ecx, 0x6b901122
add ecx, eax
movzx eax, byte [ebp - 0xa9]
shl eax, 8
mov dword [ebp - 0x100], eax
movzx eax, byte [ebp - 0xaa]
or dword [ebp - 0x100], eax
shl dword [ebp - 0x100], 8
movzx eax, byte [ebp - 0xab]
or dword [ebp - 0x100], eax
movzx eax, byte [ebp - 0xac]
shl dword [ebp - 0x100], 8
or dword [ebp - 0x100], eax
mov eax, esi
xor eax, edi
rol ecx, 7
add ecx, edi
and eax, ecx
xor eax, esi
add eax, edx
mov edx, dword [ebp - 0x100]
add edx, 0xfd987193
add edx, eax
mov eax, dword [ebp - 0x128]
movzx eax, al
shl eax, 8
mov dword [ebp - 0x138], eax
movzx eax, bl
mov ebx, dword [ebp - 0x138]
rol edx, 0xc
or ebx, eax
mov eax, dword [ebp - 0x14c]
add edx, ecx
shl ebx, 8
movzx eax, al
or ebx, eax
movzx eax, byte [ebp - 0xf8]
shl ebx, 8
or ebx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x138], ebx
and eax, edx
xor eax, edi
add eax, 0xa679438e
add eax, ebx
add esi, eax
mov eax, dword [ebp - 0x158]
movzx eax, al
shl eax, 8
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x154]
movzx eax, al
or dword [ebp - 0x108], eax
shl dword [ebp - 0x108], 8
mov eax, dword [ebp - 0x150]
movzx eax, al
or dword [ebp - 0x108], eax
movzx eax, byte [ebp - 0xf4]
shl dword [ebp - 0x108], 8
or dword [ebp - 0x108], eax
mov eax, edx
xor eax, ecx
ror esi, 0xf
add esi, edx
and eax, esi
xor eax, ecx
add eax, 0x49b40821
add eax, dword [ebp - 0x108]
add edi, eax
mov eax, esi
ror edi, 0xa
add edi, esi
xor eax, edi
and eax, edx
xor eax, esi
add eax, 0xf61e2562
add eax, dword [ebp - 0x134]
add ecx, eax
mov eax, edi
rol ecx, 5
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x104]
add edx, 0xc040b340
add edx, eax
rol edx, 9
add edx, ecx
mov eax, edx
xor eax, ecx
and eax, edi
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x124]
add esi, 0x265e5a51
add esi, eax
mov eax, edx
rol esi, 0xe
add esi, edx
xor eax, esi
and eax, ecx
xor eax, edx
add eax, 0xe9b6c7aa
add eax, dword [ebp - 0x130]
add edi, eax
mov eax, esi
ror edi, 0xc
add edi, esi
xor eax, edi
and eax, edx
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x118]
add ecx, 0xd62f105d
add ecx, eax
mov eax, edi
rol ecx, 5
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x110]
add edx, 0x2441453
add edx, eax
rol edx, 9
add edx, ecx
mov eax, edx
xor eax, ecx
and eax, edi
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x108]
add esi, 0xd8a1e681
add esi, eax
mov eax, edx
rol esi, 0xe
add esi, edx
xor eax, esi
and eax, ecx
xor eax, edx
add eax, edi
mov edi, dword [ebp - 0xfc]
add edi, 0xe7d3fbc8
add edi, eax
mov eax, esi
ror edi, 0xc
add edi, esi
xor eax, edi
and eax, edx
add edx, 0xc33707d6
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x120]
add ecx, 0x21e1cde6
add ecx, eax
mov eax, edi
rol ecx, 5
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x12c]
add ebx, eax
add edx, 0xf4d50d87
rol ebx, 9
add ebx, ecx
mov eax, ebx
mov dword [ebp - 0x128], ebx
xor eax, ecx
and eax, edi
xor eax, ecx
add eax, esi
add edx, eax
mov eax, ebx
rol edx, 0xe
add edx, ebx
xor eax, edx
and eax, ecx
xor eax, ebx
add eax, edi
mov edi, dword [ebp - 0x10c]
add edi, 0x455a14ed
add edi, eax
mov eax, edx
ror edi, 0xc
add edi, edx
xor eax, edi
mov dword [ebp - 0x14c], edi
and eax, ebx
xor eax, edx
add eax, ecx
mov ebx, dword [ebp - 0x100]
mov esi, dword [ebp - 0x128]
add ebx, 0xa9e3e905
add ebx, eax
add esi, 0xfcefa3f8
rol ebx, 5
mov eax, edi
add ebx, edi
xor eax, ebx
and eax, edx
xor eax, edi
add eax, dword [ebp - 0x13c]
add esi, eax
rol esi, 9
add esi, ebx
mov eax, esi
mov ecx, esi
xor eax, ebx
and eax, edi
mov edi, dword [ebp - 0x11c]
xor eax, ebx
add edi, 0x676f02d9
add eax, edx
mov edx, dword [ebp - 0x114]
add edi, eax
add edx, 0x8d2a4c8a
rol edi, 0xe
add edi, esi
xor ecx, edi
mov eax, ecx
and eax, ebx
xor eax, esi
add eax, dword [ebp - 0x14c]
add edx, eax
mov eax, edi
ror edx, 0xc
add edx, edi
xor ecx, edx
xor eax, edx
add ecx, ebx
mov ebx, dword [ebp - 0x118]
add ebx, 0xfffa3942
add ebx, ecx
rol ebx, 4
add ebx, edx
xor eax, ebx
add eax, esi
mov esi, dword [ebp - 0x10c]
add esi, 0x8771f681
add esi, eax
rol esi, 0xb
add esi, ebx
mov eax, esi
mov ecx, esi
xor eax, edx
xor eax, ebx
add eax, edi
mov edi, dword [ebp - 0x124]
add edi, 0x6d9d6122
add edi, eax
rol edi, 0x10
add edi, esi
xor ecx, edi
mov eax, ecx
xor eax, ebx
add eax, edx
mov edx, dword [ebp - 0x138]
add edx, 0xfde5380c
add edx, eax
mov eax, edi
ror edx, 9
add edx, edi
xor ecx, edx
xor eax, edx
add ecx, 0xa4beea44
add ecx, dword [ebp - 0x134]
add ebx, ecx
rol ebx, 4
add ebx, edx
xor eax, ebx
add eax, esi
mov ecx, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x11c]
add ecx, 0x4bdecfa9
add ecx, eax
add esi, 0xf6bb4b60
rol ecx, 0xb
add ecx, ebx
mov eax, ecx
mov dword [ebp - 0x128], ecx
xor eax, edx
xor eax, ebx
add eax, edi
mov edi, dword [ebp - 0x100]
add esi, eax
add edi, 0x289b7ec6
rol esi, 0x10
add esi, ecx
xor ecx, esi
mov eax, ecx
xor eax, ebx
add eax, edx
mov edx, dword [ebp - 0x110]
add edx, 0xbebfbc70
add edx, eax
mov eax, esi
ror edx, 9
add edx, esi
xor eax, edx
xor ecx, edx
add ecx, ebx
mov ebx, dword [ebp - 0x128]
add edi, ecx
add ebx, 0xeaa127fa
rol edi, 4
add edi, edx
xor eax, edi
add eax, dword [ebp - 0x130]
add ebx, eax
rol ebx, 0xb
add ebx, edi
mov eax, ebx
mov ecx, ebx
xor eax, edx
xor eax, edi
add eax, esi
mov esi, dword [ebp - 0x12c]
add esi, 0xd4ef3085
add esi, eax
rol esi, 0x10
add esi, ebx
xor ecx, esi
mov eax, ecx
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x104]
add edx, 0x4881d05
add edx, eax
mov eax, dword [ebp - 0x120]
add eax, 0xd9d4d039
ror edx, 9
add edx, esi
xor ecx, edx
add ecx, edi
mov edi, dword [ebp - 0x114]
add ecx, eax
add edi, 0xe6db99e5
mov eax, esi
rol ecx, 4
xor eax, edx
add ecx, edx
xor eax, ecx
add eax, ebx
add edi, eax
rol edi, 0xb
add edi, ecx
mov eax, edi
xor eax, edx
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x108]
add esi, 0x1fa27cf8
add esi, eax
mov ebx, dword [ebp - 0x118]
rol esi, 0x10
mov eax, edi
add esi, edi
add ebx, 0xfc93a039
xor eax, esi
xor eax, ecx
add eax, 0xc4ac5665
add eax, dword [ebp - 0x13c]
add edx, eax
mov eax, edi
not eax
ror edx, 9
add edx, esi
or eax, edx
xor eax, esi
add eax, 0xf4292244
add eax, dword [ebp - 0x130]
add ecx, eax
mov eax, esi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, edi
mov edi, dword [ebp - 0x11c]
add edi, 0x432aff97
add edi, eax
mov eax, edx
not eax
rol edi, 0xa
add edi, ecx
or eax, edi
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x138]
add esi, 0xab9423a7
add esi, eax
mov eax, ecx
not eax
rol esi, 0xf
add esi, edi
or eax, esi
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x12c]
add ebx, eax
add edx, 0x8f0ccc92
ror ebx, 0xb
mov eax, edi
not eax
add ebx, esi
or eax, ebx
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x114]
add ecx, 0x655b59c3
add ecx, eax
mov eax, esi
not eax
rol ecx, 6
add ecx, ebx
or eax, ecx
xor eax, ebx
add eax, edi
add edx, eax
mov eax, ebx
rol edx, 0xa
not eax
add edx, ecx
or eax, edx
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x110]
add esi, 0xffeff47d
add esi, eax
mov eax, ecx
rol esi, 0xf
add esi, edx
not eax
lea edi, [ebx - 0x7a7ba22f]
or eax, esi
mov ebx, dword [ebp - 0x104]
xor eax, edx
add ebx, 0xa3014314
add eax, dword [ebp - 0x134]
add edi, eax
mov eax, edx
not eax
ror edi, 0xb
add edi, esi
or eax, edi
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 0x6fa87e4f
add ecx, eax
mov eax, esi
not eax
rol ecx, 6
add ecx, edi
or eax, ecx
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x108]
add edx, 0xfe2ce6e0
add edx, eax
mov eax, edi
not eax
rol edx, 0xa
add edx, ecx
or eax, edx
xor eax, ecx
add eax, esi
mov esi, dword [ebp - 0x100]
add ebx, eax
add esi, 0x4e0811a1
mov eax, ecx
rol ebx, 0xf
not eax
add ebx, edx
or eax, ebx
xor eax, edx
add eax, edi
add esi, eax
mov eax, edx
not eax
ror esi, 0xb
add esi, ebx
or eax, esi
xor eax, ebx
add eax, ecx
mov ecx, dword [ebp - 0xfc]
add ecx, 0xf7537e82
add ecx, eax
mov eax, ebx
not eax
rol ecx, 6
add ecx, esi
or eax, ecx
mov dword [ebp - 0x128], ecx
mov ecx, dword [ebp - 0x124]
xor eax, esi
add eax, edx
add ecx, 0xbd3af235
mov edx, dword [ebp - 0x128]
add ecx, eax
rol ecx, 0xa
mov eax, esi
not eax
add ecx, edx
or eax, ecx
mov dword [ebp - 0x130], ecx
xor eax, edx
add eax, 0x2ad7d2bb
add eax, dword [ebp - 0x13c]
add ebx, eax
mov eax, edx
rol ebx, 0xf
add ebx, ecx
add edx, dword [ebp - 0xf0]
not eax
or eax, ebx
mov byte [ebp - 0x20], dl
xor eax, ecx
mov ecx, dword [ebp - 0x120]
add eax, esi
add ecx, 0xeb86d391
add ecx, eax
mov eax, dword [ebp - 0xe4]
add dword [ebp - 0x130], eax
mov eax, edx
shr eax, 8
mov byte [ebp - 0x1f], al
mov eax, edx
shr eax, 0x10
mov byte [ebp - 0x1e], al
ror ecx, 0xb
add ecx, ebx
shr edx, 0x18
add ecx, dword [ebp - 0xec]
add ebx, dword [ebp - 0xe8]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x1b], al
mov eax, ecx
shr eax, 0x10
mov byte [ebp - 0x1a], al
mov eax, ebx
shr eax, 8
mov byte [ebp - 0x17], al
mov eax, ebx
shr eax, 0x10
mov byte [ebp - 0x1c], cl
shr ecx, 0x18
mov byte [ebp - 0x16], al
mov byte [ebp - 0x19], cl
mov ecx, dword [ebp - 0x130]
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x13], al
mov eax, ecx
shr eax, 0x10
push 0x40
mov byte [ebp - 0x12], al
lea eax, [ebp - 0x60]
mov byte [ebp - 0x14], cl
mov byte [ebp - 0x18], bl
shr ecx, 0x18
push 0
shr ebx, 0x18
push eax
mov byte [ebp - 0x1d], dl
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x11], cl
call fcn.005065b0
add esp, 0xc
lea edi, [ebp - 0x60]
xor esi, esi
movzx eax, byte [ebp + esi - 0x20]
push eax
push str._02X
push 4
push edi
call fcn.0043e088
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x48b142
cmp byte [ebp - 0x60], 0
jne 0x48b16b
xor ecx, ecx
jmp 0x48b17a
lea ecx, [ebp - 0x60]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x48b171
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x164]
lea eax, [ebp - 0x60]
push eax
call fcn.0040bda0
mov eax, dword [ebp - 0x164]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004f4655
mov esp, ebp
pop ebp
ret