Function at 0x4631ec
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffcc
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 4], ecx
mov ebx, edx
mov esi, eax
xor eax, eax
push ebp
push 0x463e56
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebx + 9]
mov edx, eax
and edx, 0x3f
test edx, edx
jne 0x463223
mov dword [ebp - 0xc], eax
jmp 0x46322d
shr eax, 6
inc eax
shl eax, 6
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0xc]
push eax
lea eax, [ebp - 8]
mov ecx, 1
mov edx, dword [0x4631ac]
call fcn.00405d48
add esp, 4
mov edx, dword [ebp - 8]
mov eax, esi
mov ecx, ebx
call fcn.00402d94
mov eax, dword [ebp - 8]
mov byte [eax + ebx], 0x80
mov eax, dword [ebp - 8]
lea eax, [eax + ebx + 1]
mov edx, dword [ebp - 0xc]
sub edx, ebx
sub edx, 9
xor ecx, ecx
call fcn.00403230
mov eax, ebx
shl eax, 3
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], eax
fild qword [ebp - 0x34]
fistp qword [ebp - 0x18]
wait
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 0xc]
lea edx, [eax + edx - 8]
lea eax, [ebp - 0x18]
mov ecx, 8
call fcn.00402d94
mov eax, dword [ebp - 0xc]
shr eax, 2
push eax
lea eax, [ebp - 0x10]
mov ecx, 1
mov edx, dword [0x4631cc]
call fcn.00405d48
add esp, 4
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xc]
call fcn.00402d94
xor eax, eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0x67452301
mov dword [ebp - 0x24], 0xefcdab89
mov dword [ebp - 0x28], 0x98badcfe
mov dword [ebp - 0x2c], 0x10325476
jmp 0x463dd4
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xd76aa478
mov edi, esi
xor edi, ecx
and edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 7
shr eax, 0x19
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
inc ebx
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xe8c7b756
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xc
shr esi, 0x14
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 2
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x242070db
mov edi, edx
xor edi, eax
and edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x11
shr ecx, 0xf
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 3
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xc1bdceee
mov edi, eax
xor edi, esi
and edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x16
shr edx, 0xa
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf57c0faf
mov edi, esi
xor edi, ecx
and edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 7
shr eax, 0x19
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 5
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x4787c62a
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xc
shr esi, 0x14
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 6
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xa8304613
mov edi, edx
xor edi, eax
and edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x11
shr ecx, 0xf
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 7
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfd469501
mov edi, eax
xor edi, esi
and edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x16
shr edx, 0xa
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 8
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x698098d8
mov edi, esi
xor edi, ecx
and edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 7
shr eax, 0x19
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 9
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x8b44f7af
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xc
shr esi, 0x14
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xa
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xffff5bb1
mov edi, edx
xor edi, eax
and edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x11
shr ecx, 0xf
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xb
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x895cd7be
mov edi, eax
xor edi, esi
and edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x16
shr edx, 0xa
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x6b901122
mov edi, esi
xor edi, ecx
and edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 7
shr eax, 0x19
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xd
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfd987193
mov edi, ecx
xor edi, edx
and edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xc
shr esi, 0x14
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xe
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xa679438e
mov edi, edx
xor edi, eax
and edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x11
shr ecx, 0xf
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xf
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x49b40821
mov edi, eax
xor edi, esi
and edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x16
shr edx, 0xa
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
inc ebx
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf61e2562
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 5
shr eax, 0x1b
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 6
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xc040b340
mov edi, edx
xor edi, eax
and edi, ecx
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 9
shr esi, 0x17
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xb
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x265e5a51
mov edi, eax
xor edi, esi
and edi, edx
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xe
shr ecx, 0x12
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xe9b6c7aa
mov edi, esi
xor edi, ecx
and edi, eax
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x14
shr edx, 0xc
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 5
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xd62f105d
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 5
shr eax, 0x1b
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xa
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x2441453
mov edi, edx
xor edi, eax
and edi, ecx
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 9
shr esi, 0x17
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xf
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xd8a1e681
mov edi, eax
xor edi, esi
and edi, edx
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xe
shr ecx, 0x12
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xe7d3fbc8
mov edi, esi
xor edi, ecx
and edi, eax
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x14
shr edx, 0xc
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 9
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x21e1cde6
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 5
shr eax, 0x1b
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xe
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xc33707d6
mov edi, edx
xor edi, eax
and edi, ecx
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 9
shr esi, 0x17
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 3
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf4d50d87
mov edi, eax
xor edi, esi
and edi, edx
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xe
shr ecx, 0x12
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 8
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x455a14ed
mov edi, esi
xor edi, ecx
and edi, eax
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x14
shr edx, 0xc
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xd
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xa9e3e905
mov edi, ecx
xor edi, edx
and edi, esi
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 5
shr eax, 0x1b
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 2
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfcefa3f8
mov edi, edx
xor edi, eax
and edi, ecx
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 9
shr esi, 0x17
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 7
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x676f02d9
mov edi, eax
xor edi, esi
and edi, edx
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xe
shr ecx, 0x12
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x8d2a4c8a
mov edi, esi
xor edi, ecx
and edi, eax
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x14
shr edx, 0xc
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 5
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfffa3942
mov edi, ecx
xor edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 4
shr eax, 0x1c
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 8
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x8771f681
mov edi, edx
xor edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xb
shr esi, 0x15
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xb
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x6d9d6122
mov edi, eax
xor edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x10
shr ecx, 0x10
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xe
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfde5380c
mov edi, esi
xor edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x17
shr edx, 9
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
inc ebx
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xa4beea44
mov edi, ecx
xor edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 4
shr eax, 0x1c
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x4bdecfa9
mov edi, edx
xor edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xb
shr esi, 0x15
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 7
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf6bb4b60
mov edi, eax
xor edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x10
shr ecx, 0x10
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xa
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xbebfbc70
mov edi, esi
xor edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x17
shr edx, 9
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xd
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x289b7ec6
mov edi, ecx
xor edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 4
shr eax, 0x1c
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xeaa127fa
mov edi, edx
xor edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xb
shr esi, 0x15
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 3
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xd4ef3085
mov edi, eax
xor edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x10
shr ecx, 0x10
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 6
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x4881d05
mov edi, esi
xor edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x17
shr edx, 9
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 9
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xd9d4d039
mov edi, ecx
xor edi, edx
xor edi, esi
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 4
shr eax, 0x1c
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xe6db99e5
mov edi, edx
xor edi, eax
xor edi, ecx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xb
shr esi, 0x15
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xf
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x1fa27cf8
mov edi, eax
xor edi, esi
xor edi, edx
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0x10
shr ecx, 0x10
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 2
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xc4ac5665
mov edi, esi
xor edi, ecx
xor edi, eax
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x17
shr edx, 9
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf4292244
mov edi, esi
not edi
or edi, edx
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 6
shr eax, 0x1a
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 7
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x432aff97
mov edi, ecx
not edi
or edi, eax
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xa
shr esi, 0x16
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xe
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xab9423a7
mov edi, edx
not edi
or edi, esi
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xf
shr ecx, 0x11
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 5
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfc93a039
mov edi, eax
not edi
or edi, ecx
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x15
shr edx, 0xb
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xc
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x655b59c3
mov edi, esi
not edi
or edi, edx
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 6
shr eax, 0x1a
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 3
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x8f0ccc92
mov edi, ecx
not edi
or edi, eax
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xa
shr esi, 0x16
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xa
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xffeff47d
mov edi, edx
not edi
or edi, esi
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xf
shr ecx, 0x11
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
inc ebx
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x85845dd1
mov edi, eax
not edi
or edi, ecx
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x15
shr edx, 0xb
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 8
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x6fa87e4f
mov edi, esi
not edi
or edi, edx
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 6
shr eax, 0x1a
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xf
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xfe2ce6e0
mov edi, ecx
not edi
or edi, eax
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xa
shr esi, 0x16
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 6
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xa3014314
mov edi, edx
not edi
or edi, esi
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xf
shr ecx, 0x11
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xd
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x4e0811a1
mov edi, eax
not edi
or edi, ecx
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x15
shr edx, 0xb
or ebx, edx
add ebx, ecx
mov edx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 4
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xf7537e82
mov edi, esi
not edi
or edi, edx
xor edi, ecx
add ebx, edi
add eax, ebx
mov ebx, eax
shl ebx, 6
shr eax, 0x1a
or ebx, eax
add ebx, edx
mov eax, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 0xb
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xbd3af235
mov edi, ecx
not edi
or edi, eax
xor edi, edx
add ebx, edi
add esi, ebx
mov ebx, esi
shl ebx, 0xa
shr esi, 0x16
or ebx, esi
add ebx, eax
mov esi, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 2
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0x2ad7d2bb
mov edi, edx
not edi
or edi, esi
xor edi, eax
add ebx, edi
add ecx, ebx
mov ebx, ecx
shl ebx, 0xf
shr ecx, 0x11
or ebx, ecx
add ebx, esi
mov ecx, ebx
mov ebx, dword [ebp - 0x1c]
add ebx, 9
mov edi, dword [ebp - 0x10]
mov ebx, dword [edi + ebx*4]
add ebx, 0xeb86d391
mov edi, eax
not edi
or edi, ecx
xor edi, esi
add ebx, edi
add edx, ebx
mov ebx, edx
shl ebx, 0x15
shr edx, 0xb
or ebx, edx
add ebx, ecx
mov edx, ebx
add dword [ebp - 0x20], eax
add dword [ebp - 0x24], edx
add dword [ebp - 0x28], ecx
add dword [ebp - 0x2c], esi
add dword [ebp - 0x1c], 0x10
mov eax, dword [ebp - 0xc]
shr eax, 2
cmp eax, dword [ebp - 0x1c]
ja 0x4632ec
mov edx, dword [ebp - 4]
lea eax, [ebp - 0x20]
mov ecx, 4
call fcn.00402d94
mov edx, dword [ebp - 4]
add edx, 4
lea eax, [ebp - 0x24]
mov ecx, 4
call fcn.00402d94
mov edx, dword [ebp - 4]
add edx, 8
lea eax, [ebp - 0x28]
mov ecx, 4
call fcn.00402d94
mov edx, dword [ebp - 4]
add edx, 0xc
lea eax, [ebp - 0x2c]
mov ecx, 4
call fcn.00402d94
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x463e5d
lea eax, [ebp - 0x10]
mov edx, dword [0x4631cc]
call fcn.00405d54
lea eax, [ebp - 8]
mov edx, dword [0x4631ac]
call fcn.00405d54
ret