40d5fd:	90                   	nop
40d5fe:	90                   	nop
40d5ff:	90                   	nop
40d600:	6a fd                	push   $0xfffffffd
40d602:	e8 f9 fc ff ff       	call   0x40d300
40d607:	83 c4 04             	add    $0x4,%esp
40d60a:	c3                   	ret
40d60b:	90                   	nop
40d60c:	90                   	nop
40d60d:	90                   	nop
40d60e:	90                   	nop
40d60f:	90                   	nop
40d610:	56                   	push   %esi
40d611:	e8 8a 00 00 00       	call   0x40d6a0
40d616:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40d61a:	33 f6                	xor    %esi,%esi
40d61c:	89 08                	mov    %ecx,(%eax)
40d61e:	b8 18 19 43 00       	mov    $0x431918,%eax
40d623:	3b 08                	cmp    (%eax),%ecx
40d625:	74 4c                	je     0x40d673
40d627:	83 c0 08             	add    $0x8,%eax
40d62a:	46                   	inc    %esi
40d62b:	3d 80 1a 43 00       	cmp    $0x431a80,%eax
40d630:	72 f1                	jb     0x40d623
40d632:	83 f9 13             	cmp    $0x13,%ecx
40d635:	72 12                	jb     0x40d649
40d637:	83 f9 24             	cmp    $0x24,%ecx
40d63a:	77 0d                	ja     0x40d649
40d63c:	e8 4f 00 00 00       	call   0x40d690
40d641:	c7 00 0d 00 00 00    	movl   $0xd,(%eax)
40d647:	5e                   	pop    %esi
40d648:	c3                   	ret
40d649:	81 f9 bc 00 00 00    	cmp    $0xbc,%ecx
40d64f:	72 15                	jb     0x40d666
40d651:	81 f9 ca 00 00 00    	cmp    $0xca,%ecx
40d657:	77 0d                	ja     0x40d666
40d659:	e8 32 00 00 00       	call   0x40d690
40d65e:	c7 00 08 00 00 00    	movl   $0x8,(%eax)
40d664:	5e                   	pop    %esi
40d665:	c3                   	ret
40d666:	e8 25 00 00 00       	call   0x40d690
40d66b:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
40d671:	5e                   	pop    %esi
40d672:	c3                   	ret
40d673:	e8 18 00 00 00       	call   0x40d690
40d678:	8b 0c f5 1c 19 43 00 	mov    0x43191c(,%esi,8),%ecx
40d67f:	5e                   	pop    %esi
40d680:	89 08                	mov    %ecx,(%eax)
40d682:	c3                   	ret
40d683:	90                   	nop
40d684:	90                   	nop
40d685:	90                   	nop
40d686:	90                   	nop
40d687:	90                   	nop
40d688:	90                   	nop
40d689:	90                   	nop
40d68a:	90                   	nop
40d68b:	90                   	nop
40d68c:	90                   	nop
40d68d:	90                   	nop
40d68e:	90                   	nop
40d68f:	90                   	nop
40d690:	e8 ab 0b 00 00       	call   0x40e240
40d695:	83 c0 08             	add    $0x8,%eax
40d698:	c3                   	ret
40d699:	90                   	nop
40d69a:	90                   	nop
40d69b:	90                   	nop
40d69c:	90                   	nop
40d69d:	90                   	nop
40d69e:	90                   	nop
40d69f:	90                   	nop
40d6a0:	e8 9b 0b 00 00       	call   0x40e240
40d6a5:	83 c0 0c             	add    $0xc,%eax
40d6a8:	c3                   	ret
40d6a9:	90                   	nop
40d6aa:	90                   	nop
40d6ab:	90                   	nop
40d6ac:	90                   	nop
40d6ad:	90                   	nop
40d6ae:	90                   	nop
40d6af:	90                   	nop
40d6b0:	a1 7c 71 43 00       	mov    0x43717c,%eax
40d6b5:	56                   	push   %esi
40d6b6:	33 f6                	xor    %esi,%esi
40d6b8:	85 c0                	test   %eax,%eax
40d6ba:	75 14                	jne    0x40d6d0
40d6bc:	8b 44 24 0c          	mov    0xc(%esp),%eax
40d6c0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40d6c4:	50                   	push   %eax
40d6c5:	51                   	push   %ecx
40d6c6:	e8 65 2d 00 00       	call   0x410430
40d6cb:	83 c4 08             	add    $0x8,%esp
40d6ce:	5e                   	pop    %esi
40d6cf:	c3                   	ret
40d6d0:	57                   	push   %edi
40d6d1:	55                   	push   %ebp
40d6d2:	53                   	push   %ebx
40d6d3:	6a 19                	push   $0x19
40d6d5:	e8 66 1d 00 00       	call   0x40f440
40d6da:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40d6de:	8b 54 24 18          	mov    0x18(%esp),%edx
40d6e2:	83 c4 04             	add    $0x4,%esp
40d6e5:	b3 04                	mov    $0x4,%bl
40d6e7:	8a 0a                	mov    (%edx),%cl
40d6e9:	8b c1                	mov    %ecx,%eax
40d6eb:	25 ff 00 00 00       	and    $0xff,%eax
40d6f0:	8b e8                	mov    %eax,%ebp
40d6f2:	81 e5 ff 00 00 00    	and    $0xff,%ebp
40d6f8:	84 9d 79 70 43 00    	test   %bl,0x437079(%ebp)
40d6fe:	74 24                	je     0x40d724
40d700:	8a 4a 01             	mov    0x1(%edx),%cl
40d703:	42                   	inc    %edx
40d704:	84 c9                	test   %cl,%cl
40d706:	74 16                	je     0x40d71e
40d708:	8b e9                	mov    %ecx,%ebp
40d70a:	c1 e0 08             	shl    $0x8,%eax
40d70d:	81 e5 ff 00 00 00    	and    $0xff,%ebp
40d713:	0b c5                	or     %ebp,%eax
40d715:	3b f8                	cmp    %eax,%edi
40d717:	75 11                	jne    0x40d72a
40d719:	8d 72 ff             	lea    -0x1(%edx),%esi
40d71c:	eb 0c                	jmp    0x40d72a
40d71e:	85 f6                	test   %esi,%esi
40d720:	75 08                	jne    0x40d72a
40d722:	eb 04                	jmp    0x40d728
40d724:	3b f8                	cmp    %eax,%edi
40d726:	75 02                	jne    0x40d72a
40d728:	8b f2                	mov    %edx,%esi
40d72a:	42                   	inc    %edx
40d72b:	84 c9                	test   %cl,%cl
40d72d:	75 b8                	jne    0x40d6e7
40d72f:	6a 19                	push   $0x19
40d731:	e8 8a 1d 00 00       	call   0x40f4c0
40d736:	83 c4 04             	add    $0x4,%esp
40d739:	8b c6                	mov    %esi,%eax
40d73b:	5b                   	pop    %ebx
40d73c:	5d                   	pop    %ebp
40d73d:	5f                   	pop    %edi
40d73e:	5e                   	pop    %esi
40d73f:	c3                   	ret
40d740:	56                   	push   %esi
40d741:	8b 74 24 18          	mov    0x18(%esp),%esi
40d745:	81 3e 20 05 93 19    	cmpl   $0x19930520,(%esi)
40d74b:	74 05                	je     0x40d752
40d74d:	e8 9e 0c 00 00       	call   0x40e3f0
40d752:	8b 44 24 08          	mov    0x8(%esp),%eax
40d756:	f6 40 04 66          	testb  $0x66,0x4(%eax)
40d75a:	74 33                	je     0x40d78f
40d75c:	8b 46 04             	mov    0x4(%esi),%eax
40d75f:	85 c0                	test   %eax,%eax
40d761:	0f 84 99 00 00 00    	je     0x40d800
40d767:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40d76b:	85 c0                	test   %eax,%eax
40d76d:	0f 85 8d 00 00 00    	jne    0x40d800
40d773:	8b 44 24 14          	mov    0x14(%esp),%eax
40d777:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40d77b:	6a ff                	push   $0xffffffff
40d77d:	56                   	push   %esi
40d77e:	50                   	push   %eax
40d77f:	51                   	push   %ecx
40d780:	e8 2b 04 00 00       	call   0x40dbb0
40d785:	83 c4 10             	add    $0x10,%esp
40d788:	b8 01 00 00 00       	mov    $0x1,%eax
40d78d:	5e                   	pop    %esi
40d78e:	c3                   	ret
40d78f:	8b 4e 0c             	mov    0xc(%esi),%ecx
40d792:	85 c9                	test   %ecx,%ecx
40d794:	74 6a                	je     0x40d800
40d796:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40d79c:	75 3a                	jne    0x40d7d8
40d79e:	81 78 14 20 05 93 19 	cmpl   $0x19930520,0x14(%eax)
40d7a5:	76 31                	jbe    0x40d7d8
40d7a7:	8b 50 1c             	mov    0x1c(%eax),%edx
40d7aa:	8b 4a 08             	mov    0x8(%edx),%ecx
40d7ad:	85 c9                	test   %ecx,%ecx
40d7af:	74 27                	je     0x40d7d8
40d7b1:	8b 54 24 24          	mov    0x24(%esp),%edx
40d7b5:	52                   	push   %edx
40d7b6:	8b 54 24 24          	mov    0x24(%esp),%edx
40d7ba:	52                   	push   %edx
40d7bb:	8b 54 24 24          	mov    0x24(%esp),%edx
40d7bf:	52                   	push   %edx
40d7c0:	8b 54 24 20          	mov    0x20(%esp),%edx
40d7c4:	56                   	push   %esi
40d7c5:	52                   	push   %edx
40d7c6:	8b 54 24 24          	mov    0x24(%esp),%edx
40d7ca:	52                   	push   %edx
40d7cb:	8b 54 24 24          	mov    0x24(%esp),%edx
40d7cf:	52                   	push   %edx
40d7d0:	50                   	push   %eax
40d7d1:	ff d1                	call   *%ecx
40d7d3:	83 c4 20             	add    $0x20,%esp
40d7d6:	5e                   	pop    %esi
40d7d7:	c3                   	ret
40d7d8:	8b 4c 24 20          	mov    0x20(%esp),%ecx
40d7dc:	8b 54 24 1c          	mov    0x1c(%esp),%edx
40d7e0:	51                   	push   %ecx
40d7e1:	8b 4c 24 28          	mov    0x28(%esp),%ecx
40d7e5:	52                   	push   %edx
40d7e6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
40d7ea:	51                   	push   %ecx
40d7eb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
40d7ef:	56                   	push   %esi
40d7f0:	52                   	push   %edx
40d7f1:	8b 54 24 20          	mov    0x20(%esp),%edx
40d7f5:	51                   	push   %ecx
40d7f6:	52                   	push   %edx
40d7f7:	50                   	push   %eax
40d7f8:	e8 13 00 00 00       	call   0x40d810
40d7fd:	83 c4 20             	add    $0x20,%esp
40d800:	b8 01 00 00 00       	mov    $0x1,%eax
40d805:	5e                   	pop    %esi
40d806:	c3                   	ret
40d807:	90                   	nop
40d808:	90                   	nop
40d809:	90                   	nop
40d80a:	90                   	nop
40d80b:	90                   	nop
40d80c:	90                   	nop
40d80d:	90                   	nop
40d80e:	90                   	nop
40d80f:	90                   	nop
40d810:	83 ec 24             	sub    $0x24,%esp
40d813:	8b 44 24 2c          	mov    0x2c(%esp),%eax
40d817:	53                   	push   %ebx
40d818:	55                   	push   %ebp
40d819:	56                   	push   %esi
40d81a:	8b 68 08             	mov    0x8(%eax),%ebp
40d81d:	57                   	push   %edi
40d81e:	83 fd ff             	cmp    $0xffffffff,%ebp
40d821:	89 6c 24 24          	mov    %ebp,0x24(%esp)
40d825:	7c 09                	jl     0x40d830
40d827:	8b 4c 24 48          	mov    0x48(%esp),%ecx
40d82b:	3b 69 04             	cmp    0x4(%ecx),%ebp
40d82e:	7c 05                	jl     0x40d835
40d830:	e8 bb 0b 00 00       	call   0x40e3f0
40d835:	8b 5c 24 38          	mov    0x38(%esp),%ebx
40d839:	be 03 00 00 00       	mov    $0x3,%esi
40d83e:	bf 20 05 93 19       	mov    $0x19930520,%edi
40d843:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40d849:	0f 85 37 02 00 00    	jne    0x40da86
40d84f:	39 73 10             	cmp    %esi,0x10(%ebx)
40d852:	75 6a                	jne    0x40d8be
40d854:	39 7b 14             	cmp    %edi,0x14(%ebx)
40d857:	75 65                	jne    0x40d8be
40d859:	8b 43 1c             	mov    0x1c(%ebx),%eax
40d85c:	85 c0                	test   %eax,%eax
40d85e:	75 5e                	jne    0x40d8be
40d860:	e8 db 09 00 00       	call   0x40e240
40d865:	8b 48 6c             	mov    0x6c(%eax),%ecx
40d868:	85 c9                	test   %ecx,%ecx
40d86a:	0f 84 53 02 00 00    	je     0x40dac3
40d870:	e8 cb 09 00 00       	call   0x40e240
40d875:	8b 58 6c             	mov    0x6c(%eax),%ebx
40d878:	89 5c 24 38          	mov    %ebx,0x38(%esp)
40d87c:	e8 bf 09 00 00       	call   0x40e240
40d881:	8b 50 70             	mov    0x70(%eax),%edx
40d884:	6a 01                	push   $0x1
40d886:	53                   	push   %ebx
40d887:	89 54 24 48          	mov    %edx,0x48(%esp)
40d88b:	e8 90 31 00 00       	call   0x410a20
40d890:	83 c4 08             	add    $0x8,%esp
40d893:	85 c0                	test   %eax,%eax
40d895:	75 05                	jne    0x40d89c
40d897:	e8 54 0b 00 00       	call   0x40e3f0
40d89c:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40d8a2:	0f 85 de 01 00 00    	jne    0x40da86
40d8a8:	39 73 10             	cmp    %esi,0x10(%ebx)
40d8ab:	75 11                	jne    0x40d8be
40d8ad:	39 7b 14             	cmp    %edi,0x14(%ebx)
40d8b0:	75 0c                	jne    0x40d8be
40d8b2:	8b 43 1c             	mov    0x1c(%ebx),%eax
40d8b5:	85 c0                	test   %eax,%eax
40d8b7:	75 05                	jne    0x40d8be
40d8b9:	e8 32 0b 00 00       	call   0x40e3f0
40d8be:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40d8c4:	0f 85 bc 01 00 00    	jne    0x40da86
40d8ca:	39 73 10             	cmp    %esi,0x10(%ebx)
40d8cd:	0f 85 b3 01 00 00    	jne    0x40da86
40d8d3:	39 7b 14             	cmp    %edi,0x14(%ebx)
40d8d6:	0f 85 aa 01 00 00    	jne    0x40da86
40d8dc:	8b 54 24 50          	mov    0x50(%esp),%edx
40d8e0:	8d 44 24 28          	lea    0x28(%esp),%eax
40d8e4:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40d8e8:	50                   	push   %eax
40d8e9:	8b 44 24 4c          	mov    0x4c(%esp),%eax
40d8ed:	51                   	push   %ecx
40d8ee:	55                   	push   %ebp
40d8ef:	52                   	push   %edx
40d8f0:	50                   	push   %eax
40d8f1:	e8 ca e1 ff ff       	call   0x40bac0
40d8f6:	8b 4c 24 28          	mov    0x28(%esp),%ecx
40d8fa:	8b 54 24 3c          	mov    0x3c(%esp),%edx
40d8fe:	83 c4 14             	add    $0x14,%esp
40d901:	3b ca                	cmp    %edx,%ecx
40d903:	89 44 24 18          	mov    %eax,0x18(%esp)
40d907:	0f 83 5e 01 00 00    	jae    0x40da6b
40d90d:	39 28                	cmp    %ebp,(%eax)
40d90f:	0f 8f 3a 01 00 00    	jg     0x40da4f
40d915:	3b 68 04             	cmp    0x4(%eax),%ebp
40d918:	0f 8f 31 01 00 00    	jg     0x40da4f
40d91e:	8b 48 0c             	mov    0xc(%eax),%ecx
40d921:	8b 70 10             	mov    0x10(%eax),%esi
40d924:	85 c9                	test   %ecx,%ecx
40d926:	89 74 24 10          	mov    %esi,0x10(%esp)
40d92a:	89 4c 24 20          	mov    %ecx,0x20(%esp)
40d92e:	0f 8e 17 01 00 00    	jle    0x40da4b
40d934:	8b 43 1c             	mov    0x1c(%ebx),%eax
40d937:	8b 40 0c             	mov    0xc(%eax),%eax
40d93a:	8d 50 04             	lea    0x4(%eax),%edx
40d93d:	8b 00                	mov    (%eax),%eax
40d93f:	89 54 24 2c          	mov    %edx,0x2c(%esp)
40d943:	89 44 24 30          	mov    %eax,0x30(%esp)
40d947:	8b 44 24 30          	mov    0x30(%esp),%eax
40d94b:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
40d94f:	85 c0                	test   %eax,%eax
40d951:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40d955:	0f 8e a5 00 00 00    	jle    0x40da00
40d95b:	8b 56 04             	mov    0x4(%esi),%edx
40d95e:	8b 7d 00             	mov    0x0(%ebp),%edi
40d961:	85 d2                	test   %edx,%edx
40d963:	74 7a                	je     0x40d9df
40d965:	8a 4a 08             	mov    0x8(%edx),%cl
40d968:	8d 42 08             	lea    0x8(%edx),%eax
40d96b:	84 c9                	test   %cl,%cl
40d96d:	74 70                	je     0x40d9df
40d96f:	8b 4f 04             	mov    0x4(%edi),%ecx
40d972:	3b d1                	cmp    %ecx,%edx
40d974:	74 44                	je     0x40d9ba
40d976:	8d 71 08             	lea    0x8(%ecx),%esi
40d979:	8a 18                	mov    (%eax),%bl
40d97b:	8a cb                	mov    %bl,%cl
40d97d:	3a 1e                	cmp    (%esi),%bl
40d97f:	75 1c                	jne    0x40d99d
40d981:	84 c9                	test   %cl,%cl
40d983:	74 14                	je     0x40d999
40d985:	8a 58 01             	mov    0x1(%eax),%bl
40d988:	8a cb                	mov    %bl,%cl
40d98a:	3a 5e 01             	cmp    0x1(%esi),%bl
40d98d:	75 0e                	jne    0x40d99d
40d98f:	83 c0 02             	add    $0x2,%eax
40d992:	83 c6 02             	add    $0x2,%esi
40d995:	84 c9                	test   %cl,%cl
40d997:	75 e0                	jne    0x40d979
40d999:	33 c0                	xor    %eax,%eax
40d99b:	eb 05                	jmp    0x40d9a2
40d99d:	1b c0                	sbb    %eax,%eax
40d99f:	83 d8 ff             	sbb    $0xffffffff,%eax
40d9a2:	85 c0                	test   %eax,%eax