40f740:	ff 15 0c 30 42 00    	call   *0x42300c
40f746:	5f                   	pop    %edi
40f747:	8b c6                	mov    %esi,%eax
40f749:	5e                   	pop    %esi
40f74a:	5b                   	pop    %ebx
40f74b:	c9                   	leave
40f74c:	c2 18 00             	ret    $0x18
40f74f:	8b ff                	mov    %edi,%edi
40f751:	55                   	push   %ebp
40f752:	8b ec                	mov    %esp,%ebp
40f754:	51                   	push   %ecx
40f755:	53                   	push   %ebx
40f756:	56                   	push   %esi
40f757:	57                   	push   %edi
40f758:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f75b:	33 db                	xor    %ebx,%ebx
40f75d:	50                   	push   %eax
40f75e:	6a 02                	push   $0x2
40f760:	53                   	push   %ebx
40f761:	68 50 5a 40 00       	push   $0x405a50
40f766:	68 02 00 00 80       	push   $0x80000002
40f76b:	8b f2                	mov    %edx,%esi
40f76d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40f770:	8b f9                	mov    %ecx,%edi
40f772:	ff 15 08 30 42 00    	call   *0x423008
40f778:	85 c0                	test   %eax,%eax
40f77a:	74 2c                	je     0x40f7a8
40f77c:	83 f8 05             	cmp    $0x5,%eax
40f77f:	75 0d                	jne    0x40f78e
40f781:	68 91 00 00 00       	push   $0x91
40f786:	e8 c8 ee ff ff       	call   0x40e653
40f78b:	59                   	pop    %ecx
40f78c:	eb 13                	jmp    0x40f7a1
40f78e:	50                   	push   %eax
40f78f:	68 50 5a 40 00       	push   $0x405a50
40f794:	68 92 00 00 00       	push   $0x92
40f799:	e8 b5 ee ff ff       	call   0x40e653
40f79e:	83 c4 0c             	add    $0xc,%esp
40f7a1:	8b f3                	mov    %ebx,%esi
40f7a3:	e9 99 00 00 00       	jmp    0x40f841
40f7a8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f7ab:	f7 c7 04 00 00 00    	test   $0x4,%edi
40f7b1:	75 0a                	jne    0x40f7bd
40f7b3:	e8 87 19 00 00       	call   0x41113f
40f7b8:	e9 82 00 00 00       	jmp    0x40f83f
40f7bd:	ba 20 59 40 00       	mov    $0x405920,%edx
40f7c2:	85 f6                	test   %esi,%esi
40f7c4:	75 07                	jne    0x40f7cd
40f7c6:	e8 46 fe ff ff       	call   0x40f611
40f7cb:	eb 06                	jmp    0x40f7d3
40f7cd:	56                   	push   %esi
40f7ce:	e8 04 f6 ff ff       	call   0x40edd7
40f7d3:	8b f0                	mov    %eax,%esi
40f7d5:	85 f6                	test   %esi,%esi
40f7d7:	74 68                	je     0x40f841
40f7d9:	8b 45 08             	mov    0x8(%ebp),%eax
40f7dc:	ba fc 58 40 00       	mov    $0x4058fc,%edx
40f7e1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f7e4:	8b 00                	mov    (%eax),%eax
40f7e6:	39 58 f8             	cmp    %ebx,-0x8(%eax)
40f7e9:	75 07                	jne    0x40f7f2
40f7eb:	e8 21 fe ff ff       	call   0x40f611
40f7f0:	eb 06                	jmp    0x40f7f8
40f7f2:	50                   	push   %eax
40f7f3:	e8 22 f6 ff ff       	call   0x40ee1a
40f7f8:	8b f0                	mov    %eax,%esi
40f7fa:	85 f6                	test   %esi,%esi
40f7fc:	74 43                	je     0x40f841
40f7fe:	8b 45 0c             	mov    0xc(%ebp),%eax
40f801:	ba c8 58 40 00       	mov    $0x4058c8,%edx
40f806:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f809:	8b 00                	mov    (%eax),%eax
40f80b:	39 58 f8             	cmp    %ebx,-0x8(%eax)
40f80e:	75 07                	jne    0x40f817
40f810:	e8 fc fd ff ff       	call   0x40f611
40f815:	eb 06                	jmp    0x40f81d
40f817:	50                   	push   %eax
40f818:	e8 fd f5 ff ff       	call   0x40ee1a
40f81d:	8b f0                	mov    %eax,%esi
40f81f:	85 f6                	test   %esi,%esi
40f821:	74 1e                	je     0x40f841
40f823:	ba 94 58 40 00       	mov    $0x405894,%edx
40f828:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f82b:	39 5d 10             	cmp    %ebx,0x10(%ebp)
40f82e:	75 07                	jne    0x40f837
40f830:	e8 dc fd ff ff       	call   0x40f611
40f835:	eb 08                	jmp    0x40f83f
40f837:	ff 75 10             	push   0x10(%ebp)
40f83a:	e8 98 f5 ff ff       	call   0x40edd7
40f83f:	8b f0                	mov    %eax,%esi
40f841:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
40f844:	74 09                	je     0x40f84f
40f846:	ff 75 fc             	push   -0x4(%ebp)
40f849:	ff 15 0c 30 42 00    	call   *0x42300c
40f84f:	5f                   	pop    %edi
40f850:	8b c6                	mov    %esi,%eax
40f852:	5e                   	pop    %esi
40f853:	5b                   	pop    %ebx
40f854:	c9                   	leave
40f855:	c2 0c 00             	ret    $0xc
40f858:	8b ff                	mov    %edi,%edi
40f85a:	55                   	push   %ebp
40f85b:	8b ec                	mov    %esp,%ebp
40f85d:	51                   	push   %ecx
40f85e:	53                   	push   %ebx
40f85f:	57                   	push   %edi
40f860:	8b f9                	mov    %ecx,%edi
40f862:	8b da                	mov    %edx,%ebx
40f864:	89 7d fc             	mov    %edi,-0x4(%ebp)
40f867:	85 ff                	test   %edi,%edi
40f869:	74 4d                	je     0x40f8b8
40f86b:	6a 20                	push   $0x20
40f86d:	5a                   	pop    %edx
40f86e:	6a 09                	push   $0x9
40f870:	59                   	pop    %ecx
40f871:	56                   	push   %esi
40f872:	0f b7 07             	movzwl (%edi),%eax
40f875:	66 85 c0             	test   %ax,%ax
40f878:	74 3d                	je     0x40f8b7
40f87a:	66 3b c2             	cmp    %dx,%ax
40f87d:	0f 84 68 03 00 00    	je     0x40fbeb
40f883:	66 3b c1             	cmp    %cx,%ax
40f886:	0f 84 5f 03 00 00    	je     0x40fbeb
40f88c:	6a 00                	push   $0x0
40f88e:	8d 45 fc             	lea    -0x4(%ebp),%eax
40f891:	8b f7                	mov    %edi,%esi
40f893:	50                   	push   %eax
40f894:	57                   	push   %edi
40f895:	ff 15 44 35 42 00    	call   *0x423544
40f89b:	8b 7d fc             	mov    -0x4(%ebp),%edi
40f89e:	83 c4 0c             	add    $0xc,%esp
40f8a1:	8b c8                	mov    %eax,%ecx
40f8a3:	3b f7                	cmp    %edi,%esi
40f8a5:	75 15                	jne    0x40f8bc
40f8a7:	83 c7 02             	add    $0x2,%edi
40f8aa:	89 7d fc             	mov    %edi,-0x4(%ebp)
40f8ad:	6a 09                	push   $0x9
40f8af:	59                   	pop    %ecx
40f8b0:	6a 20                	push   $0x20
40f8b2:	5a                   	pop    %edx
40f8b3:	85 ff                	test   %edi,%edi
40f8b5:	75 bb                	jne    0x40f872
40f8b7:	5e                   	pop    %esi
40f8b8:	5f                   	pop    %edi
40f8b9:	5b                   	pop    %ebx
40f8ba:	c9                   	leave
40f8bb:	c3                   	ret
40f8bc:	81 f9 03 00 04 00    	cmp    $0x40003,%ecx
40f8c2:	0f 87 e8 00 00 00    	ja     0x40f9b0
40f8c8:	0f 84 db 00 00 00    	je     0x40f9a9
40f8ce:	8d 81 fe ff fd ff    	lea    -0x20002(%ecx),%eax
40f8d4:	83 f8 23             	cmp    $0x23,%eax
40f8d7:	0f 87 0c 02 00 00    	ja     0x40fae9
40f8dd:	ff 24 85 f8 fb 40 00 	jmp    *0x40fbf8(,%eax,4)
40f8e4:	33 c0                	xor    %eax,%eax
40f8e6:	e9 eb 02 00 00       	jmp    0x40fbd6
40f8eb:	33 c0                	xor    %eax,%eax
40f8ed:	40                   	inc    %eax
40f8ee:	e9 e3 02 00 00       	jmp    0x40fbd6
40f8f3:	6a 02                	push   $0x2
40f8f5:	e9 db 02 00 00       	jmp    0x40fbd5
40f8fa:	6a 03                	push   $0x3
40f8fc:	e9 d4 02 00 00       	jmp    0x40fbd5
40f901:	6a 04                	push   $0x4
40f903:	e9 cd 02 00 00       	jmp    0x40fbd5
40f908:	6a 05                	push   $0x5
40f90a:	e9 c6 02 00 00       	jmp    0x40fbd5
40f90f:	6a 06                	push   $0x6
40f911:	e9 bf 02 00 00       	jmp    0x40fbd5
40f916:	6a 07                	push   $0x7
40f918:	e9 b8 02 00 00       	jmp    0x40fbd5
40f91d:	6a 08                	push   $0x8
40f91f:	e9 b1 02 00 00       	jmp    0x40fbd5
40f924:	6a 09                	push   $0x9
40f926:	e9 aa 02 00 00       	jmp    0x40fbd5
40f92b:	6a 0a                	push   $0xa
40f92d:	e9 a3 02 00 00       	jmp    0x40fbd5
40f932:	6a 0b                	push   $0xb
40f934:	e9 9c 02 00 00       	jmp    0x40fbd5
40f939:	6a 0c                	push   $0xc
40f93b:	e9 95 02 00 00       	jmp    0x40fbd5
40f940:	6a 0d                	push   $0xd
40f942:	e9 8e 02 00 00       	jmp    0x40fbd5
40f947:	6a 0e                	push   $0xe
40f949:	e9 87 02 00 00       	jmp    0x40fbd5
40f94e:	6a 0f                	push   $0xf
40f950:	e9 80 02 00 00       	jmp    0x40fbd5
40f955:	6a 10                	push   $0x10
40f957:	e9 79 02 00 00       	jmp    0x40fbd5
40f95c:	6a 11                	push   $0x11
40f95e:	e9 72 02 00 00       	jmp    0x40fbd5
40f963:	6a 12                	push   $0x12
40f965:	e9 6b 02 00 00       	jmp    0x40fbd5
40f96a:	6a 13                	push   $0x13
40f96c:	e9 64 02 00 00       	jmp    0x40fbd5
40f971:	6a 14                	push   $0x14
40f973:	e9 5d 02 00 00       	jmp    0x40fbd5
40f978:	6a 15                	push   $0x15
40f97a:	e9 56 02 00 00       	jmp    0x40fbd5
40f97f:	6a 16                	push   $0x16
40f981:	e9 4f 02 00 00       	jmp    0x40fbd5
40f986:	6a 17                	push   $0x17
40f988:	e9 48 02 00 00       	jmp    0x40fbd5
40f98d:	6a 18                	push   $0x18
40f98f:	e9 41 02 00 00       	jmp    0x40fbd5
40f994:	6a 19                	push   $0x19
40f996:	e9 3a 02 00 00       	jmp    0x40fbd5
40f99b:	6a 1a                	push   $0x1a
40f99d:	e9 33 02 00 00       	jmp    0x40fbd5
40f9a2:	6a 1b                	push   $0x1b
40f9a4:	e9 2c 02 00 00       	jmp    0x40fbd5
40f9a9:	6a 1c                	push   $0x1c
40f9ab:	e9 25 02 00 00       	jmp    0x40fbd5
40f9b0:	81 f9 11 20 09 00    	cmp    $0x92011,%ecx
40f9b6:	0f 87 af 00 00 00    	ja     0x40fa6b
40f9bc:	0f 84 a2 00 00 00    	je     0x40fa64
40f9c2:	81 f9 02 10 09 00    	cmp    $0x91002,%ecx
40f9c8:	77 53                	ja     0x40fa1d
40f9ca:	74 4a                	je     0x40fa16
40f9cc:	8b c1                	mov    %ecx,%eax
40f9ce:	2d 07 00 04 00       	sub    $0x40007,%eax
40f9d3:	74 3a                	je     0x40fa0f
40f9d5:	83 e8 03             	sub    $0x3,%eax
40f9d8:	74 2e                	je     0x40fa08
40f9da:	2d 01 10 00 00       	sub    $0x1001,%eax
40f9df:	74 20                	je     0x40fa01
40f9e1:	2d fb 1f 00 00       	sub    $0x1ffb,%eax
40f9e6:	74 12                	je     0x40f9fa
40f9e8:	2d fb df 04 00       	sub    $0x4dffb,%eax
40f9ed:	0f 85 f6 00 00 00    	jne    0x40fae9
40f9f3:	6a 21                	push   $0x21
40f9f5:	e9 db 01 00 00       	jmp    0x40fbd5
40f9fa:	6a 20                	push   $0x20
40f9fc:	e9 d4 01 00 00       	jmp    0x40fbd5
40fa01:	6a 1f                	push   $0x1f
40fa03:	e9 cd 01 00 00       	jmp    0x40fbd5
40fa08:	6a 1e                	push   $0x1e
40fa0a:	e9 c6 01 00 00       	jmp    0x40fbd5
40fa0f:	6a 1d                	push   $0x1d
40fa11:	e9 bf 01 00 00       	jmp    0x40fbd5
40fa16:	6a 22                	push   $0x22
40fa18:	e9 b8 01 00 00       	jmp    0x40fbd5
40fa1d:	8b c1                	mov    %ecx,%eax
40fa1f:	2d 0e 10 09 00       	sub    $0x9100e,%eax
40fa24:	74 37                	je     0x40fa5d
40fa26:	2d f5 0f 00 00       	sub    $0xff5,%eax
40fa2b:	74 29                	je     0x40fa56
40fa2d:	83 e8 0a             	sub    $0xa,%eax
40fa30:	74 1d                	je     0x40fa4f
40fa32:	48                   	dec    %eax
40fa33:	83 e8 01             	sub    $0x1,%eax
40fa36:	74 10                	je     0x40fa48
40fa38:	83 e8 01             	sub    $0x1,%eax
40fa3b:	0f 85 a8 00 00 00    	jne    0x40fae9
40fa41:	6a 27                	push   $0x27
40fa43:	e9 8d 01 00 00       	jmp    0x40fbd5
40fa48:	6a 26                	push   $0x26
40fa4a:	e9 86 01 00 00       	jmp    0x40fbd5
40fa4f:	6a 25                	push   $0x25
40fa51:	e9 7f 01 00 00       	jmp    0x40fbd5
40fa56:	6a 24                	push   $0x24
40fa58:	e9 78 01 00 00       	jmp    0x40fbd5
40fa5d:	6a 23                	push   $0x23
40fa5f:	e9 71 01 00 00       	jmp    0x40fbd5
40fa64:	6a 28                	push   $0x28
40fa66:	e9 6a 01 00 00       	jmp    0x40fbd5
40fa6b:	81 f9 07 40 09 00    	cmp    $0x94007,%ecx
40fa71:	77 4d                	ja     0x40fac0
40fa73:	74 44                	je     0x40fab9
40fa75:	8b c1                	mov    %ecx,%eax
40fa77:	2d 12 20 09 00       	sub    $0x92012,%eax
40fa7c:	74 34                	je     0x40fab2
40fa7e:	2d f2 0f 00 00       	sub    $0xff2,%eax
40fa83:	74 26                	je     0x40faab
40fa85:	83 e8 01             	sub    $0x1,%eax
40fa88:	74 1a                	je     0x40faa4
40fa8a:	83 e8 01             	sub    $0x1,%eax
40fa8d:	74 0e                	je     0x40fa9d
40fa8f:	2d fb 00 00 00       	sub    $0xfb,%eax
40fa94:	75 53                	jne    0x40fae9
40fa96:	6a 2d                	push   $0x2d
40fa98:	e9 38 01 00 00       	jmp    0x40fbd5
40fa9d:	6a 2c                	push   $0x2c
40fa9f:	e9 31 01 00 00       	jmp    0x40fbd5
40faa4:	6a 2b                	push   $0x2b
40faa6:	e9 2a 01 00 00       	jmp    0x40fbd5
40faab:	6a 2a                	push   $0x2a
40faad:	e9 23 01 00 00       	jmp    0x40fbd5
40fab2:	6a 29                	push   $0x29
40fab4:	e9 1c 01 00 00       	jmp    0x40fbd5
40fab9:	6a 2e                	push   $0x2e
40fabb:	e9 15 01 00 00       	jmp    0x40fbd5
40fac0:	8b c1                	mov    %ecx,%eax
40fac2:	2d 08 40 09 00       	sub    $0x94008,%eax
40fac7:	0f 84 06 01 00 00    	je     0x40fbd3
40facd:	83 e8 01             	sub    $0x1,%eax
40fad0:	0f 84 f9 00 00 00    	je     0x40fbcf
40fad6:	48                   	dec    %eax
40fad7:	83 e8 01             	sub    $0x1,%eax
40fada:	0f 84 eb 00 00 00    	je     0x40fbcb
40fae0:	83 e8 01             	sub    $0x1,%eax
40fae3:	0f 84 de 00 00 00    	je     0x40fbc7
40fae9:	81 f9 01 20 08 00    	cmp    $0x82001,%ecx
40faef:	77 61                	ja     0x40fb52
40faf1:	74 5b                	je     0x40fb4e
40faf3:	8d 81 ff ef f7 ff    	lea    -0x81001(%ecx),%eax
40faf9:	83 f8 0b             	cmp    $0xb,%eax
40fafc:	77 6c                	ja     0x40fb6a
40fafe:	ff 24 85 88 fc 40 00 	jmp    *0x40fc88(,%eax,4)
40fb05:	33 c0                	xor    %eax,%eax
40fb07:	e9 b6 00 00 00       	jmp    0x40fbc2
40fb0c:	33 c0                	xor    %eax,%eax
40fb0e:	40                   	inc    %eax
40fb0f:	e9 ae 00 00 00       	jmp    0x40fbc2
40fb14:	6a 02                	push   $0x2
40fb16:	e9 a6 00 00 00       	jmp    0x40fbc1
40fb1b:	6a 03                	push   $0x3
40fb1d:	e9 9f 00 00 00       	jmp    0x40fbc1
40fb22:	6a 04                	push   $0x4
40fb24:	e9 98 00 00 00       	jmp    0x40fbc1
40fb29:	6a 05                	push   $0x5
40fb2b:	e9 91 00 00 00       	jmp    0x40fbc1
40fb30:	6a 06                	push   $0x6
40fb32:	e9 8a 00 00 00       	jmp    0x40fbc1
40fb37:	6a 07                	push   $0x7
40fb39:	e9 83 00 00 00       	jmp    0x40fbc1
40fb3e:	6a 08                	push   $0x8
40fb40:	eb 7f                	jmp    0x40fbc1
40fb42:	6a 09                	push   $0x9
40fb44:	eb 7b                	jmp    0x40fbc1
40fb46:	6a 0a                	push   $0xa
40fb48:	eb 77                	jmp    0x40fbc1
40fb4a:	6a 0b                	push   $0xb
40fb4c:	eb 73                	jmp    0x40fbc1
40fb4e:	6a 0c                	push   $0xc
40fb50:	eb 6f                	jmp    0x40fbc1
40fb52:	8b c1                	mov    %ecx,%eax
40fb54:	2d 02 20 08 00       	sub    $0x82002,%eax
40fb59:	74 64                	je     0x40fbbf
40fb5b:	83 e8 01             	sub    $0x1,%eax
40fb5e:	74 5b                	je     0x40fbbb
40fb60:	83 e8 01             	sub    $0x1,%eax
40fb63:	74 52                	je     0x40fbb7
40fb65:	83 e8 01             	sub    $0x1,%eax
40fb68:	74 49                	je     0x40fbb3
40fb6a:	81 f9 01 20 07 00    	cmp    $0x72001,%ecx
40fb70:	77 3c                	ja     0x40fbae
40fb72:	74 36                	je     0x40fbaa
40fb74:	81 c1 ff ef f8 ff    	add    $0xfff8efff,%ecx
40fb7a:	83 f9 09             	cmp    $0x9,%ecx