409343:	e8 18 8d ff ff       	call   0x402060
409348:	c6 45 fc 16          	movb   $0x16,-0x4(%ebp)
40934c:	be 02 00 00 00       	mov    $0x2,%esi
409351:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
409357:	85 c9                	test   %ecx,%ecx
409359:	0f 84 9b 00 00 00    	je     0x4093fa
40935f:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
409365:	85 c0                	test   %eax,%eax
409367:	0f 84 8d 00 00 00    	je     0x4093fa
40936d:	8d 79 0b             	lea    0xb(%ecx),%edi
409370:	33 c9                	xor    %ecx,%ecx
409372:	03 f8                	add    %eax,%edi
409374:	8b c7                	mov    %edi,%eax
409376:	f7 e6                	mul    %esi
409378:	0f 90 c1             	seto   %cl
40937b:	f7 d9                	neg    %ecx
40937d:	0b c8                	or     %eax,%ecx
40937f:	51                   	push   %ecx
409380:	e8 7c 03 07 00       	call   0x479701
409385:	8b f0                	mov    %eax,%esi
409387:	83 c4 04             	add    $0x4,%esp
40938a:	85 f6                	test   %esi,%esi
40938c:	74 67                	je     0x4093f5
40938e:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
409395:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40939b:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4093a2:	50                   	push   %eax
4093a3:	57                   	push   %edi
4093a4:	56                   	push   %esi
4093a5:	e8 f3 02 07 00       	call   0x47969d
4093aa:	83 c4 0c             	add    $0xc,%esp
4093ad:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
4093b3:	83 bd e0 fd ff ff 08 	cmpl   $0x8,-0x220(%ebp)
4093ba:	0f 43 85 cc fd ff ff 	cmovae -0x234(%ebp),%eax
4093c1:	50                   	push   %eax
4093c2:	56                   	push   %esi
4093c3:	ff 15 68 e2 49 00    	call   *0x49e268
4093c9:	8b ce                	mov    %esi,%ecx
4093cb:	8d 51 02             	lea    0x2(%ecx),%edx
4093ce:	66 90                	xchg   %ax,%ax
4093d0:	66 8b 01             	mov    (%ecx),%ax
4093d3:	83 c1 02             	add    $0x2,%ecx
4093d6:	66 85 c0             	test   %ax,%ax
4093d9:	75 f5                	jne    0x4093d0
4093db:	2b ca                	sub    %edx,%ecx
4093dd:	d1 f9                	sar    $1,%ecx
4093df:	51                   	push   %ecx
4093e0:	56                   	push   %esi
4093e1:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4093e7:	e8 14 9a ff ff       	call   0x402e00
4093ec:	56                   	push   %esi
4093ed:	e8 90 02 07 00       	call   0x479682
4093f2:	83 c4 04             	add    $0x4,%esp
4093f5:	be 02 00 00 00       	mov    $0x2,%esi
4093fa:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4093fe:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
409404:	83 f9 08             	cmp    $0x8,%ecx
409407:	72 35                	jb     0x40943e
409409:	8b 95 cc fd ff ff    	mov    -0x234(%ebp),%edx
40940f:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
409416:	8b c2                	mov    %edx,%eax
409418:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40941e:	72 14                	jb     0x409434
409420:	8b 50 fc             	mov    -0x4(%eax),%edx
409423:	83 c1 23             	add    $0x23,%ecx
409426:	2b c2                	sub    %edx,%eax
409428:	83 c0 fc             	add    $0xfffffffc,%eax
40942b:	83 f8 1f             	cmp    $0x1f,%eax
40942e:	0f 87 be 06 00 00    	ja     0x409af2
409434:	51                   	push   %ecx
409435:	52                   	push   %edx
409436:	e8 cd 05 06 00       	call   0x469a08
40943b:	83 c4 08             	add    $0x8,%esp
40943e:	6a 13                	push   $0x13
409440:	68 f0 0a 4b 00       	push   $0x4b0af0
409445:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
40944b:	c7 85 cc fd ff ff 00 	movl   $0x0,-0x234(%ebp)
409452:	00 00 00
409455:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
40945c:	00 00 00
40945f:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
409466:	00 00 00
409469:	e8 f2 8b ff ff       	call   0x402060
40946e:	c6 45 fc 17          	movb   $0x17,-0x4(%ebp)
409472:	8b 8d c4 fd ff ff    	mov    -0x23c(%ebp),%ecx
409478:	85 c9                	test   %ecx,%ecx
40947a:	0f 84 8d fd ff ff    	je     0x40920d
409480:	8b 85 dc fd ff ff    	mov    -0x224(%ebp),%eax
409486:	85 c0                	test   %eax,%eax
409488:	0f 84 7f fd ff ff    	je     0x40920d
40948e:	8d 79 0b             	lea    0xb(%ecx),%edi
409491:	33 c9                	xor    %ecx,%ecx
409493:	03 f8                	add    %eax,%edi
409495:	8b c7                	mov    %edi,%eax
409497:	f7 e6                	mul    %esi
409499:	0f 90 c1             	seto   %cl
40949c:	f7 d9                	neg    %ecx
40949e:	0b c8                	or     %eax,%ecx
4094a0:	51                   	push   %ecx
4094a1:	e8 5b 02 07 00       	call   0x479701
4094a6:	8b f0                	mov    %eax,%esi
4094a8:	83 c4 04             	add    $0x4,%esp
4094ab:	85 f6                	test   %esi,%esi
4094ad:	0f 84 5a fd ff ff    	je     0x40920d
4094b3:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
4094ba:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4094c0:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4094c7:	50                   	push   %eax
4094c8:	57                   	push   %edi
4094c9:	56                   	push   %esi
4094ca:	e8 ce 01 07 00       	call   0x47969d
4094cf:	83 c4 0c             	add    $0xc,%esp
4094d2:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
4094d8:	83 bd e0 fd ff ff 08 	cmpl   $0x8,-0x220(%ebp)
4094df:	0f 43 85 cc fd ff ff 	cmovae -0x234(%ebp),%eax
4094e6:	50                   	push   %eax
4094e7:	56                   	push   %esi
4094e8:	ff 15 68 e2 49 00    	call   *0x49e268
4094ee:	8b ce                	mov    %esi,%ecx
4094f0:	8d 51 02             	lea    0x2(%ecx),%edx
4094f3:	66 8b 01             	mov    (%ecx),%ax
4094f6:	83 c1 02             	add    $0x2,%ecx
4094f9:	66 85 c0             	test   %ax,%ax
4094fc:	75 f5                	jne    0x4094f3
4094fe:	2b ca                	sub    %edx,%ecx
409500:	d1 f9                	sar    $1,%ecx
409502:	51                   	push   %ecx
409503:	56                   	push   %esi
409504:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
40950a:	e8 f1 98 ff ff       	call   0x402e00
40950f:	56                   	push   %esi
409510:	e8 6d 01 07 00       	call   0x479682
409515:	83 c4 04             	add    $0x4,%esp
409518:	e9 f0 fc ff ff       	jmp    0x40920d
40951d:	51                   	push   %ecx
40951e:	52                   	push   %edx
40951f:	e8 e4 04 06 00       	call   0x469a08
409524:	83 c4 08             	add    $0x8,%esp
409527:	6a 30                	push   $0x30
409529:	e8 aa 04 06 00       	call   0x4699d8
40952e:	6a 30                	push   $0x30
409530:	8b f8                	mov    %eax,%edi
409532:	6a 00                	push   $0x0
409534:	57                   	push   %edi
409535:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
40953b:	e8 70 26 06 00       	call   0x46bbb0
409540:	83 c4 10             	add    $0x10,%esp
409543:	c7 07 b8 0c 4b 00    	movl   $0x4b0cb8,(%edi)
409549:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
409550:	33 c0                	xor    %eax,%eax
409552:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
409559:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
409560:	ff b5 e8 fc ff ff    	push   -0x318(%ebp)
409566:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40956d:	83 ec 18             	sub    $0x18,%esp
409570:	66 89 47 10          	mov    %ax,0x10(%edi)
409574:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
40957b:	8b cc                	mov    %esp,%ecx
40957d:	c7 47 24 07 00 00 00 	movl   $0x7,0x24(%edi)
409584:	88 47 28             	mov    %al,0x28(%edi)
409587:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
40958d:	89 a5 e4 fd ff ff    	mov    %esp,-0x21c(%ebp)
409593:	50                   	push   %eax
409594:	e8 d7 9f ff ff       	call   0x403570
409599:	83 ec 0c             	sub    $0xc,%esp
40959c:	c6 45 fc 1a          	movb   $0x1a,-0x4(%ebp)
4095a0:	8d 85 a8 fd ff ff    	lea    -0x258(%ebp),%eax
4095a6:	8b cc                	mov    %esp,%ecx
4095a8:	50                   	push   %eax
4095a9:	e8 52 10 00 00       	call   0x40a600
4095ae:	8b cf                	mov    %edi,%ecx
4095b0:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4095b4:	e8 47 ca ff ff       	call   0x406000
4095b9:	33 c0                	xor    %eax,%eax
4095bb:	39 85 70 fd ff ff    	cmp    %eax,-0x290(%ebp)
4095c1:	74 0b                	je     0x4095ce
4095c3:	8d 8d 60 fd ff ff    	lea    -0x2a0(%ebp),%ecx
4095c9:	e8 12 d2 00 00       	call   0x4167e0
4095ce:	83 ec 18             	sub    $0x18,%esp
4095d1:	89 47 2c             	mov    %eax,0x2c(%edi)
4095d4:	8b cc                	mov    %esp,%ecx
4095d6:	89 a5 e4 fd ff ff    	mov    %esp,-0x21c(%ebp)
4095dc:	6a 0d                	push   $0xd
4095de:	68 0c 06 4b 00       	push   $0x4b060c
4095e3:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
4095e9:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
4095f0:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
4095f7:	e8 64 8a ff ff       	call   0x402060
4095fc:	c6 45 fc 1b          	movb   $0x1b,-0x4(%ebp)
409600:	83 ec 18             	sub    $0x18,%esp
409603:	8b 07                	mov    (%edi),%eax
409605:	54                   	push   %esp
409606:	8b 30                	mov    (%eax),%esi
409608:	8b ce                	mov    %esi,%ecx
40960a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
409610:	8b cf                	mov    %edi,%ecx
409612:	ff d6                	call   *%esi
409614:	8d 85 90 fd ff ff    	lea    -0x270(%ebp),%eax
40961a:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40961e:	50                   	push   %eax
40961f:	e8 7c 0b 00 00       	call   0x40a1a0
409624:	50                   	push   %eax
409625:	8d 8d 18 fd ff ff    	lea    -0x2e8(%ebp),%ecx
40962b:	e8 c0 96 ff ff       	call   0x402cf0
409630:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
409636:	83 f9 08             	cmp    $0x8,%ecx
409639:	72 35                	jb     0x409670
40963b:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
409641:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
409648:	8b c2                	mov    %edx,%eax
40964a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409650:	72 14                	jb     0x409666
409652:	8b 50 fc             	mov    -0x4(%eax),%edx
409655:	83 c1 23             	add    $0x23,%ecx
409658:	2b c2                	sub    %edx,%eax
40965a:	83 c0 fc             	add    $0xfffffffc,%eax
40965d:	83 f8 1f             	cmp    $0x1f,%eax
409660:	0f 87 87 04 00 00    	ja     0x409aed
409666:	51                   	push   %ecx
409667:	52                   	push   %edx
409668:	e8 9b 03 06 00       	call   0x469a08
40966d:	83 c4 08             	add    $0x8,%esp
409670:	c7 07 b8 0c 4b 00    	movl   $0x4b0cb8,(%edi)
409676:	8b 4f 24             	mov    0x24(%edi),%ecx
409679:	83 f9 08             	cmp    $0x8,%ecx
40967c:	72 32                	jb     0x4096b0
40967e:	8b 47 10             	mov    0x10(%edi),%eax
409681:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
409688:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40968e:	72 16                	jb     0x4096a6
409690:	8b 50 fc             	mov    -0x4(%eax),%edx
409693:	83 c1 23             	add    $0x23,%ecx
409696:	2b c2                	sub    %edx,%eax
409698:	83 c0 fc             	add    $0xfffffffc,%eax
40969b:	83 f8 1f             	cmp    $0x1f,%eax
40969e:	0f 87 49 04 00 00    	ja     0x409aed
4096a4:	8b c2                	mov    %edx,%eax
4096a6:	51                   	push   %ecx
4096a7:	50                   	push   %eax
4096a8:	e8 5b 03 06 00       	call   0x469a08
4096ad:	83 c4 08             	add    $0x8,%esp
4096b0:	33 c0                	xor    %eax,%eax
4096b2:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
4096b9:	8d 4f 04             	lea    0x4(%edi),%ecx
4096bc:	c7 47 24 07 00 00 00 	movl   $0x7,0x24(%edi)
4096c3:	66 89 47 10          	mov    %ax,0x10(%edi)
4096c7:	e8 b4 96 ff ff       	call   0x402d80
4096cc:	6a 30                	push   $0x30
4096ce:	57                   	push   %edi
4096cf:	e8 34 03 06 00       	call   0x469a08
4096d4:	8b 85 f0 fc ff ff    	mov    -0x310(%ebp),%eax
4096da:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
4096e0:	0f 10 85 18 fd ff ff 	movups -0x2e8(%ebp),%xmm0
4096e7:	83 c4 08             	add    $0x8,%esp
4096ea:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4096f0:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
4096f7:	c7 40 14 00 00 00 00 	movl   $0x0,0x14(%eax)
4096fe:	0f 11 00             	movups %xmm0,(%eax)
409701:	f3 0f 7e 85 28 fd ff 	movq   -0x2d8(%ebp),%xmm0
409708:	ff
409709:	66 0f d6 40 10       	movq   %xmm0,0x10(%eax)
40970e:	e8 6d 96 ff ff       	call   0x402d80
409713:	8b 8d 74 fd ff ff    	mov    -0x28c(%ebp),%ecx
409719:	83 f9 08             	cmp    $0x8,%ecx
40971c:	72 35                	jb     0x409753
40971e:	8b 95 60 fd ff ff    	mov    -0x2a0(%ebp),%edx
409724:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40972b:	8b c2                	mov    %edx,%eax
40972d:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409733:	72 14                	jb     0x409749
409735:	8b 50 fc             	mov    -0x4(%eax),%edx
409738:	83 c1 23             	add    $0x23,%ecx
40973b:	2b c2                	sub    %edx,%eax
40973d:	83 c0 fc             	add    $0xfffffffc,%eax
409740:	83 f8 1f             	cmp    $0x1f,%eax
409743:	0f 87 a4 03 00 00    	ja     0x409aed
409749:	51                   	push   %ecx
40974a:	52                   	push   %edx
40974b:	e8 b8 02 06 00       	call   0x469a08
409750:	83 c4 08             	add    $0x8,%esp
409753:	8b 8d 8c fd ff ff    	mov    -0x274(%ebp),%ecx
409759:	33 c0                	xor    %eax,%eax
40975b:	c7 85 70 fd ff ff 00 	movl   $0x0,-0x290(%ebp)
409762:	00 00 00
409765:	c7 85 74 fd ff ff 07 	movl   $0x7,-0x28c(%ebp)
40976c:	00 00 00
40976f:	66 89 85 60 fd ff ff 	mov    %ax,-0x2a0(%ebp)
409776:	83 f9 08             	cmp    $0x8,%ecx
409779:	72 35                	jb     0x4097b0
40977b:	8b 95 78 fd ff ff    	mov    -0x288(%ebp),%edx
409781:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
409788:	8b c2                	mov    %edx,%eax
40978a:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
409790:	72 14                	jb     0x4097a6
409792:	8b 50 fc             	mov    -0x4(%eax),%edx
409795:	83 c1 23             	add    $0x23,%ecx
409798:	2b c2                	sub    %edx,%eax
40979a:	83 c0 fc             	add    $0xfffffffc,%eax
40979d:	83 f8 1f             	cmp    $0x1f,%eax
4097a0:	0f 87 47 03 00 00    	ja     0x409aed
4097a6:	51                   	push   %ecx
4097a7:	52                   	push   %edx
4097a8:	e8 5b 02 06 00       	call   0x469a08
4097ad:	83 c4 08             	add    $0x8,%esp
4097b0:	8b 8d c8 fd ff ff    	mov    -0x238(%ebp),%ecx
4097b6:	33 c0                	xor    %eax,%eax
4097b8:	c7 85 88 fd ff ff 00 	movl   $0x0,-0x278(%ebp)
4097bf:	00 00 00
4097c2:	c7 85 8c fd ff ff 07 	movl   $0x7,-0x274(%ebp)
4097c9:	00 00 00
4097cc:	66 89 85 78 fd ff ff 	mov    %ax,-0x288(%ebp)
4097d3:	83 f9 08             	cmp    $0x8,%ecx
4097d6:	72 35                	jb     0x40980d
4097d8:	8b 95 b4 fd ff ff    	mov    -0x24c(%ebp),%edx
4097de:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4097e5:	8b c2                	mov    %edx,%eax
4097e7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4097ed:	72 14                	jb     0x409803
4097ef:	8b 50 fc             	mov    -0x4(%eax),%edx
4097f2:	83 c1 23             	add    $0x23,%ecx
4097f5:	2b c2                	sub    %edx,%eax
4097f7:	83 c0 fc             	add    $0xfffffffc,%eax
4097fa:	83 f8 1f             	cmp    $0x1f,%eax
4097fd:	0f 87 ea 02 00 00    	ja     0x409aed
409803:	51                   	push   %ecx
409804:	52                   	push   %edx
409805:	e8 fe 01 06 00       	call   0x469a08
40980a:	83 c4 08             	add    $0x8,%esp
40980d:	33 c0                	xor    %eax,%eax
40980f:	c7 85 c4 fd ff ff 00 	movl   $0x0,-0x23c(%ebp)
409816:	00 00 00
409819:	66 89 85 b4 fd ff ff 	mov    %ax,-0x24c(%ebp)
409820:	8b 85 44 fd ff ff    	mov    -0x2bc(%ebp),%eax
409826:	c7 85 c8 fd ff ff 07 	movl   $0x7,-0x238(%ebp)
40982d:	00 00 00
409830:	83 f8 08             	cmp    $0x8,%eax
409833:	72 35                	jb     0x40986a
409835:	8b 95 30 fd ff ff    	mov    -0x2d0(%ebp),%edx
40983b:	8d 0c 45 02 00 00 00 	lea    0x2(,%eax,2),%ecx
409842:	8b c2                	mov    %edx,%eax
409844:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40984a:	72 14                	jb     0x409860
40984c:	8b 50 fc             	mov    -0x4(%eax),%edx
40984f:	83 c1 23             	add    $0x23,%ecx
409852:	2b c2                	sub    %edx,%eax
409854:	83 c0 fc             	add    $0xfffffffc,%eax
409857:	83 f8 1f             	cmp    $0x1f,%eax
40985a:	0f 87 8d 02 00 00    	ja     0x409aed
409860:	51                   	push   %ecx
409861:	52                   	push   %edx