40c83a:	89 81 50 03 00 00    	mov    %eax,0x350(%ecx)
40c840:	c6 47 0c 01          	movb   $0x1,0xc(%edi)
40c844:	8b c7                	mov    %edi,%eax
40c846:	5f                   	pop    %edi
40c847:	5d                   	pop    %ebp
40c848:	c2 04 00             	ret    $0x4
40c84b:	8b ff                	mov    %edi,%edi
40c84d:	56                   	push   %esi
40c84e:	8b f1                	mov    %ecx,%esi
40c850:	ff b6 04 04 00 00    	push   0x404(%esi)
40c856:	e8 b5 84 00 00       	call   0x414d10
40c85b:	83 a6 04 04 00 00 00 	andl   $0x0,0x404(%esi)
40c862:	59                   	pop    %ecx
40c863:	5e                   	pop    %esi
40c864:	c3                   	ret
40c865:	8b ff                	mov    %edi,%edi
40c867:	55                   	push   %ebp
40c868:	8b ec                	mov    %esp,%ebp
40c86a:	56                   	push   %esi
40c86b:	8b f1                	mov    %ecx,%esi
40c86d:	ff 36                	push   (%esi)
40c86f:	e8 9c 84 00 00       	call   0x414d10
40c874:	8b 55 08             	mov    0x8(%ebp),%edx
40c877:	83 26 00             	andl   $0x0,(%esi)
40c87a:	59                   	pop    %ecx
40c87b:	8b 02                	mov    (%edx),%eax
40c87d:	89 06                	mov    %eax,(%esi)
40c87f:	8b c6                	mov    %esi,%eax
40c881:	83 22 00             	andl   $0x0,(%edx)
40c884:	5e                   	pop    %esi
40c885:	5d                   	pop    %ebp
40c886:	c2 04 00             	ret    $0x4
40c889:	8b ff                	mov    %edi,%edi
40c88b:	55                   	push   %ebp
40c88c:	8b ec                	mov    %esp,%ebp
40c88e:	81 ec 78 04 00 00    	sub    $0x478,%esp
40c894:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40c899:	33 c5                	xor    %ebp,%eax
40c89b:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c89e:	56                   	push   %esi
40c89f:	8b f1                	mov    %ecx,%esi
40c8a1:	57                   	push   %edi
40c8a2:	8b 06                	mov    (%esi),%eax
40c8a4:	8b 38                	mov    (%eax),%edi
40c8a6:	57                   	push   %edi
40c8a7:	e8 37 df 00 00       	call   0x41a7e3
40c8ac:	88 85 9c fb ff ff    	mov    %al,-0x464(%ebp)
40c8b2:	8b 46 04             	mov    0x4(%esi),%eax
40c8b5:	59                   	pop    %ecx
40c8b6:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
40c8bc:	ff 30                	push   (%eax)
40c8be:	e8 05 ff ff ff       	call   0x40c7c8
40c8c3:	8b 06                	mov    (%esi),%eax
40c8c5:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c8cb:	8b 00                	mov    (%eax),%eax
40c8cd:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
40c8d3:	8b 46 10             	mov    0x10(%esi),%eax
40c8d6:	ff 30                	push   (%eax)
40c8d8:	8d 85 8c fb ff ff    	lea    -0x474(%ebp),%eax
40c8de:	50                   	push   %eax
40c8df:	8b 46 0c             	mov    0xc(%esi),%eax
40c8e2:	ff 30                	push   (%eax)
40c8e4:	8b 46 08             	mov    0x8(%esi),%eax
40c8e7:	ff 70 04             	push   0x4(%eax)
40c8ea:	ff 30                	push   (%eax)
40c8ec:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40c8f2:	50                   	push   %eax
40c8f3:	e8 9b fe ff ff       	call   0x40c793
40c8f8:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c8fe:	e8 99 05 00 00       	call   0x40ce9c
40c903:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
40c909:	8b f0                	mov    %eax,%esi
40c90b:	e8 3b ff ff ff       	call   0x40c84b
40c910:	80 bd 94 fb ff ff 00 	cmpb   $0x0,-0x46c(%ebp)
40c917:	74 0d                	je     0x40c926
40c919:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
40c91f:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40c926:	57                   	push   %edi
40c927:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
40c92d:	e8 66 df 00 00       	call   0x41a898
40c932:	59                   	pop    %ecx
40c933:	59                   	pop    %ecx
40c934:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c937:	8b c6                	mov    %esi,%eax
40c939:	5f                   	pop    %edi
40c93a:	33 cd                	xor    %ebp,%ecx
40c93c:	5e                   	pop    %esi
40c93d:	e8 1e a7 ff ff       	call   0x407060
40c942:	8b e5                	mov    %ebp,%esp
40c944:	5d                   	pop    %ebp
40c945:	c3                   	ret
40c946:	8b ff                	mov    %edi,%edi
40c948:	55                   	push   %ebp
40c949:	8b ec                	mov    %esp,%ebp
40c94b:	81 ec 78 04 00 00    	sub    $0x478,%esp
40c951:	a1 28 ba 43 00       	mov    0x43ba28,%eax
40c956:	33 c5                	xor    %ebp,%eax
40c958:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c95b:	56                   	push   %esi
40c95c:	8b f1                	mov    %ecx,%esi
40c95e:	57                   	push   %edi
40c95f:	8b 06                	mov    (%esi),%eax
40c961:	8b 38                	mov    (%eax),%edi
40c963:	57                   	push   %edi
40c964:	e8 7a de 00 00       	call   0x41a7e3
40c969:	88 85 9c fb ff ff    	mov    %al,-0x464(%ebp)
40c96f:	8b 46 04             	mov    0x4(%esi),%eax
40c972:	59                   	pop    %ecx
40c973:	8d 8d 88 fb ff ff    	lea    -0x478(%ebp),%ecx
40c979:	ff 30                	push   (%eax)
40c97b:	e8 48 fe ff ff       	call   0x40c7c8
40c980:	8b 06                	mov    (%esi),%eax
40c982:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c988:	8b 00                	mov    (%eax),%eax
40c98a:	89 85 a0 fb ff ff    	mov    %eax,-0x460(%ebp)
40c990:	8b 46 10             	mov    0x10(%esi),%eax
40c993:	ff 30                	push   (%eax)
40c995:	8d 85 8c fb ff ff    	lea    -0x474(%ebp),%eax
40c99b:	50                   	push   %eax
40c99c:	8b 46 0c             	mov    0xc(%esi),%eax
40c99f:	ff 30                	push   (%eax)
40c9a1:	8b 46 08             	mov    0x8(%esi),%eax
40c9a4:	ff 70 04             	push   0x4(%eax)
40c9a7:	ff 30                	push   (%eax)
40c9a9:	8d 85 a0 fb ff ff    	lea    -0x460(%ebp),%eax
40c9af:	50                   	push   %eax
40c9b0:	e8 74 fd ff ff       	call   0x40c729
40c9b5:	8d 8d a4 fb ff ff    	lea    -0x45c(%ebp),%ecx
40c9bb:	e8 a4 02 00 00       	call   0x40cc64
40c9c0:	8d 8d e4 fb ff ff    	lea    -0x41c(%ebp),%ecx
40c9c6:	8b f0                	mov    %eax,%esi
40c9c8:	e8 7e fe ff ff       	call   0x40c84b
40c9cd:	80 bd 94 fb ff ff 00 	cmpb   $0x0,-0x46c(%ebp)
40c9d4:	74 0d                	je     0x40c9e3
40c9d6:	8b 8d 88 fb ff ff    	mov    -0x478(%ebp),%ecx
40c9dc:	83 a1 50 03 00 00 fd 	andl   $0xfffffffd,0x350(%ecx)
40c9e3:	57                   	push   %edi
40c9e4:	ff b5 9c fb ff ff    	push   -0x464(%ebp)
40c9ea:	e8 a9 de 00 00       	call   0x41a898
40c9ef:	59                   	pop    %ecx
40c9f0:	59                   	pop    %ecx
40c9f1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c9f4:	8b c6                	mov    %esi,%eax
40c9f6:	5f                   	pop    %edi
40c9f7:	33 cd                	xor    %ebp,%ecx
40c9f9:	5e                   	pop    %esi
40c9fa:	e8 61 a6 ff ff       	call   0x407060
40c9ff:	8b e5                	mov    %ebp,%esp
40ca01:	5d                   	pop    %ebp
40ca02:	c3                   	ret
40ca03:	8b ff                	mov    %edi,%edi
40ca05:	55                   	push   %ebp
40ca06:	8b ec                	mov    %esp,%ebp
40ca08:	8b 45 0c             	mov    0xc(%ebp),%eax
40ca0b:	8b 4d 08             	mov    0x8(%ebp),%ecx
40ca0e:	53                   	push   %ebx
40ca0f:	8b 00                	mov    (%eax),%eax
40ca11:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40ca17:	8b 00                	mov    (%eax),%eax
40ca19:	8a 18                	mov    (%eax),%bl
40ca1b:	eb 05                	jmp    0x40ca22
40ca1d:	3a c3                	cmp    %bl,%al
40ca1f:	74 07                	je     0x40ca28
40ca21:	41                   	inc    %ecx
40ca22:	8a 01                	mov    (%ecx),%al
40ca24:	84 c0                	test   %al,%al
40ca26:	75 f5                	jne    0x40ca1d
40ca28:	8a 01                	mov    (%ecx),%al
40ca2a:	41                   	inc    %ecx
40ca2b:	84 c0                	test   %al,%al
40ca2d:	74 28                	je     0x40ca57
40ca2f:	eb 09                	jmp    0x40ca3a
40ca31:	3c 65                	cmp    $0x65,%al
40ca33:	74 0b                	je     0x40ca40
40ca35:	3c 45                	cmp    $0x45,%al
40ca37:	74 07                	je     0x40ca40
40ca39:	41                   	inc    %ecx
40ca3a:	8a 01                	mov    (%ecx),%al
40ca3c:	84 c0                	test   %al,%al
40ca3e:	75 f1                	jne    0x40ca31
40ca40:	8b d1                	mov    %ecx,%edx
40ca42:	49                   	dec    %ecx
40ca43:	80 39 30             	cmpb   $0x30,(%ecx)
40ca46:	74 fa                	je     0x40ca42
40ca48:	38 19                	cmp    %bl,(%ecx)
40ca4a:	75 01                	jne    0x40ca4d
40ca4c:	49                   	dec    %ecx
40ca4d:	8a 02                	mov    (%edx),%al
40ca4f:	41                   	inc    %ecx
40ca50:	42                   	inc    %edx
40ca51:	88 01                	mov    %al,(%ecx)
40ca53:	84 c0                	test   %al,%al
40ca55:	75 f6                	jne    0x40ca4d
40ca57:	5b                   	pop    %ebx
40ca58:	5d                   	pop    %ebp
40ca59:	c3                   	ret
40ca5a:	8b ff                	mov    %edi,%edi
40ca5c:	55                   	push   %ebp
40ca5d:	8b ec                	mov    %esp,%ebp
40ca5f:	8a 4d 08             	mov    0x8(%ebp),%cl
40ca62:	8d 41 e0             	lea    -0x20(%ecx),%eax
40ca65:	3c 5a                	cmp    $0x5a,%al
40ca67:	77 0f                	ja     0x40ca78
40ca69:	0f be c1             	movsbl %cl,%eax
40ca6c:	0f b6 88 98 ae 42 00 	movzbl 0x42ae98(%eax),%ecx
40ca73:	83 e1 0f             	and    $0xf,%ecx
40ca76:	eb 02                	jmp    0x40ca7a
40ca78:	33 c9                	xor    %ecx,%ecx
40ca7a:	8b 45 0c             	mov    0xc(%ebp),%eax
40ca7d:	0f b6 84 c8 b8 ae 42 	movzbl 0x42aeb8(%eax,%ecx,8),%eax
40ca84:	00
40ca85:	c1 e8 04             	shr    $0x4,%eax
40ca88:	5d                   	pop    %ebp
40ca89:	c2 08 00             	ret    $0x8
40ca8c:	8b ff                	mov    %edi,%edi
40ca8e:	55                   	push   %ebp
40ca8f:	8b ec                	mov    %esp,%ebp
40ca91:	8a 4d 08             	mov    0x8(%ebp),%cl
40ca94:	8d 41 e0             	lea    -0x20(%ecx),%eax
40ca97:	3c 5a                	cmp    $0x5a,%al
40ca99:	77 0f                	ja     0x40caaa
40ca9b:	0f be c1             	movsbl %cl,%eax
40ca9e:	0f b6 88 98 ae 42 00 	movzbl 0x42ae98(%eax),%ecx
40caa5:	83 e1 0f             	and    $0xf,%ecx
40caa8:	eb 02                	jmp    0x40caac
40caaa:	33 c9                	xor    %ecx,%ecx
40caac:	8b 45 0c             	mov    0xc(%ebp),%eax
40caaf:	0f b6 84 c8 b8 ae 42 	movzbl 0x42aeb8(%eax,%ecx,8),%eax
40cab6:	00
40cab7:	c1 e8 04             	shr    $0x4,%eax
40caba:	5d                   	pop    %ebp
40cabb:	c2 08 00             	ret    $0x8
40cabe:	8b ff                	mov    %edi,%edi
40cac0:	55                   	push   %ebp
40cac1:	8b ec                	mov    %esp,%ebp
40cac3:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cac6:	8d 41 e0             	lea    -0x20(%ecx),%eax
40cac9:	66 83 f8 5a          	cmp    $0x5a,%ax
40cacd:	77 0f                	ja     0x40cade
40cacf:	0f b7 c1             	movzwl %cx,%eax
40cad2:	0f b6 88 98 ae 42 00 	movzbl 0x42ae98(%eax),%ecx
40cad9:	83 e1 0f             	and    $0xf,%ecx
40cadc:	eb 02                	jmp    0x40cae0
40cade:	33 c9                	xor    %ecx,%ecx
40cae0:	8b 45 0c             	mov    0xc(%ebp),%eax
40cae3:	0f b6 84 c8 b8 ae 42 	movzbl 0x42aeb8(%eax,%ecx,8),%eax
40caea:	00
40caeb:	c1 e8 04             	shr    $0x4,%eax
40caee:	5d                   	pop    %ebp
40caef:	c2 08 00             	ret    $0x8
40caf2:	8b ff                	mov    %edi,%edi
40caf4:	55                   	push   %ebp
40caf5:	8b ec                	mov    %esp,%ebp
40caf7:	56                   	push   %esi
40caf8:	8b 75 08             	mov    0x8(%ebp),%esi
40cafb:	0f be 06             	movsbl (%esi),%eax
40cafe:	50                   	push   %eax
40caff:	e8 aa 8b 00 00       	call   0x4156ae
40cb04:	83 f8 65             	cmp    $0x65,%eax
40cb07:	eb 0c                	jmp    0x40cb15
40cb09:	46                   	inc    %esi
40cb0a:	0f b6 06             	movzbl (%esi),%eax
40cb0d:	50                   	push   %eax
40cb0e:	e8 0f 7a 00 00       	call   0x414522
40cb13:	85 c0                	test   %eax,%eax
40cb15:	59                   	pop    %ecx
40cb16:	75 f1                	jne    0x40cb09
40cb18:	0f be 06             	movsbl (%esi),%eax
40cb1b:	50                   	push   %eax
40cb1c:	e8 8d 8b 00 00       	call   0x4156ae
40cb21:	59                   	pop    %ecx
40cb22:	83 f8 78             	cmp    $0x78,%eax
40cb25:	75 03                	jne    0x40cb2a
40cb27:	83 c6 02             	add    $0x2,%esi
40cb2a:	8b 45 0c             	mov    0xc(%ebp),%eax
40cb2d:	8a 0e                	mov    (%esi),%cl
40cb2f:	8b 00                	mov    (%eax),%eax
40cb31:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
40cb37:	8b 00                	mov    (%eax),%eax
40cb39:	8a 00                	mov    (%eax),%al
40cb3b:	88 06                	mov    %al,(%esi)
40cb3d:	46                   	inc    %esi
40cb3e:	8a 06                	mov    (%esi),%al
40cb40:	88 0e                	mov    %cl,(%esi)
40cb42:	8a c8                	mov    %al,%cl
40cb44:	8a 06                	mov    (%esi),%al
40cb46:	46                   	inc    %esi
40cb47:	84 c0                	test   %al,%al
40cb49:	75 f3                	jne    0x40cb3e
40cb4b:	5e                   	pop    %esi
40cb4c:	5d                   	pop    %ebp
40cb4d:	c3                   	ret
40cb4e:	8b ff                	mov    %edi,%edi
40cb50:	55                   	push   %ebp
40cb51:	8b ec                	mov    %esp,%ebp
40cb53:	51                   	push   %ecx
40cb54:	53                   	push   %ebx
40cb55:	56                   	push   %esi
40cb56:	8b f1                	mov    %ecx,%esi
40cb58:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40cb5b:	57                   	push   %edi
40cb5c:	6a 0a                	push   $0xa
40cb5e:	51                   	push   %ecx
40cb5f:	8b 7e 0c             	mov    0xc(%esi),%edi
40cb62:	8b 1f                	mov    (%edi),%ebx
40cb64:	83 27 00             	andl   $0x0,(%edi)
40cb67:	8b 46 10             	mov    0x10(%esi),%eax
40cb6a:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
40cb6e:	48                   	dec    %eax
40cb6f:	50                   	push   %eax
40cb70:	e8 6d cd 00 00       	call   0x4198e2
40cb75:	8b 4d 08             	mov    0x8(%ebp),%ecx
40cb78:	83 c4 0c             	add    $0xc,%esp
40cb7b:	89 01                	mov    %eax,(%ecx)
40cb7d:	8b 46 0c             	mov    0xc(%esi),%eax
40cb80:	83 38 22             	cmpl   $0x22,(%eax)
40cb83:	74 0f                	je     0x40cb94
40cb85:	8b 45 fc             	mov    -0x4(%ebp),%eax
40cb88:	3b 46 10             	cmp    0x10(%esi),%eax
40cb8b:	72 07                	jb     0x40cb94
40cb8d:	89 46 10             	mov    %eax,0x10(%esi)
40cb90:	b0 01                	mov    $0x1,%al
40cb92:	eb 02                	jmp    0x40cb96
40cb94:	32 c0                	xor    %al,%al
40cb96:	83 3f 00             	cmpl   $0x0,(%edi)
40cb99:	75 06                	jne    0x40cba1
40cb9b:	85 db                	test   %ebx,%ebx
40cb9d:	74 02                	je     0x40cba1
40cb9f:	89 1f                	mov    %ebx,(%edi)
40cba1:	5f                   	pop    %edi
40cba2:	5e                   	pop    %esi
40cba3:	5b                   	pop    %ebx
40cba4:	8b e5                	mov    %ebp,%esp
40cba6:	5d                   	pop    %ebp
40cba7:	c2 04 00             	ret    $0x4
40cbaa:	8b ff                	mov    %edi,%edi
40cbac:	55                   	push   %ebp
40cbad:	8b ec                	mov    %esp,%ebp
40cbaf:	51                   	push   %ecx
40cbb0:	53                   	push   %ebx
40cbb1:	56                   	push   %esi
40cbb2:	8b f1                	mov    %ecx,%esi
40cbb4:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40cbb7:	57                   	push   %edi
40cbb8:	6a 0a                	push   $0xa
40cbba:	51                   	push   %ecx
40cbbb:	8b 7e 0c             	mov    0xc(%esi),%edi
40cbbe:	8b 1f                	mov    (%edi),%ebx
40cbc0:	83 27 00             	andl   $0x0,(%edi)
40cbc3:	8b 46 10             	mov    0x10(%esi),%eax