42a463:	c7 42 04 ff ff ff ff 	movl   $0xffffffff,0x4(%edx)
42a46a:	c7 44 3a 08 00 00 00 	movl   $0x0,0x8(%edx,%edi,1)
42a471:	00
42a472:	8b 46 08             	mov    0x8(%esi),%eax
42a475:	c7 42 04 00 00 00 00 	movl   $0x0,0x4(%edx)
42a47c:	85 c0                	test   %eax,%eax
42a47e:	75 14                	jne    0x42a494
42a480:	89 02                	mov    %eax,(%edx)
42a482:	8d 42 08             	lea    0x8(%edx),%eax
42a485:	89 56 04             	mov    %edx,0x4(%esi)
42a488:	89 56 08             	mov    %edx,0x8(%esi)
42a48b:	f7 da                	neg    %edx
42a48d:	1b d2                	sbb    %edx,%edx
42a48f:	23 c2                	and    %edx,%eax
42a491:	5f                   	pop    %edi
42a492:	5e                   	pop    %esi
42a493:	c3                   	ret
42a494:	89 02                	mov    %eax,(%edx)
42a496:	8b 46 08             	mov    0x8(%esi),%eax
42a499:	89 50 04             	mov    %edx,0x4(%eax)
42a49c:	89 56 08             	mov    %edx,0x8(%esi)
42a49f:	8d 42 08             	lea    0x8(%edx),%eax
42a4a2:	f7 da                	neg    %edx
42a4a4:	1b d2                	sbb    %edx,%edx
42a4a6:	23 c2                	and    %edx,%eax
42a4a8:	5f                   	pop    %edi
42a4a9:	5e                   	pop    %esi
42a4aa:	c3                   	ret
42a4ab:	5f                   	pop    %edi
42a4ac:	33 c0                	xor    %eax,%eax
42a4ae:	5e                   	pop    %esi
42a4af:	c3                   	ret
42a4b0:	8b ff                	mov    %edi,%edi
42a4b2:	55                   	push   %ebp
42a4b3:	8b ec                	mov    %esp,%ebp
42a4b5:	6a fe                	push   $0xfffffffe
42a4b7:	68 a0 e1 44 00       	push   $0x44e1a0
42a4bc:	68 a0 d5 44 00       	push   $0x44d5a0
42a4c1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
42a4c7:	50                   	push   %eax
42a4c8:	81 ec d0 01 00 00    	sub    $0x1d0,%esp
42a4ce:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
42a4d3:	31 45 f8             	xor    %eax,-0x8(%ebp)
42a4d6:	33 c5                	xor    %ebp,%eax
42a4d8:	89 45 e4             	mov    %eax,-0x1c(%ebp)
42a4db:	53                   	push   %ebx
42a4dc:	56                   	push   %esi
42a4dd:	57                   	push   %edi
42a4de:	50                   	push   %eax
42a4df:	8d 45 f0             	lea    -0x10(%ebp),%eax
42a4e2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
42a4e8:	89 65 e8             	mov    %esp,-0x18(%ebp)
42a4eb:	8b 75 10             	mov    0x10(%ebp),%esi
42a4ee:	89 b5 2c fe ff ff    	mov    %esi,-0x1d4(%ebp)
42a4f4:	c6 45 e3 00          	movb   $0x0,-0x1d(%ebp)
42a4f8:	c6 85 63 ff ff ff 00 	movb   $0x0,-0x9d(%ebp)
42a4ff:	66 a1 5c 08 41 00    	mov    0x41085c,%ax
42a505:	66 89 85 40 fe ff ff 	mov    %ax,-0x1c0(%ebp)
42a50c:	a0 5e 08 41 00       	mov    0x41085e,%al
42a511:	88 85 42 fe ff ff    	mov    %al,-0x1be(%ebp)
42a517:	c7 85 48 fe ff ff ff 	movl   $0xff,-0x1b8(%ebp)
42a51e:	00 00 00
42a521:	8d 85 64 fe ff ff    	lea    -0x19c(%ebp),%eax
42a527:	89 85 50 fe ff ff    	mov    %eax,-0x1b0(%ebp)
42a52d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
42a534:	e8 f7 fb ff ff       	call   0x42a130
42a539:	85 c0                	test   %eax,%eax
42a53b:	74 0b                	je     0x42a548
42a53d:	8b 58 14             	mov    0x14(%eax),%ebx
42a540:	89 9d 34 fe ff ff    	mov    %ebx,-0x1cc(%ebp)
42a546:	eb 0a                	jmp    0x42a552
42a548:	c7 85 34 fe ff ff 00 	movl   $0x0,-0x1cc(%ebp)
42a54f:	00 00 00
42a552:	8d 85 54 fe ff ff    	lea    -0x1ac(%ebp),%eax
42a558:	50                   	push   %eax
42a559:	ff 15 50 22 45 00    	call   *0x452250
42a55f:	b9 e0 fa ff ff       	mov    $0xfffffae0,%ecx
42a564:	a1 50 1a 45 00       	mov    0x451a50,%eax
42a569:	85 c0                	test   %eax,%eax
42a56b:	75 5e                	jne    0x42a5cb
42a56d:	0f b7 85 60 fe ff ff 	movzwl -0x1a0(%ebp),%eax
42a574:	50                   	push   %eax
42a575:	0f b7 85 5e fe ff ff 	movzwl -0x1a2(%ebp),%eax
42a57c:	50                   	push   %eax
42a57d:	0f b7 85 5c fe ff ff 	movzwl -0x1a4(%ebp),%eax
42a584:	50                   	push   %eax
42a585:	0f b7 85 5a fe ff ff 	movzwl -0x1a6(%ebp),%eax
42a58c:	50                   	push   %eax
42a58d:	0f b7 85 56 fe ff ff 	movzwl -0x1aa(%ebp),%eax
42a594:	50                   	push   %eax
42a595:	0f b7 85 54 fe ff ff 	movzwl -0x1ac(%ebp),%eax
42a59c:	50                   	push   %eax
42a59d:	ff 15 b4 21 45 00    	call   *0x4521b4
42a5a3:	50                   	push   %eax
42a5a4:	ff 15 d4 21 45 00    	call   *0x4521d4
42a5aa:	50                   	push   %eax
42a5ab:	68 44 2f 41 00       	push   $0x412f44
42a5b0:	68 c0 10 41 00       	push   $0x4110c0
42a5b5:	6a 7f                	push   $0x7f
42a5b7:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42a5bd:	50                   	push   %eax
42a5be:	e8 1d e9 ff ff       	call   0x428ee0
42a5c3:	83 c4 30             	add    $0x30,%esp
42a5c6:	e9 9b 00 00 00       	jmp    0x42a666
42a5cb:	83 f8 01             	cmp    $0x1,%eax
42a5ce:	75 61                	jne    0x42a631
42a5d0:	e8 2b 2e 00 00       	call   0x42d400
42a5d5:	50                   	push   %eax
42a5d6:	0f b7 85 60 fe ff ff 	movzwl -0x1a0(%ebp),%eax
42a5dd:	50                   	push   %eax
42a5de:	0f b7 85 5e fe ff ff 	movzwl -0x1a2(%ebp),%eax
42a5e5:	50                   	push   %eax
42a5e6:	0f b7 85 5c fe ff ff 	movzwl -0x1a4(%ebp),%eax
42a5ed:	50                   	push   %eax
42a5ee:	0f b7 85 5a fe ff ff 	movzwl -0x1a6(%ebp),%eax
42a5f5:	50                   	push   %eax
42a5f6:	0f b7 85 56 fe ff ff 	movzwl -0x1aa(%ebp),%eax
42a5fd:	50                   	push   %eax
42a5fe:	0f b7 85 54 fe ff ff 	movzwl -0x1ac(%ebp),%eax
42a605:	50                   	push   %eax
42a606:	ff 15 b4 21 45 00    	call   *0x4521b4
42a60c:	50                   	push   %eax
42a60d:	ff 15 d4 21 45 00    	call   *0x4521d4
42a613:	50                   	push   %eax
42a614:	68 44 2f 41 00       	push   $0x412f44
42a619:	68 f0 10 41 00       	push   $0x4110f0
42a61e:	6a 7f                	push   $0x7f
42a620:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42a626:	50                   	push   %eax
42a627:	e8 b4 e8 ff ff       	call   0x428ee0
42a62c:	83 c4 34             	add    $0x34,%esp
42a62f:	eb 35                	jmp    0x42a666
42a631:	83 f8 02             	cmp    $0x2,%eax
42a634:	75 32                	jne    0x42a668
42a636:	e8 55 2f 00 00       	call   0x42d590
42a63b:	52                   	push   %edx
42a63c:	50                   	push   %eax
42a63d:	ff 15 b4 21 45 00    	call   *0x4521b4
42a643:	50                   	push   %eax
42a644:	ff 15 d4 21 45 00    	call   *0x4521d4
42a64a:	50                   	push   %eax
42a64b:	68 44 2f 41 00       	push   $0x412f44
42a650:	68 24 11 41 00       	push   $0x411124
42a655:	6a 7f                	push   $0x7f
42a657:	8d 85 64 ff ff ff    	lea    -0x9c(%ebp),%eax
42a65d:	50                   	push   %eax
42a65e:	e8 7d e8 ff ff       	call   0x428ee0
42a663:	83 c4 20             	add    $0x20,%esp
42a666:	8b c8                	mov    %eax,%ecx
42a668:	85 c9                	test   %ecx,%ecx
42a66a:	74 0c                	je     0x42a678
42a66c:	c7 85 30 fe ff ff 7f 	movl   $0x7f,-0x1d0(%ebp)
42a673:	00 00 00
42a676:	eb 18                	jmp    0x42a690
42a678:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
42a67e:	8d 4a 01             	lea    0x1(%edx),%ecx
42a681:	8a 02                	mov    (%edx),%al
42a683:	42                   	inc    %edx
42a684:	84 c0                	test   %al,%al
42a686:	75 f9                	jne    0x42a681
42a688:	2b d1                	sub    %ecx,%edx
42a68a:	89 95 30 fe ff ff    	mov    %edx,-0x1d0(%ebp)
42a690:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
42a696:	33 db                	xor    %ebx,%ebx
42a698:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
42a69e:	88 19                	mov    %bl,(%ecx)
42a6a0:	85 f6                	test   %esi,%esi
42a6a2:	75 05                	jne    0x42a6a9
42a6a4:	be 98 18 41 00       	mov    $0x411898,%esi
42a6a9:	bf 01 00 00 00       	mov    $0x1,%edi
42a6ae:	89 bd 3c fe ff ff    	mov    %edi,-0x1c4(%ebp)
42a6b4:	33 d2                	xor    %edx,%edx
42a6b6:	89 95 38 fe ff ff    	mov    %edx,-0x1c8(%ebp)
42a6bc:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
42a6c2:	8a 06                	mov    (%esi),%al
42a6c4:	84 c0                	test   %al,%al
42a6c6:	0f 84 87 01 00 00    	je     0x42a853
42a6cc:	3c 0d                	cmp    $0xd,%al
42a6ce:	75 2d                	jne    0x42a6fd
42a6d0:	38 46 01             	cmp    %al,0x1(%esi)
42a6d3:	75 28                	jne    0x42a6fd
42a6d5:	8a 46 02             	mov    0x2(%esi),%al
42a6d8:	3c 2b                	cmp    $0x2b,%al
42a6da:	75 0c                	jne    0x42a6e8
42a6dc:	80 7e 03 0d          	cmpb   $0xd,0x3(%esi)
42a6e0:	75 06                	jne    0x42a6e8
42a6e2:	42                   	inc    %edx
42a6e3:	83 c6 04             	add    $0x4,%esi
42a6e6:	eb ce                	jmp    0x42a6b6
42a6e8:	3c 2d                	cmp    $0x2d,%al
42a6ea:	75 0c                	jne    0x42a6f8
42a6ec:	80 7e 03 0d          	cmpb   $0xd,0x3(%esi)
42a6f0:	75 06                	jne    0x42a6f8
42a6f2:	4a                   	dec    %edx
42a6f3:	83 c6 04             	add    $0x4,%esi
42a6f6:	eb be                	jmp    0x42a6b6
42a6f8:	83 c6 02             	add    $0x2,%esi
42a6fb:	eb bf                	jmp    0x42a6bc
42a6fd:	85 ff                	test   %edi,%edi
42a6ff:	0f 84 8c 00 00 00    	je     0x42a791
42a705:	8b 8d 34 fe ff ff    	mov    -0x1cc(%ebp),%ecx
42a70b:	33 c0                	xor    %eax,%eax
42a70d:	03 ca                	add    %edx,%ecx
42a70f:	0f 98 c0             	sets   %al
42a712:	48                   	dec    %eax
42a713:	23 c1                	and    %ecx,%eax
42a715:	83 f8 10             	cmp    $0x10,%eax
42a718:	7e 07                	jle    0x42a721
42a71a:	b8 10 00 00 00       	mov    $0x10,%eax
42a71f:	eb 0a                	jmp    0x42a72b
42a721:	33 c0                	xor    %eax,%eax
42a723:	85 c9                	test   %ecx,%ecx
42a725:	0f 98 c0             	sets   %al
42a728:	48                   	dec    %eax
42a729:	23 c1                	and    %ecx,%eax
42a72b:	8b 8d 48 fe ff ff    	mov    -0x1b8(%ebp),%ecx
42a731:	2b cb                	sub    %ebx,%ecx
42a733:	74 48                	je     0x42a77d
42a735:	8b 95 30 fe ff ff    	mov    -0x1d0(%ebp),%edx
42a73b:	8d 04 42             	lea    (%edx,%eax,2),%eax
42a73e:	83 f8 7f             	cmp    $0x7f,%eax
42a741:	76 05                	jbe    0x42a748
42a743:	b8 7f 00 00 00       	mov    $0x7f,%eax
42a748:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
42a74e:	03 fb                	add    %ebx,%edi
42a750:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
42a756:	52                   	push   %edx
42a757:	6a 7f                	push   $0x7f
42a759:	50                   	push   %eax
42a75a:	68 3c 11 41 00       	push   $0x41113c
42a75f:	51                   	push   %ecx
42a760:	57                   	push   %edi
42a761:	e8 7a e7 ff ff       	call   0x428ee0
42a766:	83 c4 18             	add    $0x18,%esp
42a769:	85 c0                	test   %eax,%eax
42a76b:	75 10                	jne    0x42a77d
42a76d:	8d 4f 01             	lea    0x1(%edi),%ecx
42a770:	8a 07                	mov    (%edi),%al
42a772:	47                   	inc    %edi
42a773:	84 c0                	test   %al,%al
42a775:	75 f9                	jne    0x42a770
42a777:	2b f9                	sub    %ecx,%edi
42a779:	03 df                	add    %edi,%ebx
42a77b:	eb 06                	jmp    0x42a783
42a77d:	8b 9d 48 fe ff ff    	mov    -0x1b8(%ebp),%ebx
42a783:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
42a789:	33 ff                	xor    %edi,%edi
42a78b:	89 bd 3c fe ff ff    	mov    %edi,-0x1c4(%ebp)
42a791:	89 b5 28 fe ff ff    	mov    %esi,-0x1d8(%ebp)
42a797:	68 5c 08 41 00       	push   $0x41085c
42a79c:	56                   	push   %esi
42a79d:	ff 15 4c 23 45 00    	call   *0x45234c
42a7a3:	83 c4 08             	add    $0x8,%esp
42a7a6:	03 f0                	add    %eax,%esi
42a7a8:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
42a7ae:	8b 85 48 fe ff ff    	mov    -0x1b8(%ebp),%eax
42a7b4:	8b c8                	mov    %eax,%ecx
42a7b6:	2b cb                	sub    %ebx,%ecx
42a7b8:	74 49                	je     0x42a803
42a7ba:	8b bd 50 fe ff ff    	mov    -0x1b0(%ebp),%edi
42a7c0:	03 fb                	add    %ebx,%edi
42a7c2:	8d 85 40 fe ff ff    	lea    -0x1c0(%ebp),%eax
42a7c8:	50                   	push   %eax
42a7c9:	8b 95 28 fe ff ff    	mov    -0x1d8(%ebp),%edx
42a7cf:	52                   	push   %edx
42a7d0:	8b c6                	mov    %esi,%eax
42a7d2:	2b c2                	sub    %edx,%eax
42a7d4:	50                   	push   %eax
42a7d5:	68 44 11 41 00       	push   $0x411144
42a7da:	51                   	push   %ecx
42a7db:	57                   	push   %edi
42a7dc:	e8 ff e6 ff ff       	call   0x428ee0
42a7e1:	83 c4 18             	add    $0x18,%esp
42a7e4:	85 c0                	test   %eax,%eax
42a7e6:	75 15                	jne    0x42a7fd
42a7e8:	8d 4f 01             	lea    0x1(%edi),%ecx
42a7eb:	eb 03                	jmp    0x42a7f0
42a7ed:	8d 49 00             	lea    0x0(%ecx),%ecx
42a7f0:	8a 07                	mov    (%edi),%al
42a7f2:	47                   	inc    %edi
42a7f3:	84 c0                	test   %al,%al
42a7f5:	75 f9                	jne    0x42a7f0
42a7f7:	2b f9                	sub    %ecx,%edi
42a7f9:	03 df                	add    %edi,%ebx
42a7fb:	eb 08                	jmp    0x42a805
42a7fd:	8b 85 48 fe ff ff    	mov    -0x1b8(%ebp),%eax
42a803:	8b d8                	mov    %eax,%ebx
42a805:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
42a80b:	8a 06                	mov    (%esi),%al
42a80d:	3c 0d                	cmp    $0xd,%al
42a80f:	75 10                	jne    0x42a821
42a811:	8a 56 01             	mov    0x1(%esi),%dl
42a814:	3a d0                	cmp    %al,%dl
42a816:	74 09                	je     0x42a821
42a818:	46                   	inc    %esi
42a819:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
42a81f:	8a c2                	mov    %dl,%al
42a821:	3c 0a                	cmp    $0xa,%al
42a823:	75 1d                	jne    0x42a842
42a825:	bf 01 00 00 00       	mov    $0x1,%edi
42a82a:	89 bd 3c fe ff ff    	mov    %edi,-0x1c4(%ebp)
42a830:	46                   	inc    %esi
42a831:	89 b5 4c fe ff ff    	mov    %esi,-0x1b4(%ebp)
42a837:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
42a83d:	e9 80 fe ff ff       	jmp    0x42a6c2
42a842:	8b bd 3c fe ff ff    	mov    -0x1c4(%ebp),%edi
42a848:	8b 95 38 fe ff ff    	mov    -0x1c8(%ebp),%edx
42a84e:	e9 6f fe ff ff       	jmp    0x42a6c2
42a853:	8b b5 48 fe ff ff    	mov    -0x1b8(%ebp),%esi
42a859:	8b 8d 50 fe ff ff    	mov    -0x1b0(%ebp),%ecx
42a85f:	3b de                	cmp    %esi,%ebx
42a861:	75 55                	jne    0x42a8b8
42a863:	8d 85 64 fe ff ff    	lea    -0x19c(%ebp),%eax
42a869:	3b c8                	cmp    %eax,%ecx
42a86b:	74 07                	je     0x42a874
42a86d:	51                   	push   %ecx
42a86e:	ff 15 34 21 45 00    	call   *0x452134
42a874:	03 f6                	add    %esi,%esi
42a876:	89 b5 48 fe ff ff    	mov    %esi,-0x1b8(%ebp)
42a87c:	89 b5 20 fe ff ff    	mov    %esi,-0x1e0(%ebp)
42a882:	8d 46 01             	lea    0x1(%esi),%eax
42a885:	50                   	push   %eax
42a886:	6a 00                	push   $0x0
42a888:	ff 15 30 21 45 00    	call   *0x452130
42a88e:	8b c8                	mov    %eax,%ecx
42a890:	89 8d 50 fe ff ff    	mov    %ecx,-0x1b0(%ebp)
42a896:	85 c9                	test   %ecx,%ecx
42a898:	74 04                	je     0x42a89e
42a89a:	c6 04 31 00          	movb   $0x0,(%ecx,%esi,1)
42a89e:	8b de                	mov    %esi,%ebx
42a8a0:	89 9d 44 fe ff ff    	mov    %ebx,-0x1bc(%ebp)
42a8a6:	3b de                	cmp    %esi,%ebx
42a8a8:	75 0e                	jne    0x42a8b8
42a8aa:	85 c9                	test   %ecx,%ecx
42a8ac:	8b b5 2c fe ff ff    	mov    -0x1d4(%ebp),%esi
42a8b2:	0f 85 de fd ff ff    	jne    0x42a696
42a8b8:	85 c9                	test   %ecx,%ecx
42a8ba:	0f 84 aa 00 00 00    	je     0x42a96a
42a8c0:	83 3d 0c 1d 45 00 00 	cmpl   $0x0,0x451d0c
42a8c7:	0f 84 97 00 00 00    	je     0x42a964
42a8cd:	8b 9d 50 fe ff ff    	mov    -0x1b0(%ebp),%ebx
42a8d3:	53                   	push   %ebx
42a8d4:	ff 15 5c 20 45 00    	call   *0x45205c
42a8da:	53                   	push   %ebx
42a8db:	6a 01                	push   $0x1
42a8dd:	8b 45 08             	mov    0x8(%ebp),%eax
42a8e0:	83 c0 4c             	add    $0x4c,%eax
42a8e3:	50                   	push   %eax
42a8e4:	e8 87 ca 01 00       	call   0x447370
42a8e9:	83 c4 0c             	add    $0xc,%esp