5a0118:	cc                   	int3
5a0119:	cc                   	int3
5a011a:	cc                   	int3
5a011b:	cc                   	int3
5a011c:	cc                   	int3
5a011d:	cc                   	int3
5a011e:	cc                   	int3
5a011f:	cc                   	int3
5a0120:	ff 74 24 04          	push   0x4(%esp)
5a0124:	e8 ec 7a 05 00       	call   0x5f7c15
5a0129:	8b c8                	mov    %eax,%ecx
5a012b:	83 c4 04             	add    $0x4,%esp
5a012e:	85 c9                	test   %ecx,%ecx
5a0130:	75 01                	jne    0x5a0133
5a0132:	c3                   	ret
5a0133:	0f 10 01             	movups (%ecx),%xmm0
5a0136:	8b 44 24 08          	mov    0x8(%esp),%eax
5a013a:	0f 11 00             	movups %xmm0,(%eax)
5a013d:	0f 10 41 10          	movups 0x10(%ecx),%xmm0
5a0141:	0f 11 40 10          	movups %xmm0,0x10(%eax)
5a0145:	8b 49 20             	mov    0x20(%ecx),%ecx
5a0148:	89 48 20             	mov    %ecx,0x20(%eax)
5a014b:	c3                   	ret
5a014c:	cc                   	int3
5a014d:	cc                   	int3
5a014e:	cc                   	int3
5a014f:	cc                   	int3
5a0150:	b8 14 00 00 00       	mov    $0x14,%eax
5a0155:	e8 96 13 04 00       	call   0x5e14f0
5a015a:	57                   	push   %edi
5a015b:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
5a015f:	8d 44 24 14          	lea    0x14(%esp),%eax
5a0163:	50                   	push   %eax
5a0164:	8d 44 24 08          	lea    0x8(%esp),%eax
5a0168:	50                   	push   %eax
5a0169:	ff 74 24 2c          	push   0x2c(%esp)
5a016d:	ff 74 24 2c          	push   0x2c(%esp)
5a0171:	57                   	push   %edi
5a0172:	e8 49 01 00 00       	call   0x5a02c0
5a0177:	83 c4 14             	add    $0x14,%esp
5a017a:	85 c0                	test   %eax,%eax
5a017c:	0f 84 98 00 00 00    	je     0x5a021a
5a0182:	8d 44 24 10          	lea    0x10(%esp),%eax
5a0186:	50                   	push   %eax
5a0187:	8d 44 24 10          	lea    0x10(%esp),%eax
5a018b:	50                   	push   %eax
5a018c:	8d 44 24 10          	lea    0x10(%esp),%eax
5a0190:	50                   	push   %eax
5a0191:	ff 74 24 10          	push   0x10(%esp)
5a0195:	e8 c6 01 00 00       	call   0x5a0360
5a019a:	8b 4c 24 18          	mov    0x18(%esp),%ecx
5a019e:	83 c4 10             	add    $0x10,%esp
5a01a1:	8d 81 94 f8 ff ff    	lea    -0x76c(%ecx),%eax
5a01a7:	3d a3 1f 00 00       	cmp    $0x1fa3,%eax
5a01ac:	77 6c                	ja     0x5a021a
5a01ae:	8d 81 94 f8 ff ff    	lea    -0x76c(%ecx),%eax
5a01b4:	89 47 14             	mov    %eax,0x14(%edi)
5a01b7:	8b 44 24 0c          	mov    0xc(%esp),%eax
5a01bb:	48                   	dec    %eax
5a01bc:	89 47 10             	mov    %eax,0x10(%edi)
5a01bf:	8b 44 24 10          	mov    0x10(%esp),%eax
5a01c3:	89 47 0c             	mov    %eax,0xc(%edi)
5a01c6:	b8 c5 b3 a2 91       	mov    $0x91a2b3c5,%eax
5a01cb:	53                   	push   %ebx
5a01cc:	56                   	push   %esi
5a01cd:	8b 74 24 1c          	mov    0x1c(%esp),%esi
5a01d1:	bb 3c 00 00 00       	mov    $0x3c,%ebx
5a01d6:	f7 ee                	imul   %esi
5a01d8:	03 d6                	add    %esi,%edx
5a01da:	c1 fa 0b             	sar    $0xb,%edx
5a01dd:	8b c2                	mov    %edx,%eax
5a01df:	c1 e8 1f             	shr    $0x1f,%eax
5a01e2:	03 c2                	add    %edx,%eax
5a01e4:	89 47 08             	mov    %eax,0x8(%edi)
5a01e7:	b8 89 88 88 88       	mov    $0x88888889,%eax
5a01ec:	f7 ee                	imul   %esi
5a01ee:	03 d6                	add    %esi,%edx
5a01f0:	c1 fa 05             	sar    $0x5,%edx
5a01f3:	8b ca                	mov    %edx,%ecx
5a01f5:	c1 e9 1f             	shr    $0x1f,%ecx
5a01f8:	03 ca                	add    %edx,%ecx
5a01fa:	8b c1                	mov    %ecx,%eax
5a01fc:	99                   	cltd
5a01fd:	f7 fb                	idiv   %ebx
5a01ff:	8b c1                	mov    %ecx,%eax
5a0201:	c1 e0 04             	shl    $0x4,%eax
5a0204:	2b c1                	sub    %ecx,%eax
5a0206:	89 57 04             	mov    %edx,0x4(%edi)
5a0209:	c1 e0 02             	shl    $0x2,%eax
5a020c:	2b f0                	sub    %eax,%esi
5a020e:	8d 43 c5             	lea    -0x3b(%ebx),%eax
5a0211:	89 37                	mov    %esi,(%edi)
5a0213:	5e                   	pop    %esi
5a0214:	5b                   	pop    %ebx
5a0215:	5f                   	pop    %edi
5a0216:	83 c4 14             	add    $0x14,%esp
5a0219:	c3                   	ret
5a021a:	33 c0                	xor    %eax,%eax
5a021c:	5f                   	pop    %edi
5a021d:	83 c4 14             	add    $0x14,%esp
5a0220:	c3                   	ret
5a0221:	cc                   	int3
5a0222:	cc                   	int3
5a0223:	cc                   	int3
5a0224:	cc                   	int3
5a0225:	cc                   	int3
5a0226:	cc                   	int3
5a0227:	cc                   	int3
5a0228:	cc                   	int3
5a0229:	cc                   	int3
5a022a:	cc                   	int3
5a022b:	cc                   	int3
5a022c:	cc                   	int3
5a022d:	cc                   	int3
5a022e:	cc                   	int3
5a022f:	cc                   	int3
5a0230:	53                   	push   %ebx
5a0231:	56                   	push   %esi
5a0232:	57                   	push   %edi
5a0233:	8b 7c 24 14          	mov    0x14(%esp),%edi
5a0237:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5a023c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
5a0240:	8d 4f f2             	lea    -0xe(%edi),%ecx
5a0243:	f7 e9                	imul   %ecx
5a0245:	b8 ab aa aa 2a       	mov    $0x2aaaaaab,%eax
5a024a:	d1 fa                	sar    $1,%edx
5a024c:	8b f2                	mov    %edx,%esi
5a024e:	c1 ee 1f             	shr    $0x1f,%esi
5a0251:	03 f2                	add    %edx,%esi
5a0253:	03 de                	add    %esi,%ebx
5a0255:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5a0258:	c1 e1 02             	shl    $0x2,%ecx
5a025b:	2b f9                	sub    %ecx,%edi
5a025d:	83 ef 02             	sub    $0x2,%edi
5a0260:	69 cf 6f 01 00 00    	imul   $0x16f,%edi,%ecx
5a0266:	5f                   	pop    %edi
5a0267:	f7 e9                	imul   %ecx
5a0269:	8d 8b 24 13 00 00    	lea    0x1324(%ebx),%ecx
5a026f:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
5a0274:	d1 fa                	sar    $1,%edx
5a0276:	8b f2                	mov    %edx,%esi
5a0278:	c1 ee 1f             	shr    $0x1f,%esi
5a027b:	03 f2                	add    %edx,%esi
5a027d:	f7 e9                	imul   %ecx
5a027f:	c1 fa 05             	sar    $0x5,%edx
5a0282:	8b c2                	mov    %edx,%eax
5a0284:	c1 e8 1f             	shr    $0x1f,%eax
5a0287:	03 c2                	add    %edx,%eax
5a0289:	8d 04 40             	lea    (%eax,%eax,2),%eax
5a028c:	99                   	cltd
5a028d:	83 e2 03             	and    $0x3,%edx
5a0290:	03 c2                	add    %edx,%eax
5a0292:	c1 f8 02             	sar    $0x2,%eax
5a0295:	2b f0                	sub    %eax,%esi
5a0297:	8d 83 c0 12 00 00    	lea    0x12c0(%ebx),%eax
5a029d:	69 c0 b5 05 00 00    	imul   $0x5b5,%eax,%eax
5a02a3:	81 c6 b5 82 ff ff    	add    $0xffff82b5,%esi
5a02a9:	03 74 24 14          	add    0x14(%esp),%esi
5a02ad:	99                   	cltd
5a02ae:	83 e2 03             	and    $0x3,%edx
5a02b1:	03 c2                	add    %edx,%eax
5a02b3:	c1 f8 02             	sar    $0x2,%eax
5a02b6:	03 c6                	add    %esi,%eax
5a02b8:	5e                   	pop    %esi
5a02b9:	5b                   	pop    %ebx
5a02ba:	c3                   	ret
5a02bb:	cc                   	int3
5a02bc:	cc                   	int3
5a02bd:	cc                   	int3
5a02be:	cc                   	int3
5a02bf:	cc                   	int3
5a02c0:	56                   	push   %esi
5a02c1:	8b 74 24 10          	mov    0x10(%esp),%esi
5a02c5:	b8 07 45 2e c2       	mov    $0xc22e4507,%eax
5a02ca:	f7 ee                	imul   %esi
5a02cc:	57                   	push   %edi
5a02cd:	03 d6                	add    %esi,%edx
5a02cf:	c1 fa 10             	sar    $0x10,%edx
5a02d2:	8b fa                	mov    %edx,%edi
5a02d4:	c1 ef 1f             	shr    $0x1f,%edi
5a02d7:	03 fa                	add    %edx,%edi
5a02d9:	8b 54 24 0c          	mov    0xc(%esp),%edx
5a02dd:	69 c7 80 51 01 00    	imul   $0x15180,%edi,%eax
5a02e3:	03 7c 24 10          	add    0x10(%esp),%edi
5a02e7:	8b 4a 08             	mov    0x8(%edx),%ecx
5a02ea:	c1 e1 04             	shl    $0x4,%ecx
5a02ed:	2b 4a 08             	sub    0x8(%edx),%ecx
5a02f0:	2b f0                	sub    %eax,%esi
5a02f2:	8b 42 04             	mov    0x4(%edx),%eax
5a02f5:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5a02f8:	8b c8                	mov    %eax,%ecx
5a02fa:	c1 e1 04             	shl    $0x4,%ecx
5a02fd:	2b c8                	sub    %eax,%ecx
5a02ff:	8b 02                	mov    (%edx),%eax
5a0301:	8d 04 88             	lea    (%eax,%ecx,4),%eax
5a0304:	03 f0                	add    %eax,%esi
5a0306:	81 fe 80 51 01 00    	cmp    $0x15180,%esi
5a030c:	7c 09                	jl     0x5a0317
5a030e:	47                   	inc    %edi
5a030f:	81 ee 80 51 01 00    	sub    $0x15180,%esi
5a0315:	eb 0b                	jmp    0x5a0322
5a0317:	85 f6                	test   %esi,%esi
5a0319:	79 07                	jns    0x5a0322
5a031b:	4f                   	dec    %edi
5a031c:	81 c6 80 51 01 00    	add    $0x15180,%esi
5a0322:	ff 72 0c             	push   0xc(%edx)
5a0325:	8b 42 10             	mov    0x10(%edx),%eax
5a0328:	40                   	inc    %eax
5a0329:	50                   	push   %eax
5a032a:	8b 42 14             	mov    0x14(%edx),%eax
5a032d:	05 6c 07 00 00       	add    $0x76c,%eax
5a0332:	50                   	push   %eax
5a0333:	e8 f8 fe ff ff       	call   0x5a0230
5a0338:	8b c8                	mov    %eax,%ecx
5a033a:	83 c4 0c             	add    $0xc,%esp
5a033d:	03 cf                	add    %edi,%ecx
5a033f:	79 05                	jns    0x5a0346
5a0341:	5f                   	pop    %edi
5a0342:	33 c0                	xor    %eax,%eax
5a0344:	5e                   	pop    %esi
5a0345:	c3                   	ret
5a0346:	8b 44 24 18          	mov    0x18(%esp),%eax
5a034a:	5f                   	pop    %edi
5a034b:	89 08                	mov    %ecx,(%eax)
5a034d:	8b 44 24 18          	mov    0x18(%esp),%eax
5a0351:	89 30                	mov    %esi,(%eax)
5a0353:	b8 01 00 00 00       	mov    $0x1,%eax
5a0358:	5e                   	pop    %esi
5a0359:	c3                   	ret
5a035a:	cc                   	int3
5a035b:	cc                   	int3
5a035c:	cc                   	int3
5a035d:	cc                   	int3
5a035e:	cc                   	int3
5a035f:	cc                   	int3
5a0360:	53                   	push   %ebx
5a0361:	55                   	push   %ebp
5a0362:	56                   	push   %esi
5a0363:	8b 74 24 10          	mov    0x10(%esp),%esi
5a0367:	b8 bd 06 6b 39       	mov    $0x396b06bd,%eax
5a036c:	81 c6 d9 0b 01 00    	add    $0x10bd9,%esi
5a0372:	57                   	push   %edi
5a0373:	8d 0c b5 00 00 00 00 	lea    0x0(,%esi,4),%ecx
5a037a:	f7 e9                	imul   %ecx
5a037c:	c1 fa 0f             	sar    $0xf,%edx
5a037f:	8b ea                	mov    %edx,%ebp
5a0381:	c1 ed 1f             	shr    $0x1f,%ebp
5a0384:	03 ea                	add    %edx,%ebp
5a0386:	69 c5 b1 3a 02 00    	imul   $0x23ab1,%ebp,%eax
5a038c:	83 c0 03             	add    $0x3,%eax
5a038f:	99                   	cltd
5a0390:	83 e2 03             	and    $0x3,%edx
5a0393:	03 c2                	add    %edx,%eax
5a0395:	c1 f8 02             	sar    $0x2,%eax
5a0398:	f7 d8                	neg    %eax
5a039a:	03 f0                	add    %eax,%esi
5a039c:	8d 46 01             	lea    0x1(%esi),%eax
5a039f:	69 c8 a0 0f 00 00    	imul   $0xfa0,%eax,%ecx
5a03a5:	b8 dd e2 bb b7       	mov    $0xb7bbe2dd,%eax
5a03aa:	f7 e9                	imul   %ecx
5a03ac:	03 d1                	add    %ecx,%edx
5a03ae:	b9 1f 00 00 00       	mov    $0x1f,%ecx
5a03b3:	c1 fa 14             	sar    $0x14,%edx
5a03b6:	8b da                	mov    %edx,%ebx
5a03b8:	c1 eb 1f             	shr    $0x1f,%ebx
5a03bb:	03 da                	add    %edx,%ebx
5a03bd:	69 c3 b5 05 00 00    	imul   $0x5b5,%ebx,%eax
5a03c3:	99                   	cltd
5a03c4:	83 e2 03             	and    $0x3,%edx
5a03c7:	03 c2                	add    %edx,%eax
5a03c9:	c1 f8 02             	sar    $0x2,%eax
5a03cc:	2b c8                	sub    %eax,%ecx
5a03ce:	b8 19 3d c8 1a       	mov    $0x1ac83d19,%eax
5a03d3:	03 f1                	add    %ecx,%esi
5a03d5:	8d 0c b6             	lea    (%esi,%esi,4),%ecx
5a03d8:	c1 e1 04             	shl    $0x4,%ecx
5a03db:	f7 e9                	imul   %ecx
5a03dd:	b8 67 66 66 66       	mov    $0x66666667,%eax
5a03e2:	c1 fa 08             	sar    $0x8,%edx
5a03e5:	8b fa                	mov    %edx,%edi
5a03e7:	c1 ef 1f             	shr    $0x1f,%edi
5a03ea:	03 fa                	add    %edx,%edi
5a03ec:	69 cf 8f 09 00 00    	imul   $0x98f,%edi,%ecx
5a03f2:	f7 e9                	imul   %ecx
5a03f4:	c1 fa 05             	sar    $0x5,%edx
5a03f7:	8b c2                	mov    %edx,%eax
5a03f9:	c1 e8 1f             	shr    $0x1f,%eax
5a03fc:	03 c2                	add    %edx,%eax
5a03fe:	2b f0                	sub    %eax,%esi
5a0400:	8b 44 24 20          	mov    0x20(%esp),%eax
5a0404:	89 30                	mov    %esi,(%eax)
5a0406:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
5a040b:	f7 ef                	imul   %edi
5a040d:	d1 fa                	sar    $1,%edx
5a040f:	8b f2                	mov    %edx,%esi
5a0411:	c1 ee 1f             	shr    $0x1f,%esi
5a0414:	03 f2                	add    %edx,%esi
5a0416:	8d 04 76             	lea    (%esi,%esi,2),%eax
5a0419:	c1 e0 02             	shl    $0x2,%eax
5a041c:	2b f8                	sub    %eax,%edi
5a041e:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5a0422:	83 c7 02             	add    $0x2,%edi
5a0425:	89 38                	mov    %edi,(%eax)
5a0427:	8d 45 cf             	lea    -0x31(%ebp),%eax
5a042a:	6b c8 64             	imul   $0x64,%eax,%ecx
5a042d:	8b 44 24 18          	mov    0x18(%esp),%eax
5a0431:	5f                   	pop    %edi
5a0432:	03 cb                	add    %ebx,%ecx
5a0434:	03 ce                	add    %esi,%ecx
5a0436:	5e                   	pop    %esi
5a0437:	5d                   	pop    %ebp
5a0438:	89 08                	mov    %ecx,(%eax)
5a043a:	5b                   	pop    %ebx
5a043b:	c3                   	ret
5a043c:	cc                   	int3
5a043d:	cc                   	int3
5a043e:	cc                   	int3
5a043f:	cc                   	int3
5a0440:	b8 28 00 00 00       	mov    $0x28,%eax
5a0445:	e8 a6 10 04 00       	call   0x5e14f0
5a044a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a044f:	33 c4                	xor    %esp,%eax
5a0451:	89 44 24 24          	mov    %eax,0x24(%esp)
5a0455:	53                   	push   %ebx
5a0456:	55                   	push   %ebp
5a0457:	56                   	push   %esi
5a0458:	57                   	push   %edi
5a0459:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
5a045d:	33 ed                	xor    %ebp,%ebp
5a045f:	85 ff                	test   %edi,%edi
5a0461:	75 17                	jne    0x5a047a
5a0463:	6a 17                	push   $0x17
5a0465:	8d 6f 01             	lea    0x1(%edi),%ebp
5a0468:	e8 93 16 f1 ff       	call   0x4b1b00
5a046d:	8b f8                	mov    %eax,%edi
5a046f:	83 c4 04             	add    $0x4,%esp
5a0472:	85 ff                	test   %edi,%edi
5a0474:	0f 84 98 00 00 00    	je     0x5a0512
5a047a:	8d 44 24 10          	lea    0x10(%esp),%eax
5a047e:	50                   	push   %eax
5a047f:	8d 44 24 44          	lea    0x44(%esp),%eax
5a0483:	50                   	push   %eax
5a0484:	e8 97 fc ff ff       	call   0x5a0120
5a0489:	8b d8                	mov    %eax,%ebx
5a048b:	83 c4 08             	add    $0x8,%esp
5a048e:	85 db                	test   %ebx,%ebx
5a0490:	74 6f                	je     0x5a0501
5a0492:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a0496:	8b 44 24 4c          	mov    0x4c(%esp),%eax
5a049a:	85 c9                	test   %ecx,%ecx