42f608:	8b f8                	mov    %eax,%edi
42f60a:	8b 44 24 3c          	mov    0x3c(%esp),%eax
42f60e:	52                   	push   %edx
42f60f:	8b 54 24 48          	mov    0x48(%esp),%edx
42f613:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
42f61a:	33 c0                	xor    %eax,%eax
42f61c:	03 d3                	add    %ebx,%edx
42f61e:	51                   	push   %ecx
42f61f:	13 c5                	adc    %ebp,%eax
42f621:	50                   	push   %eax
42f622:	52                   	push   %edx
42f623:	89 7c 24 30          	mov    %edi,0x30(%esp)
42f627:	e8 f4 fb ff ff       	call   0x42f220
42f62c:	83 c4 10             	add    $0x10,%esp
42f62f:	84 c0                	test   %al,%al
42f631:	0f 84 f8 00 00 00    	je     0x42f72f
42f637:	8b 4c 24 14          	mov    0x14(%esp),%ecx
42f63b:	8b 54 24 40          	mov    0x40(%esp),%edx
42f63f:	51                   	push   %ecx
42f640:	8b 4c 24 50          	mov    0x50(%esp),%ecx
42f644:	8d 04 12             	lea    (%edx,%edx,1),%eax
42f647:	33 d2                	xor    %edx,%edx
42f649:	03 cb                	add    %ebx,%ecx
42f64b:	50                   	push   %eax
42f64c:	13 d5                	adc    %ebp,%edx
42f64e:	52                   	push   %edx
42f64f:	51                   	push   %ecx
42f650:	e8 cb fb ff ff       	call   0x42f220
42f655:	83 c4 10             	add    $0x10,%esp
42f658:	84 c0                	test   %al,%al
42f65a:	0f 84 cf 00 00 00    	je     0x42f72f
42f660:	8b 44 24 40          	mov    0x40(%esp),%eax
42f664:	8b 54 24 48          	mov    0x48(%esp),%edx
42f668:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
42f66f:	33 c0                	xor    %eax,%eax
42f671:	57                   	push   %edi
42f672:	03 d3                	add    %ebx,%edx
42f674:	51                   	push   %ecx
42f675:	13 c5                	adc    %ebp,%eax
42f677:	50                   	push   %eax
42f678:	52                   	push   %edx
42f679:	e8 a2 fb ff ff       	call   0x42f220
42f67e:	83 c4 10             	add    $0x10,%esp
42f681:	84 c0                	test   %al,%al
42f683:	0f 84 a6 00 00 00    	je     0x42f72f
42f689:	33 ff                	xor    %edi,%edi
42f68b:	39 7c 24 40          	cmp    %edi,0x40(%esp)
42f68f:	0f 86 9a 00 00 00    	jbe    0x42f72f
42f695:	eb 09                	jmp    0x42f6a0
42f697:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
42f69e:	8b ff                	mov    %edi,%edi
42f6a0:	8b 54 24 20          	mov    0x20(%esp),%edx
42f6a4:	8b 04 ba             	mov    (%edx,%edi,4),%eax
42f6a7:	8d 8c 24 90 00 00 00 	lea    0x90(%esp),%ecx
42f6ae:	51                   	push   %ecx
42f6af:	33 c9                	xor    %ecx,%ecx
42f6b1:	03 c3                	add    %ebx,%eax
42f6b3:	68 80 00 00 00       	push   $0x80
42f6b8:	13 cd                	adc    %ebp,%ecx
42f6ba:	51                   	push   %ecx
42f6bb:	50                   	push   %eax
42f6bc:	e8 5f fb ff ff       	call   0x42f220
42f6c1:	83 c4 10             	add    $0x10,%esp
42f6c4:	84 c0                	test   %al,%al
42f6c6:	74 67                	je     0x42f72f
42f6c8:	8b 84 24 24 02 00 00 	mov    0x224(%esp),%eax
42f6cf:	8d 94 24 90 00 00 00 	lea    0x90(%esp),%edx
42f6d6:	52                   	push   %edx
42f6d7:	50                   	push   %eax
42f6d8:	c6 84 24 17 01 00 00 	movb   $0x0,0x117(%esp)
42f6df:	00
42f6e0:	e8 68 3d 00 00       	call   0x43344d
42f6e5:	83 c4 08             	add    $0x8,%esp
42f6e8:	85 c0                	test   %eax,%eax
42f6ea:	74 09                	je     0x42f6f5
42f6ec:	47                   	inc    %edi
42f6ed:	3b 7c 24 40          	cmp    0x40(%esp),%edi
42f6f1:	72 ad                	jb     0x42f6a0
42f6f3:	eb 3a                	jmp    0x42f72f
42f6f5:	8b 4c 24 14          	mov    0x14(%esp),%ecx
42f6f9:	0f b7 04 79          	movzwl (%ecx,%edi,2),%eax
42f6fd:	3b 44 24 3c          	cmp    0x3c(%esp),%eax
42f701:	73 2c                	jae    0x42f72f
42f703:	8b 54 24 10          	mov    0x10(%esp),%edx
42f707:	8b 04 82             	mov    (%edx,%eax,4),%eax
42f70a:	85 c0                	test   %eax,%eax
42f70c:	74 21                	je     0x42f72f
42f70e:	8b 8c 24 98 01 00 00 	mov    0x198(%esp),%ecx
42f715:	3b c1                	cmp    %ecx,%eax
42f717:	72 08                	jb     0x42f721
42f719:	03 4c 24 24          	add    0x24(%esp),%ecx
42f71d:	3b c1                	cmp    %ecx,%eax
42f71f:	72 0e                	jb     0x42f72f
42f721:	33 c9                	xor    %ecx,%ecx
42f723:	03 c3                	add    %ebx,%eax
42f725:	13 cd                	adc    %ebp,%ecx
42f727:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
42f72b:	89 44 24 18          	mov    %eax,0x18(%esp)
42f72f:	8b 44 24 10          	mov    0x10(%esp),%eax
42f733:	50                   	push   %eax
42f734:	6a 00                	push   $0x0
42f736:	ff d6                	call   *%esi
42f738:	8b 1d c4 34 47 00    	mov    0x4734c4,%ebx
42f73e:	50                   	push   %eax
42f73f:	ff d3                	call   *%ebx
42f741:	8b 4c 24 14          	mov    0x14(%esp),%ecx
42f745:	51                   	push   %ecx
42f746:	6a 00                	push   $0x0
42f748:	ff d6                	call   *%esi
42f74a:	50                   	push   %eax
42f74b:	ff d3                	call   *%ebx
42f74d:	8b 54 24 20          	mov    0x20(%esp),%edx
42f751:	52                   	push   %edx
42f752:	6a 00                	push   $0x0
42f754:	ff d6                	call   *%esi
42f756:	50                   	push   %eax
42f757:	ff d3                	call   *%ebx
42f759:	8b 44 24 18          	mov    0x18(%esp),%eax
42f75d:	8b 54 24 1c          	mov    0x1c(%esp),%edx
42f761:	5f                   	pop    %edi
42f762:	5e                   	pop    %esi
42f763:	5d                   	pop    %ebp
42f764:	5b                   	pop    %ebx
42f765:	81 c4 08 02 00 00    	add    $0x208,%esp
42f76b:	c3                   	ret
42f76c:	5e                   	pop    %esi
42f76d:	5d                   	pop    %ebp
42f76e:	33 c0                	xor    %eax,%eax
42f770:	33 d2                	xor    %edx,%edx
42f772:	5b                   	pop    %ebx
42f773:	81 c4 08 02 00 00    	add    $0x208,%esp
42f779:	c3                   	ret
42f77a:	cc                   	int3
42f77b:	cc                   	int3
42f77c:	cc                   	int3
42f77d:	cc                   	int3
42f77e:	cc                   	int3
42f77f:	cc                   	int3
42f780:	83 ec 10             	sub    $0x10,%esp
42f783:	53                   	push   %ebx
42f784:	8a 5c 24 20          	mov    0x20(%esp),%bl
42f788:	56                   	push   %esi
42f789:	8b 74 24 1c          	mov    0x1c(%esp),%esi
42f78d:	57                   	push   %edi
42f78e:	0f be c3             	movsbl %bl,%eax
42f791:	50                   	push   %eax
42f792:	68 b0 83 46 00       	push   $0x4683b0
42f797:	8d 4c 24 14          	lea    0x14(%esp),%ecx
42f79b:	6a 10                	push   $0x10
42f79d:	51                   	push   %ecx
42f79e:	e8 20 16 00 00       	call   0x430dc3
42f7a3:	8b 7c 24 34          	mov    0x34(%esp),%edi
42f7a7:	83 c4 10             	add    $0x10,%esp
42f7aa:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
42f7b0:	85 f6                	test   %esi,%esi
42f7b2:	75 09                	jne    0x42f7bd
42f7b4:	5f                   	pop    %edi
42f7b5:	5e                   	pop    %esi
42f7b6:	33 c0                	xor    %eax,%eax
42f7b8:	5b                   	pop    %ebx
42f7b9:	83 c4 10             	add    $0x10,%esp
42f7bc:	c3                   	ret
42f7bd:	38 1e                	cmp    %bl,(%esi)
42f7bf:	75 10                	jne    0x42f7d1
42f7c1:	8a 4e 01             	mov    0x1(%esi),%cl
42f7c4:	8d 46 01             	lea    0x1(%esi),%eax
42f7c7:	80 f9 0d             	cmp    $0xd,%cl
42f7ca:	74 3a                	je     0x42f806
42f7cc:	80 f9 0a             	cmp    $0xa,%cl
42f7cf:	74 35                	je     0x42f806
42f7d1:	80 3e 00             	cmpb   $0x0,(%esi)
42f7d4:	74 2e                	je     0x42f804
42f7d6:	83 3f 00             	cmpl   $0x0,(%edi)
42f7d9:	75 29                	jne    0x42f804
42f7db:	8d 54 24 0c          	lea    0xc(%esp),%edx
42f7df:	52                   	push   %edx
42f7e0:	56                   	push   %esi
42f7e1:	e8 9a 3e 00 00       	call   0x433680
42f7e6:	83 c4 08             	add    $0x8,%esp
42f7e9:	89 07                	mov    %eax,(%edi)
42f7eb:	85 c0                	test   %eax,%eax
42f7ed:	75 10                	jne    0x42f7ff
42f7ef:	8d 44 24 0c          	lea    0xc(%esp),%eax
42f7f3:	50                   	push   %eax
42f7f4:	56                   	push   %esi
42f7f5:	e8 36 3e 00 00       	call   0x433630
42f7fa:	83 c4 08             	add    $0x8,%esp
42f7fd:	03 f0                	add    %eax,%esi
42f7ff:	80 3e 00             	cmpb   $0x0,(%esi)
42f802:	75 d2                	jne    0x42f7d6
42f804:	8b c6                	mov    %esi,%eax
42f806:	5f                   	pop    %edi
42f807:	5e                   	pop    %esi
42f808:	5b                   	pop    %ebx
42f809:	83 c4 10             	add    $0x10,%esp
42f80c:	c3                   	ret
42f80d:	cc                   	int3
42f80e:	cc                   	int3
42f80f:	cc                   	int3
42f810:	8b 44 24 08          	mov    0x8(%esp),%eax
42f814:	8b 4c 24 04          	mov    0x4(%esp),%ecx
42f818:	6a 3d                	push   $0x3d
42f81a:	50                   	push   %eax
42f81b:	51                   	push   %ecx
42f81c:	e8 5f ff ff ff       	call   0x42f780
42f821:	83 c4 0c             	add    $0xc,%esp
42f824:	c3                   	ret
42f825:	cc                   	int3
42f826:	cc                   	int3
42f827:	cc                   	int3
42f828:	cc                   	int3
42f829:	cc                   	int3
42f82a:	cc                   	int3
42f82b:	cc                   	int3
42f82c:	cc                   	int3
42f82d:	cc                   	int3
42f82e:	cc                   	int3
42f82f:	cc                   	int3
42f830:	8b 44 24 08          	mov    0x8(%esp),%eax
42f834:	81 ec 04 01 00 00    	sub    $0x104,%esp
42f83a:	56                   	push   %esi
42f83b:	50                   	push   %eax
42f83c:	68 dc c1 45 00       	push   $0x45c1dc
42f841:	8d 4c 24 0c          	lea    0xc(%esp),%ecx
42f845:	68 04 01 00 00       	push   $0x104
42f84a:	51                   	push   %ecx
42f84b:	e8 73 15 00 00       	call   0x430dc3
42f850:	8b b4 24 1c 01 00 00 	mov    0x11c(%esp),%esi
42f857:	8d 54 24 14          	lea    0x14(%esp),%edx
42f85b:	52                   	push   %edx
42f85c:	56                   	push   %esi
42f85d:	e8 6e 3e 00 00       	call   0x4336d0
42f862:	83 c4 18             	add    $0x18,%esp
42f865:	85 c0                	test   %eax,%eax
42f867:	75 17                	jne    0x42f880
42f869:	8b 84 24 14 01 00 00 	mov    0x114(%esp),%eax
42f870:	c7 00 ff ff ff ff    	movl   $0xffffffff,(%eax)
42f876:	33 c0                	xor    %eax,%eax
42f878:	5e                   	pop    %esi
42f879:	81 c4 04 01 00 00    	add    $0x104,%esp
42f87f:	c3                   	ret
42f880:	8b 94 24 14 01 00 00 	mov    0x114(%esp),%edx
42f887:	8b c8                	mov    %eax,%ecx
42f889:	2b ce                	sub    %esi,%ecx
42f88b:	89 0a                	mov    %ecx,(%edx)
42f88d:	8d 4c 24 04          	lea    0x4(%esp),%ecx
42f891:	8d 71 01             	lea    0x1(%ecx),%esi
42f894:	8a 11                	mov    (%ecx),%dl
42f896:	41                   	inc    %ecx
42f897:	84 d2                	test   %dl,%dl
42f899:	75 f9                	jne    0x42f894
42f89b:	2b ce                	sub    %esi,%ecx
42f89d:	03 c1                	add    %ecx,%eax
42f89f:	5e                   	pop    %esi
42f8a0:	81 c4 04 01 00 00    	add    $0x104,%esp
42f8a6:	c3                   	ret
42f8a7:	cc                   	int3
42f8a8:	cc                   	int3
42f8a9:	cc                   	int3
42f8aa:	cc                   	int3
42f8ab:	cc                   	int3
42f8ac:	cc                   	int3
42f8ad:	cc                   	int3
42f8ae:	cc                   	int3
42f8af:	cc                   	int3
42f8b0:	51                   	push   %ecx
42f8b1:	8b 44 24 10          	mov    0x10(%esp),%eax
42f8b5:	53                   	push   %ebx
42f8b6:	8b 5c 24 18          	mov    0x18(%esp),%ebx
42f8ba:	55                   	push   %ebp
42f8bb:	8b 6c 24 14          	mov    0x14(%esp),%ebp
42f8bf:	56                   	push   %esi
42f8c0:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
42f8c6:	8b 44 24 24          	mov    0x24(%esp),%eax
42f8ca:	33 c9                	xor    %ecx,%ecx
42f8cc:	57                   	push   %edi
42f8cd:	66 89 0b             	mov    %cx,(%ebx)
42f8d0:	33 d2                	xor    %edx,%edx
42f8d2:	55                   	push   %ebp
42f8d3:	8d 4c 24 14          	lea    0x14(%esp),%ecx
42f8d7:	66 89 10             	mov    %dx,(%eax)
42f8da:	8b 54 24 1c          	mov    0x1c(%esp),%edx
42f8de:	51                   	push   %ecx
42f8df:	52                   	push   %edx
42f8e0:	c7 44 24 1c 00 00 00 	movl   $0x0,0x1c(%esp)
42f8e7:	00
42f8e8:	e8 93 fe ff ff       	call   0x42f780
42f8ed:	8b 74 24 1c          	mov    0x1c(%esp),%esi
42f8f1:	83 c4 0c             	add    $0xc,%esp
42f8f4:	8b f8                	mov    %eax,%edi
42f8f6:	85 f6                	test   %esi,%esi
42f8f8:	75 18                	jne    0x42f912
42f8fa:	80 3f 00             	cmpb   $0x0,(%edi)
42f8fd:	75 13                	jne    0x42f912
42f8ff:	8b 44 24 20          	mov    0x20(%esp),%eax
42f903:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42f909:	8d 04 37             	lea    (%edi,%esi,1),%eax
42f90c:	5f                   	pop    %edi
42f90d:	5e                   	pop    %esi
42f90e:	5d                   	pop    %ebp
42f90f:	5b                   	pop    %ebx
42f910:	59                   	pop    %ecx
42f911:	c3                   	ret
42f912:	8b 44 24 2c          	mov    0x2c(%esp),%eax
42f916:	48                   	dec    %eax
42f917:	89 44 24 24          	mov    %eax,0x24(%esp)
42f91b:	3b f0                	cmp    %eax,%esi
42f91d:	77 02                	ja     0x42f921
42f91f:	8b c6                	mov    %esi,%eax
42f921:	57                   	push   %edi
42f922:	68 70 be 45 00       	push   $0x45be70
42f927:	50                   	push   %eax
42f928:	53                   	push   %ebx
42f929:	e8 31 0d 00 00       	call   0x43065f
42f92e:	8b 44 24 34          	mov    0x34(%esp),%eax
42f932:	83 c4 10             	add    $0x10,%esp
42f935:	3b f0                	cmp    %eax,%esi
42f937:	77 02                	ja     0x42f93b
42f939:	8b c6                	mov    %esi,%eax
42f93b:	33 c9                	xor    %ecx,%ecx
42f93d:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
42f941:	8a 0c 37             	mov    (%edi,%esi,1),%cl
42f944:	8d 04 37             	lea    (%edi,%esi,1),%eax
42f947:	80 f9 0d             	cmp    $0xd,%cl
42f94a:	0f 84 09 01 00 00    	je     0x42fa59
42f950:	80 f9 0a             	cmp    $0xa,%cl
42f953:	0f 84 00 01 00 00    	je     0x42fa59
42f959:	55                   	push   %ebp
42f95a:	8d 54 24 14          	lea    0x14(%esp),%edx
42f95e:	52                   	push   %edx
42f95f:	50                   	push   %eax
42f960:	e8 1b fe ff ff       	call   0x42f780
42f965:	8b 74 24 1c          	mov    0x1c(%esp),%esi
42f969:	83 c4 0c             	add    $0xc,%esp
42f96c:	8b e8                	mov    %eax,%ebp
42f96e:	89 6c 24 18          	mov    %ebp,0x18(%esp)
42f972:	85 f6                	test   %esi,%esi
42f974:	75 19                	jne    0x42f98f
42f976:	80 7d 00 00          	cmpb   $0x0,0x0(%ebp)
42f97a:	75 13                	jne    0x42f98f
42f97c:	8b 44 24 20          	mov    0x20(%esp),%eax
42f980:	5f                   	pop    %edi
42f981:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
42f987:	8d 04 2e             	lea    (%esi,%ebp,1),%eax
42f98a:	5e                   	pop    %esi
42f98b:	5d                   	pop    %ebp
42f98c:	5b                   	pop    %ebx
42f98d:	59                   	pop    %ecx
42f98e:	c3                   	ret
42f98f:	80 7d 00 5c          	cmpb   $0x5c,0x0(%ebp)