41d5e5:	eb a5                	jmp    0x41d58c
41d5e7:	33 c0                	xor    %eax,%eax
41d5e9:	39 43 60             	cmp    %eax,0x60(%ebx)
41d5ec:	75 39                	jne    0x41d627
41d5ee:	39 43 5c             	cmp    %eax,0x5c(%ebx)
41d5f1:	74 34                	je     0x41d627
41d5f3:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d5f9:	50                   	push   %eax
41d5fa:	ff 73 50             	push   0x50(%ebx)
41d5fd:	e8 dd cd ff ff       	call   0x41a3df
41d602:	59                   	pop    %ecx
41d603:	59                   	pop    %ecx
41d604:	85 c0                	test   %eax,%eax
41d606:	75 1f                	jne    0x41d627
41d608:	57                   	push   %edi
41d609:	33 db                	xor    %ebx,%ebx
41d60b:	53                   	push   %ebx
41d60c:	56                   	push   %esi
41d60d:	e8 63 02 00 00       	call   0x41d875
41d612:	83 c4 0c             	add    $0xc,%esp
41d615:	85 c0                	test   %eax,%eax
41d617:	74 0e                	je     0x41d627
41d619:	81 0f 00 01 00 00    	orl    $0x100,(%edi)
41d61f:	39 5f 04             	cmp    %ebx,0x4(%edi)
41d622:	75 03                	jne    0x41d627
41d624:	89 77 04             	mov    %esi,0x4(%edi)
41d627:	8b 07                	mov    (%edi),%eax
41d629:	c1 e8 02             	shr    $0x2,%eax
41d62c:	f7 d0                	not    %eax
41d62e:	83 e0 01             	and    $0x1,%eax
41d631:	eb 05                	jmp    0x41d638
41d633:	33 c0                	xor    %eax,%eax
41d635:	89 07                	mov    %eax,(%edi)
41d637:	40                   	inc    %eax
41d638:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d63b:	5f                   	pop    %edi
41d63c:	5e                   	pop    %esi
41d63d:	33 cd                	xor    %ebp,%ecx
41d63f:	5b                   	pop    %ebx
41d640:	e8 c7 9d fe ff       	call   0x40740c
41d645:	c9                   	leave
41d646:	c2 04 00             	ret    $0x4
41d649:	8b ff                	mov    %edi,%edi
41d64b:	55                   	push   %ebp
41d64c:	8b ec                	mov    %esp,%ebp
41d64e:	81 ec f4 00 00 00    	sub    $0xf4,%esp
41d654:	a1 14 30 43 00       	mov    0x433014,%eax
41d659:	33 c5                	xor    %ebp,%eax
41d65b:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d65e:	53                   	push   %ebx
41d65f:	56                   	push   %esi
41d660:	8b 75 08             	mov    0x8(%ebp),%esi
41d663:	57                   	push   %edi
41d664:	e8 6a 6b ff ff       	call   0x4141d3
41d669:	8b d8                	mov    %eax,%ebx
41d66b:	e8 63 6b ff ff       	call   0x4141d3
41d670:	56                   	push   %esi
41d671:	8b b8 4c 03 00 00    	mov    0x34c(%eax),%edi
41d677:	e8 a2 00 00 00       	call   0x41d71e
41d67c:	59                   	pop    %ecx
41d67d:	8b 4b 60             	mov    0x60(%ebx),%ecx
41d680:	8b f0                	mov    %eax,%esi
41d682:	f7 d9                	neg    %ecx
41d684:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d68a:	6a 78                	push   $0x78
41d68c:	1b c9                	sbb    %ecx,%ecx
41d68e:	81 e1 02 f0 ff ff    	and    $0xfffff002,%ecx
41d694:	50                   	push   %eax
41d695:	81 c1 01 10 00 00    	add    $0x1001,%ecx
41d69b:	51                   	push   %ecx
41d69c:	56                   	push   %esi
41d69d:	ff 15 dc 40 42 00    	call   *0x4240dc
41d6a3:	85 c0                	test   %eax,%eax
41d6a5:	75 05                	jne    0x41d6ac
41d6a7:	21 07                	and    %eax,(%edi)
41d6a9:	40                   	inc    %eax
41d6aa:	eb 61                	jmp    0x41d70d
41d6ac:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d6b2:	50                   	push   %eax
41d6b3:	ff 73 50             	push   0x50(%ebx)
41d6b6:	e8 24 cd ff ff       	call   0x41a3df
41d6bb:	59                   	pop    %ecx
41d6bc:	59                   	pop    %ecx
41d6bd:	8b 4b 60             	mov    0x60(%ebx),%ecx
41d6c0:	85 c0                	test   %eax,%eax
41d6c2:	75 09                	jne    0x41d6cd
41d6c4:	85 c9                	test   %ecx,%ecx
41d6c6:	75 32                	jne    0x41d6fa
41d6c8:	57                   	push   %edi
41d6c9:	6a 01                	push   $0x1
41d6cb:	eb 20                	jmp    0x41d6ed
41d6cd:	85 c9                	test   %ecx,%ecx
41d6cf:	75 32                	jne    0x41d703
41d6d1:	39 4b 5c             	cmp    %ecx,0x5c(%ebx)
41d6d4:	74 2d                	je     0x41d703
41d6d6:	8d 85 0c ff ff ff    	lea    -0xf4(%ebp),%eax
41d6dc:	50                   	push   %eax
41d6dd:	ff 73 50             	push   0x50(%ebx)
41d6e0:	e8 fa cc ff ff       	call   0x41a3df
41d6e5:	59                   	pop    %ecx
41d6e6:	59                   	pop    %ecx
41d6e7:	85 c0                	test   %eax,%eax
41d6e9:	75 18                	jne    0x41d703
41d6eb:	57                   	push   %edi
41d6ec:	50                   	push   %eax
41d6ed:	56                   	push   %esi
41d6ee:	e8 82 01 00 00       	call   0x41d875
41d6f3:	83 c4 0c             	add    $0xc,%esp
41d6f6:	85 c0                	test   %eax,%eax
41d6f8:	74 09                	je     0x41d703
41d6fa:	83 0f 04             	orl    $0x4,(%edi)
41d6fd:	89 77 04             	mov    %esi,0x4(%edi)
41d700:	89 77 08             	mov    %esi,0x8(%edi)
41d703:	8b 07                	mov    (%edi),%eax
41d705:	c1 e8 02             	shr    $0x2,%eax
41d708:	f7 d0                	not    %eax
41d70a:	83 e0 01             	and    $0x1,%eax
41d70d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d710:	5f                   	pop    %edi
41d711:	5e                   	pop    %esi
41d712:	33 cd                	xor    %ebp,%ecx
41d714:	5b                   	pop    %ebx
41d715:	e8 f2 9c fe ff       	call   0x40740c
41d71a:	c9                   	leave
41d71b:	c2 04 00             	ret    $0x4
41d71e:	8b ff                	mov    %edi,%edi
41d720:	55                   	push   %ebp
41d721:	8b ec                	mov    %esp,%ebp
41d723:	8b 55 08             	mov    0x8(%ebp),%edx
41d726:	56                   	push   %esi
41d727:	33 f6                	xor    %esi,%esi
41d729:	0f b7 0a             	movzwl (%edx),%ecx
41d72c:	66 85 c9             	test   %cx,%cx
41d72f:	74 39                	je     0x41d76a
41d731:	57                   	push   %edi
41d732:	6a 05                	push   $0x5
41d734:	5f                   	pop    %edi
41d735:	8d 41 9f             	lea    -0x61(%ecx),%eax
41d738:	8d 52 02             	lea    0x2(%edx),%edx
41d73b:	66 3b c7             	cmp    %di,%ax
41d73e:	77 08                	ja     0x41d748
41d740:	81 c1 d9 ff 00 00    	add    $0xffd9,%ecx
41d746:	eb 0e                	jmp    0x41d756
41d748:	8d 41 bf             	lea    -0x41(%ecx),%eax
41d74b:	66 3b c7             	cmp    %di,%ax
41d74e:	77 06                	ja     0x41d756
41d750:	81 c1 f9 ff 00 00    	add    $0xfff9,%ecx
41d756:	0f b7 c9             	movzwl %cx,%ecx
41d759:	83 c1 d0             	add    $0xffffffd0,%ecx
41d75c:	c1 e6 04             	shl    $0x4,%esi
41d75f:	03 f1                	add    %ecx,%esi
41d761:	0f b7 0a             	movzwl (%edx),%ecx
41d764:	66 85 c9             	test   %cx,%cx
41d767:	75 cc                	jne    0x41d735
41d769:	5f                   	pop    %edi
41d76a:	8b c6                	mov    %esi,%eax
41d76c:	5e                   	pop    %esi
41d76d:	5d                   	pop    %ebp
41d76e:	c3                   	ret
41d76f:	8b ff                	mov    %edi,%edi
41d771:	55                   	push   %ebp
41d772:	8b ec                	mov    %esp,%ebp
41d774:	51                   	push   %ecx
41d775:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d778:	56                   	push   %esi
41d779:	57                   	push   %edi
41d77a:	85 c9                	test   %ecx,%ecx
41d77c:	0f 84 9e 00 00 00    	je     0x41d820
41d782:	33 c0                	xor    %eax,%eax
41d784:	66 39 01             	cmp    %ax,(%ecx)
41d787:	0f 84 93 00 00 00    	je     0x41d820
41d78d:	be b0 93 42 00       	mov    $0x4293b0,%esi
41d792:	8b d1                	mov    %ecx,%edx
41d794:	66 8b 3a             	mov    (%edx),%di
41d797:	66 3b 3e             	cmp    (%esi),%di
41d79a:	75 1e                	jne    0x41d7ba
41d79c:	66 85 ff             	test   %di,%di
41d79f:	74 15                	je     0x41d7b6
41d7a1:	66 8b 7a 02          	mov    0x2(%edx),%di
41d7a5:	66 3b 7e 02          	cmp    0x2(%esi),%di
41d7a9:	75 0f                	jne    0x41d7ba
41d7ab:	83 c2 04             	add    $0x4,%edx
41d7ae:	83 c6 04             	add    $0x4,%esi
41d7b1:	66 85 ff             	test   %di,%di
41d7b4:	75 de                	jne    0x41d794
41d7b6:	8b d0                	mov    %eax,%edx
41d7b8:	eb 05                	jmp    0x41d7bf
41d7ba:	1b d2                	sbb    %edx,%edx
41d7bc:	83 ca 01             	or     $0x1,%edx
41d7bf:	85 d2                	test   %edx,%edx
41d7c1:	74 5d                	je     0x41d820
41d7c3:	be c4 93 42 00       	mov    $0x4293c4,%esi
41d7c8:	8b d1                	mov    %ecx,%edx
41d7ca:	66 8b 3a             	mov    (%edx),%di
41d7cd:	66 3b 3e             	cmp    (%esi),%di
41d7d0:	75 1c                	jne    0x41d7ee
41d7d2:	66 85 ff             	test   %di,%di
41d7d5:	74 1c                	je     0x41d7f3
41d7d7:	66 8b 7a 02          	mov    0x2(%edx),%di
41d7db:	66 3b 7e 02          	cmp    0x2(%esi),%di
41d7df:	75 0d                	jne    0x41d7ee
41d7e1:	83 c2 04             	add    $0x4,%edx
41d7e4:	83 c6 04             	add    $0x4,%esi
41d7e7:	66 85 ff             	test   %di,%di
41d7ea:	75 de                	jne    0x41d7ca
41d7ec:	eb 05                	jmp    0x41d7f3
41d7ee:	1b c0                	sbb    %eax,%eax
41d7f0:	83 c8 01             	or     $0x1,%eax
41d7f3:	85 c0                	test   %eax,%eax
41d7f5:	75 20                	jne    0x41d817
41d7f7:	6a 02                	push   $0x2
41d7f9:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d7fc:	50                   	push   %eax
41d7fd:	8b 45 0c             	mov    0xc(%ebp),%eax
41d800:	68 0b 00 00 20       	push   $0x2000000b
41d805:	ff 70 08             	push   0x8(%eax)
41d808:	ff 15 dc 40 42 00    	call   *0x4240dc
41d80e:	85 c0                	test   %eax,%eax
41d810:	74 29                	je     0x41d83b
41d812:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d815:	eb 35                	jmp    0x41d84c
41d817:	51                   	push   %ecx
41d818:	e8 e7 53 ff ff       	call   0x412c04
41d81d:	59                   	pop    %ecx
41d81e:	eb 2c                	jmp    0x41d84c
41d820:	6a 02                	push   $0x2
41d822:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d825:	50                   	push   %eax
41d826:	8b 45 0c             	mov    0xc(%ebp),%eax
41d829:	68 04 10 00 20       	push   $0x20001004
41d82e:	ff 70 08             	push   0x8(%eax)
41d831:	ff 15 dc 40 42 00    	call   *0x4240dc
41d837:	85 c0                	test   %eax,%eax
41d839:	75 04                	jne    0x41d83f
41d83b:	33 c0                	xor    %eax,%eax
41d83d:	eb 0d                	jmp    0x41d84c
41d83f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41d842:	85 c0                	test   %eax,%eax
41d844:	75 06                	jne    0x41d84c
41d846:	ff 15 24 41 42 00    	call   *0x424124
41d84c:	5f                   	pop    %edi
41d84d:	5e                   	pop    %esi
41d84e:	c9                   	leave
41d84f:	c3                   	ret
41d850:	8b ff                	mov    %edi,%edi
41d852:	55                   	push   %ebp
41d853:	8b ec                	mov    %esp,%ebp
41d855:	0f b7 4d 08          	movzwl 0x8(%ebp),%ecx
41d859:	33 c0                	xor    %eax,%eax
41d85b:	66 3b 88 cc 93 42 00 	cmp    0x4293cc(%eax),%cx
41d862:	74 0d                	je     0x41d871
41d864:	83 c0 02             	add    $0x2,%eax
41d867:	83 f8 14             	cmp    $0x14,%eax
41d86a:	72 ef                	jb     0x41d85b
41d86c:	33 c0                	xor    %eax,%eax
41d86e:	40                   	inc    %eax
41d86f:	5d                   	pop    %ebp
41d870:	c3                   	ret
41d871:	33 c0                	xor    %eax,%eax
41d873:	5d                   	pop    %ebp
41d874:	c3                   	ret
41d875:	8b ff                	mov    %edi,%edi
41d877:	55                   	push   %ebp
41d878:	8b ec                	mov    %esp,%ebp
41d87a:	51                   	push   %ecx
41d87b:	56                   	push   %esi
41d87c:	57                   	push   %edi
41d87d:	e8 51 69 ff ff       	call   0x4141d3
41d882:	8b 75 08             	mov    0x8(%ebp),%esi
41d885:	8b f8                	mov    %eax,%edi
41d887:	6a 02                	push   $0x2
41d889:	8d 45 fc             	lea    -0x4(%ebp),%eax
41d88c:	8b ce                	mov    %esi,%ecx
41d88e:	50                   	push   %eax
41d88f:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
41d895:	68 01 00 00 20       	push   $0x20000001
41d89a:	81 c9 00 04 00 00    	or     $0x400,%ecx
41d8a0:	51                   	push   %ecx
41d8a1:	ff 15 dc 40 42 00    	call   *0x4240dc
41d8a7:	85 c0                	test   %eax,%eax
41d8a9:	74 32                	je     0x41d8dd
41d8ab:	3b 75 fc             	cmp    -0x4(%ebp),%esi
41d8ae:	74 28                	je     0x41d8d8
41d8b0:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
41d8b4:	74 22                	je     0x41d8d8
41d8b6:	8b 77 50             	mov    0x50(%edi),%esi
41d8b9:	8d 4e 02             	lea    0x2(%esi),%ecx
41d8bc:	66 8b 06             	mov    (%esi),%ax
41d8bf:	83 c6 02             	add    $0x2,%esi
41d8c2:	66 85 c0             	test   %ax,%ax
41d8c5:	75 f5                	jne    0x41d8bc
41d8c7:	ff 77 50             	push   0x50(%edi)
41d8ca:	2b f1                	sub    %ecx,%esi
41d8cc:	d1 fe                	sar    $1,%esi
41d8ce:	e8 f7 fa ff ff       	call   0x41d3ca
41d8d3:	59                   	pop    %ecx
41d8d4:	3b c6                	cmp    %esi,%eax
41d8d6:	74 05                	je     0x41d8dd
41d8d8:	33 c0                	xor    %eax,%eax
41d8da:	40                   	inc    %eax
41d8db:	eb 02                	jmp    0x41d8df
41d8dd:	33 c0                	xor    %eax,%eax
41d8df:	5f                   	pop    %edi
41d8e0:	5e                   	pop    %esi
41d8e1:	c9                   	leave
41d8e2:	c3                   	ret
41d8e3:	8b ff                	mov    %edi,%edi
41d8e5:	55                   	push   %ebp
41d8e6:	8b ec                	mov    %esp,%ebp
41d8e8:	51                   	push   %ecx
41d8e9:	53                   	push   %ebx
41d8ea:	56                   	push   %esi
41d8eb:	8b 75 0c             	mov    0xc(%ebp),%esi
41d8ee:	57                   	push   %edi
41d8ef:	33 ff                	xor    %edi,%edi
41d8f1:	85 f6                	test   %esi,%esi
41d8f3:	78 34                	js     0x41d929
41d8f5:	8d 04 37             	lea    (%edi,%esi,1),%eax
41d8f8:	99                   	cltd
41d8f9:	2b c2                	sub    %edx,%eax
41d8fb:	8b d8                	mov    %eax,%ebx
41d8fd:	8b 45 08             	mov    0x8(%ebp),%eax
41d900:	d1 fb                	sar    $1,%ebx
41d902:	6b cb 0c             	imul   $0xc,%ebx,%ecx
41d905:	89 4d fc             	mov    %ecx,-0x4(%ebp)
41d908:	ff 34 01             	push   (%ecx,%eax,1)
41d90b:	8b 45 10             	mov    0x10(%ebp),%eax
41d90e:	ff 30                	push   (%eax)
41d910:	e8 ca ca ff ff       	call   0x41a3df
41d915:	59                   	pop    %ecx
41d916:	59                   	pop    %ecx
41d917:	85 c0                	test   %eax,%eax
41d919:	74 15                	je     0x41d930
41d91b:	79 05                	jns    0x41d922
41d91d:	8d 73 ff             	lea    -0x1(%ebx),%esi
41d920:	eb 03                	jmp    0x41d925
41d922:	8d 7b 01             	lea    0x1(%ebx),%edi
41d925:	3b fe                	cmp    %esi,%edi
41d927:	7e cc                	jle    0x41d8f5
41d929:	32 c0                	xor    %al,%al
41d92b:	5f                   	pop    %edi
41d92c:	5e                   	pop    %esi
41d92d:	5b                   	pop    %ebx
41d92e:	c9                   	leave
41d92f:	c3                   	ret
41d930:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41d933:	8b 45 08             	mov    0x8(%ebp),%eax
41d936:	83 c1 04             	add    $0x4,%ecx
41d939:	03 c1                	add    %ecx,%eax
41d93b:	8b 4d 10             	mov    0x10(%ebp),%ecx