45e1f4:	89 4d e8             	mov    %ecx,-0x18(%ebp)
45e1f7:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
45e1fb:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45e1fe:	8b 41 20             	mov    0x20(%ecx),%eax
45e201:	83 38 00             	cmpl   $0x0,(%eax)
45e204:	74 1e                	je     0x45e224
45e206:	8b 51 30             	mov    0x30(%ecx),%edx
45e209:	8b 02                	mov    (%edx),%eax
45e20b:	85 c0                	test   %eax,%eax
45e20d:	7e 15                	jle    0x45e224
45e20f:	48                   	dec    %eax
45e210:	89 02                	mov    %eax,(%edx)
45e212:	8b 49 20             	mov    0x20(%ecx),%ecx
45e215:	8b 11                	mov    (%ecx),%edx
45e217:	8d 42 02             	lea    0x2(%edx),%eax
45e21a:	89 01                	mov    %eax,(%ecx)
45e21c:	8b 45 e8             	mov    -0x18(%ebp),%eax
45e21f:	66 89 02             	mov    %ax,(%edx)
45e222:	eb 18                	jmp    0x45e23c
45e224:	8b 01                	mov    (%ecx),%eax
45e226:	ff 75 e8             	push   -0x18(%ebp)
45e229:	8b 70 0c             	mov    0xc(%eax),%esi
45e22c:	8b ce                	mov    %esi,%ecx
45e22e:	ff 15 e0 24 68 00    	call   *0x6824e0
45e234:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45e237:	ff d6                	call   *%esi
45e239:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e23c:	0f b7 c0             	movzwl %ax,%eax
45e23f:	b9 ff ff 00 00       	mov    $0xffff,%ecx
45e244:	66 3b c8             	cmp    %ax,%cx
45e247:	0f 85 8b 00 00 00    	jne    0x45e2d8
45e24d:	bb 04 00 00 00       	mov    $0x4,%ebx
45e252:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45e255:	8b 45 d0             	mov    -0x30(%ebp),%eax
45e258:	ba 04 00 00 00       	mov    $0x4,%edx
45e25d:	0f 1f 00             	nopl   (%eax)
45e260:	85 db                	test   %ebx,%ebx
45e262:	0f 85 3e 01 00 00    	jne    0x45e3a6
45e268:	39 5d cc             	cmp    %ebx,-0x34(%ebp)
45e26b:	0f 8c c0 00 00 00    	jl     0x45e331
45e271:	7f 08                	jg     0x45e27b
45e273:	85 c0                	test   %eax,%eax
45e275:	0f 84 b6 00 00 00    	je     0x45e331
45e27b:	8b 45 c8             	mov    -0x38(%ebp),%eax
45e27e:	8b 5d bc             	mov    -0x44(%ebp),%ebx
45e281:	8a 00                	mov    (%eax),%al
45e283:	88 45 d8             	mov    %al,-0x28(%ebp)
45e286:	8b 03                	mov    (%ebx),%eax
45e288:	ff 75 d8             	push   -0x28(%ebp)
45e28b:	8b 70 30             	mov    0x30(%eax),%esi
45e28e:	8b ce                	mov    %esi,%ecx
45e290:	ff 15 e0 24 68 00    	call   *0x6824e0
45e296:	8b cb                	mov    %ebx,%ecx
45e298:	ff d6                	call   *%esi
45e29a:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e29d:	0f b7 c0             	movzwl %ax,%eax
45e2a0:	89 45 e8             	mov    %eax,-0x18(%ebp)
45e2a3:	0f b7 d0             	movzwl %ax,%edx
45e2a6:	8b 06                	mov    (%esi),%eax
45e2a8:	8b 40 04             	mov    0x4(%eax),%eax
45e2ab:	8b 5c 30 38          	mov    0x38(%eax,%esi,1),%ebx
45e2af:	8b 43 20             	mov    0x20(%ebx),%eax
45e2b2:	83 38 00             	cmpl   $0x0,(%eax)
45e2b5:	74 32                	je     0x45e2e9
45e2b7:	8b 4b 30             	mov    0x30(%ebx),%ecx
45e2ba:	8b 01                	mov    (%ecx),%eax
45e2bc:	85 c0                	test   %eax,%eax
45e2be:	7e 29                	jle    0x45e2e9
45e2c0:	48                   	dec    %eax
45e2c1:	89 01                	mov    %eax,(%ecx)
45e2c3:	8b 4b 20             	mov    0x20(%ebx),%ecx
45e2c6:	8b 11                	mov    (%ecx),%edx
45e2c8:	8d 42 02             	lea    0x2(%edx),%eax
45e2cb:	89 01                	mov    %eax,(%ecx)
45e2cd:	8b 4d e8             	mov    -0x18(%ebp),%ecx
45e2d0:	0f b7 c1             	movzwl %cx,%eax
45e2d3:	66 89 02             	mov    %ax,(%edx)
45e2d6:	eb 29                	jmp    0x45e301
45e2d8:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45e2db:	83 c0 ff             	add    $0xffffffff,%eax
45e2de:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e2e1:	83 d7 ff             	adc    $0xffffffff,%edi
45e2e4:	e9 f7 fe ff ff       	jmp    0x45e1e0
45e2e9:	8b 03                	mov    (%ebx),%eax
45e2eb:	52                   	push   %edx
45e2ec:	8b 70 0c             	mov    0xc(%eax),%esi
45e2ef:	8b ce                	mov    %esi,%ecx
45e2f1:	ff 15 e0 24 68 00    	call   *0x6824e0
45e2f7:	8b cb                	mov    %ebx,%ecx
45e2f9:	ff d6                	call   *%esi
45e2fb:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e2fe:	0f b7 c0             	movzwl %ax,%eax
45e301:	8b c8                	mov    %eax,%ecx
45e303:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
45e30a:	8b 45 d0             	mov    -0x30(%ebp),%eax
45e30d:	ba 04 00 00 00       	mov    $0x4,%edx
45e312:	83 c0 ff             	add    $0xffffffff,%eax
45e315:	8b da                	mov    %edx,%ebx
45e317:	89 45 d0             	mov    %eax,-0x30(%ebp)
45e31a:	83 55 cc ff          	adcl   $0xffffffff,-0x34(%ebp)
45e31e:	ff 45 c8             	incl   -0x38(%ebp)
45e321:	66 39 4d dc          	cmp    %cx,-0x24(%ebp)
45e325:	0f 45 5d e0          	cmovne -0x20(%ebp),%ebx
45e329:	89 5d e0             	mov    %ebx,-0x20(%ebp)
45e32c:	e9 2f ff ff ff       	jmp    0x45e260
45e331:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45e334:	85 ff                	test   %edi,%edi
45e336:	7c 69                	jl     0x45e3a1
45e338:	7f 04                	jg     0x45e33e
45e33a:	85 c0                	test   %eax,%eax
45e33c:	74 63                	je     0x45e3a1
45e33e:	8b 06                	mov    (%esi),%eax
45e340:	8b 40 04             	mov    0x4(%eax),%eax
45e343:	8b 4c 30 38          	mov    0x38(%eax,%esi,1),%ecx
45e347:	0f b7 54 30 40       	movzwl 0x40(%eax,%esi,1),%edx
45e34c:	89 55 d8             	mov    %edx,-0x28(%ebp)
45e34f:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45e352:	8b 41 20             	mov    0x20(%ecx),%eax
45e355:	83 38 00             	cmpl   $0x0,(%eax)
45e358:	74 21                	je     0x45e37b
45e35a:	8b 41 30             	mov    0x30(%ecx),%eax
45e35d:	8b 00                	mov    (%eax),%eax
45e35f:	85 c0                	test   %eax,%eax
45e361:	7e 18                	jle    0x45e37b
45e363:	8b 51 30             	mov    0x30(%ecx),%edx
45e366:	48                   	dec    %eax
45e367:	89 02                	mov    %eax,(%edx)
45e369:	8b 49 20             	mov    0x20(%ecx),%ecx
45e36c:	8b 11                	mov    (%ecx),%edx
45e36e:	8d 42 02             	lea    0x2(%edx),%eax
45e371:	89 01                	mov    %eax,(%ecx)
45e373:	8b 45 d8             	mov    -0x28(%ebp),%eax
45e376:	66 89 02             	mov    %ax,(%edx)
45e379:	eb 16                	jmp    0x45e391
45e37b:	8b 01                	mov    (%ecx),%eax
45e37d:	52                   	push   %edx
45e37e:	8b 70 0c             	mov    0xc(%eax),%esi
45e381:	8b ce                	mov    %esi,%ecx
45e383:	ff 15 e0 24 68 00    	call   *0x6824e0
45e389:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45e38c:	ff d6                	call   *%esi
45e38e:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e391:	0f b7 c0             	movzwl %ax,%eax
45e394:	b9 ff ff 00 00       	mov    $0xffff,%ecx
45e399:	66 3b c8             	cmp    %ax,%cx
45e39c:	75 1f                	jne    0x45e3bd
45e39e:	83 cb 04             	or     $0x4,%ebx
45e3a1:	ba 04 00 00 00       	mov    $0x4,%edx
45e3a6:	8b 06                	mov    (%esi),%eax
45e3a8:	8b 40 04             	mov    0x4(%eax),%eax
45e3ab:	c7 44 30 20 00 00 00 	movl   $0x0,0x20(%eax,%esi,1)
45e3b2:	00
45e3b3:	c7 44 30 24 00 00 00 	movl   $0x0,0x24(%eax,%esi,1)
45e3ba:	00
45e3bb:	eb 35                	jmp    0x45e3f2
45e3bd:	8b 45 e4             	mov    -0x1c(%ebp),%eax
45e3c0:	83 c0 ff             	add    $0xffffffff,%eax
45e3c3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
45e3c6:	83 d7 ff             	adc    $0xffffffff,%edi
45e3c9:	e9 66 ff ff ff       	jmp    0x45e334
45e3ce:	8b 55 ec             	mov    -0x14(%ebp),%edx
45e3d1:	6a 01                	push   $0x1
45e3d3:	6a 04                	push   $0x4
45e3d5:	8b 02                	mov    (%edx),%eax
45e3d7:	8b 48 04             	mov    0x4(%eax),%ecx
45e3da:	03 ca                	add    %edx,%ecx
45e3dc:	e8 af 11 fe ff       	call   0x43f590
45e3e1:	b8 e7 e3 45 00       	mov    $0x45e3e7,%eax
45e3e6:	c3                   	ret
45e3e7:	8b 5d e0             	mov    -0x20(%ebp),%ebx
45e3ea:	ba 04 00 00 00       	mov    $0x4,%edx
45e3ef:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e3f2:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e3f9:	8b 06                	mov    (%esi),%eax
45e3fb:	33 ff                	xor    %edi,%edi
45e3fd:	8b 48 04             	mov    0x4(%eax),%ecx
45e400:	8b 44 31 0c          	mov    0xc(%ecx,%esi,1),%eax
45e404:	03 ce                	add    %esi,%ecx
45e406:	0b c3                	or     %ebx,%eax
45e408:	39 79 38             	cmp    %edi,0x38(%ecx)
45e40b:	0f 45 d7             	cmovne %edi,%edx
45e40e:	0b d0                	or     %eax,%edx
45e410:	8b 41 10             	mov    0x10(%ecx),%eax
45e413:	83 e2 17             	and    $0x17,%edx
45e416:	89 51 0c             	mov    %edx,0xc(%ecx)
45e419:	23 c2                	and    %edx,%eax
45e41b:	75 54                	jne    0x45e471
45e41d:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
45e424:	e8 45 00 17 00       	call   0x5ce46e
45e429:	84 c0                	test   %al,%al
45e42b:	75 08                	jne    0x45e435
45e42d:	8b 4d c0             	mov    -0x40(%ebp),%ecx
45e430:	e8 7b 23 fe ff       	call   0x4407b0
45e435:	8b 4d c0             	mov    -0x40(%ebp),%ecx
45e438:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
45e43c:	8b 01                	mov    (%ecx),%eax
45e43e:	8b 40 04             	mov    0x4(%eax),%eax
45e441:	8b 7c 08 38          	mov    0x38(%eax,%ecx,1),%edi
45e445:	85 ff                	test   %edi,%edi
45e447:	74 14                	je     0x45e45d
45e449:	8b 17                	mov    (%edi),%edx
45e44b:	8b 72 08             	mov    0x8(%edx),%esi
45e44e:	8b ce                	mov    %esi,%ecx
45e450:	ff 15 e0 24 68 00    	call   *0x6824e0
45e456:	8b cf                	mov    %edi,%ecx
45e458:	ff d6                	call   *%esi
45e45a:	8b 75 ec             	mov    -0x14(%ebp),%esi
45e45d:	8b c6                	mov    %esi,%eax
45e45f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45e462:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45e469:	59                   	pop    %ecx
45e46a:	5f                   	pop    %edi
45e46b:	5e                   	pop    %esi
45e46c:	5b                   	pop    %ebx
45e46d:	8b e5                	mov    %ebp,%esp
45e46f:	5d                   	pop    %ebp
45e470:	c3                   	ret
45e471:	a8 04                	test   $0x4,%al
45e473:	74 07                	je     0x45e47c
45e475:	be 34 c4 68 00       	mov    $0x68c434,%esi
45e47a:	eb 0f                	jmp    0x45e48b
45e47c:	a8 02                	test   $0x2,%al
45e47e:	be 4c c4 68 00       	mov    $0x68c44c,%esi
45e483:	b8 64 c4 68 00       	mov    $0x68c464,%eax
45e488:	0f 44 f0             	cmove  %eax,%esi
45e48b:	8d 45 b8             	lea    -0x48(%ebp),%eax
45e48e:	6a 01                	push   $0x1
45e490:	50                   	push   %eax
45e491:	e8 3a bb fd ff       	call   0x439fd0
45e496:	83 c4 08             	add    $0x8,%esp
45e499:	8d 4d a4             	lea    -0x5c(%ebp),%ecx
45e49c:	50                   	push   %eax
45e49d:	56                   	push   %esi
45e49e:	e8 4d c0 fd ff       	call   0x43a4f0
45e4a3:	68 0c 60 70 00       	push   $0x70600c
45e4a8:	8d 45 a4             	lea    -0x5c(%ebp),%eax
45e4ab:	50                   	push   %eax
45e4ac:	e8 81 45 18 00       	call   0x5e2a32
45e4b1:	cc                   	int3
45e4b2:	cc                   	int3
45e4b3:	cc                   	int3
45e4b4:	cc                   	int3
45e4b5:	cc                   	int3
45e4b6:	cc                   	int3
45e4b7:	cc                   	int3
45e4b8:	cc                   	int3
45e4b9:	cc                   	int3
45e4ba:	cc                   	int3
45e4bb:	cc                   	int3
45e4bc:	cc                   	int3
45e4bd:	cc                   	int3
45e4be:	cc                   	int3
45e4bf:	cc                   	int3
45e4c0:	55                   	push   %ebp
45e4c1:	8b ec                	mov    %esp,%ebp
45e4c3:	83 ec 08             	sub    $0x8,%esp
45e4c6:	53                   	push   %ebx
45e4c7:	56                   	push   %esi
45e4c8:	57                   	push   %edi
45e4c9:	68 d4 f2 68 00       	push   $0x68f2d4
45e4ce:	83 ec 18             	sub    $0x18,%esp
45e4d1:	8b d9                	mov    %ecx,%ebx
45e4d3:	8b f4                	mov    %esp,%esi
45e4d5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45e4d8:	b8 80 ff 70 00       	mov    $0x70ff80,%eax
45e4dd:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45e4e0:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
45e4e7:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
45e4ee:	83 3d 94 ff 70 00 08 	cmpl   $0x8,0x70ff94
45e4f5:	8b 0d 90 ff 70 00    	mov    0x70ff90,%ecx
45e4fb:	0f 43 05 80 ff 70 00 	cmovae 0x70ff80,%eax
45e502:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45e505:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e508:	83 f9 08             	cmp    $0x8,%ecx
45e50b:	73 0d                	jae    0x45e51a
45e50d:	0f 10 00             	movups (%eax),%xmm0
45e510:	bf 07 00 00 00       	mov    $0x7,%edi
45e515:	0f 11 06             	movups %xmm0,(%esi)
45e518:	eb 38                	jmp    0x45e552
45e51a:	8b f9                	mov    %ecx,%edi
45e51c:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
45e521:	83 cf 07             	or     $0x7,%edi
45e524:	8b ce                	mov    %esi,%ecx
45e526:	3b f8                	cmp    %eax,%edi
45e528:	0f 47 f8             	cmova  %eax,%edi
45e52b:	8d 47 01             	lea    0x1(%edi),%eax
45e52e:	50                   	push   %eax
45e52f:	e8 bc ae fd ff       	call   0x4393f0
45e534:	8b c8                	mov    %eax,%ecx
45e536:	8b 45 f8             	mov    -0x8(%ebp),%eax
45e539:	89 0e                	mov    %ecx,(%esi)
45e53b:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
45e542:	50                   	push   %eax
45e543:	ff 75 fc             	push   -0x4(%ebp)
45e546:	51                   	push   %ecx
45e547:	e8 b4 49 18 00       	call   0x5e2f00
45e54c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45e54f:	83 c4 0c             	add    $0xc,%esp
45e552:	89 4e 10             	mov    %ecx,0x10(%esi)
45e555:	8b cb                	mov    %ebx,%ecx
45e557:	6a 05                	push   $0x5
45e559:	68 38 ff 70 00       	push   $0x70ff38
45e55e:	89 7e 14             	mov    %edi,0x14(%esi)
45e561:	e8 6a 2d 00 00       	call   0x4612d0
45e566:	5f                   	pop    %edi
45e567:	5e                   	pop    %esi
45e568:	8b c3                	mov    %ebx,%eax
45e56a:	5b                   	pop    %ebx
45e56b:	8b e5                	mov    %ebp,%esp
45e56d:	5d                   	pop    %ebp
45e56e:	c3                   	ret
45e56f:	cc                   	int3
45e570:	55                   	push   %ebp
45e571:	8b ec                	mov    %esp,%ebp
45e573:	6a ff                	push   $0xffffffff
45e575:	68 2f 07 65 00       	push   $0x65072f
45e57a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45e580:	50                   	push   %eax
45e581:	51                   	push   %ecx
45e582:	56                   	push   %esi
45e583:	57                   	push   %edi
45e584:	a1 d4 89 72 00       	mov    0x7289d4,%eax
45e589:	33 c5                	xor    %ebp,%eax
45e58b:	50                   	push   %eax
45e58c:	8d 45 f4             	lea    -0xc(%ebp),%eax
45e58f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45e595:	8b f9                	mov    %ecx,%edi
45e597:	6a 0c                	push   $0xc
45e599:	e8 a4 2a 18 00       	call   0x5e1042
45e59e:	8b f0                	mov    %eax,%esi
45e5a0:	83 c4 04             	add    $0x4,%esp
45e5a3:	89 75 f0             	mov    %esi,-0x10(%ebp)
45e5a6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
45e5ad:	85 f6                	test   %esi,%esi
45e5af:	74 32                	je     0x45e5e3
45e5b1:	ff 75 08             	push   0x8(%ebp)
45e5b4:	0f 57 c0             	xorps  %xmm0,%xmm0
45e5b7:	66 0f d6 06          	movq   %xmm0,(%esi)
45e5bb:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45e5c2:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45e5c9:	c7 46 08 01 00 00 00 	movl   $0x1,0x8(%esi)
45e5d0:	ff 15 c4 23 68 00    	call   *0x6823c4
45e5d6:	89 06                	mov    %eax,(%esi)
45e5d8:	85 c0                	test   %eax,%eax
45e5da:	75 09                	jne    0x45e5e5
45e5dc:	39 45 08             	cmp    %eax,0x8(%ebp)
45e5df:	75 26                	jne    0x45e607
45e5e1:	eb 02                	jmp    0x45e5e5
45e5e3:	33 f6                	xor    %esi,%esi
45e5e5:	c7 45 fc ff ff ff ff 	movl   $0xffffffff,-0x4(%ebp)