40f6d1:	c7 06 3c 11 40 00    	movl   $0x40113c,(%esi)
40f6d7:	e8 64 3e 00 00       	call   0x413540
40f6dc:	85 c0                	test   %eax,%eax
40f6de:	0f 88 1e 17 01 00    	js     0x420e02
40f6e4:	8b c6                	mov    %esi,%eax
40f6e6:	e8 f1 b6 00 00       	call   0x41addc
40f6eb:	c2 08 00             	ret    $0x8
40f6ee:	e9 e2 3d 00 00       	jmp    0x4134d5
40f6f3:	8b ff                	mov    %edi,%edi
40f6f5:	56                   	push   %esi
40f6f6:	8b f1                	mov    %ecx,%esi
40f6f8:	c7 06 9c 11 40 00    	movl   $0x40119c,(%esi)
40f6fe:	8b 4e 08             	mov    0x8(%esi),%ecx
40f701:	c7 46 04 c4 11 40 00 	movl   $0x4011c4,0x4(%esi)
40f708:	85 c9                	test   %ecx,%ecx
40f70a:	0f 85 01 17 01 00    	jne    0x420e11
40f710:	c7 46 04 80 11 40 00 	movl   $0x401180,0x4(%esi)
40f717:	5e                   	pop    %esi
40f718:	c3                   	ret
40f719:	8b ff                	mov    %edi,%edi
40f71b:	55                   	push   %ebp
40f71c:	8b ec                	mov    %esp,%ebp
40f71e:	51                   	push   %ecx
40f71f:	53                   	push   %ebx
40f720:	8b d9                	mov    %ecx,%ebx
40f722:	56                   	push   %esi
40f723:	57                   	push   %edi
40f724:	33 ff                	xor    %edi,%edi
40f726:	8b cf                	mov    %edi,%ecx
40f728:	39 7b 08             	cmp    %edi,0x8(%ebx)
40f72b:	74 25                	je     0x40f752
40f72d:	8b 75 0c             	mov    0xc(%ebp),%esi
40f730:	8b cb                	mov    %ebx,%ecx
40f732:	56                   	push   %esi
40f733:	89 3b                	mov    %edi,(%ebx)
40f735:	e8 b6 00 00 00       	call   0x40f7f0
40f73a:	8b c8                	mov    %eax,%ecx
40f73c:	85 c9                	test   %ecx,%ecx
40f73e:	78 0c                	js     0x40f74c
40f740:	f7 d6                	not    %esi
40f742:	8b cb                	mov    %ebx,%ecx
40f744:	56                   	push   %esi
40f745:	e8 a6 00 00 00       	call   0x40f7f0
40f74a:	8b c8                	mov    %eax,%ecx
40f74c:	89 3b                	mov    %edi,(%ebx)
40f74e:	85 c9                	test   %ecx,%ecx
40f750:	78 49                	js     0x40f79b
40f752:	8b 03                	mov    (%ebx),%eax
40f754:	8d 50 07             	lea    0x7(%eax),%edx
40f757:	83 e2 f8             	and    $0xfffffff8,%edx
40f75a:	2b d0                	sub    %eax,%edx
40f75c:	89 55 fc             	mov    %edx,-0x4(%ebp)
40f75f:	0f 85 c4 16 01 00    	jne    0x420e29
40f765:	85 c9                	test   %ecx,%ecx
40f767:	78 32                	js     0x40f79b
40f769:	01 13                	add    %edx,(%ebx)
40f76b:	39 7b 08             	cmp    %edi,0x8(%ebx)
40f76e:	74 24                	je     0x40f794
40f770:	8b 73 10             	mov    0x10(%ebx),%esi
40f773:	6a 00                	push   $0x0
40f775:	6a 14                	push   $0x14
40f777:	ff 75 08             	push   0x8(%ebp)
40f77a:	8b 06                	mov    (%esi),%eax
40f77c:	8b 78 04             	mov    0x4(%eax),%edi
40f77f:	81 ff 70 2d 41 00    	cmp    $0x412d70,%edi
40f785:	0f 85 cf 16 01 00    	jne    0x420e5a
40f78b:	8b ce                	mov    %esi,%ecx
40f78d:	e8 de 35 00 00       	call   0x412d70
40f792:	8b c8                	mov    %eax,%ecx
40f794:	85 c9                	test   %ecx,%ecx
40f796:	78 03                	js     0x40f79b
40f798:	83 03 14             	addl   $0x14,(%ebx)
40f79b:	5f                   	pop    %edi
40f79c:	5e                   	pop    %esi
40f79d:	8b c1                	mov    %ecx,%eax
40f79f:	5b                   	pop    %ebx
40f7a0:	c9                   	leave
40f7a1:	c2 08 00             	ret    $0x8
40f7a4:	8b ff                	mov    %edi,%edi
40f7a6:	56                   	push   %esi
40f7a7:	8b f1                	mov    %ecx,%esi
40f7a9:	8b 4e 04             	mov    0x4(%esi),%ecx
40f7ac:	c7 06 c4 11 40 00    	movl   $0x4011c4,(%esi)
40f7b2:	85 c9                	test   %ecx,%ecx
40f7b4:	75 08                	jne    0x40f7be
40f7b6:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
40f7bc:	5e                   	pop    %esi
40f7bd:	c3                   	ret
40f7be:	8d 46 10             	lea    0x10(%esi),%eax
40f7c1:	3b c8                	cmp    %eax,%ecx
40f7c3:	74 f1                	je     0x40f7b6
40f7c5:	51                   	push   %ecx
40f7c6:	ff 15 14 a4 43 00    	call   *0x43a414
40f7cc:	59                   	pop    %ecx
40f7cd:	eb e7                	jmp    0x40f7b6
40f7cf:	83 61 0c 00          	andl   $0x0,0xc(%ecx)
40f7d3:	8d 41 10             	lea    0x10(%ecx),%eax
40f7d6:	89 41 04             	mov    %eax,0x4(%ecx)
40f7d9:	33 d2                	xor    %edx,%edx
40f7db:	c7 41 08 21 00 00 00 	movl   $0x21,0x8(%ecx)
40f7e2:	66 89 10             	mov    %dx,(%eax)
40f7e5:	8b c1                	mov    %ecx,%eax
40f7e7:	c7 01 64 11 40 00    	movl   $0x401164,(%ecx)
40f7ed:	c3                   	ret
40f7ee:	cc                   	int3
40f7ef:	cc                   	int3
40f7f0:	8b ff                	mov    %edi,%edi
40f7f2:	55                   	push   %ebp
40f7f3:	8b ec                	mov    %esp,%ebp
40f7f5:	51                   	push   %ecx
40f7f6:	53                   	push   %ebx
40f7f7:	56                   	push   %esi
40f7f8:	8b f1                	mov    %ecx,%esi
40f7fa:	33 d2                	xor    %edx,%edx
40f7fc:	57                   	push   %edi
40f7fd:	8b 06                	mov    (%esi),%eax
40f7ff:	8d 48 03             	lea    0x3(%eax),%ecx
40f802:	83 e1 fc             	and    $0xfffffffc,%ecx
40f805:	2b c8                	sub    %eax,%ecx
40f807:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40f80a:	75 3f                	jne    0x40f84b
40f80c:	01 0e                	add    %ecx,(%esi)
40f80e:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
40f812:	74 25                	je     0x40f839
40f814:	8b 7e 10             	mov    0x10(%esi),%edi
40f817:	6a 00                	push   $0x0
40f819:	6a 04                	push   $0x4
40f81b:	8b 07                	mov    (%edi),%eax
40f81d:	8b 58 04             	mov    0x4(%eax),%ebx
40f820:	8d 45 08             	lea    0x8(%ebp),%eax
40f823:	50                   	push   %eax
40f824:	81 fb 70 2d 41 00    	cmp    $0x412d70,%ebx
40f82a:	0f 85 3b 16 01 00    	jne    0x420e6b
40f830:	8b cf                	mov    %edi,%ecx
40f832:	e8 39 35 00 00       	call   0x412d70
40f837:	8b d0                	mov    %eax,%edx
40f839:	8b c2                	mov    %edx,%eax
40f83b:	85 d2                	test   %edx,%edx
40f83d:	78 03                	js     0x40f842
40f83f:	83 06 04             	addl   $0x4,(%esi)
40f842:	5f                   	pop    %edi
40f843:	5e                   	pop    %esi
40f844:	5b                   	pop    %ebx
40f845:	8b e5                	mov    %ebp,%esp
40f847:	5d                   	pop    %ebp
40f848:	c2 04 00             	ret    $0x4
40f84b:	39 56 08             	cmp    %edx,0x8(%esi)
40f84e:	74 bc                	je     0x40f80c
40f850:	8b 5e 10             	mov    0x10(%esi),%ebx
40f853:	6a 00                	push   $0x0
40f855:	51                   	push   %ecx
40f856:	68 18 86 43 00       	push   $0x438618
40f85b:	8b 03                	mov    (%ebx),%eax
40f85d:	8b 78 04             	mov    0x4(%eax),%edi
40f860:	8b cf                	mov    %edi,%ecx
40f862:	ff 15 20 a5 43 00    	call   *0x43a520
40f868:	8b cb                	mov    %ebx,%ecx
40f86a:	ff d7                	call   *%edi
40f86c:	8b d0                	mov    %eax,%edx
40f86e:	85 d2                	test   %edx,%edx
40f870:	78 d0                	js     0x40f842
40f872:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40f875:	eb 95                	jmp    0x40f80c
40f877:	cc                   	int3
40f878:	cc                   	int3
40f879:	cc                   	int3
40f87a:	cc                   	int3
40f87b:	cc                   	int3
40f87c:	cc                   	int3
40f87d:	cc                   	int3
40f87e:	cc                   	int3
40f87f:	cc                   	int3
40f880:	8b ff                	mov    %edi,%edi
40f882:	55                   	push   %ebp
40f883:	8b ec                	mov    %esp,%ebp
40f885:	83 ec 30             	sub    $0x30,%esp
40f888:	a1 08 85 43 00       	mov    0x438508,%eax
40f88d:	33 c5                	xor    %ebp,%eax
40f88f:	89 45 fc             	mov    %eax,-0x4(%ebp)
40f892:	53                   	push   %ebx
40f893:	8b 5d 08             	mov    0x8(%ebp),%ebx
40f896:	56                   	push   %esi
40f897:	57                   	push   %edi
40f898:	8b f1                	mov    %ecx,%esi
40f89a:	89 5d e0             	mov    %ebx,-0x20(%ebp)
40f89d:	0f b7 03             	movzwl (%ebx),%eax
40f8a0:	25 ff 0f 00 00       	and    $0xfff,%eax
40f8a5:	83 f8 40             	cmp    $0x40,%eax
40f8a8:	74 2b                	je     0x40f8d5
40f8aa:	83 f8 1f             	cmp    $0x1f,%eax
40f8ad:	74 26                	je     0x40f8d5
40f8af:	83 f8 0b             	cmp    $0xb,%eax
40f8b2:	74 21                	je     0x40f8d5
40f8b4:	83 f8 15             	cmp    $0x15,%eax
40f8b7:	74 1c                	je     0x40f8d5
40f8b9:	83 f8 14             	cmp    $0x14,%eax
40f8bc:	74 17                	je     0x40f8d5
40f8be:	83 f8 48             	cmp    $0x48,%eax
40f8c1:	0f 87 b5 15 01 00    	ja     0x420e7c
40f8c7:	0f b6 80 10 fb 40 00 	movzbl 0x40fb10(%eax),%eax
40f8ce:	ff 24 85 08 fb 40 00 	jmp    *0x40fb08(,%eax,4)
40f8d5:	8b cb                	mov    %ebx,%ecx
40f8d7:	e8 54 37 00 00       	call   0x413030
40f8dc:	85 c0                	test   %eax,%eax
40f8de:	0f 88 a2 15 01 00    	js     0x420e86
40f8e4:	66 83 3b 1f          	cmpw   $0x1f,(%ebx)
40f8e8:	0f 84 fd 01 00 00    	je     0x40faeb
40f8ee:	33 ff                	xor    %edi,%edi
40f8f0:	39 be c4 09 00 00    	cmp    %edi,0x9c4(%esi)
40f8f6:	75 22                	jne    0x40f91a
40f8f8:	8b 86 b8 09 00 00    	mov    0x9b8(%esi),%eax
40f8fe:	89 be c0 09 00 00    	mov    %edi,0x9c0(%esi)
40f904:	89 86 bc 09 00 00    	mov    %eax,0x9bc(%esi)
40f90a:	89 be b8 09 00 00    	mov    %edi,0x9b8(%esi)
40f910:	c7 86 c4 09 00 00 01 	movl   $0x1,0x9c4(%esi)
40f917:	00 00 00
40f91a:	ba 02 00 00 00       	mov    $0x2,%edx
40f91f:	33 c9                	xor    %ecx,%ecx
40f921:	89 55 dc             	mov    %edx,-0x24(%ebp)
40f924:	85 c9                	test   %ecx,%ecx
40f926:	0f 88 54 01 00 00    	js     0x40fa80
40f92c:	8b 86 90 09 00 00    	mov    0x990(%esi),%eax
40f932:	33 c9                	xor    %ecx,%ecx
40f934:	89 45 f4             	mov    %eax,-0xc(%ebp)
40f937:	40                   	inc    %eax
40f938:	89 86 90 09 00 00    	mov    %eax,0x990(%esi)
40f93e:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40f945:	c7 45 e8 47 54 48 52 	movl   $0x52485447,-0x18(%ebp)
40f94c:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40f953:	c7 45 f0 02 00 00 00 	movl   $0x2,-0x10(%ebp)
40f95a:	39 8e c0 09 00 00    	cmp    %ecx,0x9c0(%esi)
40f960:	0f 84 7a 01 00 00    	je     0x40fae0
40f966:	89 8e b8 09 00 00    	mov    %ecx,0x9b8(%esi)
40f96c:	8b 8e c8 09 00 00    	mov    0x9c8(%esi),%ecx
40f972:	89 7d d8             	mov    %edi,-0x28(%ebp)
40f975:	6a 00                	push   $0x0
40f977:	89 4d d0             	mov    %ecx,-0x30(%ebp)
40f97a:	8b 01                	mov    (%ecx),%eax
40f97c:	6a 04                	push   $0x4
40f97e:	8b 40 04             	mov    0x4(%eax),%eax
40f981:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f984:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
40f989:	0f 85 14 15 01 00    	jne    0x420ea3
40f98f:	8d 45 d8             	lea    -0x28(%ebp),%eax
40f992:	50                   	push   %eax
40f993:	e8 d8 33 00 00       	call   0x412d70
40f998:	8b c8                	mov    %eax,%ecx
40f99a:	8b 86 b8 09 00 00    	mov    0x9b8(%esi),%eax
40f9a0:	85 c9                	test   %ecx,%ecx
40f9a2:	78 60                	js     0x40fa04
40f9a4:	83 c0 04             	add    $0x4,%eax
40f9a7:	89 86 b8 09 00 00    	mov    %eax,0x9b8(%esi)
40f9ad:	85 c9                	test   %ecx,%ecx
40f9af:	78 53                	js     0x40fa04
40f9b1:	8d 50 03             	lea    0x3(%eax),%edx
40f9b4:	33 c9                	xor    %ecx,%ecx
40f9b6:	83 e2 fc             	and    $0xfffffffc,%edx
40f9b9:	f7 d7                	not    %edi
40f9bb:	2b d0                	sub    %eax,%edx
40f9bd:	89 7d d4             	mov    %edi,-0x2c(%ebp)
40f9c0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40f9c3:	0f 85 f1 14 01 00    	jne    0x420eba
40f9c9:	03 c2                	add    %edx,%eax
40f9cb:	83 be c0 09 00 00 00 	cmpl   $0x0,0x9c0(%esi)
40f9d2:	89 86 b8 09 00 00    	mov    %eax,0x9b8(%esi)
40f9d8:	74 2a                	je     0x40fa04
40f9da:	8b be c8 09 00 00    	mov    0x9c8(%esi),%edi
40f9e0:	6a 00                	push   $0x0
40f9e2:	6a 04                	push   $0x4
40f9e4:	8b 07                	mov    (%edi),%eax
40f9e6:	8b 40 04             	mov    0x4(%eax),%eax
40f9e9:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40f9ec:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
40f9f1:	0f 85 09 15 01 00    	jne    0x420f00
40f9f7:	8d 45 d4             	lea    -0x2c(%ebp),%eax
40f9fa:	8b cf                	mov    %edi,%ecx
40f9fc:	50                   	push   %eax
40f9fd:	e8 6e 33 00 00       	call   0x412d70
40fa02:	8b c8                	mov    %eax,%ecx
40fa04:	33 c0                	xor    %eax,%eax
40fa06:	c7 86 b8 09 00 00 00 	movl   $0x0,0x9b8(%esi)
40fa0d:	00 00 00
40fa10:	85 c9                	test   %ecx,%ecx
40fa12:	78 69                	js     0x40fa7d
40fa14:	8d 50 07             	lea    0x7(%eax),%edx
40fa17:	83 e2 f8             	and    $0xfffffff8,%edx
40fa1a:	2b d0                	sub    %eax,%edx
40fa1c:	89 55 e4             	mov    %edx,-0x1c(%ebp)
40fa1f:	0f 85 f1 14 01 00    	jne    0x420f16
40fa25:	85 c9                	test   %ecx,%ecx
40fa27:	78 54                	js     0x40fa7d
40fa29:	03 c2                	add    %edx,%eax
40fa2b:	83 be c0 09 00 00 00 	cmpl   $0x0,0x9c0(%esi)
40fa32:	89 86 b8 09 00 00    	mov    %eax,0x9b8(%esi)
40fa38:	74 2a                	je     0x40fa64
40fa3a:	8b be c8 09 00 00    	mov    0x9c8(%esi),%edi
40fa40:	6a 00                	push   $0x0
40fa42:	6a 14                	push   $0x14
40fa44:	8b 07                	mov    (%edi),%eax
40fa46:	8b 40 04             	mov    0x4(%eax),%eax
40fa49:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40fa4c:	3d 70 2d 41 00       	cmp    $0x412d70,%eax
40fa51:	0f 85 fe 14 01 00    	jne    0x420f55
40fa57:	8d 45 e8             	lea    -0x18(%ebp),%eax
40fa5a:	8b cf                	mov    %edi,%ecx
40fa5c:	50                   	push   %eax
40fa5d:	e8 0e 33 00 00       	call   0x412d70
40fa62:	8b c8                	mov    %eax,%ecx
40fa64:	85 c9                	test   %ecx,%ecx
40fa66:	78 15                	js     0x40fa7d
40fa68:	83 86 b8 09 00 00 14 	addl   $0x14,0x9b8(%esi)
40fa6f:	85 c9                	test   %ecx,%ecx
40fa71:	78 0a                	js     0x40fa7d
40fa73:	53                   	push   %ebx
40fa74:	8b ce                	mov    %esi,%ecx
40fa76:	e8 e5 00 00 00       	call   0x40fb60
40fa7b:	8b c8                	mov    %eax,%ecx
40fa7d:	8b 55 dc             	mov    -0x24(%ebp),%edx
40fa80:	83 be c4 09 00 00 00 	cmpl   $0x0,0x9c4(%esi)
40fa87:	8b be b8 09 00 00    	mov    0x9b8(%esi),%edi
40fa8d:	74 2a                	je     0x40fab9
40fa8f:	8b 86 bc 09 00 00    	mov    0x9bc(%esi),%eax
40fa95:	c7 86 c0 09 00 00 01 	movl   $0x1,0x9c0(%esi)
40fa9c:	00 00 00
40fa9f:	89 86 b8 09 00 00    	mov    %eax,0x9b8(%esi)
40faa5:	c7 86 bc 09 00 00 00 	movl   $0x0,0x9bc(%esi)
40faac:	00 00 00
40faaf:	c7 86 c4 09 00 00 00 	movl   $0x0,0x9c4(%esi)
40fab6:	00 00 00
40fab9:	83 ea 01             	sub    $0x1,%edx
40fabc:	89 55 dc             	mov    %edx,-0x24(%ebp)
40fabf:	0f 85 5f fe ff ff    	jne    0x40f924
40fac5:	66 83 3b 1f          	cmpw   $0x1f,(%ebx)
40fac9:	8b c1                	mov    %ecx,%eax
40facb:	74 2d                	je     0x40fafa
40facd:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40fad0:	5f                   	pop    %edi
40fad1:	5e                   	pop    %esi
40fad2:	33 cd                	xor    %ebp,%ecx
40fad4:	5b                   	pop    %ebx
40fad5:	e8 e6 ac 00 00       	call   0x41a7c0
40fada:	8b e5                	mov    %ebp,%esp
40fadc:	5d                   	pop    %ebp
40fadd:	c2 04 00             	ret    $0x4
40fae0:	8b 86 b8 09 00 00    	mov    0x9b8(%esi),%eax
40fae6:	e9 29 ff ff ff       	jmp    0x40fa14
40faeb:	83 7b 08 00          	cmpl   $0x0,0x8(%ebx)
40faef:	0f 85 f9 fd ff ff    	jne    0x40f8ee
40faf5:	e9 9d 13 01 00       	jmp    0x420e97
40fafa:	81 7b 08 cc 3f 40 00 	cmpl   $0x403fcc,0x8(%ebx)