41d5e6:	50                   	push   %eax
41d5e7:	51                   	push   %ecx
41d5e8:	89 7d f4             	mov    %edi,-0xc(%ebp)
41d5eb:	89 7d f8             	mov    %edi,-0x8(%ebp)
41d5ee:	e8 bb a6 00 00       	call   0x427cae
41d5f3:	83 c4 10             	add    $0x10,%esp
41d5f6:	85 db                	test   %ebx,%ebx
41d5f8:	74 02                	je     0x41d5fc
41d5fa:	89 03                	mov    %eax,(%ebx)
41d5fc:	83 f8 04             	cmp    $0x4,%eax
41d5ff:	0f 8e 89 00 00 00    	jle    0x41d68e
41d605:	80 7e 1c 00          	cmpb   $0x0,0x1c(%esi)
41d609:	74 03                	je     0x41d60e
41d60b:	8b 7e 18             	mov    0x18(%esi),%edi
41d60e:	8b c7                	mov    %edi,%eax
41d610:	eb 36                	jmp    0x41d648
41d612:	39 ba a8 00 00 00    	cmp    %edi,0xa8(%edx)
41d618:	75 49                	jne    0x41d663
41d61a:	66 8b 55 14          	mov    0x14(%ebp),%dx
41d61e:	c7 45 fc ff 00 00 00 	movl   $0xff,-0x4(%ebp)
41d625:	66 3b 55 fc          	cmp    -0x4(%ebp),%dx
41d629:	76 22                	jbe    0x41d64d
41d62b:	85 c9                	test   %ecx,%ecx
41d62d:	74 0f                	je     0x41d63e
41d62f:	85 c0                	test   %eax,%eax
41d631:	74 0b                	je     0x41d63e
41d633:	50                   	push   %eax
41d634:	57                   	push   %edi
41d635:	51                   	push   %ecx
41d636:	e8 85 dd fe ff       	call   0x40b3c0
41d63b:	83 c4 0c             	add    $0xc,%esp
41d63e:	6a 2a                	push   $0x2a
41d640:	58                   	pop    %eax
41d641:	89 46 18             	mov    %eax,0x18(%esi)
41d644:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41d648:	5f                   	pop    %edi
41d649:	5e                   	pop    %esi
41d64a:	5b                   	pop    %ebx
41d64b:	c9                   	leave
41d64c:	c3                   	ret
41d64d:	85 c9                	test   %ecx,%ecx
41d64f:	74 06                	je     0x41d657
41d651:	85 c0                	test   %eax,%eax
41d653:	74 61                	je     0x41d6b6
41d655:	88 11                	mov    %dl,(%ecx)
41d657:	85 db                	test   %ebx,%ebx
41d659:	74 33                	je     0x41d68e
41d65b:	c7 03 01 00 00 00    	movl   $0x1,(%ebx)
41d661:	eb 2b                	jmp    0x41d68e
41d663:	8d 55 fc             	lea    -0x4(%ebp),%edx
41d666:	89 7d fc             	mov    %edi,-0x4(%ebp)
41d669:	52                   	push   %edx
41d66a:	57                   	push   %edi
41d66b:	50                   	push   %eax
41d66c:	51                   	push   %ecx
41d66d:	6a 01                	push   $0x1
41d66f:	8d 45 14             	lea    0x14(%ebp),%eax
41d672:	50                   	push   %eax
41d673:	57                   	push   %edi
41d674:	ff 75 f8             	push   -0x8(%ebp)
41d677:	e8 6e 57 00 00       	call   0x422dea
41d67c:	83 c4 20             	add    $0x20,%esp
41d67f:	85 c0                	test   %eax,%eax
41d681:	74 0f                	je     0x41d692
41d683:	39 7d fc             	cmp    %edi,-0x4(%ebp)
41d686:	75 b6                	jne    0x41d63e
41d688:	85 db                	test   %ebx,%ebx
41d68a:	74 02                	je     0x41d68e
41d68c:	89 03                	mov    %eax,(%ebx)
41d68e:	33 c0                	xor    %eax,%eax
41d690:	eb b6                	jmp    0x41d648
41d692:	ff 15 08 11 43 00    	call   *0x431108
41d698:	83 f8 7a             	cmp    $0x7a,%eax
41d69b:	75 a1                	jne    0x41d63e
41d69d:	8b 45 0c             	mov    0xc(%ebp),%eax
41d6a0:	85 c0                	test   %eax,%eax
41d6a2:	74 12                	je     0x41d6b6
41d6a4:	39 7d 10             	cmp    %edi,0x10(%ebp)
41d6a7:	76 0d                	jbe    0x41d6b6
41d6a9:	ff 75 10             	push   0x10(%ebp)
41d6ac:	57                   	push   %edi
41d6ad:	50                   	push   %eax
41d6ae:	e8 0d dd fe ff       	call   0x40b3c0
41d6b3:	83 c4 0c             	add    $0xc,%esp
41d6b6:	6a 22                	push   $0x22
41d6b8:	5b                   	pop    %ebx
41d6b9:	56                   	push   %esi
41d6ba:	57                   	push   %edi
41d6bb:	57                   	push   %edi
41d6bc:	57                   	push   %edi
41d6bd:	57                   	push   %edi
41d6be:	89 5e 18             	mov    %ebx,0x18(%esi)
41d6c1:	57                   	push   %edi
41d6c2:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41d6c6:	e8 a6 fc fe ff       	call   0x40d371
41d6cb:	83 c4 18             	add    $0x18,%esp
41d6ce:	8b c3                	mov    %ebx,%eax
41d6d0:	e9 73 ff ff ff       	jmp    0x41d648
41d6d5:	8b ff                	mov    %edi,%edi
41d6d7:	55                   	push   %ebp
41d6d8:	8b ec                	mov    %esp,%ebp
41d6da:	51                   	push   %ecx
41d6db:	53                   	push   %ebx
41d6dc:	56                   	push   %esi
41d6dd:	57                   	push   %edi
41d6de:	8b 7d 0c             	mov    0xc(%ebp),%edi
41d6e1:	85 ff                	test   %edi,%edi
41d6e3:	0f 84 0a 01 00 00    	je     0x41d7f3
41d6e9:	8b 5d 10             	mov    0x10(%ebp),%ebx
41d6ec:	85 db                	test   %ebx,%ebx
41d6ee:	0f 84 ff 00 00 00    	je     0x41d7f3
41d6f4:	80 3f 00             	cmpb   $0x0,(%edi)
41d6f7:	75 15                	jne    0x41d70e
41d6f9:	8b 45 08             	mov    0x8(%ebp),%eax
41d6fc:	85 c0                	test   %eax,%eax
41d6fe:	0f 84 fd 00 00 00    	je     0x41d801
41d704:	33 c9                	xor    %ecx,%ecx
41d706:	66 89 08             	mov    %cx,(%eax)
41d709:	e9 f3 00 00 00       	jmp    0x41d801
41d70e:	8b 75 14             	mov    0x14(%ebp),%esi
41d711:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
41d715:	75 07                	jne    0x41d71e
41d717:	8b ce                	mov    %esi,%ecx
41d719:	e8 a2 41 ff ff       	call   0x4118c0
41d71e:	8b 46 0c             	mov    0xc(%esi),%eax
41d721:	8b 48 08             	mov    0x8(%eax),%ecx
41d724:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41d727:	81 f9 e9 fd 00 00    	cmp    $0xfde9,%ecx
41d72d:	75 23                	jne    0x41d752
41d72f:	56                   	push   %esi
41d730:	68 e0 f7 43 00       	push   $0x43f7e0
41d735:	53                   	push   %ebx
41d736:	57                   	push   %edi
41d737:	ff 75 08             	push   0x8(%ebp)
41d73a:	e8 4b a6 00 00       	call   0x427d8a
41d73f:	83 c4 14             	add    $0x14,%esp
41d742:	85 c0                	test   %eax,%eax
41d744:	0f 89 b9 00 00 00    	jns    0x41d803
41d74a:	83 c8 ff             	or     $0xffffffff,%eax
41d74d:	e9 b1 00 00 00       	jmp    0x41d803
41d752:	33 d2                	xor    %edx,%edx
41d754:	39 90 a8 00 00 00    	cmp    %edx,0xa8(%eax)
41d75a:	75 13                	jne    0x41d76f
41d75c:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d75f:	85 c9                	test   %ecx,%ecx
41d761:	0f 84 87 00 00 00    	je     0x41d7ee
41d767:	0f b6 07             	movzbl (%edi),%eax
41d76a:	66 89 01             	mov    %ax,(%ecx)
41d76d:	eb 7f                	jmp    0x41d7ee
41d76f:	0f b6 0f             	movzbl (%edi),%ecx
41d772:	8b 00                	mov    (%eax),%eax
41d774:	66 39 14 48          	cmp    %dx,(%eax,%ecx,2)
41d778:	7d 54                	jge    0x41d7ce
41d77a:	8b 46 0c             	mov    0xc(%esi),%eax
41d77d:	8b 48 04             	mov    0x4(%eax),%ecx
41d780:	83 f9 01             	cmp    $0x1,%ecx
41d783:	7e 23                	jle    0x41d7a8
41d785:	3b d9                	cmp    %ecx,%ebx
41d787:	7c 1f                	jl     0x41d7a8
41d789:	33 c0                	xor    %eax,%eax
41d78b:	39 45 08             	cmp    %eax,0x8(%ebp)
41d78e:	0f 95 c0             	setne  %al
41d791:	50                   	push   %eax
41d792:	ff 75 08             	push   0x8(%ebp)
41d795:	51                   	push   %ecx
41d796:	57                   	push   %edi
41d797:	6a 09                	push   $0x9
41d799:	ff 75 fc             	push   -0x4(%ebp)
41d79c:	e8 07 30 00 00       	call   0x4207a8
41d7a1:	83 c4 18             	add    $0x18,%esp
41d7a4:	85 c0                	test   %eax,%eax
41d7a6:	75 0e                	jne    0x41d7b6
41d7a8:	8b 46 0c             	mov    0xc(%esi),%eax
41d7ab:	3b 58 04             	cmp    0x4(%eax),%ebx
41d7ae:	72 0e                	jb     0x41d7be
41d7b0:	80 7f 01 00          	cmpb   $0x0,0x1(%edi)
41d7b4:	74 08                	je     0x41d7be
41d7b6:	8b 46 0c             	mov    0xc(%esi),%eax
41d7b9:	8b 40 04             	mov    0x4(%eax),%eax
41d7bc:	eb 45                	jmp    0x41d803
41d7be:	c6 46 1c 01          	movb   $0x1,0x1c(%esi)
41d7c2:	c7 46 18 2a 00 00 00 	movl   $0x2a,0x18(%esi)
41d7c9:	e9 7c ff ff ff       	jmp    0x41d74a
41d7ce:	33 c0                	xor    %eax,%eax
41d7d0:	39 45 08             	cmp    %eax,0x8(%ebp)
41d7d3:	0f 95 c0             	setne  %al
41d7d6:	50                   	push   %eax
41d7d7:	ff 75 08             	push   0x8(%ebp)
41d7da:	6a 01                	push   $0x1
41d7dc:	57                   	push   %edi
41d7dd:	6a 09                	push   $0x9
41d7df:	ff 75 fc             	push   -0x4(%ebp)
41d7e2:	e8 c1 2f 00 00       	call   0x4207a8
41d7e7:	83 c4 18             	add    $0x18,%esp
41d7ea:	85 c0                	test   %eax,%eax
41d7ec:	74 d0                	je     0x41d7be
41d7ee:	33 c0                	xor    %eax,%eax
41d7f0:	40                   	inc    %eax
41d7f1:	eb 10                	jmp    0x41d803
41d7f3:	33 d2                	xor    %edx,%edx
41d7f5:	89 15 e0 f7 43 00    	mov    %edx,0x43f7e0
41d7fb:	89 15 e4 f7 43 00    	mov    %edx,0x43f7e4
41d801:	33 c0                	xor    %eax,%eax
41d803:	5f                   	pop    %edi
41d804:	5e                   	pop    %esi
41d805:	5b                   	pop    %ebx
41d806:	c9                   	leave
41d807:	c3                   	ret
41d808:	8b ff                	mov    %edi,%edi
41d80a:	55                   	push   %ebp
41d80b:	8b ec                	mov    %esp,%ebp
41d80d:	83 ec 28             	sub    $0x28,%esp
41d810:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41d813:	56                   	push   %esi
41d814:	ff 75 14             	push   0x14(%ebp)
41d817:	e8 c6 f8 fe ff       	call   0x40d0e2
41d81c:	8d 45 d8             	lea    -0x28(%ebp),%eax
41d81f:	50                   	push   %eax
41d820:	ff 75 10             	push   0x10(%ebp)
41d823:	ff 75 0c             	push   0xc(%ebp)
41d826:	ff 75 08             	push   0x8(%ebp)
41d829:	e8 a7 fe ff ff       	call   0x41d6d5
41d82e:	83 c4 10             	add    $0x10,%esp
41d831:	8d 4d d8             	lea    -0x28(%ebp),%ecx
41d834:	8b f0                	mov    %eax,%esi
41d836:	e8 ef f8 fe ff       	call   0x40d12a
41d83b:	8b c6                	mov    %esi,%eax
41d83d:	5e                   	pop    %esi
41d83e:	c9                   	leave
41d83f:	c3                   	ret
41d840:	8b ff                	mov    %edi,%edi
41d842:	55                   	push   %ebp
41d843:	8b ec                	mov    %esp,%ebp
41d845:	8b 45 08             	mov    0x8(%ebp),%eax
41d848:	85 c0                	test   %eax,%eax
41d84a:	75 15                	jne    0x41d861
41d84c:	e8 20 ee ff ff       	call   0x41c671
41d851:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
41d857:	e8 92 fb fe ff       	call   0x40d3ee
41d85c:	83 c8 ff             	or     $0xffffffff,%eax
41d85f:	5d                   	pop    %ebp
41d860:	c3                   	ret
41d861:	8b 40 10             	mov    0x10(%eax),%eax
41d864:	90                   	nop
41d865:	5d                   	pop    %ebp
41d866:	c3                   	ret
41d867:	a1 e8 f7 43 00       	mov    0x43f7e8,%eax
41d86c:	56                   	push   %esi
41d86d:	6a 03                	push   $0x3
41d86f:	5e                   	pop    %esi
41d870:	85 c0                	test   %eax,%eax
41d872:	75 07                	jne    0x41d87b
41d874:	b8 00 02 00 00       	mov    $0x200,%eax
41d879:	eb 06                	jmp    0x41d881
41d87b:	3b c6                	cmp    %esi,%eax
41d87d:	7d 07                	jge    0x41d886
41d87f:	8b c6                	mov    %esi,%eax
41d881:	a3 e8 f7 43 00       	mov    %eax,0x43f7e8
41d886:	6a 04                	push   $0x4
41d888:	50                   	push   %eax
41d889:	e8 22 93 fe ff       	call   0x406bb0
41d88e:	6a 00                	push   $0x0
41d890:	a3 ec f7 43 00       	mov    %eax,0x43f7ec
41d895:	e8 76 93 fe ff       	call   0x406c10
41d89a:	83 c4 0c             	add    $0xc,%esp
41d89d:	83 3d ec f7 43 00 00 	cmpl   $0x0,0x43f7ec
41d8a4:	75 2b                	jne    0x41d8d1
41d8a6:	6a 04                	push   $0x4
41d8a8:	56                   	push   %esi
41d8a9:	89 35 e8 f7 43 00    	mov    %esi,0x43f7e8
41d8af:	e8 fc 92 fe ff       	call   0x406bb0
41d8b4:	6a 00                	push   $0x0
41d8b6:	a3 ec f7 43 00       	mov    %eax,0x43f7ec
41d8bb:	e8 50 93 fe ff       	call   0x406c10
41d8c0:	83 c4 0c             	add    $0xc,%esp
41d8c3:	83 3d ec f7 43 00 00 	cmpl   $0x0,0x43f7ec
41d8ca:	75 05                	jne    0x41d8d1
41d8cc:	83 c8 ff             	or     $0xffffffff,%eax
41d8cf:	5e                   	pop    %esi
41d8d0:	c3                   	ret
41d8d1:	57                   	push   %edi
41d8d2:	33 ff                	xor    %edi,%edi
41d8d4:	be 28 d2 43 00       	mov    $0x43d228,%esi
41d8d9:	6a 00                	push   $0x0
41d8db:	68 a0 0f 00 00       	push   $0xfa0
41d8e0:	8d 46 20             	lea    0x20(%esi),%eax
41d8e3:	50                   	push   %eax
41d8e4:	e8 df 0c 00 00       	call   0x41e5c8
41d8e9:	a1 ec f7 43 00       	mov    0x43f7ec,%eax
41d8ee:	8b d7                	mov    %edi,%edx
41d8f0:	c1 fa 06             	sar    $0x6,%edx
41d8f3:	89 34 b8             	mov    %esi,(%eax,%edi,4)
41d8f6:	8b c7                	mov    %edi,%eax
41d8f8:	83 e0 3f             	and    $0x3f,%eax
41d8fb:	6b c8 38             	imul   $0x38,%eax,%ecx
41d8fe:	8b 04 95 00 f8 43 00 	mov    0x43f800(,%edx,4),%eax
41d905:	8b 44 08 18          	mov    0x18(%eax,%ecx,1),%eax
41d909:	83 f8 ff             	cmp    $0xffffffff,%eax
41d90c:	74 09                	je     0x41d917
41d90e:	83 f8 fe             	cmp    $0xfffffffe,%eax
41d911:	74 04                	je     0x41d917
41d913:	85 c0                	test   %eax,%eax
41d915:	75 07                	jne    0x41d91e
41d917:	c7 46 10 fe ff ff ff 	movl   $0xfffffffe,0x10(%esi)
41d91e:	83 c6 38             	add    $0x38,%esi
41d921:	47                   	inc    %edi
41d922:	81 fe d0 d2 43 00    	cmp    $0x43d2d0,%esi
41d928:	75 af                	jne    0x41d8d9
41d92a:	5f                   	pop    %edi
41d92b:	33 c0                	xor    %eax,%eax
41d92d:	5e                   	pop    %esi
41d92e:	c3                   	ret
41d92f:	8b ff                	mov    %edi,%edi
41d931:	55                   	push   %ebp
41d932:	8b ec                	mov    %esp,%ebp
41d934:	6b 45 08 38          	imul   $0x38,0x8(%ebp),%eax
41d938:	05 28 d2 43 00       	add    $0x43d228,%eax
41d93d:	5d                   	pop    %ebp
41d93e:	c3                   	ret
41d93f:	8b ff                	mov    %edi,%edi
41d941:	56                   	push   %esi
41d942:	e8 2b 26 00 00       	call   0x41ff72
41d947:	e8 89 a5 00 00       	call   0x427ed5
41d94c:	33 f6                	xor    %esi,%esi
41d94e:	a1 ec f7 43 00       	mov    0x43f7ec,%eax
41d953:	ff 34 06             	push   (%esi,%eax,1)
41d956:	e8 d0 22 00 00       	call   0x41fc2b
41d95b:	a1 ec f7 43 00       	mov    0x43f7ec,%eax
41d960:	59                   	pop    %ecx
41d961:	8b 04 06             	mov    (%esi,%eax,1),%eax
41d964:	83 c0 20             	add    $0x20,%eax
41d967:	50                   	push   %eax
41d968:	ff 15 1c 11 43 00    	call   *0x43111c
41d96e:	83 c6 04             	add    $0x4,%esi
41d971:	83 fe 0c             	cmp    $0xc,%esi
41d974:	75 d8                	jne    0x41d94e
41d976:	ff 35 ec f7 43 00    	push   0x43f7ec
41d97c:	e8 8f 92 fe ff       	call   0x406c10
41d981:	83 25 ec f7 43 00 00 	andl   $0x0,0x43f7ec
41d988:	59                   	pop    %ecx
41d989:	5e                   	pop    %esi
41d98a:	c3                   	ret
41d98b:	8b ff                	mov    %edi,%edi
41d98d:	55                   	push   %ebp
41d98e:	8b ec                	mov    %esp,%ebp
41d990:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d993:	85 c9                	test   %ecx,%ecx
41d995:	75 15                	jne    0x41d9ac
41d997:	e8 d5 ec ff ff       	call   0x41c671
41d99c:	c7 00 16 00 00 00    	movl   $0x16,(%eax)