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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a12c2
mov eax, dword fs:[0]
push eax
sub esp, 0x15c
mov eax, dword [0x4cc0a0]
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 - 0x120], eax
mov dword [ebp - 0x160], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x14], 0xf
cmp dword [eax + 0x14], 0x10
mov dword [ebp - 0x168], eax
mov dword [eax + 0x10], 0
jb 0x42b110
mov eax, dword [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 - 0x120], ecx
jb 0x42b176
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 0x42bc8e
and ecx, 0xffffffc0
mov edi, 0xefcdab89
mov dword [ebp - 0x150], ecx
mov ebx, 0x98badcfe
mov ecx, 0x67452301
mov dword [ebp - 0x148], edi
mov esi, 0x10325476
mov dword [ebp - 0x100], ecx
mov dword [ebp - 0x124], ebx
mov dword [ebp - 0x104], esi
nop dword [eax]
movzx eax, byte [edx + 2]
mov dword [ebp - 0x154], ecx
movzx ecx, byte [edx + 3]
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x15c], 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 - 0x158], edi
mov eax, esi
mov dword [ebp - 0x130], ecx
xor eax, ebx
movzx ebx, byte [edx + 7]
and eax, edi
shl ebx, 8
xor eax, esi
mov esi, dword [ebp - 0x104]
add eax, ecx
add esi, 0xe8c7b756
mov ecx, dword [ebp - 0x100]
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 - 0x124]
xor eax, edi
mov dword [ebp - 0x13c], ebx
and eax, ecx
xor eax, dword [ebp - 0x124]
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 - 0x128], ebx
and eax, esi
xor eax, edi
mov edi, dword [ebp - 0x124]
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 - 0x138], ebx
and eax, edi
xor eax, ecx
add eax, ebx
mov ebx, dword [ebp - 0x148]
add ebx, 0xc1bdceee
add ebx, eax
movzx eax, byte [edx + 0x13]
shl eax, 8
mov dword [ebp - 0x100], eax
movzx eax, byte [edx + 0x12]
or dword [ebp - 0x100], eax
shl dword [ebp - 0x100], 8
movzx eax, byte [edx + 0x11]
or dword [ebp - 0x100], eax
movzx eax, byte [edx + 0x10]
shl dword [ebp - 0x100], 8
or dword [ebp - 0x100], 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 - 0x100]
add ecx, eax
movzx eax, byte [edx + 0x17]
shl eax, 8
mov dword [ebp - 0x108], eax
movzx eax, byte [edx + 0x16]
or dword [ebp - 0x108], eax
shl dword [ebp - 0x108], 8
movzx eax, byte [edx + 0x15]
or dword [ebp - 0x108], eax
movzx eax, byte [edx + 0x14]
shl dword [ebp - 0x108], 8
or dword [ebp - 0x108], 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 - 0x108]
add esi, eax
movzx eax, byte [edx + 0x1b]
shl eax, 8
mov dword [ebp - 0x118], eax
movzx eax, byte [edx + 0x1a]
or dword [ebp - 0x118], eax
shl dword [ebp - 0x118], 8
movzx eax, byte [edx + 0x19]
or dword [ebp - 0x118], eax
movzx eax, byte [edx + 0x18]
shl dword [ebp - 0x118], 8
or dword [ebp - 0x118], 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 - 0x118]
add edi, eax
movzx eax, byte [edx + 0x1f]
shl eax, 8
mov dword [ebp - 0x11c], eax
movzx eax, byte [edx + 0x1e]
or dword [ebp - 0x11c], eax
shl dword [ebp - 0x11c], 8
movzx eax, byte [edx + 0x1d]
or dword [ebp - 0x11c], eax
movzx eax, byte [edx + 0x1c]
shl dword [ebp - 0x11c], 8
or dword [ebp - 0x11c], 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 - 0x11c]
add ebx, eax
movzx eax, byte [edx + 0x23]
shl eax, 8
mov dword [ebp - 0x114], eax
movzx eax, byte [edx + 0x22]
or dword [ebp - 0x114], eax
shl dword [ebp - 0x114], 8
movzx eax, byte [edx + 0x21]
or dword [ebp - 0x114], eax
movzx eax, byte [edx + 0x20]
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, 0x698098d8
add eax, dword [ebp - 0x114]
add ecx, eax
movzx eax, byte [edx + 0x27]
shl eax, 8
mov dword [ebp - 0xfc], eax
movzx eax, byte [edx + 0x26]
or dword [ebp - 0xfc], eax
shl dword [ebp - 0xfc], 8
movzx eax, byte [edx + 0x25]
or dword [ebp - 0xfc], eax
movzx eax, byte [edx + 0x24]
shl dword [ebp - 0xfc], 8
or dword [ebp - 0xfc], 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 - 0xfc]
add esi, eax
movzx eax, byte [edx + 0x2b]
shl eax, 8
mov dword [ebp - 0x110], eax
movzx eax, byte [edx + 0x2a]
or dword [ebp - 0x110], eax
shl dword [ebp - 0x110], 8
movzx eax, byte [edx + 0x29]
or dword [ebp - 0x110], eax
movzx eax, byte [edx + 0x28]
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
mov dword [ebp - 0x148], esi
xor eax, ebx
add eax, 0xffff5bb1
add eax, dword [ebp - 0x110]
add edi, eax
movzx eax, byte [edx + 0x2f]
shl eax, 8
mov dword [ebp - 0x104], eax
movzx eax, byte [edx + 0x2e]
or dword [ebp - 0x104], eax
shl dword [ebp - 0x104], 8
movzx eax, byte [edx + 0x2d]
or dword [ebp - 0x104], eax
movzx eax, byte [edx + 0x2c]
shl dword [ebp - 0x104], 8
or dword [ebp - 0x104], eax
mov eax, esi
ror edi, 0xf
add edi, esi
xor eax, ecx
mov dword [ebp - 0x12c], edi
and eax, edi
xor eax, ecx
add eax, 0x895cd7be
add eax, dword [ebp - 0x104]
add ebx, eax
movzx eax, byte [edx + 0x33]
shl eax, 8
mov dword [ebp - 0x10c], eax
movzx eax, byte [edx + 0x32]
or dword [ebp - 0x10c], eax
shl dword [ebp - 0x10c], 8
movzx eax, byte [edx + 0x31]
or dword [ebp - 0x10c], eax
movzx eax, byte [edx + 0x30]
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
mov dword [ebp - 0x140], ebx
xor eax, esi
lea esi, [ecx + 0x6b901122]
add eax, dword [ebp - 0x10c]
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 - 0x124], ecx
and eax, esi
xor eax, edi
mov edi, dword [ebp - 0x148]
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 - 0x134], ecx
and eax, edi
xor eax, ebx
mov ebx, dword [ebp - 0x12c]
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 - 0x12c], ecx
mov eax, edi
xor eax, esi
and eax, ebx
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x140]
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 - 0x118]
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 - 0x104]
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 - 0x130]
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 - 0x108]
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 - 0x110]
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 - 0x12c]
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 - 0x100]
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 - 0xfc]
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 - 0x134]
add edi, eax
rol edi, 9
add edi, esi
mov eax, edi
mov dword [ebp - 0x140], edi
xor eax, esi
and eax, ecx
xor eax, esi
add eax, 0xf4d50d87
add eax, dword [ebp - 0x138]
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 - 0x114]
add ecx, eax
mov eax, ebx
ror ecx, 0xc
add ecx, ebx
xor eax, ecx
mov dword [ebp - 0x148], ecx
and eax, edi
lea edi, [esi - 0x561c16fb]
xor eax, ebx
mov esi, dword [ebp - 0x140]
add eax, dword [ebp - 0x124]
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 - 0x128]
add esi, eax
rol esi, 9
add esi, edi
mov eax, esi
mov dword [ebp - 0x140], esi
xor eax, edi
and eax, ecx
mov ecx, esi
xor eax, edi
add eax, 0x676f02d9
add eax, dword [ebp - 0x11c]
add ebx, eax
rol ebx, 0xe
add ebx, esi
xor ecx, ebx
mov dword [ebp - 0x144], ebx
mov eax, ecx
and eax, edi
xor eax, esi
mov esi, dword [ebp - 0x148]
add eax, dword [ebp - 0x10c]
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 - 0x108]
xor eax, esi
mov ebx, dword [ebp - 0x140]
add edi, ecx
mov ecx, dword [ebp - 0x144]
add ebx, 0x8771f681
rol edi, 4
add ecx, 0x6d9d6122
add edi, esi
xor eax, edi
add eax, dword [ebp - 0x114]
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 - 0x104]
add eax, ecx
mov ecx, ebx
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x144], eax
mov eax, ecx
xor eax, edi
add edi, 0xa4beea44
add eax, dword [ebp - 0x134]
add eax, esi
mov esi, dword [ebp - 0x144]
ror eax, 9
add eax, esi
xor ecx, eax
mov dword [ebp - 0x144], eax
add ecx, dword [ebp - 0x13c]
add ecx, edi
mov edi, dword [ebp - 0x144]
rol ecx, 4
add ecx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x140], ecx
xor eax, ecx
add esi, 0xf6bb4b60
add eax, 0x4bdecfa9
add eax, dword [ebp - 0x100]
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 - 0x11c]
add eax, esi
mov esi, dword [ebp - 0x140]
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x144], eax
mov eax, ecx
xor eax, esi
add esi, 0x289b7ec6
add eax, dword [ebp - 0x110]
add eax, edi
mov edi, dword [ebp - 0x144]
ror eax, 9
add eax, edi
xor ecx, eax
mov dword [ebp - 0x144], eax
add ecx, dword [ebp - 0x124]
add ecx, esi
mov esi, dword [ebp - 0x144]
rol ecx, 4
add ecx, eax
mov eax, edi
mov dword [ebp - 0x140], ecx
xor eax, esi
add edi, 0xd4ef3085
xor eax, ecx
add eax, 0xeaa127fa
add eax, dword [ebp - 0x130]
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 - 0x138]
add eax, edi
mov edi, dword [ebp - 0x140]
rol eax, 0x10
add eax, ebx
xor ecx, eax
mov dword [ebp - 0x148], eax
mov eax, ecx
xor eax, edi
add edi, 0xd9d4d039
add eax, dword [ebp - 0x118]
add esi, eax
mov eax, dword [ebp - 0x148]
ror esi, 9
add esi, eax
xor eax, esi
xor ecx, esi
add ecx, dword [ebp - 0xfc]
add edi, ecx
mov ecx, dword [ebp - 0x148]
rol edi, 4
add ecx, 0x1fa27cf8
add edi, esi
xor eax, edi
add eax, 0xe6db99e5
add eax, dword [ebp - 0x10c]
add ebx, eax
rol ebx, 0xb
add ebx, edi
mov eax, ebx
xor eax, esi
xor eax, edi
add eax, dword [ebp - 0x12c]
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 - 0x128]
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 - 0x130]
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 - 0x11c]
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 - 0x134]
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 - 0x108]
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 - 0x10c]
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 - 0x138]
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 - 0x110]
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 - 0x114]
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 - 0x12c]
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 - 0x118]
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 - 0x124]
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 - 0x100]
add edi, eax
mov eax, ecx
rol edi, 6
not eax
add edi, esi
or eax, edi
mov dword [ebp - 0x100], edi
xor eax, esi
lea edi, [ebx - 0x42c50dcb]
add eax, dword [ebp - 0x104]
lea ebx, [ecx + 0x2ad7d2bb]
mov ecx, dword [ebp - 0x100]
add edi, eax
rol edi, 0xa
mov eax, esi
add edi, dword [ebp - 0x100]
not eax
or eax, edi
mov dword [ebp - 0x104], edi
xor eax, dword [ebp - 0x100]
add eax, dword [ebp - 0x128]
add ebx, eax
mov eax, ecx
add ecx, dword [ebp - 0x154]
not eax
rol ebx, 0xf
add ebx, edi
mov dword [ebp - 0x100], ecx
or eax, ebx
xor eax, edi
lea edi, [esi - 0x14792c6f]
add eax, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x104]
add edi, eax
add esi, dword [ebp - 0x14c]
ror edi, 0xb
add edi, ebx
mov dword [ebp - 0x104], esi
add edi, dword [ebp - 0x158]
add ebx, dword [ebp - 0x15c]
sub dword [ebp - 0x150], 0x40
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x124], ebx
jne 0x42b1d0
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0x120]
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.00479270
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 0x42c6a4
push eax
lea eax, [ebp - 0xe0]
add eax, ecx
push 0
push eax
call fcn.004797f0
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]
movzx edx, byte [ebp - 0xd9]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [ebp - 0xdf]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xe0]
shl ecx, 8
or ecx, eax
mov eax, ebx
xor eax, esi
mov dword [ebp - 0x128], ecx
and eax, edi
xor eax, ebx
add eax, 0xd76aa478
add eax, dword [ebp - 0xf0]
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 - 0x130], edx
and eax, ecx
add edx, 0xe8c7b756
xor eax, esi
add eax, ebx
movzx ebx, byte [ebp - 0xd5]
add edx, eax
shl ebx, 8
movzx eax, byte [ebp - 0xd6]
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 - 0x10c], ebx
and eax, edx
xor eax, edi
add eax, esi
lea esi, [ebx + 0x242070db]
movzx ebx, byte [ebp - 0xd1]
add esi, eax
movzx eax, byte [ebp - 0xd2]
shl ebx, 8
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 - 0x138], ebx
mov eax, edx
xor eax, ecx
and eax, esi
xor eax, ecx
add eax, edi
lea edi, [ebx - 0x3e423112]
movzx ebx, byte [ebp - 0xcd]
add edi, eax
movzx eax, byte [ebp - 0xce]
shl ebx, 8
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 - 0x114], ebx
and eax, edi
xor eax, edx
add eax, ebx
lea ebx, [ecx - 0xa83f051]
movzx ecx, byte [ebp - 0xc9]
add ebx, eax
movzx eax, byte [ebp - 0xca]
shl ecx, 8
or ecx, eax
rol ebx, 7
movzx eax, byte [ebp - 0xcb]
add ebx, edi
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xcc]
shl ecx, 8
or ecx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x12c], ecx
and eax, ebx
add ecx, 0x4787c62a
xor eax, esi
add eax, ecx
movzx ecx, byte [ebp - 0xc5]
add edx, eax
shl ecx, 8
movzx eax, byte [ebp - 0xc6]
or ecx, eax
rol edx, 0xc
movzx eax, byte [ebp - 0xc7]
add edx, ebx
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x120], edx
movzx eax, byte [ebp - 0xc8]
shl ecx, 8
or ecx, eax
mov eax, edi
xor eax, ebx
mov dword [ebp - 0x100], ecx
and eax, edx
add ecx, 0xa8304613
xor eax, edi
add eax, ecx
movzx ecx, byte [ebp - 0xc1]
add esi, eax
shl ecx, 8
movzx eax, byte [ebp - 0xc2]
or ecx, eax
ror esi, 0xf
movzx eax, byte [ebp - 0xc3]
add esi, edx
shl ecx, 8
or ecx, eax
mov dword [ebp - 0x14c], esi
movzx eax, byte [ebp - 0xc4]
shl ecx, 8
or ecx, eax
mov eax, edx
mov dword [ebp - 0x124], ecx
xor eax, ebx
and eax, esi
xor eax, ebx
add eax, ecx
lea ecx, [edi - 0x2b96aff]
movzx edi, byte [ebp - 0xbd]
add ecx, eax
movzx eax, byte [ebp - 0xbe]
shl edi, 8
or edi, eax
ror ecx, 0xa
movzx eax, byte [ebp - 0xbf]
add ecx, esi
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0xc0]
shl edi, 8
or edi, eax
mov eax, edx
xor eax, esi
mov dword [ebp - 0x104], edi
and eax, ecx
xor eax, edx
lea edx, [ebx + 0x698098d8]
movzx ebx, byte [ebp - 0xb9]
add eax, edi
add edx, eax
shl ebx, 8
movzx eax, byte [ebp - 0xba]
or ebx, eax
mov edi, dword [ebp - 0x14c]
movzx eax, byte [ebp - 0xbb]
add edi, 0xffff5bb1
shl ebx, 8
or ebx, eax
rol edx, 7
movzx eax, byte [ebp - 0xbc]
add edx, ecx
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, ecx
mov dword [ebp - 0x108], ebx
and eax, edx
xor eax, esi
mov esi, dword [ebp - 0x120]
add eax, ebx
add esi, 0x8b44f7af
movzx ebx, byte [ebp - 0xb5]
add esi, eax
movzx eax, byte [ebp - 0xb6]
shl ebx, 8
or ebx, eax
rol esi, 0xc
movzx eax, byte [ebp - 0xb7]
add esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xb8]
shl ebx, 8
or ebx, eax
mov eax, ecx
xor eax, edx
mov dword [ebp - 0x134], ebx
and eax, esi
xor eax, ecx
add eax, ebx
movzx ebx, byte [ebp - 0xb1]
add edi, eax
shl ebx, 8
movzx eax, byte [ebp - 0xb2]
or ebx, eax
ror edi, 0xf
movzx eax, byte [ebp - 0xb3]
add edi, esi
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xb4]
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, edx
mov dword [ebp - 0x110], ebx
and eax, edi
xor eax, edx
add eax, ecx
lea ecx, [ebx - 0x76a32842]
movzx ebx, byte [ebp - 0xad]
add ecx, eax
movzx eax, byte [ebp - 0xae]
shl ebx, 8
or ebx, eax
ror ecx, 0xa
movzx eax, byte [ebp - 0xaf]
add ecx, edi
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xb0]
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, edi
mov dword [ebp - 0x13c], ebx
and eax, ecx
xor eax, esi
add eax, edx
lea edx, [ebx + 0x6b901122]
movzx ebx, byte [ebp - 0xa9]
add edx, eax
movzx eax, byte [ebp - 0xaa]
shl ebx, 8
or ebx, eax
rol edx, 7
movzx eax, byte [ebp - 0xab]
add edx, ecx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xac]
shl ebx, 8
or ebx, eax
mov eax, edi
xor eax, ecx
mov dword [ebp - 0x118], ebx
and eax, edx
xor eax, edi
add eax, esi
lea esi, [ebx - 0x2678e6d]
movzx ebx, byte [ebp - 0xa5]
add esi, eax
movzx eax, byte [ebp - 0xa6]
shl ebx, 8
or ebx, eax
rol esi, 0xc
movzx eax, byte [ebp - 0xa7]
add esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xa8]
shl ebx, 8
or ebx, eax
mov eax, ecx
xor eax, edx
mov dword [ebp - 0x150], ebx
and eax, esi
xor eax, ecx
add eax, edi
lea edi, [ebx - 0x5986bc72]
add edi, eax
movzx eax, byte [ebp - 0xa1]
shl eax, 8
mov dword [ebp - 0xfc], eax
movzx eax, byte [ebp - 0xa2]
or dword [ebp - 0xfc], eax
movzx eax, byte [ebp - 0xa3]
shl dword [ebp - 0xfc], 8
or dword [ebp - 0xfc], eax
movzx eax, byte [ebp - 0xa4]
ror edi, 0xf
add edi, esi
shl dword [ebp - 0xfc], 8
or dword [ebp - 0xfc], eax
mov eax, esi
xor eax, edx
and eax, edi
xor eax, edx
add eax, ecx
mov ecx, dword [ebp - 0xfc]
add ecx, 0x49b40821
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 - 0x130]
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 - 0x100]
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 - 0x110]
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 - 0x128]
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 - 0x12c]
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 - 0x134]
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 - 0xfc]
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 - 0x114]
add ecx, eax
ror ecx, 0xc
mov eax, edi
add ecx, edi
xor eax, ecx
and eax, esi
xor eax, edi
add eax, 0x21e1cde6
add eax, dword [ebp - 0x108]
add edx, eax
mov eax, ecx
rol edx, 5
add edx, ecx
xor eax, edx
and eax, edi
xor eax, ecx
add eax, ebx
lea ebx, [esi - 0x3cc8f82a]
add ebx, eax
lea esi, [edx - 0x561c16fb]
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 - 0x138]
add edi, eax
mov eax, ebx
rol edi, 0xe
add edi, ebx
xor eax, edi
mov dword [ebp - 0x120], edi
and eax, edx
xor eax, ebx
add eax, 0x455a14ed
add eax, dword [ebp - 0x104]
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 - 0x118]
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 - 0x120]
xor eax, ecx
add eax, dword [ebp - 0x10c]
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 - 0x124]
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 - 0x13c]
add edx, eax
ror edx, 0xc
add edx, ebx
xor ecx, edx
add ecx, 0xfffa3942
add ecx, dword [ebp - 0x12c]
mov eax, ebx
xor eax, edx
add esi, ecx
rol esi, 4
add esi, edx
xor eax, esi
add eax, 0x8771f681
add eax, dword [ebp - 0x104]
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 - 0x110]
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 - 0x150]
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 - 0x130]
add esi, ecx
rol esi, 4
add esi, edx
xor eax, esi
add eax, 0x4bdecfa9
add eax, dword [ebp - 0x114]
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 - 0x124]
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 - 0x134]
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 - 0x118]
add esi, ecx
rol esi, 4
add esi, edx
xor eax, esi
add eax, 0xeaa127fa
add eax, dword [ebp - 0x128]
add edi, eax
rol edi, 0xb
add edi, esi
mov eax, edi
xor eax, edx
xor eax, esi
add eax, 0xd4ef3085
add eax, dword [ebp - 0x138]
add ebx, eax
rol ebx, 0x10
add ebx, edi
mov ecx, edi
xor ecx, ebx
mov eax, ecx
xor eax, esi
add esi, 0xd9d4d039
add eax, 0x4881d05
add eax, dword [ebp - 0x100]
add edx, eax
mov eax, ebx
ror edx, 9
add edx, ebx
xor eax, edx
xor ecx, edx
add ecx, dword [ebp - 0x108]
add ecx, esi
lea esi, [edi - 0x1924661b]
rol ecx, 4
add ecx, edx
xor eax, ecx
add eax, dword [ebp - 0x13c]
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 - 0xfc]
add edi, ebx
rol edi, 0x10
add edi, esi
xor eax, edi
xor eax, ecx
add eax, 0xc4ac5665
add eax, dword [ebp - 0x10c]
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 - 0x128]
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 - 0x124]
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 - 0x150]
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 - 0x12c]
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 - 0x13c]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, 0x8f0ccc92
add eax, dword [ebp - 0x138]
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 - 0x134]
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 - 0x130]
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 - 0x104]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, dword [ebp - 0xfc]
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 - 0x100]
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 - 0x118]
add edx, eax
mov eax, ebx
not eax
ror edx, 0xb
add edx, edi
or eax, edx
mov dword [ebp - 0x120], edx
xor eax, edi
add eax, dword [ebp - 0x114]
add esi, eax
mov eax, edi
rol esi, 6
not eax
add esi, edx
or eax, esi
xor edx, eax
mov ecx, dword [ebp - 0x120]
add edx, 0xbd3af235
add edx, dword [ebp - 0x110]
not ecx
add edx, ebx
add dword [ebp - 0xf0], esi
rol edx, 0xa
mov eax, esi
add edx, esi
not eax
or ecx, edx
add dword [ebp - 0xe4], edx
xor ecx, esi
add ecx, 0x2ad7d2bb
add ecx, dword [ebp - 0x10c]
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 - 0x108]
add eax, dword [ebp - 0x120]
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.004797f0
mov ecx, dword [ebp - 0xf8]
shl ecx, 3
mov eax, ecx
mov dword [ebp - 0xf8], ecx
shr eax, 8
mov dword [ebp - 0x158], eax
mov eax, ecx
shr eax, 0x10
mov dword [ebp - 0x15c], eax
shr ecx, 0x18
mov ebx, dword [ebp - 0xe4]
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0xf4]
mov eax, ecx
shr eax, 8
mov dword [ebp - 0x140], eax
mov eax, ecx
shr eax, 0x10
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0x144], eax
movzx eax, byte [ebp - 0xde]
mov edi, dword [ebp - 0xec]
shr ecx, 0x18
mov dword [ebp - 0x154], ecx
movzx ecx, byte [ebp - 0xdd]
movzx edx, byte [ebp - 0xd9]
shl ecx, 8
or ecx, eax
shl edx, 8
movzx eax, byte [ebp - 0xdf]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp - 0xe0]
shl ecx, 8
or ecx, eax
mov eax, ebx
xor eax, esi
mov dword [ebp - 0x128], ecx
and eax, edi
xor eax, ebx
add eax, 0xd76aa478
add eax, dword [ebp - 0xf0]
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 - 0xfc], edx
and eax, ecx
add edx, 0xe8c7b756
xor eax, esi
add eax, ebx
movzx ebx, byte [ebp - 0xd5]
add edx, eax
shl ebx, 8
movzx eax, byte [ebp - 0xd6]
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 dword [ebp - 0x108], ebx
mov eax, edi
xor eax, ecx
and eax, edx
xor eax, edi
add eax, esi
lea esi, [ebx + 0x242070db]
movzx ebx, byte [ebp - 0xd1]
add esi, eax
movzx eax, byte [ebp - 0xd2]
shl ebx, 8
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 eax, edx
xor eax, ecx
mov dword [ebp - 0x134], ebx
and eax, esi
xor eax, ecx
add eax, edi
lea edi, [ebx - 0x3e423112]
movzx ebx, byte [ebp - 0xcd]
add edi, eax
movzx eax, byte [ebp - 0xce]
shl ebx, 8
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 - 0x110], ebx
and eax, edi
xor eax, edx
add eax, ecx
lea ecx, [ebx - 0xa83f051]
movzx ebx, byte [ebp - 0xc9]
add ecx, eax
movzx eax, byte [ebp - 0xca]
shl ebx, 8
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, edx
movzx edx, byte [ebp - 0xc5]
add ebx, eax
shl edx, 8
movzx eax, byte [ebp - 0xc6]
or edx, eax
rol ebx, 0xc
movzx eax, byte [ebp - 0xc7]
add ebx, ecx
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xc8]
shl edx, 8
or edx, eax
mov eax, edi
mov dword [ebp - 0x118], edx
xor eax, ecx
and eax, ebx
xor eax, edi
add eax, esi
lea esi, [edx - 0x57cfb9ed]
add esi, eax
movzx edx, byte [ebp - 0xc1]
movzx eax, byte [ebp - 0xc2]
shl edx, 8
or edx, eax
ror esi, 0xf
movzx eax, byte [ebp - 0xc3]
add esi, ebx
shl edx, 8
or edx, eax
mov dword [ebp - 0x120], esi
movzx eax, byte [ebp - 0xc4]
shl edx, 8
or edx, eax
mov eax, ebx
xor eax, ecx
mov dword [ebp - 0x124], edx
and eax, esi
add edx, 0xfd469501
xor eax, ecx
add eax, edi
movzx edi, byte [ebp - 0xbd]
add edx, eax
shl edi, 8
movzx eax, byte [ebp - 0xbe]
or edi, eax
ror edx, 0xa
movzx eax, byte [ebp - 0xbf]
add edx, esi
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0xc0]
shl edi, 8
or edi, eax
mov eax, ebx
xor eax, esi
mov dword [ebp - 0x104], edi
and eax, edx
xor eax, ebx
add eax, ecx
lea ecx, [edi + 0x698098d8]
movzx edi, byte [ebp - 0xb9]
add ecx, eax
movzx eax, byte [ebp - 0xba]
shl edi, 8
or edi, eax
rol ecx, 7
movzx eax, byte [ebp - 0xbb]
add ecx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0xbc]
shl edi, 8
or edi, eax
mov eax, esi
xor eax, edx
mov dword [ebp - 0x11c], edi
and eax, ecx
xor eax, esi
lea esi, [ebx - 0x74bb0851]
movzx ebx, byte [ebp - 0xb5]
add eax, edi
add esi, eax
shl ebx, 8
movzx eax, byte [ebp - 0xb6]
or ebx, eax
rol esi, 0xc
movzx eax, byte [ebp - 0xb7]
add esi, ecx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xb8]
shl ebx, 8
or ebx, eax
mov eax, edx
mov dword [ebp - 0x130], ebx
xor eax, ecx
mov edi, dword [ebp - 0x120]
and eax, esi
add edi, 0xffff5bb1
xor eax, edx
add eax, ebx
movzx ebx, byte [ebp - 0xb1]
add edi, eax
shl ebx, 8
movzx eax, byte [ebp - 0xb2]
or ebx, eax
ror edi, 0xf
movzx eax, byte [ebp - 0xb3]
add edi, esi
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp - 0xb4]
shl ebx, 8
or ebx, eax
mov eax, esi
xor eax, ecx
mov dword [ebp - 0x10c], ebx
and eax, edi
add ebx, 0x895cd7be
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
xor eax, esi
add eax, ecx
lea ecx, [edx + 0x6b901122]
movzx edx, byte [ebp - 0xa9]
add ecx, eax
movzx eax, byte [ebp - 0xaa]
shl edx, 8
or edx, eax
rol ecx, 7
movzx eax, byte [ebp - 0xab]
add ecx, ebx
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 0xac]
shl edx, 8
or edx, eax
mov eax, edi
xor eax, ebx
mov dword [ebp - 0x114], edx
and eax, ecx
add edx, 0xfd987193
xor eax, edi
add eax, esi
add edx, eax
mov eax, dword [ebp - 0x14c]
movzx esi, al
mov eax, dword [ebp - 0x15c]
shl esi, 8
movzx eax, al
or esi, eax
rol edx, 0xc
mov eax, dword [ebp - 0x158]
add edx, ecx
shl esi, 8
movzx eax, al
or esi, eax
movzx eax, byte [ebp - 0xf8]
shl esi, 8
or esi, eax
add edi, 0xa679438e
mov eax, ebx
mov dword [ebp - 0x12c], esi
xor eax, ecx
and eax, edx
xor eax, ebx
add eax, edi
add esi, eax
mov eax, dword [ebp - 0x154]
movzx edi, al
mov eax, dword [ebp - 0x144]
movzx eax, al
shl edi, 8
or edi, eax
ror esi, 0xf
mov eax, dword [ebp - 0x140]
add esi, edx
movzx eax, al
shl edi, 8
or edi, eax
movzx eax, byte [ebp - 0xf4]
shl edi, 8
or edi, eax
mov eax, edx
xor eax, ecx
mov dword [ebp - 0x100], edi
and eax, esi
xor eax, ecx
add eax, 0x49b40821
add eax, ebx
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 - 0xfc]
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 - 0x118]
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 - 0x10c]
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 - 0x128]
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 - 0x13c]
add ecx, 0xd62f105d
add ecx, eax
rol ecx, 5
add ecx, edi
mov ebx, dword [ebp - 0x100]
mov eax, edi
add ebx, 0xd8a1e681
xor eax, ecx
and eax, esi
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x130]
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
lea esi, [edi - 0x182c0438]
add ebx, eax
mov edi, dword [ebp - 0x12c]
mov eax, edx
rol ebx, 0xe
add ebx, edx
add edi, 0xc33707d6
xor eax, ebx
and eax, ecx
xor eax, edx
add eax, dword [ebp - 0x110]
add esi, eax
mov eax, ebx
ror esi, 0xc
add esi, ebx
xor eax, esi
and eax, edx
xor eax, ebx
add eax, ecx
mov ecx, dword [ebp - 0x11c]
add ecx, 0x21e1cde6
add ecx, eax
mov eax, esi
rol ecx, 5
add ecx, esi
xor eax, ecx
and eax, ebx
xor eax, esi
add eax, edx
lea edx, [ebx - 0xb2af279]
add edi, eax
rol edi, 9
add edi, ecx
mov eax, edi
mov dword [ebp - 0x120], edi
xor eax, ecx
and eax, esi
xor eax, ecx
add eax, dword [ebp - 0x134]
add edx, eax
mov eax, edi
rol edx, 0xe
add edx, edi
xor eax, edx
and eax, ecx
xor eax, edi
add eax, esi
mov esi, dword [ebp - 0x104]
add esi, 0x455a14ed
add esi, eax
mov eax, edx
ror esi, 0xc
add esi, edx
xor eax, esi
mov dword [ebp - 0x14c], esi
and eax, edi
mov edi, dword [ebp - 0x114]
xor eax, edx
add edi, 0xa9e3e905
add eax, ecx
add edi, eax
rol edi, 5
add edi, esi
mov ebx, dword [ebp - 0x120]
mov eax, esi
xor eax, edi
add ebx, 0xfcefa3f8
and eax, edx
xor eax, esi
add eax, dword [ebp - 0x108]
add ebx, eax
rol ebx, 9
add ebx, edi
mov eax, ebx
mov ecx, ebx
xor eax, edi
and eax, esi
mov esi, dword [ebp - 0x124]
xor eax, edi
add esi, 0x676f02d9
add eax, edx
mov edx, dword [ebp - 0x138]
add esi, eax
add edx, 0x8d2a4c8a
rol esi, 0xe
add esi, ebx
xor ecx, esi
mov eax, ecx
and eax, edi
xor eax, ebx
add eax, dword [ebp - 0x14c]
add edx, eax
mov eax, esi
ror edx, 0xc
add edx, esi
xor ecx, edx
xor eax, edx
add ecx, edi
mov edi, dword [ebp - 0x13c]
add edi, 0xfffa3942
add edi, ecx
rol edi, 4
add edi, edx
xor eax, edi
add eax, ebx
mov ebx, dword [ebp - 0x104]
add ebx, 0x8771f681
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 - 0x10c]
add esi, 0x6d9d6122
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 - 0x12c]
add edx, 0xfde5380c
add edx, eax
mov eax, esi
ror edx, 9
add edx, esi
xor ecx, edx
xor eax, edx
add ecx, 0xa4beea44
add ecx, dword [ebp - 0xfc]
add edi, ecx
rol edi, 4
add edi, edx
xor eax, edi
add eax, 0x4bdecfa9
add eax, dword [ebp - 0x110]
add ebx, eax
rol ebx, 0xb
add ebx, edi
mov eax, ebx
xor eax, edx
mov ecx, ebx
xor eax, edi
add eax, esi
mov esi, dword [ebp - 0x124]
add esi, 0xf6bb4b60
add esi, eax
rol esi, 0x10
add esi, ebx
xor ecx, esi
mov dword [ebp - 0x120], esi
mov eax, ecx
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x130]
add edx, 0xbebfbc70
add edx, eax
ror edx, 9
add edx, esi
mov esi, dword [ebp - 0x114]
xor ecx, edx
add esi, 0x289b7ec6
add ecx, edi
lea edi, [ebx - 0x155ed806]
add esi, ecx
mov ecx, dword [ebp - 0x120]
mov eax, ecx
rol esi, 4
xor eax, edx
add esi, edx
xor eax, esi
add eax, dword [ebp - 0x128]
lea ebx, [ecx - 0x2b10cf7b]
add edi, eax
rol edi, 0xb
add edi, esi
mov eax, edi
mov ecx, edi
xor eax, edx
xor eax, esi
add eax, dword [ebp - 0x134]
add ebx, eax
rol ebx, 0x10
add ebx, edi
xor ecx, ebx
mov eax, ecx
xor eax, esi
add eax, edx
mov edx, dword [ebp - 0x118]
add edx, 0x4881d05
add edx, eax
mov eax, dword [ebp - 0x11c]
add eax, 0xd9d4d039
ror edx, 9
add edx, ebx
xor ecx, edx
add ecx, esi
mov esi, dword [ebp - 0x138]
add ecx, eax
add esi, 0xe6db99e5
rol ecx, 4
mov eax, ebx
xor eax, edx
add ecx, edx
xor eax, ecx
add eax, edi
mov edi, dword [ebp - 0x100]
add esi, eax
add edi, 0x1fa27cf8
rol esi, 0xb
add esi, ecx
mov eax, esi
xor eax, edx
xor eax, ecx
add eax, ebx
add edi, eax
mov eax, esi
rol edi, 0x10
add edi, esi
xor eax, edi
xor eax, ecx
add eax, 0xc4ac5665
mov ebx, dword [ebp - 0x124]
add eax, dword [ebp - 0x108]
add ebx, 0x432aff97
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 - 0x128]
add ecx, eax
mov eax, edi
not eax
rol ecx, 6
add ecx, edx
or eax, ecx
xor eax, edx
add eax, esi
mov esi, dword [ebp - 0x12c]
add ebx, eax
add esi, 0xab9423a7
mov eax, edx
rol ebx, 0xa
not eax
add ebx, ecx
or eax, ebx
xor eax, ecx
add eax, edi
mov edi, dword [ebp - 0x13c]
add esi, eax
add edi, 0xfc93a039
rol esi, 0xf
mov eax, ecx
not eax
add esi, ebx
or eax, esi
xor eax, ebx
add eax, edx
lea edx, [ebx - 0x70f3336e]
add edi, eax
mov eax, ebx
not eax
ror edi, 0xb
add edi, esi
or eax, edi
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x138]
add ecx, 0x655b59c3
add ecx, eax
mov eax, esi
not eax
rol ecx, 6
add ecx, edi
or eax, ecx
xor eax, edi
add eax, dword [ebp - 0x134]
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 - 0x130]
add esi, 0xffeff47d
add esi, eax
mov eax, ecx
rol esi, 0xf
not eax
add esi, edx
or eax, esi
xor eax, edx
add eax, 0x85845dd1
add eax, dword [ebp - 0xfc]
add edi, eax
ror edi, 0xb
mov ebx, dword [ebp - 0x104]
add edi, esi
mov eax, edx
add ebx, 0x6fa87e4f
not eax
or eax, edi
xor eax, esi
add eax, ecx
mov ecx, dword [ebp - 0x100]
add ebx, eax
add ecx, 0xfe2ce6e0
mov eax, esi
rol ebx, 6
not eax
add ebx, edi
or eax, ebx
xor eax, edi
add eax, edx
mov edx, dword [ebp - 0x114]
add ecx, eax
add edx, 0x4e0811a1
rol ecx, 0xa
mov eax, edi
not eax
add ecx, ebx
or eax, ecx
xor eax, ebx
add eax, esi
mov esi, dword [ebp - 0x118]
add esi, 0xa3014314
add esi, eax
mov eax, ebx
not eax
rol esi, 0xf
add esi, ecx
or eax, esi
xor eax, ecx
add eax, edi
add edx, eax
mov eax, ecx
not eax
ror edx, 0xb
add edx, esi
or eax, edx
xor eax, esi
add eax, 0xf7537e82
add eax, dword [ebp - 0x110]
add ebx, eax
mov eax, esi
not eax
rol ebx, 6
add ebx, edx
or eax, ebx
xor eax, edx
add eax, ecx
mov ecx, dword [ebp - 0x10c]
add ecx, 0xbd3af235
add ecx, eax
mov eax, edx
rol ecx, 0xa
not eax
add ecx, ebx
or eax, ecx
mov dword [ebp - 0x128], ecx
xor eax, ebx
lea ecx, [esi + 0x2ad7d2bb]
add eax, dword [ebp - 0x108]
mov esi, dword [ebp - 0x128]
add ecx, eax
rol ecx, 0xf
mov eax, ebx
add ecx, esi
not eax
or eax, ecx
mov dword [ebp - 0x120], ecx
mov ecx, dword [ebp - 0x11c]
xor eax, esi
add eax, edx
add ecx, 0xeb86d391
add ecx, eax
ror ecx, 0xb
add ebx, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x120]
mov eax, ebx
shr eax, 8
add ecx, edx
add ecx, dword [ebp - 0xec]
add edx, dword [ebp - 0xe8]
mov byte [ebp - 0x1f], al
mov eax, ebx
add esi, dword [ebp - 0xe4]
shr eax, 0x10
mov byte [ebp - 0x1e], al
mov eax, ecx
shr eax, 8
mov byte [ebp - 0x1b], al
mov eax, ecx
shr eax, 0x10
mov byte [ebp - 0x1a], al
mov eax, edx
shr eax, 8
mov byte [ebp - 0x17], al
mov eax, edx
mov byte [ebp - 0x1c], cl
shr eax, 0x10
shr ecx, 0x18
mov byte [ebp - 0x16], al
mov byte [ebp - 0x19], cl
mov ecx, esi
mov eax, ecx
mov byte [ebp - 0x18], dl
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 - 0x20], bl
shr edx, 0x18
shr ecx, 0x18
push 0
shr ebx, 0x18
push eax
mov dword [ebp - 0x128], esi
mov byte [ebp - 0x1d], bl
mov byte [ebp - 0x15], dl
mov byte [ebp - 0x11], cl
call fcn.004797f0
add esp, 0x18
lea edi, [ebp - 0x60]
xor esi, esi
nop dword [eax]
movzx eax, byte [ebp + esi - 0x20]
push eax
push str._02X
push 4
push edi
call fcn.0040c2f0
inc esi
add esp, 0x10
add edi, 2
cmp esi, 0x10
jb 0x42d1b0
cmp byte [ebp - 0x60], 0
jne 0x42d1d9
xor ecx, ecx
jmp 0x42d1e9
lea ecx, [ebp - 0x60]
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42d1e0
sub ecx, edx
push ecx
mov ecx, dword [ebp - 0x164]
lea eax, [ebp - 0x60]
push eax
call fcn.00409600
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.00442377
mov esp, ebp
pop ebp
ret