53cf82:	8b 55 0c             	mov    0xc(%ebp),%edx
53cf85:	57                   	push   %edi
53cf86:	2b d1                	sub    %ecx,%edx
53cf88:	8d 7e 14             	lea    0x14(%esi),%edi
53cf8b:	8d 71 0c             	lea    0xc(%ecx),%esi
53cf8e:	89 55 f0             	mov    %edx,-0x10(%ebp)
53cf91:	8b 47 f4             	mov    -0xc(%edi),%eax
53cf94:	89 46 fc             	mov    %eax,-0x4(%esi)
53cf97:	8b 04 32             	mov    (%edx,%esi,1),%eax
53cf9a:	89 45 f4             	mov    %eax,-0xc(%ebp)
53cf9d:	85 c0                	test   %eax,%eax
53cf9f:	75 04                	jne    0x53cfa5
53cfa1:	33 db                	xor    %ebx,%ebx
53cfa3:	eb 49                	jmp    0x53cfee
53cfa5:	8b c8                	mov    %eax,%ecx
53cfa7:	8d 51 01             	lea    0x1(%ecx),%edx
53cfaa:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53cfb0:	8a 01                	mov    (%ecx),%al
53cfb2:	41                   	inc    %ecx
53cfb3:	84 c0                	test   %al,%al
53cfb5:	75 f9                	jne    0x53cfb0
53cfb7:	2b ca                	sub    %edx,%ecx
53cfb9:	6a 00                	push   $0x0
53cfbb:	8d 41 01             	lea    0x1(%ecx),%eax
53cfbe:	89 45 f8             	mov    %eax,-0x8(%ebp)
53cfc1:	50                   	push   %eax
53cfc2:	85 db                	test   %ebx,%ebx
53cfc4:	74 0b                	je     0x53cfd1
53cfc6:	53                   	push   %ebx
53cfc7:	e8 14 44 fe ff       	call   0x5213e0
53cfcc:	83 c4 0c             	add    $0xc,%esp
53cfcf:	eb 08                	jmp    0x53cfd9
53cfd1:	e8 8a 3f ff ff       	call   0x530f60
53cfd6:	83 c4 08             	add    $0x8,%esp
53cfd9:	8b d8                	mov    %eax,%ebx
53cfdb:	85 db                	test   %ebx,%ebx
53cfdd:	74 0f                	je     0x53cfee
53cfdf:	ff 75 f8             	push   -0x8(%ebp)
53cfe2:	ff 75 f4             	push   -0xc(%ebp)
53cfe5:	53                   	push   %ebx
53cfe6:	e8 15 5f 0a 00       	call   0x5e2f00
53cfeb:	83 c4 0c             	add    $0xc,%esp
53cfee:	89 1e                	mov    %ebx,(%esi)
53cff0:	8b 47 fc             	mov    -0x4(%edi),%eax
53cff3:	89 45 f8             	mov    %eax,-0x8(%ebp)
53cff6:	85 c0                	test   %eax,%eax
53cff8:	75 04                	jne    0x53cffe
53cffa:	33 db                	xor    %ebx,%ebx
53cffc:	eb 46                	jmp    0x53d044
53cffe:	8b c8                	mov    %eax,%ecx
53d000:	8d 51 01             	lea    0x1(%ecx),%edx
53d003:	8a 01                	mov    (%ecx),%al
53d005:	41                   	inc    %ecx
53d006:	84 c0                	test   %al,%al
53d008:	75 f9                	jne    0x53d003
53d00a:	2b ca                	sub    %edx,%ecx
53d00c:	6a 00                	push   $0x0
53d00e:	8d 41 01             	lea    0x1(%ecx),%eax
53d011:	8b 4d 08             	mov    0x8(%ebp),%ecx
53d014:	89 45 f4             	mov    %eax,-0xc(%ebp)
53d017:	50                   	push   %eax
53d018:	85 c9                	test   %ecx,%ecx
53d01a:	74 0b                	je     0x53d027
53d01c:	51                   	push   %ecx
53d01d:	e8 be 43 fe ff       	call   0x5213e0
53d022:	83 c4 0c             	add    $0xc,%esp
53d025:	eb 08                	jmp    0x53d02f
53d027:	e8 34 3f ff ff       	call   0x530f60
53d02c:	83 c4 08             	add    $0x8,%esp
53d02f:	8b d8                	mov    %eax,%ebx
53d031:	85 db                	test   %ebx,%ebx
53d033:	74 0f                	je     0x53d044
53d035:	ff 75 f4             	push   -0xc(%ebp)
53d038:	ff 75 f8             	push   -0x8(%ebp)
53d03b:	53                   	push   %ebx
53d03c:	e8 bf 5e 0a 00       	call   0x5e2f00
53d041:	83 c4 0c             	add    $0xc,%esp
53d044:	89 5e 04             	mov    %ebx,0x4(%esi)
53d047:	8b 07                	mov    (%edi),%eax
53d049:	89 45 f8             	mov    %eax,-0x8(%ebp)
53d04c:	85 c0                	test   %eax,%eax
53d04e:	75 04                	jne    0x53d054
53d050:	33 db                	xor    %ebx,%ebx
53d052:	eb 4d                	jmp    0x53d0a1
53d054:	8b c8                	mov    %eax,%ecx
53d056:	8d 51 01             	lea    0x1(%ecx),%edx
53d059:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
53d060:	8a 01                	mov    (%ecx),%al
53d062:	41                   	inc    %ecx
53d063:	84 c0                	test   %al,%al
53d065:	75 f9                	jne    0x53d060
53d067:	2b ca                	sub    %edx,%ecx
53d069:	6a 00                	push   $0x0
53d06b:	8d 41 01             	lea    0x1(%ecx),%eax
53d06e:	8b 4d 08             	mov    0x8(%ebp),%ecx
53d071:	89 45 f4             	mov    %eax,-0xc(%ebp)
53d074:	50                   	push   %eax
53d075:	85 c9                	test   %ecx,%ecx
53d077:	74 0b                	je     0x53d084
53d079:	51                   	push   %ecx
53d07a:	e8 61 43 fe ff       	call   0x5213e0
53d07f:	83 c4 0c             	add    $0xc,%esp
53d082:	eb 08                	jmp    0x53d08c
53d084:	e8 d7 3e ff ff       	call   0x530f60
53d089:	83 c4 08             	add    $0x8,%esp
53d08c:	8b d8                	mov    %eax,%ebx
53d08e:	85 db                	test   %ebx,%ebx
53d090:	74 0f                	je     0x53d0a1
53d092:	ff 75 f4             	push   -0xc(%ebp)
53d095:	ff 75 f8             	push   -0x8(%ebp)
53d098:	53                   	push   %ebx
53d099:	e8 62 5e 0a 00       	call   0x5e2f00
53d09e:	83 c4 0c             	add    $0xc,%esp
53d0a1:	89 5e 08             	mov    %ebx,0x8(%esi)
53d0a4:	8b 47 18             	mov    0x18(%edi),%eax
53d0a7:	8b 5d 08             	mov    0x8(%ebp),%ebx
53d0aa:	89 46 20             	mov    %eax,0x20(%esi)
53d0ad:	8b 47 1c             	mov    0x1c(%edi),%eax
53d0b0:	89 46 24             	mov    %eax,0x24(%esi)
53d0b3:	f6 46 24 02          	testb  $0x2,0x24(%esi)
53d0b7:	8b 47 20             	mov    0x20(%edi),%eax
53d0ba:	89 46 28             	mov    %eax,0x28(%esi)
53d0bd:	8b 47 0c             	mov    0xc(%edi),%eax
53d0c0:	89 46 14             	mov    %eax,0x14(%esi)
53d0c3:	8b 47 10             	mov    0x10(%edi),%eax
53d0c6:	89 46 18             	mov    %eax,0x18(%esi)
53d0c9:	74 0f                	je     0x53d0da
53d0cb:	ff 77 34             	push   0x34(%edi)
53d0ce:	53                   	push   %ebx
53d0cf:	e8 dc 45 fe ff       	call   0x5216b0
53d0d4:	83 c4 08             	add    $0x8,%esp
53d0d7:	89 46 3c             	mov    %eax,0x3c(%esi)
53d0da:	f6 46 24 04          	testb  $0x4,0x24(%esi)
53d0de:	8b 47 38             	mov    0x38(%edi),%eax
53d0e1:	89 46 40             	mov    %eax,0x40(%esi)
53d0e4:	74 12                	je     0x53d0f8
53d0e6:	ff 75 10             	push   0x10(%ebp)
53d0e9:	ff 77 34             	push   0x34(%edi)
53d0ec:	53                   	push   %ebx
53d0ed:	e8 ce a7 fe ff       	call   0x5278c0
53d0f2:	83 c4 0c             	add    $0xc,%esp
53d0f5:	89 46 3c             	mov    %eax,0x3c(%esi)
53d0f8:	8b 47 04             	mov    0x4(%edi),%eax
53d0fb:	89 46 0c             	mov    %eax,0xc(%esi)
53d0fe:	85 c0                	test   %eax,%eax
53d100:	74 03                	je     0x53d105
53d102:	ff 40 20             	incl   0x20(%eax)
53d105:	ff 75 10             	push   0x10(%ebp)
53d108:	ff 77 08             	push   0x8(%edi)
53d10b:	53                   	push   %ebx
53d10c:	e8 cf f0 ff ff       	call   0x53c1e0
53d111:	89 46 10             	mov    %eax,0x10(%esi)
53d114:	83 c4 0c             	add    $0xc,%esp
53d117:	8b 47 24             	mov    0x24(%edi),%eax
53d11a:	85 c0                	test   %eax,%eax
53d11c:	74 11                	je     0x53d12f
53d11e:	6a 00                	push   $0x0
53d120:	ff 75 10             	push   0x10(%ebp)
53d123:	50                   	push   %eax
53d124:	53                   	push   %ebx
53d125:	e8 36 37 fc ff       	call   0x500860
53d12a:	83 c4 10             	add    $0x10,%esp
53d12d:	eb 02                	jmp    0x53d131
53d12f:	33 c0                	xor    %eax,%eax
53d131:	89 46 2c             	mov    %eax,0x2c(%esi)
53d134:	ff 77 28             	push   0x28(%edi)
53d137:	53                   	push   %ebx
53d138:	e8 33 0d ff ff       	call   0x52de70
53d13d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53d140:	83 c4 08             	add    $0x8,%esp
53d143:	8b 55 f0             	mov    -0x10(%ebp),%edx
53d146:	41                   	inc    %ecx
53d147:	89 46 30             	mov    %eax,0x30(%esi)
53d14a:	8b 47 2c             	mov    0x2c(%edi),%eax
53d14d:	89 46 34             	mov    %eax,0x34(%esi)
53d150:	8b 47 30             	mov    0x30(%edi),%eax
53d153:	83 c7 48             	add    $0x48,%edi
53d156:	89 46 38             	mov    %eax,0x38(%esi)
53d159:	83 c6 48             	add    $0x48,%esi
53d15c:	8b 45 0c             	mov    0xc(%ebp),%eax
53d15f:	89 4d fc             	mov    %ecx,-0x4(%ebp)
53d162:	3b 08                	cmp    (%eax),%ecx
53d164:	0f 8c 27 fe ff ff    	jl     0x53cf91
53d16a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
53d16d:	5f                   	pop    %edi
53d16e:	5b                   	pop    %ebx
53d16f:	8b c1                	mov    %ecx,%eax
53d171:	5e                   	pop    %esi
53d172:	8b e5                	mov    %ebp,%esp
53d174:	5d                   	pop    %ebp
53d175:	c3                   	ret
53d176:	cc                   	int3
53d177:	cc                   	int3
53d178:	cc                   	int3
53d179:	cc                   	int3
53d17a:	cc                   	int3
53d17b:	cc                   	int3
53d17c:	cc                   	int3
53d17d:	cc                   	int3
53d17e:	cc                   	int3
53d17f:	cc                   	int3
53d180:	55                   	push   %ebp
53d181:	8b ec                	mov    %esp,%ebp
53d183:	51                   	push   %ecx
53d184:	53                   	push   %ebx
53d185:	8b 5d 10             	mov    0x10(%ebp),%ebx
53d188:	56                   	push   %esi
53d189:	8b 75 0c             	mov    0xc(%ebp),%esi
53d18c:	57                   	push   %edi
53d18d:	8b 06                	mov    (%esi),%eax
53d18f:	8d 0c 18             	lea    (%eax,%ebx,1),%ecx
53d192:	89 4d 10             	mov    %ecx,0x10(%ebp)
53d195:	3b 4e 04             	cmp    0x4(%esi),%ecx
53d198:	0f 86 98 00 00 00    	jbe    0x53d236
53d19e:	b9 02 00 00 00       	mov    $0x2,%ecx
53d1a3:	f7 e9                	imul   %ecx
53d1a5:	8b c8                	mov    %eax,%ecx
53d1a7:	8b fa                	mov    %edx,%edi
53d1a9:	8b c3                	mov    %ebx,%eax
53d1ab:	99                   	cltd
53d1ac:	03 c8                	add    %eax,%ecx
53d1ae:	8b 45 08             	mov    0x8(%ebp),%eax
53d1b1:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d1b4:	13 fa                	adc    %edx,%edi
53d1b6:	81 7d 10 c8 00 00 00 	cmpl   $0xc8,0x10(%ebp)
53d1bd:	8b 10                	mov    (%eax),%edx
53d1bf:	89 55 fc             	mov    %edx,-0x4(%ebp)
53d1c2:	7c 1c                	jl     0x53d1e0
53d1c4:	68 c8 00 00 00       	push   $0xc8
53d1c9:	68 50 a6 6b 00       	push   $0x6ba650
53d1ce:	50                   	push   %eax
53d1cf:	e8 8c 60 fe ff       	call   0x523260
53d1d4:	83 c4 0c             	add    $0xc,%esp
53d1d7:	5f                   	pop    %edi
53d1d8:	5e                   	pop    %esi
53d1d9:	33 c0                	xor    %eax,%eax
53d1db:	5b                   	pop    %ebx
53d1dc:	8b e5                	mov    %ebp,%esp
53d1de:	5d                   	pop    %ebp
53d1df:	c3                   	ret
53d1e0:	85 ff                	test   %edi,%edi
53d1e2:	7c 14                	jl     0x53d1f8
53d1e4:	7f 08                	jg     0x53d1ee
53d1e6:	81 f9 c8 00 00 00    	cmp    $0xc8,%ecx
53d1ec:	76 0a                	jbe    0x53d1f8
53d1ee:	b9 c8 00 00 00       	mov    $0xc8,%ecx
53d1f3:	33 ff                	xor    %edi,%edi
53d1f5:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d1f8:	8b d1                	mov    %ecx,%edx
53d1fa:	83 c2 ff             	add    $0xffffffff,%edx
53d1fd:	8b c2                	mov    %edx,%eax
53d1ff:	83 d7 ff             	adc    $0xffffffff,%edi
53d202:	8b cf                	mov    %edi,%ecx
53d204:	0f a4 c1 03          	shld   $0x3,%eax,%ecx
53d208:	c1 e0 03             	shl    $0x3,%eax
53d20b:	03 d0                	add    %eax,%edx
53d20d:	13 f9                	adc    %ecx,%edi
53d20f:	0f a4 d7 03          	shld   $0x3,%edx,%edi
53d213:	c1 e2 03             	shl    $0x3,%edx
53d216:	83 c2 50             	add    $0x50,%edx
53d219:	83 d7 00             	adc    $0x0,%edi
53d21c:	57                   	push   %edi
53d21d:	52                   	push   %edx
53d21e:	56                   	push   %esi
53d21f:	ff 75 fc             	push   -0x4(%ebp)
53d222:	e8 39 43 fe ff       	call   0x521560
53d227:	8b f0                	mov    %eax,%esi
53d229:	83 c4 10             	add    $0x10,%esp
53d22c:	85 f6                	test   %esi,%esi
53d22e:	74 a7                	je     0x53d1d7
53d230:	8b 45 0c             	mov    0xc(%ebp),%eax
53d233:	89 46 04             	mov    %eax,0x4(%esi)
53d236:	8b 16                	mov    (%esi),%edx
53d238:	8b 7d 14             	mov    0x14(%ebp),%edi
53d23b:	4a                   	dec    %edx
53d23c:	3b d7                	cmp    %edi,%edx
53d23e:	7c 5b                	jl     0x53d29b
53d240:	8d 04 d5 01 00 00 00 	lea    0x1(,%edx,8),%eax
53d247:	03 c2                	add    %edx,%eax
53d249:	8d 0c c6             	lea    (%esi,%eax,8),%ecx
53d24c:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
53d24f:	2b d7                	sub    %edi,%edx
53d251:	8d 04 c0             	lea    (%eax,%eax,8),%eax
53d254:	42                   	inc    %edx
53d255:	8d 40 01             	lea    0x1(%eax),%eax
53d258:	8d 04 c6             	lea    (%esi,%eax,8),%eax
53d25b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
53d260:	8d 49 b8             	lea    -0x48(%ecx),%ecx
53d263:	8d 40 b8             	lea    -0x48(%eax),%eax
53d266:	0f 10 41 48          	movups 0x48(%ecx),%xmm0
53d26a:	0f 11 40 48          	movups %xmm0,0x48(%eax)
53d26e:	0f 10 41 58          	movups 0x58(%ecx),%xmm0
53d272:	0f 11 40 58          	movups %xmm0,0x58(%eax)
53d276:	0f 10 41 68          	movups 0x68(%ecx),%xmm0
53d27a:	0f 11 40 68          	movups %xmm0,0x68(%eax)
53d27e:	0f 10 41 78          	movups 0x78(%ecx),%xmm0
53d282:	0f 11 40 78          	movups %xmm0,0x78(%eax)
53d286:	f3 0f 7e 81 88 00 00 	movq   0x88(%ecx),%xmm0
53d28d:	00
53d28e:	66 0f d6 80 88 00 00 	movq   %xmm0,0x88(%eax)
53d295:	00
53d296:	83 ea 01             	sub    $0x1,%edx
53d299:	75 c5                	jne    0x53d260
53d29b:	01 1e                	add    %ebx,(%esi)
53d29d:	8d 04 ff             	lea    (%edi,%edi,8),%eax
53d2a0:	8d 0c c6             	lea    (%esi,%eax,8),%ecx
53d2a3:	8d 04 db             	lea    (%ebx,%ebx,8),%eax
53d2a6:	89 4d 0c             	mov    %ecx,0xc(%ebp)
53d2a9:	c1 e0 03             	shl    $0x3,%eax
53d2ac:	50                   	push   %eax
53d2ad:	8d 41 08             	lea    0x8(%ecx),%eax
53d2b0:	6a 00                	push   $0x0
53d2b2:	50                   	push   %eax
53d2b3:	e8 48 67 0a 00       	call   0x5e3a00
53d2b8:	8d 14 3b             	lea    (%ebx,%edi,1),%edx
53d2bb:	83 c4 0c             	add    $0xc,%esp
53d2be:	3b fa                	cmp    %edx,%edi
53d2c0:	7d 1c                	jge    0x53d2de
53d2c2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53d2c5:	83 c1 34             	add    $0x34,%ecx
53d2c8:	2b d7                	sub    %edi,%edx
53d2ca:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
53d2d0:	c7 01 ff ff ff ff    	movl   $0xffffffff,(%ecx)
53d2d6:	8d 49 48             	lea    0x48(%ecx),%ecx
53d2d9:	83 ea 01             	sub    $0x1,%edx
53d2dc:	75 f2                	jne    0x53d2d0
53d2de:	5f                   	pop    %edi
53d2df:	8b c6                	mov    %esi,%eax
53d2e1:	5e                   	pop    %esi
53d2e2:	5b                   	pop    %ebx
53d2e3:	8b e5                	mov    %ebp,%esp
53d2e5:	5d                   	pop    %ebp
53d2e6:	c3                   	ret
53d2e7:	cc                   	int3
53d2e8:	cc                   	int3
53d2e9:	cc                   	int3
53d2ea:	cc                   	int3
53d2eb:	cc                   	int3
53d2ec:	cc                   	int3
53d2ed:	cc                   	int3
53d2ee:	cc                   	int3
53d2ef:	cc                   	int3
53d2f0:	55                   	push   %ebp
53d2f1:	8b ec                	mov    %esp,%ebp
53d2f3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53d2f6:	85 c9                	test   %ecx,%ecx
53d2f8:	74 14                	je     0x53d30e
53d2fa:	8b 01                	mov    (%ecx),%eax
53d2fc:	8d 04 c0             	lea    (%eax,%eax,8),%eax
53d2ff:	83 4c c1 e8 04       	orl    $0x4,-0x18(%ecx,%eax,8)