40b58a:	f7 75 10             	divl   0x10(%ebp)
40b58d:	3b c8                	cmp    %eax,%ecx
40b58f:	73 2a                	jae    0x40b5bb
40b591:	0f af 4d 10          	imul   0x10(%ebp),%ecx
40b595:	c1 e6 02             	shl    $0x2,%esi
40b598:	8b c6                	mov    %esi,%eax
40b59a:	f7 d0                	not    %eax
40b59c:	3b c1                	cmp    %ecx,%eax
40b59e:	76 1b                	jbe    0x40b5bb
40b5a0:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
40b5a3:	6a 01                	push   $0x1
40b5a5:	50                   	push   %eax
40b5a6:	e8 3b 37 00 00       	call   0x40ece6
40b5ab:	6a 00                	push   $0x0
40b5ad:	8b f0                	mov    %eax,%esi
40b5af:	e8 8f 37 00 00       	call   0x40ed43
40b5b4:	83 c4 0c             	add    $0xc,%esp
40b5b7:	8b c6                	mov    %esi,%eax
40b5b9:	eb 02                	jmp    0x40b5bd
40b5bb:	33 c0                	xor    %eax,%eax
40b5bd:	5e                   	pop    %esi
40b5be:	5d                   	pop    %ebp
40b5bf:	c3                   	ret
40b5c0:	8b ff                	mov    %edi,%edi
40b5c2:	55                   	push   %ebp
40b5c3:	8b ec                	mov    %esp,%ebp
40b5c5:	5d                   	pop    %ebp
40b5c6:	e9 fc fc ff ff       	jmp    0x40b2c7
40b5cb:	83 3d 48 6e 42 00 00 	cmpl   $0x0,0x426e48
40b5d2:	74 03                	je     0x40b5d7
40b5d4:	33 c0                	xor    %eax,%eax
40b5d6:	c3                   	ret
40b5d7:	56                   	push   %esi
40b5d8:	57                   	push   %edi
40b5d9:	e8 92 46 00 00       	call   0x40fc70
40b5de:	e8 50 4b 00 00       	call   0x410133
40b5e3:	8b f0                	mov    %eax,%esi
40b5e5:	85 f6                	test   %esi,%esi
40b5e7:	75 05                	jne    0x40b5ee
40b5e9:	83 cf ff             	or     $0xffffffff,%edi
40b5ec:	eb 24                	jmp    0x40b612
40b5ee:	56                   	push   %esi
40b5ef:	e8 2a 00 00 00       	call   0x40b61e
40b5f4:	59                   	pop    %ecx
40b5f5:	85 c0                	test   %eax,%eax
40b5f7:	75 05                	jne    0x40b5fe
40b5f9:	83 cf ff             	or     $0xffffffff,%edi
40b5fc:	eb 0c                	jmp    0x40b60a
40b5fe:	a3 54 6e 42 00       	mov    %eax,0x426e54
40b603:	33 ff                	xor    %edi,%edi
40b605:	a3 48 6e 42 00       	mov    %eax,0x426e48
40b60a:	6a 00                	push   $0x0
40b60c:	e8 32 37 00 00       	call   0x40ed43
40b611:	59                   	pop    %ecx
40b612:	56                   	push   %esi
40b613:	e8 2b 37 00 00       	call   0x40ed43
40b618:	59                   	pop    %ecx
40b619:	8b c7                	mov    %edi,%eax
40b61b:	5f                   	pop    %edi
40b61c:	5e                   	pop    %esi
40b61d:	c3                   	ret
40b61e:	8b ff                	mov    %edi,%edi
40b620:	55                   	push   %ebp
40b621:	8b ec                	mov    %esp,%ebp
40b623:	51                   	push   %ecx
40b624:	51                   	push   %ecx
40b625:	53                   	push   %ebx
40b626:	8b 5d 08             	mov    0x8(%ebp),%ebx
40b629:	33 d2                	xor    %edx,%edx
40b62b:	56                   	push   %esi
40b62c:	57                   	push   %edi
40b62d:	8b f3                	mov    %ebx,%esi
40b62f:	8a 03                	mov    (%ebx),%al
40b631:	eb 18                	jmp    0x40b64b
40b633:	3c 3d                	cmp    $0x3d,%al
40b635:	74 01                	je     0x40b638
40b637:	42                   	inc    %edx
40b638:	8b ce                	mov    %esi,%ecx
40b63a:	8d 79 01             	lea    0x1(%ecx),%edi
40b63d:	8a 01                	mov    (%ecx),%al
40b63f:	41                   	inc    %ecx
40b640:	84 c0                	test   %al,%al
40b642:	75 f9                	jne    0x40b63d
40b644:	2b cf                	sub    %edi,%ecx
40b646:	46                   	inc    %esi
40b647:	03 f1                	add    %ecx,%esi
40b649:	8a 06                	mov    (%esi),%al
40b64b:	84 c0                	test   %al,%al
40b64d:	75 e4                	jne    0x40b633
40b64f:	8d 42 01             	lea    0x1(%edx),%eax
40b652:	6a 04                	push   $0x4
40b654:	50                   	push   %eax
40b655:	e8 8c 36 00 00       	call   0x40ece6
40b65a:	8b f8                	mov    %eax,%edi
40b65c:	59                   	pop    %ecx
40b65d:	59                   	pop    %ecx
40b65e:	85 ff                	test   %edi,%edi
40b660:	74 6e                	je     0x40b6d0
40b662:	89 7d fc             	mov    %edi,-0x4(%ebp)
40b665:	eb 52                	jmp    0x40b6b9
40b667:	8b cb                	mov    %ebx,%ecx
40b669:	8d 71 01             	lea    0x1(%ecx),%esi
40b66c:	8a 01                	mov    (%ecx),%al
40b66e:	41                   	inc    %ecx
40b66f:	84 c0                	test   %al,%al
40b671:	75 f9                	jne    0x40b66c
40b673:	2b ce                	sub    %esi,%ecx
40b675:	8d 41 01             	lea    0x1(%ecx),%eax
40b678:	89 45 f8             	mov    %eax,-0x8(%ebp)
40b67b:	80 fa 3d             	cmp    $0x3d,%dl
40b67e:	74 37                	je     0x40b6b7
40b680:	6a 01                	push   $0x1
40b682:	50                   	push   %eax
40b683:	e8 5e 36 00 00       	call   0x40ece6
40b688:	8b f0                	mov    %eax,%esi
40b68a:	59                   	pop    %ecx
40b68b:	59                   	pop    %ecx
40b68c:	85 f6                	test   %esi,%esi
40b68e:	74 31                	je     0x40b6c1
40b690:	53                   	push   %ebx
40b691:	ff 75 f8             	push   -0x8(%ebp)
40b694:	56                   	push   %esi
40b695:	e8 07 0c 00 00       	call   0x40c2a1
40b69a:	83 c4 0c             	add    $0xc,%esp
40b69d:	85 c0                	test   %eax,%eax
40b69f:	75 40                	jne    0x40b6e1
40b6a1:	8b 45 fc             	mov    -0x4(%ebp),%eax
40b6a4:	6a 00                	push   $0x0
40b6a6:	89 30                	mov    %esi,(%eax)
40b6a8:	83 c0 04             	add    $0x4,%eax
40b6ab:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b6ae:	e8 90 36 00 00       	call   0x40ed43
40b6b3:	8b 45 f8             	mov    -0x8(%ebp),%eax
40b6b6:	59                   	pop    %ecx
40b6b7:	03 d8                	add    %eax,%ebx
40b6b9:	8a 13                	mov    (%ebx),%dl
40b6bb:	84 d2                	test   %dl,%dl
40b6bd:	75 a8                	jne    0x40b667
40b6bf:	eb 11                	jmp    0x40b6d2
40b6c1:	57                   	push   %edi
40b6c2:	e8 27 00 00 00       	call   0x40b6ee
40b6c7:	6a 00                	push   $0x0
40b6c9:	e8 75 36 00 00       	call   0x40ed43
40b6ce:	59                   	pop    %ecx
40b6cf:	59                   	pop    %ecx
40b6d0:	33 ff                	xor    %edi,%edi
40b6d2:	6a 00                	push   $0x0
40b6d4:	e8 6a 36 00 00       	call   0x40ed43
40b6d9:	59                   	pop    %ecx
40b6da:	8b c7                	mov    %edi,%eax
40b6dc:	5f                   	pop    %edi
40b6dd:	5e                   	pop    %esi
40b6de:	5b                   	pop    %ebx
40b6df:	c9                   	leave
40b6e0:	c3                   	ret
40b6e1:	33 c0                	xor    %eax,%eax
40b6e3:	50                   	push   %eax
40b6e4:	50                   	push   %eax
40b6e5:	50                   	push   %eax
40b6e6:	50                   	push   %eax
40b6e7:	50                   	push   %eax
40b6e8:	e8 39 35 00 00       	call   0x40ec26
40b6ed:	cc                   	int3
40b6ee:	8b ff                	mov    %edi,%edi
40b6f0:	55                   	push   %ebp
40b6f1:	8b ec                	mov    %esp,%ebp
40b6f3:	56                   	push   %esi
40b6f4:	8b 75 08             	mov    0x8(%ebp),%esi
40b6f7:	85 f6                	test   %esi,%esi
40b6f9:	74 1f                	je     0x40b71a
40b6fb:	8b 06                	mov    (%esi),%eax
40b6fd:	57                   	push   %edi
40b6fe:	8b fe                	mov    %esi,%edi
40b700:	eb 0c                	jmp    0x40b70e
40b702:	50                   	push   %eax
40b703:	e8 3b 36 00 00       	call   0x40ed43
40b708:	8d 7f 04             	lea    0x4(%edi),%edi
40b70b:	8b 07                	mov    (%edi),%eax
40b70d:	59                   	pop    %ecx
40b70e:	85 c0                	test   %eax,%eax
40b710:	75 f0                	jne    0x40b702
40b712:	56                   	push   %esi
40b713:	e8 2b 36 00 00       	call   0x40ed43
40b718:	59                   	pop    %ecx
40b719:	5f                   	pop    %edi
40b71a:	5e                   	pop    %esi
40b71b:	5d                   	pop    %ebp
40b71c:	c3                   	ret
40b71d:	8b ff                	mov    %edi,%edi
40b71f:	55                   	push   %ebp
40b720:	8b ec                	mov    %esp,%ebp
40b722:	56                   	push   %esi
40b723:	8b f1                	mov    %ecx,%esi
40b725:	57                   	push   %edi
40b726:	8d 7e 04             	lea    0x4(%esi),%edi
40b729:	eb 11                	jmp    0x40b73c
40b72b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40b72e:	56                   	push   %esi
40b72f:	ff 15 50 c2 41 00    	call   *0x41c250
40b735:	ff 55 08             	call   *0x8(%ebp)
40b738:	59                   	pop    %ecx
40b739:	83 c6 04             	add    $0x4,%esi
40b73c:	3b f7                	cmp    %edi,%esi
40b73e:	75 eb                	jne    0x40b72b
40b740:	5f                   	pop    %edi
40b741:	5e                   	pop    %esi
40b742:	5d                   	pop    %ebp
40b743:	c2 04 00             	ret    $0x4
40b746:	cc                   	int3
40b747:	cc                   	int3
40b748:	cc                   	int3
40b749:	cc                   	int3
40b74a:	cc                   	int3
40b74b:	cc                   	int3
40b74c:	cc                   	int3
40b74d:	cc                   	int3
40b74e:	cc                   	int3
40b74f:	cc                   	int3
40b750:	8b ff                	mov    %edi,%edi
40b752:	55                   	push   %ebp
40b753:	8b ec                	mov    %esp,%ebp
40b755:	8b 45 08             	mov    0x8(%ebp),%eax
40b758:	8b 00                	mov    (%eax),%eax
40b75a:	3b 05 54 6e 42 00    	cmp    0x426e54,%eax
40b760:	74 07                	je     0x40b769
40b762:	50                   	push   %eax
40b763:	e8 86 ff ff ff       	call   0x40b6ee
40b768:	59                   	pop    %ecx
40b769:	5d                   	pop    %ebp
40b76a:	c3                   	ret
40b76b:	cc                   	int3
40b76c:	cc                   	int3
40b76d:	cc                   	int3
40b76e:	cc                   	int3
40b76f:	cc                   	int3
40b770:	8b ff                	mov    %edi,%edi
40b772:	55                   	push   %ebp
40b773:	8b ec                	mov    %esp,%ebp
40b775:	8b 45 08             	mov    0x8(%ebp),%eax
40b778:	8b 00                	mov    (%eax),%eax
40b77a:	3b 05 50 6e 42 00    	cmp    0x426e50,%eax
40b780:	74 07                	je     0x40b789
40b782:	50                   	push   %eax
40b783:	e8 66 ff ff ff       	call   0x40b6ee
40b788:	59                   	pop    %ecx
40b789:	5d                   	pop    %ebp
40b78a:	c3                   	ret
40b78b:	68 50 b7 40 00       	push   $0x40b750
40b790:	b9 48 6e 42 00       	mov    $0x426e48,%ecx
40b795:	e8 83 ff ff ff       	call   0x40b71d
40b79a:	68 70 b7 40 00       	push   $0x40b770
40b79f:	b9 4c 6e 42 00       	mov    $0x426e4c,%ecx
40b7a4:	e8 74 ff ff ff       	call   0x40b71d
40b7a9:	ff 35 54 6e 42 00    	push   0x426e54
40b7af:	e8 3a ff ff ff       	call   0x40b6ee
40b7b4:	ff 35 50 6e 42 00    	push   0x426e50
40b7ba:	e8 2f ff ff ff       	call   0x40b6ee
40b7bf:	59                   	pop    %ecx
40b7c0:	59                   	pop    %ecx
40b7c1:	c3                   	ret
40b7c2:	e9 04 fe ff ff       	jmp    0x40b5cb
40b7c7:	8b ff                	mov    %edi,%edi
40b7c9:	53                   	push   %ebx
40b7ca:	56                   	push   %esi
40b7cb:	e8 a0 44 00 00       	call   0x40fc70
40b7d0:	8b 35 b4 6e 42 00    	mov    0x426eb4,%esi
40b7d6:	85 f6                	test   %esi,%esi
40b7d8:	75 05                	jne    0x40b7df
40b7da:	be 58 6e 42 00       	mov    $0x426e58,%esi
40b7df:	32 db                	xor    %bl,%bl
40b7e1:	8a 06                	mov    (%esi),%al
40b7e3:	3c 20                	cmp    $0x20,%al
40b7e5:	77 08                	ja     0x40b7ef
40b7e7:	84 c0                	test   %al,%al
40b7e9:	74 2a                	je     0x40b815
40b7eb:	84 db                	test   %bl,%bl
40b7ed:	74 1b                	je     0x40b80a
40b7ef:	3c 22                	cmp    $0x22,%al
40b7f1:	75 05                	jne    0x40b7f8
40b7f3:	84 db                	test   %bl,%bl
40b7f5:	0f 94 c3             	sete   %bl
40b7f8:	0f b6 c0             	movzbl %al,%eax
40b7fb:	50                   	push   %eax
40b7fc:	e8 95 47 00 00       	call   0x40ff96
40b801:	59                   	pop    %ecx
40b802:	85 c0                	test   %eax,%eax
40b804:	74 01                	je     0x40b807
40b806:	46                   	inc    %esi
40b807:	46                   	inc    %esi
40b808:	eb d7                	jmp    0x40b7e1
40b80a:	3c 20                	cmp    $0x20,%al
40b80c:	77 07                	ja     0x40b815
40b80e:	46                   	inc    %esi
40b80f:	8a 06                	mov    (%esi),%al
40b811:	84 c0                	test   %al,%al
40b813:	75 f5                	jne    0x40b80a
40b815:	8b c6                	mov    %esi,%eax
40b817:	5e                   	pop    %esi
40b818:	5b                   	pop    %ebx
40b819:	c3                   	ret
40b81a:	8b ff                	mov    %edi,%edi
40b81c:	55                   	push   %ebp
40b81d:	8b ec                	mov    %esp,%ebp
40b81f:	51                   	push   %ecx
40b820:	8b 45 0c             	mov    0xc(%ebp),%eax
40b823:	53                   	push   %ebx
40b824:	56                   	push   %esi
40b825:	8b 75 08             	mov    0x8(%ebp),%esi
40b828:	2b c6                	sub    %esi,%eax
40b82a:	83 c0 03             	add    $0x3,%eax
40b82d:	57                   	push   %edi
40b82e:	33 ff                	xor    %edi,%edi
40b830:	c1 e8 02             	shr    $0x2,%eax
40b833:	39 75 0c             	cmp    %esi,0xc(%ebp)
40b836:	1b db                	sbb    %ebx,%ebx
40b838:	f7 d3                	not    %ebx
40b83a:	23 d8                	and    %eax,%ebx
40b83c:	74 1c                	je     0x40b85a
40b83e:	8b 06                	mov    (%esi),%eax
40b840:	89 45 fc             	mov    %eax,-0x4(%ebp)
40b843:	85 c0                	test   %eax,%eax
40b845:	74 0b                	je     0x40b852
40b847:	8b c8                	mov    %eax,%ecx
40b849:	ff 15 50 c2 41 00    	call   *0x41c250
40b84f:	ff 55 fc             	call   *-0x4(%ebp)
40b852:	83 c6 04             	add    $0x4,%esi
40b855:	47                   	inc    %edi
40b856:	3b fb                	cmp    %ebx,%edi
40b858:	75 e4                	jne    0x40b83e
40b85a:	5f                   	pop    %edi
40b85b:	5e                   	pop    %esi
40b85c:	5b                   	pop    %ebx
40b85d:	c9                   	leave
40b85e:	c3                   	ret
40b85f:	8b ff                	mov    %edi,%edi
40b861:	55                   	push   %ebp
40b862:	8b ec                	mov    %esp,%ebp
40b864:	56                   	push   %esi
40b865:	8b 75 08             	mov    0x8(%ebp),%esi
40b868:	57                   	push   %edi
40b869:	eb 17                	jmp    0x40b882
40b86b:	8b 3e                	mov    (%esi),%edi
40b86d:	85 ff                	test   %edi,%edi
40b86f:	74 0e                	je     0x40b87f
40b871:	8b cf                	mov    %edi,%ecx
40b873:	ff 15 50 c2 41 00    	call   *0x41c250
40b879:	ff d7                	call   *%edi
40b87b:	85 c0                	test   %eax,%eax
40b87d:	75 0a                	jne    0x40b889
40b87f:	83 c6 04             	add    $0x4,%esi